From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Tomas Mraz To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: only ECC NIST Suite B curves support Date: Tue, 09 Jun 2026 12:43:05 GMT Message-ID: <178100898553.1.3660107324294616619.rpms-openssl-b3551463cafe@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: b3551463cafee86a63c60e294f754a8c5cddc37a ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnNzbAogICAgICAgICAgICBCcmFuY2ggOiByZWJhc2VfNDBiZXRhCiAg ICAgICAgICAgIENvbW1pdCA6IGIzNTUxNDYzY2FmZWU4NmE2M2M2MGUyOTRmNzU0YThjNWNkZGMz N2EKICAgICAgICAgICAgQXV0aG9yIDogVG9tYXMgTXJheiA8dG1yYXpAZmVkb3JhcHJvamVjdC5v cmc+CiAgICAgICAgICAgIERhdGUgICA6IDIwMTMtMTAtMTZUMTQ6Mzc6NTErMDI6MDAKICAgICAg ICAgICAgU3RhdHMgIDogKzE3MzAvLTYyMCBpbiAxMCBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAg ICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvb3BlbnNzbC9jL2IzNTUxNDYz Y2FmZWU4NmE2M2M2MGUyOTRmNzU0YThjNWNkZGMzN2E/YnJhbmNoPXJlYmFzZV80MGJldGEKCiAg ICAgICAgICAgIExvZzoKICAgICAgICAgICAgb25seSBFQ0MgTklTVCBTdWl0ZSBCIGN1cnZlcyBz dXBwb3J0CgotIGRyb3AgLWZpcHMgc3VicGFja2FnZQoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdu b3JlIGIvLmdpdGlnbm9yZQppbmRleCA5MmE0MTAyLi5mODJiMWRiIDEwMDY0NAotLS0gYS8uZ2l0 aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEyLDMgKzEyLDQgQEAgb3BlbnNzbC0xLjAuMGEt dXNhLnRhci5iejIKIC9vcGVuc3NsLTEuMC4xYi11c2EudGFyLnh6CiAvb3BlbnNzbC0xLjAuMWMt dXNhLnRhci54egogL29wZW5zc2wtMS4wLjFlLXVzYS50YXIueHoKKy9vcGVuc3NsLTEuMC4xZS1o b2JibGVkLnRhci54egoKZGlmZiAtLWdpdCBhL2VjX2N1cnZlLmMgYi9lY19jdXJ2ZS5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2OTBmOGIKLS0tIC9kZXYvbnVsbAorKysg Yi9lY19jdXJ2ZS5jCkBAIC0wLDAgKzEsMzQxIEBACisvKiBjcnlwdG8vZWMvZWNfY3VydmUuYyAq LworLyoKKyAqIFdyaXR0ZW4gYnkgTmlscyBMYXJzY2ggZm9yIHRoZSBPcGVuU1NMIHByb2plY3Qu CisgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgKGMpIDE5OTgtMjAxMCBUaGUgT3Bl blNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291 cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0 aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAq CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBh bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRp b24uCisgKgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1 cmVzIG9yIHVzZSBvZiB0aGlzCisgKiAgICBzb2Z0d2FyZSBtdXN0IGRpc3BsYXkgdGhlIGZvbGxv d2luZyBhY2tub3dsZWRnbWVudDoKKyAqICAgICJUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdh cmUgZGV2ZWxvcGVkIGJ5IHRoZSBPcGVuU1NMIFByb2plY3QKKyAqICAgIGZvciB1c2UgaW4gdGhl IE9wZW5TU0wgVG9vbGtpdC4gKGh0dHA6Ly93d3cub3BlbnNzbC5vcmcvKSIKKyAqCisgKiA0LiBU aGUgbmFtZXMgIk9wZW5TU0wgVG9vbGtpdCIgYW5kICJPcGVuU1NMIFByb2plY3QiIG11c3Qgbm90 IGJlIHVzZWQgdG8KKyAqICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0CisgKiAgICBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u IEZvciB3cml0dGVuIHBlcm1pc3Npb24sIHBsZWFzZSBjb250YWN0CisgKiAgICBvcGVuc3NsLWNv cmVAb3BlbnNzbC5vcmcuCisgKgorICogNS4gUHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m dHdhcmUgbWF5IG5vdCBiZSBjYWxsZWQgIk9wZW5TU0wiCisgKiAgICBub3IgbWF5ICJPcGVuU1NM IiBhcHBlYXIgaW4gdGhlaXIgbmFtZXMgd2l0aG91dCBwcmlvciB3cml0dGVuCisgKiAgICBwZXJt aXNzaW9uIG9mIHRoZSBPcGVuU1NMIFByb2plY3QuCisgKgorICogNi4gUmVkaXN0cmlidXRpb25z IG9mIGFueSBmb3JtIHdoYXRzb2V2ZXIgbXVzdCByZXRhaW4gdGhlIGZvbGxvd2luZworICogICAg YWNrbm93bGVkZ21lbnQ6CisgKiAgICAiVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRl dmVsb3BlZCBieSB0aGUgT3BlblNTTCBQcm9qZWN0CisgKiAgICBmb3IgdXNlIGluIHRoZSBPcGVu U1NMIFRvb2xraXQgKGh0dHA6Ly93d3cub3BlbnNzbC5vcmcvKSIKKyAqCisgKiBUSElTIFNPRlRX QVJFIElTIFBST1ZJREVEIEJZIFRIRSBPcGVuU1NMIFBST0pFQ1QgYGBBUyBJUycnIEFORCBBTlkK KyAqIEVYUFJFU1NFRCBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBPcGVuU1NMIFBST0pFQ1QgT1IKKyAqIElUUyBDT05UUklC VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs IEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F U1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULAorICogU1RSSUNUIExJQUJJTElUWSwgT1Ig VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRAor ICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAq CisgKiBUaGlzIHByb2R1Y3QgaW5jbHVkZXMgY3J5cHRvZ3JhcGhpYyBzb2Z0d2FyZSB3cml0dGVu IGJ5IEVyaWMgWW91bmcKKyAqIChlYXlAY3J5cHRzb2Z0LmNvbSkuICBUaGlzIHByb2R1Y3QgaW5j bHVkZXMgc29mdHdhcmUgd3JpdHRlbiBieSBUaW0KKyAqIEh1ZHNvbiAodGpoQGNyeXB0c29mdC5j b20pLgorICoKKyAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIENvcHlyaWdodCAyMDAyIFN1biBNaWNy b3N5c3RlbXMsIEluYy4gQUxMIFJJR0hUUyBSRVNFUlZFRC4KKyAqCisgKiBQb3J0aW9ucyBvZiB0 aGUgYXR0YWNoZWQgc29mdHdhcmUgKCJDb250cmlidXRpb24iKSBhcmUgZGV2ZWxvcGVkIGJ5IAor ICogU1VOIE1JQ1JPU1lTVEVNUywgSU5DLiwgYW5kIGFyZSBjb250cmlidXRlZCB0byB0aGUgT3Bl blNTTCBwcm9qZWN0LgorICoKKyAqIFRoZSBDb250cmlidXRpb24gaXMgbGljZW5zZWQgcHVyc3Vh bnQgdG8gdGhlIE9wZW5TU0wgb3BlbiBzb3VyY2UKKyAqIGxpY2Vuc2UgcHJvdmlkZWQgYWJvdmUu CisgKgorICogVGhlIGVsbGlwdGljIGN1cnZlIGJpbmFyeSBwb2x5bm9taWFsIHNvZnR3YXJlIGlz IG9yaWdpbmFsbHkgd3JpdHRlbiBieSAKKyAqIFNoZXVlbGluZyBDaGFuZyBTaGFudHogYW5kIERv dWdsYXMgU3RlYmlsYSBvZiBTdW4gTWljcm9zeXN0ZW1zIExhYm9yYXRvcmllcy4KKyAqCisgKi8K KworI2luY2x1ZGUgImVjX2xjbC5oIgorI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+CisjaW5jbHVk ZSA8b3BlbnNzbC9vYmpfbWFjLmg+CisjaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3NsY29uZi5oPgor Cit0eXBlZGVmIHN0cnVjdCB7CisJaW50CWZpZWxkX3R5cGUsCS8qIGVpdGhlciBOSURfWDlfNjJf cHJpbWVfZmllbGQgb3IKKwkJCQkgKiBOSURfWDlfNjJfY2hhcmFjdGVyaXN0aWNfdHdvX2ZpZWxk ICovCisJCXNlZWRfbGVuLAorCQlwYXJhbV9sZW47CisJdW5zaWduZWQgaW50IGNvZmFjdG9yOwkv KiBwcm9tb3RlZCB0byBCTl9VTE9ORyAqLworfSBFQ19DVVJWRV9EQVRBOworCitzdGF0aWMgY29u c3Qgc3RydWN0IHsgRUNfQ1VSVkVfREFUQSBoOyB1bnNpZ25lZCBjaGFyIGRhdGFbMjArNDgqNl07 IH0KKwlfRUNfTklTVF9QUklNRV8zODQgPSB7CisJeyBOSURfWDlfNjJfcHJpbWVfZmllbGQsMjAs NDgsMSB9LAorCXsgMHhBMywweDM1LDB4OTIsMHg2QSwweEEzLDB4MTksMHhBMiwweDdBLDB4MUQs MHgwMCwJLyogc2VlZCAqLworCSAgMHg4OSwweDZBLDB4NjcsMHg3MywweEE0LDB4ODIsMHg3QSww eENELDB4QUMsMHg3MywKKworCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiww eEZGLDB4RkYsMHhGRiwJLyogcCAqLworCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYs MHhGRiwweEZGLDB4RkYsMHhGRiwKKwkgIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4 RkYsMHhGRiwweEZGLDB4RkYsCisJICAweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweDAw LDB4MDAsMHgwMCwweDAwLAorCSAgMHgwMCwweDAwLDB4MDAsMHgwMCwweEZGLDB4RkYsMHhGRiww eEZGLAorCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhG RiwJLyogYSAqLworCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4 RkYsMHhGRiwKKwkgIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZG LDB4RkYsCisJICAweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweDAwLDB4MDAsMHgwMCww eDAwLAorCSAgMHgwMCwweDAwLDB4MDAsMHgwMCwweEZGLDB4RkYsMHhGRiwweEZDLAorCSAgMHhC MywweDMxLDB4MkYsMHhBNywweEUyLDB4M0UsMHhFNywweEU0LDB4OTgsMHg4RSwJLyogYiAqLwor CSAgMHgwNSwweDZCLDB4RTMsMHhGOCwweDJELDB4MTksMHgxOCwweDFELDB4OUMsMHg2RSwKKwkg IDB4RkUsMHg4MSwweDQxLDB4MTIsMHgwMywweDE0LDB4MDgsMHg4RiwweDUwLDB4MTMsCisJICAw eDg3LDB4NUEsMHhDNiwweDU2LDB4MzksMHg4RCwweDhBLDB4MkUsMHhEMSwweDlELAorCSAgMHgy QSwweDg1LDB4QzgsMHhFRCwweEQzLDB4RUMsMHgyQSwweEVGLAorCSAgMHhBQSwweDg3LDB4Q0Es MHgyMiwweEJFLDB4OEIsMHgwNSwweDM3LDB4OEUsMHhCMSwJLyogeCAqLworCSAgMHhDNywweDFF LDB4RjMsMHgyMCwweEFELDB4NzQsMHg2RSwweDFELDB4M0IsMHg2MiwKKwkgIDB4OEIsMHhBNyww eDlCLDB4OTgsMHg1OSwweEY3LDB4NDEsMHhFMCwweDgyLDB4NTQsCisJICAweDJBLDB4MzgsMHg1 NSwweDAyLDB4RjIsMHg1RCwweEJGLDB4NTUsMHgyOSwweDZDLAorCSAgMHgzQSwweDU0LDB4NUUs MHgzOCwweDcyLDB4NzYsMHgwQSwweEI3LAorCSAgMHgzNiwweDE3LDB4ZGUsMHg0YSwweDk2LDB4 MjYsMHgyYywweDZmLDB4NWQsMHg5ZSwJLyogeSAqLworCSAgMHg5OCwweGJmLDB4OTIsMHg5Miww eGRjLDB4MjksMHhmOCwweGY0LDB4MWQsMHhiZCwKKwkgIDB4MjgsMHg5YSwweDE0LDB4N2MsMHhl OSwweGRhLDB4MzEsMHgxMywweGI1LDB4ZjAsCisJICAweGI4LDB4YzAsMHgwYSwweDYwLDB4YjEs MHhjZSwweDFkLDB4N2UsMHg4MSwweDlkLAorCSAgMHg3YSwweDQzLDB4MWQsMHg3YywweDkwLDB4 ZWEsMHgwZSwweDVmLAorCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZG LDB4RkYsMHhGRiwJLyogb3JkZXIgKi8KKwkgIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZG LDB4RkYsMHhGRiwweEZGLDB4RkYsCisJICAweEZGLDB4RkYsMHhGRiwweEZGLDB4QzcsMHg2Myww eDRELDB4ODEsMHhGNCwweDM3LAorCSAgMHgyRCwweERGLDB4NTgsMHgxQSwweDBELDB4QjIsMHg0 OCwweEIwLDB4QTcsMHg3QSwKKwkgIDB4RUMsMHhFQywweDE5LDB4NkEsMHhDQywweEM1LDB4Mjks MHg3MyB9CisJfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB7IEVDX0NVUlZFX0RBVEEgaDsgdW5z aWduZWQgY2hhciBkYXRhWzIwKzMyKjZdOyB9CisJX0VDX1g5XzYyX1BSSU1FXzI1NlYxID0gewor CXsgTklEX1g5XzYyX3ByaW1lX2ZpZWxkLDIwLDMyLDEgfSwKKwl7IDB4QzQsMHg5RCwweDM2LDB4 MDgsMHg4NiwweEU3LDB4MDQsMHg5MywweDZBLDB4NjYsCS8qIHNlZWQgKi8KKwkgIDB4NzgsMHhF MSwweDEzLDB4OUQsMHgyNiwweEI3LDB4ODEsMHg5RiwweDdFLDB4OTAsCisKKwkgIDB4RkYsMHhG RiwweEZGLDB4RkYsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsCS8qIHAgKi8KKwkgIDB4 MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCisJICAweEZG LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAorCSAgMHhGRiww eEZGLAorCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgw MCwJLyogYSAqLworCSAgMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4 MDAsMHgwMCwKKwkgIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZG LDB4RkYsCisJICAweEZGLDB4RkMsCisJICAweDVBLDB4QzYsMHgzNSwweEQ4LDB4QUEsMHgzQSww eDkzLDB4RTcsMHhCMywweEVCLAkvKiBiICovCisJICAweEJELDB4NTUsMHg3NiwweDk4LDB4ODYs MHhCQywweDY1LDB4MUQsMHgwNiwweEIwLAorCSAgMHhDQywweDUzLDB4QjAsMHhGNiwweDNCLDB4 Q0UsMHgzQywweDNFLDB4MjcsMHhEMiwKKwkgIDB4NjAsMHg0QiwKKwkgIDB4NkIsMHgxNywweEQx LDB4RjIsMHhFMSwweDJDLDB4NDIsMHg0NywweEY4LDB4QkMsCS8qIHggKi8KKwkgIDB4RTYsMHhF NSwweDYzLDB4QTQsMHg0MCwweEYyLDB4NzcsMHgwMywweDdELDB4ODEsCisJICAweDJELDB4RUIs MHgzMywweEEwLDB4RjQsMHhBMSwweDM5LDB4NDUsMHhEOCwweDk4LAorCSAgMHhDMiwweDk2LAor CSAgMHg0ZiwweGUzLDB4NDIsMHhlMiwweGZlLDB4MWEsMHg3ZiwweDliLDB4OGUsMHhlNywJLyog eSAqLworCSAgMHhlYiwweDRhLDB4N2MsMHgwZiwweDllLDB4MTYsMHgyYiwweGNlLDB4MzMsMHg1 NywKKwkgIDB4NmIsMHgzMSwweDVlLDB4Y2UsMHhjYiwweGI2LDB4NDAsMHg2OCwweDM3LDB4YmYs CisJICAweDUxLDB4ZjUsCisJICAweEZGLDB4RkYsMHhGRiwweEZGLDB4MDAsMHgwMCwweDAwLDB4 MDAsMHhGRiwweEZGLAkvKiBvcmRlciAqLworCSAgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4 RkYsMHhCQywweEU2LDB4RkEsMHhBRCwKKwkgIDB4QTcsMHgxNywweDlFLDB4ODQsMHhGMywweEI5 LDB4Q0EsMHhDMiwweEZDLDB4NjMsCisJICAweDI1LDB4NTEgfQorCX07CisKK3R5cGVkZWYgc3Ry dWN0IF9lY19saXN0X2VsZW1lbnRfc3QgeworCWludAluaWQ7CisJY29uc3QgRUNfQ1VSVkVfREFU QSAqZGF0YTsKKwljb25zdCBFQ19NRVRIT0QgKigqbWV0aCkodm9pZCk7CisJY29uc3QgY2hhciAq Y29tbWVudDsKKwl9IGVjX2xpc3RfZWxlbWVudDsKKworc3RhdGljIGNvbnN0IGVjX2xpc3RfZWxl bWVudCBjdXJ2ZV9saXN0W10gPSB7CisJLyogcHJpbWUgZmllbGQgY3VydmVzICovCisJLyogc2Vj ZyBjdXJ2ZXMgKi8KKwkvKiBTRUNHIHNlY3AyNTZyMSBpcyB0aGUgc2FtZSBhcyBYOS42MiBwcmlt ZTI1NnYxIGFuZCBoZW5jZSBvbWl0dGVkICovCisJeyBOSURfc2VjcDM4NHIxLCAmX0VDX05JU1Rf UFJJTUVfMzg0LmgsIDAsICJOSVNUL1NFQ0cgY3VydmUgb3ZlciBhIDM4NCBiaXQgcHJpbWUgZmll bGQiIH0sCisjaWZuZGVmIE9QRU5TU0xfTk9fRUNfTklTVFBfNjRfR0NDXzEyOAorCXsgTklEX1g5 XzYyX3ByaW1lMjU2djEsICZfRUNfWDlfNjJfUFJJTUVfMjU2VjEuaCwgRUNfR0ZwX25pc3RwMjU2 X21ldGhvZCwgIlg5LjYyL1NFQ0cgY3VydmUgb3ZlciBhIDI1NiBiaXQgcHJpbWUgZmllbGQiIH0s CisjZWxzZQorCXsgTklEX1g5XzYyX3ByaW1lMjU2djEsICZfRUNfWDlfNjJfUFJJTUVfMjU2VjEu aCwgMCwgIlg5LjYyL1NFQ0cgY3VydmUgb3ZlciBhIDI1NiBiaXQgcHJpbWUgZmllbGQiIH0sCisj ZW5kaWYKK307CisKKyNkZWZpbmUgY3VydmVfbGlzdF9sZW5ndGggKHNpemVvZihjdXJ2ZV9saXN0 KS9zaXplb2YoZWNfbGlzdF9lbGVtZW50KSkKKworc3RhdGljIEVDX0dST1VQICplY19ncm91cF9u ZXdfZnJvbV9kYXRhKGNvbnN0IGVjX2xpc3RfZWxlbWVudCBjdXJ2ZSkKKwl7CisJRUNfR1JPVVAg Kmdyb3VwPU5VTEw7CisJRUNfUE9JTlQgKlA9TlVMTDsKKwlCTl9DVFgJICpjdHg9TlVMTDsKKwlC SUdOVU0JICpwPU5VTEwsICphPU5VTEwsICpiPU5VTEwsICp4PU5VTEwsICp5PU5VTEwsICpvcmRl cj1OVUxMOworCWludAkgb2s9MDsKKwlpbnQJIHNlZWRfbGVuLHBhcmFtX2xlbjsKKwljb25zdCBF Q19NRVRIT0QgKm1ldGg7CisJY29uc3QgRUNfQ1VSVkVfREFUQSAqZGF0YTsKKwljb25zdCB1bnNp Z25lZCBjaGFyICpwYXJhbXM7CisKKwlpZiAoKGN0eCA9IEJOX0NUWF9uZXcoKSkgPT0gTlVMTCkK KwkJeworCQlFQ2VycihFQ19GX0VDX0dST1VQX05FV19GUk9NX0RBVEEsIEVSUl9SX01BTExPQ19G QUlMVVJFKTsKKwkJZ290byBlcnI7CisJCX0KKworCWRhdGEgPSBjdXJ2ZS5kYXRhOworCXNlZWRf bGVuICA9IGRhdGEtPnNlZWRfbGVuOworCXBhcmFtX2xlbiA9IGRhdGEtPnBhcmFtX2xlbjsKKwlw YXJhbXMJICA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopKGRhdGErMSk7CS8qIHNraXAgaGVhZGVy ICovCisJcGFyYW1zCSArPSBzZWVkX2xlbjsJCQkJLyogc2tpcCBzZWVkICAgKi8KKworCWlmICgh KHAgPSBCTl9iaW4yYm4ocGFyYW1zKzAqcGFyYW1fbGVuLCBwYXJhbV9sZW4sIE5VTEwpKQorCQl8 fCAhKGEgPSBCTl9iaW4yYm4ocGFyYW1zKzEqcGFyYW1fbGVuLCBwYXJhbV9sZW4sIE5VTEwpKQor CQl8fCAhKGIgPSBCTl9iaW4yYm4ocGFyYW1zKzIqcGFyYW1fbGVuLCBwYXJhbV9sZW4sIE5VTEwp KSkKKwkJeworCQlFQ2VycihFQ19GX0VDX0dST1VQX05FV19GUk9NX0RBVEEsIEVSUl9SX0JOX0xJ Qik7CisJCWdvdG8gZXJyOworCQl9CisKKwlpZiAoY3VydmUubWV0aCAhPSAwKQorCQl7CisJCW1l dGggPSBjdXJ2ZS5tZXRoKCk7CisJCWlmICgoKGdyb3VwID0gRUNfR1JPVVBfbmV3KG1ldGgpKSA9 PSBOVUxMKSB8fAorCQkJKCEoZ3JvdXAtPm1ldGgtPmdyb3VwX3NldF9jdXJ2ZShncm91cCwgcCwg YSwgYiwgY3R4KSkpKQorCQkJeworCQkJRUNlcnIoRUNfRl9FQ19HUk9VUF9ORVdfRlJPTV9EQVRB LCBFUlJfUl9FQ19MSUIpOworCQkJZ290byBlcnI7CisJCQl9CisJCX0KKwllbHNlIGlmIChkYXRh LT5maWVsZF90eXBlID09IE5JRF9YOV82Ml9wcmltZV9maWVsZCkKKwkJeworCQlpZiAoKGdyb3Vw ID0gRUNfR1JPVVBfbmV3X2N1cnZlX0dGcChwLCBhLCBiLCBjdHgpKSA9PSBOVUxMKQorCQkJewor CQkJRUNlcnIoRUNfRl9FQ19HUk9VUF9ORVdfRlJPTV9EQVRBLCBFUlJfUl9FQ19MSUIpOworCQkJ Z290byBlcnI7CisJCQl9CisJCX0KKyNpZm5kZWYgT1BFTlNTTF9OT19FQzJNCisJZWxzZQkvKiBm aWVsZF90eXBlID09IE5JRF9YOV82Ml9jaGFyYWN0ZXJpc3RpY190d29fZmllbGQgKi8KKwkJewor CQlpZiAoKGdyb3VwID0gRUNfR1JPVVBfbmV3X2N1cnZlX0dGMm0ocCwgYSwgYiwgY3R4KSkgPT0g TlVMTCkKKwkJCXsKKwkJCUVDZXJyKEVDX0ZfRUNfR1JPVVBfTkVXX0ZST01fREFUQSwgRVJSX1Jf RUNfTElCKTsKKwkJCWdvdG8gZXJyOworCQkJfQorCQl9CisjZW5kaWYKKworCWlmICgoUCA9IEVD X1BPSU5UX25ldyhncm91cCkpID09IE5VTEwpCisJCXsKKwkJRUNlcnIoRUNfRl9FQ19HUk9VUF9O RVdfRlJPTV9EQVRBLCBFUlJfUl9FQ19MSUIpOworCQlnb3RvIGVycjsKKwkJfQorCisJaWYgKCEo eCA9IEJOX2JpbjJibihwYXJhbXMrMypwYXJhbV9sZW4sIHBhcmFtX2xlbiwgTlVMTCkpCisJCXx8 ICEoeSA9IEJOX2JpbjJibihwYXJhbXMrNCpwYXJhbV9sZW4sIHBhcmFtX2xlbiwgTlVMTCkpKQor CQl7CisJCUVDZXJyKEVDX0ZfRUNfR1JPVVBfTkVXX0ZST01fREFUQSwgRVJSX1JfQk5fTElCKTsK KwkJZ290byBlcnI7CisJCX0KKwlpZiAoIUVDX1BPSU5UX3NldF9hZmZpbmVfY29vcmRpbmF0ZXNf R0ZwKGdyb3VwLCBQLCB4LCB5LCBjdHgpKQorCQl7CisJCUVDZXJyKEVDX0ZfRUNfR1JPVVBfTkVX X0ZST01fREFUQSwgRVJSX1JfRUNfTElCKTsKKwkJZ290byBlcnI7CisJCX0KKwlpZiAoIShvcmRl ciA9IEJOX2JpbjJibihwYXJhbXMrNSpwYXJhbV9sZW4sIHBhcmFtX2xlbiwgTlVMTCkpCisJCXx8 ICFCTl9zZXRfd29yZCh4LCAoQk5fVUxPTkcpZGF0YS0+Y29mYWN0b3IpKQorCQl7CisJCUVDZXJy KEVDX0ZfRUNfR1JPVVBfTkVXX0ZST01fREFUQSwgRVJSX1JfQk5fTElCKTsKKwkJZ290byBlcnI7 CisJCX0KKwlpZiAoIUVDX0dST1VQX3NldF9nZW5lcmF0b3IoZ3JvdXAsIFAsIG9yZGVyLCB4KSkK KwkJeworCQlFQ2VycihFQ19GX0VDX0dST1VQX05FV19GUk9NX0RBVEEsIEVSUl9SX0VDX0xJQik7 CisJCWdvdG8gZXJyOworCQl9CisJaWYgKHNlZWRfbGVuKQorCQl7CisJCWlmICghRUNfR1JPVVBf c2V0X3NlZWQoZ3JvdXAsIHBhcmFtcy1zZWVkX2xlbiwgc2VlZF9sZW4pKQorCQkJeworCQkJRUNl cnIoRUNfRl9FQ19HUk9VUF9ORVdfRlJPTV9EQVRBLCBFUlJfUl9FQ19MSUIpOworCQkJZ290byBl cnI7CisJCQl9CisJCX0KKwlvaz0xOworZXJyOgorCWlmICghb2spCisJCXsKKwkJRUNfR1JPVVBf ZnJlZShncm91cCk7CisJCWdyb3VwID0gTlVMTDsKKwkJfQorCWlmIChQKQorCQlFQ19QT0lOVF9m cmVlKFApOworCWlmIChjdHgpCisJCUJOX0NUWF9mcmVlKGN0eCk7CisJaWYgKHApCisJCUJOX2Zy ZWUocCk7CisJaWYgKGEpCisJCUJOX2ZyZWUoYSk7CisJaWYgKGIpCisJCUJOX2ZyZWUoYik7CisJ aWYgKG9yZGVyKQorCQlCTl9mcmVlKG9yZGVyKTsKKwlpZiAoeCkKKwkJQk5fZnJlZSh4KTsKKwlp ZiAoeSkKKwkJQk5fZnJlZSh5KTsKKwlyZXR1cm4gZ3JvdXA7CisJfQorCitFQ19HUk9VUCAqRUNf R1JPVVBfbmV3X2J5X2N1cnZlX25hbWUoaW50IG5pZCkKKwl7CisJc2l6ZV90IGk7CisJRUNfR1JP VVAgKnJldCA9IE5VTEw7CisKKwlpZiAobmlkIDw9IDApCisJCXJldHVybiBOVUxMOworCisJZm9y IChpPTA7IGk8Y3VydmVfbGlzdF9sZW5ndGg7IGkrKykKKwkJaWYgKGN1cnZlX2xpc3RbaV0ubmlk ID09IG5pZCkKKwkJCXsKKwkJCXJldCA9IGVjX2dyb3VwX25ld19mcm9tX2RhdGEoY3VydmVfbGlz dFtpXSk7CisJCQlicmVhazsKKwkJCX0KKworCWlmIChyZXQgPT0gTlVMTCkKKwkJeworCQlFQ2Vy cihFQ19GX0VDX0dST1VQX05FV19CWV9DVVJWRV9OQU1FLCBFQ19SX1VOS05PV05fR1JPVVApOwor CQlyZXR1cm4gTlVMTDsKKwkJfQorCisJRUNfR1JPVVBfc2V0X2N1cnZlX25hbWUocmV0LCBuaWQp OworCisJcmV0dXJuIHJldDsKKwl9CisKK3NpemVfdCBFQ19nZXRfYnVpbHRpbl9jdXJ2ZXMoRUNf YnVpbHRpbl9jdXJ2ZSAqciwgc2l6ZV90IG5pdGVtcykKKwl7CisJc2l6ZV90CWksIG1pbjsKKwor CWlmIChyID09IE5VTEwgfHwgbml0ZW1zID09IDApCisJCXJldHVybiBjdXJ2ZV9saXN0X2xlbmd0 aDsKKworCW1pbiA9IG5pdGVtcyA8IGN1cnZlX2xpc3RfbGVuZ3RoID8gbml0ZW1zIDogY3VydmVf bGlzdF9sZW5ndGg7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWluOyBpKyspCisJCXsKKwkJcltpXS5u aWQgPSBjdXJ2ZV9saXN0W2ldLm5pZDsKKwkJcltpXS5jb21tZW50ID0gY3VydmVfbGlzdFtpXS5j b21tZW50OworCQl9CisKKwlyZXR1cm4gY3VydmVfbGlzdF9sZW5ndGg7CisJfQoKZGlmZiAtLWdp dCBhL2VjdGVzdC5jIGIvZWN0ZXN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uMTk3Njk3OQotLS0gL2Rldi9udWxsCisrKyBiL2VjdGVzdC5jCkBAIC0wLDAgKzEsNjk1IEBA CisvKiBjcnlwdG8vZWMvZWN0ZXN0LmMgKi8KKy8qCisgKiBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkg Qm9kbyBNb2VsbGVyIGZvciB0aGUgT3BlblNTTCBwcm9qZWN0LgorICovCisvKiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCBy aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt ZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKgorICogMi4gUmVkaXN0cmlidXRp b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz Y2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs cyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIDMuIEFsbCBh ZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcwor ICogICAgc29mdHdhcmUgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ21lbnQ6 CisgKiAgICAiVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUg T3BlblNTTCBQcm9qZWN0CisgKiAgICBmb3IgdXNlIGluIHRoZSBPcGVuU1NMIFRvb2xraXQuICho dHRwOi8vd3d3Lm9wZW5zc2wub3JnLykiCisgKgorICogNC4gVGhlIG5hbWVzICJPcGVuU1NMIFRv b2xraXQiIGFuZCAiT3BlblNTTCBQcm9qZWN0IiBtdXN0IG5vdCBiZSB1c2VkIHRvCisgKiAgICBl bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0 aG91dAorICogICAgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiBGb3Igd3JpdHRlbiBwZXJtaXNz aW9uLCBwbGVhc2UgY29udGFjdAorICogICAgb3BlbnNzbC1jb3JlQG9wZW5zc2wub3JnLgorICoK KyAqIDUuIFByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIG1heSBub3QgYmUgY2Fs bGVkICJPcGVuU1NMIgorICogICAgbm9yIG1heSAiT3BlblNTTCIgYXBwZWFyIGluIHRoZWlyIG5h bWVzIHdpdGhvdXQgcHJpb3Igd3JpdHRlbgorICogICAgcGVybWlzc2lvbiBvZiB0aGUgT3BlblNT TCBQcm9qZWN0LgorICoKKyAqIDYuIFJlZGlzdHJpYnV0aW9ucyBvZiBhbnkgZm9ybSB3aGF0c29l dmVyIG11c3QgcmV0YWluIHRoZSBmb2xsb3dpbmcKKyAqICAgIGFja25vd2xlZGdtZW50OgorICog ICAgIlRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIE9wZW5T U0wgUHJvamVjdAorICogICAgZm9yIHVzZSBpbiB0aGUgT3BlblNTTCBUb29sa2l0IChodHRwOi8v d3d3Lm9wZW5zc2wub3JnLykiCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU SEUgT3BlblNTTCBQUk9KRUNUIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTRUQgT1IgSU1Q TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBU SEUgT3BlblNTTCBQUk9KRUNUIE9SCisgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5PVCBMSU1JVEVE IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAq IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ TiBDT05UUkFDVCwKKyAqIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQKKyAqIE9GIFRIRSBQT1NTSUJJTElU WSBPRiBTVUNIIERBTUFHRS4KKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKgorICogVGhpcyBwcm9kdWN0IGlu Y2x1ZGVzIGNyeXB0b2dyYXBoaWMgc29mdHdhcmUgd3JpdHRlbiBieSBFcmljIFlvdW5nCisgKiAo ZWF5QGNyeXB0c29mdC5jb20pLiAgVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIHdyaXR0 ZW4gYnkgVGltCisgKiBIdWRzb24gKHRqaEBjcnlwdHNvZnQuY29tKS4KKyAqCisgKi8KKy8qID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CisgKiBDb3B5cmlnaHQgMjAwMiBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIEFMTCBS SUdIVFMgUkVTRVJWRUQuCisgKgorICogUG9ydGlvbnMgb2YgdGhlIGF0dGFjaGVkIHNvZnR3YXJl ICgiQ29udHJpYnV0aW9uIikgYXJlIGRldmVsb3BlZCBieSAKKyAqIFNVTiBNSUNST1NZU1RFTVMs IElOQy4sIGFuZCBhcmUgY29udHJpYnV0ZWQgdG8gdGhlIE9wZW5TU0wgcHJvamVjdC4KKyAqCisg KiBUaGUgQ29udHJpYnV0aW9uIGlzIGxpY2Vuc2VkIHB1cnN1YW50IHRvIHRoZSBPcGVuU1NMIG9w ZW4gc291cmNlCisgKiBsaWNlbnNlIHByb3ZpZGVkIGFib3ZlLgorICoKKyAqIFRoZSBlbGxpcHRp YyBjdXJ2ZSBiaW5hcnkgcG9seW5vbWlhbCBzb2Z0d2FyZSBpcyBvcmlnaW5hbGx5IHdyaXR0ZW4g YnkgCisgKiBTaGV1ZWxpbmcgQ2hhbmcgU2hhbnR6IGFuZCBEb3VnbGFzIFN0ZWJpbGEgb2YgU3Vu IE1pY3Jvc3lzdGVtcyBMYWJvcmF0b3JpZXMuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRpby5o PgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2lmZGVmIEZMQVRfSU5DCisjaW5jbHVkZSAiZV9vcy5o IgorI2Vsc2UKKyNpbmNsdWRlICIuLi9lX29zLmgiCisjZW5kaWYKKyNpbmNsdWRlIDxzdHJpbmcu aD4KKyNpbmNsdWRlIDx0aW1lLmg+CisKKworI2lmZGVmIE9QRU5TU0xfTk9fRUMKK2ludCBtYWlu KGludCBhcmdjLCBjaGFyICogYXJndltdKSB7IHB1dHMoIkVsbGlwdGljIGN1cnZlcyBhcmUgZGlz YWJsZWQuIik7IHJldHVybiAwOyB9CisjZWxzZQorCisKKyNpbmNsdWRlIDxvcGVuc3NsL2VjLmg+ CisjaWZuZGVmIE9QRU5TU0xfTk9fRU5HSU5FCisjaW5jbHVkZSA8b3BlbnNzbC9lbmdpbmUuaD4K KyNlbmRpZgorI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+CisjaW5jbHVkZSA8b3BlbnNzbC9vYmpf bWFjLmg+CisjaW5jbHVkZSA8b3BlbnNzbC9vYmplY3RzLmg+CisjaW5jbHVkZSA8b3BlbnNzbC9y YW5kLmg+CisjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgorI2luY2x1ZGUgPG9wZW5zc2wvb3BlbnNz bGNvbmYuaD4KKworI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIGRlZmluZWQoX01JUFNfKSAmJiAo X01TQ19WRVIvMTAwPT0xMikKKy8qIHN1cHByZXNzICJ0b28gYmlnIHRvbyBvcHRpbWl6ZSIgd2Fy bmluZyAqLworI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6NDk1OSkKKyNlbmRpZgorCisjZGVmaW5l IEFCT1JUIGRvIHsgXAorCWZmbHVzaChzdGRvdXQpOyBcCisJZnByaW50ZihzdGRlcnIsICIlczol ZDogQUJPUlRcbiIsIF9fRklMRV9fLCBfX0xJTkVfXyk7IFwKKwlFUlJfcHJpbnRfZXJyb3JzX2Zw KHN0ZGVycik7IFwKKwlFWElUKDEpOyBcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIFRJTUlOR19C QVNFX1BUIDAKKyNkZWZpbmUgVElNSU5HX1JBTkRfUFQgMQorI2RlZmluZSBUSU1JTkdfU0lNVUwg MgorCisjaWYgMAorc3RhdGljIHZvaWQgdGltaW5ncyhFQ19HUk9VUCAqZ3JvdXAsIGludCB0eXBl LCBCTl9DVFggKmN0eCkKKwl7CisJY2xvY2tfdCBjbGNrOworCWludCBpLCBqOworCUJJR05VTSAq czsKKwlCSUdOVU0gKnJbMTBdLCAqcjBbMTBdOworCUVDX1BPSU5UICpQOworCQkKKwlzID0gQk5f bmV3KCk7CisJaWYgKHMgPT0gTlVMTCkgQUJPUlQ7CisKKwlmcHJpbnRmKHN0ZG91dCwgIlRpbWlu Z3MgZm9yICVkLWJpdCBmaWVsZCwgIiwgRUNfR1JPVVBfZ2V0X2RlZ3JlZShncm91cCkpOworCWlm ICghRUNfR1JPVVBfZ2V0X29yZGVyKGdyb3VwLCBzLCBjdHgpKSBBQk9SVDsKKwlmcHJpbnRmKHN0 ZG91dCwgIiVkLWJpdCBzY2FsYXJzICIsIChpbnQpQk5fbnVtX2JpdHMocykpOworCWZmbHVzaChz dGRvdXQpOworCisJUCA9IEVDX1BPSU5UX25ldyhncm91cCk7CisJaWYgKFAgPT0gTlVMTCkgQUJP UlQ7CisJRUNfUE9JTlRfY29weShQLCBFQ19HUk9VUF9nZXQwX2dlbmVyYXRvcihncm91cCkpOwor CisJZm9yIChpID0gMDsgaSA8IDEwOyBpKyspCisJCXsKKwkJaWYgKChyW2ldID0gQk5fbmV3KCkp ID09IE5VTEwpIEFCT1JUOworCQlpZiAoIUJOX3BzZXVkb19yYW5kKHJbaV0sIEJOX251bV9iaXRz KHMpLCAwLCAwKSkgQUJPUlQ7CisJCWlmICh0eXBlICE9IFRJTUlOR19CQVNFX1BUKQorCQkJewor CQkJaWYgKChyMFtpXSA9IEJOX25ldygpKSA9PSBOVUxMKSBBQk9SVDsKKwkJCWlmICghQk5fcHNl dWRvX3JhbmQocjBbaV0sIEJOX251bV9iaXRzKHMpLCAwLCAwKSkgQUJPUlQ7CisJCQl9CisJCX0K KworCWNsY2sgPSBjbG9jaygpOworCWZvciAoaSA9IDA7IGkgPCAxMDsgaSsrKQorCQl7CisJCWZv ciAoaiA9IDA7IGogPCAxMDsgaisrKQorCQkJeworCQkJaWYgKCFFQ19QT0lOVF9tdWwoZ3JvdXAs IFAsICh0eXBlICE9IFRJTUlOR19SQU5EX1BUKSA/IHJbaV0gOiBOVUxMLCAKKwkJCQkodHlwZSAh PSBUSU1JTkdfQkFTRV9QVCkgPyBQIDogTlVMTCwgKHR5cGUgIT0gVElNSU5HX0JBU0VfUFQpID8g cjBbaV0gOiBOVUxMLCBjdHgpKSBBQk9SVDsKKwkJCX0KKwkJfQorCWNsY2sgPSBjbG9jaygpIC0g Y2xjazsKKworCWZwcmludGYoc3Rkb3V0LCAiXG4iKTsKKworI2lmZGVmIENMT0NLU19QRVJfU0VD CisJLyogIlRvIGRldGVybWluZSB0aGUgdGltZSBpbiBzZWNvbmRzLCB0aGUgdmFsdWUgcmV0dXJu ZWQKKwkgKiBieSB0aGUgY2xvY2sgZnVuY3Rpb24gc2hvdWxkIGJlIGRpdmlkZWQgYnkgdGhlIHZh bHVlCisJICogb2YgdGhlIG1hY3JvIENMT0NLU19QRVJfU0VDLiIKKwkgKiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0tIElTTy9JRUMgOTg5OSAqLworIwlkZWZpbmUgVU5J VCAicyIKKyNlbHNlCisJLyogImBDTE9DS1NfUEVSX1NFQycgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IHRoaXMgZnVuY3Rpb24pIgorCSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIGNjIG9u IE5lWFRzdGVwL09wZW5TdGVwICovCisjCWRlZmluZSBVTklUICJ1bml0cyIKKyMJZGVmaW5lIENM T0NLU19QRVJfU0VDIDEKKyNlbmRpZgorCisJaWYgKHR5cGUgPT0gVElNSU5HX0JBU0VfUFQpIHsK KwkJZnByaW50ZihzdGRvdXQsICIlaSAlcyBpbiAlLjJmICIgVU5JVCAiXG4iLCBpKmosCisJCQki YmFzZSBwb2ludCBtdWx0aXBsaWNhdGlvbnMiLCAoZG91YmxlKWNsY2svQ0xPQ0tTX1BFUl9TRUMp OworCX0gZWxzZSBpZiAodHlwZSA9PSBUSU1JTkdfUkFORF9QVCkgeworCQlmcHJpbnRmKHN0ZG91 dCwgIiVpICVzIGluICUuMmYgIiBVTklUICJcbiIsIGkqaiwKKwkJCSJyYW5kb20gcG9pbnQgbXVs dGlwbGljYXRpb25zIiwgKGRvdWJsZSljbGNrL0NMT0NLU19QRVJfU0VDKTsKKwl9IGVsc2UgaWYg KHR5cGUgPT0gVElNSU5HX1NJTVVMKSB7CisJCWZwcmludGYoc3Rkb3V0LCAiJWkgJXMgaW4gJS4y ZiAiIFVOSVQgIlxuIiwgaSpqLAorCQkJInMqUCt0KlEgb3BlcmF0aW9ucyIsIChkb3VibGUpY2xj ay9DTE9DS1NfUEVSX1NFQyk7CisJfQorCWZwcmludGYoc3Rkb3V0LCAiYXZlcmFnZTogJS40ZiAi IFVOSVQgIlxuIiwgKGRvdWJsZSljbGNrLyhDTE9DS1NfUEVSX1NFQyppKmopKTsKKworCUVDX1BP SU5UX2ZyZWUoUCk7CisJQk5fZnJlZShzKTsKKwlmb3IgKGkgPSAwOyBpIDwgMTA7IGkrKykKKwkJ eworCQlCTl9mcmVlKHJbaV0pOworCQlpZiAodHlwZSAhPSBUSU1JTkdfQkFTRV9QVCkgQk5fZnJl ZShyMFtpXSk7CisJCX0KKwl9CisjZW5kaWYKKworLyogdGVzdCBtdWx0aXBsaWNhdGlvbiB3aXRo IGdyb3VwIG9yZGVyLCBsb25nIGFuZCBuZWdhdGl2ZSBzY2FsYXJzICovCitzdGF0aWMgdm9pZCBn cm91cF9vcmRlcl90ZXN0cyhFQ19HUk9VUCAqZ3JvdXApCisJeworCUJJR05VTSAqbjEsICpuMiwg Km9yZGVyOworCUVDX1BPSU5UICpQID0gRUNfUE9JTlRfbmV3KGdyb3VwKTsKKwlFQ19QT0lOVCAq USA9IEVDX1BPSU5UX25ldyhncm91cCk7CisJQk5fQ1RYICpjdHggPSBCTl9DVFhfbmV3KCk7CisK KwluMSA9IEJOX25ldygpOyBuMiA9IEJOX25ldygpOyBvcmRlciA9IEJOX25ldygpOworCWZwcmlu dGYoc3Rkb3V0LCAidmVyaWZ5IGdyb3VwIG9yZGVyIC4uLiIpOworCWZmbHVzaChzdGRvdXQpOwor CWlmICghRUNfR1JPVVBfZ2V0X29yZGVyKGdyb3VwLCBvcmRlciwgY3R4KSkgQUJPUlQ7CisJaWYg KCFFQ19QT0lOVF9tdWwoZ3JvdXAsIFEsIG9yZGVyLCBOVUxMLCBOVUxMLCBjdHgpKSBBQk9SVDsK KwlpZiAoIUVDX1BPSU5UX2lzX2F0X2luZmluaXR5KGdyb3VwLCBRKSkgQUJPUlQ7CisJZnByaW50 ZihzdGRvdXQsICIuIik7CisJZmZsdXNoKHN0ZG91dCk7CisJaWYgKCFFQ19HUk9VUF9wcmVjb21w dXRlX211bHQoZ3JvdXAsIGN0eCkpIEFCT1JUOworCWlmICghRUNfUE9JTlRfbXVsKGdyb3VwLCBR LCBvcmRlciwgTlVMTCwgTlVMTCwgY3R4KSkgQUJPUlQ7CisJaWYgKCFFQ19QT0lOVF9pc19hdF9p bmZpbml0eShncm91cCwgUSkpIEFCT1JUOworCWZwcmludGYoc3Rkb3V0LCAiIG9rXG4iKTsKKwlm cHJpbnRmKHN0ZG91dCwgImxvbmcvbmVnYXRpdmUgc2NhbGFyIHRlc3RzIC4uLiAiKTsKKwlpZiAo IUJOX29uZShuMSkpIEFCT1JUOworCS8qIG4xID0gMSAtIG9yZGVyICovCisJaWYgKCFCTl9zdWIo bjEsIG4xLCBvcmRlcikpIEFCT1JUOworCWlmKCFFQ19QT0lOVF9tdWwoZ3JvdXAsIFEsIE5VTEws IFAsIG4xLCBjdHgpKSBBQk9SVDsKKwlpZiAoMCAhPSBFQ19QT0lOVF9jbXAoZ3JvdXAsIFEsIFAs IGN0eCkpIEFCT1JUOworCS8qIG4yID0gMSArIG9yZGVyICovCisJaWYgKCFCTl9hZGQobjIsIG9y ZGVyLCBCTl92YWx1ZV9vbmUoKSkpIEFCT1JUOworCWlmKCFFQ19QT0lOVF9tdWwoZ3JvdXAsIFEs IE5VTEwsIFAsIG4yLCBjdHgpKSBBQk9SVDsKKwlpZiAoMCAhPSBFQ19QT0lOVF9jbXAoZ3JvdXAs IFEsIFAsIGN0eCkpIEFCT1JUOworCS8qIG4yID0gKDEgLSBvcmRlcikgKiAoMSArIG9yZGVyKSAq LworCWlmICghQk5fbXVsKG4yLCBuMSwgbjIsIGN0eCkpIEFCT1JUOworCWlmKCFFQ19QT0lOVF9t dWwoZ3JvdXAsIFEsIE5VTEwsIFAsIG4yLCBjdHgpKSBBQk9SVDsKKwlpZiAoMCAhPSBFQ19QT0lO VF9jbXAoZ3JvdXAsIFEsIFAsIGN0eCkpIEFCT1JUOworCWZwcmludGYoc3Rkb3V0LCAib2tcbiIp OworCUVDX1BPSU5UX2ZyZWUoUCk7CisJRUNfUE9JTlRfZnJlZShRKTsKKwlCTl9mcmVlKG4xKTsK KwlCTl9mcmVlKG4yKTsKKwlCTl9mcmVlKG9yZGVyKTsKKwlCTl9DVFhfZnJlZShjdHgpOworCX0K Kworc3RhdGljIHZvaWQgcHJpbWVfZmllbGRfdGVzdHModm9pZCkKKwl7CisJQk5fQ1RYICpjdHgg PSBOVUxMOworCUJJR05VTSAqcCwgKmEsICpiOworCUVDX0dST1VQICpncm91cDsKKwlFQ19HUk9V UCAqUF8xNjAgPSBOVUxMLCAqUF8xOTIgPSBOVUxMLCAqUF8yMjQgPSBOVUxMLCAqUF8yNTYgPSBO VUxMLCAqUF8zODQgPSBOVUxMLCAqUF81MjEgPSBOVUxMOworCUVDX1BPSU5UICpQLCAqUSwgKlI7 CisJQklHTlVNICp4LCAqeSwgKno7CisJdW5zaWduZWQgY2hhciBidWZbMTAwXTsKKwlzaXplX3Qg aSwgbGVuOworCWludCBrOworCQorI2lmIDEgLyogb3B0aW9uYWwgKi8KKwljdHggPSBCTl9DVFhf bmV3KCk7CisJaWYgKCFjdHgpIEFCT1JUOworI2VuZGlmCisKKwlwID0gQk5fbmV3KCk7CisJYSA9 IEJOX25ldygpOworCWIgPSBCTl9uZXcoKTsKKwlpZiAoIXAgfHwgIWEgfHwgIWIpIEFCT1JUOwor CQorCWdyb3VwID0gRUNfR1JPVVBfbmV3KEVDX0dGcF9tb250X21ldGhvZCgpKTsgLyogYXBwbGlj YXRpb25zIHNob3VsZCB1c2UgRUNfR1JPVVBfbmV3X2N1cnZlX0dGcAorCSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogc28gdGhhdCB0aGUgbGlicmFyeSBnZXRz IHRvIGNob29zZSB0aGUgRUNfTUVUSE9EICovCisJaWYgKCFncm91cCkgQUJPUlQ7CisKKwlQID0g RUNfUE9JTlRfbmV3KGdyb3VwKTsKKwlRID0gRUNfUE9JTlRfbmV3KGdyb3VwKTsKKwlSID0gRUNf UE9JTlRfbmV3KGdyb3VwKTsKKwlpZiAoIVAgfHwgIVEgfHwgIVIpIEFCT1JUOworCisJeCA9IEJO X25ldygpOworCXkgPSBCTl9uZXcoKTsKKwl6ID0gQk5fbmV3KCk7CisJaWYgKCF4IHx8ICF5IHx8 ICF6KSBBQk9SVDsKKworLyogQ3VydmUgUC0yNTYgKEZJUFMgUFVCIDE4Ni0yLCBBcHAuIDYpICov CisJCisJaWYgKCFCTl9oZXgyYm4oJnAsICJGRkZGRkZGRjAwMDAwMDAxMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIikpIEFCT1JUOworCWlmICgxICE9IEJO X2lzX3ByaW1lX2V4KHAsIEJOX3ByaW1lX2NoZWNrcywgY3R4LCBOVUxMKSkgQUJPUlQ7CisJaWYg KCFCTl9oZXgyYm4oJmEsICJGRkZGRkZGRjAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZDIikpIEFCT1JUOworCWlmICghQk5faGV4MmJuKCZiLCAi NUFDNjM1RDhBQTNBOTNFN0IzRUJCRDU1NzY5ODg2QkM2NTFEMDZCMENDNTNCMEY2M0JDRTNDM0Uy N0QyNjA0QiIpKSBBQk9SVDsKKwlpZiAoIUVDX0dST1VQX3NldF9jdXJ2ZV9HRnAoZ3JvdXAsIHAs IGEsIGIsIGN0eCkpIEFCT1JUOworCisJaWYgKCFCTl9oZXgyYm4oJngsICI2QjE3RDFGMkUxMkM0 MjQ3RjhCQ0U2RTU2M0E0NDBGMjc3MDM3RDgxMkRFQjMzQTBGNEExMzk0NUQ4OThDMjk2IikpIEFC T1JUOworCWlmICghRUNfUE9JTlRfc2V0X2NvbXByZXNzZWRfY29vcmRpbmF0ZXNfR0ZwKGdyb3Vw LCBQLCB4LCAxLCBjdHgpKSBBQk9SVDsKKwlpZiAoIUVDX1BPSU5UX2lzX29uX2N1cnZlKGdyb3Vw LCBQLCBjdHgpKSBBQk9SVDsKKwlpZiAoIUJOX2hleDJibigmeiwgIkZGRkZGRkZGMDAwMDAwMDBG RkZGRkZGRkZGRkZGRkZGQkNFNkZBQURBNzE3OUUiCisJCSI4NEYzQjlDQUMyRkM2MzI1NTEiKSkg QUJPUlQ7CisJaWYgKCFFQ19HUk9VUF9zZXRfZ2VuZXJhdG9yKGdyb3VwLCBQLCB6LCBCTl92YWx1 ZV9vbmUoKSkpIEFCT1JUOworCisJaWYgKCFFQ19QT0lOVF9nZXRfYWZmaW5lX2Nvb3JkaW5hdGVz X0dGcChncm91cCwgUCwgeCwgeSwgY3R4KSkgQUJPUlQ7CisJZnByaW50ZihzdGRvdXQsICJcbk5J U1QgY3VydmUgUC0yNTYgLS0gR2VuZXJhdG9yOlxuICAgICB4ID0gMHgiKTsKKwlCTl9wcmludF9m cChzdGRvdXQsIHgpOworCWZwcmludGYoc3Rkb3V0LCAiXG4gICAgIHkgPSAweCIpOworCUJOX3By aW50X2ZwKHN0ZG91dCwgeSk7CisJZnByaW50ZihzdGRvdXQsICJcbiIpOworCS8qIEdfeSB2YWx1 ZSB0YWtlbiBmcm9tIHRoZSBzdGFuZGFyZDogKi8KKwlpZiAoIUJOX2hleDJibigmeiwgIjRGRTM0 MkUyRkUxQTdGOUI4RUU3RUI0QTdDMEY5RTE2MkJDRTMzNTc2QjMxNUVDRUNCQjY0MDY4MzdCRjUx RjUiKSkgQUJPUlQ7CisJaWYgKDAgIT0gQk5fY21wKHksIHopKSBBQk9SVDsKKwkKKwlmcHJpbnRm KHN0ZG91dCwgInZlcmlmeSBkZWdyZWUgLi4uIik7CisJaWYgKEVDX0dST1VQX2dldF9kZWdyZWUo Z3JvdXApICE9IDI1NikgQUJPUlQ7CisJZnByaW50ZihzdGRvdXQsICIgb2tcbiIpOworCQorCWdy b3VwX29yZGVyX3Rlc3RzKGdyb3VwKTsKKworCWlmICghKFBfMjU2ID0gRUNfR1JPVVBfbmV3KEVD X0dST1VQX21ldGhvZF9vZihncm91cCkpKSkgQUJPUlQ7CisJaWYgKCFFQ19HUk9VUF9jb3B5KFBf MjU2LCBncm91cCkpIEFCT1JUOworCisKKwkvKiBDdXJ2ZSBQLTM4NCAoRklQUyBQVUIgMTg2LTIs IEFwcC4gNikgKi8KKwkKKwlpZiAoIUJOX2hleDJibigmcCwgIkZGRkZGRkZGRkZGRkZGRkZGRkZG RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYiCisJCSJGRkZGRkZGRkZGRkZGRkZGRkVGRkZGRkZG RjAwMDAwMDAwMDAwMDAwMDBGRkZGRkZGRiIpKSBBQk9SVDsKKwlpZiAoMSAhPSBCTl9pc19wcmlt ZV9leChwLCBCTl9wcmltZV9jaGVja3MsIGN0eCwgTlVMTCkpIEFCT1JUOworCWlmICghQk5faGV4 MmJuKCZhLCAiRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRiIK KwkJIkZGRkZGRkZGRkZGRkZGRkZGRUZGRkZGRkZGMDAwMDAwMDAwMDAwMDAwMEZGRkZGRkZDIikp IEFCT1JUOworCWlmICghQk5faGV4MmJuKCZiLCAiQjMzMTJGQTdFMjNFRTdFNDk4OEUwNTZCRTNG ODJEMTkxODFEOUM2RUZFODE0MSIKKwkJIjEyMDMxNDA4OEY1MDEzODc1QUM2NTYzOThEOEEyRUQx OUQyQTg1QzhFREQzRUMyQUVGIikpIEFCT1JUOworCWlmICghRUNfR1JPVVBfc2V0X2N1cnZlX0dG cChncm91cCwgcCwgYSwgYiwgY3R4KSkgQUJPUlQ7CisKKwlpZiAoIUJOX2hleDJibigmeCwgIkFB ODdDQTIyQkU4QjA1Mzc4RUIxQzcxRUYzMjBBRDc0NkUxRDNCNjI4QkE3OUIiCisJCSI5ODU5Rjc0 MUUwODI1NDJBMzg1NTAyRjI1REJGNTUyOTZDM0E1NDVFMzg3Mjc2MEFCNyIpKSBBQk9SVDsKKwlp ZiAoIUVDX1BPSU5UX3NldF9jb21wcmVzc2VkX2Nvb3JkaW5hdGVzX0dGcChncm91cCwgUCwgeCwg MSwgY3R4KSkgQUJPUlQ7CisJaWYgKCFFQ19QT0lOVF9pc19vbl9jdXJ2ZShncm91cCwgUCwgY3R4 KSkgQUJPUlQ7CisJaWYgKCFCTl9oZXgyYm4oJnosICJGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZG RkZGRkZGRkZGRkZGRkZGRkZGRkZGIgorCQkiRkZDNzYzNEQ4MUY0MzcyRERGNTgxQTBEQjI0OEIw QTc3QUVDRUMxOTZBQ0NDNTI5NzMiKSkgQUJPUlQ7CisJaWYgKCFFQ19HUk9VUF9zZXRfZ2VuZXJh dG9yKGdyb3VwLCBQLCB6LCBCTl92YWx1ZV9vbmUoKSkpIEFCT1JUOworCisJaWYgKCFFQ19QT0lO VF9nZXRfYWZmaW5lX2Nvb3JkaW5hdGVzX0dGcChncm91cCwgUCwgeCwgeSwgY3R4KSkgQUJPUlQ7 CisJZnByaW50ZihzdGRvdXQsICJcbk5JU1QgY3VydmUgUC0zODQgLS0gR2VuZXJhdG9yOlxuICAg ICB4ID0gMHgiKTsKKwlCTl9wcmludF9mcChzdGRvdXQsIHgpOworCWZwcmludGYoc3Rkb3V0LCAi XG4gICAgIHkgPSAweCIpOworCUJOX3ByaW50X2ZwKHN0ZG91dCwgeSk7CisJZnByaW50ZihzdGRv dXQsICJcbiIpOworCS8qIEdfeSB2YWx1ZSB0YWtlbiBmcm9tIHRoZSBzdGFuZGFyZDogKi8KKwlp ZiAoIUJOX2hleDJibigmeiwgIjM2MTdERTRBOTYyNjJDNkY1RDlFOThCRjkyOTJEQzI5RjhGNDFE QkQyODlBMTQiCisJCSI3Q0U5REEzMTEzQjVGMEI4QzAwQTYwQjFDRTFEN0U4MTlEN0E0MzFEN0M5 MEVBMEU1RiIpKSBBQk9SVDsKKwlpZiAoMCAhPSBCTl9jbXAoeSwgeikpIEFCT1JUOworCQorCWZw cmludGYoc3Rkb3V0LCAidmVyaWZ5IGRlZ3JlZSAuLi4iKTsKKwlpZiAoRUNfR1JPVVBfZ2V0X2Rl Z3JlZShncm91cCkgIT0gMzg0KSBBQk9SVDsKKwlmcHJpbnRmKHN0ZG91dCwgIiBva1xuIik7CisK Kwlncm91cF9vcmRlcl90ZXN0cyhncm91cCk7CisKKwlpZiAoIShQXzM4NCA9IEVDX0dST1VQX25l dyhFQ19HUk9VUF9tZXRob2Rfb2YoZ3JvdXApKSkpIEFCT1JUOworCWlmICghRUNfR1JPVVBfY29w eShQXzM4NCwgZ3JvdXApKSBBQk9SVDsKKworCS8qIG1vcmUgdGVzdHMgdXNpbmcgdGhlIGxhc3Qg Y3VydmUgKi8KKworCWlmICghRUNfUE9JTlRfY29weShRLCBQKSkgQUJPUlQ7CisJaWYgKEVDX1BP SU5UX2lzX2F0X2luZmluaXR5KGdyb3VwLCBRKSkgQUJPUlQ7CisJaWYgKCFFQ19QT0lOVF9kYmwo Z3JvdXAsIFAsIFAsIGN0eCkpIEFCT1JUOworCWlmICghRUNfUE9JTlRfaXNfb25fY3VydmUoZ3Jv dXAsIFAsIGN0eCkpIEFCT1JUOworCWlmICghRUNfUE9JTlRfaW52ZXJ0KGdyb3VwLCBRLCBjdHgp KSBBQk9SVDsgLyogUCA9IC0yUSAqLworCisJaWYgKCFFQ19QT0lOVF9hZGQoZ3JvdXAsIFIsIFAs IFEsIGN0eCkpIEFCT1JUOworCWlmICghRUNfUE9JTlRfYWRkKGdyb3VwLCBSLCBSLCBRLCBjdHgp KSBBQk9SVDsKKwlpZiAoIUVDX1BPSU5UX2lzX2F0X2luZmluaXR5KGdyb3VwLCBSKSkgQUJPUlQ7 IC8qIFIgPSBQICsgMlEgKi8KKworCXsKKwkJY29uc3QgRUNfUE9JTlQgKnBvaW50c1s0XTsKKwkJ Y29uc3QgQklHTlVNICpzY2FsYXJzWzRdOworCQlCSUdOVU0gc2NhbGFyMzsKKwkKKwkJaWYgKEVD X1BPSU5UX2lzX2F0X2luZmluaXR5KGdyb3VwLCBRKSkgQUJPUlQ7CisJCXBvaW50c1swXSA9IFE7 CisJCXBvaW50c1sxXSA9IFE7CisJCXBvaW50c1syXSA9IFE7CisJCXBvaW50c1szXSA9IFE7CisK KwkJaWYgKCFFQ19HUk9VUF9nZXRfb3JkZXIoZ3JvdXAsIHosIGN0eCkpIEFCT1JUOworCQlpZiAo IUJOX2FkZCh5LCB6LCBCTl92YWx1ZV9vbmUoKSkpIEFCT1JUOworCQlpZiAoQk5faXNfb2RkKHkp KSBBQk9SVDsKKwkJaWYgKCFCTl9yc2hpZnQxKHksIHkpKSBBQk9SVDsKKwkJc2NhbGFyc1swXSA9 IHk7IC8qIChncm91cCBvcmRlciArIDEpLzIsICBzbyAgeSpRICsgeSpRID0gUSAqLworCQlzY2Fs YXJzWzFdID0geTsKKworCQlmcHJpbnRmKHN0ZG91dCwgImNvbWJpbmVkIG11bHRpcGxpY2F0aW9u IC4uLiIpOworCQlmZmx1c2goc3Rkb3V0KTsKKworCQkvKiB6IGlzIHN0aWxsIHRoZSBncm91cCBv cmRlciAqLworCQlpZiAoIUVDX1BPSU5Uc19tdWwoZ3JvdXAsIFAsIE5VTEwsIDIsIHBvaW50cywg c2NhbGFycywgY3R4KSkgQUJPUlQ7CisJCWlmICghRUNfUE9JTlRzX211bChncm91cCwgUiwgeiwg MiwgcG9pbnRzLCBzY2FsYXJzLCBjdHgpKSBBQk9SVDsKKwkJaWYgKDAgIT0gRUNfUE9JTlRfY21w KGdyb3VwLCBQLCBSLCBjdHgpKSBBQk9SVDsKKwkJaWYgKDAgIT0gRUNfUE9JTlRfY21wKGdyb3Vw LCBSLCBRLCBjdHgpKSBBQk9SVDsKKworCQlmcHJpbnRmKHN0ZG91dCwgIi4iKTsKKwkJZmZsdXNo KHN0ZG91dCk7CisKKwkJaWYgKCFCTl9wc2V1ZG9fcmFuZCh5LCBCTl9udW1fYml0cyh5KSwgMCwg MCkpIEFCT1JUOworCQlpZiAoIUJOX2FkZCh6LCB6LCB5KSkgQUJPUlQ7CisJCUJOX3NldF9uZWdh dGl2ZSh6LCAxKTsKKwkJc2NhbGFyc1swXSA9IHk7CisJCXNjYWxhcnNbMV0gPSB6OyAvKiB6ID0g LShvcmRlciArIHkpICovCisKKwkJaWYgKCFFQ19QT0lOVHNfbXVsKGdyb3VwLCBQLCBOVUxMLCAy LCBwb2ludHMsIHNjYWxhcnMsIGN0eCkpIEFCT1JUOworCQlpZiAoIUVDX1BPSU5UX2lzX2F0X2lu ZmluaXR5KGdyb3VwLCBQKSkgQUJPUlQ7CisKKwkJZnByaW50ZihzdGRvdXQsICIuIik7CisJCWZm bHVzaChzdGRvdXQpOworCisJCWlmICghQk5fcHNldWRvX3JhbmQoeCwgQk5fbnVtX2JpdHMoeSkg LSAxLCAwLCAwKSkgQUJPUlQ7CisJCWlmICghQk5fYWRkKHosIHgsIHkpKSBBQk9SVDsKKwkJQk5f c2V0X25lZ2F0aXZlKHosIDEpOworCQlzY2FsYXJzWzBdID0geDsKKwkJc2NhbGFyc1sxXSA9IHk7 CisJCXNjYWxhcnNbMl0gPSB6OyAvKiB6ID0gLSh4K3kpICovCisKKwkJQk5faW5pdCgmc2NhbGFy Myk7CisJCUJOX3plcm8oJnNjYWxhcjMpOworCQlzY2FsYXJzWzNdID0gJnNjYWxhcjM7CisKKwkJ aWYgKCFFQ19QT0lOVHNfbXVsKGdyb3VwLCBQLCBOVUxMLCA0LCBwb2ludHMsIHNjYWxhcnMsIGN0 eCkpIEFCT1JUOworCQlpZiAoIUVDX1BPSU5UX2lzX2F0X2luZmluaXR5KGdyb3VwLCBQKSkgQUJP UlQ7CisKKwkJZnByaW50ZihzdGRvdXQsICIgb2tcblxuIik7CisKKwkJQk5fZnJlZSgmc2NhbGFy Myk7CisJfQorCisKKyNpZiAwCisJdGltaW5ncyhQXzI1NiwgVElNSU5HX0JBU0VfUFQsIGN0eCk7 CisJdGltaW5ncyhQXzI1NiwgVElNSU5HX1JBTkRfUFQsIGN0eCk7CisJdGltaW5ncyhQXzI1Niwg VElNSU5HX1NJTVVMLCBjdHgpOworCXRpbWluZ3MoUF8zODQsIFRJTUlOR19CQVNFX1BULCBjdHgp OworCXRpbWluZ3MoUF8zODQsIFRJTUlOR19SQU5EX1BULCBjdHgpOworCXRpbWluZ3MoUF8zODQs IFRJTUlOR19TSU1VTCwgY3R4KTsKKyNlbmRpZgorCisKKwlpZiAoY3R4KQorCQlCTl9DVFhfZnJl ZShjdHgpOworCUJOX2ZyZWUocCk7IEJOX2ZyZWUoYSk7CUJOX2ZyZWUoYik7CisJRUNfR1JPVVBf ZnJlZShncm91cCk7CisJRUNfUE9JTlRfZnJlZShQKTsKKwlFQ19QT0lOVF9mcmVlKFEpOworCUVD X1BPSU5UX2ZyZWUoUik7CisJQk5fZnJlZSh4KTsgQk5fZnJlZSh5KTsgQk5fZnJlZSh6KTsKKwor CWlmIChQXzE2MCkgRUNfR1JPVVBfZnJlZShQXzE2MCk7CisJaWYgKFBfMTkyKSBFQ19HUk9VUF9m cmVlKFBfMTkyKTsKKwlpZiAoUF8yMjQpIEVDX0dST1VQX2ZyZWUoUF8yMjQpOworCWlmIChQXzI1 NikgRUNfR1JPVVBfZnJlZShQXzI1Nik7CisJaWYgKFBfMzg0KSBFQ19HUk9VUF9mcmVlKFBfMzg0 KTsKKwlpZiAoUF81MjEpIEVDX0dST1VQX2ZyZWUoUF81MjEpOworCisJfQorCisKK3N0YXRpYyB2 b2lkIGludGVybmFsX2N1cnZlX3Rlc3Qodm9pZCkKKwl7CisJRUNfYnVpbHRpbl9jdXJ2ZSAqY3Vy dmVzID0gTlVMTDsKKwlzaXplX3QgY3J2X2xlbiA9IDAsIG4gPSAwOworCWludCAgICBvayA9IDE7 CisKKwljcnZfbGVuID0gRUNfZ2V0X2J1aWx0aW5fY3VydmVzKE5VTEwsIDApOworCisJY3VydmVz ID0gT1BFTlNTTF9tYWxsb2Moc2l6ZW9mKEVDX2J1aWx0aW5fY3VydmUpICogY3J2X2xlbik7CisK KwlpZiAoY3VydmVzID09IE5VTEwpCisJCXJldHVybjsKKworCWlmICghRUNfZ2V0X2J1aWx0aW5f Y3VydmVzKGN1cnZlcywgY3J2X2xlbikpCisJCXsKKwkJT1BFTlNTTF9mcmVlKGN1cnZlcyk7CisJ CXJldHVybjsKKwkJfQorCisJZnByaW50ZihzdGRvdXQsICJ0ZXN0aW5nIGludGVybmFsIGN1cnZl czogIik7CisJCQorCWZvciAobiA9IDA7IG4gPCBjcnZfbGVuOyBuKyspCisJCXsKKwkJRUNfR1JP VVAgKmdyb3VwID0gTlVMTDsKKwkJaW50IG5pZCA9IGN1cnZlc1tuXS5uaWQ7CisJCWlmICgoZ3Jv dXAgPSBFQ19HUk9VUF9uZXdfYnlfY3VydmVfbmFtZShuaWQpKSA9PSBOVUxMKQorCQkJeworCQkJ b2sgPSAwOworCQkJZnByaW50ZihzdGRvdXQsICJcbkVDX0dST1VQX25ld19jdXJ2ZV9uYW1lKCkg ZmFpbGVkIHdpdGgiCisJCQkJIiBjdXJ2ZSAlc1xuIiwgT0JKX25pZDJzbihuaWQpKTsKKwkJCS8q IHRyeSBuZXh0IGN1cnZlICovCisJCQljb250aW51ZTsKKwkJCX0KKwkJaWYgKCFFQ19HUk9VUF9j aGVjayhncm91cCwgTlVMTCkpCisJCQl7CisJCQlvayA9IDA7CisJCQlmcHJpbnRmKHN0ZG91dCwg IlxuRUNfR1JPVVBfY2hlY2soKSBmYWlsZWQgd2l0aCIKKwkJCQkiIGN1cnZlICVzXG4iLCBPQkpf bmlkMnNuKG5pZCkpOworCQkJRUNfR1JPVVBfZnJlZShncm91cCk7CisJCQkvKiB0cnkgdGhlIG5l eHQgY3VydmUgKi8KKwkJCWNvbnRpbnVlOworCQkJfQorCQlmcHJpbnRmKHN0ZG91dCwgIi4iKTsK KwkJZmZsdXNoKHN0ZG91dCk7CisJCUVDX0dST1VQX2ZyZWUoZ3JvdXApOworCQl9CisJaWYgKG9r KQorCQlmcHJpbnRmKHN0ZG91dCwgIiBva1xuXG4iKTsKKwllbHNlCisJCXsKKwkJZnByaW50Zihz dGRvdXQsICIgZmFpbGVkXG5cbiIpOworCQlBQk9SVDsKKwkJfQorCU9QRU5TU0xfZnJlZShjdXJ2 ZXMpOworCXJldHVybjsKKwl9CisKKyNpZm5kZWYgT1BFTlNTTF9OT19FQ19OSVNUUF82NF9HQ0Nf MTI4CisvKiBuaXN0cF90ZXN0X3BhcmFtcyBjb250YWlucyBtYWdpYyBudW1iZXJzIGZvciB0ZXN0 aW5nIG91ciBvcHRpbWl6ZWQKKyAqIGltcGxlbWVudGF0aW9ucyBvZiBzZXZlcmFsIE5JU1QgY3Vy dmVzIHdpdGggY2hhcmFjdGVyaXN0aWMgPiAzLiAqLworc3RydWN0IG5pc3RwX3Rlc3RfcGFyYW1z CisJeworCWNvbnN0IEVDX01FVEhPRCogKCptZXRoKSAoKTsKKwlpbnQgZGVncmVlOworCS8qIFF4 LCBReSBhbmQgRCBhcmUgdGFrZW4gZnJvbQorCSAqIGh0dHA6Ly9jc3JjLm5pc3QuZ292L2dyb3Vw cy9TVC90b29sa2l0L2RvY3VtZW50cy9FeGFtcGxlcy9FQ0RTQV9QcmltZS5wZGYKKwkgKiBPdGhl cndpc2UsIHZhbHVlcyBhcmUgc3RhbmRhcmQgY3VydmUgcGFyYW1ldGVycyBmcm9tIEZJUFMgMTgw LTMgKi8KKwljb25zdCBjaGFyICpwLCAqYSwgKmIsICpReCwgKlF5LCAqR3gsICpHeSwgKm9yZGVy LCAqZDsKKwl9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IG5pc3RwX3Rlc3RfcGFyYW1zIG5pc3Rw X3Rlc3RzX3BhcmFtc1tdID0KKwl7CisJCXsKKwkJLyogUC0yNTYgKi8KKwkJRUNfR0ZwX25pc3Rw MjU2X21ldGhvZCwKKwkJMjU2LAorCQkiZmZmZmZmZmYwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIsIC8qIHAgKi8KKwkJImZmZmZmZmZmMDAw MDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMiLCAv KiBhICovCisJCSI1YWM2MzVkOGFhM2E5M2U3YjNlYmJkNTU3Njk4ODZiYzY1MWQwNmIwY2M1M2Iw ZjYzYmNlM2MzZTI3ZDI2MDRiIiwgLyogYiAqLworCQkiYjdlMDhhZmRmZTk0YmFkM2YxZGM4Yzcz NDc5OGJhMWM2MmIzYTBhZDFlOWVhMmEzODIwMWNkMDg4OWJjN2ExOSIsIC8qIFF4ICovCisJCSIz NjAzZjc0Nzk1OWRiZjdhNGJiMjI2ZTQxOTI4NzI5MDYzYWRjN2FlNDM1MjllNjFiNTYzYmJjNjA2 Y2M1ZTA5IiwgLyogUXkgKi8KKwkJIjZiMTdkMWYyZTEyYzQyNDdmOGJjZTZlNTYzYTQ0MGYyNzcw MzdkODEyZGViMzNhMGY0YTEzOTQ1ZDg5OGMyOTYiLCAvKiBHeCAqLworCQkiNGZlMzQyZTJmZTFh N2Y5YjhlZTdlYjRhN2MwZjllMTYyYmNlMzM1NzZiMzE1ZWNlY2JiNjQwNjgzN2JmNTFmNSIsIC8q IEd5ICovCisJCSJmZmZmZmZmZjAwMDAwMDAwZmZmZmZmZmZmZmZmZmZmZmJjZTZmYWFkYTcxNzll ODRmM2I5Y2FjMmZjNjMyNTUxIiwgLyogb3JkZXIgKi8KKwkJImM0NzdmOWY2NWMyMmNjZTIwNjU3 ZmFhNWIyZDFkODEyMjMzNmY4NTFhNTA4YTFlZDA0ZTQ3OWMzNDk4NWJmOTYiLCAvKiBkICovCisJ CX0sCisJfTsKKwordm9pZCBuaXN0cF9zaW5nbGVfdGVzdChjb25zdCBzdHJ1Y3QgbmlzdHBfdGVz dF9wYXJhbXMgKnRlc3QpCisJeworCUJOX0NUWCAqY3R4OworCUJJR05VTSAqcCwgKmEsICpiLCAq eCwgKnksICpuLCAqbSwgKm9yZGVyOworCUVDX0dST1VQICpOSVNUUDsKKwlFQ19QT0lOVCAqRywg KlAsICpRLCAqUV9DSEVDSzsKKworCWZwcmludGYoc3Rkb3V0LCAiXG5OSVNUIGN1cnZlIFAtJWQg KG9wdGltaXNlZCBpbXBsZW1lbnRhdGlvbik6XG4iLCB0ZXN0LT5kZWdyZWUpOworCWN0eCA9IEJO X0NUWF9uZXcoKTsKKwlwID0gQk5fbmV3KCk7CisJYSA9IEJOX25ldygpOworCWIgPSBCTl9uZXco KTsKKwl4ID0gQk5fbmV3KCk7IHkgPSBCTl9uZXcoKTsKKwltID0gQk5fbmV3KCk7IG4gPSBCTl9u ZXcoKTsgb3JkZXIgPSBCTl9uZXcoKTsKKworCU5JU1RQID0gRUNfR1JPVVBfbmV3KHRlc3QtPm1l dGgoKSk7CisJaWYoIU5JU1RQKSBBQk9SVDsKKwlpZiAoIUJOX2hleDJibigmcCwgdGVzdC0+cCkp IEFCT1JUOworCWlmICgxICE9IEJOX2lzX3ByaW1lX2V4KHAsIEJOX3ByaW1lX2NoZWNrcywgY3R4 LCBOVUxMKSkgQUJPUlQ7CisJaWYgKCFCTl9oZXgyYm4oJmEsIHRlc3QtPmEpKSBBQk9SVDsKKwlp ZiAoIUJOX2hleDJibigmYiwgdGVzdC0+YikpIEFCT1JUOworCWlmICghRUNfR1JPVVBfc2V0X2N1 cnZlX0dGcChOSVNUUCwgcCwgYSwgYiwgY3R4KSkgQUJPUlQ7CisJRyA9IEVDX1BPSU5UX25ldyhO SVNUUCk7CisJUCA9IEVDX1BPSU5UX25ldyhOSVNUUCk7CisJUSA9IEVDX1BPSU5UX25ldyhOSVNU UCk7CisJUV9DSEVDSyA9IEVDX1BPSU5UX25ldyhOSVNUUCk7CisJaWYoIUJOX2hleDJibigmeCwg dGVzdC0+UXgpKSBBQk9SVDsKKwlpZighQk5faGV4MmJuKCZ5LCB0ZXN0LT5ReSkpIEFCT1JUOwor CWlmKCFFQ19QT0lOVF9zZXRfYWZmaW5lX2Nvb3JkaW5hdGVzX0dGcChOSVNUUCwgUV9DSEVDSywg eCwgeSwgY3R4KSkgQUJPUlQ7CisJaWYgKCFCTl9oZXgyYm4oJngsIHRlc3QtPkd4KSkgQUJPUlQ7 CisJaWYgKCFCTl9oZXgyYm4oJnksIHRlc3QtPkd5KSkgQUJPUlQ7CisJaWYgKCFFQ19QT0lOVF9z ZXRfYWZmaW5lX2Nvb3JkaW5hdGVzX0dGcChOSVNUUCwgRywgeCwgeSwgY3R4KSkgQUJPUlQ7CisJ aWYgKCFCTl9oZXgyYm4oJm9yZGVyLCB0ZXN0LT5vcmRlcikpIEFCT1JUOworCWlmICghRUNfR1JP VVBfc2V0X2dlbmVyYXRvcihOSVNUUCwgRywgb3JkZXIsIEJOX3ZhbHVlX29uZSgpKSkgQUJPUlQ7 CisKKwlmcHJpbnRmKHN0ZG91dCwgInZlcmlmeSBkZWdyZWUgLi4uICIpOworCWlmIChFQ19HUk9V UF9nZXRfZGVncmVlKE5JU1RQKSAhPSB0ZXN0LT5kZWdyZWUpIEFCT1JUOworCWZwcmludGYoc3Rk b3V0LCAib2tcbiIpOworCisJZnByaW50ZihzdGRvdXQsICJOSVNUIHRlc3QgdmVjdG9ycyAuLi4g Iik7CisJaWYgKCFCTl9oZXgyYm4oJm4sIHRlc3QtPmQpKSBBQk9SVDsKKwkvKiBmaXhlZCBwb2lu dCBtdWx0aXBsaWNhdGlvbiAqLworCUVDX1BPSU5UX211bChOSVNUUCwgUSwgbiwgTlVMTCwgTlVM TCwgY3R4KTsKKwlpZiAoMCAhPSBFQ19QT0lOVF9jbXAoTklTVFAsIFEsIFFfQ0hFQ0ssIGN0eCkp IEFCT1JUOworCS8qIHJhbmRvbSBwb2ludCBtdWx0aXBsaWNhdGlvbiAqLworCUVDX1BPSU5UX211 bChOSVNUUCwgUSwgTlVMTCwgRywgbiwgY3R4KTsKKwlpZiAoMCAhPSBFQ19QT0lOVF9jbXAoTklT VFAsIFEsIFFfQ0hFQ0ssIGN0eCkpIEFCT1JUOworCisJLyogc2V0IGdlbmVyYXRvciB0byBQID0g MipHLCB3aGVyZSBHIGlzIHRoZSBzdGFuZGFyZCBnZW5lcmF0b3IgKi8KKwlpZiAoIUVDX1BPSU5U X2RibChOSVNUUCwgUCwgRywgY3R4KSkgQUJPUlQ7CisJaWYgKCFFQ19HUk9VUF9zZXRfZ2VuZXJh dG9yKE5JU1RQLCBQLCBvcmRlciwgQk5fdmFsdWVfb25lKCkpKSBBQk9SVDsKKwkvKiBzZXQgdGhl IHNjYWxhciB0byBtPW4vMiwgd2hlcmUgbiBpcyB0aGUgTklTVCB0ZXN0IHNjYWxhciAqLworCWlm ICghQk5fcnNoaWZ0KG0sIG4sIDEpKSBBQk9SVDsKKworCS8qIHRlc3QgdGhlIG5vbi1zdGFuZGFy ZCBnZW5lcmF0b3IgKi8KKwkvKiBmaXhlZCBwb2ludCBtdWx0aXBsaWNhdGlvbiAqLworCUVDX1BP SU5UX211bChOSVNUUCwgUSwgbSwgTlVMTCwgTlVMTCwgY3R4KTsKKwlpZiAoMCAhPSBFQ19QT0lO VF9jbXAoTklTVFAsIFEsIFFfQ0hFQ0ssIGN0eCkpIEFCT1JUOworCS8qIHJhbmRvbSBwb2ludCBt dWx0aXBsaWNhdGlvbiAqLworCUVDX1BPSU5UX211bChOSVNUUCwgUSwgTlVMTCwgUCwgbSwgY3R4 KTsKKwlpZiAoMCAhPSBFQ19QT0lOVF9jbXAoTklTVFAsIFEsIFFfQ0hFQ0ssIGN0eCkpIEFCT1JU OworCisJLyogbm93IHJlcGVhdCBhbGwgdGVzdHMgd2l0aCBwcmVjb21wdXRhdGlvbiAqLworCWlm ICghRUNfR1JPVVBfcHJlY29tcHV0ZV9tdWx0KE5JU1RQLCBjdHgpKSBBQk9SVDsKKworCS8qIGZp eGVkIHBvaW50IG11bHRpcGxpY2F0aW9uICovCisJRUNfUE9JTlRfbXVsKE5JU1RQLCBRLCBtLCBO VUxMLCBOVUxMLCBjdHgpOworCWlmICgwICE9IEVDX1BPSU5UX2NtcChOSVNUUCwgUSwgUV9DSEVD SywgY3R4KSkgQUJPUlQ7CisJLyogcmFuZG9tIHBvaW50IG11bHRpcGxpY2F0aW9uICovCisJRUNf UE9JTlRfbXVsKE5JU1RQLCBRLCBOVUxMLCBQLCBtLCBjdHgpOworCWlmICgwICE9IEVDX1BPSU5U X2NtcChOSVNUUCwgUSwgUV9DSEVDSywgY3R4KSkgQUJPUlQ7CisKKwkvKiByZXNldCBnZW5lcmF0 b3IgKi8KKwlpZiAoIUVDX0dST1VQX3NldF9nZW5lcmF0b3IoTklTVFAsIEcsIG9yZGVyLCBCTl92 YWx1ZV9vbmUoKSkpIEFCT1JUOworCS8qIGZpeGVkIHBvaW50IG11bHRpcGxpY2F0aW9uICovCisJ RUNfUE9JTlRfbXVsKE5JU1RQLCBRLCBuLCBOVUxMLCBOVUxMLCBjdHgpOworCWlmICgwICE9IEVD X1BPSU5UX2NtcChOSVNUUCwgUSwgUV9DSEVDSywgY3R4KSkgQUJPUlQ7CisJLyogcmFuZG9tIHBv aW50IG11bHRpcGxpY2F0aW9uICovCisJRUNfUE9JTlRfbXVsKE5JU1RQLCBRLCBOVUxMLCBHLCBu LCBjdHgpOworCWlmICgwICE9IEVDX1BPSU5UX2NtcChOSVNUUCwgUSwgUV9DSEVDSywgY3R4KSkg QUJPUlQ7CisKKwlmcHJpbnRmKHN0ZG91dCwgIm9rXG4iKTsKKwlncm91cF9vcmRlcl90ZXN0cyhO SVNUUCk7CisjaWYgMAorCXRpbWluZ3MoTklTVFAsIFRJTUlOR19CQVNFX1BULCBjdHgpOworCXRp bWluZ3MoTklTVFAsIFRJTUlOR19SQU5EX1BULCBjdHgpOworI2VuZGlmCisJRUNfR1JPVVBfZnJl ZShOSVNUUCk7CisJRUNfUE9JTlRfZnJlZShHKTsKKwlFQ19QT0lOVF9mcmVlKFApOworCUVDX1BP SU5UX2ZyZWUoUSk7CisJRUNfUE9JTlRfZnJlZShRX0NIRUNLKTsKKwlCTl9mcmVlKG4pOworCUJO X2ZyZWUobSk7CisJQk5fZnJlZShwKTsKKwlCTl9mcmVlKGEpOworCUJOX2ZyZWUoYik7CisJQk5f ZnJlZSh4KTsKKwlCTl9mcmVlKHkpOworCUJOX2ZyZWUob3JkZXIpOworCUJOX0NUWF9mcmVlKGN0 eCk7CisJfQorCit2b2lkIG5pc3RwX3Rlc3RzKCkKKwl7CisJdW5zaWduZWQgaTsKKworCWZvciAo aSA9IDA7IGkgPCBzaXplb2YobmlzdHBfdGVzdHNfcGFyYW1zKSAvIHNpemVvZihzdHJ1Y3Qgbmlz dHBfdGVzdF9wYXJhbXMpOyBpKyspCisJCXsKKwkJbmlzdHBfc2luZ2xlX3Rlc3QoJm5pc3RwX3Rl c3RzX3BhcmFtc1tpXSk7CisJCX0KKwl9CisjZW5kaWYKKworc3RhdGljIGNvbnN0IGNoYXIgcm5k X3NlZWRbXSA9ICJzdHJpbmcgdG8gbWFrZSB0aGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgdGhp bmsgaXQgaGFzIGVudHJvcHkiOworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQor CXsJCisJCisJLyogZW5hYmxlIG1lbW9yeSBsZWFrIGNoZWNraW5nIHVubGVzcyBleHBsaWNpdGx5 IGRpc2FibGVkICovCisJaWYgKCEoKGdldGVudigiT1BFTlNTTF9ERUJVR19NRU1PUlkiKSAhPSBO VUxMKSAmJiAoMCA9PSBzdHJjbXAoZ2V0ZW52KCJPUEVOU1NMX0RFQlVHX01FTU9SWSIpLCAib2Zm IikpKSkKKwkJeworCQlDUllQVE9fbWFsbG9jX2RlYnVnX2luaXQoKTsKKwkJQ1JZUFRPX3NldF9t ZW1fZGVidWdfb3B0aW9ucyhWX0NSWVBUT19NREVCVUdfQUxMKTsKKwkJfQorCWVsc2UKKwkJewor CQkvKiBPUEVOU1NMX0RFQlVHX01FTU9SWT1vZmYgKi8KKwkJQ1JZUFRPX3NldF9tZW1fZGVidWdf ZnVuY3Rpb25zKDAsIDAsIDAsIDAsIDApOworCQl9CisJQ1JZUFRPX21lbV9jdHJsKENSWVBUT19N RU1fQ0hFQ0tfT04pOworCUVSUl9sb2FkX2NyeXB0b19zdHJpbmdzKCk7CisKKwlSQU5EX3NlZWQo cm5kX3NlZWQsIHNpemVvZiBybmRfc2VlZCk7IC8qIG9yIEJOX2dlbmVyYXRlX3ByaW1lIG1heSBm YWlsICovCisKKwlwcmltZV9maWVsZF90ZXN0cygpOworCXB1dHMoIiIpOworI2lmbmRlZiBPUEVO U1NMX05PX0VDMk0KKwljaGFyMl9maWVsZF90ZXN0cygpOworI2VuZGlmCisjaWZuZGVmIE9QRU5T U0xfTk9fRUNfTklTVFBfNjRfR0NDXzEyOAorCW5pc3RwX3Rlc3RzKCk7CisjZW5kaWYKKwkvKiB0 ZXN0IHRoZSBpbnRlcm5hbCBjdXJ2ZXMgKi8KKwlpbnRlcm5hbF9jdXJ2ZV90ZXN0KCk7CisKKyNp Zm5kZWYgT1BFTlNTTF9OT19FTkdJTkUKKwlFTkdJTkVfY2xlYW51cCgpOworI2VuZGlmCisJQ1JZ UFRPX2NsZWFudXBfYWxsX2V4X2RhdGEoKTsKKwlFUlJfZnJlZV9zdHJpbmdzKCk7CisJRVJSX3Jl bW92ZV90aHJlYWRfc3RhdGUoTlVMTCk7CisJQ1JZUFRPX21lbV9sZWFrc19mcChzdGRlcnIpOwor CQorCXJldHVybiAwOworCX0KKyNlbmRpZgoKZGlmZiAtLWdpdCBhL2hvYmJsZS1vcGVuc3NsIGIv aG9iYmxlLW9wZW5zc2wKaW5kZXggM2I3ODMzNS4uM2M3NWVhMSAxMDA3NTUKLS0tIGEvaG9iYmxl LW9wZW5zc2wKKysrIGIvaG9iYmxlLW9wZW5zc2wKQEAgLTcsNiArNyw3IEBAIHNldCAtZQogIyBN REMtMjogNCw5MDgsODYxIDEzLzAzLzIwMDcgLSBleHBpcmVkLCB3ZSBkbyBub3QgcmVtb3ZlIGl0 IGJ1dCBkbyBub3QgZW5hYmxlIGl0IGFueXdheQogIyBJREVBOiAgNSwyMTQsNzAzIDA3LzAxLzIw MTIgLSBleHBpcmVkLCB3ZSBkbyBub3QgcmVtb3ZlIGl0IGFueW1vcmUKICMgUkM1OiAgIDUsNzI0 LDQyOCAwMS8xMS8yMDE1CisjIEVDOiAgICA/Pz8/Pz8/Pz8gPz8vPz8vMjAyMAogIyBTUlA6ICAg Pz8/Pz8/Pz8/ID8/Lz8/LzIwPz8KIAogIyBSZW1vdmUgYXNzZW1ibGVyIHBvcnRpb25zIG9mIElE RUEsIE1EQzIsIGFuZCBSQzUuCkBAIC0yNSwxMiArMjYsMjMgQEAgZm9yIGMgaW4gYGZpbmQgY3J5 cHRvL2V2cCAtbmFtZSAiKl9yYzUuYyJgOyBkbwogCT4gJGMKIGRvbmUKIAorZm9yIGMgaW4gYGZp bmQgY3J5cHRvL2JuIC1uYW1lICIqZ2YybS5jImA7IGRvCisJZWNobyBEZXN0cm95aW5nICRjCisJ PiAkYworZG9uZQorCitmb3IgYyBpbiBgZmluZCBjcnlwdG8vZWMgLW5hbWUgImVjMiouYyIgLW8g LW5hbWUgImVjX2N1cnZlLmMiIC1vIC1uYW1lICJlY3BfbmlzdHA/Mj8uYyIgLW8gLW5hbWUgImVj dGVzdC5jImA7IGRvCisJZWNobyBEZXN0cm95aW5nICRjCisJPiAkYworZG9uZQorCiBmb3IgaCBp biBgZmluZCBjcnlwdG8gc3NsIGFwcHMgdGVzdCAtbmFtZSAiKi5oImAgOyBkbwotCWVjaG8gUmVt b3ZpbmcgUkM1LCBTUlAgcmVmZXJlbmNlcyBmcm9tICRoCisJZWNobyBSZW1vdmluZyBSQzUsIFNS UCBhbmQgRUMyTSByZWZlcmVuY2VzIGZyb20gJGgKIAljYXQgJGggfCBcCiAJYXdrICAgICdCRUdJ TiB7ZWNoPTE7fSBcCiAJCS9eI1sgXHRdKmlmbmRlZi4qTk9fU1JQLyB7ZWNoLS07IG5leHQ7fSBc CiAJCS9eI1sgXHRdKmlmbmRlZi4qTk9fUkM1LyB7ZWNoLS07IG5leHQ7fSBcCisJCS9eI1sgXHRd KmlmbmRlZi4qTk9fRUMyTS8ge2VjaC0tOyBuZXh0O30gXAogICAgICAgICAgICAgICAgIC9eI1sg XHRdKmlmLyB7aWYoZWNoIDwgMSkgZWNoLS07fSBcCiAJCXtpZihlY2g+MCkgeztwcmludCAkMH07 fSBcCiAJCS9eI1sgXHRdKmVuZGlmLyB7aWYoZWNoIDwgMSkgZWNoKys7fScgPiAkaC5ob2JibGVk ICYmIFwKCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4xZS1maXBzLWN0b3IucGF0Y2ggYi9vcGVu c3NsLTEuMC4xZS1maXBzLWN0b3IucGF0Y2gKaW5kZXggMDEyMWRlYy4uNDQ1NzZlZiAxMDA2NDQK LS0tIGEvb3BlbnNzbC0xLjAuMWUtZmlwcy1jdG9yLnBhdGNoCisrKyBiL29wZW5zc2wtMS4wLjFl LWZpcHMtY3Rvci5wYXRjaApAQCAtMSw2ICsxLDYgQEAKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHMuYy5maXBzLWN0b3Igb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwcy5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5jLmZpcHMtY3Rvcgky MDEzLTA5LTIzIDE4OjA1OjE1LjczMTEzNjg2MyArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHMuYwkyMDEzLTA5LTIzIDE4OjE4OjI3Ljk1Mzk2OTc3MCArMDIwMAorLS0t IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuYy5maXBzLWN0b3IJMjAxMy0wOS0yNiAx Mzo1MjozMC43Njc4ODU0NTcgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzLmMJMjAxMy0wOS0yNiAxNDowMToyOS40MDYwMTAxODcgKzAyMDAKIEBAIC02MCw2ICs2MCw4 IEBACiAgI2luY2x1ZGUgPGRsZmNuLmg+CiAgI2luY2x1ZGUgPHN0ZGlvLmg+CkBAIC00NSw3ICs0 NSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuYy5maXBzLWN0 b3Igb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvCiAgCiAgCWhtYWNwYXRoID0gbWFrZV9obWFj X3BhdGgocGF0aCk7CiAgCWlmIChobWFjcGF0aCA9PSBOVUxMKQotQEAgLTM0MSw2ICszMzksNjQg QEAgZW5kOgorQEAgLTM0MSw2ICszMzksNTMgQEAgZW5kOgogIAlyZXR1cm4gMTsJCiAgfQogIApA QCAtODAsMzcgKzgwLDI2IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2Zp cHMuYy5maXBzLWN0b3Igb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvCiArCXJldHVybiAxOwog KyAgICB9CiArCisrI2lmbmRlZiBGSVBTX01PRFVMRV9QQVRICisrI2RlZmluZSBGSVBTX01PRFVM RV9QQVRIICIvZXRjL3N5c3RlbS1maXBzIgorKyNlbmRpZgorKwogK2ludAogK0ZJUFNfbW9kdWxl X2luc3RhbGxlZCh2b2lkKQogKyAgICB7Ci0rCWNoYXIgcGF0aFtQQVRIX01BWCsxXTsKLSsJaW50 IHJ2OwotKwljaGFyICpobWFjcGF0aCwgKnA7Ci0rCWNoYXIgKmhtYWMgPSBOVUxMOwotKwlzaXpl X3QgbjsKLSsJCi0rCXJ2ID0gZ2V0X2xpYnJhcnlfcGF0aCgibGliY3J5cHRvLnNvLiIgU0hMSUJf VkVSU0lPTl9OVU1CRVIsICJGSVBTX21vZGVfc2V0IiwgcGF0aCwgc2l6ZW9mKHBhdGgpKTsKKysg ICAgaW50IHJ2OworKyAgICBydiA9IGFjY2VzcyhGSVBTX01PRFVMRV9QQVRILCBGX09LKTsKKysg ICAgaWYgKHJ2IDwgMCAmJiBlcnJubyAhPSBFTk9FTlQpCisrCXJ2ID0gMDsKICsKLSsJaWYgKHJ2 IDwgMCkKLSsJCXJldHVybiAwOwotKwotKwlobWFjcGF0aCA9IG1ha2VfaG1hY19wYXRoKHBhdGgp OwotKwlpZiAoaG1hY3BhdGggPT0gTlVMTCkKLSsJCXJldHVybiAwOwotKwotKwlydiA9IGFjY2Vz cyhobWFjcGF0aCwgRl9PSyk7Ci0rCWlmIChydiA8IDAgJiYgZXJybm8gIT0gRU5PRU5UKQotKwkJ cnYgPSAwOwotKwotKyAgICAgICAgZnJlZShobWFjcGF0aCk7Ci0rCS8qIEluc3RhbGxlZCA9PSB0 cnVlICovCi0rCXJldHVybiAhcnY7CisrICAgIC8qIEluc3RhbGxlZCA9PSB0cnVlICovCisrICAg IHJldHVybiAhcnY7CiArICAgIH0KICsKICBpbnQgRklQU19tb2R1bGVfbW9kZV9zZXQoaW50IG9u b2ZmLCBjb25zdCBjaGFyICphdXRoKQogICAgICB7CiAgICAgIGludCByZXQgPSAwOwotQEAgLTM3 OSwxNSArNDM1LDcgQEAgaW50IEZJUFNfbW9kdWxlX21vZGVfc2V0KGludCBvbm9mZiwgY29ucwor QEAgLTM3OSwxNSArNDI0LDcgQEAgaW50IEZJUFNfbW9kdWxlX21vZGVfc2V0KGludCBvbm9mZiwg Y29ucwogIAl9CiAgI2VuZGlmCiAgCkBAIC0xMjgsOCArMTE3LDggQEAgZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5jLmZpcHMtY3RvciBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy8KICAJICAgIEZJUFNlcnIoRklQU19GX0ZJUFNfTU9EVUxFX01PREVfU0VULEZJUFNf Ul9GSU5HRVJQUklOVF9ET0VTX05PVF9NQVRDSCk7CiAgCSAgICBmaXBzX3NlbGZ0ZXN0X2ZhaWwg PSAxOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5oLmZpcHMtY3Rv ciBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmgKLS0tLSBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzLmguZmlwcy1jdG9yCTIwMTMtMDktMjMgMTg6MDU6MTUuNzM0MTM2OTMx ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5oCTIwMTMtMDktMjMg MTg6MDU6MTUuNzc1MTM3ODU0ICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwcy5oLmZpcHMtY3RvcgkyMDEzLTA5LTI2IDEzOjUyOjMwLjgxNDg4NjUxNSArMDIwMAorKysr IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaAkyMDEzLTA5LTI2IDEzOjUyOjMwLjgx Njg4NjU2MCArMDIwMAogQEAgLTc0LDYgKzc0LDcgQEAgc3RydWN0IGhtYWNfY3R4X3N0OwogIAog IGludCBGSVBTX21vZHVsZV9tb2RlX3NldChpbnQgb25vZmYsIGNvbnN0IGNoYXIgKmF1dGgpOwpA QCAtMTM5LDMzICsxMjgsMzcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwcy5oLmZpcHMtY3RvciBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy8KICBpbnQgRklQU19z ZWxmdGVzdCh2b2lkKTsKICBpbnQgRklQU19zZWxmdGVzdF9mYWlsZWQodm9pZCk7CiBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19pbml0LmMuZmlwcy1jdG9yIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9vX2luaXQuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9vX2luaXQuYy5maXBz LWN0b3IJMjAxMy0wOS0yMyAxODowNToxNS43NjIxMzc1NjEgKzAyMDAKLSsrKyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vb19pbml0LmMJMjAxMy0wOS0yMyAxODowNToxNS43NzYxMzc4NzYgKzAyMDAK LUBAIC03Myw2ICs3MywxMCBAQCBzdGF0aWMgdm9pZCBpbml0X2ZpcHNfbW9kZSh2b2lkKQorLS0t IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9vX2luaXQuYy5maXBzLWN0b3IJMjAxMy0wOS0yNiAxMzo1 MjozMC44MDc4ODYzNTcgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19pbml0LmMJ MjAxMy0wOS0yNiAxNDowMDoyMS4wMDAwMDAwMDAgKzAyMDAKK0BAIC03MSw2ICs3MSw5IEBAIHN0 YXRpYyB2b2lkIGluaXRfZmlwc19tb2RlKHZvaWQpCiAgCWNoYXIgYnVmWzJdID0gIjAiOwogIAlp bnQgZmQ7CiAgCQotKwkvKiBFbnN1cmUgdGhlIHNlbGZ0ZXN0cyBhbHdheXMgcnVuIGFuZCBhYm9y dCBvbiBlcnJvciAqLworKwkvKiBFbnN1cmUgdGhlIHNlbGZ0ZXN0cyBhbHdheXMgcnVuICovCiAr CUZJUFNfbW9kZV9zZXQoMSk7Ci0rCUZJUFNfc2VsZnRlc3RfY2hlY2soKTsKICsKICAJaWYgKHNl Y3VyZV9nZXRlbnYoIk9QRU5TU0xfRk9SQ0VfRklQU19NT0RFIikgIT0gTlVMTCkKICAJCXsKICAJ CWJ1ZlswXSA9ICcxJzsKLUBAIC04Nyw5ICs5MSwxMCBAQCBzdGF0aWMgdm9pZCBpbml0X2ZpcHNf bW9kZSh2b2lkKQorQEAgLTg1LDkgKzg4LDE1IEBAIHN0YXRpYyB2b2lkIGluaXRfZmlwc19tb2Rl KHZvaWQpCiAgCSAqIG90aGVyd2lzZS4gCiAgCSAqLwogIAkKIC0JaWYgKGJ1ZlswXSA9PSAnMScp CiArCWlmIChidWZbMF0gIT0gJzEnKQotIAkJewotLQkJRklQU19tb2RlX3NldCgxKTsKKysJCXsK ICsJCS8qIGRyb3AgZG93biB0byBub24tRklQUyBtb2RlIGlmIGl0IGlzIG5vdCByZXF1ZXN0ZWQg Ki8KICsJCUZJUFNfbW9kZV9zZXQoMCk7CisrCQl9CisrCWVsc2UKKyAJCXsKKy0JCUZJUFNfbW9k ZV9zZXQoMSk7CisrCQkvKiBhYm9ydCBpZiBzZWxmdGVzdCBmYWlsZWQgKi8KKysJCUZJUFNfc2Vs ZnRlc3RfY2hlY2soKTsKICAJCX0KICAJfQogICNlbmRpZgotQEAgLTk4LDEzICsxMDMsMTcgQEAg c3RhdGljIHZvaWQgaW5pdF9maXBzX21vZGUodm9pZCkKK0BAIC05NiwxMyArMTA1LDE3IEBAIHN0 YXRpYyB2b2lkIGluaXRfZmlwc19tb2RlKHZvaWQpCiAgICogQ3VycmVudGx5IG9ubHkgc2V0cyBG SVBTIGNhbGxiYWNrcwogICAqLwogIAoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4wLjFlLWZpcHMt ZWMucGF0Y2ggYi9vcGVuc3NsLTEuMC4xZS1maXBzLWVjLnBhdGNoCmluZGV4IGU2MzVkZGUuLjU2 N2UxZGIgMTAwNjQ0Ci0tLSBhL29wZW5zc2wtMS4wLjFlLWZpcHMtZWMucGF0Y2gKKysrIGIvb3Bl bnNzbC0xLjAuMWUtZmlwcy1lYy5wYXRjaApAQCAtMSwyNyArMSwyMjAgQEAKLWRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lYzJfc21wbC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2VjL2VjMl9zbXBsLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWMyX3Nt cGwuYy5maXBzLWVjCTIwMTMtMTAtMTUgMDE6MTA6NTcuNDcyNTQ2NzUzICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjMl9zbXBsLmMJMjAxMy0xMC0xNSAwMToxMToxMC4zNDY1 MjkwMTEgKzAxMDAKLUBAIC04MCw5ICs4MCw2IEBACitkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZWNkaC9lY2RoLmguZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2Ro LmgKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2RoLmguZmlwcy1lYwkyMDEzLTA1 LTAzIDEyOjE5OjU5LjI0ODMwMTY0MiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9l Y2RoL2VjZGguaAkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk3NTMxNzI4OSArMDIwMAorQEAgLTg1LDYg Kzg1LDggQEAKKyBleHRlcm4gIkMiIHsKKyAjZW5kaWYKKyAKKysjZGVmaW5lIEVDX0ZMQUdfQ09G QUNUT1JfRUNESAkweDEwMDAKKysKKyBjb25zdCBFQ0RIX01FVEhPRCAqRUNESF9PcGVuU1NMKHZv aWQpOworIAorIHZvaWQJICBFQ0RIX3NldF9kZWZhdWx0X21ldGhvZChjb25zdCBFQ0RIX01FVEhP RCAqKTsKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjZGh0ZXN0LmMuZmlw cy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2RodGVzdC5jCistLS0gb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2VjZGgvZWNkaHRlc3QuYy5maXBzLWVjCTIwMTMtMDItMTEgMTY6MjY6MDQu MDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNkaHRlc3Qu YwkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk3NTMxNzI4OSArMDIwMAorQEAgLTMyMywxMSArMzIzLDE1 IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCWlmICgoY3R4PUJOX0NUWF9u ZXcoKSkgPT0gTlVMTCkgZ290byBlcnI7CiAgCi0gY29uc3QgRUNfTUVUSE9EICpFQ19HRjJtX3Np bXBsZV9tZXRob2Qodm9pZCkKKyAJLyogTklTVCBQUklNRSBDVVJWRVMgVEVTVFMgKi8KKysjaWYg MAorIAlpZiAoIXRlc3RfZWNkaF9jdXJ2ZShOSURfWDlfNjJfcHJpbWUxOTJ2MSwgIk5JU1QgUHJp bWUtQ3VydmUgUC0xOTIiLCBjdHgsIG91dCkpIGdvdG8gZXJyOworIAlpZiAoIXRlc3RfZWNkaF9j dXJ2ZShOSURfc2VjcDIyNHIxLCAiTklTVCBQcmltZS1DdXJ2ZSBQLTIyNCIsIGN0eCwgb3V0KSkg Z290byBlcnI7CisrI2VuZGlmCisgCWlmICghdGVzdF9lY2RoX2N1cnZlKE5JRF9YOV82Ml9wcmlt ZTI1NnYxLCAiTklTVCBQcmltZS1DdXJ2ZSBQLTI1NiIsIGN0eCwgb3V0KSkgZ290byBlcnI7Cisg CWlmICghdGVzdF9lY2RoX2N1cnZlKE5JRF9zZWNwMzg0cjEsICJOSVNUIFByaW1lLUN1cnZlIFAt Mzg0IiwgY3R4LCBvdXQpKSBnb3RvIGVycjsKKysjaWYgMAorIAlpZiAoIXRlc3RfZWNkaF9jdXJ2 ZShOSURfc2VjcDUyMXIxLCAiTklTVCBQcmltZS1DdXJ2ZSBQLTUyMSIsIGN0eCwgb3V0KSkgZ290 byBlcnI7CisrI2VuZGlmCisgI2lmbmRlZiBPUEVOU1NMX05PX0VDMk0KKyAJLyogTklTVCBCSU5B UlkgQ1VSVkVTIFRFU1RTICovCisgCWlmICghdGVzdF9lY2RoX2N1cnZlKE5JRF9zZWN0MTYzazEs ICJOSVNUIEJpbmFyeS1DdXJ2ZSBLLTE2MyIsIGN0eCwgb3V0KSkgZ290byBlcnI7CitkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2hfbGliLmMuZmlwcy1lYyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZWNkaC9lY2hfbGliLmMKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNk aC9lY2hfbGliLmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAor KysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjaF9saWIuYwkyMDEzLTA1LTAzIDEyOjE5 OjU5Ljk3NjMxNzMxMSArMDIwMAorQEAgLTk0LDE0ICs5NCw3IEBAIGNvbnN0IEVDREhfTUVUSE9E ICpFQ0RIX2dldF9kZWZhdWx0X21ldGgKICAJeworIAlpZighZGVmYXVsdF9FQ0RIX21ldGhvZCkg CisgCQl7CiAtI2lmZGVmIE9QRU5TU0xfRklQUwotLQlyZXR1cm4gZmlwc19lY19nZjJtX3NpbXBs ZV9tZXRob2QoKTsKKy0JCWlmIChGSVBTX21vZGUoKSkKKy0JCQlyZXR1cm4gRklQU19lY2RoX29w ZW5zc2woKTsKKy0JCWVsc2UKKy0JCQlyZXR1cm4gRUNESF9PcGVuU1NMKCk7CiAtI2Vsc2UKLSAJ c3RhdGljIGNvbnN0IEVDX01FVEhPRCByZXQgPSB7Ci0gCQlFQ19GTEFHU19ERUZBVUxUX09DVCwK LSAJCU5JRF9YOV82Ml9jaGFyYWN0ZXJpc3RpY190d29fZmllbGQsCi1AQCAtMTI2LDcgKzEyMyw2 IEBAIGNvbnN0IEVDX01FVEhPRCAqRUNfR0YybV9zaW1wbGVfbWV0aG9kKHYKLSAJCTAgLyogZmll bGRfc2V0X3RvX29uZSAqLyB9OwotIAotIAlyZXR1cm4gJnJldDsKKyAJCWRlZmF1bHRfRUNESF9t ZXRob2QgPSBFQ0RIX09wZW5TU0woKTsKIC0jZW5kaWYKKyAJCX0KKyAJcmV0dXJuIGRlZmF1bHRf RUNESF9tZXRob2Q7CiAgCX0KK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2Vj aF9vc3NsLmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2hfb3NzbC5jCist LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNoX29zc2wuYy5maXBzLWVjCTIwMTMtMDIt MTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Vj ZGgvZWNoX29zc2wuYwkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk3NjMxNzMxMSArMDIwMAorQEAgLTc5 LDYgKzc5LDEwIEBACisgI2luY2x1ZGUgPG9wZW5zc2wvb2JqX21hYy5oPgorICNpbmNsdWRlIDxv cGVuc3NsL2JuLmg+CisgCisrI2lmZGVmIE9QRU5TU0xfRklQUworKyNpbmNsdWRlIDxvcGVuc3Ns L2ZpcHMuaD4KKysjZW5kaWYKKysKKyBzdGF0aWMgaW50IGVjZGhfY29tcHV0ZV9rZXkodm9pZCAq b3V0LCBzaXplX3QgbGVuLCBjb25zdCBFQ19QT0lOVCAqcHViX2tleSwKKyAJRUNfS0VZICplY2Ro LCAKKyAJdm9pZCAqKCpLREYpKGNvbnN0IHZvaWQgKmluLCBzaXplX3QgaW5sZW4sIHZvaWQgKm91 dCwgc2l6ZV90ICpvdXRsZW4pKTsKK0BAIC05MCw3ICs5NCw3IEBAIHN0YXRpYyBFQ0RIX01FVEhP RCBvcGVuc3NsX2VjZGhfbWV0aCA9IHsKKyAJTlVMTCwgLyogaW5pdCAgICAgKi8KKyAJTlVMTCwg LyogZmluaXNoICAgKi8KKyAjZW5kaWYKKy0JMCwgICAgLyogZmxhZ3MgICAgKi8KKysJRUNESF9G TEFHX0ZJUFNfTUVUSE9ELCAgICAvKiBmbGFncyAgICAqLworIAlOVUxMICAvKiBhcHBfZGF0YSAq LworIH07CiAgCitAQCAtMTE4LDYgKzEyMiwxNCBAQCBzdGF0aWMgaW50IGVjZGhfY29tcHV0ZV9r ZXkodm9pZCAqb3V0LCBzCisgCXNpemVfdCBidWZsZW4sIGxlbjsKKyAJdW5zaWduZWQgY2hhciAq YnVmPU5VTEw7CiAgCisrI2lmZGVmIE9QRU5TU0xfRklQUworKwlpZihGSVBTX3NlbGZ0ZXN0X2Zh aWxlZCgpKQorKwkJeworKwkJRklQU2VycihGSVBTX0ZfRUNESF9DT01QVVRFX0tFWSxGSVBTX1Jf RklQU19TRUxGVEVTVF9GQUlMRUQpOworKwkJcmV0dXJuIC0xOworKwkJfQorKyNlbmRpZgorKwor IAlpZiAob3V0bGVuID4gSU5UX01BWCkKKyAJCXsKKyAJCUVDREhlcnIoRUNESF9GX0VDREhfQ09N UFVURV9LRVksRVJSX1JfTUFMTE9DX0ZBSUxVUkUpOyAvKiBzb3J0IG9mLCBhbnl3YXkgKi8KK0BA IC0xMzcsNiArMTQ5LDE4IEBAIHN0YXRpYyBpbnQgZWNkaF9jb21wdXRlX2tleSh2b2lkICpvdXQs IHMKKyAJCX0KKyAKKyAJZ3JvdXAgPSBFQ19LRVlfZ2V0MF9ncm91cChlY2RoKTsKKysKKysJaWYg KEVDX0tFWV9nZXRfZmxhZ3MoZWNkaCkgJiBFQ19GTEFHX0NPRkFDVE9SX0VDREgpCisrCQl7Cisr CQlpZiAoIUVDX0dST1VQX2dldF9jb2ZhY3Rvcihncm91cCwgeCwgY3R4KSB8fAorKwkJCSFCTl9t dWwoeCwgeCwgcHJpdl9rZXksIGN0eCkpCisrCQkJeworKwkJCUVDREhlcnIoRUNESF9GX0VDREhf Q09NUFVURV9LRVksIEVSUl9SX01BTExPQ19GQUlMVVJFKTsKKysJCQlnb3RvIGVycjsKKysJCQl9 CisrCQlwcml2X2tleSA9IHg7CisrCQl9CisrCisgCWlmICgodG1wPUVDX1BPSU5UX25ldyhncm91 cCkpID09IE5VTEwpCisgCQl7CisgCQlFQ0RIZXJyKEVDREhfRl9FQ0RIX0NPTVBVVEVfS0VZLEVS Ul9SX01BTExPQ19GQUlMVVJFKTsKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2Rz YS9lY2RzYXRlc3QuYy5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY2RzYXRl c3QuYworLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY2RzYXRlc3QuYy5maXBzLWVj CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2VjZHNhL2VjZHNhdGVzdC5jCTIwMTMtMDUtMDMgMTI6MTk6NTkuOTc2MzE3MzExICsw MjAwCitAQCAtMTM4LDExICsxMzgsMTQgQEAgaW50IHJlc3RvcmVfcmFuZCh2b2lkKQorIAl9Cisg Cisgc3RhdGljIGludCBmYnl0ZXNfY291bnRlciA9IDA7Cistc3RhdGljIGNvbnN0IGNoYXIgKm51 bWJlcnNbOF0gPSB7Cisrc3RhdGljIGNvbnN0IGNoYXIgKm51bWJlcnNbMTBdID0geworKwkiNjUx MDU2NzcwOTA2MDE1MDc2MDU2ODEwNzYzNDU2MzU4NTY3MTkwMTAwMTU2Njk1NjE1NjY1NjU5IiwK KyAJIjY1MTA1Njc3MDkwNjAxNTA3NjA1NjgxMDc2MzQ1NjM1ODU2NzE5MDEwMDE1NjY5NTYxNTY2 NTY1OSIsCisgCSI2MTQwNTA3MDY3MDY1MDAxMDYzMDY1MDY1NTY1NjY3NDA1NTYwMDA2MTYxNTU2 NTY1NjY1NjU2NjU0IiwKKyAJIjg3NjMwMDEwMTUwNzEwNzU2NzUwMTA2NjEzMDc2MTY3MTA3ODM1 NzAxMDY3MTA2Nzc4MTc3NjcxNjYiCisgCSI3MTY3NjE3ODcyNjcxNyIsCisrCSI4NzYzMDAxMDE1 MDcxMDc1Njc1MDEwNjYxMzA3NjE2NzEwNzgzNTcwMTA2NzEwNjc3ODE3NzY3MTY2IgorKwkiNzE2 NzYxNzg3MjY3MTciLAorIAkiNzAwMDAwMDE3NTY5MDU2NjQ2NjU1NTA1NzgxNzU3MTU3MTA3NTcw NTAxNTc1Nzc1NzA1Nzc5NTc1NSIKKyAJIjU1NjU3MTU2NzU2NjU1IiwKKyAJIjEyNzU1NTIxOTEx MTMyMTIzMDAwMTIwMzA0MzkxODcxNDYxNjQ2NDYxNDY2NDY0NjY3NDk0OTQ3OTkiLAorQEAgLTE1 Nyw3ICsxNjAsNyBAQCBpbnQgZmJ5dGVzKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IG51bSkKKyAJ aW50CXJldDsKKyAJQklHTlVNCSp0bXAgPSBOVUxMOworIAorLQlpZiAoZmJ5dGVzX2NvdW50ZXIg Pj0gOCkKKysJaWYgKGZieXRlc19jb3VudGVyID49IDEwKQorIAkJcmV0dXJuIDA7CisgCXRtcCA9 IEJOX25ldygpOworIAlpZiAoIXRtcCkKK0BAIC01NTAsNyArNTUzLDkgQEAgaW50IG1haW4odm9p ZCkKKyAJUkFORF9zZWVkKHJuZF9zZWVkLCBzaXplb2Yocm5kX3NlZWQpKTsKKyAKKyAJLyogdGhl IHRlc3RzICovCisrI2lmIDAKKyAJaWYgKCF4OV82Ml90ZXN0cyhvdXQpKSAgZ290byBlcnI7Cisr I2VuZGlmCisgCWlmICghdGVzdF9idWlsdGluKG91dCkpIGdvdG8gZXJyOworIAkKKyAJcmV0ID0g MDsKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3NfbGliLmMuZmlwcy1l YyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNzX2xpYi5jCistLS0gb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2VjZHNhL2Vjc19saWIuYy5maXBzLWVjCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAw MDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZHNhL2Vjc19saWIuYwky MDEzLTA1LTAzIDEyOjE5OjU5Ljk3NzMxNzMzMyArMDIwMAorQEAgLTgxLDE0ICs4MSw3IEBAIGNv bnN0IEVDRFNBX01FVEhPRCAqRUNEU0FfZ2V0X2RlZmF1bHRfbWUKKyB7CisgCWlmKCFkZWZhdWx0 X0VDRFNBX21ldGhvZCkgCisgCQl7CistI2lmZGVmIE9QRU5TU0xfRklQUworLQkJaWYgKEZJUFNf bW9kZSgpKQorLQkJCXJldHVybiBGSVBTX2VjZHNhX29wZW5zc2woKTsKKy0JCWVsc2UKKy0JCQly ZXR1cm4gRUNEU0FfT3BlblNTTCgpOworLSNlbHNlCisgCQlkZWZhdWx0X0VDRFNBX21ldGhvZCA9 IEVDRFNBX09wZW5TU0woKTsKKy0jZW5kaWYKKyAJCX0KKyAJcmV0dXJuIGRlZmF1bHRfRUNEU0Ff bWV0aG9kOworIH0KK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3Nfb3Nz bC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZHNhL2Vjc19vc3NsLmMKKy0tLSBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2EvZWNzX29zc2wuYy5maXBzLWVjCTIwMTMtMDItMTEg MTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZHNh L2Vjc19vc3NsLmMJMjAxMy0wNS0wMyAxMjoxOTo1OS45NzczMTczMzMgKzAyMDAKK0BAIC02MCw2 ICs2MCw5IEBACisgI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+CisgI2luY2x1ZGUgPG9wZW5zc2wv b2JqX21hYy5oPgorICNpbmNsdWRlIDxvcGVuc3NsL2JuLmg+CisrI2lmZGVmIE9QRU5TU0xfRklQ UworKyNpbmNsdWRlIDxvcGVuc3NsL2ZpcHMuaD4KKysjZW5kaWYKKyAKKyBzdGF0aWMgRUNEU0Ff U0lHICplY2RzYV9kb19zaWduKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRnc3QsIGludCBkbGVuLCAK KyAJCWNvbnN0IEJJR05VTSAqLCBjb25zdCBCSUdOVU0gKiwgRUNfS0VZICplY2tleSk7CitAQCAt NzcsNyArODAsNyBAQCBzdGF0aWMgRUNEU0FfTUVUSE9EIG9wZW5zc2xfZWNkc2FfbWV0aCA9Cisg CU5VTEwsIC8qIGluaXQgICAgICovCisgCU5VTEwsIC8qIGZpbmlzaCAgICovCisgI2VuZGlmCist CTAsICAgIC8qIGZsYWdzICAgICovCisrCUVDRFNBX0ZMQUdfRklQU19NRVRIT0QsICAgIC8qIGZs YWdzICAgICovCisgCU5VTEwgIC8qIGFwcF9kYXRhICovCisgfTsKKyAKK0BAIC0yMzEsNiArMjM0 LDE0IEBAIHN0YXRpYyBFQ0RTQV9TSUcgKmVjZHNhX2RvX3NpZ24oY29uc3QgdW4KKyAJRUNEU0Ff REFUQSAqZWNkc2E7CisgCWNvbnN0IEJJR05VTSAqcHJpdl9rZXk7CisgCisrI2lmZGVmIE9QRU5T U0xfRklQUworKwlpZihGSVBTX3NlbGZ0ZXN0X2ZhaWxlZCgpKQorKwkJeworKwkJRklQU2VycihG SVBTX0ZfRUNEU0FfRE9fU0lHTixGSVBTX1JfRklQU19TRUxGVEVTVF9GQUlMRUQpOworKwkJcmV0 dXJuIE5VTEw7CisrCQl9CisrI2VuZGlmCisrCisgCWVjZHNhICAgID0gZWNkc2FfY2hlY2soZWNr ZXkpOworIAlncm91cCAgICA9IEVDX0tFWV9nZXQwX2dyb3VwKGVja2V5KTsKKyAJcHJpdl9rZXkg PSBFQ19LRVlfZ2V0MF9wcml2YXRlX2tleShlY2tleSk7CitAQCAtMzYwLDYgKzM3MSwxNCBAQCBz dGF0aWMgaW50IGVjZHNhX2RvX3ZlcmlmeShjb25zdCB1bnNpZ25lCisgCWNvbnN0IEVDX0dST1VQ ICpncm91cDsKKyAJY29uc3QgRUNfUE9JTlQgKnB1Yl9rZXk7CisgCisrI2lmZGVmIE9QRU5TU0xf RklQUworKwlpZihGSVBTX3NlbGZ0ZXN0X2ZhaWxlZCgpKQorKwkJeworKwkJRklQU2VycihGSVBT X0ZfRUNEU0FfRE9fVkVSSUZZLEZJUFNfUl9GSVBTX1NFTEZURVNUX0ZBSUxFRCk7CisrCQlyZXR1 cm4gLTE7CisrCQl9CisrI2VuZGlmCisrCisgCS8qIGNoZWNrIGlucHV0IHZhbHVlcyAqLworIAlp ZiAoZWNrZXkgPT0gTlVMTCB8fCAoZ3JvdXAgPSBFQ19LRVlfZ2V0MF9ncm91cChlY2tleSkpID09 IE5VTEwgfHwKKyAJICAgIChwdWJfa2V5ID0gRUNfS0VZX2dldDBfcHVibGljX2tleShlY2tleSkp ID09IE5VTEwgfHwgc2lnID09IE5VTEwpCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZWMvZWNfa2V5LmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNfa2V5LmMKLS0t LSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNfa2V5LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE1 OjI2OjA0LjAwMDAwMDAwMCArMDAwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY19r ZXkuYwkyMDEzLTEwLTE1IDAxOjA4OjA2LjA0Njc4MzE0OCArMDEwMAorLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9lYy9lY19rZXkuYy5maXBzLWVjCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAw MDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjX2tleS5jCTIwMTMtMDUt MDMgMTI6MTk6NTkuOTc4MzE3MzU0ICswMjAwCiBAQCAtNjQsOSArNjQsNiBAQAogICNpbmNsdWRl IDxzdHJpbmcuaD4KICAjaW5jbHVkZSAiZWNfbGNsLmgiCkBAIC0xMTksOCArMzEyLDggQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjX2tleS5jLmZpcHMtZWMgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2VjL2VjX2sKICAJCUVDZXJyKEVDX0ZfRUNfS0VZX1NFVF9QVUJMSUNfS0VZ X0FGRklORV9DT09SRElOQVRFUywKICAJCQlFQ19SX0NPT1JESU5BVEVTX09VVF9PRl9SQU5HRSk7 CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNwX21vbnQuYy5maXBzLWVjIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3BfbW9udC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2VjL2VjcF9tb250LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE1OjI2OjA0LjAwMDAwMDAwMCAr MDAwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3BfbW9udC5jCTIwMTMtMTAtMTUg MDE6MDg6MDYuMDQ3NzgzMTQ2ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2Vj cF9tb250LmMuZmlwcy1lYwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAorKysr IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3BfbW9udC5jCTIwMTMtMDUtMDMgMTI6MTk6NTku OTc4MzE3MzU0ICswMjAwCiBAQCAtNjMsMTggKzYzLDExIEBACiAgCiAgI2luY2x1ZGUgPG9wZW5z c2wvZXJyLmg+CkBAIC0xNDksOCArMzQyLDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2VjL2VjcF9tb250LmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWMKICAK ICAKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lYy9lY3BfbmlzdC5jLmZpcHMtZWMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjcF9uaXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZWMvZWNwX25pc3QuYy5maXBzLWVjCTIwMTMtMDItMTEgMTU6MjY6MDQuMDAwMDAwMDAw ICswMDAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjcF9uaXN0LmMJMjAxMy0xMC0x NSAwMTowODowNi4wNDc3ODMxNDYgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMv ZWNwX25pc3QuYy5maXBzLWVjCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCisr Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjcF9uaXN0LmMJMjAxMy0wNS0wMyAxMjoxOTo1 OS45NzgzMTczNTQgKzAyMDAKIEBAIC02NywxNSArNjcsOCBAQAogICNpbmNsdWRlIDxvcGVuc3Ns L29ial9tYWMuaD4KICAjaW5jbHVkZSAiZWNfbGNsLmgiCkBAIC0xNzYsOCArMzY5LDggQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2VjcF9uaXN0LmMuZmlwcy1lYyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZWMvZWMKICAKICBpbnQgZWNfR0ZwX25pc3RfZ3JvdXBfY29weShFQ19H Uk9VUCAqZGVzdCwgY29uc3QgRUNfR1JPVVAgKnNyYykKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9lYy9lY3Bfc21wbC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjL2Vj cF9zbXBsLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNwX3NtcGwuYy5maXBzLWVj CTIwMTMtMDItMTEgMTU6MjY6MDQuMDAwMDAwMDAwICswMDAwCi0rKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2VjL2VjcF9zbXBsLmMJMjAxMy0xMC0xNSAwMTowODowNi4wNDc3ODMxNDYgKzAxMDAK Ky0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWMvZWNwX3NtcGwuYy5maXBzLWVjCTIwMTMtMDIt MTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Vj L2VjcF9zbXBsLmMJMjAxMy0wNS0wMyAxMjoxOTo1OS45NzkzMTczNzYgKzAyMDAKIEBAIC02NSwx NyArNjUsMTAgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9lcnIuaD4KICAjaW5jbHVkZSA8b3BlbnNz bC9zeW1oYWNrcy5oPgpAQCAtMTk3LDIzMCArMzkwLDI5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9lYy9lY3Bfc21wbC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Vj L2VjCiAgCQlFQ19GTEFHU19ERUZBVUxUX09DVCwKICAJCU5JRF9YOV82Ml9wcmltZV9maWVsZCwK IEBAIC0xMTYsNyArMTA5LDYgQEAgY29uc3QgRUNfTUVUSE9EICpFQ19HRnBfc2ltcGxlX21ldGhv ZCh2bwotIAkJMCAvKiBmaWVsZF9zZXRfdG9fb25lICovIH07Ci0gCi0gCXJldHVybiAmcmV0Owot LSNlbmRpZgotIAl9Ci0gCi0gCi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9l Y2RoLmguZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2RoLmgKLS0tLSBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2RoLmguZmlwcy1lYwkyMDEzLTEwLTE1IDAxOjA4OjA1 Ljc0ODc4MzU1OSArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjZGguaAky MDEzLTEwLTE1IDAxOjA4OjA2LjA0Njc4MzE0OCArMDEwMAotQEAgLTg1LDYgKzg1LDggQEAKLSBl eHRlcm4gIkMiIHsKLSAjZW5kaWYKLSAKLSsjZGVmaW5lIEVDX0ZMQUdfQ09GQUNUT1JfRUNESAkw eDEwMDAKLSsKLSBjb25zdCBFQ0RIX01FVEhPRCAqRUNESF9PcGVuU1NMKHZvaWQpOwotIAotIHZv aWQJICBFQ0RIX3NldF9kZWZhdWx0X21ldGhvZChjb25zdCBFQ0RIX01FVEhPRCAqKTsKLWRpZmYg LXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjZGh0ZXN0LmMuZmlwcy1lYyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZWNkaC9lY2RodGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2VjZGgvZWNkaHRlc3QuYy5maXBzLWVjCTIwMTMtMDItMTEgMTU6MjY6MDQuMDAwMDAwMDAwICsw MDAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNkaHRlc3QuYwkyMDEzLTEwLTE1 IDAxOjA4OjA2LjA0Njc4MzE0OCArMDEwMAotQEAgLTMyMywxMSArMzIzLDE1IEBAIGludCBtYWlu KGludCBhcmdjLCBjaGFyICphcmd2W10pCi0gCWlmICgoY3R4PUJOX0NUWF9uZXcoKSkgPT0gTlVM TCkgZ290byBlcnI7Ci0gCi0gCS8qIE5JU1QgUFJJTUUgQ1VSVkVTIFRFU1RTICovCi0rI2lmIDAK LSAJaWYgKCF0ZXN0X2VjZGhfY3VydmUoTklEX1g5XzYyX3ByaW1lMTkydjEsICJOSVNUIFByaW1l LUN1cnZlIFAtMTkyIiwgY3R4LCBvdXQpKSBnb3RvIGVycjsKLSAJaWYgKCF0ZXN0X2VjZGhfY3Vy dmUoTklEX3NlY3AyMjRyMSwgIk5JU1QgUHJpbWUtQ3VydmUgUC0yMjQiLCBjdHgsIG91dCkpIGdv dG8gZXJyOwotKyNlbmRpZgotIAlpZiAoIXRlc3RfZWNkaF9jdXJ2ZShOSURfWDlfNjJfcHJpbWUy NTZ2MSwgIk5JU1QgUHJpbWUtQ3VydmUgUC0yNTYiLCBjdHgsIG91dCkpIGdvdG8gZXJyOwotIAlp ZiAoIXRlc3RfZWNkaF9jdXJ2ZShOSURfc2VjcDM4NHIxLCAiTklTVCBQcmltZS1DdXJ2ZSBQLTM4 NCIsIGN0eCwgb3V0KSkgZ290byBlcnI7Ci0rI2lmIDAKLSAJaWYgKCF0ZXN0X2VjZGhfY3VydmUo TklEX3NlY3A1MjFyMSwgIk5JU1QgUHJpbWUtQ3VydmUgUC01MjEiLCBjdHgsIG91dCkpIGdvdG8g ZXJyOwotKyNlbmRpZgotICNpZm5kZWYgT1BFTlNTTF9OT19FQzJNCi0gCS8qIE5JU1QgQklOQVJZ IENVUlZFUyBURVNUUyAqLwotIAlpZiAoIXRlc3RfZWNkaF9jdXJ2ZShOSURfc2VjdDE2M2sxLCAi TklTVCBCaW5hcnktQ3VydmUgSy0xNjMiLCBjdHgsIG91dCkpIGdvdG8gZXJyOwotZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNoX2xpYi5jLmZpcHMtZWMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2VjZGgvZWNoX2xpYi5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgv ZWNoX2xpYi5jLmZpcHMtZWMJMjAxMy0wMi0xMSAxNToyNjowNC4wMDAwMDAwMDAgKzAwMDAKLSsr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkaC9lY2hfbGliLmMJMjAxMy0xMC0xNSAwMTowODow Ni4wNDY3ODMxNDggKzAxMDAKLUBAIC05NCwxNCArOTQsNyBAQCBjb25zdCBFQ0RIX01FVEhPRCAq RUNESF9nZXRfZGVmYXVsdF9tZXRoCi0gCXsKLSAJaWYoIWRlZmF1bHRfRUNESF9tZXRob2QpIAot IAkJewotLSNpZmRlZiBPUEVOU1NMX0ZJUFMKLS0JCWlmIChGSVBTX21vZGUoKSkKLS0JCQlyZXR1 cm4gRklQU19lY2RoX29wZW5zc2woKTsKLS0JCWVsc2UKLS0JCQlyZXR1cm4gRUNESF9PcGVuU1NM KCk7Ci0tI2Vsc2UKLSAJCWRlZmF1bHRfRUNESF9tZXRob2QgPSBFQ0RIX09wZW5TU0woKTsKLS0j ZW5kaWYKLSAJCX0KLSAJcmV0dXJuIGRlZmF1bHRfRUNESF9tZXRob2Q7Ci0gCX0KLWRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RoL2VjaF9vc3NsLmMuZmlwcy1lYyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZWNkaC9lY2hfb3NzbC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Vj ZGgvZWNoX29zc2wuYy5maXBzLWVjCTIwMTMtMDItMTEgMTU6MjY6MDQuMDAwMDAwMDAwICswMDAw Ci0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZGgvZWNoX29zc2wuYwkyMDEzLTEwLTE1IDAx OjA4OjA2LjA0Njc4MzE0OCArMDEwMAotQEAgLTc5LDYgKzc5LDEwIEBACi0gI2luY2x1ZGUgPG9w ZW5zc2wvb2JqX21hYy5oPgotICNpbmNsdWRlIDxvcGVuc3NsL2JuLmg+Ci0gCi0rI2lmZGVmIE9Q RU5TU0xfRklQUwotKyNpbmNsdWRlIDxvcGVuc3NsL2ZpcHMuaD4KLSsjZW5kaWYKLSsKLSBzdGF0 aWMgaW50IGVjZGhfY29tcHV0ZV9rZXkodm9pZCAqb3V0LCBzaXplX3QgbGVuLCBjb25zdCBFQ19Q T0lOVCAqcHViX2tleSwKLSAJRUNfS0VZICplY2RoLCAKLSAJdm9pZCAqKCpLREYpKGNvbnN0IHZv aWQgKmluLCBzaXplX3QgaW5sZW4sIHZvaWQgKm91dCwgc2l6ZV90ICpvdXRsZW4pKTsKLUBAIC05 MCw3ICs5NCw3IEBAIHN0YXRpYyBFQ0RIX01FVEhPRCBvcGVuc3NsX2VjZGhfbWV0aCA9IHsKLSAJ TlVMTCwgLyogaW5pdCAgICAgKi8KLSAJTlVMTCwgLyogZmluaXNoICAgKi8KLSAjZW5kaWYKLS0J MCwgICAgLyogZmxhZ3MgICAgKi8KLSsJRUNESF9GTEFHX0ZJUFNfTUVUSE9ELCAgICAvKiBmbGFn cyAgICAqLwotIAlOVUxMICAvKiBhcHBfZGF0YSAqLwotIH07Ci0gCi1AQCAtMTE4LDYgKzEyMiwx NCBAQCBzdGF0aWMgaW50IGVjZGhfY29tcHV0ZV9rZXkodm9pZCAqb3V0LCBzCi0gCXNpemVfdCBi dWZsZW4sIGxlbjsKLSAJdW5zaWduZWQgY2hhciAqYnVmPU5VTEw7Ci0gCi0rI2lmZGVmIE9QRU5T U0xfRklQUwotKwlpZihGSVBTX3NlbGZ0ZXN0X2ZhaWxlZCgpKQotKwkJewotKwkJRklQU2VycihG SVBTX0ZfRUNESF9DT01QVVRFX0tFWSxGSVBTX1JfRklQU19TRUxGVEVTVF9GQUlMRUQpOwotKwkJ cmV0dXJuIC0xOwotKwkJfQotKyNlbmRpZgotKwotIAlpZiAob3V0bGVuID4gSU5UX01BWCkKLSAJ CXsKLSAJCUVDREhlcnIoRUNESF9GX0VDREhfQ09NUFVURV9LRVksRVJSX1JfTUFMTE9DX0ZBSUxV UkUpOyAvKiBzb3J0IG9mLCBhbnl3YXkgKi8KLUBAIC0xMzcsNiArMTQ5LDE4IEBAIHN0YXRpYyBp bnQgZWNkaF9jb21wdXRlX2tleSh2b2lkICpvdXQsIHMKLSAJCX0KLSAKLSAJZ3JvdXAgPSBFQ19L RVlfZ2V0MF9ncm91cChlY2RoKTsKLSsKLSsJaWYgKEVDX0tFWV9nZXRfZmxhZ3MoZWNkaCkgJiBF Q19GTEFHX0NPRkFDVE9SX0VDREgpCi0rCQl7Ci0rCQlpZiAoIUVDX0dST1VQX2dldF9jb2ZhY3Rv cihncm91cCwgeCwgY3R4KSB8fAotKwkJCSFCTl9tdWwoeCwgeCwgcHJpdl9rZXksIGN0eCkpCi0r CQkJewotKwkJCUVDREhlcnIoRUNESF9GX0VDREhfQ09NUFVURV9LRVksIEVSUl9SX01BTExPQ19G QUlMVVJFKTsKLSsJCQlnb3RvIGVycjsKLSsJCQl9Ci0rCQlwcml2X2tleSA9IHg7Ci0rCQl9Ci0r Ci0gCWlmICgodG1wPUVDX1BPSU5UX25ldyhncm91cCkpID09IE5VTEwpCi0gCQl7Ci0gCQlFQ0RI ZXJyKEVDREhfRl9FQ0RIX0NPTVBVVEVfS0VZLEVSUl9SX01BTExPQ19GQUlMVVJFKTsKLWRpZmYg LXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY2RzYXRlc3QuYy5maXBzLWVjIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY2RzYXRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9lY2RzYS9lY2RzYXRlc3QuYy5maXBzLWVjCTIwMTMtMDItMTEgMTU6MjY6MDQuMDAwMDAw MDAwICswMDAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZHNhL2VjZHNhdGVzdC5jCTIw MTMtMTAtMTUgMDE6MDg6MDYuMDQ2NzgzMTQ4ICswMTAwCi1AQCAtMTM4LDExICsxMzgsMTQgQEAg aW50IHJlc3RvcmVfcmFuZCh2b2lkKQotIAl9Ci0gCi0gc3RhdGljIGludCBmYnl0ZXNfY291bnRl ciA9IDA7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKm51bWJlcnNbOF0gPSB7Ci0rc3RhdGljIGNvbnN0 IGNoYXIgKm51bWJlcnNbMTBdID0gewotKwkiNjUxMDU2NzcwOTA2MDE1MDc2MDU2ODEwNzYzNDU2 MzU4NTY3MTkwMTAwMTU2Njk1NjE1NjY1NjU5IiwKLSAJIjY1MTA1Njc3MDkwNjAxNTA3NjA1Njgx MDc2MzQ1NjM1ODU2NzE5MDEwMDE1NjY5NTYxNTY2NTY1OSIsCi0gCSI2MTQwNTA3MDY3MDY1MDAx MDYzMDY1MDY1NTY1NjY3NDA1NTYwMDA2MTYxNTU2NTY1NjY1NjU2NjU0IiwKLSAJIjg3NjMwMDEw MTUwNzEwNzU2NzUwMTA2NjEzMDc2MTY3MTA3ODM1NzAxMDY3MTA2Nzc4MTc3NjcxNjYiCi0gCSI3 MTY3NjE3ODcyNjcxNyIsCi0rCSI4NzYzMDAxMDE1MDcxMDc1Njc1MDEwNjYxMzA3NjE2NzEwNzgz NTcwMTA2NzEwNjc3ODE3NzY3MTY2IgotKwkiNzE2NzYxNzg3MjY3MTciLAotIAkiNzAwMDAwMDE3 NTY5MDU2NjQ2NjU1NTA1NzgxNzU3MTU3MTA3NTcwNTAxNTc1Nzc1NzA1Nzc5NTc1NSIKLSAJIjU1 NjU3MTU2NzU2NjU1IiwKLSAJIjEyNzU1NTIxOTExMTMyMTIzMDAwMTIwMzA0MzkxODcxNDYxNjQ2 NDYxNDY2NDY0NjY3NDk0OTQ3OTkiLAotQEAgLTE1Nyw3ICsxNjAsNyBAQCBpbnQgZmJ5dGVzKHVu c2lnbmVkIGNoYXIgKmJ1ZiwgaW50IG51bSkKLSAJaW50CXJldDsKLSAJQklHTlVNCSp0bXAgPSBO VUxMOwotIAotLQlpZiAoZmJ5dGVzX2NvdW50ZXIgPj0gOCkKLSsJaWYgKGZieXRlc19jb3VudGVy ID49IDEwKQotIAkJcmV0dXJuIDA7Ci0gCXRtcCA9IEJOX25ldygpOwotIAlpZiAoIXRtcCkKLUBA IC01NTAsNyArNTUzLDkgQEAgaW50IG1haW4odm9pZCkKLSAJUkFORF9zZWVkKHJuZF9zZWVkLCBz aXplb2Yocm5kX3NlZWQpKTsKLSAKLSAJLyogdGhlIHRlc3RzICovCi0rI2lmIDAKLSAJaWYgKCF4 OV82Ml90ZXN0cyhvdXQpKSAgZ290byBlcnI7Ci0rI2VuZGlmCi0gCWlmICghdGVzdF9idWlsdGlu KG91dCkpIGdvdG8gZXJyOwotIAkKLSAJcmV0ID0gMDsKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9lY2RzYS9lY3NfbGliLmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNk c2EvZWNzX2xpYi5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZHNhL2Vjc19saWIuYy5m aXBzLWVjCTIwMTMtMDItMTEgMTU6MjY6MDQuMDAwMDAwMDAwICswMDAwCi0rKysgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2VjZHNhL2Vjc19saWIuYwkyMDEzLTEwLTE1IDAxOjA4OjA2LjA0Njc4MzE0 OCArMDEwMAotQEAgLTgxLDE0ICs4MSw3IEBAIGNvbnN0IEVDRFNBX01FVEhPRCAqRUNEU0FfZ2V0 X2RlZmF1bHRfbWUKLSB7Ci0gCWlmKCFkZWZhdWx0X0VDRFNBX21ldGhvZCkgCi0gCQl7Ci0tI2lm ZGVmIE9QRU5TU0xfRklQUwotLQkJaWYgKEZJUFNfbW9kZSgpKQotLQkJCXJldHVybiBGSVBTX2Vj ZHNhX29wZW5zc2woKTsKLS0JCWVsc2UKLS0JCQlyZXR1cm4gRUNEU0FfT3BlblNTTCgpOwotLSNl bHNlCi0gCQlkZWZhdWx0X0VDRFNBX21ldGhvZCA9IEVDRFNBX09wZW5TU0woKTsKLS0jZW5kaWYK LSAJCX0KLSAJcmV0dXJuIGRlZmF1bHRfRUNEU0FfbWV0aG9kOwotIH0KLWRpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9lY2RzYS9lY3Nfb3NzbC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2VjZHNhL2Vjc19vc3NsLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZWNkc2Ev ZWNzX29zc2wuYy5maXBzLWVjCTIwMTMtMDItMTEgMTU6MjY6MDQuMDAwMDAwMDAwICswMDAwCi0r Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VjZHNhL2Vjc19vc3NsLmMJMjAxMy0xMC0xNSAwMTow ODowNi4wNDY3ODMxNDggKzAxMDAKLUBAIC02MCw2ICs2MCw5IEBACi0gI2luY2x1ZGUgPG9wZW5z c2wvZXJyLmg+Ci0gI2luY2x1ZGUgPG9wZW5zc2wvb2JqX21hYy5oPgotICNpbmNsdWRlIDxvcGVu c3NsL2JuLmg+Ci0rI2lmZGVmIE9QRU5TU0xfRklQUwotKyNpbmNsdWRlIDxvcGVuc3NsL2ZpcHMu aD4KLSsjZW5kaWYKLSAKLSBzdGF0aWMgRUNEU0FfU0lHICplY2RzYV9kb19zaWduKGNvbnN0IHVu c2lnbmVkIGNoYXIgKmRnc3QsIGludCBkbGVuLCAKLSAJCWNvbnN0IEJJR05VTSAqLCBjb25zdCBC SUdOVU0gKiwgRUNfS0VZICplY2tleSk7Ci1AQCAtNzcsNyArODAsNyBAQCBzdGF0aWMgRUNEU0Ff TUVUSE9EIG9wZW5zc2xfZWNkc2FfbWV0aCA9Ci0gCU5VTEwsIC8qIGluaXQgICAgICovCi0gCU5V TEwsIC8qIGZpbmlzaCAgICovCi0gI2VuZGlmCi0tCTAsICAgIC8qIGZsYWdzICAgICovCi0rCUVD RFNBX0ZMQUdfRklQU19NRVRIT0QsICAgIC8qIGZsYWdzICAgICovCi0gCU5VTEwgIC8qIGFwcF9k YXRhICovCi0gfTsKKyAJCTAgLyogZmllbGRfc2V0X3RvX29uZSAqLyB9OwogIAotQEAgLTIzMSw2 ICsyMzQsMTQgQEAgc3RhdGljIEVDRFNBX1NJRyAqZWNkc2FfZG9fc2lnbihjb25zdCB1bgotIAlF Q0RTQV9EQVRBICplY2RzYTsKLSAJY29uc3QgQklHTlVNICpwcml2X2tleTsKKyAJcmV0dXJuICZy ZXQ7CistI2VuZGlmCisgCX0KICAKLSsjaWZkZWYgT1BFTlNTTF9GSVBTCi0rCWlmKEZJUFNfc2Vs ZnRlc3RfZmFpbGVkKCkpCi0rCQl7Ci0rCQlGSVBTZXJyKEZJUFNfRl9FQ0RTQV9ET19TSUdOLEZJ UFNfUl9GSVBTX1NFTEZURVNUX0ZBSUxFRCk7Ci0rCQlyZXR1cm4gTlVMTDsKLSsJCX0KLSsjZW5k aWYKLSsKLSAJZWNkc2EgICAgPSBlY2RzYV9jaGVjayhlY2tleSk7Ci0gCWdyb3VwICAgID0gRUNf S0VZX2dldDBfZ3JvdXAoZWNrZXkpOwotIAlwcml2X2tleSA9IEVDX0tFWV9nZXQwX3ByaXZhdGVf a2V5KGVja2V5KTsKLUBAIC0zNjAsNiArMzcxLDE0IEBAIHN0YXRpYyBpbnQgZWNkc2FfZG9fdmVy aWZ5KGNvbnN0IHVuc2lnbmUKLSAJY29uc3QgRUNfR1JPVVAgKmdyb3VwOwotIAljb25zdCBFQ19Q T0lOVCAqcHViX2tleTsKICAKLSsjaWZkZWYgT1BFTlNTTF9GSVBTCi0rCWlmKEZJUFNfc2VsZnRl c3RfZmFpbGVkKCkpCitAQCAtMTg2LDYgKzE3OCwxMiBAQCBpbnQgZWNfR0ZwX3NpbXBsZV9ncm91 cF9zZXRfY3VydmUoRUNfR1JPCisgCQlyZXR1cm4gMDsKKyAJCX0KKyAKKysJaWYgKEJOX251bV9i aXRzKHApIDwgMjU2KQogKwkJewotKwkJRklQU2VycihGSVBTX0ZfRUNEU0FfRE9fVkVSSUZZLEZJ UFNfUl9GSVBTX1NFTEZURVNUX0ZBSUxFRCk7Ci0rCQlyZXR1cm4gLTE7CisrCQlFQ2VycihFQ19G X0VDX0dGUF9TSU1QTEVfR1JPVVBfU0VUX0NVUlZFLCBFQ19SX1VOU1VQUE9SVEVEX0ZJRUxEKTsK KysJCXJldHVybiAwOwogKwkJfQotKyNlbmRpZgogKwotIAkvKiBjaGVjayBpbnB1dCB2YWx1ZXMg Ki8KLSAJaWYgKGVja2V5ID09IE5VTEwgfHwgKGdyb3VwID0gRUNfS0VZX2dldDBfZ3JvdXAoZWNr ZXkpKSA9PSBOVUxMIHx8Ci0gCSAgICAocHViX2tleSA9IEVDX0tFWV9nZXQwX3B1YmxpY19rZXko ZWNrZXkpKSA9PSBOVUxMIHx8IHNpZyA9PSBOVUxMKQorIAlpZiAoY3R4ID09IE5VTEwpCisgCQl7 CisgCQljdHggPSBuZXdfY3R4ID0gQk5fQ1RYX25ldygpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2V2cC9tX2VjZHNhLmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZw L21fZWNkc2EuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9lY2RzYS5jLmZpcHMt ZWMJMjAxMy0wMi0xMSAxNToyNjowNC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZXZwL21fZWNkc2EuYwkyMDEzLTEwLTE1IDAxOjA4OjA2LjA0Nzc4MzE0NiArMDEw MAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9lY2RzYS5jLmZpcHMtZWMJMjAxMy0w Mi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZXZwL21fZWNkc2EuYwkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk3OTMxNzM3NiArMDIwMAogQEAgLTEx Niw3ICsxMTYsNiBAQAogICNpbmNsdWRlIDxvcGVuc3NsL3g1MDkuaD4KICAKQEAgLTQ0MywxMTMg KzQzNSw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9lY2RzYS5jLmZp cHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tCiAgCX0KICAjZW5kaWYKIC0jZW5kaWYK LWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL01ha2VmaWxlLmZpcHMtZWMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFrZWZpbGUKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9NYWtlZmlsZS5maXBzLWVjCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDA4NzgzMjAwICsw MTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFrZWZpbGUJMjAxMy0xMC0xNSAw MTowODoxNy42Mjc3NjcxNjggKzAxMDAKLUBAIC0yNCwxMyArMjQsMTMgQEAgTElCU1JDPWZpcHNf YWVzX3NlbGZ0ZXN0LmMgZmlwc19kZXNfc2VsZgotICAgICBmaXBzX3JzYV9zZWxmdGVzdC5jIGZp cHNfc2hhX3NlbGZ0ZXN0LmMgZmlwcy5jIGZpcHNfZHNhX3NlbGZ0ZXN0LmMgIGZpcHNfcmFuZC5j IFwKLSAgICAgZmlwc19yc2FfeDkzMWcuYyBmaXBzX3Bvc3QuYyBmaXBzX2RyYmdfY3RyLmMgZmlw c19kcmJnX2hhc2guYyBmaXBzX2RyYmdfaG1hYy5jIFwKLSAgICAgZmlwc19kcmJnX2xpYi5jIGZp cHNfZHJiZ19yYW5kLmMgZmlwc19kcmJnX3NlbGZ0ZXN0LmMgZmlwc19yYW5kX2xpYi5jIFwKLS0g ICAgZmlwc19jbWFjX3NlbGZ0ZXN0LmMgZmlwc19lbmMuYyBmaXBzX21kLmMKLSsgICAgZmlwc19j bWFjX3NlbGZ0ZXN0LmMgZmlwc19lY2RoX3NlbGZ0ZXN0LmMgZmlwc19lY2RzYV9zZWxmdGVzdC5j IGZpcHNfZW5jLmMgZmlwc19tZC5jCi0gCi0gTElCT0JKPWZpcHNfYWVzX3NlbGZ0ZXN0Lm8gZmlw c19kZXNfc2VsZnRlc3QubyBmaXBzX2htYWNfc2VsZnRlc3QubyBmaXBzX3JhbmRfc2VsZnRlc3Qu byBcCi0gICAgIGZpcHNfcnNhX3NlbGZ0ZXN0Lm8gZmlwc19zaGFfc2VsZnRlc3QubyBmaXBzLm8g Zmlwc19kc2Ffc2VsZnRlc3QubyAgZmlwc19yYW5kLm8gXAotICAgICBmaXBzX3JzYV94OTMxZy5v IGZpcHNfcG9zdC5vIGZpcHNfZHJiZ19jdHIubyBmaXBzX2RyYmdfaGFzaC5vIGZpcHNfZHJiZ19o bWFjLm8gXAotICAgICBmaXBzX2RyYmdfbGliLm8gZmlwc19kcmJnX3JhbmQubyBmaXBzX2RyYmdf c2VsZnRlc3QubyBmaXBzX3JhbmRfbGliLm8gXAotLSAgICBmaXBzX2NtYWNfc2VsZnRlc3QubyBm aXBzX2VuYy5vIGZpcHNfbWQubwotKyAgICBmaXBzX2NtYWNfc2VsZnRlc3QubyBmaXBzX2VjZGhf c2VsZnRlc3QubyBmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm8gZmlwc19lbmMubyBmaXBzX21kLm8KLSAK LSBMSUJDUllQVE89LUwuLiAtbGNyeXB0bwotIAotQEAgLTExOCw2ICsxMTgsMjEgQEAgZmlwc19h ZXNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVucwotIGZpcHNfYWVzX3NlbGZ0ZXN0Lm86 IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zYWZlc3RhY2suaAotIGZpcHNfYWVzX3NlbGZ0ZXN0Lm86 IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zdGFjay5oCi0gZmlwc19hZXNfc2VsZnRlc3QubzogLi4v Li4vaW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlwc19hZXNfc2VsZnRlc3QuYwotK2ZpcHNf Y21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYXNuMS5oIC4uLy4uL2luY2x1 ZGUvb3BlbnNzbC9iaW8uaAotK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29w ZW5zc2wvY21hYy5oCi0rZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNz bC9jcnlwdG8uaAotK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wv ZV9vczIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXJyLmgKLStmaXBzX2NtYWNfc2VsZnRlc3Qu bzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2V2cC5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9maXBz LmgKLStmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2xoYXNoLmgK LStmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29ial9tYWMuaAot K2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb2JqZWN0cy5oCi0r Zmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3NsY29uZi5o Ci0rZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3Nsdi5o Ci0rZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vc3NsX3R5cC5o Ci0rZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zYWZlc3RhY2su aAotK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3RhY2suaAot K2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3ltaGFja3MuaCBm aXBzX2NtYWNfc2VsZnRlc3QuYwotK2ZpcHNfY21hY19zZWxmdGVzdC5vOiBmaXBzX2xvY2wuaAot IGZpcHNfZGVzX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9hc24xLmggLi4vLi4v aW5jbHVkZS9vcGVuc3NsL2Jpby5oCi0gZmlwc19kZXNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVk ZS9vcGVuc3NsL2NyeXB0by5oCi0gZmlwc19kZXNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9v cGVuc3NsL2Vfb3MyLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vyci5oCi1AQCAtMjMxLDYgKzI0 Niw0NiBAQCBmaXBzX2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zCi0gZmlwc19k c2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N0YWNrLmgKLSBmaXBzX2RzYV9z ZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3ltaGFja3MuaCBmaXBzX2RzYV9zZWxm dGVzdC5jCi0gZmlwc19kc2Ffc2VsZnRlc3QubzogZmlwc19sb2NsLmgKLStmaXBzX2VjZGhfc2Vs ZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2FzbjEuaCAuLi8uLi9pbmNsdWRlL29wZW5z c2wvYmlvLmgKLStmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Ju LmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oCi0rZmlwc19lY2RoX3NlbGZ0ZXN0Lm86 IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lX29zMi5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lYy5o Ci0rZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lY2RoLmggLi4v Li4vaW5jbHVkZS9vcGVuc3NsL2Vyci5oCi0rZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9ldnAuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZmlwcy5oCi0rZmlwc19l Y2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9saGFzaC5oCi0rZmlwc19lY2Ro X3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vYmpfbWFjLmgKLStmaXBzX2VjZGhf c2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29iamVjdHMuaAotK2ZpcHNfZWNkaF9z ZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaAotK2ZpcHNfZWNk aF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaAotK2ZpcHNfZWNk aF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3NzbF90eXAuaAotK2ZpcHNfZWNk aF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc2FmZXN0YWNrLmgKLStmaXBzX2Vj ZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N0YWNrLmgKLStmaXBzX2VjZGhf c2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlwc19lY2RoX3Nl bGZ0ZXN0LmMKLStmaXBzX2VjZGhfc2VsZnRlc3QubzogZmlwc19sb2NsLmgKLStmaXBzX2VjZHNh X3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9hc24xLmggLi4vLi4vaW5jbHVkZS9v cGVuc3NsL2Jpby5oCi0rZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5z c2wvYm4uaAotK2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Ny eXB0by5oCi0rZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZV9v czIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZWMuaAotK2ZpcHNfZWNkc2Ffc2VsZnRlc3Qubzog Li4vLi4vaW5jbHVkZS9vcGVuc3NsL2VjZHNhLmgKLStmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9lcnIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXZwLmgKLStm aXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9maXBzLmgKLStmaXBz X2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9saGFzaC5oCi0rZmlwc19l Y2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb2JqX21hYy5oCi0rZmlwc19l Y2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb2JqZWN0cy5oCi0rZmlwc19l Y2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaAotK2Zp cHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2x2LmgKLStm aXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vc3NsX3R5cC5oCi0r Zmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc2FmZXN0YWNrLmgK LStmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zdGFjay5oCi0r Zmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3ltaGFja3MuaCBm aXBzX2VjZHNhX3NlbGZ0ZXN0LmMKLStmaXBzX2VuYy5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wv YXNuMS5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9iaW8uaAotK2ZpcHNfZW5jLm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9jcnlwdG8uaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZV9vczIuaAotK2Zp cHNfZW5jLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lcnIuaCAuLi8uLi9pbmNsdWRlL29wZW5z c2wvZXZwLmgKLStmaXBzX2VuYy5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZmlwcy5oIC4uLy4u L2luY2x1ZGUvb3BlbnNzbC9saGFzaC5oCi0rZmlwc19lbmMubzogLi4vLi4vaW5jbHVkZS9vcGVu c3NsL29ial9tYWMuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb2JqZWN0cy5oCi0rZmlwc19lbmMu bzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mLmgKLStmaXBzX2VuYy5vOiAuLi8u Li9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3NzbF90 eXAuaAotK2ZpcHNfZW5jLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zYWZlc3RhY2suaCAuLi8u Li9pbmNsdWRlL29wZW5zc2wvc3RhY2suaAotK2ZpcHNfZW5jLm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9zeW1oYWNrcy5oIGZpcHNfZW5jLmMKLSBmaXBzX2htYWNfc2VsZnRlc3QubzogLi4vLi4v aW5jbHVkZS9vcGVuc3NsL2FzbjEuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYmlvLmgKLSBmaXBz X2htYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oCi0gZmlwc19o bWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lX29zMi5oIC4uLy4uL2luY2x1 ZGUvb3BlbnNzbC9lcnIuaAotQEAgLTI0NSw2ICszMDAsMTUgQEAgZmlwc19obWFjX3NlbGZ0ZXN0 Lm86IC4uLy4uL2luY2x1ZGUvb3BlbgotIGZpcHNfaG1hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNs dWRlL29wZW5zc2wvc2FmZXN0YWNrLmgKLSBmaXBzX2htYWNfc2VsZnRlc3QubzogLi4vLi4vaW5j bHVkZS9vcGVuc3NsL3N0YWNrLmgKLSBmaXBzX2htYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVk ZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlwc19obWFjX3NlbGZ0ZXN0LmMKLStmaXBzX21kLm86IC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9hc24xLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Jpby5oCi0r Zmlwc19tZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvY3J5cHRvLmggLi4vLi4vaW5jbHVkZS9v cGVuc3NsL2Vfb3MyLmgKLStmaXBzX21kLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lcnIuaCAu Li8uLi9pbmNsdWRlL29wZW5zc2wvZXZwLmgKLStmaXBzX21kLm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9maXBzLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2xoYXNoLmgKLStmaXBzX21kLm86IC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9vYmpfbWFjLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29iamVj dHMuaAotK2ZpcHNfbWQubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2xjb25mLmggLi4v Li4vaW5jbHVkZS9vcGVuc3NsL29wZW5zc2x2LmgKLStmaXBzX21kLm86IC4uLy4uL2luY2x1ZGUv b3BlbnNzbC9vc3NsX3R5cC5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zYWZlc3RhY2suaAotK2Zp cHNfbWQubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N0YWNrLmggLi4vLi4vaW5jbHVkZS9vcGVu c3NsL3N5bWhhY2tzLmgKLStmaXBzX21kLm86IGZpcHNfbWQuYwotIGZpcHNfcG9zdC5vOiAuLi8u Li9pbmNsdWRlL29wZW5zc2wvYWVzLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2FzbjEuaAotIGZp cHNfcG9zdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYmlvLmggLi4vLi4vaW5jbHVkZS9vcGVu c3NsL2NyeXB0by5oCi0gZmlwc19wb3N0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9kc2EuaCAu Li8uLi9pbmNsdWRlL29wZW5zc2wvZV9vczIuaAogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvY2F2cy9maXBzX2VjZGh2cy5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvY2F2cy9maXBzX2VjZGh2cy5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Y2F2cy9maXBzX2VjZGh2cy5jLmZpcHMtZWMJMjAxMy0xMC0xNSAwMTowODowNi4wNDc3ODMxNDYg KzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZWNkaHZzLmMJ MjAxMy0xMC0xNSAwMTowODowNi4wNDc3ODMxNDYgKzAxMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9jYXZzL2ZpcHNfZWNkaHZzLmMuZmlwcy1lYwkyMDEzLTA1LTAzIDEyOjE5OjU5 Ljk4MDMxNzM5NyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlw c19lY2RodnMuYwkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk4MDMxNzM5NyArMDIwMAogQEAgLTAsMCAr MSw0OTYgQEAKICsvKiBmaXBzL2VjZGgvZmlwc19lY2RodnMuYyAqLwogKy8qIFdyaXR0ZW4gYnkg RHIgU3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTApA QCAtMTA0OCw4ICs5MzYsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9j YXZzL2ZpcHNfZWNkaHZzLmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcgogKwogKyNlbmRpZgog ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2VjZHNhdnMuYy5m aXBzLWVjIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19lY2RzYXZzLmMKLS0t LSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZWNkc2F2cy5jLmZpcHMtZWMJ MjAxMy0xMC0xNSAwMTowODowNi4wNDc3ODMxNDYgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9jYXZzL2ZpcHNfZWNkc2F2cy5jCTIwMTMtMTAtMTUgMDE6MDg6MDYuMDQ3Nzgz MTQ2ICswMTAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2VjZHNh dnMuYy5maXBzLWVjCTIwMTMtMDUtMDMgMTI6MTk6NTkuOTgwMzE3Mzk3ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2VjZHNhdnMuYwkyMDEzLTA1LTAzIDEy OjE5OjU5Ljk4MDMxNzM5NyArMDIwMAogQEAgLTAsMCArMSw1MzMgQEAKICsvKiBmaXBzL2VjZHNh L2ZpcHNfZWNkc2F2cy5jICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29uIChz dGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC0xNTg0LDIxICsxNDcyLDkgQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2VjZHNhdnMuYy5m aXBzLWVjIG9wZW5zc2wtMS4wLjFlL2MKICsJfQogKwogKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5oLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwcy5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5oLmZpcHMt ZWMJMjAxMy0xMC0xNSAwMTowODowNi4wMzc3ODMxNjAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzLmgJMjAxMy0xMC0xNSAwMTowODowNi4wNDg3ODMxNDUgKzAxMDAK LUBAIC05NCw2ICs5NCw4IEBAIGludCBGSVBTX3NlbGZ0ZXN0X3JzYSh2b2lkKTsKLSB2b2lkIEZJ UFNfY29ycnVwdF9kc2Eodm9pZCk7Ci0gdm9pZCBGSVBTX2NvcnJ1cHRfZHNhX2tleWdlbih2b2lk KTsKLSBpbnQgRklQU19zZWxmdGVzdF9kc2Eodm9pZCk7Ci0raW50IEZJUFNfc2VsZnRlc3RfZWNk c2Eodm9pZCk7Ci0raW50IEZJUFNfc2VsZnRlc3RfZWNkaCh2b2lkKTsKLSB2b2lkIEZJUFNfY29y cnVwdF9ybmcodm9pZCk7Ci0gdm9pZCBGSVBTX3JuZ19zdGljayh2b2lkKTsKLSB2b2lkIEZJUFNf eDkzMV9zdGljayhpbnQgb25vZmYpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19lY2RoX3NlbGZ0ZXN0LmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9maXBzX2VjZGhfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2Zp cHNfZWNkaF9zZWxmdGVzdC5jLmZpcHMtZWMJMjAxMy0xMC0xNSAwMTowODowNi4wNDg3ODMxNDUg KzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2VjZGhfc2VsZnRlc3Qu YwkyMDEzLTEwLTE1IDAxOjA4OjA2LjA0ODc4MzE0NSArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfZWNkaF9zZWxmdGVzdC5jLmZpcHMtZWMJMjAxMy0wNS0wMyAxMjox OTo1OS45ODEzMTc0MTggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X2VjZGhfc2VsZnRlc3QuYwkyMDEzLTA1LTAzIDEyOjE5OjU5Ljk4MTMxNzQxOCArMDIwMAogQEAg LTAsMCArMSwyNTIgQEAKICsvKiBmaXBzL2VjZGgvZmlwc19lY2RoX3NlbGZ0ZXN0LmMgKi8KICsv KiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3Ig dGhlIE9wZW5TU0wKQEAgLTE4NTMsOCArMTcyOSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfZWNkaF9zZWxmdGVzdC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUv CiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Vj ZHNhX3NlbGZ0ZXN0LmMuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Vj ZHNhX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2VjZHNh X3NlbGZ0ZXN0LmMuZmlwcy1lYwkyMDEzLTEwLTE1IDAxOjA4OjA2LjA0ODc4MzE0NSArMDEwMAot KysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZWNkc2Ffc2VsZnRlc3QuYwkyMDEz LTEwLTE1IDAxOjA4OjA2LjA0ODc4MzE0NSArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfZWNkc2Ffc2VsZnRlc3QuYy5maXBzLWVjCTIwMTMtMDUtMDMgMTI6MTk6NTku OTgxMzE3NDE4ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lY2Rz YV9zZWxmdGVzdC5jCTIwMTMtMDUtMDMgMTI6MTk6NTkuOTgxMzE3NDE4ICswMjAwCiBAQCAtMCww ICsxLDE2NyBAQAogKy8qIGZpcHMvZWNkc2EvZmlwc19lY2RzYV9zZWxmdGVzdC5jICovCiArLyog V3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRo ZSBPcGVuU1NMCkBAIC0yMDIzLDkgKzE4OTksMjEgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwc19lY2RzYV9zZWxmdGVzdC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUK ICsJfQogKwogKyNlbmRpZgorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw cy5oLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5oCistLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5oLmZpcHMtZWMJMjAxMy0wNS0wMyAxMjoxOTo1OS45 NDIzMTY1NzggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmgJMjAx My0wNS0wMyAxMjoxOTo1OS45ODEzMTc0MTggKzAyMDAKK0BAIC05Myw2ICs5Myw4IEBAIGludCBG SVBTX3NlbGZ0ZXN0X3JzYSh2b2lkKTsKKyB2b2lkIEZJUFNfY29ycnVwdF9kc2Eodm9pZCk7Cisg dm9pZCBGSVBTX2NvcnJ1cHRfZHNhX2tleWdlbih2b2lkKTsKKyBpbnQgRklQU19zZWxmdGVzdF9k c2Eodm9pZCk7CisraW50IEZJUFNfc2VsZnRlc3RfZWNkc2Eodm9pZCk7CisraW50IEZJUFNfc2Vs ZnRlc3RfZWNkaCh2b2lkKTsKKyB2b2lkIEZJUFNfY29ycnVwdF9ybmcodm9pZCk7Cisgdm9pZCBG SVBTX3JuZ19zdGljayh2b2lkKTsKKyB2b2lkIEZJUFNfeDkzMV9zdGljayhpbnQgb25vZmYpOwog ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMuZmlwcy1lYyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMtZWMJMjAxMy0xMC0xNSAwMTowODowNi4wMDU3 ODMyMDQgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYwky MDEzLTEwLTE1IDAxOjA4OjA2LjA0ODc4MzE0NSArMDEwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMtZWMJMjAxMy0wNS0wMyAxMjoxOTo1OS45NDIzMTY1 NzggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYwkyMDEz LTA1LTAzIDEyOjE5OjU5Ljk4MjMxNzQzOSArMDIwMAogQEAgLTk1LDggKzk1LDEyIEBAIGludCBG SVBTX3NlbGZ0ZXN0KHZvaWQpCiAgCQlydiA9IDA7CiAgCWlmICghRklQU19zZWxmdGVzdF9yc2Eo KSkKQEAgLTIwMzksMTAgKzE5MjcsMTE0IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMtZWMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpCiAgCXJl dHVybiBydjsKICAJfQogIAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFr ZWZpbGUuZmlwcy1lYyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9NYWtlZmlsZQorLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL01ha2VmaWxlLmZpcHMtZWMJMjAxMy0wNS0wMyAxMjox OTo1OS45NDUzMTY2NDIgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9NYWtl ZmlsZQkyMDEzLTA1LTAzIDEyOjIwOjEyLjE3MzU3OTg0NSArMDIwMAorQEAgLTI0LDEzICsyNCwx MyBAQCBMSUJTUkM9Zmlwc19hZXNfc2VsZnRlc3QuYyBmaXBzX2Rlc19zZWxmCisgICAgIGZpcHNf cnNhX3NlbGZ0ZXN0LmMgZmlwc19zaGFfc2VsZnRlc3QuYyBmaXBzLmMgZmlwc19kc2Ffc2VsZnRl c3QuYyAgZmlwc19yYW5kLmMgXAorICAgICBmaXBzX3JzYV94OTMxZy5jIGZpcHNfcG9zdC5jIGZp cHNfZHJiZ19jdHIuYyBmaXBzX2RyYmdfaGFzaC5jIGZpcHNfZHJiZ19obWFjLmMgXAorICAgICBm aXBzX2RyYmdfbGliLmMgZmlwc19kcmJnX3JhbmQuYyBmaXBzX2RyYmdfc2VsZnRlc3QuYyBmaXBz X3JhbmRfbGliLmMgXAorLSAgICBmaXBzX2NtYWNfc2VsZnRlc3QuYyBmaXBzX2VuYy5jIGZpcHNf bWQuYworKyAgICBmaXBzX2NtYWNfc2VsZnRlc3QuYyBmaXBzX2VjZGhfc2VsZnRlc3QuYyBmaXBz X2VjZHNhX3NlbGZ0ZXN0LmMgZmlwc19lbmMuYyBmaXBzX21kLmMKKyAKKyBMSUJPQko9Zmlwc19h ZXNfc2VsZnRlc3QubyBmaXBzX2Rlc19zZWxmdGVzdC5vIGZpcHNfaG1hY19zZWxmdGVzdC5vIGZp cHNfcmFuZF9zZWxmdGVzdC5vIFwKKyAgICAgZmlwc19yc2Ffc2VsZnRlc3QubyBmaXBzX3NoYV9z ZWxmdGVzdC5vIGZpcHMubyBmaXBzX2RzYV9zZWxmdGVzdC5vICBmaXBzX3JhbmQubyBcCisgICAg IGZpcHNfcnNhX3g5MzFnLm8gZmlwc19wb3N0Lm8gZmlwc19kcmJnX2N0ci5vIGZpcHNfZHJiZ19o YXNoLm8gZmlwc19kcmJnX2htYWMubyBcCisgICAgIGZpcHNfZHJiZ19saWIubyBmaXBzX2RyYmdf cmFuZC5vIGZpcHNfZHJiZ19zZWxmdGVzdC5vIGZpcHNfcmFuZF9saWIubyBcCistICAgIGZpcHNf Y21hY19zZWxmdGVzdC5vIGZpcHNfZW5jLm8gZmlwc19tZC5vCisrICAgIGZpcHNfY21hY19zZWxm dGVzdC5vIGZpcHNfZWNkaF9zZWxmdGVzdC5vIGZpcHNfZWNkc2Ffc2VsZnRlc3QubyBmaXBzX2Vu Yy5vIGZpcHNfbWQubworIAorIExJQkNSWVBUTz0tTC4uIC1sY3J5cHRvCisgCitAQCAtMTE4LDYg KzExOCwyMSBAQCBmaXBzX2Flc19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zCisgZmlw c19hZXNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3NhZmVzdGFjay5oCisgZmlw c19hZXNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL3N0YWNrLmgKKyBmaXBzX2Fl c19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3ltaGFja3MuaCBmaXBzX2Flc19z ZWxmdGVzdC5jCisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9h c24xLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Jpby5oCisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86 IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9jbWFjLmgKKytmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4v Li4vaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oCisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4u L2luY2x1ZGUvb3BlbnNzbC9lX29zMi5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lcnIuaAorK2Zp cHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXZwLmggLi4vLi4vaW5j bHVkZS9vcGVuc3NsL2ZpcHMuaAorK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRl L29wZW5zc2wvbGhhc2guaAorK2ZpcHNfY21hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29w ZW5zc2wvb2JqX21hYy5oCisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9vYmplY3RzLmgKKytmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVu c3NsL29wZW5zc2xjb25mLmgKKytmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9v cGVuc3NsL29wZW5zc2x2LmgKKytmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9v cGVuc3NsL29zc2xfdHlwLmgKKytmaXBzX2NtYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9v cGVuc3NsL3NhZmVzdGFjay5oCisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUv b3BlbnNzbC9zdGFjay5oCisrZmlwc19jbWFjX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9zeW1oYWNrcy5oIGZpcHNfY21hY19zZWxmdGVzdC5jCisrZmlwc19jbWFjX3NlbGZ0ZXN0 Lm86IGZpcHNfbG9jbC5oCisgZmlwc19kZXNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVu c3NsL2FzbjEuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYmlvLmgKKyBmaXBzX2Rlc19zZWxmdGVz dC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvY3J5cHRvLmgKKyBmaXBzX2Rlc19zZWxmdGVzdC5v OiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZV9vczIuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXJy LmgKK0BAIC0yMzEsNiArMjQ2LDQ2IEBAIGZpcHNfZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1 ZGUvb3BlbnMKKyBmaXBzX2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3Rh Y2suaAorIGZpcHNfZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zeW1oYWNr cy5oIGZpcHNfZHNhX3NlbGZ0ZXN0LmMKKyBmaXBzX2RzYV9zZWxmdGVzdC5vOiBmaXBzX2xvY2wu aAorK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYXNuMS5oIC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9iaW8uaAorK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9p bmNsdWRlL29wZW5zc2wvYm4uaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvY3J5cHRvLmgKKytmaXBz X2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vfb3MyLmggLi4vLi4vaW5j bHVkZS9vcGVuc3NsL2VjLmgKKytmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9v cGVuc3NsL2VjZGguaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZXJyLmgKKytmaXBzX2VjZGhfc2Vs ZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2V2cC5oIC4uLy4uL2luY2x1ZGUvb3BlbnNz bC9maXBzLmgKKytmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2xo YXNoLmgKKytmaXBzX2VjZGhfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29ial9t YWMuaAorK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb2JqZWN0 cy5oCisrZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3Ns Y29uZi5oCisrZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVu c3Nsdi5oCisrZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vc3Ns X3R5cC5oCisrZmlwc19lY2RoX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zYWZl c3RhY2suaAorK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3Rh Y2suaAorK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3ltaGFj a3MuaCBmaXBzX2VjZGhfc2VsZnRlc3QuYworK2ZpcHNfZWNkaF9zZWxmdGVzdC5vOiBmaXBzX2xv Y2wuaAorK2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2FzbjEu aCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYmlvLmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9ibi5oCisrZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9p bmNsdWRlL29wZW5zc2wvY3J5cHRvLmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2lu Y2x1ZGUvb3BlbnNzbC9lX29zMi5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lYy5oCisrZmlwc19l Y2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZWNkc2EuaAorK2ZpcHNfZWNk c2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vyci5oIC4uLy4uL2luY2x1ZGUv b3BlbnNzbC9ldnAuaAorK2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVu c3NsL2ZpcHMuaAorK2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3Ns L2xoYXNoLmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9v YmpfbWFjLmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9v YmplY3RzLmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9v cGVuc3NsY29uZi5oCisrZmlwc19lY2RzYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5z c2wvb3BlbnNzbHYuaAorK2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVu c3NsL29zc2xfdHlwLmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9zYWZlc3RhY2suaAorK2ZpcHNfZWNkc2Ffc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9v cGVuc3NsL3N0YWNrLmgKKytmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9zeW1oYWNrcy5oIGZpcHNfZWNkc2Ffc2VsZnRlc3QuYworK2ZpcHNfZW5jLm86IC4uLy4u L2luY2x1ZGUvb3BlbnNzbC9hc24xLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Jpby5oCisrZmlw c19lbmMubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2NyeXB0by5oIC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9lX29zMi5oCisrZmlwc19lbmMubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vyci5oIC4u Ly4uL2luY2x1ZGUvb3BlbnNzbC9ldnAuaAorK2ZpcHNfZW5jLm86IC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9maXBzLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2xoYXNoLmgKKytmaXBzX2VuYy5vOiAu Li8uLi9pbmNsdWRlL29wZW5zc2wvb2JqX21hYy5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vYmpl Y3RzLmgKKytmaXBzX2VuYy5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaAor K2ZpcHNfZW5jLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9vcGVuc3Nsdi5oIC4uLy4uL2luY2x1 ZGUvb3BlbnNzbC9vc3NsX3R5cC5oCisrZmlwc19lbmMubzogLi4vLi4vaW5jbHVkZS9vcGVuc3Ns L3NhZmVzdGFjay5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zdGFjay5oCisrZmlwc19lbmMubzog Li4vLi4vaW5jbHVkZS9vcGVuc3NsL3N5bWhhY2tzLmggZmlwc19lbmMuYworIGZpcHNfaG1hY19z ZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvYXNuMS5oIC4uLy4uL2luY2x1ZGUvb3Bl bnNzbC9iaW8uaAorIGZpcHNfaG1hY19zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wv Y3J5cHRvLmgKKyBmaXBzX2htYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vf b3MyLmggLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2Vyci5oCitAQCAtMjQ1LDYgKzMwMCwxNSBAQCBm aXBzX2htYWNfc2VsZnRlc3QubzogLi4vLi4vaW5jbHVkZS9vcGVuCisgZmlwc19obWFjX3NlbGZ0 ZXN0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9zYWZlc3RhY2suaAorIGZpcHNfaG1hY19zZWxm dGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3RhY2suaAorIGZpcHNfaG1hY19zZWxmdGVz dC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3ltaGFja3MuaCBmaXBzX2htYWNfc2VsZnRlc3Qu YworK2ZpcHNfbWQubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL2FzbjEuaCAuLi8uLi9pbmNsdWRl L29wZW5zc2wvYmlvLmgKKytmaXBzX21kLm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9jcnlwdG8u aCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvZV9vczIuaAorK2ZpcHNfbWQubzogLi4vLi4vaW5jbHVk ZS9vcGVuc3NsL2Vyci5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9ldnAuaAorK2ZpcHNfbWQubzog Li4vLi4vaW5jbHVkZS9vcGVuc3NsL2ZpcHMuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvbGhhc2gu aAorK2ZpcHNfbWQubzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29ial9tYWMuaCAuLi8uLi9pbmNs dWRlL29wZW5zc2wvb2JqZWN0cy5oCisrZmlwc19tZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wv b3BlbnNzbGNvbmYuaCAuLi8uLi9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbHYuaAorK2ZpcHNfbWQu bzogLi4vLi4vaW5jbHVkZS9vcGVuc3NsL29zc2xfdHlwLmggLi4vLi4vaW5jbHVkZS9vcGVuc3Ns L3NhZmVzdGFjay5oCisrZmlwc19tZC5vOiAuLi8uLi9pbmNsdWRlL29wZW5zc2wvc3RhY2suaCAu Li8uLi9pbmNsdWRlL29wZW5zc2wvc3ltaGFja3MuaAorK2ZpcHNfbWQubzogZmlwc19tZC5jCisg Zmlwc19wb3N0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9hZXMuaCAuLi8uLi9pbmNsdWRlL29w ZW5zc2wvYXNuMS5oCisgZmlwc19wb3N0Lm86IC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9iaW8uaCAu Li8uLi9pbmNsdWRlL29wZW5zc2wvY3J5cHRvLmgKKyBmaXBzX3Bvc3QubzogLi4vLi4vaW5jbHVk ZS9vcGVuc3NsL2RzYS5oIC4uLy4uL2luY2x1ZGUvb3BlbnNzbC9lX29zMi5oCiBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS92ZXJzaW9uLm1hcC5maXBzLWVjIG9wZW5zc2wtMS4wLjFlL3ZlcnNpb24u bWFwCi0tLS0gb3BlbnNzbC0xLjAuMWUvdmVyc2lvbi5tYXAuZmlwcy1lYwkyMDEzLTEwLTE1IDAx OjA4OjA2LjAxNjc4MzE4OSArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL3ZlcnNpb24ubWFwCTIw MTMtMTAtMTUgMDE6MDg6MDYuMDQ4NzgzMTQ1ICswMTAwCi1AQCAtNiwzICs2LDcgQEAgT1BFTlNT TF8xLjAuMSB7CistLS0gb3BlbnNzbC0xLjAuMWUvdmVyc2lvbi5tYXAuZmlwcy1lYwkyMDEzLTA1 LTAzIDEyOjE5OjU5LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL3ZlcnNpb24u bWFwCTIwMTMtMDUtMDkgMTE6MTE6MDguMDIyMzAwNjA4ICswMjAwCitAQCAtNSwzICs1LDcgQEAg T1BFTlNTTF8xLjAuMSB7CiAgCSAgICBfb3JpZ2luYWwqOwogIAkgICAgX2N1cnJlbnQqOwogIH07 CgpkaWZmIC0tZ2l0IGEvb3BlbnNzbC0xLjAuMWUtZmlwcy5wYXRjaCBiL29wZW5zc2wtMS4wLjFl LWZpcHMucGF0Y2gKaW5kZXggYzJmNzg0OC4uZTY5NDJiMSAxMDA2NDQKLS0tIGEvb3BlbnNzbC0x LjAuMWUtZmlwcy5wYXRjaAorKysgYi9vcGVuc3NsLTEuMC4xZS1maXBzLnBhdGNoCkBAIC0xLDYg KzEsNiBAQAogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvYXBwcy9wa2NzMTIuYy5maXBzIG9wZW5z c2wtMS4wLjFlL2FwcHMvcGtjczEyLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9hcHBzL3BrY3MxMi5j LmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEu MC4xZS9hcHBzL3BrY3MxMi5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI0NjY0NzI4ICswMjAwCisr Kysgb3BlbnNzbC0xLjAuMWUvYXBwcy9wa2NzMTIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3MjY5 Mzk1NSArMDIwMAogQEAgLTY3LDYgKzY3LDkgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9lcnIuaD4K ICAjaW5jbHVkZSA8b3BlbnNzbC9wZW0uaD4KQEAgLTI1LDcgKzI1LDcgQEAgZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWUvYXBwcy9wa2NzMTIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2FwcHMvcGtjczEy LmMKICAKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMvc3BlZWQuYy5maXBzIG9wZW5zc2wt MS4wLjFlL2FwcHMvc3BlZWQuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2FwcHMvc3BlZWQuYy5maXBz CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUv YXBwcy9zcGVlZC5jCTIwMTMtMDktMjcgMTQ6NDg6NTUuMjQ3NzIyNzM3ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvYXBwcy9zcGVlZC5jCTIwMTMtMTAtMDQgMTE6NDk6NTYuMzg0MjI3ODU5ICsw MjAwCiBAQCAtMTk1LDcgKzE5NSw2IEBACiAgI2lmZGVmIE9QRU5TU0xfRE9JTkdfTUFLRURFUEVO RAogICN1bmRlZiBBRVNfc2V0X2VuY3J5cHRfa2V5CkBAIC02OCwxMyArNjgsMTYgQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvYXBwcy9zcGVlZC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvYXBwcy9z cGVlZC5jCiAgCQkJZHNhX2RvaXRbUl9EU0FfMTAyNF09MTsKICAJCQlkc2FfZG9pdFtSX0RTQV8y MDQ4XT0xOwogIAkJCX0KLUBAIC0xMTYyLDEyICsxMTcwLDE1IEBAIGludCBNQUlOKGludCBhcmdj LCBjaGFyICoqYXJndikKK0BAIC0xMTYyLDEyICsxMTcwLDE4IEBAIGludCBNQUlOKGludCBhcmdj LCBjaGFyICoqYXJndikKICAJCXsKICAJCWZvciAoaT0wOyBpPEFMR09SX05VTTsgaSsrKQogIAkJ CXsKIC0JCQlpZiAoaSAhPSBEX0VWUCkKICsJCQlpZiAoaSAhPSBEX0VWUCAmJgotKwkJCSAgICAo IUZJUFNfbW9kZSgpIHx8IGkgIT0gRF9XSElSTFBPT0wpKQorKwkJCSAgICAoIUZJUFNfbW9kZSgp IHx8IChpICE9IERfV0hJUkxQT09MICYmCisrCQkJCWkgIT0gRF9NRDIgJiYgaSAhPSBEX01ENCAm JgorKwkJCQlpICE9IERfTUQ1ICYmIGkgIT0gRF9NREMyICYmCisrCQkJCWkgIT0gRF9STUQxNjAp KSkKICAJCQkJZG9pdFtpXT0xOwogIAkJCX0KICAJCWZvciAoaT0wOyBpPFJTQV9OVU07IGkrKykK QEAgLTg1LDcgKzg4LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvYXBwcy9zcGVlZC5jLmZp cHMgb3BlbnNzbC0xLjAuMWUvYXBwcy9zcGVlZC5jCiAgCQkJZHNhX2RvaXRbaV09MTsKICAjaWZu ZGVmIE9QRU5TU0xfTk9fRUNEU0EKICAJCWZvciAoaT0wOyBpPEVDX05VTTsgaSsrKQotQEAgLTEy MjYsMzAgKzEyMzcsNTQgQEAgaW50IE1BSU4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTEy MjYsMzAgKzEyNDAsNTQgQEAgaW50IE1BSU4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogIAlBRVNf c2V0X2VuY3J5cHRfa2V5KGtleTMyLDI1NiwmYWVzX2tzMyk7CiAgI2VuZGlmCiAgI2lmbmRlZiBP UEVOU1NMX05PX0NBTUVMTElBCkBAIC0xNDAsNyArMTQzLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWUvYXBwcy9zcGVlZC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvYXBwcy9zcGVlZC5jCiAgI2Vu ZGlmCiAgI2lmbmRlZiBPUEVOU1NMX05PX1JTQQogIAltZW1zZXQocnNhX2MsMCxzaXplb2YocnNh X2MpKTsKLUBAIC0xNTY0LDYgKzE1NTksNyBAQCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAqKmFy Z3YpCitAQCAtMTU2NCw2ICsxNjAyLDcgQEAgaW50IE1BSU4oaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQogIAkJSE1BQ19DVFggaGN0eDsKICAKICAJCUhNQUNfQ1RYX2luaXQoJmhjdHgpOwpAQCAtMTQ5 LDggKzE1Miw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMvc3BlZWQuYy5maXBzIG9w ZW5zc2wtMS4wLjFlL2FwcHMvc3BlZWQuYwogIAkJCTE2LEVWUF9tZDUoKSwgTlVMTCk7CiAgCiBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9Db25maWd1cmUuZmlwcyBvcGVuc3NsLTEuMC4xZS9Db25m aWd1cmUKLS0tLSBvcGVuc3NsLTEuMC4xZS9Db25maWd1cmUuZmlwcwkyMDEzLTA5LTI3IDE0OjMy OjM1LjA3NzY1OTE2NyArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL0NvbmZpZ3VyZQkyMDEzLTA5 LTI3IDE0OjMyOjM1LjMyNDY2NDcyOCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL0NvbmZpZ3Vy ZS5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTUzNjkzNTI2ICswMjAwCisrKysgb3BlbnNzbC0x LjAuMWUvQ29uZmlndXJlCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTczNjkzOTc4ICswMjAwCiBAQCAt OTk1LDExICs5OTUsNiBAQCBpZiAoZGVmaW5lZCgkZGlzYWJsZWR7Im1kNSJ9KSB8fCBkZWZpbmVk CiAgCSRkaXNhYmxlZHsic3NsMiJ9ID0gImZvcmNlZCI7CiAgCX0KQEAgLTE4Nyw3ICsxOTAsNyBA QCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9Db25maWd1cmUuZmlwcyBvcGVuc3NsLTEuMC4xZS9D b25maWd1cmUKICAJcy9eU0hBUkVEX0xJQlM9LiovU0hBUkVEX0xJQlM9XCQoU0hBUkVEX0NSWVBU TykgXCQoU0hBUkVEX1NTTCkvIGlmICghJG5vX3NoYXJlZCk7CiBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vYWVzL2Flc19taXNjLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vYWVz L2Flc19taXNjLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vYWVzL2Flc19taXNjLmMuZmlw cwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9hZXMvYWVzX21pc2MuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMyNTY2NDc1MSArMDIw MAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9hZXMvYWVzX21pc2MuYwkyMDEzLTEwLTA0IDEx OjQ4OjA0LjE3MzY5Mzk3OCArMDIwMAogQEAgLTY5LDE3ICs2OSwxMSBAQCBjb25zdCBjaGFyICpB RVNfb3B0aW9ucyh2b2lkKSB7CiAgaW50IEFFU19zZXRfZW5jcnlwdF9rZXkoY29uc3QgdW5zaWdu ZWQgY2hhciAqdXNlcktleSwgY29uc3QgaW50IGJpdHMsCiAgCQkJQUVTX0tFWSAqa2V5KQpAQCAt MjA4LDcgKzIxMSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9hZXMvYWVzX21p c2MuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9hZXMvYWVzCiAgCX0KIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9jbWFjL2NtYWMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9jbWFjL2NtYWMuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9jbWFjL2NtYWMuYy5maXBz CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2NtYWMvY21hYy5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI1NjY0NzUxICswMjAwCisr Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2NtYWMvY21hYy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQu MTczNjkzOTc4ICswMjAwCiBAQCAtMTA3LDEzICsxMDcsNiBAQCBDTUFDX0NUWCAqQ01BQ19DVFhf bmV3KHZvaWQpCiAgCiAgdm9pZCBDTUFDX0NUWF9jbGVhbnVwKENNQUNfQ1RYICpjdHgpCkBAIC0y NTgsOCArMjYxLDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2NtYWMvY21hYy5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2NtYWMvY21hYy4KICAJCXJldHVybiAwOwogIAli bCA9IEVWUF9DSVBIRVJfQ1RYX2Jsb2NrX3NpemUoJmN0eC0+Y2N0eCk7CiBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vY3J5cHRvLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vY3J5 cHRvLmgKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vY3J5cHRvLmguZmlwcwkyMDEzLTA5LTI3 IDE0OjMyOjM0Ljk3MjY1NjgwNCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9jcnlw dG8uaAkyMDEzLTA5LTI3IDE0OjMyOjM1LjMyNTY2NDc1MSArMDIwMAorLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9jcnlwdG8uaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMDU4NjkxMzgxICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2NyeXB0by5oCTIwMTMtMTAtMDQgMTE6NDg6 MDQuMTczNjkzOTc4ICswMjAwCiBAQCAtNTUzLDI0ICs1NTMsMjkgQEAgaW50IEZJUFNfbW9kZV9z ZXQoaW50IHIpOwogIHZvaWQgT1BFTlNTTF9pbml0KHZvaWQpOwogIApAQCAtMzA2LDggKzMwOSw4 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9jcnlwdG8uaC5maXBzIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9jcnlwdG8uaAogIAogIC8qIEZ1bmN0aW9uIGNvZGVzLiAqLwogZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rlcy9kZXMuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9kZXMvZGVzLmgKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGVzL2Rlcy5oLmZpcHMJ MjAxMy0wOS0yNyAxNDozMjozNS4wMDQ2NTc1MjUgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZGVzL2Rlcy5oCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI1NjY0NzUxICswMjAwCistLS0g b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rlcy9kZXMuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQu MDg4NjkyMDU4ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rlcy9kZXMuaAkyMDEz LTEwLTA0IDExOjQ4OjA0LjE3MzY5Mzk3OCArMDIwMAogQEAgLTIyNCw5ICsyMjQsNiBAQCBpbnQg REVTX3NldF9rZXkoY29uc3RfREVTX2NibG9jayAqa2V5LERFCiAgaW50IERFU19rZXlfc2NoZWQo Y29uc3RfREVTX2NibG9jayAqa2V5LERFU19rZXlfc2NoZWR1bGUgKnNjaGVkdWxlKTsKICBpbnQg REVTX3NldF9rZXlfY2hlY2tlZChjb25zdF9ERVNfY2Jsb2NrICprZXksREVTX2tleV9zY2hlZHVs ZSAqc2NoZWR1bGUpOwpAQCAtMzIwLDcgKzMyMyw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9kZXMvZGVzLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGVzL2Rlcy5oCiAg dm9pZCBERVNfY2ZiNjRfZW5jcnlwdChjb25zdCB1bnNpZ25lZCBjaGFyICppbix1bnNpZ25lZCBj aGFyICpvdXQsbG9uZyBsZW5ndGgsCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGVz L3NldF9rZXkuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kZXMvc2V0X2tleS5jCiAtLS0g b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rlcy9zZXRfa2V5LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2 OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kZXMvc2V0X2tl eS5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI1NjY0NzUxICswMjAwCisrKysgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2Rlcy9zZXRfa2V5LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzQ2OTQwMDEgKzAy MDAKIEBAIC0zMzYsMTMgKzMzNiw2IEBAIGludCBERVNfc2V0X2tleV9jaGVja2VkKGNvbnN0X0RF U19jYmxvY2sKICAJfQogIApAQCAtMzM3LDcgKzM0MCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9kZXMvc2V0X2tleS5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rlcy9z ZXRfCiAgCXJlZ2lzdGVyIERFU19MT05HIGMsZCx0LHMsdDI7CiBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZGgvZGhfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhf Z2VuLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfZ2VuLmMuZmlwcwkyMDEzLTAy LTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9k aC9kaF9nZW4uYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMyNTY2NDc1MSArMDIwMAorKysrIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9kaC9kaF9nZW4uYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NDY5NDAw MSArMDIwMAogQEAgLTg0LDExICs4NCw2IEBAIGludCBESF9nZW5lcmF0ZV9wYXJhbWV0ZXJzX2V4 KERIICpyZXQsIGkKICAjZW5kaWYKICAJaWYocmV0LT5tZXRoLT5nZW5lcmF0ZV9wYXJhbXMpCkBA IC0zNzIsOCArMzc1LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2dl bi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2dlbi4KICAJaWYgKGN0eCA9PSBO VUxMKSBnb3RvIGVycjsKICAJQk5fQ1RYX3N0YXJ0KGN0eCk7CiBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZGgvZGguaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaC5oCi0t LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoLmguZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM0 Ljk0MzY1NjE1MSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaC5oCTIwMTMt MDktMjcgMTQ6MzI6MzUuMzI2NjY0NzczICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2RoL2RoLmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjAzMjY5MDc5NCArMDIwMAorKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaC5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc0Njk0MDAx ICswMjAwCiBAQCAtNzcsNiArNzcsOCBAQAogICMgZGVmaW5lIE9QRU5TU0xfREhfTUFYX01PRFVM VVNfQklUUwkxMDAwMAogICNlbmRpZgpAQCAtMzg1LDcgKzM4OCw3IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9kaC9kaC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2Ro LmgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGltcGxlbWVudGF0 aW9uIG5vdyB1c2VzIGNvbnN0YW50IHRpbWUKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9kaC9kaF9rZXkuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaF9rZXkuYwogLS0t IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaF9rZXkuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6 MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2tleS5j CTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI2NjY0NzczICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2RoL2RoX2tleS5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc0Njk0MDAxICswMjAwCiBA QCAtNjEsNiArNjEsOSBAQAogICNpbmNsdWRlIDxvcGVuc3NsL2JuLmg+CiAgI2luY2x1ZGUgPG9w ZW5zc2wvcmFuZC5oPgpAQCAtNDQ2LDcgKzQ0OSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9kaC9kaF9rZXkuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaF9rZXku CiAgCX0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaF9saWIuYy5maXBzIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9kaC9kaF9saWIuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9kaC9kaF9saWIuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0r Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2xpYi5jCTIwMTMtMDktMjcgMTQ6MzI6MzUu MzI2NjY0NzczICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RoL2RoX2xpYi5jCTIw MTMtMTAtMDQgMTE6NDg6MDQuMTc0Njk0MDAxICswMjAwCiBAQCAtODEsMTQgKzgxLDcgQEAgY29u c3QgREhfTUVUSE9EICpESF9nZXRfZGVmYXVsdF9tZXRob2QodgogIAl7CiAgCWlmKCFkZWZhdWx0 X0RIX21ldGhvZCkKQEAgLTQ2NCw3ICs0NjcsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZGgvZGhfbGliLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZGgvZGhfbGliLgog IAl9CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9lcnIuYy5maXBzIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2Vyci5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2RzYS9kc2FfZXJyLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEw MAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2Vyci5jCTIwMTMtMDktMjcgMTQ6 MzI6MzUuMzI2NjY0NzczICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ff ZXJyLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzQ2OTQwMDEgKzAyMDAKIEBAIC03NCw2ICs3NCw4 IEBAIHN0YXRpYyBFUlJfU1RSSU5HX0RBVEEgRFNBX3N0cl9mdW5jdHNbXT0KICB7RVJSX0ZVTkMo RFNBX0ZfRE9fRFNBX1BSSU5UKSwJIkRPX0RTQV9QUklOVCJ9LAogIHtFUlJfRlVOQyhEU0FfRl9E U0FQQVJBTVNfUFJJTlQpLAkiRFNBcGFyYW1zX3ByaW50In0sCkBAIC00ODUsNyArNDg4LDcgQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfZXJyLmMuZmlwcyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZHNhL2RzYV8KICB7RVJSX1JFQVNPTihEU0FfUl9ORUVEX05FV19TRVRV UF9WQUxVRVMpICwibmVlZCBuZXcgc2V0dXAgdmFsdWVzIn0sCiBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZHNhL2RzYV9nZW4uYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2Ev ZHNhX2dlbi5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfZ2VuLmMuZmlwcwky MDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9kc2EvZHNhX2dlbi5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI2NjY0NzczICswMjAwCisr Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfZ2VuLmMJMjAxMy0xMC0wNCAxMTo0ODow NC4xNzU2OTQwMjMgKzAyMDAKIEBAIC04NSw2ICs4NSwxNCBAQAogICNpbmNsdWRlIDxvcGVuc3Ns L2ZpcHMuaD4KICAjZW5kaWYKQEAgLTg5Myw4ICs4OTYsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZHNhL2RzYV9nZW4uYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2Ev ZHNhXwogIAlpZiAobW9udCAhPSBOVUxMKSBCTl9NT05UX0NUWF9mcmVlKG1vbnQpOwogIAlyZXR1 cm4gb2s7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYS5oLmZpcHMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2EuaAotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9k c2EvZHNhLmguZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM0Ljg2MDY1NDI4MyArMDIwMAotKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhLmgJMjAxMy0wOS0yNyAxNDozMjozNS4zMjY2NjQ3 NzMgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYS5oLmZpcHMJMjAxMy0x MC0wNCAxMTo0ODowMy45NTY2ODkwNzggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZHNhL2RzYS5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc1Njk0MDIzICswMjAwCiBAQCAtODgsNiAr ODgsOCBAQAogICMgZGVmaW5lIE9QRU5TU0xfRFNBX01BWF9NT0RVTFVTX0JJVFMJMTAwMDAKICAj ZW5kaWYKQEAgLTk1Nyw3ICs5NjAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZHNhL2RzYS5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2EuaAogICNpZmRlZiAg X19jcGx1c3BsdXMKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2tleS5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ffa2V5LmMKIC0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZHNhL2RzYV9rZXkuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAw MDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ffa2V5LmMJMjAxMy0w OS0yNyAxNDozMjozNS4zMjc2NjQ3OTUgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZHNhL2RzYV9rZXkuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NTY5NDAyMyArMDIwMAogQEAgLTY2 LDYgKzY2LDM1IEBACiAgCiAgI2lmZGVmIE9QRU5TU0xfRklQUwpAQCAtMTAzOCw3ICsxMDQxLDcg QEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ffa2V5LmMuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV8KICBlcnI6CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZHNhL2RzYV9saWIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNh X2xpYi5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfbGliLmMuZmlwcwkyMDEz LTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9kc2EvZHNhX2xpYi5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI3NjY0Nzk1ICswMjAwCisrKysg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfbGliLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4x NzU2OTQwMjMgKzAyMDAKIEBAIC04NywxNCArODcsNyBAQCBjb25zdCBEU0FfTUVUSE9EICpEU0Ff Z2V0X2RlZmF1bHRfbWV0aG9kCiAgCXsKICAJaWYoIWRlZmF1bHRfRFNBX21ldGhvZCkKQEAgLTEw NTUsOCArMTA1OCw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2xp Yi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfCiAgCXJldHVybiBkZWZhdWx0 X0RTQV9tZXRob2Q7CiAgCX0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNh X2xvY2wuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2xvY2wuaAotLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX2xvY2wuaC5maXBzCTIwMTMtMDktMjcgMTQ6MzI6 MzQuODYyNjU0MzI4ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfbG9j bC5oCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI3NjY0Nzk1ICswMjAwCistLS0gb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2RzYS9kc2FfbG9jbC5oLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowMy45NTg2ODkx MjMgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9sb2NsLmgJMjAxMy0x MC0wNCAxMTo0ODowNC4xNzU2OTQwMjMgKzAyMDAKIEBAIC01Niw1ICs1Niw0IEBACiAgCiAgaW50 IGRzYV9idWlsdGluX3BhcmFtZ2VuKERTQSAqcmV0LCBzaXplX3QgYml0cywgc2l6ZV90IHFiaXRz LApAQCAtMTA2NSw3ICsxMDY4LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Rz YS9kc2FfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2EKICAJaW50ICpj b3VudGVyX3JldCwgdW5zaWduZWQgbG9uZyAqaF9yZXQsIEJOX0dFTkNCICpjYik7CiBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9vc3NsLmMuZmlwcyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZHNhL2RzYV9vc3NsLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2Rz YV9vc3NsLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX29zc2wuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMy NzY2NDc5NSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX29zc2wuYwky MDEzLTEwLTA0IDExOjQ4OjA0LjE3NTY5NDAyMyArMDIwMAogQEAgLTY1LDYgKzY1LDkgQEAKICAj aW5jbHVkZSA8b3BlbnNzbC9kc2EuaD4KICAjaW5jbHVkZSA8b3BlbnNzbC9yYW5kLmg+CkBAIC0x MTQxLDcgKzExNDQsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYV9v c3NsLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYQogIH0KIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX3BtZXRoLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZHNhL2RzYV9wbWV0aC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2Ff cG1ldGguYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2FfcG1ldGguYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMy NzY2NDc5NSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhX3BtZXRoLmMJ MjAxMy0xMC0wNCAxMTo0ODowNC4xNzU2OTQwMjMgKzAyMDAKIEBAIC0yNTUsNyArMjU1LDcgQEAg c3RhdGljIGludCBwa2V5X2RzYV9wYXJhbWdlbihFVlBfUEtFWV9DVAogIAlpZiAoIWRzYSkKICAJ CXJldHVybiAwOwpAQCAtMTE1Myw3ICsxMTU2LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2RzYS9kc2FfcG1ldGguYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2EvZHMK ICAJZWxzZQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2RzYS9kc2F0ZXN0LmMuZmlw cyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYXRlc3QuYwogLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9kc2EvZHNhdGVzdC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAg KzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZHNhL2RzYXRlc3QuYwkyMDEzLTA5LTI3 IDE0OjMyOjM1LjMyNzY2NDc5NSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9kc2Ev ZHNhdGVzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc2Njk0MDQ1ICswMjAwCiBAQCAtOTYsMzYg Kzk2LDQxIEBAIHN0YXRpYyBpbnQgTVNfQ0FMTEJBQ0sgZHNhX2NiKGludCBwLCBpbnQKICAvKiBz ZWVkLCBvdXRfcCwgb3V0X3EsIG91dF9nIGFyZSB0YWtlbiBmcm9tIHRoZSB1cGRhdGVkIEFwcGVu ZGl4IDUgdG8KICAgKiBGSVBTIFBVQiAxODYgYW5kIGFsc28gYXBwZWFyIGluIEFwcGVuZGl4IDUg dG8gRklQUyBQSUIgMTg2LTEgKi8KQEAgLTEyNDAsNyArMTI0Myw3IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9kc2EvZHNhdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2RzYS9kc2F0CiAgCWlmIChoICE9IDIpCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZW5naW5lL2VuZ19hbGwuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9lbmdpbmUvZW5nX2Fs bC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VuZ2luZS9lbmdfYWxsLmMuZmlwcwkyMDEz LTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9lbmdpbmUvZW5nX2FsbC5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI4NjY0ODE3ICswMjAwCisr Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VuZ2luZS9lbmdfYWxsLmMJMjAxMy0xMC0wNCAxMTo0 ODowNC4xNzY2OTQwNDUgKzAyMDAKIEBAIC01OCwxMSArNTgsMjUgQEAKICAKICAjaW5jbHVkZSAi Y3J5cHRsaWIuaCIKQEAgLTEyNjksNyArMTI3Miw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9lbmdpbmUvZW5nX2FsbC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2VuZ2lu CiAgCSAqIGl0IGlzIHRoZSAqb25seSogd2F5IGZvciBzdGFuZGFyZCBidWlsdGluIGltcGxlbWVu dGF0aW9ucyB0byBiZSBiZQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9jX2Fs bGMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvY19hbGxjLmMKIC0tLSBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZXZwL2NfYWxsYy5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAw MDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2NfYWxsYy5jCTIwMTMt MDktMjcgMTQ6MzI6MzUuMzI4NjY0ODE3ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2V2cC9jX2FsbGMuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3NjY5NDA0NSArMDIwMAogQEAgLTY1 LDYgKzY1LDExIEBACiAgdm9pZCBPcGVuU1NMX2FkZF9hbGxfY2lwaGVycyh2b2lkKQogIAl7CkBA IC0xMzQ1LDcgKzEzNDgsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2Nf YWxsYy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9jX2FsbAogIAl9CiBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2NfYWxsZC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2V2cC9jX2FsbGQuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvY19hbGxk LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9ldnAvY19hbGxkLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMjg2NjQ4MTcg KzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2NfYWxsZC5jCTIwMTMtMTAtMDQg MTE6NDg6MDQuMTc2Njk0MDQ1ICswMjAwCiBAQCAtNjQsNiArNjQsMTEgQEAKICAKICB2b2lkIE9w ZW5TU0xfYWRkX2FsbF9kaWdlc3RzKHZvaWQpCkBAIC0xMzkzLDcgKzEzOTYsNyBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2NfYWxsZC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2V2cC9jX2FsbAogIAl9CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZw L2RpZ2VzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9kaWdlc3QuYwogLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZGlnZXN0LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0 LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZGlnZXN0LmMJ MjAxMy0wOS0yNyAxNDozMjozNS4zMjg2NjQ4MTcgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZXZwL2RpZ2VzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc2Njk0MDQ1ICswMjAwCiBA QCAtMTQyLDkgKzE0Miw1MCBAQCBpbnQgRVZQX0RpZ2VzdEluaXQoRVZQX01EX0NUWCAqY3R4LCBj b25zCiAgCXJldHVybiBFVlBfRGlnZXN0SW5pdF9leChjdHgsIHR5cGUsIE5VTEwpOwogIAl9CkBA IC0xNTQ0LDcgKzE1NDcsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2Rp Z2VzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9kaWdlcwogIAlyZXR1cm4gMTsK IGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZV9hZXMuYy5maXBzIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9ldnAvZV9hZXMuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAv ZV9hZXMuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9lX2Flcy5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI4NjY0 ODE3ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9lX2Flcy5jCTIwMTMtMTAt MDQgMTE6NDg6MDQuMTc3Njk0MDY4ICswMjAwCiBAQCAtNTYsNyArNTYsNiBAQAogICNpbmNsdWRl IDxhc3NlcnQuaD4KICAjaW5jbHVkZSA8b3BlbnNzbC9hZXMuaD4KQEAgLTE1NzgsNyArMTU4MSw3 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZV9hZXMuYy5maXBzIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9ldnAvZV9hZXMuCiAtI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZXZwL2VfZGVzMy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9l X2RlczMuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZV9kZXMzLmMuZmlwcwkyMDEz LTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9ldnAvZV9kZXMzLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMjg2NjQ4MTcgKzAyMDAKKysrKyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2VfZGVzMy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc3 Njk0MDY4ICswMjAwCiBAQCAtNjUsOCArNjUsNiBAQAogICNpbmNsdWRlIDxvcGVuc3NsL2Rlcy5o PgogICNpbmNsdWRlIDxvcGVuc3NsL3JhbmQuaD4KQEAgLTE2MzksNyArMTY0Miw3IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZV9kZXMzLmMuZmlwcyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZXZwL2VfZGVzCiAtI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZXZwL2VfbnVsbC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9lX251bGwuYwog LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZV9udWxsLmMuZmlwcwkyMDEzLTAyLTExIDE2 OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZV9u dWxsLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMjk2NjQ4NDAgKzAyMDAKKysrKyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZXZwL2VfbnVsbC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc3Njk0MDY4ICsw MjAwCiBAQCAtNjEsOCArNjEsNiBAQAogICNpbmNsdWRlIDxvcGVuc3NsL2V2cC5oPgogICNpbmNs dWRlIDxvcGVuc3NsL29iamVjdHMuaD4KQEAgLTE2NjUsNyArMTY2OCw3IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZV9udWxsLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZXZwL2VfbnVsCiAtI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZw L2V2cF9lbmMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwX2VuYy5jCiAtLS0g b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfZW5jLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2 OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwX2Vu Yy5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI5NjY0ODQwICswMjAwCisrKysgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2V2cC9ldnBfZW5jLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzc2OTQwNjggKzAy MDAKIEBAIC02OSwxNyArNjksNTggQEAKICAjZW5kaWYKICAjaW5jbHVkZSAiZXZwX2xvY2wuaCIK QEAgLTE4MTUsOCArMTgxOCw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAv ZXZwX2VuYy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfCiAgCXJldHVybiAx OwogIAl9CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cC5oLmZpcHMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnAuaAotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9l dnAvZXZwLmguZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM0Ljk4NjY1NzExOSArMDIwMAotKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwLmgJMjAxMy0wOS0yNyAxNDozMjozNS4zMjk2NjQ4 NDAgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cC5oLmZpcHMJMjAxMy0x MC0wNCAxMTo0ODowNC4wNzE2OTE2NzUgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZXZwL2V2cC5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc3Njk0MDY4ICswMjAwCiBAQCAtNzUsNiAr NzUsMTAgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9iaW8uaD4KICAjZW5kaWYKQEAgLTE4MjgsNyAr MTgzMSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwLmguZmlwcyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cC5oCiAgLyoKICAjZGVmaW5lIEVWUF9SQzJfS0VZ X1NJWkUJCTE2CiAgI2RlZmluZSBFVlBfUkM0X0tFWV9TSVpFCQkxNgotQEAgLTI3MiwxMCArMjc2 LDYgQEAgc3RydWN0IGVudl9tZF9jdHhfc3QKK0BAIC0yODIsMTAgKzI4Niw2IEBAIHN0cnVjdCBl bnZfbWRfY3R4X3N0CiAgCQkJCQkJKiBjbGVhbmVkICovCiAgI2RlZmluZSBFVlBfTURfQ1RYX0ZM QUdfUkVVU0UJCTB4MDAwNCAvKiBEb24ndCBmcmVlIHVwIGN0eC0+bWRfZGF0YQogIAkJCQkJCSog aW4gRVZQX01EX0NUWF9jbGVhbnVwICovCkBAIC0xODM5LDcgKzE4NDIsNyBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2V2cC9ldnAuaAogICNkZWZpbmUgRVZQX01EX0NUWF9GTEFHX05PTl9GSVBTX0FMTE9XCTB4MDAw OAkvKiBBbGxvdyB1c2Ugb2Ygbm9uIEZJUFMgZGlnZXN0CiAgCQkJCQkJICogaW4gRklQUyBtb2Rl ICovCiAgCi1AQCAtMjg3LDYgKzI4NywxMCBAQCBzdHJ1Y3QgZW52X21kX2N0eF9zdAorQEAgLTI5 Nyw2ICsyOTcsMTAgQEAgc3RydWN0IGVudl9tZF9jdHhfc3QKICAjZGVmaW5lIEVWUF9NRF9DVFhf RkxBR19QQURfUEtDUzEJMHgwMAkvKiBQS0NTIzEgdjEuNSBtb2RlICovCiAgI2RlZmluZSBFVlBf TURfQ1RYX0ZMQUdfUEFEX1g5MzEJMHgxMAkvKiBYOS4zMSBtb2RlICovCiAgI2RlZmluZSBFVlBf TURfQ1RYX0ZMQUdfUEFEX1BTUwkJMHgyMAkvKiBQU1MgbW9kZSAqLwpAQCAtMTg1MCw3ICsxODUz LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnAuaC5maXBzIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwLmgKICAKICAjZGVmaW5lIEVWUF9NRF9DVFhfRkxBR19O T19JTklUCQkweDAxMDAgLyogRG9uJ3QgaW5pdGlhbGl6ZSBtZF9kYXRhICovCiAgCi1AQCAtMzM4 LDE1ICszNDIsMTUgQEAgc3RydWN0IGV2cF9jaXBoZXJfc3QKK0BAIC0zNDgsMTUgKzM1MiwxNSBA QCBzdHJ1Y3QgZXZwX2NpcGhlcl9zdAogIC8qIGNpcGhlciBoYW5kbGVzIHJhbmRvbSBrZXkgZ2Vu ZXJhdGlvbiAqLwogICNkZWZpbmUgCUVWUF9DSVBIX1JBTkRfS0VZCQkweDIwMAogIC8qIGNpcGhl ciBoYXMgaXRzIG93biBhZGRpdGlvbmFsIGNvcHlpbmcgbG9naWMgKi8KQEAgLTE4NzEsNyArMTg3 NCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwLmguZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cC5oCiAgICovCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZXZwL2V2cF9saWIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZw X2xpYi5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfbGliLmMuZmlwcwkyMDEz LTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9ldnAvZXZwX2xpYi5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzI5NjY0ODQwICswMjAwCisrKysg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfbGliLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4x Nzc2OTQwNjggKzAyMDAKIEBAIC0xOTAsNiArMTkwLDkgQEAgaW50IEVWUF9DSVBIRVJfQ1RYX2Js b2NrX3NpemUoY29uc3QgRVZQXwogIAogIGludCBFVlBfQ2lwaGVyKEVWUF9DSVBIRVJfQ1RYICpj dHgsIHVuc2lnbmVkIGNoYXIgKm91dCwgY29uc3QgdW5zaWduZWQgY2hhciAqaW4sIHVuc2lnbmVk IGludCBpbmwpCkBAIC0xODgzLDggKzE4ODYsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZXZwL2V2cF9saWIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwXwog IAl9CiAgCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF9sb2NsLmguZmlw cyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL2V2cF9sb2NsLmgKLS0tLSBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZXZwL2V2cF9sb2NsLmguZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM0Ljk4MTY1NzAw NiArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvZXZwX2xvY2wuaAkyMDEzLTA5 LTI3IDE0OjMyOjM1LjMyOTY2NDg0MCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9l dnAvZXZwX2xvY2wuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMDY3NjkxNTg0ICswMjAwCisr Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfbG9jbC5oCTIwMTMtMTAtMDQgMTE6NDg6 MDQuMTc4Njk0MDkxICswMjAwCiBAQCAtMjU4LDEwICsyNTgsOSBAQCBjb25zdCBFVlBfQ0lQSEVS ICpFVlBfIyNjbmFtZSMjX2VjYih2b2lkCiAgCUJMT0NLX0NJUEhFUl9mdW5jX2NmYihjaXBoZXIj I18jI2tleXNpemUsY3ByZWZpeCxjYml0cyxrc3RydWN0LGtzY2hlZCkgXAogIAlCTE9DS19DSVBI RVJfZGVmX2NmYihjaXBoZXIjI18jI2tleXNpemUsa3N0cnVjdCwgXApAQCAtMTkyMSw3ICsxOTI0 LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnBfbG9jbC5oLmZpcHMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9ldnAKICAjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9ldnAvTWFrZWZpbGUuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZw L01ha2VmaWxlCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9NYWtlZmlsZS5maXBzCTIw MTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2V2cC9NYWtlZmlsZQkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMDY2NDg2MyArMDIwMAorKysr IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvTWFrZWZpbGUJMjAxMy0xMC0wNCAxMTo0ODowNC4x Nzg2OTQwOTEgKzAyMDAKIEBAIC0yOCw3ICsyOCw3IEBAIExJQlNSQz0gZW5jb2RlLmMgZGlnZXN0 LmMgZXZwX2VuYy5jIGV2cF8KICAJYmlvX21kLmMgYmlvX2I2NC5jIGJpb19lbmMuYyBldnBfZXJy LmMgZV9udWxsLmMgXAogIAljX2FsbC5jIGNfYWxsYy5jIGNfYWxsZC5jIGV2cF9saWIuYyBiaW9f b2suYyBcCkBAIC0xOTQyLDcgKzE5NDUsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZXZwL01ha2VmaWxlLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9NYWtlZgogIFNS Qz0gJChMSUJTUkMpCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZHNzLmMu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZHNzLmMKIC0tLSBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZXZwL21fZHNzLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCAr MDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9kc3MuYwkyMDEzLTA5LTI3IDE0 OjMyOjM1LjMzMDY2NDg2MyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9k c3MuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3ODY5NDA5MSArMDIwMAogQEAgLTY2LDcgKzY2LDYg QEAKICAjZW5kaWYKICAKQEAgLTE5NjcsNyArMTk3MCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9ldnAvbV9kc3MuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9k c3MuCiAtI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fZHNzMS5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2RzczEuYwogLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9ldnAvbV9kc3MxLmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAw MCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9kc3MxLmMJMjAxMy0wOS0y NyAxNDozMjozNS4zMzA2NjQ4NjMgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZw L21fZHNzMS5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc4Njk0MDkxICswMjAwCiBAQCAtNjgsOCAr NjgsNiBAQAogICNpbmNsdWRlIDxvcGVuc3NsL2RzYS5oPgogICNlbmRpZgpAQCAtMTk5Myw3ICsx OTk2LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX2RzczEuYy5maXBz IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9kc3MKIC0jZW5kaWYKIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9ldnAvbV9tZDIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9l dnAvbV9tZDIuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9tZDIuYy5maXBzCTIw MTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2V2cC9tX21kMi5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzMwNjY0ODYzICswMjAwCisrKysg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX21kMi5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTc4 Njk0MDkxICswMjAwCiBAQCAtNjgsNiArNjgsNyBAQAogICNpZm5kZWYgT1BFTlNTTF9OT19SU0EK ICAjaW5jbHVkZSA8b3BlbnNzbC9yc2EuaD4KQEAgLTIwMDQsNyArMjAwNyw3IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9tZDIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9ldnAvbV9tZDIuCiAgCXsgcmV0dXJuIE1EMl9Jbml0KGN0eC0+bWRfZGF0YSk7IH0KIGRp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9zaGExLmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZXZwL21fc2hhMS5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9t X3NoYTEuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9tX3NoYTEuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMDY2 NDg2MyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvbV9zaGExLmMJMjAxMy0x MC0wNCAxMTo0ODowNC4xNzg2OTQwOTEgKzAyMDAKIEBAIC01OSw4ICs1OSw2IEBACiAgI2luY2x1 ZGUgPHN0ZGlvLmg+CiAgI2luY2x1ZGUgImNyeXB0bGliLmgiCkBAIC0yMDcxLDcgKzIwNzQsNyBA QCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL21fc2hhMS5jLmZpcHMgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2V2cC9tX3NoYQogLSNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2V2cC9wX3NpZ24uYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9ldnAvcF9z aWduLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL3Bfc2lnbi5jLmZpcHMJMjAxMy0w Mi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v ZXZwL3Bfc2lnbi5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzMwNjY0ODYzICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9wX3NpZ24uYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3OTY5 NDExNCArMDIwMAogQEAgLTYxLDYgKzYxLDcgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4K ICAjaW5jbHVkZSA8b3BlbnNzbC9vYmplY3RzLmg+CkBAIC0yMTA1LDcgKzIxMDgsNyBAQCBkaWZm IC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL3Bfc2lnbi5jLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2V2cC9wX3NpZwogIAkJKnNpZ2xlbiA9IHNsdG1wOwogZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2V2cC9wX3ZlcmlmeS5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2V2cC9wX3ZlcmlmeS5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9wX3ZlcmlmeS5j LmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZXZwL3BfdmVyaWZ5LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzA2NjQ4NjMg KzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZXZwL3BfdmVyaWZ5LmMJMjAxMy0xMC0w NCAxMTo0ODowNC4xNzk2OTQxMTQgKzAyMDAKIEBAIC02MSw2ICs2MSw3IEBACiAgI2luY2x1ZGUg PG9wZW5zc2wvZXZwLmg+CiAgI2luY2x1ZGUgPG9wZW5zc2wvb2JqZWN0cy5oPgpAQCAtMjEzOCw4 ICsyMTQxLDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9wX3ZlcmlmeS5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2V2cC9wX3YKICAJCWVycjoKICAJCUVWUF9QS0VZ X0NUWF9mcmVlKHBrY3R4KTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2Nh dnMvZmlwc19hZXNhdnMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlw c19hZXNhdnMuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19hZXNh dnMuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzMxNjY0ODg1ICswMjAwCi0rKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Flc2F2cy5jCTIwMTMtMDktMjcgMTQ6MzI6 MzUuMzMxNjY0ODg1ICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9m aXBzX2Flc2F2cy5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzk2OTQxMTQgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfYWVzYXZzLmMJMjAxMy0xMC0w NCAxMTo0ODowNC4xNzk2OTQxMTQgKzAyMDAKIEBAIC0wLDAgKzEsOTM5IEBACiArLyogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDQgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCBy aWdodHMgcmVzZXJ2ZWQuCkBAIC0zMDgxLDggKzMwODQsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfYWVzYXZzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9j cnlwdAogKwogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2 cy9maXBzX2NtYWN0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2Zp cHNfY21hY3Rlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19j bWFjdGVzdC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzE2NjQ4ODUgKzAyMDAKLSsrKyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfY21hY3Rlc3QuYwkyMDEzLTA5LTI3 IDE0OjMyOjM1LjMzMTY2NDg4NSArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBz L2NhdnMvZmlwc19jbWFjdGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xNzk2OTQxMTQg KzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfY21hY3Rlc3Qu YwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE3OTY5NDExNCArMDIwMAogQEAgLTAsMCArMSw1MTcgQEAK ICsvKiBmaXBzX2NtYWN0ZXN0LmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5z b24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTM2MDIsOCArMzYwNSw4 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19jbWFjdGVz dC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5CiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZGVzbW92cy5jLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Rlc21vdnMuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2NhdnMvZmlwc19kZXNtb3ZzLmMuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMz MTY2NDg4NSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19k ZXNtb3ZzLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzE2NjQ4ODUgKzAyMDAKKy0tLSBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZGVzbW92cy5jLmZpcHMJMjAxMy0xMC0wNCAx MTo0ODowNC4xODA2OTQxMzYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9j YXZzL2ZpcHNfZGVzbW92cy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgwNjk0MTM2ICswMjAwCiBA QCAtMCwwICsxLDcwMiBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDA0 IFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtNDMwOCw4ICs0 MzExLDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Rl c21vdnMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXAKICsKICsjZW5kaWYKIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kaHZzLmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZGh2cy5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvY2F2cy9maXBzX2RodnMuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzMyNjY0 OTA4ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2RodnMu YwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMTY2NDg4NSArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2NhdnMvZmlwc19kaHZzLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4 MDY5NDEzNiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19k aHZzLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODA2OTQxMzYgKzAyMDAKIEBAIC0wLDAgKzEsMjky IEBACiArLyogZmlwcy9kaC9maXBzX2RodnMuYyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhl biBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTApAQCAtNDYwNCw4 ICs0NjA3LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBz X2RodnMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by8KICsKICsjZW5kaWYKIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kcmJndnMuYy5maXBzIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kcmJndnMuYwotLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kcmJndnMuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6 MzUuMzMyNjY0OTA4ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9m aXBzX2RyYmd2cy5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzMyNjY0OTA4ICswMjAwCistLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2RyYmd2cy5jLmZpcHMJMjAxMy0xMC0w NCAxMTo0ODowNC4xODA2OTQxMzYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9jYXZzL2ZpcHNfZHJiZ3ZzLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODA2OTQxMzYgKzAyMDAK IEBAIC0wLDAgKzEsNDE2IEBACiArLyogZmlwcy9yYW5kL2ZpcHNfZHJiZ3ZzLmMgKi8KICsvKiBX cml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhl IE9wZW5TU0wKQEAgLTUwMjQsOCArNTAyNyw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2NhdnMvZmlwc19kcmJndnMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0CiAr CiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNf ZHNzdnMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kc3N2cy5j Ci0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Rzc3ZzLmMuZmlwcwky MDEzLTA5LTI3IDE0OjMyOjM1LjMzMjY2NDkwOCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2NhdnMvZmlwc19kc3N2cy5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzMyNjY0OTA4 ICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Rzc3ZzLmMu ZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MDY5NDEzNiArMDIwMAorKysrIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19kc3N2cy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgw Njk0MTM2ICswMjAwCiBAQCAtMCwwICsxLDUzNyBAQAogKyNpbmNsdWRlIDxvcGVuc3NsL29wZW5z c2xjb25mLmg+CiArCkBAIC01NTY1LDggKzU1NjgsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZHNzdnMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0 bwogKwogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9m aXBzX2djbXRlc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19n Y210ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZ2NtdGVz dC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzI2NjQ5MDggKzAyMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfZ2NtdGVzdC5jCTIwMTMtMDktMjcgMTQ6MzI6 MzUuMzMyNjY0OTA4ICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9m aXBzX2djbXRlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgxNjk0MTU4ICswMjAwCisr Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2djbXRlc3QuYwkyMDEzLTEw LTA0IDExOjQ4OjA0LjE4MTY5NDE1OCArMDIwMAogQEAgLTAsMCArMSw1NzEgQEAKICsvKiBmaXBz L2Flcy9maXBzX2djbXRlc3QuYyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNv biAoc3RldmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTApAQCAtNjE0MCw4ICs2MTQzLDgg QEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2djbXRlc3Qu Yy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXAKICsKICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19ybmd2cy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JuZ3ZzLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9jYXZzL2ZpcHNfcm5ndnMuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzMyNjY0OTA4 ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JuZ3ZzLmMJ MjAxMy0wOS0yNyAxNDozMjozNS4zMzI2NjQ5MDggKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9jYXZzL2ZpcHNfcm5ndnMuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgx Njk0MTU4ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3Ju Z3ZzLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODE2OTQxNTggKzAyMDAKIEBAIC0wLDAgKzEsMjMw IEBACiArLyoKICsgKiBDcnVkZSB0ZXN0IGRyaXZlciBmb3IgcHJvY2Vzc2luZyB0aGUgVlNUIGFu ZCBNQ1QgdGVzdHZlY3RvciBmaWxlcwpAQCAtNjM3NCw4ICs2Mzc3LDggQEAgZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JuZ3ZzLmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8KICsgICAgfQogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvY2F2cy9maXBzX3JzYWd0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9jYXZzL2ZpcHNfcnNhZ3Rlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBz L2NhdnMvZmlwc19yc2FndGVzdC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzM2NjQ5MzAg KzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhZ3Rlc3Qu YwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMzY2NDkzMCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2NhdnMvZmlwc19yc2FndGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODow NC4xODE2OTQxNTggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2Zp cHNfcnNhZ3Rlc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MTY5NDE1OCArMDIwMAogQEAgLTAs MCArMSwzOTAgQEAKICsvKiBmaXBzX3JzYWd0ZXN0LmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0 ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTY3 NjgsOCArNjc3MSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMv Zmlwc19yc2FndGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5CiArCiArI2VuZGlmCiBkaWZm IC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhc3Rlc3QuYy5maXBz IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19yc2FzdGVzdC5jCi0tLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYXN0ZXN0LmMuZmlwcwkyMDEzLTA5 LTI3IDE0OjMyOjM1LjMzMzY2NDkzMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2NhdnMvZmlwc19yc2FzdGVzdC5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzMzNjY0OTMwICsw MjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYXN0ZXN0LmMu ZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MTY5NDE1OCArMDIwMAorKysrIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19yc2FzdGVzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQu MTgxNjk0MTU4ICswMjAwCiBAQCAtMCwwICsxLDM3MCBAQAogKy8qIGZpcHNfcnNhc3Rlc3QuYyAq LwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5vcmcp IGZvciB0aGUgT3BlblNTTApAQCAtNzE0Miw4ICs3MTQ1LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYXN0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4x ZS9jcnkKICsJfQogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Y2F2cy9maXBzX3JzYXZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZz L2ZpcHNfcnNhdnRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlw c19yc2F2dGVzdC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzM2NjQ5MzAgKzAyMDAKLSsr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhdnRlc3QuYwkyMDEzLTA5 LTI3IDE0OjMyOjM1LjMzMzY2NDkzMCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2NhdnMvZmlwc19yc2F2dGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODE2OTQx NTggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhdnRl c3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MTY5NDE1OCArMDIwMAogQEAgLTAsMCArMSwzNzcg QEAKICsvKiBmaXBzX3JzYXZ0ZXN0LmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBI ZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTc1MjMsOCArNzUy Niw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19yc2F2 dGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5CiArCX0KICsjZW5kaWYKIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19zaGF0ZXN0LmMuZmlwcyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfc2hhdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3NoYXRlc3QuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6 MzUuMzMzNjY0OTMwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9m aXBzX3NoYXRlc3QuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMzY2NDkzMCArMDIwMAorLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc19zaGF0ZXN0LmMuZmlwcwkyMDEzLTEw LTA0IDExOjQ4OjA0LjE4MjY5NDE4MSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2NhdnMvZmlwc19zaGF0ZXN0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODI2OTQxODEgKzAy MDAKIEBAIC0wLDAgKzEsMzg4IEBACiArLyogZmlwc19zaGF0ZXN0LmMgKi8KICsvKiBXcml0dGVu IGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5T U0wKQEAgLTc5MTUsOCArNzkxOCw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2NhdnMvZmlwc19zaGF0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwCiArCiArI2Vu ZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfdXRsLmgu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfdXRsLmgKLS0tLSBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfdXRsLmguZmlwcwkyMDEzLTA5LTI3IDE0 OjMyOjM1LjMzMzY2NDkzMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2Nh dnMvZmlwc191dGwuaAkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzMzY2NDkzMCArMDIwMAorLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2NhdnMvZmlwc191dGwuaC5maXBzCTIwMTMtMTAtMDQg MTE6NDg6MDQuMTgyNjk0MTgxICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Y2F2cy9maXBzX3V0bC5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgyNjk0MTgxICswMjAwCiBAQCAt MCwwICsxLDM0MyBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDA3IFRo ZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtODI2Miw4ICs4MjY1 LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3V0bC5o LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2YKICsgICAgfQogKwogZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19hZXNfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzX2Flc19zZWxmdGVzdC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4z MzQ2NjQ5NTIgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Flc19z ZWxmdGVzdC5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM0NjY0OTUyICswMjAwCistLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19hZXNfc2VsZnRlc3QuYy5maXBzCTIwMTMtMTAtMDQg MTE6NDg6MDQuMTgyNjk0MTgxICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19hZXNfc2VsZnRlc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MjY5NDE4MSArMDIwMAog QEAgLTAsMCArMSwzNTkgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAw MyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTg2MjUsOCAr ODYyOCw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfYWVzX3Nl bGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwCiArCiArI2VuZGlmCiBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9maXBzLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmMuZmlw cwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNDY2NDk1MiArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHMuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNDY2NDk1MiArMDIwMAor LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuYy5maXBzCTIwMTMtMTAtMDQgMTE6 NDg6MDQuMTgyNjk0MTgxICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw cy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgyNjk0MTgxICswMjAwCiBAQCAtMCwwICsxLDQ4OSBA QAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDAzIFRoZSBPcGVuU1NMIFBy b2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtOTExOCw4ICs5MTIxLDggQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwcy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwcy4KICsKICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfY21hY19zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwc19jbWFjX3NlbGZ0ZXN0LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9maXBzX2NtYWNfc2VsZnRlc3QuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM0NjY0OTUy ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19jbWFjX3NlbGZ0ZXN0 LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzQ2NjQ5NTIgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzX2NtYWNfc2VsZnRlc3QuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6 MDQuMTgzNjk0MjA0ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19j bWFjX3NlbGZ0ZXN0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODM2OTQyMDQgKzAyMDAKIEBAIC0w LDAgKzEsMTYxIEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhl IE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC05MjgzLDggKzkyODYs OCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2NtYWNfc2VsZnRl c3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeQogKwl9CiArI2VuZGlmCiBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Rlc19zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kZXNfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfZGVzX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1 LjMzNDY2NDk1MiArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZGVz X3NlbGZ0ZXN0LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzQ2NjQ5NTIgKzAyMDAKKy0tLSBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2Rlc19zZWxmdGVzdC5jLmZpcHMJMjAxMy0xMC0w NCAxMTo0ODowNC4xODM2OTQyMDQgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9maXBzX2Rlc19zZWxmdGVzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgzNjk0MjA0ICswMjAw CiBAQCAtMCwwICsxLDE0NyBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAy MDAzIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtOTQzNCw4 ICs5NDM3LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kZXNf c2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXAKICsgICAgfQogKyNlbmRpZgogZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jLmZpcHMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jCi0tLS0gb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2N0ci5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4z MzQ2NjQ5NTIgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdf Y3RyLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzQ2NjQ5NTIgKzAyMDAKKy0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfY3RyLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0 LjE4MzY5NDIwNCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJi Z19jdHIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MzY5NDIwNCArMDIwMAogQEAgLTAsMCArMSw0 MzYgQEAKICsvKiBmaXBzL3JhbmQvZmlwc19kcmJnX2N0ci5jICovCiArLyogV3JpdHRlbiBieSBE ciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBA IC05ODc0LDggKzk4NzcsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzX2RyYmdfY3RyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZgogKwlyZXR1cm4gMTsK ICsJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2hhc2gu Yy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19oYXNoLmMKLS0tLSBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaGFzaC5jLmZpcHMJMjAxMy0wOS0y NyAxNDozMjozNS4zMzU2NjQ5NzUgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9maXBzX2RyYmdfaGFzaC5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM1NjY0OTc1ICswMjAwCist LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2hhc2guYy5maXBzCTIwMTMt MTAtMDQgMTE6NDg6MDQuMTgzNjk0MjA0ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwc19kcmJnX2hhc2guYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4MzY5NDIwNCArMDIw MAogQEAgLTAsMCArMSwzNzggQEAKICsvKiBmaXBzL3JhbmQvZmlwc19kcmJnX2hhc2guYyAqLwog Ky8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5vcmcpIGZv ciB0aGUgT3BlblNTTApAQCAtMTAyNTYsOCArMTAyNTksOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaGFzaC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvLwogKwlyZXR1cm4gMTsKICsJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19kcmJnX2htYWMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNf ZHJiZ19obWFjLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaG1h Yy5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzU2NjQ5NzUgKzAyMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaG1hYy5jCTIwMTMtMDktMjcgMTQ6MzI6MzUu MzM1NjY0OTc1ICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJn X2htYWMuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTgzNjk0MjA0ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2htYWMuYwkyMDEzLTEwLTA0IDExOjQ4 OjA0LjE4MzY5NDIwNCArMDIwMAogQEAgLTAsMCArMSwyODEgQEAKICsvKiBmaXBzL3JhbmQvZmlw c19kcmJnX2htYWMuYyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNvbiAoc3Rl dmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTApAQCAtMTA1NDEsOCArMTA1NDQsOCBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfaG1hYy5jLmZpcHMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvLwogKwlyZXR1cm4gMTsKICsJfQogZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwc19kcmJnX2xpYi5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19kcmJnX2xpYi5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzU2NjQ5NzUgKzAy MDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfbGliLmMJMjAxMy0w OS0yNyAxNDozMjozNS4zMzU2NjQ5NzUgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX2RyYmdfbGliLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NDY5NDIyNiAr MDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19saWIuYwkyMDEz LTEwLTA0IDExOjQ4OjA0LjE4NDY5NDIyNiArMDIwMAogQEAgLTAsMCArMSw1NzggQEAKICsvKiBX cml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhl IE9wZW5TU0wKICsgKiBwcm9qZWN0LgpAQCAtMTExMjMsOCArMTExMjYsOCBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfbGliLmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZgogKwlyZXR1cm4gMTsKICsJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfZHJiZ19yYW5kLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X2RyYmdfcmFuZC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzU2NjQ5NzUgKzAyMDAKLSsr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfcmFuZC5jCTIwMTMtMDktMjcg MTQ6MzI6MzUuMzM1NjY0OTc1ICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19kcmJnX3JhbmQuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg0Njk0MjI2ICswMjAw CisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYwkyMDEzLTEw LTA0IDExOjQ4OjA0LjE4NDY5NDIyNiArMDIwMAogQEAgLTAsMCArMSwxNzIgQEAKICsvKiBmaXBz L3JhbmQvZmlwc19kcmJnX3JhbmQuYyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhl bnNvbiAoc3RldmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTApAQCAtMTEyOTksOCArMTEz MDIsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfcmFu ZC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvLwogKwl9CiArCiBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1 LjMzNjY2NDk5OCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJi Z19zZWxmdGVzdC5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM2NjY0OTk4ICswMjAwCistLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTEw LTA0IDExOjQ4OjA0LjE4NDY5NDIyNiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg0Njk0MjI2ICsw MjAwCiBAQCAtMCwwICsxLDg2MiBAQAogKy8qIGZpcHMvcmFuZC9maXBzX2RyYmdfc2VsZnRlc3Qu YyAqLwogKy8qIFdyaXR0ZW4gYnkgRHIgU3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5v cmcpIGZvciB0aGUgT3BlblNTTApAQCAtMTIxNjUsOCArMTIxNjgsOCBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2RyYmdfc2VsZnRlc3QuYy5maXBzIG9wZW5zc2wt MS4wLjFlL2NyeQogKwl9CiArCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzX2RyYmdfc2VsZnRlc3QuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNf ZHJiZ19zZWxmdGVzdC5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJn X3NlbGZ0ZXN0LmguZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNzY2NTAyMCArMDIwMAotKysr IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVzdC5oCTIwMTMtMDkt MjcgMTQ6MzI6MzUuMzM3NjY1MDIwICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NTY5NDI0 OSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHJiZ19zZWxmdGVz dC5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg1Njk0MjQ5ICswMjAwCiBAQCAtMCwwICsxLDIzMzUg QEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAxMSBUaGUgT3BlblNTTCBQ cm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE0NTA0LDggKzE0NTA3LDggQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3NlbGZ0ZXN0LmguZmlw cyBvcGVuc3NsLTEuMC4xZS9jcnkKICsJfTsKICsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX2RzYV9zZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19kc2Ffc2VsZnRlc3QuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM3NjY1MDIwICsw MjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19kc2Ffc2VsZnRlc3QuYwky MDEzLTA5LTI3IDE0OjMyOjM1LjMzNzY2NTAyMCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4 NTY5NDI0OSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHNhX3Nl bGZ0ZXN0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODU2OTQyNDkgKzAyMDAKIEBAIC0wLDAgKzEs MTkzIEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhlIE9wZW5T U0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xNDcwMSw4ICsxNDcwNCw4IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwCiArCX0KICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZW5jLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX2VuYy5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lbmMu Yy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM3NjY1MDIwICswMjAwCi0rKysgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19lbmMuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNzY2NTAy MCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfZW5jLmMuZmlwcwky MDEzLTEwLTA0IDExOjQ4OjA0LjE4NTY5NDI0OSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfZW5jLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODU2OTQyNDkgKzAyMDAK IEBAIC0wLDAgKzEsMTkxIEBACiArLyogZmlwZS9ldnAvZmlwc19lbmMuYyAqLwogKy8qIENvcHly aWdodCAoQykgMTk5NS0xOTk4IEVyaWMgWW91bmcgKGVheUBjcnlwdHNvZnQuY29tKQpAQCAtMTQ4 OTYsOCArMTQ4OTksOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X2VuYy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZgogKwl9CiArCiBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzLmgKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmgu ZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNzY2NTAyMCArMDIwMAotKysrIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHMuaAkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNzY2NTAyMCArMDIw MAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHMuaC5maXBzCTIwMTMtMTAtMDQg MTE6NDg6MDQuMTg2Njk0MjcxICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwcy5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg2Njk0MjcxICswMjAwCiBAQCAtMCwwICsxLDI3 OSBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDAzIFRoZSBPcGVuU1NM IFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMTUxNzksOCArMTUxODIsOCBAQCBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzLmguZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzLgogKyNlbmRpZgogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19obWFjX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX2htYWNfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfaG1hY19zZWxmdGVzdC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjoz NS4zMzc2NjUwMjAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2ht YWNfc2VsZnRlc3QuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzNzY2NTAyMCArMDIwMAorLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfaG1hY19zZWxmdGVzdC5jLmZpcHMJMjAxMy0x MC0wNCAxMTo0ODowNC4xODY2OTQyNzEgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX2htYWNfc2VsZnRlc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NjY5NDI3MSAr MDIwMAogQEAgLTAsMCArMSwxMzcgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAo YykgMjAwNSBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE1 MzIwLDggKzE1MzIzLDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw c19obWFjX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnkKICsgICAgfQogKyNlbmRp ZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19sb2NsLmguZmlwcyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2xvY2wuaAotLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9maXBzL2ZpcHNfbG9jbC5oLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzc2NjUw MjAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2xvY2wuaAkyMDEz LTA5LTI3IDE0OjMyOjM1LjMzNzY2NTAyMCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfbG9jbC5oLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODY2OTQyNzEgKzAy MDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX2xvY2wuaAkyMDEzLTEwLTA0 IDExOjQ4OjA0LjE4NjY5NDI3MSArMDIwMAogQEAgLTAsMCArMSw3MSBAQAogKy8qID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiArICogQ29weXJpZ2h0IChjKSAyMDExIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmln aHRzIHJlc2VydmVkLgpAQCAtMTUzOTUsOCArMTUzOTgsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX2xvY2wuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzLwogKyNlbmRpZgogKyNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2Zp cHMvZmlwc19tZC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19tZC5jCi0t LS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19tZC5jLmZpcHMJMjAxMy0wOS0yNyAx NDozMjozNS4zMzg2NjUwNDMgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzX21kLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzg2NjUwNDMgKzAyMDAKKy0tLSBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX21kLmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4 NjY5NDI3MSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfbWQuYwky MDEzLTEwLTA0IDExOjQ4OjA0LjE4NjY5NDI3MSArMDIwMAogQEAgLTAsMCArMSwxNDUgQEAKICsv KiBmaXBzL2V2cC9maXBzX21kLmMgKi8KICsvKiBDb3B5cmlnaHQgKEMpIDE5OTUtMTk5OCBFcmlj IFlvdW5nIChlYXlAY3J5cHRzb2Z0LmNvbSkKQEAgLTE1NTQ0LDggKzE1NTQ3LDggQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19tZC5jLmZpcHMgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL2ZpcHMvZmkKICsJCX0KICsJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwc19wb3N0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X3Bvc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMJ MjAxMy0wOS0yNyAxNDozMjozNS4zMzg2NjUwNDMgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzX3Bvc3QuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzODY2NTA0MyArMDIw MAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMJMjAxMy0x MC0wNCAxMTo0ODowNC4xODY2OTQyNzEgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX3Bvc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NjY5NDI3MSArMDIwMAogQEAg LTAsMCArMSwyMDUgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAxMSBU aGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE1NzUzLDggKzE1 NzU2LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy8KICsJfQogKyNlbmRpZgogZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kLmMuZmlwcyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzX3JhbmQuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBz L2ZpcHNfcmFuZC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzg2NjUwNDMgKzAyMDAKLSsr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmQuYwkyMDEzLTA5LTI3IDE0OjMy OjM1LjMzODY2NTA0MyArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNf cmFuZC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODc2OTQyOTQgKzAyMDAKKysrKyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmQuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4 NzY5NDI5NCArMDIwMAogQEAgLTAsMCArMSw0NTcgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENv cHlyaWdodCAoYykgMjAwNyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZl ZC4KQEAgLTE2MjE0LDggKzE2MjE3LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L2ZpcHMvZmlwc19yYW5kLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy8KICsKICsj ZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZC5oLmZp cHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kLmgKLS0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmQuaC5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM4 NjY1MDQzICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kLmgJ MjAxMy0wOS0yNyAxNDozMjozNS4zMzg2NjUwNDMgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9maXBzX3JhbmQuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg3Njk0Mjk0 ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kLmgJMjAxMy0x MC0wNCAxMTo0ODowNC4xODc2OTQyOTQgKzAyMDAKIEBAIC0wLDAgKzEsMTQ1IEBACiArLyogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFs bCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xNjM2Myw4ICsxNjM2Niw4IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZC5oLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvCiArI2VuZGlmCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9maXBzX3JhbmRfbGNsLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9m aXBzX3JhbmRfbGNsLmgKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRf bGNsLmguZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzODY2NTA0MyArMDIwMAotKysrIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9sY2wuaAkyMDEzLTA5LTI3IDE0OjMyOjM1 LjMzODY2NTA0MyArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFu ZF9sY2wuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg3Njk0Mjk0ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xjbC5oCTIwMTMtMTAtMDQgMTE6NDg6 MDQuMTg3Njk0Mjk0ICswMjAwCiBAQCAtMCwwICsxLDIxOSBAQAogKy8qIGZpcHMvcmFuZC9maXBz X3JhbmRfbGNsLmggKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZl QG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTE2NTg2LDggKzE2NTg5LDggQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xjbC5oLmZpcHMgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2YKICsjZGVmaW5lIEZJUFNfZGlnZXN0ZmluYWwgRVZQX0RpZ2Vz dEZpbmFsCiArI2RlZmluZSBNX0VWUF9NRF9zaXplIEVWUF9NRF9zaXplCiBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGliLmMuZmlwcyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGliLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX3JhbmRfbGliLmMuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzOTY2NTA2NSAr MDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9saWIuYwkyMDEz LTA5LTI3IDE0OjMyOjM1LjMzOTY2NTA2NSArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfcmFuZF9saWIuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg3Njk0Mjk0 ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX2xpYi5jCTIw MTMtMTAtMDQgMTE6NDg6MDQuMTg3Njk0Mjk0ICswMjAwCiBAQCAtMCwwICsxLDE5MSBAQAogKy8q ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDExIFRoZSBPcGVuU1NMIFByb2plY3Qu ICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMTY3ODEsOCArMTY3ODQsOCBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfbGliLmMuZmlwcyBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vZgogKwlyZXR1cm4gMDsKICsJfQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvZmlwc19yYW5kX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vZmlwcy9maXBzX3JhbmRfc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfcmFuZF9zZWxmdGVzdC5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zMzk2NjUw NjUgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmRfc2VsZnRl c3QuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjMzOTY2NTA2NSArMDIwMAorLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9zZWxmdGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0 ODowNC4xODc2OTQyOTQgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X3JhbmRfc2VsZnRlc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4NzY5NDI5NCArMDIwMAogQEAg LTAsMCArMSwxODMgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwMyBU aGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE2OTY4LDggKzE2 OTcxLDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kX3Nl bGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnkKICsKICsjZW5kaWYKIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZHRlc3QuYy5maXBzIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9maXBzL2ZpcHNfcmFuZHRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9maXBzL2ZpcHNfcmFuZHRlc3QuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM5NjY1MDY1 ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kdGVzdC5jCTIw MTMtMDktMjcgMTQ6MzI6MzUuMzM5NjY1MDY1ICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwc19yYW5kdGVzdC5jLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODg2OTQz MTYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JhbmR0ZXN0LmMJ MjAxMy0xMC0wNCAxMTo0ODowNC4xODc2OTQyOTQgKzAyMDAKIEBAIC0wLDAgKzEsMjUwIEBACiAr LyogQ29weXJpZ2h0IChDKSAxOTk1LTE5OTggRXJpYyBZb3VuZyAoZWF5QGNyeXB0c29mdC5jb20p CiArICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE3MjIyLDggKzE3MjI1LDggQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yYW5kdGVzdC5jLmZpcHMgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL2YKICsKICsjZW5kaWYKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMv Zmlwc19yc2Ffc2VsZnRlc3QuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM5NjY1MDY1ICsw MjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYwky MDEzLTA5LTI3IDE0OjMyOjM1LjMzOTY2NTA2NSArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4 ODY5NDMxNiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcnNhX3Nl bGZ0ZXN0LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODg2OTQzMTYgKzAyMDAKIEBAIC0wLDAgKzEs NDQ0IEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNyBUaGUg T3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE3NjcwLDggKzE3Njcz LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRl c3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXAKICsKICsjZW5kaWYgLyogZGVmIE9QRU5TU0xf RklQUyAqLwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yc2FfeDkz MWcuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfcnNhX3g5MzFnLmMKLS0t LSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3JzYV94OTMxZy5jLmZpcHMJMjAxMy0w OS0yNyAxNDozMjozNS4zMzk2NjUwNjUgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX3JzYV94OTMxZy5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzM5NjY1MDY1ICswMjAw CistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19yc2FfeDkzMWcuYy5maXBzCTIw MTMtMTAtMDQgMTE6NDg6MDQuMTg4Njk0MzE2ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL2ZpcHMvZmlwc19yc2FfeDkzMWcuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4ODY5NDMxNiAr MDIwMAogQEAgLTAsMCArMSwyODIgQEAKICsvKiBjcnlwdG8vcnNhL3JzYV9nZW4uYyAqLwogKy8q IENvcHlyaWdodCAoQykgMTk5NS0xOTk4IEVyaWMgWW91bmcgKGVheUBjcnlwdHNvZnQuY29tKQpA QCAtMTc5NTYsOCArMTc5NTksOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlw cy9maXBzX3JzYV94OTMxZy5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvLwogKwogKwl9CiBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3NoYV9zZWxmdGVzdC5jLmZp cHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19zaGFfc2VsZnRlc3QuYwotLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfc2hhX3NlbGZ0ZXN0LmMuZmlwcwkyMDEzLTA5 LTI3IDE0OjMyOjM1LjM0MDY2NTA4OCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfc2hhX3NlbGZ0ZXN0LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zNDA2NjUwODggKzAy MDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3NoYV9zZWxmdGVzdC5jLmZp cHMJMjAxMy0xMC0wNCAxMTo0ODowNC4xODg2OTQzMTYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vZmlwcy9maXBzX3NoYV9zZWxmdGVzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg4 Njk0MzE2ICswMjAwCiBAQCAtMCwwICsxLDE0MCBAQAogKy8qID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29w eXJpZ2h0IChjKSAyMDAzIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVk LgpAQCAtMTgxMDAsOCArMTgxMDMsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v Zmlwcy9maXBzX3NoYV9zZWxmdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cAogKwogKyNl bmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25l X2htYWMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfc3RhbmRhbG9uZV9o bWFjLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3N0YW5kYWxvbmVfaG1h Yy5jLmZpcHMJMjAxMy0wOS0yNyAxNDozMjozNS4zNDA2NjUwODggKzAyMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3N0YW5kYWxvbmVfaG1hYy5jCTIwMTMtMDktMjcgMTQ6 MzI6MzUuMzQwNjY1MDg4ICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw c19zdGFuZGFsb25lX2htYWMuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg4Njk0MzE2ICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25lX2htYWMu YwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4ODY5NDMxNiArMDIwMAogQEAgLTAsMCArMSwxODAgQEAK ICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwMyBUaGUgT3BlblNTTCBQcm9q ZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTE4Mjg0LDggKzE4Mjg3LDggQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25lX2htYWMuYy5maXBz IG9wZW5zc2wtMS4wLjFlL2MKICsKICsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9m aXBzL2ZpcHNfdGVzdF9zdWl0ZS5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlw c190ZXN0X3N1aXRlLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBzX3Rlc3Rf c3VpdGUuYy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQwNjY1MDg4ICswMjAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc190ZXN0X3N1aXRlLmMJMjAxMy0wOS0yNyAxNDoz MjozNS4zNDA2NjUwODggKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9maXBz X3Rlc3Rfc3VpdGUuYy5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg5Njk0MzM5ICswMjAwCisr Kysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvZmlwc190ZXN0X3N1aXRlLmMJMjAxMy0xMC0w NCAxMTo0ODowNC4xODk2OTQzMzkgKzAyMDAKIEBAIC0wLDAgKzEsNTg4IEBACiArLyogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCBy aWdodHMgcmVzZXJ2ZWQuCkBAIC0xODg3Niw4ICsxODg3OSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9maXBzL2ZpcHNfdGVzdF9zdWl0ZS5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvCiArCiArI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vZmlwcy9N YWtlZmlsZS5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL01ha2VmaWxlCi0tLS0gb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFrZWZpbGUuZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM1 LjM0MDY2NTA4OCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL01ha2VmaWxl CTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQwNjY1MDg4ICswMjAwCistLS0gb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL2ZpcHMvTWFrZWZpbGUuZmlwcwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4OTY5NDMzOSAr MDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9maXBzL01ha2VmaWxlCTIwMTMtMTAtMDQg MTE6NDg6MDQuMTg5Njk0MzM5ICswMjAwCiBAQCAtMCwwICsxLDM0MCBAQAogKyMKICsjIE9wZW5T U0wvY3J5cHRvL2ZpcHMvTWFrZWZpbGUKQEAgLTE5MjIxLDcgKzE5MjI0LDcgQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL2ZpcHMvTWFrZWZpbGUuZmlwcyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vZmlwcy9NYWsKICtmaXBzX3NoYV9zZWxmdGVzdC5vOiAuLi8uLi9pbmNsdWRlL29wZW5z c2wvc3ltaGFja3MuaCBmaXBzX3NoYV9zZWxmdGVzdC5jCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vaG1hYy9obWFjLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vaG1hYy9obWFj LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vaG1hYy9obWFjLmMuZmlwcwkyMDEzLTAyLTEx IDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9obWFj L2htYWMuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0MDY2NTA4OCArMDIwMAorKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9obWFjL2htYWMuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4OTY5NDMzOSAr MDIwMAogQEAgLTgxLDExICs4MSw2IEBAIGludCBITUFDX0luaXRfZXgoSE1BQ19DVFggKmN0eCwg Y29uc3Qgdm8KICAJCQlFVlBlcnIoRVZQX0ZfSE1BQ19JTklUX0VYLCBFVlBfUl9ESVNBQkxFRF9G T1JfRklQUyk7CiAgCQkJcmV0dXJuIDA7CkBAIC0xOTI4Niw3ICsxOTI4OSw3IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9obWFjL2htYWMuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9obWFjL2htYWMuCiAgCUVWUF9NRF9DVFhfY2xlYW51cCgmY3R4LT5tZF9jdHgpOwogZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kYzIvbWRjMmRnc3QuYy5maXBzIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9tZGMyL21kYzJkZ3N0LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v bWRjMi9tZGMyZGdzdC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAK LSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWRjMi9tZGMyZGdzdC5jCTIwMTMtMDktMjcgMTQ6 MzI6MzUuMzQxNjY1MTEwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kYzIvbWRj MmRnc3QuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE4OTY5NDMzOSArMDIwMAogQEAgLTc2LDcgKzc2 LDcgQEAKICAJCQkqKChjKSsrKT0odW5zaWduZWQgY2hhcikoKChsKT4+MjRMKSYweGZmKSkKICAK QEAgLTE5Mjk4LDcgKzE5MzAxLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21k YzIvbWRjMmRnc3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZGMyL20KICAJYy0+cGFk X3R5cGU9MTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZDIvbWQyX2Rnc3QuYy5m aXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9tZDIvbWQyX2Rnc3QuYwogLS0tIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9tZDIvbWQyX2Rnc3QuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAw MDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kMi9tZDJfZGdzdC5jCTIwMTMt MDktMjcgMTQ6MzI6MzUuMzQxNjY1MTEwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L21kMi9tZDJfZGdzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTg5Njk0MzM5ICswMjAwCiBAQCAt NjIsNiArNjIsMTEgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9tZDIuaD4KICAjaW5jbHVkZSA8b3Bl bnNzbC9vcGVuc3Nsdi5oPgpAQCAtMTkzMjIsNyArMTkzMjUsNyBAQCBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vbWQyL21kMl9kZ3N0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v bWQyL21kMgogIAltZW1zZXQoYy0+c3RhdGUsMCxzaXplb2YgYy0+c3RhdGUpOwogZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kNC9tZDRfZGdzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL21kNC9tZDRfZGdzdC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kNC9tZDRf ZGdzdC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vbWQ0L21kNF9kZ3N0LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zNDE2 NjUxMTAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWQ0L21kNF9kZ3N0LmMJMjAx My0xMC0wNCAxMTo0ODowNC4xOTA2OTQzNjIgKzAyMDAKIEBAIC03MSw3ICs3MSw3IEBAIGNvbnN0 IGNoYXIgTUQ0X3ZlcnNpb25bXT0iTUQ0IiBPUEVOU1NMX1YKICAjZGVmaW5lIElOSVRfREFUQV9D ICh1bnNpZ25lZCBsb25nKTB4OThiYWRjZmVMCiAgI2RlZmluZSBJTklUX0RBVEFfRCAodW5zaWdu ZWQgbG9uZykweDEwMzI1NDc2TApAQCAtMTkzMzQsNyArMTkzMzcsNyBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vbWQ0L21kNF9kZ3N0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vbWQ0L21kNAogIAljLT5BPUlOSVRfREFUQV9BOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL21kNS9tZDVfZGdzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kNS9tZDVf ZGdzdC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL21kNS9tZDVfZGdzdC5jLmZpcHMJMjAx My0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vbWQ1L21kNV9kZ3N0LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zNDE2NjUxMTAgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWQ1L21kNV9kZ3N0LmMJMjAxMy0xMC0wNCAxMTo0ODow NC4xOTA2OTQzNjIgKzAyMDAKIEBAIC03MSw3ICs3MSw3IEBAIGNvbnN0IGNoYXIgTUQ1X3ZlcnNp b25bXT0iTUQ1IiBPUEVOU1NMX1YKICAjZGVmaW5lIElOSVRfREFUQV9DICh1bnNpZ25lZCBsb25n KTB4OThiYWRjZmVMCiAgI2RlZmluZSBJTklUX0RBVEFfRCAodW5zaWduZWQgbG9uZykweDEwMzI1 NDc2TApAQCAtMTkzNDYsNyArMTkzNDksNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vbWQ1L21kNV9kZ3N0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vbWQ1L21kNQogIAlj LT5BPUlOSVRfREFUQV9BOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29fZmlwcy5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL29fZmlwcy5jCiAtLS0gb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL29fZmlwcy5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAK LSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19maXBzLmMJMjAxMy0wOS0yNyAxNDozMjozNS4z NDE2NjUxMTAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19maXBzLmMJMjAxMy0x MC0wNCAxMTo0ODowNC4xOTA2OTQzNjIgKzAyMDAKIEBAIC03OSw2ICs3OSw4IEBAIGludCBGSVBT X21vZGVfc2V0KGludCByKQogICNpZm5kZWYgRklQU19BVVRIX1VTRVJfUEFTUwogICNkZWZpbmUg RklQU19BVVRIX1VTRVJfUEFTUwkiRGVmYXVsdCBGSVBTIENyeXB0byBVc2VyIFBhc3N3b3JkIgpA QCAtMTkzNTgsNyArMTkzNjEsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19m aXBzLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19maXBzLmMKICAJaWYgKHIpCiBkaWZm IC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19pbml0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9j cnlwdG8vb19pbml0LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb19pbml0LmMuZmlwcwky MDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9vX2luaXQuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0MTY2NTExMCArMDIwMAorKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9vX2luaXQuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MDY5NDM2 MiArMDIwMAogQEAgLTU1LDI4ICs1NSw2OCBAQAogICNpbmNsdWRlIDxlX29zLmg+CiAgI2luY2x1 ZGUgPG9wZW5zc2wvZXJyLmg+CkBAIC0xOTQzNCw3ICsxOTQzNyw3IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2NyeXB0by9vX2luaXQuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9vX2lu aXQuYwogKwl9CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vb3BlbnNzbGNvbmYuaC5p bi5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9vcGVuc3NsY29uZi5oLmluCiAtLS0gb3BlbnNz bC0xLjAuMWUvY3J5cHRvL29wZW5zc2xjb25mLmguaW4uZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0 LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9vcGVuc3NsY29uZi5o LmluCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQxNjY1MTEwICswMjAwCisrKysgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL29wZW5zc2xjb25mLmguaW4JMjAxMy0xMC0wNCAxMTo0ODowNC4xOTA2OTQzNjIg KzAyMDAKIEBAIC0xLDUgKzEsMjAgQEAKICAvKiBjcnlwdG8vb3BlbnNzbGNvbmYuaC5pbiAqLwog IApAQCAtMTk0NTgsNyArMTk0NjEsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v b3BlbnNzbGNvbmYuaC5pbi5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9vcGVucwogIAogZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3BrY3MxMi9wMTJfY3J0LmMuZmlwcyBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vcGtjczEyL3AxMl9jcnQuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9wa2NzMTIvcDEyX2NydC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAx MDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcGtjczEyL3AxMl9jcnQuYwkyMDEzLTA5LTI3 IDE0OjMyOjM1LjM0MTY2NTExMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9wa2Nz MTIvcDEyX2NydC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkwNjk0MzYyICswMjAwCiBAQCAtNTks NiArNTksMTAgQEAKICAjaW5jbHVkZSA8c3RkaW8uaD4KICAjaW5jbHVkZSAiY3J5cHRsaWIuaCIK QEAgLTE5NDg3LDcgKzE5NDkwLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3Br Y3MxMi9wMTJfY3J0LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcGtjczEKICAJaWYgKCFp dGVyKQogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JhbmQvbWRfcmFuZC5jLmZpcHMg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JhbmQvbWRfcmFuZC5jCiAtLS0gb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL3JhbmQvbWRfcmFuZC5jLmZpcHMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAg KzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmFuZC9tZF9yYW5kLmMJMjAxMy0wOS0y NyAxNDozMjozNS4zNDI2NjUxMzMgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmFu ZC9tZF9yYW5kLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTA2OTQzNjIgKzAyMDAKIEBAIC0zODks NyArMzg5LDEwIEBAIHN0YXRpYyBpbnQgc3NsZWF5X3JhbmRfYnl0ZXModW5zaWduZWQgY2gKICAJ Q1JZUFRPX3dfdW5sb2NrKENSWVBUT19MT0NLX1JBTkQyKTsKICAJY3J5cHRvX2xvY2tfcmFuZCA9 IDE7CkBAIC0xOTUwMSw4ICsxOTUwNCw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9yYW5kL21kX3JhbmQuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yYW5kL21kCiAgCQlS QU5EX3BvbGwoKTsKICAJCWluaXRpYWxpemVkID0gMTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9yYW5kL3JhbmQuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yYW5kL3JhbmQu aAotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yYW5kL3JhbmQuaC5maXBzCTIwMTMtMDktMjcg MTQ6MzI6MzQuODQ3NjUzOTkwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JhbmQv cmFuZC5oCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQyNjY1MTMzICswMjAwCistLS0gb3BlbnNzbC0x LjAuMWUvY3J5cHRvL3JhbmQvcmFuZC5oLmZpcHMJMjAxMy0xMC0wNCAxMTo0ODowMy45NDU2ODg4 MjkgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmFuZC9yYW5kLmgJMjAxMy0xMC0w NCAxMTo0ODowNC4xOTA2OTQzNjIgKzAyMDAKIEBAIC0xMzMsMTUgKzEzMywzMyBAQCB2b2lkIEVS Ul9sb2FkX1JBTkRfc3RyaW5ncyh2b2lkKTsKICAvKiBFcnJvciBjb2RlcyBmb3IgdGhlIFJBTkQg ZnVuY3Rpb25zLiAqLwogIApAQCAtMTk1NDMsNyArMTk1NDYsNyBAQCBkaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9jcnlwdG8vcmFuZC9yYW5kLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcmFu ZC9yYW5kLgogIH0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yaXBlbWQvcm1kX2Rn c3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yaXBlbWQvcm1kX2Rnc3QuYwogLS0tIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9yaXBlbWQvcm1kX2Rnc3QuYy5maXBzCTIwMTMtMDItMTEgMTY6 MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JpcGVtZC9y bWRfZGdzdC5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQyNjY1MTMzICswMjAwCisrKysgb3BlbnNz bC0xLjAuMWUvY3J5cHRvL3JpcGVtZC9ybWRfZGdzdC5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkx Njk0Mzg1ICswMjAwCiBAQCAtNzAsNyArNzAsNyBAQCBjb25zdCBjaGFyIFJNRDE2MF92ZXJzaW9u W109IlJJUEUtTUQxNjAiCiAgICAgICB2b2lkIHJpcGVtZDE2MF9ibG9jayhSSVBFTUQxNjBfQ1RY ICpjLCB1bnNpZ25lZCBsb25nICpwLHNpemVfdCBudW0pOwogICMgIGVuZGlmCkBAIC0xOTU1NSw3 ICsxOTU1OCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yaXBlbWQvcm1kX2Rn c3QuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yaXBlCiAgCWMtPkE9UklQRU1EMTYwX0E7 CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9jcnB0LmMuZmlwcyBvcGVu c3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9jcnB0LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vcnNhL3JzYV9jcnB0LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEw MAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2NycHQuYwkyMDEzLTA5LTI3IDE0 OjMyOjM1LjM0MjY2NTEzMyArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNh X2NycHQuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MTY5NDM4NSArMDIwMAogQEAgLTkwLDEwICs5 MCw5IEBAIGludCBSU0FfcHJpdmF0ZV9lbmNyeXB0KGludCBmbGVuLCBjb25zdAogIAkgICAgIFJT QSAqcnNhLCBpbnQgcGFkZGluZykKICAJewpAQCAtMTk1ODQsNyArMTk1ODcsNyBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9jcnB0LmMuZmlwcyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vcnNhL3JzYQogICNlbmRpZgogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRv L3JzYS9yc2FfZWF5LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9lYXkuYwog LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2VheS5jLmZpcHMJMjAxMy0wMi0xMSAx NjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3Jz YV9lYXkuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0MjY2NTEzMyArMDIwMAorKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9yc2EvcnNhX2VheS5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkxNjk0Mzg1 ICswMjAwCiBAQCAtMTE0LDYgKzExNCwxMCBAQAogICNpbmNsdWRlIDxvcGVuc3NsL2JuLmg+CiAg I2luY2x1ZGUgPG9wZW5zc2wvcnNhLmg+CkBAIC0xOTcxNyw3ICsxOTcyMCw3IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX2VheS5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL3JzYS9yc2FfCiAgCX0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2Ev cnNhX2Vyci5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfZXJyLmMKIC0tLSBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9lcnIuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6 MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfZXJy LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zNDI2NjUxMzMgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vcnNhL3JzYV9lcnIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MTY5NDM4NSArMDIw MAogQEAgLTEyMSw2ICsxMjEsOCBAQCBzdGF0aWMgRVJSX1NUUklOR19EQVRBIFJTQV9zdHJfZnVu Y3RzW109CiAge0VSUl9GVU5DKFJTQV9GX1JTQV9QVUJMSUNfRU5DUllQVCksCSJSU0FfcHVibGlj X2VuY3J5cHQifSwKICB7RVJSX0ZVTkMoUlNBX0ZfUlNBX1BVQl9ERUNPREUpLAkiUlNBX1BVQl9E RUNPREUifSwKQEAgLTE5NzI5LDcgKzE5NzMyLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv Y3J5cHRvL3JzYS9yc2FfZXJyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV8K ICB7RVJSX0ZVTkMoUlNBX0ZfUlNBX1ZFUklGWSksCSJSU0FfdmVyaWZ5In0sCiBkaWZmIC11cCBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9nZW4uYy5maXBzIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by9yc2EvcnNhX2dlbi5jCiAtLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfZ2Vu LmMuZmlwcwkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9yc2EvcnNhX2dlbi5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQzNjY1MTU1 ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfZ2VuLmMJMjAxMy0xMC0w NCAxMTo0ODowNC4xOTE2OTQzODUgKzAyMDAKIEBAIC02OSw2ICs2OSw3OCBAQAogICNpbmNsdWRl IDxvcGVuc3NsL3JzYS5oPgogICNpZmRlZiBPUEVOU1NMX0ZJUFMKQEAgLTE5ODcyLDggKzE5ODc1 LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfZ2VuLmMuZmlwcyBv cGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV8KICBlcnI6CiAgCWlmIChvayA9PSAtMSkKIGRp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhLmguZmlwcyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vcnNhL3JzYS5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2EuaC5m aXBzCTIwMTMtMDktMjcgMTQ6MzI6MzQuOTkxNjU3MjMyICswMjAwCi0rKysgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL3JzYS9yc2EuaAkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0MzY2NTE1NSArMDIwMAor LS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhLmguZmlwcwkyMDEzLTEwLTA0IDExOjQ4 OjA0LjA3NTY5MTc2NSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhLmgJ MjAxMy0xMC0wNCAxMTo0ODowNC4xOTI2OTQ0MDcgKzAyMDAKIEBAIC0xNjQsNiArMTY0LDggQEAg c3RydWN0IHJzYV9zdAogICMgZGVmaW5lIE9QRU5TU0xfUlNBX01BWF9NT0RVTFVTX0JJVFMJMTYz ODQKICAjZW5kaWYKQEAgLTE5OTYwLDcgKzE5OTYzLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL3JzYS9yc2EuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhLmgK ICAjZGVmaW5lIFJTQV9SX1BfTk9UX1BSSU1FCQkJCSAxMjgKIGRpZmYgLXVwIG9wZW5zc2wtMS4w LjFlL2NyeXB0by9yc2EvcnNhX2xpYi5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9y c2FfbGliLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9saWIuYy5maXBzCTIw MTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5 cHRvL3JzYS9yc2FfbGliLmMJMjAxMy0wOS0yNyAxNDozMjozNS4zNDM2NjUxNTUgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9saWIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0 LjE5MjY5NDQwNyArMDIwMAogQEAgLTg0LDYgKzg0LDEzIEBAIFJTQSAqUlNBX25ldyh2b2lkKQog IAogIHZvaWQgUlNBX3NldF9kZWZhdWx0X21ldGhvZChjb25zdCBSU0FfTUVUSE9EICptZXRoKQpA QCAtMjAwMzgsNyArMjAwNDEsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNh L3JzYV9saWIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhXwogICNpZm5kZWYg T1BFTlNTTF9OT19FTkdJTkUKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNh X3BtZXRoLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9wbWV0aC5jCiAtLS0g b3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2FfcG1ldGguYy5maXBzCTIwMTMtMDItMTEgMTY6 MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9yc2Ff cG1ldGguYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0MzY2NTE1NSArMDIwMAorKysrIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9yc2EvcnNhX3BtZXRoLmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTI2OTQ0 MDcgKzAyMDAKIEBAIC0yMDYsMjIgKzIwNiw2IEBAIHN0YXRpYyBpbnQgcGtleV9yc2Ffc2lnbihF VlBfUEtFWV9DVFggKmMKICAJCQkJCVJTQV9SX0lOVkFMSURfRElHRVNUX0xFTkdUSCk7CiAgCQkJ cmV0dXJuIC0xOwpAQCAtMjAwODQsNyArMjAwODcsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vcnNhL3JzYV9wbWV0aC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3JzYS9y cwogIAkJCQkJc2lnLCBzaWdsZW4sIHJzYSk7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlw dG8vcnNhL3JzYV9zaWduLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9zaWdu LmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vcnNhL3JzYV9zaWduLmMuZmlwcwkyMDEzLTAy LTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9y c2EvcnNhX3NpZ24uYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0MzY2NTE1NSArMDIwMAorKysrIG9w ZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhX3NpZ24uYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5 MjY5NDQwNyArMDIwMAogQEAgLTEzOCw3ICsxMzgsOCBAQCBpbnQgUlNBX3NpZ24oaW50IHR5cGUs IGNvbnN0IHVuc2lnbmVkIGNoCiAgCQlpMmRfWDUwOV9TSUcoJnNpZywmcCk7CiAgCQlzPXRtcHM7 CkBAIC0yMDExNyw4ICsyMDEyMCw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9y c2EvcnNhX3NpZ24uYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9yc2EvcnNhCiAgCWlmIChp IDw9IDApIGdvdG8gZXJyOwogIAkvKiBPZGRiYWxsIE1EQzIgY2FzZTogc2lnbmF0dXJlIGNhbiBi ZSBPQ1RFVCBTVFJJTkcuCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYS5o LmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGEuaAotLS0tIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9zaGEvc2hhLmguZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM0Ljc2MzY1MjA5OSArMDIw MAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hhLmgJMjAxMy0wOS0yNyAxNDozMjoz NS4zNDQ2NjUxNzggKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYS5oLmZp cHMJMjAxMy0xMC0wNCAxMTo0ODowMy44Njc2ODcwNjggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4x ZS9jcnlwdG8vc2hhL3NoYS5oCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkyNjk0NDA3ICswMjAwCiBA QCAtMTE2LDkgKzExNiw2IEBAIHVuc2lnbmVkIGNoYXIgKlNIQShjb25zdCB1bnNpZ25lZCBjaGFy ICoKICB2b2lkIFNIQV9UcmFuc2Zvcm0oU0hBX0NUWCAqYywgY29uc3QgdW5zaWduZWQgY2hhciAq ZGF0YSk7CiAgI2VuZGlmCkBAIC0yMDE1Miw4ICsyMDE1NSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2NyeXB0by9zaGEvc2hhLmguZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3No YS5oCiAgaW50IFNIQTM4NF9VcGRhdGUoU0hBNTEyX0NUWCAqYywgY29uc3Qgdm9pZCAqZGF0YSwg c2l6ZV90IGxlbik7CiAgaW50IFNIQTM4NF9GaW5hbCh1bnNpZ25lZCBjaGFyICptZCwgU0hBNTEy X0NUWCAqYyk7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYV9sb2NsLmgu ZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYV9sb2NsLmgKLS0tLSBvcGVuc3NsLTEu MC4xZS9jcnlwdG8vc2hhL3NoYV9sb2NsLmguZmlwcwkyMDEzLTA5LTI3IDE0OjMyOjM0Ljc2NTY1 MjE0NCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hhX2xvY2wuaAkyMDEz LTA5LTI3IDE0OjMyOjM1LjM0NDY2NTE3OCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0 by9zaGEvc2hhX2xvY2wuaC5maXBzCTIwMTMtMTAtMDQgMTE6NDg6MDMuODcwNjg3MTM1ICswMjAw CisrKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGFfbG9jbC5oCTIwMTMtMTAtMDQgMTE6 NDg6MDQuMTkyNjk0NDA3ICswMjAwCiBAQCAtMTIzLDExICsxMjMsMTQgQEAgdm9pZCBzaGExX2Js b2NrX2RhdGFfb3JkZXIgKFNIQV9DVFggKmMsCiAgI2RlZmluZSBJTklUX0RBVEFfaDQgMHhjM2Qy ZTFmMFVMCiAgCkBAIC0yMDE3Miw3ICsyMDE3NSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9zaGEvc2hhX2xvY2wuaC5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hh CiAgCWMtPmgxPUlOSVRfREFUQV9oMTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9z aGEvc2hhMjU2LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYTI1Ni5jCiAtLS0g b3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGEyNTYuYy5maXBzCTIwMTMtMDItMTEgMTY6MjY6 MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGEyNTYu YwkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0MzY2NTE1NSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFl L2NyeXB0by9zaGEvc2hhMjU2LmMJMjAxMy0xMC0wNCAxMTo0ODowNC4xOTM2OTQ0MjkgKzAyMDAK IEBAIC0xMiwxMiArMTIsMTkgQEAKICAKICAjaW5jbHVkZSA8b3BlbnNzbC9jcnlwdG8uaD4KQEAg LTIwMjA1LDcgKzIwMjA4LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9z aGEyNTYuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hhMjUKICAJYy0+aFsyXT0w eDNjNmVmMzcyVUw7CWMtPmhbM109MHhhNTRmZjUzYVVMOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWUvY3J5cHRvL3NoYS9zaGE1MTIuYy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hh NTEyLmMKIC0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYTUxMi5jLmZpcHMJMjAxMy0w Mi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v c2hhL3NoYTUxMi5jCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQ0NjY1MTc4ICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL3NoYS9zaGE1MTIuYwkyMDEzLTEwLTA0IDExOjQ4OjA0LjE5MzY5 NDQyOSArMDIwMAogQEAgLTUsNiArNSwxMCBAQAogICAqID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICovCkBAIC0y MDIzOSw3ICsyMDI0Miw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2NyeXB0by9zaGEvc2hh NTEyLmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vc2hhL3NoYTUxCiAgCWMtPmhbMl09VTY0 KDB4M2M2ZWYzNzJmZTk0ZjgyYik7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vd2hy bHBvb2wvd3BfZGdzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3docmxwb29sL3dwX2Rn c3QuYwogLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by93aHJscG9vbC93cF9kZ3N0LmMuZmlwcwky MDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by93aHJscG9vbC93cF9kZ3N0LmMJMjAxMy0wOS0yNyAxNDozMjozNS4zNDQ2NjUxNzggKzAy MDAKKysrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8vd2hybHBvb2wvd3BfZGdzdC5jCTIwMTMtMTAt MDQgMTE6NDg6MDQuMTkzNjk0NDI5ICswMjAwCiBAQCAtNTUsNyArNTUsNyBAQAogICNpbmNsdWRl IDxvcGVuc3NsL2NyeXB0by5oPgogICNpbmNsdWRlIDxzdHJpbmcuaD4KQEAgLTIwMjUwLDggKzIw MjUzLDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3docmxwb29sL3dwX2Rnc3Qu Yy5maXBzIG9wZW5zc2wtMS4wLjFlL2NyeXB0by93aHIKICAJbWVtc2V0IChjLDAsc2l6ZW9mKCpj KSk7CiAgCXJldHVybigxKTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL01ha2VmaWxlLm9yZy5m aXBzIG9wZW5zc2wtMS4wLjFlL01ha2VmaWxlLm9yZwotLS0tIG9wZW5zc2wtMS4wLjFlL01ha2Vm aWxlLm9yZy5maXBzCTIwMTMtMDktMjcgMTQ6MzI6MzUuMDgxNjU5MjU4ICswMjAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvTWFrZWZpbGUub3JnCTIwMTMtMDktMjcgMTQ6MzI6MzUuMzQ0NjY1MTc4ICsw MjAwCistLS0gb3BlbnNzbC0xLjAuMWUvTWFrZWZpbGUub3JnLmZpcHMJMjAxMy0xMC0wNCAxMTo0 ODowNC4xNTc2OTM2MTYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xZS9NYWtlZmlsZS5vcmcJMjAx My0xMC0wNCAxMTo0ODowNC4xOTM2OTQ0MjkgKzAyMDAKIEBAIC0xMzYsNiArMTM2LDkgQEAgRklQ U0NBTkxJQj0KICAKICBCQVNFQUREUj0KQEAgLTIwMjc5LDEwICsyMDI4Miw5IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL01ha2VmaWxlLm9yZy5maXBzIG9wZW5zc2wtMS4wLjFlL01ha2VmaWxl Lm9yZwogIAkJVEhJUz0kJHtUSElTOi0kQH0gTUFLRUZJTEU9TWFrZWZpbGUgTUFLRU9WRVJSSURF Uz0KICAjIE1BS0VPVkVSUklERVM9IGVmZmVjdGl2ZWx5ICJlcXVhbGl6ZXMiIEdOVS1pc2ggYW5k IFN5c1YtaXNoIG1ha2UgZmxhdm9ycywKICAjIHdoaWNoIGluIHR1cm4gZWxpbWluYXRlcyBhbWJp Z3VpdGllcyBpbiB2YXJpYWJsZSB0cmVhdG1lbnQgd2l0aCAtZS4KLWRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL3NzbC9kMV9jbG50LmMuZmlwcyBvcGVuc3NsLTEuMC4xZS9zc2wvZDFfY2xudC5jCiBk aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9zc2wvZDFfc3J2ci5jLmZpcHMgb3BlbnNzbC0xLjAuMWUv c3NsL2QxX3NydnIuYwogLS0tIG9wZW5zc2wtMS4wLjFlL3NzbC9kMV9zcnZyLmMuZmlwcwkyMDEz LTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL3NzbC9k MV9zcnZyLmMJMjAxMy0wOS0yNyAxNToyNzowMy4wMTgyMjAzODggKzAyMDAKKysrKyBvcGVuc3Ns LTEuMC4xZS9zc2wvZDFfc3J2ci5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkzNjk0NDI5ICswMjAw CiBAQCAtMTM3Miw2ICsxMzcyLDggQEAgaW50IGR0bHMxX3NlbmRfc2VydmVyX2tleV9leGNoYW5n ZShTU0wgKgogIAkJCQlqPTA7CiAgCQkJCWZvciAobnVtPTI7IG51bSA+IDA7IG51bS0tKQpAQCAt MjAyOTQsNyArMjAyOTYsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9zc2wvZDFfc3J2ci5j LmZpcHMgb3BlbnNzbC0xLjAuMWUvc3NsL2QxX3NydnIuYwogIAkJCQkJRVZQX0RpZ2VzdFVwZGF0 ZSgmbWRfY3R4LCYocy0+czMtPmNsaWVudF9yYW5kb21bMF0pLFNTTDNfUkFORE9NX1NJWkUpOwog ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvc3NsL3NzbF9hbGdzLmMuZmlwcyBvcGVuc3NsLTEuMC4x ZS9zc2wvc3NsX2FsZ3MuYwogLS0tIG9wZW5zc2wtMS4wLjFlL3NzbC9zc2xfYWxncy5jLmZpcHMJ MjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9z c2wvc3NsX2FsZ3MuYwkyMDEzLTA5LTI3IDE0OjMyOjM1LjM0NDY2NTE3OCArMDIwMAorKysrIG9w ZW5zc2wtMS4wLjFlL3NzbC9zc2xfYWxncy5jCTIwMTMtMTAtMDQgMTE6NDg6MDQuMTkzNjk0NDI5 ICswMjAwCiBAQCAtNjQsNiArNjQsMTIgQEAKICBpbnQgU1NMX2xpYnJhcnlfaW5pdCh2b2lkKQog IAl7CgpkaWZmIC0tZ2l0IGEvb3BlbnNzbC0xLjAuMWUtc3BlZWQtc3VpdGViLnBhdGNoIGIvb3Bl bnNzbC0xLjAuMWUtc3BlZWQtc3VpdGViLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmE1MTM1ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuc3NsLTEuMC4xZS1zcGVl ZC1zdWl0ZWIucGF0Y2gKQEAgLTAsMCArMSw4OSBAQAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUv YXBwcy9zcGVlZC5jLnN1aXRlYiBvcGVuc3NsLTEuMC4xZS9hcHBzL3NwZWVkLmMKKy0tLSBvcGVu c3NsLTEuMC4xZS9hcHBzL3NwZWVkLmMuc3VpdGViCTIwMTMtMDktMjcgMTU6NTc6MDkuOTQ3ODk0 MzA3ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWUvYXBwcy9zcGVlZC5jCTIwMTMtMDktMjcgMTU6 NTc6NTIuNTI4ODUyODA0ICswMjAwCitAQCAtOTY2LDQ5ICs5NjYsMjEgQEAgaW50IE1BSU4oaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJZWxzZQorICNlbmRpZgorICNpZm5kZWYgT1BFTlNTTF9O T19FQ0RTQQorLQkJICAgICBpZiAoc3RyY21wKCphcmd2LCJlY2RzYXAxNjAiKSA9PSAwKSBlY2Rz YV9kb2l0W1JfRUNfUDE2MF09MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkc2FwMTky IikgPT0gMCkgZWNkc2FfZG9pdFtSX0VDX1AxOTJdPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFy Z3YsImVjZHNhcDIyNCIpID09IDApIGVjZHNhX2RvaXRbUl9FQ19QMjI0XT0yOworLQkJZWxzZSBp ZiAoc3RyY21wKCphcmd2LCJlY2RzYXAyNTYiKSA9PSAwKSBlY2RzYV9kb2l0W1JfRUNfUDI1Nl09 MjsKKysJCWlmIChzdHJjbXAoKmFyZ3YsImVjZHNhcDI1NiIpID09IDApIGVjZHNhX2RvaXRbUl9F Q19QMjU2XT0yOworIAkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RzYXAzODQiKSA9PSAwKSBl Y2RzYV9kb2l0W1JfRUNfUDM4NF09MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkc2Fw NTIxIikgPT0gMCkgZWNkc2FfZG9pdFtSX0VDX1A1MjFdPTI7CistCQllbHNlIGlmIChzdHJjbXAo KmFyZ3YsImVjZHNhazE2MyIpID09IDApIGVjZHNhX2RvaXRbUl9FQ19LMTYzXT0yOworLQkJZWxz ZSBpZiAoc3RyY21wKCphcmd2LCJlY2RzYWsyMzMiKSA9PSAwKSBlY2RzYV9kb2l0W1JfRUNfSzIz M109MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkc2FrMjgzIikgPT0gMCkgZWNkc2Ff ZG9pdFtSX0VDX0syODNdPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZHNhazQwOSIp ID09IDApIGVjZHNhX2RvaXRbUl9FQ19LNDA5XT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2 LCJlY2RzYWs1NzEiKSA9PSAwKSBlY2RzYV9kb2l0W1JfRUNfSzU3MV09MjsKKy0JCWVsc2UgaWYg KHN0cmNtcCgqYXJndiwiZWNkc2FiMTYzIikgPT0gMCkgZWNkc2FfZG9pdFtSX0VDX0IxNjNdPTI7 CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZHNhYjIzMyIpID09IDApIGVjZHNhX2RvaXRb Ul9FQ19CMjMzXT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RzYWIyODMiKSA9PSAw KSBlY2RzYV9kb2l0W1JfRUNfQjI4M109MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNk c2FiNDA5IikgPT0gMCkgZWNkc2FfZG9pdFtSX0VDX0I0MDldPTI7CistCQllbHNlIGlmIChzdHJj bXAoKmFyZ3YsImVjZHNhYjU3MSIpID09IDApIGVjZHNhX2RvaXRbUl9FQ19CNTcxXT0yOworIAkJ ZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RzYSIpID09IDApCisgCQkJeworLQkJCWZvciAoaT0w OyBpIDwgRUNfTlVNOyBpKyspCisrCQkJZm9yIChpPVJfRUNfUDI1NjsgaSA8PSBSX0VDX1AzODQ7 IGkrKykKKyAJCQkJZWNkc2FfZG9pdFtpXT0xOworIAkJCX0KKyAJCWVsc2UKKyAjZW5kaWYKKyAj aWZuZGVmIE9QRU5TU0xfTk9fRUNESAorLQkJICAgICBpZiAoc3RyY21wKCphcmd2LCJlY2RocDE2 MCIpID09IDApIGVjZGhfZG9pdFtSX0VDX1AxNjBdPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFy Z3YsImVjZGhwMTkyIikgPT0gMCkgZWNkaF9kb2l0W1JfRUNfUDE5Ml09MjsKKy0JCWVsc2UgaWYg KHN0cmNtcCgqYXJndiwiZWNkaHAyMjQiKSA9PSAwKSBlY2RoX2RvaXRbUl9FQ19QMjI0XT0yOwor LQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RocDI1NiIpID09IDApIGVjZGhfZG9pdFtSX0VD X1AyNTZdPTI7CisrCQlpZiAoc3RyY21wKCphcmd2LCJlY2RocDI1NiIpID09IDApIGVjZGhfZG9p dFtSX0VDX1AyNTZdPTI7CisgCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZGhwMzg0IikgPT0g MCkgZWNkaF9kb2l0W1JfRUNfUDM4NF09MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNk aHA1MjEiKSA9PSAwKSBlY2RoX2RvaXRbUl9FQ19QNTIxXT0yOworLQkJZWxzZSBpZiAoc3RyY21w KCphcmd2LCJlY2RoazE2MyIpID09IDApIGVjZGhfZG9pdFtSX0VDX0sxNjNdPTI7CistCQllbHNl IGlmIChzdHJjbXAoKmFyZ3YsImVjZGhrMjMzIikgPT0gMCkgZWNkaF9kb2l0W1JfRUNfSzIzM109 MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkaGsyODMiKSA9PSAwKSBlY2RoX2RvaXRb Ul9FQ19LMjgzXT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RoazQwOSIpID09IDAp IGVjZGhfZG9pdFtSX0VDX0s0MDldPTI7CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZGhr NTcxIikgPT0gMCkgZWNkaF9kb2l0W1JfRUNfSzU3MV09MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgq YXJndiwiZWNkaGIxNjMiKSA9PSAwKSBlY2RoX2RvaXRbUl9FQ19CMTYzXT0yOworLQkJZWxzZSBp ZiAoc3RyY21wKCphcmd2LCJlY2RoYjIzMyIpID09IDApIGVjZGhfZG9pdFtSX0VDX0IyMzNdPTI7 CistCQllbHNlIGlmIChzdHJjbXAoKmFyZ3YsImVjZGhiMjgzIikgPT0gMCkgZWNkaF9kb2l0W1Jf RUNfQjI4M109MjsKKy0JCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwiZWNkaGI0MDkiKSA9PSAwKSBl Y2RoX2RvaXRbUl9FQ19CNDA5XT0yOworLQkJZWxzZSBpZiAoc3RyY21wKCphcmd2LCJlY2RoYjU3 MSIpID09IDApIGVjZGhfZG9pdFtSX0VDX0I1NzFdPTI7CisgCQllbHNlIGlmIChzdHJjbXAoKmFy Z3YsImVjZGgiKSA9PSAwKQorIAkJCXsKKy0JCQlmb3IgKGk9MDsgaSA8IEVDX05VTTsgaSsrKQor KwkJCWZvciAoaT1SX0VDX1AyNTY7IGkgPD0gUl9FQ19QMzg0OyBpKyspCisgCQkJCWVjZGhfZG9p dFtpXT0xOworIAkJCX0KKyAJCWVsc2UKK0BAIC0xMDk3LDE1ICsxMDY5LDExIEBAIGludCBNQUlO KGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJCQlCSU9fcHJpbnRmKGJpb19lcnIsImRzYTUxMiAg IGRzYTEwMjQgIGRzYTIwNDhcbiIpOworICNlbmRpZgorICNpZm5kZWYgT1BFTlNTTF9OT19FQ0RT QQorLQkJCUJJT19wcmludGYoYmlvX2VyciwiZWNkc2FwMTYwIGVjZHNhcDE5MiBlY2RzYXAyMjQg ZWNkc2FwMjU2IGVjZHNhcDM4NCBlY2RzYXA1MjFcbiIpOworLQkJCUJJT19wcmludGYoYmlvX2Vy ciwiZWNkc2FrMTYzIGVjZHNhazIzMyBlY2RzYWsyODMgZWNkc2FrNDA5IGVjZHNhazU3MVxuIik7 CistCQkJQklPX3ByaW50ZihiaW9fZXJyLCJlY2RzYWIxNjMgZWNkc2FiMjMzIGVjZHNhYjI4MyBl Y2RzYWI0MDkgZWNkc2FiNTcxXG4iKTsKKysJCQlCSU9fcHJpbnRmKGJpb19lcnIsImVjZHNhcDI1 NiBlY2RzYXAzODRcbiIpOworIAkJCUJJT19wcmludGYoYmlvX2VyciwiZWNkc2FcbiIpOworICNl bmRpZgorICNpZm5kZWYgT1BFTlNTTF9OT19FQ0RICistCQkJQklPX3ByaW50ZihiaW9fZXJyLCJl Y2RocDE2MCAgZWNkaHAxOTIgIGVjZGhwMjI0ICBlY2RocDI1NiAgZWNkaHAzODQgIGVjZGhwNTIx XG4iKTsKKy0JCQlCSU9fcHJpbnRmKGJpb19lcnIsImVjZGhrMTYzICBlY2RoazIzMyAgZWNkaGsy ODMgIGVjZGhrNDA5ICBlY2RoazU3MVxuIik7CistCQkJQklPX3ByaW50ZihiaW9fZXJyLCJlY2Ro YjE2MyAgZWNkaGIyMzMgIGVjZGhiMjgzICBlY2RoYjQwOSAgZWNkaGI1NzFcbiIpOworKwkJCUJJ T19wcmludGYoYmlvX2VyciwiZWNkaHAyNTYgIGVjZGhwMzg0XG4iKTsKKyAJCQlCSU9fcHJpbnRm KGJpb19lcnIsImVjZGhcbiIpOworICNlbmRpZgorIAorQEAgLTExODEsMTEgKzExNDksMTEgQEAg aW50IE1BSU4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJICAgIGlmICghRklQU19tb2RlKCkg fHwgaSAhPSBSX0RTQV81MTIpCisgCQkJZHNhX2RvaXRbaV09MTsKKyAjaWZuZGVmIE9QRU5TU0xf Tk9fRUNEU0EKKy0JCWZvciAoaT0wOyBpPEVDX05VTTsgaSsrKQorKwkJZm9yIChpPVJfRUNfUDI1 NjsgaSA8PSBSX0VDX1AzODQ7IGkrKykKKyAJCQllY2RzYV9kb2l0W2ldPTE7CisgI2VuZGlmCisg I2lmbmRlZiBPUEVOU1NMX05PX0VDREgKKy0JCWZvciAoaT0wOyBpPEVDX05VTTsgaSsrKQorKwkJ Zm9yIChpPVJfRUNfUDI1NjsgaSA8PSBSX0VDX1AzODQ7IGkrKykKKyAJCQllY2RoX2RvaXRbaV09 MTsKKyAjZW5kaWYKKyAJCX0KCmRpZmYgLS1naXQgYS9vcGVuc3NsLnNwZWMgYi9vcGVuc3NsLnNw ZWMKaW5kZXggMzJiZTNjOS4uYmQ2NTVkMiAxMDA2NDQKLS0tIGEvb3BlbnNzbC5zcGVjCisrKyBi L29wZW5zc2wuc3BlYwpAQCAtMjEsMTIgKzIxLDEyIEBACiBTdW1tYXJ5OiBVdGlsaXRpZXMgZnJv bSB0aGUgZ2VuZXJhbCBwdXJwb3NlIGNyeXB0b2dyYXBoeSBsaWJyYXJ5IHdpdGggVExTIGltcGxl bWVudGF0aW9uCiBOYW1lOiBvcGVuc3NsCiBWZXJzaW9uOiAxLjAuMWUKLVJlbGVhc2U6IDI3JXs/ ZGlzdH0KK1JlbGVhc2U6IDI4JXs/ZGlzdH0KIEVwb2NoOiAxCiAjIFdlIGhhdmUgdG8gcmVtb3Zl IGNlcnRhaW4gcGF0ZW50ZWQgYWxnb3JpdGhtcyBmcm9tIHRoZSBvcGVuc3NsIHNvdXJjZQogIyB0 YXJiYWxsIHdpdGggdGhlIGhvYmJsZS1vcGVuc3NsIHNjcmlwdCB3aGljaCBpcyBpbmNsdWRlZCBi ZWxvdy4KICMgVGhlIG9yaWdpbmFsIG9wZW5zc2wgdXBzdHJlYW0gdGFyYmFsbCBjYW5ub3QgYmUg c2hpcHBlZCBpbiB0aGUgLnNyYy5ycG0uCi1Tb3VyY2U6IG9wZW5zc2wtJXt2ZXJzaW9ufS11c2Eu dGFyLnh6CitTb3VyY2U6IG9wZW5zc2wtJXt2ZXJzaW9ufS1ob2JibGVkLnRhci54egogU291cmNl MTogaG9iYmxlLW9wZW5zc2wKIFNvdXJjZTI6IE1ha2VmaWxlLmNlcnRpZmljYXRlCiBTb3VyY2U2 OiBtYWtlLWR1bW15LWNlcnQKQEAgLTM1LDcgKzM1LDggQEAgU291cmNlODogb3BlbnNzbC10aHJl YWQtdGVzdC5jCiBTb3VyY2U5OiBvcGVuc3NsY29uZi1uZXcuaAogU291cmNlMTA6IG9wZW5zc2xj b25mLW5ldy13YXJuaW5nLmgKIFNvdXJjZTExOiBSRUFETUUuRklQUwotU291cmNlMTI6IG9wZW5z c2wtZmlwcy5jb25mCitTb3VyY2UxMjogZWNfY3VydmUuYworU291cmNlMTM6IGVjdGVzdC5jCiAj IEJ1aWxkIGNoYW5nZXMKIFBhdGNoMTogb3BlbnNzbC0xLjAuMS1iZXRhMi1ycG1idWlsZC5wYXRj aAogUGF0Y2gyOiBvcGVuc3NsLTEuMC4wZi1kZWZhdWx0cy5wYXRjaApAQCAtNjksMTUgKzcwLDE2 IEBAIFBhdGNoNjU6IG9wZW5zc2wtMS4wLjBlLWNoaWwtZml4ZXMucGF0Y2gKIFBhdGNoNjY6IG9w ZW5zc2wtMS4wLjEtcGtnY29uZmlnLWtyYjUucGF0Y2gKIFBhdGNoNjg6IG9wZW5zc2wtMS4wLjFl LXNlY3VyZS1nZXRlbnYucGF0Y2gKIFBhdGNoNjk6IG9wZW5zc2wtMS4wLjFjLWRoLTEwMjQucGF0 Y2gKK1BhdGNoNzA6IG9wZW5zc2wtMS4wLjFlLWZpcHMtZWMucGF0Y2gKIFBhdGNoNzE6IG9wZW5z c2wtMS4wLjFlLW1hbmZpeC5wYXRjaAogUGF0Y2g3Mjogb3BlbnNzbC0xLjAuMWUtZmlwcy1jdG9y LnBhdGNoCitQYXRjaDczOiBvcGVuc3NsLTEuMC4xZS1zcGVlZC1zdWl0ZWIucGF0Y2gKICMgQmFj a3BvcnRlZCBmaXhlcyBpbmNsdWRpbmcgc2VjdXJpdHkgZml4ZXMKIFBhdGNoODE6IG9wZW5zc2wt MS4wLjEtYmV0YTItcGFkbG9jazY0LnBhdGNoCiBQYXRjaDgyOiBvcGVuc3NsLTEuMC4xZS1iYWNr cG9ydHMucGF0Y2gKIFBhdGNoODM6IG9wZW5zc2wtMS4wLjFlLWJhZC1tYWMucGF0Y2gKIFBhdGNo ODQ6IG9wZW5zc2wtMS4wLjFlLXRydXN0ZWQtZmlyc3QucGF0Y2gKIFBhdGNoODU6IG9wZW5zc2wt MS4wLjFlLWFybS11c2UtZWxmLWF1eHYtY2Fwcy5wYXRjaAotUGF0Y2g4Njogb3BlbnNzbC0xLjAu MWUtZmlwcy1lYy5wYXRjaAogCiBMaWNlbnNlOiBPcGVuU1NMCiBHcm91cDogU3lzdGVtIEVudmly b25tZW50L0xpYnJhcmllcwpAQCAtMTAwLDggKzEwMiw4IEBAIEdyb3VwOiBTeXN0ZW0gRW52aXJv bm1lbnQvTGlicmFyaWVzCiBSZXF1aXJlczogY2EtY2VydGlmaWNhdGVzID49IDIwMDgtNQogIyBO ZWVkZWQgb2Jzb2xldGVzIGR1ZSB0byB0aGUgYmFzZS9saWIgc3VicGFja2FnZSBzcGxpdAogT2Jz b2xldGVzOiBvcGVuc3NsIDwgMToxLjAuMS0wLjMuYmV0YTMKLSMgTmVlZGVkIGZvciBwcm9wZXIg dHJhbnNhY3Rpb24gb3JkZXJpbmcgaWYgb3BlbnNzbC1maXBzIGlzIGluc3RhbGxlZAotT3JkZXJX aXRoUmVxdWlyZXMocHJlKTogb3BlbnNzbC1maXBzCitPYnNvbGV0ZXM6IG9wZW5zc2wtZmlwcyA8 IDE6MS4wLjFlLTI4CitQcm92aWRlczogb3BlbnNzbC1maXBzID0gJXtlcG9jaH06JXt2ZXJzaW9u fS0le3JlbGVhc2V9CiAKICVkZXNjcmlwdGlvbiBsaWJzCiBPcGVuU1NMIGlzIGEgdG9vbGtpdCBm b3Igc3VwcG9ydGluZyBjcnlwdG9ncmFwaHkuIFRoZSBvcGVuc3NsLWxpYnMKQEAgLTE0MiwyMiAr MTQ0LDE1IEBAIE9wZW5TU0wgaXMgYSB0b29sa2l0IGZvciBzdXBwb3J0aW5nIGNyeXB0b2dyYXBo eS4gVGhlIG9wZW5zc2wtcGVybAogcGFja2FnZSBwcm92aWRlcyBQZXJsIHNjcmlwdHMgZm9yIGNv bnZlcnRpbmcgY2VydGlmaWNhdGVzIGFuZCBrZXlzCiBmcm9tIG90aGVyIGZvcm1hdHMgdG8gdGhl IGZvcm1hdHMgdXNlZCBieSB0aGUgT3BlblNTTCB0b29sa2l0LgogCi0lcGFja2FnZSBmaXBzCi1T dW1tYXJ5OiBUaGUgRklQUyBtb2R1bGUgcGFja2FnZSBmb3IgT3BlblNTTAotR3JvdXA6IFN5c3Rl bSBFbnZpcm9ubWVudC9MaWJyYXJpZXMKLVJlcXVpcmVzOiAle25hbWV9LWxpYnMlez9faXNhfSA9 ICV7ZXBvY2h9OiV7dmVyc2lvbn0tJXtyZWxlYXNlfQotCi0lZGVzY3JpcHRpb24gZmlwcwotT3Bl blNTTCBpcyBhIHRvb2xraXQgZm9yIHN1cHBvcnRpbmcgY3J5cHRvZ3JhcGh5LiBUaGUgb3BlbnNz bC1maXBzCi1wYWNrYWdlIHByb3ZpZGVzIGZpbGVzIHRoYXQgY29tcGxldGUgdGhlIGluc3RhbGxh dGlvbiBvZiB0aGUKLU9wZW5TU0wgRklQUyBtb2R1bGUuCi0KICVwcmVwCiAlc2V0dXAgLXEgLW4g JXtuYW1lfS0le3ZlcnNpb259CiAKICMgVGhlIGhvYmJsZV9vcGVuc3NsIGlzIGNhbGxlZCBoZXJl IHJlZHVuZGFudGx5LCBqdXN0IHRvIGJlIHN1cmUuCiAjIFRoZSB0YXJiYWxsIGhhcyBhbHJlYWR5 IHRoZSBzb3VyY2VzIHJlbW92ZWQuCiAle1NPVVJDRTF9ID4gL2Rldi9udWxsCisKK2NwICV7U09V UkNFMTJ9ICV7U09VUkNFMTN9IGNyeXB0by9lYy8KKwogJXBhdGNoMSAtcDEgLWIgLnJwbWJ1aWxk CiAlcGF0Y2gyIC1wMSAtYiAuZGVmYXVsdHMKICVwYXRjaDQgLXAxIC1iIC5lbmdpbmVzZGlyICV7 P19yYXdidWlsZH0KQEAgLTE5MCwxNSArMTg1LDE2IEBAIE9wZW5TU0wgRklQUyBtb2R1bGUuCiAl cGF0Y2g2NiAtcDEgLWIgLmtyYjUKICVwYXRjaDY4IC1wMSAtYiAuc2VjdXJlLWdldGVudgogJXBh dGNoNjkgLXAxIC1iIC5kaDEwMjQKKyVwYXRjaDcwIC1wMSAtYiAuZmlwcy1lYworJXBhdGNoNzIg LXAxIC1iIC5maXBzLWN0b3IKKyVwYXRjaDczIC1wMSAtYiAuc3VpdGViCiAKICVwYXRjaDgxIC1w MSAtYiAucGFkbG9jazY0CiAlcGF0Y2g4MiAtcDEgLWIgLmJhY2twb3J0cwogJXBhdGNoNzEgLXAx IC1iIC5tYW5maXgKLSVwYXRjaDcyIC1wMSAtYiAuZmlwcy1jdG9yCiAlcGF0Y2g4MyAtcDEgLWIg LmJhZC1tYWMKICVwYXRjaDg0IC1wMSAtYiAudHJ1c3RlZC1maXJzdAogJXBhdGNoODUgLXAxIC1i IC5hcm1jYXAKLSVwYXRjaDg2IC1wMSAtYiAuZmlwcy1lYwogCiBzZWQgLWkgJ3MvU0hMSUJfVkVS U0lPTl9OVU1CRVIgIjEuMC4wIi9TSExJQl9WRVJTSU9OX05VTUJFUiAiJXt2ZXJzaW9ufSIvJyBj cnlwdG8vb3BlbnNzbHYuaAogCkBAIC0yNTMsNyArMjQ5LDcgQEAgc3NsYXJjaD1saW51eC1wcGM2 NAogLi9Db25maWd1cmUgXAogCS0tcHJlZml4PSV7X3ByZWZpeH0gLS1vcGVuc3NsZGlyPSV7X3N5 c2NvbmZkaXJ9L3BraS90bHMgJHtzc2xmbGFnc30gXAogCXpsaWIgZW5hYmxlLWNhbWVsbGlhIGVu YWJsZS1zZWVkIGVuYWJsZS10bHNleHQgZW5hYmxlLXJmYzM3NzkgXAotCWVuYWJsZS1jbXMgZW5h YmxlLW1kMiBuby1tZGMyIG5vLXJjNSBuby1zcnAgXAorCWVuYWJsZS1jbXMgZW5hYmxlLW1kMiBu by1tZGMyIG5vLXJjNSBuby1lYzJtIG5vLWdvc3Qgbm8tc3JwIFwKIAktLXdpdGgta3JiNS1mbGF2 b3I9TUlUIC0tZW5naW5lc2Rpcj0le19saWJkaXJ9L29wZW5zc2wvZW5naW5lcyBcCiAJLS13aXRo LWtyYjUtZGlyPS91c3Igc2hhcmVkICAke3NzbGFyY2h9ICV7PyFub2ZpcHM6Zmlwc30KIApAQCAt MjYxLDcgKzI1Nyw3IEBAIHNzbGFyY2g9bGludXgtcHBjNjQKICMgbWFya2VkIGFzIG5vdCByZXF1 aXJpbmcgYW4gZXhlY3V0YWJsZSBzdGFjay4KICMgQWxzbyBhZGQgLURQVVJJRlkgdG8gbWFrZSB1 c2luZyB2YWxncmluZCB3aXRoIG9wZW5zc2wgZWFzaWVyIGFzIHdlIGRvIG5vdAogIyB3YW50IHRv IGRlcGVuZCBvbiB0aGUgdW5pbml0aWFsaXplZCBtZW1vcnkgYXMgYSBzb3VyY2Ugb2YgZW50cm9w eSBhbnl3YXkuCi1SUE1fT1BUX0ZMQUdTPSIkUlBNX09QVF9GTEFHUyAtV2EsLS1ub2V4ZWNzdGFj ayAtRFBVUklGWSAtREhNQUNfU1VGRklYPVxcXCIuJXt2ZXJzaW9ufS0le3JlbGVhc2V9LmhtYWNc XFwiIgorUlBNX09QVF9GTEFHUz0iJFJQTV9PUFRfRkxBR1MgLVdhLC0tbm9leGVjc3RhY2sgLURQ VVJJRlkiCiBtYWtlIGRlcGVuZAogbWFrZSBhbGwKIApAQCAtMjk2LDEwICsyOTIsMTAgQEAgbWFr ZSAtQyB0ZXN0IGFwcHMgdGVzdHMKICAgICAlez9fX2RlYnVnX3BhY2thZ2U6JXtfX2RlYnVnX2lu c3RhbGxfcG9zdH19IFwKICAgICAle19fYXJjaF9pbnN0YWxsX3Bvc3R9IFwKICAgICAle19fb3Nf aW5zdGFsbF9wb3N0fSBcCi0gICAgY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25lX2htYWMgJFJQ TV9CVUlMRF9ST09UJXtfbGliZGlyfS9saWJjcnlwdG8uc28uJXt2ZXJzaW9ufSA+JFJQTV9CVUlM RF9ST09UJXtfbGliZGlyfS8ubGliY3J5cHRvLnNvLiV7dmVyc2lvbn0uJXt2ZXJzaW9ufS0le3Jl bGVhc2V9LmhtYWMgXAotICAgIGxuIC1zZiAubGliY3J5cHRvLnNvLiV7dmVyc2lvbn0uJXt2ZXJz aW9ufS0le3JlbGVhc2V9LmhtYWMgJFJQTV9CVUlMRF9ST09UJXtfbGliZGlyfS8ubGliY3J5cHRv LnNvLiV7c292ZXJzaW9ufS4le3ZlcnNpb259LSV7cmVsZWFzZX0uaG1hYyBcCi0gICAgY3J5cHRv L2ZpcHMvZmlwc19zdGFuZGFsb25lX2htYWMgJFJQTV9CVUlMRF9ST09UJXtfbGliZGlyfS9saWJz c2wuc28uJXt2ZXJzaW9ufSA+JFJQTV9CVUlMRF9ST09UJXtfbGliZGlyfS8ubGlic3NsLnNvLiV7 dmVyc2lvbn0uJXt2ZXJzaW9ufS0le3JlbGVhc2V9LmhtYWMgXAotICAgIGxuIC1zZiAubGlic3Ns LnNvLiV7dmVyc2lvbn0uJXt2ZXJzaW9ufS0le3JlbGVhc2V9LmhtYWMgJFJQTV9CVUlMRF9ST09U JXtfbGliZGlyfS8ubGlic3NsLnNvLiV7c292ZXJzaW9ufS4le3ZlcnNpb259LSV7cmVsZWFzZX0u aG1hYyBcCisgICAgY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFsb25lX2htYWMgJFJQTV9CVUlMRF9S T09UJXtfbGliZGlyfS9saWJjcnlwdG8uc28uJXt2ZXJzaW9ufSA+JFJQTV9CVUlMRF9ST09UJXtf bGliZGlyfS8ubGliY3J5cHRvLnNvLiV7dmVyc2lvbn0uaG1hYyBcCisgICAgbG4gLXNmIC5saWJj cnlwdG8uc28uJXt2ZXJzaW9ufS5obWFjICRSUE1fQlVJTERfUk9PVCV7X2xpYmRpcn0vLmxpYmNy eXB0by5zby4le3NvdmVyc2lvbn0uaG1hYyBcCisgICAgY3J5cHRvL2ZpcHMvZmlwc19zdGFuZGFs b25lX2htYWMgJFJQTV9CVUlMRF9ST09UJXtfbGliZGlyfS9saWJzc2wuc28uJXt2ZXJzaW9ufSA+ JFJQTV9CVUlMRF9ST09UJXtfbGliZGlyfS8ubGlic3NsLnNvLiV7dmVyc2lvbn0uaG1hYyBcCisg ICAgbG4gLXNmIC5saWJzc2wuc28uJXt2ZXJzaW9ufS5obWFjICRSUE1fQlVJTERfUk9PVCV7X2xp YmRpcn0vLmxpYnNzbC5zby4le3NvdmVyc2lvbn0uaG1hYyBcCiAle25pbH0KIAogJWRlZmluZSBf X3Byb3ZpZGVzX2V4Y2x1ZGVfZnJvbSAle19saWJkaXJ9L29wZW5zc2wKQEAgLTM5MSwxMSArMzg3 LDYgQEAgaW5zdGFsbCAtbTY0NCAle1NPVVJDRTl9IFwKIAkkUlBNX0JVSUxEX1JPT1QvJXtfcHJl Zml4fS9pbmNsdWRlL29wZW5zc2wvb3BlbnNzbGNvbmYuaAogJWVuZGlmCiAKLSNpbnN0YWxsIHBy ZWxpbmsgYmxhY2tsaXN0Ci1ta2RpciAtcCAkUlBNX0JVSUxEX1JPT1QvJXtfc3lzY29uZmRpcn0v cHJlbGluay5jb25mLmQKLWluc3RhbGwgLW02NDQgJXtTT1VSQ0UxMn0gXAotCSRSUE1fQlVJTERf Uk9PVC8le19zeXNjb25mZGlyfS9wcmVsaW5rLmNvbmYuZC9vcGVuc3NsLWZpcHMuY29uZgotCiAj IFJlbW92ZSB1bnVzZWQgZmlsZXMgZnJvbSB1cHN0cmVhbSBmaXBzIHN1cHBvcnQKIHJtIC1yZiAk UlBNX0JVSUxEX1JPT1QvJXtfYmluZGlyfS9vcGVuc3NsX2ZpcHNfZmluZ2VycHJpbnQKIHJtIC1y ZiAkUlBNX0JVSUxEX1JPT1QvJXtfbGliZGlyfS9maXBzX3ByZW1haW4uKgpAQCAtNDM4LDYgKzQy OSw4IEBAIHJtIC1yZiAkUlBNX0JVSUxEX1JPT1QvJXtfbGliZGlyfS9maXBzY2FuaXN0ZXIuKgog JWF0dHIoMDc1NSxyb290LHJvb3QpICV7X2xpYmRpcn0vbGliY3J5cHRvLnNvLiV7c292ZXJzaW9u fQogJWF0dHIoMDc1NSxyb290LHJvb3QpICV7X2xpYmRpcn0vbGlic3NsLnNvLiV7dmVyc2lvbn0K ICVhdHRyKDA3NTUscm9vdCxyb290KSAle19saWJkaXJ9L2xpYnNzbC5zby4le3NvdmVyc2lvbn0K KyVhdHRyKDA2NDQscm9vdCxyb290KSAle19saWJkaXJ9Ly5saWJjcnlwdG8uc28uKi5obWFjCisl YXR0cigwNjQ0LHJvb3Qscm9vdCkgJXtfbGliZGlyfS8ubGlic3NsLnNvLiouaG1hYwogJWF0dHIo MDc1NSxyb290LHJvb3QpICV7X2xpYmRpcn0vb3BlbnNzbAogCiAlZmlsZXMgZGV2ZWwKQEAgLTQ1 OCwyMyArNDUxLDE1IEBAIHJtIC1yZiAkUlBNX0JVSUxEX1JPT1QvJXtfbGliZGlyfS9maXBzY2Fu aXN0ZXIuKgogJXtfc3lzY29uZmRpcn0vcGtpL3Rscy9taXNjLyoucGwKICV7X3N5c2NvbmZkaXJ9 L3BraS90bHMvbWlzYy90c2dldAogCi0lZmlsZXMgZmlwcwotJWRlZmF0dHIoLSxyb290LHJvb3Qp Ci0lYXR0cigwNjQ0LHJvb3Qscm9vdCkgJXtfbGliZGlyfS8ubGliY3J5cHRvLnNvLiouaG1hYwot JWF0dHIoMDY0NCxyb290LHJvb3QpICV7X2xpYmRpcn0vLmxpYnNzbC5zby4qLmhtYWMKLSMgV2Ug ZG9uJ3Qgd2FudCB0byBkZXBlbmQgb24gcHJlbGluayBmb3IgdGhpcyBkaXJlY3RvcnkKLSVkaXIg JXtfc3lzY29uZmRpcn0vcHJlbGluay5jb25mLmQKLSV7X3N5c2NvbmZkaXJ9L3ByZWxpbmsuY29u Zi5kL29wZW5zc2wtZmlwcy5jb25mCi0KICVwb3N0IGxpYnMgLXAgL3NiaW4vbGRjb25maWcKIAog JXBvc3R1biBsaWJzIC1wIC9zYmluL2xkY29uZmlnCiAKLSVwcmUgZmlwcwotIyBNdXN0IHVzZSBw cmUgdG8gYXZvaWQgc29tZSBwb3NzaWJsZSByYWNlcwotcHJlbGluayAtdSAle19saWJkaXJ9L2xp YmNyeXB0by5zby4le3ZlcnNpb259ICV7X2xpYmRpcn0vbGlic3NsLnNvLiV7dmVyc2lvbn0gMj4v ZGV2L251bGwgfHwgOgotCiAlY2hhbmdlbG9nCisqIFdlZCBPY3QgMTYgMjAxMyBUb23DocWhIE1y w6F6IDx0bXJhekByZWRoYXQuY29tPiAxLjAuMWUtMjgKKy0gb25seSBFQ0MgTklTVCBTdWl0ZSBC IGN1cnZlcyBzdXBwb3J0CistIGRyb3AgLWZpcHMgc3VicGFja2FnZQorCiAqIE1vbiBPY3QgMTQg MjAxMyBUb20gQ2FsbGF3YXkgPHNwb3RAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS4wLjFlLTI3CiAt IHJlc29sdmUgYnVnemlsbGEgMzE5OTAxIChwaGV3ISBvbmx5IHRvb2sgNiB5ZWFycyAmIDkgZGF5 cykKIAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGQ1YWJhZjguLjU1NmRj YjQgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSArMSBAQAotM2IwODQ1 Y2ZiYmIyYWYzNTBlZjNiMDI2ZjhkZmNkNWYgIG9wZW5zc2wtMS4wLjFlLXVzYS50YXIueHoKKzYx MTVhZTBiYjYxYjQ4MWE5MTk1YmFlZjcyNTE0YzJlICBvcGVuc3NsLTEuMC4xZS1ob2JibGVkLnRh ci54ego=