ZGlmZiAtLWdpdCBhL2FyY2gvaTM4Ni9saWIvYmlvcy5TIGIvYXJjaC9pMzg2L2xpYi9iaW9zLlMKaW5kZXggNDhmMWI4MS4uNjYwYTI0NCAxMDA2NDQKLS0tIGEvYXJjaC9pMzg2L2xpYi9iaW9zLlMKKysrIGIvYXJjaC9pMzg2L2xpYi9iaW9zLlMKQEAgLTEsNiArMSw2IEBACiAvKgogICogKEMpIENvcHlyaWdodCAyMDAyCi0gKiBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgZGFuaWVsQG9taWNyb24uc2UKKyAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCA8ZGFuaWVsQG9taWNyb24uc2U+CiAgKgogICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKICAqIHByb2plY3QuCkBAIC00Miw3ICs0Miw2IEBACiAgKiBhIGdlbmVyYWwgcHVycG9zZSByZXBsYWNlbWVudCBmb3IgYSByZWFsIEJJT1MgISEKICAqLwogCi0KIC5zZWN0aW9uIC5iaW9zLCAiYXgiCiAuY29kZTE2CiAub3JnIDAKZGlmZiAtLWdpdCBhL2FyY2gvaTM4Ni9saWIvYmlvcy5oIGIvYXJjaC9pMzg2L2xpYi9iaW9zLmgKaW5kZXggNDkwMWY4OS4uM2M4ZDYxYSAxMDA2NDQKLS0tIGEvYXJjaC9pMzg2L2xpYi9iaW9zLmgKKysrIGIvYXJjaC9pMzg2L2xpYi9iaW9zLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogKEMpIENvcHlyaWdodCAyMDAyCi0gKiBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgZGFuaWVsQG9taWNyb24uc2UKKyAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCA8ZGFuaWVsQG9taWNyb24uc2U+CiAgKgogICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKICAqIHByb2plY3QuCkBAIC01Nyw3ICs1Nyw3IEBACiAjZGVmaW5lIE9GRlNfRkxBR1MgICA0NCAgICAvKiAxNmJpdCAqLwogCiAjZGVmaW5lIFNFR01FTlQgICAgICAweDQwCi0jZGVmaW5lIFNUQUNLCSAgICAgMHg4MDAJCQkvKiBzdGFjayBhdCAweDQwOjB4ODAwIC0+IDB4ODAwICovCisjZGVmaW5lIFNUQUNLCSAgICAgMHg4MDAJLyogc3RhY2sgYXQgMHg0MDoweDgwMCAtPiAweDgwMCAqLwogCiAvKiBzYXZlIGdlbmVyYWwgcmVnaXN0ZXJzICovCiAvKiBzYXZlIHNvbWUgc2VnbWVudHMgICAgICovCkBAIC02NywyOCArNjcsMjYgQEAKIAkvKiBzZXR1cCBCSU9TIHN0YWNrcG9pbnRlciAqLwogCiAjZGVmaW5lIE1BS0VfQklPU19TVEFDSyBcCi0JcHVzaGFsCQk7IFwKLQlwdXNodwklZHMJOyBcCi0JcHVzaHcJJWdzCTsgXAotCXB1c2h3CSVlcwk7IFwKLQlwdXNodwklc3MJOyBcCi0JcG9wdwklZ3MJOyBcCi0JbW92dwkkU0VHTUVOVCwlYXggOyBcCi0JbW92dwklYXgsJWRzCTsgXAotCW1vdncJJWF4LCVlcwk7IFwKLQltb3Z3CSVheCwlc3MJOyBcCi0JbW92dwklc3AsJWJwCTsgXAotCW1vdncJJFNUQUNLLCVzcAorCXB1c2hhbDsgXAorCXB1c2h3CSVkczsgXAorCXB1c2h3CSVnczsgXAorCXB1c2h3CSVlczsgXAorCXB1c2h3CSVzczsgXAorCXBvcHcJJWdzOyBcCisJbW92dwkkU0VHTUVOVCwgJWF4OyBcCisJbW92dwklYXgsICVkczsgXAorCW1vdncJJWF4LCAlZXM7IFwKKwltb3Z3CSVheCwgJXNzOyBcCisJbW92dwklc3AsICVicDsgXAorCW1vdncJJFNUQUNLLCAlc3AKIAogI2RlZmluZSBSRVNUT1JFX0NBTExFUlNfU1RBQ0sgXAotCXB1c2h3CSVncyAgICAgOwkJCS8qIHJlc3RvcmUgY2FsbGVycyBzdGFjayBzZWdtZW50ICovIFwKLQlwb3B3CSVzcyAgICAgOyBcCi0JbW92dwklYnAsJXNwCTsJCQkvKiByZXN0b3JlIHN0YWNrcG9pbnRlciAqLyBcCi0JCVwKLQlwb3B3CSVlcwk7CQkJLyogcmVzdG9yZSBzZWdtZW50IHNlbGVjdG9ycyAqLyBcCi0JcG9wdwklZ3MgICAgIDsgXAotCXBvcHcJJWRzICAgICA7IFwKLQkJXAotCXBvcGFsCQkJCQkvKiByZXN0b3JlIEdQIHJlZ2lzdGVycyAqLworCXB1c2h3CSVnczsJCS8qIHJlc3RvcmUgY2FsbGVycyBzdGFjayBzZWdtZW50ICovIFwKKwlwb3B3CSVzczsgXAorCW1vdncJJWJwLCAlc3A7CS8qIHJlc3RvcmUgc3RhY2twb2ludGVyICovIFwKKwlwb3B3CSVlczsJCS8qIHJlc3RvcmUgc2VnbWVudCBzZWxlY3RvcnMgKi8gXAorCXBvcHcJJWdzOyBcCisJcG9wdwklZHM7IFwKKwlwb3BhbAkJCS8qIHJlc3RvcmUgR1AgcmVnaXN0ZXJzICovCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9pMzg2L2xpYi9iaW9zX3NldHVwLmMgYi9hcmNoL2kzODYvbGliL2Jpb3Nfc2V0dXAuYwppbmRleCA3NTQwN2MxLi42OTQ5YjM1MCAxMDA2NDQKLS0tIGEvYXJjaC9pMzg2L2xpYi9iaW9zX3NldHVwLmMKKysrIGIvYXJjaC9pMzg2L2xpYi9iaW9zX3NldHVwLmMKQEAgLTEsNiArMSw2IEBACiAvKgogICogKEMpIENvcHlyaWdodCAyMDAyCi0gKiBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgZGFuaWVsQG9taWNyb24uc2UKKyAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCA8ZGFuaWVsQG9taWNyb24uc2U+CiAgKgogICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKICAqIHByb2plY3QuCkBAIC0yMSw3ICsyMSw2IEBACiAgKiBNQSAwMjExMS0xMzA3IFVTQQogICovCiAKLQogLyoKICAqIFBhcnRseSBiYXNlZCBvbiBtc2Jpb3MuYyBmcm9tIHJvbG8gMS42OgogICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9hcmNoL2kzODYvbGliL2JvYXJkLmMgYi9hcmNoL2kzODYvbGliL2JvYXJkLmMKaW5kZXggZTBmOTgwMy4uNmQ5NDdjNiAxMDA2NDQKLS0tIGEvYXJjaC9pMzg2L2xpYi9ib2FyZC5jCisrKyBiL2FyY2gvaTM4Ni9saWIvYm9hcmQuYwpAQCAtMSw5ICsxLDEyIEBACiAvKgotICogKEMpIENvcHlyaWdodCAyMDAyCi0gKiBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgZGFuaWVsQG9taWNyb24uc2UKKyAqIChDKSBDb3B5cmlnaHQgMjAwOC0yMDExCisgKiBHcmFlbWUgUnVzcywgPGdyYWVtZS5ydXNzQGdtYWlsLmNvbT4KICAqCiAgKiAoQykgQ29weXJpZ2h0IDIwMDIKLSAqIFdvbGZnYW5nIERlbmssIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcsIHdkQGRlbnguZGUuCisgKiBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgPGRhbmllbEBvbWljcm9uLnNlPgorICoKKyAqIChDKSBDb3B5cmlnaHQgMjAwMgorICogV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgPHdkQGRlbnguZGU+CiAgKgogICogKEMpIENvcHlyaWdodCAyMDAyCiAgKiBTeXNnbyBSZWFsLVRpbWUgU29sdXRpb25zLCBHbWJIIDx3d3cuZWxpbm9zLmNvbT4KQEAgLTEwMywxMyArMTA2LDYgQEAKIAlyZXR1cm4gKDApOwogfQogCi0vKgotICogV0FSTklORzogdGhpcyBjb2RlIGxvb2tzICJjbGVhbmVyIiB0aGFuIHRoZSBQb3dlclBDIHZlcnNpb24sIGJ1dAotICogaGFzIHRoZSBkaXNhZHZhbnRhZ2UgdGhhdCB5b3UgZWl0aGVyIGdldCBub3RoaW5nLCBvciBldmVyeXRoaW5nLgotICogT24gUG93ZXJQQywgeW91IG1pZ2h0IHNlZSAiRFJBTTogIiBiZWZvcmUgdGhlIHN5c3RlbSBoYW5ncyAtIHdoaWNoCi0gKiBnaXZlcyBhIHNpbXBsZSB5ZXQgY2xlYXIgaW5kaWNhdGlvbiB3aGljaCBwYXJ0IG9mIHRoZQotICogaW5pdGlhbGl6YXRpb24gaWYgZmFpbGluZy4KLSAqLwogc3RhdGljIGludCBkaXNwbGF5X2RyYW1fY29uZmlnICh2b2lkKQogewogCWludCBpOwpAQCAtMTQxLDcgKzEzNyw2IEBACiAgKiBjYW4gcmVsb2NhdGUgdGhlIG1vbml0b3IgY29kZSB0byBSQU0uCiAgKi8KIAotCiAvKgogICogQWxsIGF0dGVtcHRzIHRvIGNvbWUgdXAgd2l0aCBhICJjb21tb24iIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlCiAgKiB0aGF0IHdvcmtzIGZvciBhbGwgYm9hcmRzIGFuZCBhcmNoaXRlY3R1cmVzIGZhaWxlZDogc29tZSBvZiB0aGUKQEAgLTI1MSwxMyArMjQ2LDEzIEBACiAJcmV0dXJuIDA7CiB9CiAKLS8qCi0gKiBMb2FkIFUtQm9vdCBpbnRvIFJBTSwgaW5pdGlhbGl6ZSBCU1MsIHBlcmZvcm0gcmVsb2NhdGlvbiBhZGp1c3RtZW50cwotICovCisvKiBMb2FkIFUtQm9vdCBpbnRvIFJBTSwgaW5pdGlhbGl6ZSBCU1MsIHBlcmZvcm0gcmVsb2NhdGlvbiBhZGp1c3RtZW50cyAqLwogdm9pZCBib2FyZF9pbml0X2YodWxvbmcgYm9vdF9mbGFncykKIHsKIAlpbml0X2ZuY190ICoqaW5pdF9mbmNfcHRyOwogCisJZ2QtPmZsYWdzID0gYm9vdF9mbGFnczsKKwogCWZvciAoaW5pdF9mbmNfcHRyID0gaW5pdF9zZXF1ZW5jZV9mOyAqaW5pdF9mbmNfcHRyOyArK2luaXRfZm5jX3B0cikgewogCQlpZiAoKCppbml0X2ZuY19wdHIpKCkgIT0gMCkKIAkJCWhhbmcoKTsKZGlmZiAtLWdpdCBhL2FyY2gvaTM4Ni9saWIvYm9vdG0uYyBiL2FyY2gvaTM4Ni9saWIvYm9vdG0uYwppbmRleCBiMzZlNThkLi5hMjFhMjFmIDEwMDY0NAotLS0gYS9hcmNoL2kzODYvbGliL2Jvb3RtLmMKKysrIGIvYXJjaC9pMzg2L2xpYi9ib290bS5jCkBAIC01LDEwICs1LDEzIEBACiAgKgogICogQ29weXJpZ2h0IChDKSAyMDAxICBFcmlrIE1vdXcgKEouQS5LLk1vdXdAaXRzLnR1ZGVsZnQubmwpCiAgKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisgKiBwcm9qZWN0LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgogICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpAQCAtMTcsOCArMjAsOCBAQAogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQotICoKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQogICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KZGlmZiAtLWdpdCBhL2FyY2gvaTM4Ni9saWIvaW50ZXJydXB0cy5jIGIvYXJjaC9pMzg2L2xpYi9pbnRlcnJ1cHRzLmMKaW5kZXggNWEyODI3OC4uYTJjNTk4ZiAxMDA2NDQKLS0tIGEvYXJjaC9pMzg2L2xpYi9pbnRlcnJ1cHRzLmMKKysrIGIvYXJjaC9pMzg2L2xpYi9pbnRlcnJ1cHRzLmMKQEAgLTEsMjEgKzEsMjEgQEAKIC8qCiAgKiAoQykgQ29weXJpZ2h0IDIwMDkKLSAqIEdyYWVtZSBSdXNzLCBncmFlbWUucnVzc0BnbWFpbC5jb20KKyAqIEdyYWVtZSBSdXNzLCA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgogICoKICAqIChDKSBDb3B5cmlnaHQgMjAwNwotICogRGFuaWVsIEhlbGxzdHJvbSwgR2Fpc2xlciBSZXNlYXJjaCwgZGFuaWVsQGdhaXNsZXIuY29tCisgKiBEYW5pZWwgSGVsbHN0cm9tLCBHYWlzbGVyIFJlc2VhcmNoLCA8ZGFuaWVsQGdhaXNsZXIuY29tPgogICoKICAqIChDKSBDb3B5cmlnaHQgMjAwNgotICogRGV0bGV2IFp1bmRlbCwgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgZHp1QGRlbnguZGUKKyAqIERldGxldiBadW5kZWwsIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcsIDxkenVAZGVueC5kZT4KICAqCiAgKiAoQykgQ29weXJpZ2h0IC0yMDAzCi0gKiBXb2xmZ2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgorICogV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgPHdkQGRlbnguZGU+CiAgKgogICogKEMpIENvcHlyaWdodCAyMDAyCi0gKiBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgZGFuaWVsQG9taWNyb24uc2UKKyAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCA8ZGFuaWVsQG9taWNyb24uc2U+CiAgKgogICogKEMpIENvcHlyaWdodCAyMDAxCi0gKiBKb3NoIEh1YmVyIDxodWJlckBtY2x4LmNvbT4sIE1pc3Npb24gQ3JpdGljYWwgTGludXgsIEluYy4KKyAqIEpvc2ggSHViZXIsIE1pc3Npb24gQ3JpdGljYWwgTGludXgsIEluYywgPGh1YmVyQG1jbHguY29tPgogICoKICAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCiAgKiBwcm9qZWN0LgpAQCAtMzgsMTEgKzM4LDExIEBACiAKIC8qCiAgKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGhpZ2gtbGV2ZWwgQVBJIGZvciB0aGUgaW50ZXJydXB0IHN1Yi1zeXN0ZW0KLSAqIG9mIHRoZSBpMzg2IHBvcnQgb2YgVS1Cb290LiBNb3N0IG9mIHRoZSBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuCisgKiBvZiB0aGUgeDg2IHBvcnQgb2YgVS1Cb290LiBNb3N0IG9mIHRoZSBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuCiAgKiBzaGFtZWxlc3NseSBzdG9sZW4gZnJvbSB0aGUgbGVvbjIgLyBsZW9uMyBwb3J0cyBvZiBVLUJvb3QuCiAgKiBEYW5pZWwgSGVsbHN0cm9tLCBEZXRsZXYgWnVuZGVsLCBXb2xmZ2FuZyBEZW5rIGFuZCBKb3NoIEh1YmVyIGFyZQogICogY3JlZGl0ZWQgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHdvcmsgb24gdGhvc2UgcG9ydHMuIFRoZSBvcmlnaW5hbAotICogaW50ZXJydXB0IGhhbmRsaW5nIHJvdXRpbmVzIGZvciB0aGUgaTM4NiBwb3J0IHdlcmUgd3JpdHRlbiBieQorICogaW50ZXJydXB0IGhhbmRsaW5nIHJvdXRpbmVzIGZvciB0aGUgeDg2IHBvcnQgd2VyZSB3cml0dGVuIGJ5CiAgKiBEYW5pZWwgRW5nc3Ry9m0KICAqLwogCmRpZmYgLS1naXQgYS9hcmNoL2kzODYvbGliL3BjYXRfaW50ZXJydXB0cy5jIGIvYXJjaC9pMzg2L2xpYi9wY2F0X2ludGVycnVwdHMuYwppbmRleCA2N2U2ZTk3Li4zNjRjNDM1IDEwMDY0NAotLS0gYS9hcmNoL2kzODYvbGliL3BjYXRfaW50ZXJydXB0cy5jCisrKyBiL2FyY2gvaTM4Ni9saWIvcGNhdF9pbnRlcnJ1cHRzLmMKQEAgLTEsOSArMSw5IEBACiAvKgogICogKEMpIENvcHlyaWdodCAyMDA5Ci0gKiBHcmFlbWUgUnVzcywgZ3JhZW1lLnJ1c3NAZ21haWwuY29tCisgKiBHcmFlbWUgUnVzcywgPGdyYWVtZS5ydXNzQGdtYWlsLmNvbT4KICAqCiAgKiAoQykgQ29weXJpZ2h0IDIwMDIKLSAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCBkYW5pZWxAb21pY3Jvbi5zZS4KKyAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCA8ZGFuaWVsQG9taWNyb24uc2U+CiAgKgogICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKICAqIHByb2plY3QuCmRpZmYgLS1naXQgYS9hcmNoL2kzODYvbGliL3BjYXRfdGltZXIuYyBiL2FyY2gvaTM4Ni9saWIvcGNhdF90aW1lci5jCmluZGV4IDEzNzNmZDEuLjE5MTFjNmMgMTAwNjQ0Ci0tLSBhL2FyY2gvaTM4Ni9saWIvcGNhdF90aW1lci5jCisrKyBiL2FyY2gvaTM4Ni9saWIvcGNhdF90aW1lci5jCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIChDKSBDb3B5cmlnaHQgMjAwMgotICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIGRhbmllbEBvbWljcm9uLnNlLgorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIDxkYW5pZWxAb21pY3Jvbi5zZT4KICAqCiAgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwogICogcHJvamVjdC4KZGlmZiAtLWdpdCBhL2FyY2gvaTM4Ni9saWIvcGNpLmMgYi9hcmNoL2kzODYvbGliL3BjaS5jCmluZGV4IDkwMjBlN2MuLmU3OTFlODggMTAwNjQ0Ci0tLSBhL2FyY2gvaTM4Ni9saWIvcGNpLmMKKysrIGIvYXJjaC9pMzg2L2xpYi9wY2kuYwpAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAoQykgQ29weXJpZ2h0IDIwMDIKLSAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCBkYW5pZWxAb21pY3Jvbi5zZQorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIDxkYW5pZWxAb21pY3Jvbi5zZT4KICAqCiAgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwogICogcHJvamVjdC4KQEAgLTU0LDEwICs1NCw5IEBACiAJY2xhc3NfY29kZSAmPSAweGZmZmZmZjAwOwogCWNsYXNzX2NvZGUgPj49IDg7CiAKLSNpZiAwCi0JcHJpbnRmKCJQQ0kgSGVhZGVyIFZlbmRvciAlMDR4IGRldmljZSAlMDR4IGNsYXNzICUwNnhcbiIsCisJZGVidWcoIlBDSSBIZWFkZXIgVmVuZG9yICUwNHggZGV2aWNlICUwNHggY2xhc3MgJTA2eFxuIiwKIAkgICAgICAgdmVuZG9yLCBkZXZpY2UsIGNsYXNzX2NvZGUpOwotI2VuZGlmCisKIAkvKiBFbmFibGUgdGhlIHJvbSBhZGRlc3MgZGVjb2RlciAqLwogCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCBQQ0lfUk9NX0FERFJFU1MsICh1MzIpUENJX1JPTV9BRERSRVNTX01BU0spOwogCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIFBDSV9ST01fQUREUkVTUywgJmFkZHJfcmVnKTsKQEAgLTcwLDEzICs2OSwxMiBAQAogCiAJc2l6ZSA9ICh+KGFkZHJfcmVnJlBDSV9ST01fQUREUkVTU19NQVNLKSkrMTsKIAotI2lmIDAKLQlwcmludGYoIlJPTSBpcyAlZCBieXRlc1xuIiwgc2l6ZSk7Ci0jZW5kaWYKKwlkZWJ1ZygiUk9NIGlzICVkIGJ5dGVzXG4iLCBzaXplKTsKKwogCXJvbV9hZGRyID0gcGNpX2dldF9yb21fd2luZG93KGhvc2UsIHNpemUpOwotI2lmIDAKLQlwcmludGYoIlJPTSBtYXBwZWQgYXQgJXggXG4iLCByb21fYWRkcik7Ci0jZW5kaWYKKworCWRlYnVnKCJST00gbWFwcGVkIGF0ICV4XG4iLCByb21fYWRkcik7CisKIAlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgUENJX1JPTV9BRERSRVNTLAogCQkJICAgICAgIHBjaV9waHlzX3RvX21lbShkZXYsIHJvbV9hZGRyKQogCQkJICAgICAgIHxQQ0lfUk9NX0FERFJFU1NfRU5BQkxFKTsKZGlmZiAtLWdpdCBhL2FyY2gvaTM4Ni9saWIvcGNpX3R5cGUxLmMgYi9hcmNoL2kzODYvbGliL3BjaV90eXBlMS5jCmluZGV4IDIyNWFlNGEuLjhjZTViMzMgMTAwNjQ0Ci0tLSBhL2FyY2gvaTM4Ni9saWIvcGNpX3R5cGUxLmMKKysrIGIvYXJjaC9pMzg2L2xpYi9wY2lfdHlwZTEuYwpAQCAtMSwxNSArMSwzMCBAQAogLyoKLSAqIFN1cHBvcnQgZm9yIHR5cGUgUENJIGNvbmZpZ3VyYXRpb24gY3ljbGVzLgotICogYmFzZWQgb24gcGNpX2luZGlyZWN0LmMKKyAqIChDKSBDb3B5cmlnaHQgMjAwMgorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIDxkYW5pZWxAb21pY3Jvbi5zZT4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDIgRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIGRhbmllbEBvbWljcm9uLnNlLgorICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKKyAqIHByb2plY3QuCiAgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbgotICogMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQogICovCiAKKy8qCisgKiBTdXBwb3J0IGZvciB0eXBlIFBDSSBjb25maWd1cmF0aW9uIGN5Y2xlcy4KKyAqIGJhc2VkIG9uIHBjaV9pbmRpcmVjdC5jCisgKi8KICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxwY2kuaD4KZGlmZiAtLWdpdCBhL2FyY2gvaTM4Ni9saWIvcmVhbG1vZGUuYyBiL2FyY2gvaTM4Ni9saWIvcmVhbG1vZGUuYwppbmRleCAyZGRhOTViLi41YmU4MjdjIDEwMDY0NAotLS0gYS9hcmNoL2kzODYvbGliL3JlYWxtb2RlLmMKKysrIGIvYXJjaC9pMzg2L2xpYi9yZWFsbW9kZS5jCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIChDKSBDb3B5cmlnaHQgMjAwMgotICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIGRhbmllbEBvbWljcm9uLnNlCisgKiBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgPGRhbmllbEBvbWljcm9uLnNlPgogICoKICAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCiAgKiBwcm9qZWN0LgpAQCAtMjYsMTAgKzI2LDggQEAKICNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CiAjaW5jbHVkZSA8YXNtL3JlYWxtb2RlLmg+CiAKLQogI2RlZmluZSBSRUFMTU9ERV9NQUlMQk9YICgoY2hhciopMHhlMDApCiAKLQogZXh0ZXJuIHVsb25nIF9fcmVhbG1vZGVfc3RhcnQ7CiBleHRlcm4gdWxvbmcgX19yZWFsbW9kZV9zaXplOwogZXh0ZXJuIGNoYXIgcmVhbG1vZGVfZW50ZXI7CkBAIC01NywxMyArNTUsMTEgQEAKIHsKIAogCS8qIHNldHVwIG91dCB0aGluIGJpb3MgZW11bGF0aW9uICovCi0JaWYgKGJpb3Nfc2V0dXAoKSkgeworCWlmIChiaW9zX3NldHVwKCkpCiAJCXJldHVybiAtMTsKLQl9CiAKLQlpZiAocmVhbG1vZGVfc2V0dXAoKSkgeworCWlmIChyZWFsbW9kZV9zZXR1cCgpKQogCQlyZXR1cm4gLTE7Ci0JfQogCiAJaW4tPmVpcCA9IG9mZjsKIAlpbi0+eGNzID0gc2VnOwpkaWZmIC0tZ2l0IGEvYXJjaC9pMzg2L2xpYi9yZWFsbW9kZV9zd2l0Y2guUyBiL2FyY2gvaTM4Ni9saWIvcmVhbG1vZGVfc3dpdGNoLlMKaW5kZXggZDZjNzRlYy4uZmNlNGVjYyAxMDA2NDQKLS0tIGEvYXJjaC9pMzg2L2xpYi9yZWFsbW9kZV9zd2l0Y2guUworKysgYi9hcmNoL2kzODYvbGliL3JlYWxtb2RlX3N3aXRjaC5TCkBAIC0yMSw3ICsyMSw2IEBACiAgKiBNQSAwMjExMS0xMzA3IFVTQQogICovCiAKLQogLyogMzJiaXQgLT4gMTZiaXQgLT4gMzJiaXQgbW9kZSBzd2l0Y2ggY29kZSAqLwogCiAvKgpkaWZmIC0tZ2l0IGEvYXJjaC9pMzg2L2xpYi90aW1lci5jIGIvYXJjaC9pMzg2L2xpYi90aW1lci5jCmluZGV4IDVjYjFmNTQuLjhmYzY4Y2QgMTAwNjQ0Ci0tLSBhL2FyY2gvaTM4Ni9saWIvdGltZXIuYworKysgYi9hcmNoL2kzODYvbGliL3RpbWVyLmMKQEAgLTEsNiArMSw5IEBACiAvKgorICogKEMpIENvcHlyaWdodCAyMDA4LDIwMDkKKyAqIEdyYWVtZSBSdXNzLCA8Z3JhZW1lLnJ1c3NAZ21haWwuY29tPgorICoKICAqIChDKSBDb3B5cmlnaHQgMjAwMgotICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIGRhbmllbEBvbWljcm9uLnNlLgorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIDxkYW5pZWxAb21pY3Jvbi5zZT4KICAqCiAgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwogICogcHJvamVjdC4KZGlmZiAtLWdpdCBhL2FyY2gvaTM4Ni9saWIvdmlkZW8uYyBiL2FyY2gvaTM4Ni9saWIvdmlkZW8uYwppbmRleCBjNThlZDEwLi5iMjkwNzVjIDEwMDY0NAotLS0gYS9hcmNoL2kzODYvbGliL3ZpZGVvLmMKKysrIGIvYXJjaC9pMzg2L2xpYi92aWRlby5jCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIChDKSBDb3B5cmlnaHQgMjAwMgotICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIGRhbmllbEBvbWljcm9uLnNlCisgKiBEYW5pZWwgRW5nc3Ry9m0sIE9taWNyb24gQ2V0aSBBQiwgPGRhbmllbEBvbWljcm9uLnNlPgogICoKICAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCiAgKiBwcm9qZWN0LgpAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9wY2kuaD4KIAotCiAvKiBiYXNpYyB0ZXh0bW9kZSBJL08gZnJvbSBsaW51eCBrZXJuZWwgKi8KIHN0YXRpYyBjaGFyICp2aWRtZW0gPSAoY2hhciAqKTB4YjgwMDA7CiBzdGF0aWMgaW50IHZpZHBvcnQ7CkBAIC00Miw5ICs0MSw5IEBACiAJaW50IGk7CiAKIAlvdXRiX3AoMywgMHg2MSk7Ci0JZm9yIChpPTA7aTwxMCpkdXI7aSsrKSB7CisJZm9yIChpID0gMDsgaSA8IDEwKmR1cjsgaSsrKQogCQl1ZGVsYXkoMTAwMCk7Ci0JfQorCiAJb3V0Yl9wKDAsIDB4NjEpOwogfQogCkBAIC01Miw4ICs1MSw4IEBACiB7CiAJaW50IGk7CiAKLQltZW1jcHkgKCB2aWRtZW0sIHZpZG1lbSArIGNvbHMgKiAyLCAoIGxpbmVzIC0gMSApICogY29scyAqIDIgKTsKLQlmb3IgKCBpID0gKCBsaW5lcyAtIDEgKSAqIGNvbHMgKiAyOyBpIDwgbGluZXMgKiBjb2xzICogMjsgaSArPSAyICkKKwltZW1jcHkodmlkbWVtLCB2aWRtZW0gKyBjb2xzICogMiwgKGxpbmVzIC0gMSkgKiBjb2xzICogMik7CisJZm9yIChpID0gKGxpbmVzIC0gMSkgKiBjb2xzICogMjsgaSA8IGxpbmVzICogY29scyAqIDI7IGkgKz0gMikKIAkJdmlkbWVtW2ldID0gJyAnOwogfQogCkBAIC02MSwxNCArNjAsMTQgQEAKIHsKIAlpZiAoYyA9PSAnXG4nKSB7CiAJCSgqeCkgPSAwOwotCQlpZiAoICsrKCp5KSA+PSBsaW5lcyApIHsKKwkJaWYgKCsrKCp5KSA+PSBsaW5lcykgewogCQkJc2Nyb2xsKCk7CiAJCQkoKnkpLS07CiAJCX0KIAl9IGVsc2UgaWYgKGMgPT0gJ1xiJykgewogCQlpZiAoKCp4KSAhPSAwKSB7CiAJCQktLSgqeCk7Ci0JCQl2aWRtZW0gWyAoICgqeCkgKyBjb2xzICogKCp5KSApICogMiBdID0gJyAnOworCQkJdmlkbWVtWygoKngpICsgY29scyAqICgqeSkpICogMl0gPSAnICc7CiAJCX0KIAl9IGVsc2UgaWYgKGMgPT0gJ1xyJykgewogCQkoKngpID0gMDsKQEAgLTEwNiwxNiArMTA1LDE1IEBACiAJCX0KIAl9IGVsc2UgaWYgKGMgPT0gJ1xmJykgewogCQlpbnQgaTsKLQkJZm9yIChpPTA7aTxsaW5lcypjb2xzKjI7aSs9MikgeworCQlmb3IgKGkgPSAwOyBpIDwgbGluZXMgKiBjb2xzICogMjsgaSArPSAyKQogCQkJdmlkbWVtW2ldID0gMDsKLQkJfQogCQkoKngpID0gMDsKIAkJKCp5KSA9IDA7CiAJfSBlbHNlIHsKLQkJdmlkbWVtIFsgKCAoKngpICsgY29scyAqICgqeSkgKSAqIDIgXSA9IGM7Ci0JCWlmICggKysoKngpID49IGNvbHMgKSB7CisJCXZpZG1lbVsoKCp4KSArIGNvbHMgKiAoKnkpKSAqIDJdID0gYzsKKwkJaWYgKCsrKCp4KSA+PSBjb2xzKSB7CiAJCQkoKngpID0gMDsKLQkJCWlmICggKysoKnkpID49IGxpbmVzICkgeworCQkJaWYgKCsrKCp5KSA+PSBsaW5lcykgewogCQkJCXNjcm9sbCgpOwogCQkJCSgqeSktLTsKIAkJCX0KQEAgLTE1MCw5ICsxNDgsOCBAQAogCXggPSBvcmlnX3g7CiAJeSA9IG9yaWdfeTsKIAotCXdoaWxlICggKCBjID0gKnMrKyApICE9ICdcMCcgKSB7CisJd2hpbGUgKChjID0gKnMrKykgIT0gJ1wwJykKIAkJX192aWRlb19wdXRjKGMsICZ4LCAmeSk7Ci0JfQogCiAJb3JpZ194ID0geDsKIAlvcmlnX3kgPSB5OwpAQCAtMTg5LDEwICsxODYsOCBAQAogI2lmIDAKIAlwcmludGYoInBvcyAleCAlZCAlZFxuIiwgcG9zLCBvcmlnX3gsIG9yaWdfeSk7CiAjZW5kaWYKLQlpZiAob3JpZ195ID4gbGluZXMpIHsKKwlpZiAob3JpZ195ID4gbGluZXMpCiAJCW9yaWdfeCA9IG9yaWdfeSA9MDsKLQl9Ci0KIAogCW1lbXNldCgmdmdhX2RldiwgMCwgc2l6ZW9mKHZnYV9kZXYpKTsKIAlzdHJjcHkodmdhX2Rldi5uYW1lLCAidmdhIik7CkBAIC0yMDMsMTMgKzE5OCwxMSBAQAogCXZnYV9kZXYudHN0YyAgPSBOVUxMOyAgICAgICAgICAgICAgLyogJ3RzdGMnIGZ1bmN0aW9uICovCiAJdmdhX2Rldi5nZXRjICA9IE5VTEw7ICAgICAgICAgICAgICAvKiAnZ2V0YycgZnVuY3Rpb24gKi8KIAotCWlmIChzdGRpb19yZWdpc3RlcigmdmdhX2RldikgPT0gMCkgewotCSAgICByZXR1cm4gMTsKLQl9Ci0KLQlpZiAoaTgwNDJfa2JkX2luaXQoKSkgeworCWlmIChzdGRpb19yZWdpc3RlcigmdmdhX2RldikgPT0gMCkKIAkJcmV0dXJuIDE7Ci0JfQorCisJaWYgKGk4MDQyX2tiZF9pbml0KCkpCisJCXJldHVybiAxOwogCiAJbWVtc2V0KCZrYmRfZGV2LCAwLCBzaXplb2Yoa2JkX2RldikpOwogCXN0cmNweShrYmRfZGV2Lm5hbWUsICJrYmQiKTsKQEAgLTIyMCwxOCArMjEzLDE3IEBACiAJa2JkX2Rldi50c3RjICA9IGk4MDQyX3RzdGM7ICAvKiAndHN0YycgZnVuY3Rpb24gKi8KIAlrYmRfZGV2LmdldGMgID0gaTgwNDJfZ2V0YzsgIC8qICdnZXRjJyBmdW5jdGlvbiAqLwogCi0JaWYgKHN0ZGlvX3JlZ2lzdGVyKCZrYmRfZGV2KSA9PSAwKSB7Ci0JICAgIHJldHVybiAxOwotCX0KKwlpZiAoc3RkaW9fcmVnaXN0ZXIoJmtiZF9kZXYpID09IDApCisJCXJldHVybiAxOworCiAJcmV0dXJuIDA7CiB9CiAKIAogaW50IGRydl92aWRlb19pbml0KHZvaWQpCiB7Ci0JaWYgKHZpZGVvX2Jpb3NfaW5pdCgpKSB7CisJaWYgKHZpZGVvX2Jpb3NfaW5pdCgpKQogCQlyZXR1cm4gMTsKLQl9CiAKIAlyZXR1cm4gdmlkZW9faW5pdCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9pMzg2L2xpYi92aWRlb19iaW9zLmMgYi9hcmNoL2kzODYvbGliL3ZpZGVvX2Jpb3MuYwppbmRleCBjODA2MGU2Li42YmM0MzM1IDEwMDY0NAotLS0gYS9hcmNoL2kzODYvbGliL3ZpZGVvX2Jpb3MuYworKysgYi9hcmNoL2kzODYvbGliL3ZpZGVvX2Jpb3MuYwpAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAoQykgQ29weXJpZ2h0IDIwMDIKLSAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCBkYW5pZWxAb21pY3Jvbi5zZQorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIDxkYW5pZWxAb21pY3Jvbi5zZT4KICAqCiAgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwogICogcHJvamVjdC4KZGlmZiAtLWdpdCBhL2FyY2gvaTM4Ni9saWIvemltYWdlLmMgYi9hcmNoL2kzODYvbGliL3ppbWFnZS5jCmluZGV4IDBjNDIwNzIuLmNjNGI0MGUgMTAwNjQ0Ci0tLSBhL2FyY2gvaTM4Ni9saWIvemltYWdlLmMKKysrIGIvYXJjaC9pMzg2L2xpYi96aW1hZ2UuYwpAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAoQykgQ29weXJpZ2h0IDIwMDIKLSAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCBkYW5pZWxAb21pY3Jvbi5zZQorICogRGFuaWVsIEVuZ3N0cvZtLCBPbWljcm9uIENldGkgQUIsIDxkYW5pZWxAb21pY3Jvbi5zZT4KICAqCiAgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwogICogcHJvamVjdC4KQEAgLTIyLDcgKzIyLDcgQEAKICAqLwogCiAvKgotICogTGludXggaTM4NiB6SW1hZ2UgYW5kIGJ6SW1hZ2UgbG9hZGluZworICogTGludXggeDg2IHpJbWFnZSBhbmQgYnpJbWFnZSBsb2FkaW5nCiAgKgogICogYmFzZWQgb24gdGhlIHByb2NkdXJlIGRlc2NyaWJlZCBpbgogICogbGludXgvRG9jdW1lbnRhdGlvbi9pMzg2L2Jvb3QudHh0Cg==