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: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Bumped to 1.5.11 Date: Sun, 31 May 2026 02:06:18 GMT Message-ID: <178019317846.1.12651464662202610328.rpms-ibus-c104094ffef2@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: c104094ffef2c14befb0e3ae36774ba532e6e801 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvaWJ1cwpCcmFuY2gg OiBhdXRvdG9vbApDb21taXQgOiBjMTA0MDk0ZmZlZjJjMTRiZWZiMGUzYWUzNjc3NGJhNTMyZTZl ODAxCkF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgpEYXRlICAg OiAyMDE1LTA3LTE2VDE3OjA0OjI2KzA5OjAwClN0YXRzICA6ICsxMS8tMTY3MyBpbiA0IGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9pYnVzL2MvYzEw NDA5NGZmZWYyYzE0YmVmYjBlM2FlMzY3NzRiYTUzMmU2ZTgwMT9icmFuY2g9YXV0b3Rvb2wKCkxv ZzoKQnVtcGVkIHRvIDEuNS4xMQoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGln bm9yZQppbmRleCAzMmM1M2M1Li5mZTgwYmI3IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBi Ly5naXRpZ25vcmUKQEAgLTQ0LDMgKzQ0LDQgQEAgaWJ1cy0xLjMuNi50YXIuZ3oKIC9pYnVzLTEu NS44LnRhci5negogL2lidXMtMS41LjkudGFyLmd6CiAvaWJ1cy0xLjUuMTAudGFyLmd6CisvaWJ1 cy0xLjUuMTEudGFyLmd6CgpkaWZmIC0tZ2l0IGEvaWJ1cy1IRUFELnBhdGNoIGIvaWJ1cy1IRUFE LnBhdGNoCmluZGV4IDM0NTc0ZGUuLjhiMTM3ODkgMTAwNjQ0Ci0tLSBhL2lidXMtSEVBRC5wYXRj aAorKysgYi9pYnVzLUhFQUQucGF0Y2gKQEAgLTEsMTY0NiArMSBAQAotRnJvbSA0OWVlNTRmODM0 NzE1NDI0NDdlMTEyMWJlMTVjMjdmZjVkODY2MDBiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogQ29saW4gV2FsdGVycyA8d2FsdGVyc0B2ZXJidW0ub3JnPgotRGF0ZTogRnJpLCAyNyBG ZWIgMjAxNSAxMTozMjo0MSArMDkwMAotU3ViamVjdDogW1BBVENIXSBkY29uZjogV29yayBhcm91 bmQgdXNpbmcgZGJ1cyBkZXZlbG9wbWVudCBidWlsZHMgYW5kCi0gL2V0Yy9tYWNoaW5lLWlkCi0K LVJlY2VudCBEQnVzIGNoYW5nZWQgdGhlIHdheSBpdCByZWFkcyAvZXRjL21hY2hpbmUtaWQgdG8g YmUgbW9yZQotc3RyaWN0LCBhbmQgaXQgdHVybnMgb3V0IHRoYXQgdGhpcyBicmVha3MgdGhlIHVz ZSBvZiBkYnVzLWxhdW5jaCBoZXJlLgotCi1UaGUgKmNvcnJlY3QqIGZpeCBpcyB0byB1c2UgYGRi dXMtcnVuLXNlc3Npb25gLCBidXQgbm90IGV2ZXJ5b25lIGhhcwotdGhhdCB5ZXQuICBUaGlzIGlz IGEgcXVpY2sgaGFjayB0aGF0IGtlZXBzIHRoZSBidWlsZCBnb2luZy4KLQotQlVHPWh0dHBzOi8v Z2l0aHViLmNvbS9pYnVzL2lidXMvcHVsbC8xNgotVEVTVD1kYXRhL2Rjb25mLzAwLXVwc3RyZWFt LXNldHRpbmdzCi0KLVJldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmlldy5hcHBzcG90LmNvbS8y MDk4MTAwNDMKLVBhdGNoIGZyb20gQ29saW4gV2FsdGVycyA8d2FsdGVyc0B2ZXJidW0ub3JnPi4K LS0tLQotIGRhdGEvZGNvbmYvbWFrZS1kY29uZi1vdmVycmlkZS1kYi5zaCB8IDQgKysrKwotIDEg ZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2RhdGEvZGNvbmYv bWFrZS1kY29uZi1vdmVycmlkZS1kYi5zaCBiL2RhdGEvZGNvbmYvbWFrZS1kY29uZi1vdmVycmlk ZS1kYi5zaAotaW5kZXggNDlhNmRmOS4uOWM2NTBlOSAxMDA3NTUKLS0tLSBhL2RhdGEvZGNvbmYv bWFrZS1kY29uZi1vdmVycmlkZS1kYi5zaAotKysrIGIvZGF0YS9kY29uZi9tYWtlLWRjb25mLW92 ZXJyaWRlLWRiLnNoCi1AQCAtMiw2ICsyLDEwIEBACi0gCi0gc2V0IC1lCi0gCi0rIyBnbm9tZS1j b250aW51b3VzIGRvZXNuJ3QgaGF2ZSBhIG1hY2hpbmUtaWQgc2V0LCB3aGljaAotKyMgYnJlYWtz IGRidXMtbGF1bmNoLiAgVGhlcmUncyBkYnVzLXJ1bi1zZXNzaW9uIHdoaWNoIGlzCi0rIyBiZXR0 ZXIsIGJ1dCBub3QgZXZlcnlvbmUgaGFzIGl0IHlldC4KLStleHBvcnQgREJVU19GQVRBTF9XQVJO SU5HUz0wCi0gZXhwb3J0IFRNUERJUj0kKG1rdGVtcCAtZCAtLXRtcGRpcj0iJFBXRCIpCi0gZXhw b3J0IFhER19DT05GSUdfSE9NRT0iJFRNUERJUi9jb25maWciCi0gZXhwb3J0IFhER19DQUNIRV9I T01FPSIkVE1QRElSL2NhY2hlIgotLS0gCi0yLjEuMAotCi1Gcm9tIDBiYTY0NTI3NDBlYzZlNzYz NDRhZmFhMmE5ODg3NTY2ZDBiNjJhNGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQ ZW5nIFd1IDxhbGV4ZXBpY29AZ21haWwuY29tPgotRGF0ZTogTW9uLCA5IE1hciAyMDE1IDEzOjM2 OjU4ICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBpYnVzX2tleXZhbF9jb252ZXJ0X2Nhc2Ug YW5kCi0gaWJ1c19rZXl2YWxfdG9fdXBwZXIvbG93ZXIgbWV0aG9kcwotCi1JbiBzb21lIGlucHV0 IG1ldGhvZCBzZXR1cCBkaWFsb2csIGN1c3RvbWl6YXRpb24gb2Ygc2hvcnRjdXQga2V5cyBhcmUg c3VwcG9ydGVkLiBCdXQgaW4gcHl0aG9uIEd0ayssIHdoZW4gZ3JhYiB0aGUgc2hvcnRjdXQga2V5 LCB0aGUgZ2RrX2tleXZhbF90b19sb3dlciBtZXRob2Qgd2lsbCBiZSB1c2VkLgotCi1UaGlzIHBh dGNoIGFkZHMgaWJ1c19rZXl2YWxfY29udmVydF9jYXNlIGFuZCBpYnVzX2tleXZhbF90b191cHBl ci9sb3dlciBtZXRob2RzLCBzbyBpYnVzLWxpYnBpbnlpbiBjYW4gZHJvcCB0aGUgR2RrIDMueCBD KysgZGVwZW5kZW5jeS4KLQotQlVHPWh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvaWJ1cy9pc3N1 ZXMvZGV0YWlsP2lkPTE3NjYKLVRFU1Q9Ci0KLVJldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmll dy5hcHBzcG90LmNvbS8yMTM3NjAwNDMKLVBhdGNoIGZyb20gUGVuZyBXdSA8YWxleGVwaWNvQGdt YWlsLmNvbT4uCi0tLS0KLSBzcmMvaWJ1c2tleW5hbWVzLmMgfCAxNDcgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSBzcmMvaWJ1c2tleXMuaCAg ICAgfCAgMzMgKysrKysrKysrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCAxODAgaW5zZXJ0aW9ucygr KQotCi1kaWZmIC0tZ2l0IGEvc3JjL2lidXNrZXluYW1lcy5jIGIvc3JjL2lidXNrZXluYW1lcy5j Ci1pbmRleCAyOTM1YmNiLi5mZTc4MzZlIDEwMDY0NAotLS0tIGEvc3JjL2lidXNrZXluYW1lcy5j Ci0rKysgYi9zcmMvaWJ1c2tleW5hbWVzLmMKLUBAIC0zMSw2ICszMSw3IEBACi0gI2luY2x1ZGUg PHN0cmluZy5oPgotICNpbmNsdWRlICJpYnVza2V5c3ltcy5oIgotICNpbmNsdWRlICJrZXluYW1l LXRhYmxlLmgiCi0rI2luY2x1ZGUgImlidXNrZXlzLmgiCi0gCi0gI2RlZmluZSBJQlVTX05VTV9L RVlTIEdfTl9FTEVNRU5UUyAoZ2RrX2tleXNfYnlfa2V5dmFsKQotIAotQEAgLTE5NiwzICsxOTcs MTQ5IEBAIF9vdXQ6Ci0gICAgIHJldHVybiByZXR2YWw7Ci0gfQotIAotK2d1aW50Ci0raWJ1c19r ZXl2YWxfdG9fdXBwZXIgKGd1aW50IGtleXZhbCkKLSt7Ci0rICBndWludCByZXN1bHQ7Ci0rCi0r ICBpYnVzX2tleXZhbF9jb252ZXJ0X2Nhc2UgKGtleXZhbCwgTlVMTCwgJnJlc3VsdCk7Ci0rCi0r ICByZXR1cm4gcmVzdWx0OwotK30KLSsKLStndWludAotK2lidXNfa2V5dmFsX3RvX2xvd2VyIChn dWludCBrZXl2YWwpCi0rewotKyAgZ3VpbnQgcmVzdWx0OwotKwotKyAgaWJ1c19rZXl2YWxfY29u dmVydF9jYXNlIChrZXl2YWwsICZyZXN1bHQsIE5VTEwpOwotKwotKyAgcmV0dXJuIHJlc3VsdDsK LSt9Ci0rCi0rdm9pZAotK2lidXNfa2V5dmFsX2NvbnZlcnRfY2FzZSAoZ3VpbnQgc3ltYm9sLAot KyAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAqbG93ZXIsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgIGd1aW50ICp1cHBlcikKLSt7Ci0rICBndWludCB4bG93ZXIsIHh1cHBlcjsKLSsK LSsgIHhsb3dlciA9IHN5bWJvbDsKLSsgIHh1cHBlciA9IHN5bWJvbDsKLSsKLSsgIC8qIENoZWNr IGZvciBkaXJlY3RseSBlbmNvZGVkIDI0LWJpdCBVQ1MgY2hhcmFjdGVyczogKi8KLSsgIGlmICgo c3ltYm9sICYgMHhmZjAwMDAwMCkgPT0gMHgwMTAwMDAwMCkKLSsgICAgewotKyAgICAgIGlmIChs b3dlcikKLSsgICAgICAgICpsb3dlciA9IGlidXNfdW5pY29kZV90b19rZXl2YWwgKGdfdW5pY2hh cl90b2xvd2VyIChzeW1ib2wgJiAweDAwZmZmZmZmKSk7Ci0rICAgICAgaWYgKHVwcGVyKQotKyAg ICAgICAgKnVwcGVyID0gaWJ1c191bmljb2RlX3RvX2tleXZhbCAoZ191bmljaGFyX3RvdXBwZXIg KHN5bWJvbCAmIDB4MDBmZmZmZmYpKTsKLSsgICAgICByZXR1cm47Ci0rICAgIH0KLSsKLSsgIHN3 aXRjaCAoc3ltYm9sID4+IDgpCi0rICAgIHsKLSsgICAgY2FzZSAwOiAvKiBMYXRpbiAxICovCi0r ICAgICAgaWYgKChzeW1ib2wgPj0gSUJVU19LRVlfQSkgJiYgKHN5bWJvbCA8PSBJQlVTX0tFWV9a KSkKLSsgICAgICAgIHhsb3dlciArPSAoSUJVU19LRVlfYSAtIElCVVNfS0VZX0EpOwotKyAgICAg IGVsc2UgaWYgKChzeW1ib2wgPj0gSUJVU19LRVlfYSkgJiYgKHN5bWJvbCA8PSBJQlVTX0tFWV96 KSkKLSsgICAgICAgIHh1cHBlciAtPSAoSUJVU19LRVlfYSAtIElCVVNfS0VZX0EpOwotKyAgICAg IGVsc2UgaWYgKChzeW1ib2wgPj0gSUJVU19LRVlfQWdyYXZlKSAmJiAoc3ltYm9sIDw9IElCVVNf S0VZX09kaWFlcmVzaXMpKQotKyAgICAgICAgeGxvd2VyICs9IChJQlVTX0tFWV9hZ3JhdmUgLSBJ QlVTX0tFWV9BZ3JhdmUpOwotKyAgICAgIGVsc2UgaWYgKChzeW1ib2wgPj0gSUJVU19LRVlfYWdy YXZlKSAmJiAoc3ltYm9sIDw9IElCVVNfS0VZX29kaWFlcmVzaXMpKQotKyAgICAgICAgeHVwcGVy IC09IChJQlVTX0tFWV9hZ3JhdmUgLSBJQlVTX0tFWV9BZ3JhdmUpOwotKyAgICAgIGVsc2UgaWYg KChzeW1ib2wgPj0gSUJVU19LRVlfT29ibGlxdWUpICYmIChzeW1ib2wgPD0gSUJVU19LRVlfVGhv cm4pKQotKyAgICAgICAgeGxvd2VyICs9IChJQlVTX0tFWV9vc2xhc2ggLSBJQlVTX0tFWV9Pb2Js aXF1ZSk7Ci0rICAgICAgZWxzZSBpZiAoKHN5bWJvbCA+PSBJQlVTX0tFWV9vc2xhc2gpICYmIChz eW1ib2wgPD0gSUJVU19LRVlfdGhvcm4pKQotKyAgICAgICAgeHVwcGVyIC09IChJQlVTX0tFWV9v c2xhc2ggLSBJQlVTX0tFWV9Pb2JsaXF1ZSk7Ci0rICAgICAgYnJlYWs7Ci0rCi0rICAgIGNhc2Ug MTogLyogTGF0aW4gMiAqLwotKyAgICAgIC8qIEFzc3VtZSB0aGUgS2V5U3ltIGlzIGEgbGVnYWwg dmFsdWUgKGlnbm9yZSBkaXNjb250aW51aXRpZXMpICovCi0rICAgICAgaWYgKHN5bWJvbCA9PSBJ QlVTX0tFWV9Bb2dvbmVrKQotKyAgICAgICAgeGxvd2VyID0gSUJVU19LRVlfYW9nb25lazsKLSsg ICAgICBlbHNlIGlmIChzeW1ib2wgPj0gSUJVU19LRVlfTHN0cm9rZSAmJiBzeW1ib2wgPD0gSUJV U19LRVlfU2FjdXRlKQotKyAgICAgICAgeGxvd2VyICs9IChJQlVTX0tFWV9sc3Ryb2tlIC0gSUJV U19LRVlfTHN0cm9rZSk7Ci0rICAgICAgZWxzZSBpZiAoc3ltYm9sID49IElCVVNfS0VZX1NjYXJv biAmJiBzeW1ib2wgPD0gSUJVU19LRVlfWmFjdXRlKQotKyAgICAgICAgeGxvd2VyICs9IChJQlVT X0tFWV9zY2Fyb24gLSBJQlVTX0tFWV9TY2Fyb24pOwotKyAgICAgIGVsc2UgaWYgKHN5bWJvbCA+ PSBJQlVTX0tFWV9aY2Fyb24gJiYgc3ltYm9sIDw9IElCVVNfS0VZX1phYm92ZWRvdCkKLSsgICAg ICAgIHhsb3dlciArPSAoSUJVU19LRVlfemNhcm9uIC0gSUJVU19LRVlfWmNhcm9uKTsKLSsgICAg ICBlbHNlIGlmIChzeW1ib2wgPT0gSUJVU19LRVlfYW9nb25laykKLSsgICAgICAgIHh1cHBlciA9 IElCVVNfS0VZX0FvZ29uZWs7Ci0rICAgICAgZWxzZSBpZiAoc3ltYm9sID49IElCVVNfS0VZX2xz dHJva2UgJiYgc3ltYm9sIDw9IElCVVNfS0VZX3NhY3V0ZSkKLSsgICAgICAgIHh1cHBlciAtPSAo SUJVU19LRVlfbHN0cm9rZSAtIElCVVNfS0VZX0xzdHJva2UpOwotKyAgICAgIGVsc2UgaWYgKHN5 bWJvbCA+PSBJQlVTX0tFWV9zY2Fyb24gJiYgc3ltYm9sIDw9IElCVVNfS0VZX3phY3V0ZSkKLSsg ICAgICAgIHh1cHBlciAtPSAoSUJVU19LRVlfc2Nhcm9uIC0gSUJVU19LRVlfU2Nhcm9uKTsKLSsg ICAgICBlbHNlIGlmIChzeW1ib2wgPj0gSUJVU19LRVlfemNhcm9uICYmIHN5bWJvbCA8PSBJQlVT X0tFWV96YWJvdmVkb3QpCi0rICAgICAgICB4dXBwZXIgLT0gKElCVVNfS0VZX3pjYXJvbiAtIElC VVNfS0VZX1pjYXJvbik7Ci0rICAgICAgZWxzZSBpZiAoc3ltYm9sID49IElCVVNfS0VZX1JhY3V0 ZSAmJiBzeW1ib2wgPD0gSUJVU19LRVlfVGNlZGlsbGEpCi0rICAgICAgICB4bG93ZXIgKz0gKElC VVNfS0VZX3JhY3V0ZSAtIElCVVNfS0VZX1JhY3V0ZSk7Ci0rICAgICAgZWxzZSBpZiAoc3ltYm9s ID49IElCVVNfS0VZX3JhY3V0ZSAmJiBzeW1ib2wgPD0gSUJVU19LRVlfdGNlZGlsbGEpCi0rICAg ICAgICB4dXBwZXIgLT0gKElCVVNfS0VZX3JhY3V0ZSAtIElCVVNfS0VZX1JhY3V0ZSk7Ci0rICAg ICAgYnJlYWs7Ci0rCi0rICAgIGNhc2UgMjogLyogTGF0aW4gMyAqLwotKyAgICAgIC8qIEFzc3Vt ZSB0aGUgS2V5U3ltIGlzIGEgbGVnYWwgdmFsdWUgKGlnbm9yZSBkaXNjb250aW51aXRpZXMpICov Ci0rICAgICAgaWYgKHN5bWJvbCA+PSBJQlVTX0tFWV9Ic3Ryb2tlICYmIHN5bWJvbCA8PSBJQlVT X0tFWV9IY2lyY3VtZmxleCkKLSsgICAgICAgIHhsb3dlciArPSAoSUJVU19LRVlfaHN0cm9rZSAt IElCVVNfS0VZX0hzdHJva2UpOwotKyAgICAgIGVsc2UgaWYgKHN5bWJvbCA+PSBJQlVTX0tFWV9H YnJldmUgJiYgc3ltYm9sIDw9IElCVVNfS0VZX0pjaXJjdW1mbGV4KQotKyAgICAgICAgeGxvd2Vy ICs9IChJQlVTX0tFWV9nYnJldmUgLSBJQlVTX0tFWV9HYnJldmUpOwotKyAgICAgIGVsc2UgaWYg KHN5bWJvbCA+PSBJQlVTX0tFWV9oc3Ryb2tlICYmIHN5bWJvbCA8PSBJQlVTX0tFWV9oY2lyY3Vt ZmxleCkKLSsgICAgICAgIHh1cHBlciAtPSAoSUJVU19LRVlfaHN0cm9rZSAtIElCVVNfS0VZX0hz dHJva2UpOwotKyAgICAgIGVsc2UgaWYgKHN5bWJvbCA+PSBJQlVTX0tFWV9nYnJldmUgJiYgc3lt Ym9sIDw9IElCVVNfS0VZX2pjaXJjdW1mbGV4KQotKyAgICAgICAgeHVwcGVyIC09IChJQlVTX0tF WV9nYnJldmUgLSBJQlVTX0tFWV9HYnJldmUpOwotKyAgICAgIGVsc2UgaWYgKHN5bWJvbCA+PSBJ QlVTX0tFWV9DYWJvdmVkb3QgJiYgc3ltYm9sIDw9IElCVVNfS0VZX1NjaXJjdW1mbGV4KQotKyAg ICAgICAgeGxvd2VyICs9IChJQlVTX0tFWV9jYWJvdmVkb3QgLSBJQlVTX0tFWV9DYWJvdmVkb3Qp OwotKyAgICAgIGVsc2UgaWYgKHN5bWJvbCA+PSBJQlVTX0tFWV9jYWJvdmVkb3QgJiYgc3ltYm9s IDw9IElCVVNfS0VZX3NjaXJjdW1mbGV4KQotKyAgICAgICAgeHVwcGVyIC09IChJQlVTX0tFWV9j YWJvdmVkb3QgLSBJQlVTX0tFWV9DYWJvdmVkb3QpOwotKyAgICAgIGJyZWFrOwotKwotKyAgICBj YXNlIDM6IC8qIExhdGluIDQgKi8KLSsgICAgICAvKiBBc3N1bWUgdGhlIEtleVN5bSBpcyBhIGxl Z2FsIHZhbHVlIChpZ25vcmUgZGlzY29udGludWl0aWVzKSAqLwotKyAgICAgIGlmIChzeW1ib2wg Pj0gSUJVU19LRVlfUmNlZGlsbGEgJiYgc3ltYm9sIDw9IElCVVNfS0VZX1RzbGFzaCkKLSsgICAg ICAgIHhsb3dlciArPSAoSUJVU19LRVlfcmNlZGlsbGEgLSBJQlVTX0tFWV9SY2VkaWxsYSk7Ci0r ICAgICAgZWxzZSBpZiAoc3ltYm9sID49IElCVVNfS0VZX3JjZWRpbGxhICYmIHN5bWJvbCA8PSBJ QlVTX0tFWV90c2xhc2gpCi0rICAgICAgICB4dXBwZXIgLT0gKElCVVNfS0VZX3JjZWRpbGxhIC0g SUJVU19LRVlfUmNlZGlsbGEpOwotKyAgICAgIGVsc2UgaWYgKHN5bWJvbCA9PSBJQlVTX0tFWV9F TkcpCi0rICAgICAgICB4bG93ZXIgPSBJQlVTX0tFWV9lbmc7Ci0rICAgICAgZWxzZSBpZiAoc3lt Ym9sID09IElCVVNfS0VZX2VuZykKLSsgICAgICAgIHh1cHBlciA9IElCVVNfS0VZX0VORzsKLSsg ICAgICBlbHNlIGlmIChzeW1ib2wgPj0gSUJVU19LRVlfQW1hY3JvbiAmJiBzeW1ib2wgPD0gSUJV U19LRVlfVW1hY3JvbikKLSsgICAgICAgIHhsb3dlciArPSAoSUJVU19LRVlfYW1hY3JvbiAtIElC VVNfS0VZX0FtYWNyb24pOwotKyAgICAgIGVsc2UgaWYgKHN5bWJvbCA+PSBJQlVTX0tFWV9hbWFj cm9uICYmIHN5bWJvbCA8PSBJQlVTX0tFWV91bWFjcm9uKQotKyAgICAgICAgeHVwcGVyIC09IChJ QlVTX0tFWV9hbWFjcm9uIC0gSUJVU19LRVlfQW1hY3Jvbik7Ci0rICAgICAgYnJlYWs7Ci0rCi0r ICAgIGNhc2UgNjogLyogQ3lyaWxsaWMgKi8KLSsgICAgICAvKiBBc3N1bWUgdGhlIEtleVN5bSBp cyBhIGxlZ2FsIHZhbHVlIChpZ25vcmUgZGlzY29udGludWl0aWVzKSAqLwotKyAgICAgIGlmIChz eW1ib2wgPj0gSUJVU19LRVlfU2VyYmlhbl9ESkUgJiYgc3ltYm9sIDw9IElCVVNfS0VZX1NlcmJp YW5fRFpFKQotKyAgICAgICAgeGxvd2VyIC09IChJQlVTX0tFWV9TZXJiaWFuX0RKRSAtIElCVVNf S0VZX1NlcmJpYW5fZGplKTsKLSsgICAgICBlbHNlIGlmIChzeW1ib2wgPj0gSUJVU19LRVlfU2Vy Ymlhbl9kamUgJiYgc3ltYm9sIDw9IElCVVNfS0VZX1NlcmJpYW5fZHplKQotKyAgICAgICAgeHVw cGVyICs9IChJQlVTX0tFWV9TZXJiaWFuX0RKRSAtIElCVVNfS0VZX1NlcmJpYW5fZGplKTsKLSsg ICAgICBlbHNlIGlmIChzeW1ib2wgPj0gSUJVU19LRVlfQ3lyaWxsaWNfWVUgJiYgc3ltYm9sIDw9 IElCVVNfS0VZX0N5cmlsbGljX0hBUkRTSUdOKQotKyAgICAgICAgeGxvd2VyIC09IChJQlVTX0tF WV9DeXJpbGxpY19ZVSAtIElCVVNfS0VZX0N5cmlsbGljX3l1KTsKLSsgICAgICBlbHNlIGlmIChz eW1ib2wgPj0gSUJVU19LRVlfQ3lyaWxsaWNfeXUgJiYgc3ltYm9sIDw9IElCVVNfS0VZX0N5cmls bGljX2hhcmRzaWduKQotKyAgICAgICAgeHVwcGVyICs9IChJQlVTX0tFWV9DeXJpbGxpY19ZVSAt IElCVVNfS0VZX0N5cmlsbGljX3l1KTsKLSsgICAgICBicmVhazsKLSsKLSsgICAgY2FzZSA3OiAv KiBHcmVlayAqLwotKyAgICAgIC8qIEFzc3VtZSB0aGUgS2V5U3ltIGlzIGEgbGVnYWwgdmFsdWUg KGlnbm9yZSBkaXNjb250aW51aXRpZXMpICovCi0rICAgICAgaWYgKHN5bWJvbCA+PSBJQlVTX0tF WV9HcmVla19BTFBIQWFjY2VudCAmJiBzeW1ib2wgPD0gSUJVU19LRVlfR3JlZWtfT01FR0FhY2Nl bnQpCi0rICAgICAgICB4bG93ZXIgKz0gKElCVVNfS0VZX0dyZWVrX2FscGhhYWNjZW50IC0gSUJV U19LRVlfR3JlZWtfQUxQSEFhY2NlbnQpOwotKyAgICAgIGVsc2UgaWYgKHN5bWJvbCA+PSBJQlVT X0tFWV9HcmVla19hbHBoYWFjY2VudCAmJiBzeW1ib2wgPD0gSUJVU19LRVlfR3JlZWtfb21lZ2Fh Y2NlbnQgJiYKLSsgICAgICAgICAgICAgICBzeW1ib2wgIT0gSUJVU19LRVlfR3JlZWtfaW90YWFj Y2VudGRpZXJlc2lzICYmCi0rICAgICAgICAgICAgICAgc3ltYm9sICE9IElCVVNfS0VZX0dyZWVr X3Vwc2lsb25hY2NlbnRkaWVyZXNpcykKLSsgICAgICAgIHh1cHBlciAtPSAoSUJVU19LRVlfR3Jl ZWtfYWxwaGFhY2NlbnQgLSBJQlVTX0tFWV9HcmVla19BTFBIQWFjY2VudCk7Ci0rICAgICAgZWxz ZSBpZiAoc3ltYm9sID49IElCVVNfS0VZX0dyZWVrX0FMUEhBICYmIHN5bWJvbCA8PSBJQlVTX0tF WV9HcmVla19PTUVHQSkKLSsgICAgICAgIHhsb3dlciArPSAoSUJVU19LRVlfR3JlZWtfYWxwaGEg LSBJQlVTX0tFWV9HcmVla19BTFBIQSk7Ci0rICAgICAgZWxzZSBpZiAoc3ltYm9sID49IElCVVNf S0VZX0dyZWVrX2FscGhhICYmIHN5bWJvbCA8PSBJQlVTX0tFWV9HcmVla19vbWVnYSAmJgotKyAg ICAgICAgICAgICAgIHN5bWJvbCAhPSBJQlVTX0tFWV9HcmVla19maW5hbHNtYWxsc2lnbWEpCi0r ICAgICAgICB4dXBwZXIgLT0gKElCVVNfS0VZX0dyZWVrX2FscGhhIC0gSUJVU19LRVlfR3JlZWtf QUxQSEEpOwotKyAgICAgIGJyZWFrOwotKyAgICB9Ci0rCi0rICBpZiAobG93ZXIpCi0rICAgICps b3dlciA9IHhsb3dlcjsKLSsgIGlmICh1cHBlcikKLSsgICAgKnVwcGVyID0geHVwcGVyOwotK30K LWRpZmYgLS1naXQgYS9zcmMvaWJ1c2tleXMuaCBiL3NyYy9pYnVza2V5cy5oCi1pbmRleCA3OTY5 OTI5Li42YWQwYTkwIDEwMDY0NAotLS0tIGEvc3JjL2lidXNrZXlzLmgKLSsrKyBiL3NyYy9pYnVz a2V5cy5oCi1AQCAtNzQsNSArNzQsMzggQEAgZ3VpbnQgICAgICAgICAgICBpYnVzX3VuaWNvZGVf dG9fa2V5dmFsIChndW5pY2hhciAgICAgICAgd2MpOwotICAqKi8KLSBndW5pY2hhciAgICAgICAg IGlidXNfa2V5dmFsX3RvX3VuaWNvZGUgKGd1aW50ICAgICAgICAgICBrZXl2YWwpOwotIAotKy8q KgotKyAqIGlidXNfa2V5dmFsX3RvX3VwcGVyOgotKyAqIEBrZXl2YWw6IGEga2V5IHZhbHVlLgot KyAqCi0rICogQ29udmVydHMgYSBrZXkgdmFsdWUgdG8gdXBwZXIgY2FzZSwgaWYgYXBwbGljYWJs ZS4KLSsgKgotKyAqIFJldHVybnM6IHRoZSB1cHBlciBjYXNlIGZvcm0gb2YgQGtleXZhbCwgb3Ig QGtleXZhbCBpdHNlbGYgaWYgaXQgaXMgYWxyZWFkeQotKyAqICAgaW4gdXBwZXIgY2FzZSBvciBp dCBpcyBub3Qgc3ViamVjdCB0byBjYXNlIGNvbnZlcnNpb24uCi0rICovCi0rZ3VpbnQgICAgICAg ICAgICBpYnVzX2tleXZhbF90b191cHBlciAoZ3VpbnQga2V5dmFsKTsKLSsKLSsvKioKLSsgKiBp YnVzX2tleXZhbF90b19sb3dlcjoKLSsgKiBAa2V5dmFsOiBhIGtleSB2YWx1ZS4KLSsgKgotKyAq IENvbnZlcnRzIGEga2V5IHZhbHVlIHRvIGxvd2VyIGNhc2UsIGlmIGFwcGxpY2FibGUuCi0rICoK LSsgKiBSZXR1cm5zOiB0aGUgbG93ZXIgY2FzZSBmb3JtIG9mIEBrZXl2YWwsIG9yIEBrZXl2YWwg aXRzZWxmIGlmIGl0IGlzIGFscmVhZHkKLSsgKiAgaW4gbG93ZXIgY2FzZSBvciBpdCBpcyBub3Qg c3ViamVjdCB0byBjYXNlIGNvbnZlcnNpb24uCi0rICovCi0rZ3VpbnQgICAgICAgICAgICBpYnVz X2tleXZhbF90b19sb3dlciAoZ3VpbnQga2V5dmFsKTsKLSsKLSsvKioKLSsgKiBpYnVzX2tleXZh bF9jb252ZXJ0X2Nhc2U6Ci0rICogQHN5bWJvbDogYSBrZXl2YWwKLSsgKiBAbG93ZXI6IChvdXQp OiByZXR1cm4gbG9jYXRpb24gZm9yIGxvd2VyY2FzZSB2ZXJzaW9uIG9mIEBzeW1ib2wKLSsgKiBA dXBwZXI6IChvdXQpOiByZXR1cm4gbG9jYXRpb24gZm9yIHVwcGVyY2FzZSB2ZXJzaW9uIG9mIEBz eW1ib2wKLSsgKgotKyAqIE9idGFpbnMgdGhlIHVwcGVyLSBhbmQgbG93ZXItY2FzZSB2ZXJzaW9u cyBvZiB0aGUga2V5dmFsIEBzeW1ib2wuCi0rICogRXhhbXBsZXMgb2Yga2V5dmFscyBhcmUgI0lC VVNfS0VZX2EsICNJQlVTX0tFWV9FbnRlciwgI0lCVVNfS0VZX0YxLCBldGMuCi0rICovCi0rdm9p ZCBpYnVzX2tleXZhbF9jb252ZXJ0X2Nhc2UgKGd1aW50IHN5bWJvbCwgZ3VpbnQgKmxvd2VyLCBn dWludCAqdXBwZXIpOwotKwotIEdfRU5EX0RFQ0xTCi0gI2VuZGlmIC8vIF9fSUJVU19LRVlTX0hf Ci0tLSAKLTIuMS4wCi0KLUZyb20gZjMyZTk4ZmRhY2Y1MGFmNzBmZTFlMzE5ODQ2M2ZjNzVkOWVh ZDcyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsYmVydCBWZWxpIDxhbGJlcnQu dmVsaUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDEyIE1hciAyMDE1IDEyOjEyOjIyICswOTAwCi1T dWJqZWN0OiBbUEFUQ0hdIEFkZCBTd2VkaXNoIHN2ZHZvcmFrIGluIHNpbXBsZS54bWwKLQotVEVT VD1lbmdpbmUvc2ltcGxlLnhtbAotCi1SZXZpZXcgVVJMOiBodHRwczovL2NvZGVyZXZpZXcuYXBw c3BvdC5jb20vMjE1NzMwMDQzCi1QYXRjaCBmcm9tIEFsYmVydCBWZWxpIDxhbGJlcnQudmVsaUBn bWFpbC5jb20+LgotLS0tCi0gZW5naW5lL3NpbXBsZS54bWwuaW4gfCAxMiArKysrKysrKysrKysK LSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZW5naW5l L3NpbXBsZS54bWwuaW4gYi9lbmdpbmUvc2ltcGxlLnhtbC5pbgotaW5kZXggYzE2Zjg2YS4uOTNk ZTE0YSAxMDA2NDQKLS0tLSBhL2VuZ2luZS9zaW1wbGUueG1sLmluCi0rKysgYi9lbmdpbmUvc2lt cGxlLnhtbC5pbgotQEAgLTYyNSw2ICs2MjUsMTggQEAKLSAgICAgICAgICAgICAgICAgICAgICAg ICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotIAkJCTxyYW5rPjk5PC9yYW5rPgotIAkJPC9l bmdpbmU+Ci0rICAgICAgICAgICAgICAgIDxlbmdpbmU+Ci0rICAgICAgICAgICAgICAgICAgICAg ICAgPG5hbWU+eGtiOnNlOnN2ZHZvcmFrOnN3ZTwvbmFtZT4KLSsgICAgICAgICAgICAgICAgICAg ICAgICA8bGFuZ3VhZ2U+c3dlPC9sYW5ndWFnZT4KLSsgICAgICAgICAgICAgICAgICAgICAgICA8 bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0rICAgICAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Q ZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLSsgICAg ICAgICAgICAgICAgICAgICAgICA8bGF5b3V0PnNlPC9sYXlvdXQ+Ci0rICAgICAgICAgICAgICAg ICAgICAgICAgPGxheW91dF92YXJpYW50PnN2ZHZvcmFrPC9sYXlvdXRfdmFyaWFudD4KLSsgICAg ICAgICAgICAgICAgICAgICAgICA8bG9uZ25hbWU+U3dlZGlzaCAoU3Zkdm9yYWspPC9sb25nbmFt ZT4KLSsgICAgICAgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+U3dlZGlzaCAoU3Zkdm9y YWspPC9kZXNjcmlwdGlvbj4KLSsgICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtl eWJvYXJkPC9pY29uPgotKyAgICAgICAgICAgICAgICAgICAgICAgIDxyYW5rPjk5PC9yYW5rPgot KyAgICAgICAgICAgICAgICA8L2VuZ2luZT4KLSAJCTxlbmdpbmU+Ci0gCQkJPG5hbWU+eGtiOmNo OjpnZXI8L25hbWU+Ci0gCQkJPGxhbmd1YWdlPmdlcjwvbGFuZ3VhZ2U+Ci0tLSAKLTIuMS4wCi0K LUZyb20gNGE0YmQ1ZmQwY2FjNjNiNzM0NjQwMzk4OTZkZjEyM2VmZDM3MmQ0YSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNv bT4KLURhdGU6IFdlZCwgMTggTWFyIDIwMTUgMTM6NDc6MDcgKzA5MDAKLVN1YmplY3Q6IFtQQVRD SF0gQ2hhbmdlIHJhbmtzIGZvciBtaW5vciBrZXltYXBzIGluIHNpbXBsZS54bWwKLQotVEVTVD1l bmdpbmUvc2ltcGxlLnhtbAotCi1SZXZpZXcgVVJMOiBodHRwczovL2NvZGVyZXZpZXcuYXBwc3Bv dC5jb20vMjE3OTAwMDQzCi0tLS0KLSBlbmdpbmUvc2ltcGxlLnhtbC5pbiB8IDUwICsrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5n ZWQsIDI1IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZW5n aW5lL3NpbXBsZS54bWwuaW4gYi9lbmdpbmUvc2ltcGxlLnhtbC5pbgotaW5kZXggOTNkZTE0YS4u NWYwNGY4YiAxMDA2NDQKLS0tLSBhL2VuZ2luZS9zaW1wbGUueG1sLmluCi0rKysgYi9lbmdpbmUv c2ltcGxlLnhtbC5pbgotQEAgLTMwLDcgKzMwLDcgQEAKLSAJCQk8bG9uZ25hbWU+RW5nbGlzaCAo VVMsIGludGVybmF0aW9uYWwgd2l0aCBkZWFkIGtleXMpPC9sb25nbmFtZT4KLSAJCQk8ZGVzY3Jp cHRpb24+RW5nbGlzaCAoVVMsIGludGVybmF0aW9uYWwgd2l0aCBkZWFkIGtleXMpPC9kZXNjcmlw dGlvbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29u PgotLQkJCTxyYW5rPjk5PC9yYW5rPgotKwkJCTxyYW5rPjE8L3Jhbms+Ci0gCQk8L2VuZ2luZT4K LSAJCTxlbmdpbmU+Ci0gCQkJPG5hbWU+eGtiOnVzOmNvbGVtYWs6ZW5nPC9uYW1lPgotQEAgLTQy LDcgKzQyLDcgQEAKLSAJCQk8bG9uZ25hbWU+RW5nbGlzaCAoQ29sZW1hayk8L2xvbmduYW1lPgot IAkJCTxkZXNjcmlwdGlvbj5FbmdsaXNoIChDb2xlbWFrKTwvZGVzY3JpcHRpb24+Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45 OTwvcmFuaz4KLSsJCQk8cmFuaz4xPC9yYW5rPgotIAkJPC9lbmdpbmU+Ci0gCQk8ZW5naW5lPgot IAkJCTxuYW1lPnhrYjp1czpkdm9yYWs6ZW5nPC9uYW1lPgotQEAgLTU0LDcgKzU0LDcgQEAKLSAJ CQk8bG9uZ25hbWU+RW5nbGlzaCAoRHZvcmFrKTwvbG9uZ25hbWU+Ci0gCQkJPGRlc2NyaXB0aW9u PkVuZ2xpc2ggKER2b3Jhayk8L2Rlc2NyaXB0aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAg IDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0rCQkJPHJh bms+MTwvcmFuaz4KLSAJCTwvZW5naW5lPgotIAkJPGVuZ2luZT4KLSAJCQk8bmFtZT54a2I6dXM6 YWx0Z3ItaW50bDplbmc8L25hbWU+Ci1AQCAtNjYsNyArNjYsNyBAQAotIAkJCTxsb25nbmFtZT5F bmdsaXNoIChpbnRlcm5hdGlvbmFsIEFsdEdyIGRlYWQga2V5cyk8L2xvbmduYW1lPgotIAkJCTxk ZXNjcmlwdGlvbj5FbmdsaXNoIChpbnRlcm5hdGlvbmFsIEFsdEdyIGRlYWQga2V5cyk8L2Rlc2Ny aXB0aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2lj b24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0rCQkJPHJhbms+MTwvcmFuaz4KLSAJCTwvZW5naW5l PgotIAkJPGVuZ2luZT4KLSAJCQk8bmFtZT54a2I6YXJhOjphcmE8L25hbWU+Ci1AQCAtODgsNyAr ODgsNyBAQAotIAkJCTxsb25nbmFtZT5CZWxnaWFuPC9sb25nbmFtZT4KLSAJCQk8ZGVzY3JpcHRp b24+QmVsZ2lhbjwvZGVzY3JpcHRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+ aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLSsJCQk8cmFuaz4xPC9y YW5rPgotIAkJPC9lbmdpbmU+Ci0gCQk8ZW5naW5lPgotIAkJCTxuYW1lPnhrYjpiZTo6bmxkPC9u YW1lPgotQEAgLTExMCw3ICsxMTAsNyBAQAotIAkJCTxsb25nbmFtZT5CZWxnaWFuPC9sb25nbmFt ZT4KLSAJCQk8ZGVzY3JpcHRpb24+QmVsZ2lhbjwvZGVzY3JpcHRpb24+Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFu az4KLSsJCQk8cmFuaz4xPC9yYW5rPgotIAkJPC9lbmdpbmU+Ci0gCQk8ZW5naW5lPgotIAkJCTxu YW1lPnhrYjpicjo6cG9yPC9uYW1lPgotQEAgLTEzMyw3ICsxMzMsNyBAQAotIAkJCTxsb25nbmFt ZT5Qb3J0dWd1ZXNlIChCcmF6aWwsIER2b3Jhayk8L2xvbmduYW1lPgotIAkJCTxkZXNjcmlwdGlv bj5Qb3J0dWd1ZXNlIChCcmF6aWwsIER2b3Jhayk8L2Rlc2NyaXB0aW9uPgotICAgICAgICAgICAg ICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jh bms+Ci0rCQkJPHJhbms+MTwvcmFuaz4KLSAJCTwvZW5naW5lPgotIAkJPGVuZ2luZT4KLSAJCQk8 bmFtZT54a2I6Ymc6OmJ1bDwvbmFtZT4KLUBAIC0xNjcsNyArMTY3LDcgQEAKLSAJCQk8bG9uZ25h bWU+RnJlbmNoIChDYW5hZGEpPC9sb25nbmFtZT4KLSAJCQk8ZGVzY3JpcHRpb24+RnJlbmNoIChD YW5hZGEpPC9kZXNjcmlwdGlvbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVz LWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotKwkJCTxyYW5rPjE8L3Jhbms+ Ci0gCQk8L2VuZ2luZT4KLSAJCTxlbmdpbmU+Ci0gCQkJPG5hbWU+eGtiOmNhOmVuZzplbmc8L25h bWU+Ci1AQCAtMTc5LDcgKzE3OSw3IEBACi0gCQkJPGxvbmduYW1lPkVuZ2xpc2ggKENhbmFkYSk8 L2xvbmduYW1lPgotIAkJCTxkZXNjcmlwdGlvbj5FbmdsaXNoIChDYW5hZGEpPC9kZXNjcmlwdGlv bj4KLSAgICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgot LQkJCTxyYW5rPjk5PC9yYW5rPgotKwkJCTxyYW5rPjE8L3Jhbms+Ci0gCQk8L2VuZ2luZT4KLSAJ CTxlbmdpbmU+Ci0gCQkJPG5hbWU+eGtiOmhyOjpzY3I8L25hbWU+Ci1AQCAtMjY5LDcgKzI2OSw3 IEBACi0gICAgICAgICAgICAgICAgICAgICAgICAgPGxvbmduYW1lPkZyZW5jaCAoYWx0ZXJuYXRp dmUpPC9sb25nbmFtZT4KLSAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+RnJl bmNoIChhbHRlcm5hdGl2ZSk8L2Rlc2NyaXB0aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAg IDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPHJh bms+OTk8L3Jhbms+Ci0rICAgICAgICAgICAgICAgICAgICAgICAgPHJhbms+MTwvcmFuaz4KLSAg ICAgICAgICAgICAgICAgPC9lbmdpbmU+Ci0gICAgICAgICAgICAgICAgIDxlbmdpbmU+Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgPG5hbWU+eGtiOmZyOmJlcG86ZnJhPC9uYW1lPgotQEAgLTI4 MSw3ICsyODEsNyBAQAotICAgICAgICAgICAgICAgICAgICAgICAgIDxsb25nbmFtZT5GcmVuY2gg KEJlcG8sIGVyZ29ub21pYywgRHZvcmFrIHdheSk8L2xvbmduYW1lPgotICAgICAgICAgICAgICAg ICAgICAgICAgIDxkZXNjcmlwdGlvbj5GcmVuY2ggKEJlcG8sIGVyZ29ub21pYywgRHZvcmFrIHdh eSk8L2Rlc2NyaXB0aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5 Ym9hcmQ8L2ljb24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPHJhbms+OTk8L3Jhbms+Ci0r ICAgICAgICAgICAgICAgICAgICAgICAgPHJhbms+MTwvcmFuaz4KLSAgICAgICAgICAgICAgICAg PC9lbmdpbmU+Ci0gICAgICAgICAgICAgICAgIDxlbmdpbmU+Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgPG5hbWU+eGtiOmZyOmR2b3JhazpmcmE8L25hbWU+Ci1AQCAtMzE2LDcgKzMxNiw3IEBA Ci0gCQkJPGxvbmduYW1lPkdlcm1hbiAoRHZvcmFrKTwvbG9uZ25hbWU+Ci0gCQkJPGRlc2NyaXB0 aW9uPkdlcm1hbiAoRHZvcmFrKTwvZGVzY3JpcHRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLSsJCQk8 cmFuaz4xPC9yYW5rPgotIAkJPC9lbmdpbmU+Ci0gCQk8ZW5naW5lPgotIAkJCTxuYW1lPnhrYjpk ZTpuZW86Z2VyPC9uYW1lPgotQEAgLTMyOCw3ICszMjgsNyBAQAotIAkJCTxsb25nbmFtZT5HZXJt YW4gKE5lbyAyKTwvbG9uZ25hbWU+Ci0gCQkJPGRlc2NyaXB0aW9uPkdlcm1hbiAoTmVvIDIpPC9k ZXNjcmlwdGlvbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJk PC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotKwkJCTxyYW5rPjE8L3Jhbms+Ci0gCQk8L2Vu Z2luZT4KLSAgICAgICAgICAgICAgICAgPGVuZ2luZT4KLSAgICAgICAgICAgICAgICAgICAgICAg ICA8bmFtZT54a2I6ZGU6bm9kZWFka2V5czpnZXI8L25hbWU+Ci1AQCAtMzQwLDcgKzM0MCw3IEBA Ci0gICAgICAgICAgICAgICAgICAgICAgICAgPGxvbmduYW1lPkdlcm1hbiAoZWxpbWluYXRlIGRl YWQga2V5cyk8L2xvbmduYW1lPgotICAgICAgICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlv bj5HZXJtYW4gKGVsaW1pbmF0ZSBkZWFkIGtleXMpPC9kZXNjcmlwdGlvbj4KLSAgICAgICAgICAg ICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLSAgICAgICAgICAgICAg ICAgICAgICAgIDxyYW5rPjk5PC9yYW5rPgotKyAgICAgICAgICAgICAgICAgICAgICAgIDxyYW5r PjE8L3Jhbms+Ci0gICAgICAgICAgICAgICAgIDwvZW5naW5lPgotIAkJPGVuZ2luZT4KLSAJCQk8 bmFtZT54a2I6Z3I6OmdyZTwvbmFtZT4KLUBAIC0zOTUsNyArMzk1LDcgQEAKLSAJCQk8bG9uZ25h bWU+SmFwYW5lc2U8L2xvbmduYW1lPgotIAkJCTxkZXNjcmlwdGlvbj5KYXBhbmVzZTwvZGVzY3Jp cHRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNv bj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLSsJCQk8cmFuaz4xPC9yYW5rPgotIAkJPC9lbmdpbmU+ Ci0gCQk8ZW5naW5lPgotIAkJCTxuYW1lPnhrYjpsYXRhbTo6c3BhPC9uYW1lPgotQEAgLTQwNiw3 ICs0MDYsNyBAQAotIAkJCTxsb25nbmFtZT5TcGFuaXNoIChMYXRpbiBBbWVyaWNhbik8L2xvbmdu YW1lPgotIAkJCTxkZXNjcmlwdGlvbj5TcGFuaXNoIChMYXRpbiBBbWVyaWNhbik8L2Rlc2NyaXB0 aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+ Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0rCQkJPHJhbms+MTwvcmFuaz4KLSAJCTwvZW5naW5lPgot IAkJPGVuZ2luZT4KLSAJCQk8bmFtZT54a2I6bHQ6OmxpdDwvbmFtZT4KLUBAIC00NTIsNyArNDUy LDcgQEAKLSAJCQk8bG9uZ25hbWU+Tm9yd2VnaWFuIChEdm9yYWspPC9sb25nbmFtZT4KLSAJCQk8 ZGVzY3JpcHRpb24+Tm9yd2VnaWFuIChEdm9yYWspPC9kZXNjcmlwdGlvbj4KLSAgICAgICAgICAg ICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9y YW5rPgotKwkJCTxyYW5rPjE8L3Jhbms+Ci0gCQk8L2VuZ2luZT4KLSAJCTxlbmdpbmU+Ci0gCQkJ PG5hbWU+eGtiOnBsOjpwb2w8L25hbWU+Ci1AQCAtNDc1LDcgKzQ3NSw3IEBACi0gCQkJPGxvbmdu YW1lPlBvbGlzaCAoRHZvcmFrKTwvbG9uZ25hbWU+Ci0gCQkJPGRlc2NyaXB0aW9uPlBvbGlzaCAo RHZvcmFrKTwvZGVzY3JpcHRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1 cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLSsJCQk8cmFuaz4xPC9yYW5r PgotIAkJPC9lbmdpbmU+Ci0gICAgICAgICAgICAgICAgIDxlbmdpbmU+Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgPG5hbWU+eGtiOnBsOnF3ZXJ0ejpwb2w8L25hbWU+Ci1AQCAtNTMyLDcgKzUz Miw3IEBACi0gCQkJPGxvbmduYW1lPlJ1c3NpYW4gKHBob25ldGljKTwvbG9uZ25hbWU+Ci0gCQkJ PGRlc2NyaXB0aW9uPlJ1c3NpYW4gKHBob25ldGljKTwvZGVzY3JpcHRpb24+Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwv cmFuaz4KLSsJCQk8cmFuaz4xPC9yYW5rPgotIAkJPC9lbmdpbmU+Ci0gCQk8ZW5naW5lPgotIAkJ CTxuYW1lPnhrYjpyczo6c3JwPC9uYW1lPgotQEAgLTYyMyw3ICs2MjMsNyBAQAotIAkJCTxsb25n bmFtZT5Td2VkaXNoIChEdm9yYWspPC9sb25nbmFtZT4KLSAJCQk8ZGVzY3JpcHRpb24+U3dlZGlz aCAoRHZvcmFrKTwvZGVzY3JpcHRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+ aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLSsJCQk8cmFuaz4xPC9y YW5rPgotIAkJPC9lbmdpbmU+Ci0gICAgICAgICAgICAgICAgIDxlbmdpbmU+Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgPG5hbWU+eGtiOnNlOnN2ZHZvcmFrOnN3ZTwvbmFtZT4KLUBAIC02MzUs NyArNjM1LDcgQEAKLSAgICAgICAgICAgICAgICAgICAgICAgICA8bG9uZ25hbWU+U3dlZGlzaCAo U3Zkdm9yYWspPC9sb25nbmFtZT4KLSAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRp b24+U3dlZGlzaCAoU3Zkdm9yYWspPC9kZXNjcmlwdGlvbj4KLSAgICAgICAgICAgICAgICAgICAg ICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLSAgICAgICAgICAgICAgICAgICAgICAg IDxyYW5rPjk5PC9yYW5rPgotKyAgICAgICAgICAgICAgICAgICAgICAgIDxyYW5rPjE8L3Jhbms+ Ci0gICAgICAgICAgICAgICAgIDwvZW5naW5lPgotIAkJPGVuZ2luZT4KLSAJCQk8bmFtZT54a2I6 Y2g6OmdlcjwvbmFtZT4KLUBAIC02NDYsNyArNjQ2LDcgQEAKLSAJCQk8bG9uZ25hbWU+R2VybWFu IChTd2l0emVybGFuZCk8L2xvbmduYW1lPgotIAkJCTxkZXNjcmlwdGlvbj5HZXJtYW4gKFN3aXR6 ZXJsYW5kKTwvZGVzY3JpcHRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1 cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLSsJCQk8cmFuaz4xPC9yYW5r PgotIAkJPC9lbmdpbmU+Ci0gCQk8ZW5naW5lPgotIAkJCTxuYW1lPnhrYjpjaDpmcjpmcmE8L25h bWU+Ci1AQCAtNjU4LDcgKzY1OCw3IEBACi0gCQkJPGxvbmduYW1lPkZyZW5jaCAoU3dpdHplcmxh bmQpPC9sb25nbmFtZT4KLSAJCQk8ZGVzY3JpcHRpb24+RnJlbmNoIChTd2l0emVybGFuZCk8L2Rl c2NyaXB0aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8 L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0rCQkJPHJhbms+MTwvcmFuaz4KLSAJCTwvZW5n aW5lPgotIAkJPGVuZ2luZT4KLSAJCQk8bmFtZT54a2I6dHI6OnR1cjwvbmFtZT4KLUBAIC02OTIs NyArNjkyLDcgQEAKLSAJCQk8bG9uZ25hbWU+RW5nbGlzaCAoVUssIGV4dGVuZGVkIFdpbktleXMp PC9sb25nbmFtZT4KLSAJCQk8ZGVzY3JpcHRpb24+RW5nbGlzaCAoVUssIGV4dGVuZGVkIFdpbktl eXMpPC9kZXNjcmlwdGlvbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtl eWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotKwkJCTxyYW5rPjE8L3Jhbms+Ci0g CQk8L2VuZ2luZT4KLSAJCTxlbmdpbmU+Ci0gCQkJPG5hbWU+eGtiOmdiOmR2b3Jhazplbmc8L25h bWU+Ci1AQCAtNzA0LDcgKzcwNCw3IEBACi0gCQkJPGxvbmduYW1lPkVuZ2xpc2ggKFVLLCBEdm9y YWspPC9sb25nbmFtZT4KLSAJCQk8ZGVzY3JpcHRpb24+RW5nbGlzaCAoVUssIER2b3Jhayk8L2Rl c2NyaXB0aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8 L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0rCQkJPHJhbms+MTwvcmFuaz4KLSAJCTwvZW5n aW5lPgotIAk8L2VuZ2luZXM+Ci0gPC9jb21wb25lbnQ+Ci0tLSAKLTIuMS4wCi0KLUZyb20gOGIx ODc1OTgyMTVlM2FmMDQ4MWUwZjk0MTVmZTZhMjFkYjY4MmU2YiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6 IFdlZCwgMjUgTWFyIDIwMTUgMTM6NTU6NTAgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gSTE4TiBm b3IgZW5naW5lIGxvbmduYW1lcyBvbiBpYnVzLXNldHVwCi0KLU5ldyBBUEkgaWJ1c19nZXRfdW50 cmFuc2xhdGVkX2xhbmd1YWdlX25hbWUoKS4KLUNhbGwgYmluZHRleHRkb21haW4oKSBmb3IgZWFj aCB0ZXh0ZG9tYWlucy4KLQotVEVTVD1zZXR1cAotCi1SZXZpZXcgVVJMOiBodHRwczovL2NvZGVy ZXZpZXcuYXBwc3BvdC5jb20vMjE4NzYwMDQzCi0tLS0KLSBzZXR1cC9lbmdpbmVkaWFsb2cucHkg ICB8IDQxICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gc2V0dXAv ZW5naW5ldHJlZXZpZXcucHkgfCAxNiArKysrKysrKysrKy0tLS0tCi0gc2V0dXAvbWFpbi5weSAg ICAgICAgICAgfCAxMCArKysrKystLS0tCi0gc3JjL2lidXN1dGlsLmMgICAgICAgICAgfCA0NyAr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy9pYnVz dXRpbC5oICAgICAgICAgIHwgMTYgKysrKysrKysrKysrLS0tLQotIHVpL2d0azIvaTE4bi5weSAg ICAgICAgIHwgMzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KLSB1aS9n dGsyL21haW4ucHkgICAgICAgICB8ICA4ICsrKystLS0tCi0gNyBmaWxlcyBjaGFuZ2VkLCAxMDkg aW5zZXJ0aW9ucygrKSwgNjcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zZXR1cC9lbmdp bmVkaWFsb2cucHkgYi9zZXR1cC9lbmdpbmVkaWFsb2cucHkKLWluZGV4IDJiMTc5YWQuLjJjNDcy ZGUgMTAwNjQ0Ci0tLS0gYS9zZXR1cC9lbmdpbmVkaWFsb2cucHkKLSsrKyBiL3NldHVwL2VuZ2lu ZWRpYWxvZy5weQotQEAgLTMsOSArMyw5IEBACi0gIwotICMgaWJ1cyAtIFRoZSBJbnB1dCBCdXMK LSAjCi0tIyBDb3B5cmlnaHQgKGMpIDIwMTQgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFp bC5jb20+Ci0tIyBDb3B5cmlnaHQgKGMpIDIwMTQgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3 YXJhMUBnbWFpbC5jb20+Ci0tIyBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNCBSZWQgSGF0LCBJbmMu Ci0rIyBDb3B5cmlnaHQgKGMpIDIwMTUgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5j b20+Ci0rIyBDb3B5cmlnaHQgKGMpIDIwMTUgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJh MUBnbWFpbC5jb20+Ci0rIyBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNSBSZWQgSGF0LCBJbmMuCi0g IwotICMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vcgotICMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMKLUBAIC0yOSw2ICsyOSw3IEBAIGZyb20gZ2kucmVwb3NpdG9y eSBpbXBvcnQgSUJ1cwotIAotIGltcG9ydCBmdW5jdG9vbHMKLSBpbXBvcnQgZ2V0dGV4dAotK2lt cG9ydCBpMThuCi0gaW1wb3J0IGxvY2FsZQotIAotIGZyb20gaWNvbiBpbXBvcnQgbG9hZF9pY29u Ci1AQCAtMjI3LDEwICsyMjgsMTMgQEAgY2xhc3MgRW5naW5lRGlhbG9nKEd0ay5EaWFsb2cpOgot IAotIAotICAgICBkZWYgX19lbmdpbmVfcm93X25ldyhzZWxmLCBlbmdpbmUpOgotLSAgICAgICAg cm93ID0gc2VsZi5fX2xpc3RfYm94X3Jvd19uZXcoZW5naW5lLmdldF9sb25nbmFtZSgpKQotLSAg ICAgICAgcm93LnNldF90b29sdGlwX3RleHQoZW5naW5lLmdldF9kZXNjcmlwdGlvbigpKQotKyAg ICAgICAgbG9uZ25hbWUgPSBpMThuLmdldHRleHRfZW5naW5lX2xvbmduYW1lKGVuZ2luZSkKLSsg ICAgICAgIGRlc2NyaXB0aW9uID0gaTE4bi5nZXR0ZXh0X2VuZ2luZV9kZXNjcmlwdGlvbihlbmdp bmUpCi0rICAgICAgICByb3cgPSBzZWxmLl9fbGlzdF9ib3hfcm93X25ldyhsb25nbmFtZSkKLSsg ICAgICAgIHJvdy51bnRyYW5zID0gZW5naW5lLmdldF9sb25nbmFtZSgpCi0rICAgICAgICByb3cu c2V0X3Rvb2x0aXBfdGV4dChkZXNjcmlwdGlvbikKLSAgICAgICAgIHJvdy5lbmdpbmUgPSBlbmdp bmUKLS0gICAgICAgIHdpZGdldCA9IHNlbGYuX19wYWRkZWRfbGFiZWxfbmV3KGVuZ2luZS5nZXRf bG9uZ25hbWUoKSwKLSsgICAgICAgIHdpZGdldCA9IHNlbGYuX19wYWRkZWRfbGFiZWxfbmV3KGxv bmduYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5l LmdldF9pY29uKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH dGsuQWxpZ24uU1RBUlQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBST1dfVFJBVkVMX0RJUkVDVElPTl9OT05FKQotQEAgLTI1Nyw3ICsyNjEsOSBAQCBjbGFzcyBF bmdpbmVEaWFsb2coR3RrLkRpYWxvZyk6Ci0gCi0gICAgICAgICBkZWYgY21wX2VuZ2luZShhLCBi KToKLSAgICAgICAgICAgICBpZiBhLmdldF9yYW5rKCkgPT0gYi5nZXRfcmFuaygpOgotLSAgICAg ICAgICAgICAgICByZXR1cm4gbG9jYWxlLnN0cmNvbGwoYS5nZXRfbG9uZ25hbWUoKSwgYi5nZXRf bG9uZ25hbWUoKSkKLSsgICAgICAgICAgICAgICAgYV9sb25nbmFtZSA9IGkxOG4uZ2V0dGV4dF9l bmdpbmVfbG9uZ25hbWUoYSkKLSsgICAgICAgICAgICAgICAgYl9sb25nbmFtZSA9IGkxOG4uZ2V0 dGV4dF9lbmdpbmVfbG9uZ25hbWUoYikKLSsgICAgICAgICAgICAgICAgcmV0dXJuIGxvY2FsZS5z dHJjb2xsKGFfbG9uZ25hbWUsIGJfbG9uZ25hbWUpCi0gICAgICAgICAgICAgcmV0dXJuIGludChi LmdldF9yYW5rKCkgLSBhLmdldF9yYW5rKCkpCi0gCi0gICAgICAgICBzZWxmLl9fZW5naW5lc19m b3JfbGFuZ1tsYW5nXS5zb3J0KAotQEAgLTI5NCw2ICszMDAsNyBAQCBjbGFzcyBFbmdpbmVEaWFs b2coR3RrLkRpYWxvZyk6Ci0gICAgICAgICBzZWxmLl9fbGlzdC5hZGQocm93KQotICAgICAgICAg c2VsZi5fX2FkZF9lbmdpbmVfcm93c19mb3JfbGFuZyhyb3cpCi0gICAgICAgICBzZWxmLl9fbGlz dC5zaG93X2FsbCgpCi0rICAgICAgICBzZWxmLl9fYWRqdXN0bWVudC5zZXRfdmFsdWUoc2VsZi5f X2FkanVzdG1lbnQuZ2V0X2xvd2VyKCkpCi0gCi0gCi0gICAgIGRlZiBfX2RvX2ZpbHRlcihzZWxm KToKLUBAIC0zMjEsMjQgKzMyOCwxNCBAQCBjbGFzcyBFbmdpbmVEaWFsb2coR3RrLkRpYWxvZyk6 Ci0gICAgICAgICAgICAgICAgIGwgPSAnJwotICAgICAgICAgICAgIGlmIGwgbm90IGluIHNlbGYu X19lbmdpbmVzX2Zvcl9sYW5nOgotICAgICAgICAgICAgICAgICBzZWxmLl9fZW5naW5lc19mb3Jf bGFuZ1tsXSA9IFtdCi0rICAgICAgICAgICAgaTE4bi5pbml0X3RleHRkb21haW4oZS5nZXRfdGV4 dGRvbWFpbigpKQotICAgICAgICAgICAgIHNlbGYuX19lbmdpbmVzX2Zvcl9sYW5nW2xdLmFwcGVu ZChlKQotIAotICAgICAgICAgICAgICMgUmV0cmlldmUgVW50cmFuc2xhdGVkIGxhbmd1YWdlIG5h bWVzLgotLSAgICAgICAgICAgIGJhY2t1cF9sb2NhbGUgPSBsb2NhbGUuc2V0bG9jYWxlKGxvY2Fs ZS5MQ19BTEwsIE5vbmUpCi0tICAgICAgICAgICAgZGVmIF9fc2V0X3VudHJhbnNfd2l0aF9sb2Nh bGUoZW5fbG9jYWxlKToKLS0gICAgICAgICAgICAgICAgbG9jYWxlLnNldGxvY2FsZShsb2NhbGUu TENfQUxMLCBlbl9sb2NhbGUpCi0tICAgICAgICAgICAgICAgIHVudHJhbnMgPSBJQnVzLmdldF9s YW5ndWFnZV9uYW1lKGUuZ2V0X2xhbmd1YWdlKCkpCi0tICAgICAgICAgICAgICAgIGlmIHVudHJh bnMgPT0gTm9uZToKLS0gICAgICAgICAgICAgICAgICAgIHVudHJhbnMgPSAnJwotLSAgICAgICAg ICAgICAgICBzZWxmLl9fdW50cmFuc19mb3JfbGFuZ1tsXSA9IHVudHJhbnMKLS0gICAgICAgICAg ICB0cnk6Ci0tICAgICAgICAgICAgICAgIF9fc2V0X3VudHJhbnNfd2l0aF9sb2NhbGUoJ2VuX1VT LlVURi04JykKLS0gICAgICAgICAgICBleGNlcHQgbG9jYWxlLkVycm9yOgotLSAgICAgICAgICAg ICAgICB0cnk6Ci0tICAgICAgICAgICAgICAgICAgICBfX3NldF91bnRyYW5zX3dpdGhfbG9jYWxl KCdDJykKLS0gICAgICAgICAgICAgICAgZXhjZXB0IGxvY2FsZS5FcnJvcjoKLS0gICAgICAgICAg ICAgICAgICAgIHBhc3MKLS0gICAgICAgICAgICBsb2NhbGUuc2V0bG9jYWxlKGxvY2FsZS5MQ19B TEwsIGJhY2t1cF9sb2NhbGUpCi0rICAgICAgICAgICAgdW50cmFucyA9IElCdXMuZ2V0X3VudHJh bnNsYXRlZF9sYW5ndWFnZV9uYW1lKGUuZ2V0X2xhbmd1YWdlKCkpCi0rICAgICAgICAgICAgaWYg dW50cmFucyA9PSBOb25lOgotKyAgICAgICAgICAgICAgICB1bnRyYW5zID0gJycKLSsgICAgICAg ICAgICBzZWxmLl9fdW50cmFuc19mb3JfbGFuZ1tsXSA9IHVudHJhbnMKLSAKLSAgICAgICAgIGtl eXMgPSBsaXN0KHNlbGYuX19lbmdpbmVzX2Zvcl9sYW5nLmtleXMoKSkKLSAgICAgICAgIGtleXMu c29ydChrZXk9ZnVuY3Rvb2xzLmNtcF90b19rZXkobG9jYWxlLnN0cmNvbGwpKQotZGlmZiAtLWdp dCBhL3NldHVwL2VuZ2luZXRyZWV2aWV3LnB5IGIvc2V0dXAvZW5naW5ldHJlZXZpZXcucHkKLWlu ZGV4IDc1ZmYwNGIuLjRkZTRhNTEgMTAwNjQ0Ci0tLS0gYS9zZXR1cC9lbmdpbmV0cmVldmlldy5w eQotKysrIGIvc2V0dXAvZW5naW5ldHJlZXZpZXcucHkKLUBAIC0yLDggKzIsOCBAQAotICMKLSAj IGlidXMgLSBUaGUgSW5wdXQgQnVzCi0gIwotLSMgQ29weXJpZ2h0IChjKSAyMDA3LTIwMTQgUGVu ZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+Ci0tIyBDb3B5cmlnaHQgKGMpIDIwMDct MjAxNCBSZWQgSGF0LCBJbmMuCi0rIyBDb3B5cmlnaHQgKGMpIDIwMDctMjAxNSBQZW5nIEh1YW5n IDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KLSsjIENvcHlyaWdodCAoYykgMjAwNy0yMDE1IFJl ZCBIYXQsIEluYy4KLSAjCi0gIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi1AQCAtMjYsNiArMjYsOCBAQCBmcm9tIGdp LnJlcG9zaXRvcnkgaW1wb3J0IEd0awotIGZyb20gZ2kucmVwb3NpdG9yeSBpbXBvcnQgSUJ1cwot IGZyb20gZ2kucmVwb3NpdG9yeSBpbXBvcnQgUGFuZ28KLSAKLStpbXBvcnQgaTE4bgotKwotIGZy b20gaWNvbiBpbXBvcnQgbG9hZF9pY29uCi0gZnJvbSBpMThuIGltcG9ydCBfLCBOXwotIAotQEAg LTEwNiw4ICsxMDgsMTAgQEAgY2xhc3MgRW5naW5lVHJlZVZpZXcoR3RrLlRyZWVWaWV3KToKLSAg ICAgICAgIGVuZ2luZV9iID0gbW9kZWxbYl1bMF0KLSAgICAgICAgIGxhbmd1YWdlX2EgPSBJQnVz LmdldF9sYW5ndWFnZV9uYW1lKGVuZ2luZV9hLmdldF9sYW5ndWFnZSgpKQotICAgICAgICAgbGFu Z3VhZ2VfYiA9IElCdXMuZ2V0X2xhbmd1YWdlX25hbWUoZW5naW5lX2IuZ2V0X2xhbmd1YWdlKCkp Ci0tICAgICAgICBsYWJlbF9hID0gIiVzIC0gJXMiICUgKGxhbmd1YWdlX2EsIGVuZ2luZV9hLmdl dF9sb25nbmFtZSgpKQotLSAgICAgICAgbGFiZWxfYiA9ICIlcyAtICVzIiAlIChsYW5ndWFnZV9i LCBlbmdpbmVfYi5nZXRfbG9uZ25hbWUoKSkKLSsgICAgICAgIGxvbmduYW1lX2EgPSBpMThuLmdl dHRleHRfZW5naW5lX2xvbmduYW1lKGVuZ2luZV9hKQotKyAgICAgICAgbG9uZ25hbWVfYiA9IGkx OG4uZ2V0dGV4dF9lbmdpbmVfbG9uZ25hbWUoZW5naW5lX2IpCi0rICAgICAgICBsYWJlbF9hID0g IiVzIC0gJXMiICUgKGxhbmd1YWdlX2EsIGxvbmduYW1lX2EpCi0rICAgICAgICBsYWJlbF9iID0g IiVzIC0gJXMiICUgKGxhbmd1YWdlX2IsIGxvbmduYW1lX2IpCi0gICAgICAgICAjIGh0dHA6Ly9k b2NzLnB5dGhvbi5vcmcvMy4wL3doYXRzbmV3LzMuMC5odG1sI29yZGVyaW5nLWNvbXBhcmlzb25z Ci0gICAgICAgICByZXR1cm4gKGxhYmVsX2EgPiBsYWJlbF9iKSAtIChsYWJlbF9hIDwgbGFiZWxf YikKLSAKLUBAIC0xNDksOCArMTUzLDkgQEAgY2xhc3MgRW5naW5lVHJlZVZpZXcoR3RrLlRyZWVW aWV3KToKLSAKLSAgICAgICAgIHJlbmRlcmVyLnNldF9wcm9wZXJ0eSgic2Vuc2l0aXZlIiwgVHJ1 ZSkKLSAgICAgICAgIGxhbmd1YWdlID0gSUJ1cy5nZXRfbGFuZ3VhZ2VfbmFtZShlbmdpbmUuZ2V0 X2xhbmd1YWdlKCkpCi0rICAgICAgICBsb25nbmFtZSA9IGkxOG4uZ2V0dGV4dF9lbmdpbmVfbG9u Z25hbWUoZW5naW5lKQotICAgICAgICAgcmVuZGVyZXIuc2V0X3Byb3BlcnR5KCJ0ZXh0IiwKLS0g ICAgICAgICAgICAgICAgIiVzIC0gJXMiICUgKGxhbmd1YWdlLCBlbmdpbmUuZ2V0X2xvbmduYW1l KCkpKQotKyAgICAgICAgICAgICAgICAiJXMgLSAlcyIgJSAobGFuZ3VhZ2UsIGxvbmduYW1lKSkK LSAgICAgICAgIHJlbmRlcmVyLnNldF9wcm9wZXJ0eSgid2VpZ2h0IiwgUGFuZ28uV2VpZ2h0Lk5P Uk1BTCkKLSAKLSAgICAgZGVmIF9fbGF5b3V0X2NlbGxfZGF0YV9jYihzZWxmLCBjZWxsbGF5b3V0 LCByZW5kZXJlciwgbW9kZWwsIGl0LCBkYXRhKToKLUBAIC0xOTYsNiArMjAxLDcgQEAgY2xhc3Mg RW5naW5lVHJlZVZpZXcoR3RrLlRyZWVWaWV3KToKLSAgICAgICAgICAgICBpZiBlIGluIHNlbGYu X19lbmdpbmVzOgotICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgIGl0ID0g c2VsZi5fX21vZGVsLmFwcGVuZChOb25lKQotKyAgICAgICAgICAgIGkxOG4uaW5pdF90ZXh0ZG9t YWluKGUuZ2V0X3RleHRkb21haW4oKSkKLSAgICAgICAgICAgICBzZWxmLl9fbW9kZWwuc2V0KGl0 LCAwLCBlKQotICAgICAgICAgICAgIHNlbGYuX19lbmdpbmVzLmFwcGVuZChlKQotICAgICAgICAg c2VsZi5fX2VtaXRfY2hhbmdlZCgpCi1kaWZmIC0tZ2l0IGEvc2V0dXAvbWFpbi5weSBiL3NldHVw L21haW4ucHkKLWluZGV4IGMxZDVjNTUuLjIyYjZkYzcgMTAwNjQ0Ci0tLS0gYS9zZXR1cC9tYWlu LnB5Ci0rKysgYi9zZXR1cC9tYWluLnB5Ci1AQCAtMiw4ICsyLDggQEAKLSAjCi0gIyBpYnVzIC0g VGhlIElucHV0IEJ1cwotICMKLS0jIENvcHlyaWdodCAoYykgMjAwNy0yMDE0IFBlbmcgSHVhbmcg PHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgotLSMgQ29weXJpZ2h0IChjKSAyMDA3LTIwMTQgUmVk IEhhdCwgSW5jLgotKyMgQ29weXJpZ2h0IChjKSAyMDA3LTIwMTUgUGVuZyBIdWFuZyA8c2hhd24u cC5odWFuZ0BnbWFpbC5jb20+Ci0rIyBDb3B5cmlnaHQgKGMpIDIwMDctMjAxNSBSZWQgSGF0LCBJ bmMuCi0gIwotICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgotICMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IExlc3NlciBHZW5lcmFsIFB1YmxpYwotQEAgLTM5LDEzICszOSwxNCBAQCBmcm9tIGdpLnJlcG9z aXRvcnkgaW1wb3J0IEd0awotIGZyb20gZ2kucmVwb3NpdG9yeSBpbXBvcnQgSUJ1cwotIGZyb20g b3MgaW1wb3J0IHBhdGgKLSAKLStpbXBvcnQgaTE4bgotIGltcG9ydCBrZXlib2FyZHNob3J0Y3V0 Ci0gaW1wb3J0IGxvY2FsZQotIGZyb20gZW5naW5lY29tYm9ib3ggaW1wb3J0IEVuZ2luZUNvbWJv Qm94Ci0gZnJvbSBlbmdpbmVkaWFsb2cgaW1wb3J0IEVuZ2luZURpYWxvZwotIGZyb20gZW5naW5l dHJlZXZpZXcgaW1wb3J0IEVuZ2luZVRyZWVWaWV3Ci0gZnJvbSBlbmdpbmVhYm91dCBpbXBvcnQg RW5naW5lQWJvdXQKLS1mcm9tIGkxOG4gaW1wb3J0IERPTUFJTk5BTUUsIF8sIE5fLCBpbml0IGFz IGkxOG5faW5pdAotK2Zyb20gaTE4biBpbXBvcnQgRE9NQUlOTkFNRSwgXywgTl8KLSAKLSAoCi0g ICAgIENPTFVNTl9OQU1FLAotQEAgLTU0Myw2ICs1NDQsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19t YWluX18iOgotICAgICAgICAgcHJpbnQoIlVzaW5nIHRoZSBmYWxsYmFjayAnQycgbG9jYWxlIiwg ZmlsZT1zeXMuc3RkZXJyKQotICAgICAgICAgbG9jYWxlLnNldGxvY2FsZShsb2NhbGUuTENfQUxM LCAnQycpCi0gCi0tICAgIGkxOG5faW5pdCgpCi0rICAgIGkxOG4uaW5pdF90ZXh0ZG9tYWluKERP TUFJTk5BTUUpCi0rICAgIGkxOG4uaW5pdF90ZXh0ZG9tYWluKCd4a2V5Ym9hcmQtY29uZmlnJykK LSAgICAgc2V0dXAgPSBTZXR1cCgpCi0gICAgIHNldHVwLnJ1bigpCi1kaWZmIC0tZ2l0IGEvc3Jj L2lidXN1dGlsLmMgYi9zcmMvaWJ1c3V0aWwuYwotaW5kZXggM2VkZGM5OS4uYjlmM2ZkZCAxMDA2 NDQKLS0tLSBhL3NyYy9pYnVzdXRpbC5jCi0rKysgYi9zcmMvaWJ1c3V0aWwuYwotQEAgLTEsOSAr MSw5IEBACi0gLyogLSotIG1vZGU6IEM7IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1t b2RlOiBuaWw7IC0qLSAqLwotIC8qIHZpbTpzZXQgZXQgc3RzPTQ6ICovCi0gLyogYnVzIC0gVGhl IElucHV0IEJ1cwotLSAqIENvcHlyaWdodCAoQykgMjAwOC0yMDExIFBlbmcgSHVhbmcgPHNoYXdu LnAuaHVhbmdAZ21haWwuY29tPgotLSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDExIFRha2FvIEZ1 aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotLSAqIENvcHlyaWdodCAoQykgMjAw OC0yMDExIFJlZCBIYXQsIEluYy4KLSsgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxNSBQZW5nIEh1 YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KLSsgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAx NSBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLSsgKiBDb3B5cmln aHQgKEMpIDIwMDgtMjAxNSBSZWQgSGF0LCBJbmMuCi0gICoKLSAgKiBUaGlzIGxpYnJhcnkgaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICogbW9kaWZ5 IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotQEAg LTk4LDYgKzk4LDExIEBAIF9sb2FkX2xhbmcoKQotICAgICBYTUxOb2RlICpub2RlOwotICAgICBz dHJ1Y3Qgc3RhdCBidWY7Ci0gCi0rI2lmZGVmIEVOQUJMRV9OTFMKLSsgICAgYmluZHRleHRkb21h aW4gKCJpc29fNjM5IiwgR0xJQl9MT0NBTEVfRElSKTsKLSsgICAgYmluZF90ZXh0ZG9tYWluX2Nv ZGVzZXQgKCJpc29fNjM5IiwgIlVURi04Iik7Ci0rI2VuZGlmCi0rCi0gICAgIF9fbGFuZ3VhZ2Vz X2RpY3QgPSBnX2hhc2hfdGFibGVfbmV3X2Z1bGwgKGdfc3RyX2hhc2gsCi0gICAgICAgICAgICAg Z19zdHJfZXF1YWwsIGdfZnJlZSwgZ19mcmVlKTsKLSAgICAgZmlsZW5hbWUgPSBnX2J1aWxkX2Zp bGVuYW1lIChJU09DT0RFU19QUkVGSVgsCi1AQCAtMTIxLDM3ICsxMjYsNDEgQEAgX2xvYWRfbGFu ZygpCi0gfQotIAotIGNvbnN0IGdjaGFyICoKLS1pYnVzX2dldF9sYW5ndWFnZV9uYW1lKGNvbnN0 IGdjaGFyICpfbG9jYWxlKSB7Ci0raWJ1c19nZXRfdW50cmFuc2xhdGVkX2xhbmd1YWdlX25hbWUg KGNvbnN0IGdjaGFyICpfbG9jYWxlKQotK3sKLSAgICAgY29uc3QgZ2NoYXIgKnJldHZhbDsKLSAg ICAgZ2NoYXIgKnAgPSBOVUxMOwotICAgICBnY2hhciAqbGFuZyA9IE5VTEw7Ci0gCi0tICAgIGlm IChfX2xhbmd1YWdlc19kaWN0ID09IE5VTEwgKSB7Ci0rICAgIGlmIChfX2xhbmd1YWdlc19kaWN0 ID09IE5VTEwgKQotICAgICAgICAgX2xvYWRfbGFuZygpOwotLSAgICB9Ci0tICAgIGlmICgocCA9 IHN0cmNociAoX2xvY2FsZSwgJ18nKSkgIT0gIE5VTEwpIHsKLSsgICAgaWYgKChwID0gc3RyY2hy IChfbG9jYWxlLCAnXycpKSAhPSAgTlVMTCkKLSAgICAgICAgIHAgPSBnX3N0cm5kdXAgKF9sb2Nh bGUsIHAgLSBfbG9jYWxlKTsKLS0gICAgfSBlbHNlIHsKLSsgICAgZWxzZQotICAgICAgICAgcCA9 IGdfc3RyZHVwIChfbG9jYWxlKTsKLS0gICAgfQotICAgICBsYW5nID0gZ19hc2NpaV9zdHJkb3du IChwLCAtMSk7Ci0gICAgIGdfZnJlZSAocCk7Ci0gICAgIHJldHZhbCA9IChjb25zdCBnY2hhciAq KSBnX2hhc2hfdGFibGVfbG9va3VwIChfX2xhbmd1YWdlc19kaWN0LCBsYW5nKTsKLSAgICAgZ19m cmVlIChsYW5nKTsKLS0gICAgaWYgKHJldHZhbCAhPSBOVUxMKSB7Ci0tI2lmZGVmIEVOQUJMRV9O TFMKLS0gICAgICAgIHJldHVybiBkZ2V0dGV4dCgiaXNvXzYzOSIsIHJldHZhbCk7Ci0tI2Vsc2UK LSsgICAgaWYgKHJldHZhbCAhPSBOVUxMKQotICAgICAgICAgcmV0dXJuIHJldHZhbDsKLS0jZW5k aWYKLS0gICAgfQotLSAgICBlbHNlIHsKLSsgICAgZWxzZQotKyAgICAgICAgcmV0dXJuICJPdGhl ciI7Ci0rfQotKwotK2NvbnN0IGdjaGFyICoKLStpYnVzX2dldF9sYW5ndWFnZV9uYW1lIChjb25z dCBnY2hhciAqX2xvY2FsZSkKLSt7Ci0rICAgIGNvbnN0IGdjaGFyICpyZXR2YWwgPSBpYnVzX2dl dF91bnRyYW5zbGF0ZWRfbGFuZ3VhZ2VfbmFtZSAoX2xvY2FsZSk7Ci0rCi0gI2lmZGVmIEVOQUJM RV9OTFMKLS0gICAgICAgIHJldHVybiBkZ2V0dGV4dChHRVRURVhUX1BBQ0tBR0UsIE5fKCJPdGhl ciIpKTsKLSsgICAgaWYgKGdfc3RyY21wMCAocmV0dmFsLCAiT3RoZXIiKSA9PSAwKQotKyAgICAg ICAgcmV0dXJuIGRnZXR0ZXh0IChHRVRURVhUX1BBQ0tBR0UsIE5fKCJPdGhlciIpKTsKLSsgICAg ZWxzZQotKyAgICAgICAgcmV0dXJuIGRnZXR0ZXh0ICgiaXNvXzYzOSIsIHJldHZhbCk7Ci0gI2Vs c2UKLS0gICAgICAgIHJldHVybiBOXygiT3RoZXIiKTsKLSsgICAgcmV0dXJuIHJldHZhbDsKLSAj ZW5kaWYKLS0gICAgfQotIH0KLSAKLSB2b2lkCi1kaWZmIC0tZ2l0IGEvc3JjL2lidXN1dGlsLmgg Yi9zcmMvaWJ1c3V0aWwuaAotaW5kZXggZDVkNTkzZi4uYjliNjQxNSAxMDA2NDQKLS0tLSBhL3Ny Yy9pYnVzdXRpbC5oCi0rKysgYi9zcmMvaWJ1c3V0aWwuaAotQEAgLTEsOSArMSw5IEBACi0gLyog LSotIG1vZGU6IEM7IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IC0q LSAqLwotIC8qIHZpbTpzZXQgZXQgc3RzPTQ6ICovCi0gLyogYnVzIC0gVGhlIElucHV0IEJ1cwot LSAqIENvcHlyaWdodCAoQykgMjAwOC0yMDEzIFBlbmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21h aWwuY29tPgotLSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDEzIFRha2FvIEZ1aml3YXJhIDx0YWth by5mdWppd2FyYTFAZ21haWwuY29tPgotLSAqIENvcHlyaWdodCAoQykgMjAwOC0yMDEzIFJlZCBI YXQsIEluYy4KLSsgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxNSBQZW5nIEh1YW5nIDxzaGF3bi5w Lmh1YW5nQGdtYWlsLmNvbT4KLSsgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNSBUYWthbyBGdWpp d2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLSsgKiBDb3B5cmlnaHQgKEMpIDIwMDgt MjAxNSBSZWQgSGF0LCBJbmMuCi0gICoKLSAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICogbW9kaWZ5IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotQEAgLTM3LDkgKzM3LDE3 IEBACi0gICovCi0gCi0gLyoqCi0rICogaWJ1c19nZXRfdW50cmFuc2xhdGVkX2xhbmd1YWdlX25h bWU6Ci0rICogQF9sb2NhbGU6IEEgY29uc3QgbG9jYWxlIG5hbWUuCi0rICogQHJldHVybnM6IHVu dHJhbnNsYXRlZCBsYW5ndWFnZSBuYW1lCi0rICovCi0rY29uc3QgZ2NoYXIgKiAgICBpYnVzX2dl dF91bnRyYW5zbGF0ZWRfbGFuZ3VhZ2VfbmFtZQotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBnY2hhciAgICAqX2xvY2FsZSk7Ci0rCi0rLyoq Ci0gICogaWJ1c19nZXRfbGFuZ3VhZ2VfbmFtZToKLSAgKiBAX2xvY2FsZTogQSBjb25zdCBsb2Nh bGUgbmFtZS4KLS0gKiBAcmV0dXJuczogbGFuZ3VhZ2UgbmFtZQotKyAqIEByZXR1cm5zOiB0cmFu c2xhdGVkIGxhbmd1YWdlIG5hbWUKLSAgKi8KLSBjb25zdCBnY2hhciAqICAgIGlidXNfZ2V0X2xh bmd1YWdlX25hbWUgICAgICAgICAoY29uc3QgZ2NoYXIgICAgKl9sb2NhbGUpOwotIAotZGlmZiAt LWdpdCBhL3NldHVwL2kxOG4ucHkgYi9zZXR1cC9pMThuLnB5Ci1pbmRleCA1YTczZWVlLi45NzZk MWFlIDEwMDY0NAotLS0tIGEvc2V0dXAvaTE4bi5weQotKysrIGIvc2V0dXAvaTE4bi5weQotQEAg LTIsOCArMiw4IEBACi0gIwotICMgaWJ1cyAtIFRoZSBJbnB1dCBCdXMKLSAjCi0tIyBDb3B5cmln aHQoYykgMjAwNy0yMDEwIFBlbmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgotLSMg Q29weXJpZ2h0KGMpIDIwMDctMjAxMCBHb29nbGUsIEluYy4KLSsjIENvcHlyaWdodChjKSAyMDA3 LTIwMTUgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+Ci0rIyBDb3B5cmlnaHQo YykgMjAwNy0yMDE1IEdvb2dsZSwgSW5jLgotICMKLSAjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAjIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLUBAIC0yOSwxNSAr MjksMzUgQEAgRE9NQUlOTkFNRSA9ICJpYnVzMTAiCi0gXyA9IGxhbWJkYSBhOiBnZXR0ZXh0LmRn ZXR0ZXh0KERPTUFJTk5BTUUsIGEpCi0gTl8gPSBsYW1iZGEgYTogYQotIAotLWRlZiBpbml0KCk6 Ci0tICAgIGxvY2FsZWRpciA9IG9zLmdldGVudigiSUJVU19MT0NBTEVESVIiKQotK0xPQ0FMRURJ UiA9IG9zLmdldGVudigiSUJVU19MT0NBTEVESVIiKQotKwotK2RlZiBpbml0X3RleHRkb21haW4o ZG9tYWlubmFtZSk6Ci0rICAgIGlmIGRvbWFpbm5hbWUgPT0gJyc6Ci0rICAgICAgICByZXR1cm4K LSAgICAgIyBQeXRob24ncyBsb2NhbGUgbW9kdWxlIGRvZXNuJ3QgcHJvdmlkZSBhbGwgbWV0aG9k cyBvbiBzb21lCi0gICAgICMgb3BlcmF0aW5nIHN5c3RlbXMgbGlrZSBGcmVlQlNECi0gICAgIHRy eToKLS0gICAgICAgICMgZm9yIG5vbi1zdGFuZGFyZCBsb2NhbGVkaXIKLS0gICAgICAgIGxvY2Fs ZS5iaW5kdGV4dGRvbWFpbihET01BSU5OQU1FLCBsb2NhbGVkaXIpCi0tICAgICAgICBsb2NhbGUu YmluZF90ZXh0ZG9tYWluX2NvZGVzZXQoRE9NQUlOTkFNRSwgIlVURi04IikKLSsgICAgICAgIGxv Y2FsZS5iaW5kdGV4dGRvbWFpbihkb21haW5uYW1lLCBMT0NBTEVESVIpCi0rICAgICAgICBsb2Nh bGUuYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQoZG9tYWlubmFtZSwgJ1VURi04JykKLSAgICAgZXhj ZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgcGFzcwotLSAgICBnZXR0ZXh0LmJpbmR0ZXh0 ZG9tYWluKERPTUFJTk5BTUUsIGxvY2FsZWRpcikKLS0gICAgZ2V0dGV4dC5iaW5kX3RleHRkb21h aW5fY29kZXNldChET01BSU5OQU1FLCAiVVRGLTgiKQotKyAgICBnZXR0ZXh0LmJpbmR0ZXh0ZG9t YWluKGRvbWFpbm5hbWUsIExPQ0FMRURJUikKLSsgICAgZ2V0dGV4dC5iaW5kX3RleHRkb21haW5f Y29kZXNldChkb21haW5uYW1lLCAnVVRGLTgnKQotKwotK2RlZiBnZXR0ZXh0X2VuZ2luZV9sb25n bmFtZShlbmdpbmUpOgotKyAgICBuYW1lID0gZW5naW5lLmdldF9uYW1lKCkKLSsgICAgaWYgKG5h bWUuc3RhcnRzd2l0aCgneGtiOicpKToKLSsgICAgICAgIHJldHVybiBnZXR0ZXh0LmRnZXR0ZXh0 KCd4a2V5Ym9hcmQtY29uZmlnJywgZW5naW5lLmdldF9sb25nbmFtZSgpKQotKyAgICB0ZXh0ZG9t YWluID0gZW5naW5lLmdldF90ZXh0ZG9tYWluKCkKLSsgICAgaWYgdGV4dGRvbWFpbiA9PSAnJzoK LSsgICAgICAgIHJldHVybiBlbmdpbmUuZ2V0X2xvbmduYW1lKCkKLSsgICAgcmV0dXJuIGdldHRl eHQuZGdldHRleHQodGV4dGRvbWFpbiwgZW5naW5lLmdldF9sb25nbmFtZSgpKQotKwotK2RlZiBn ZXR0ZXh0X2VuZ2luZV9kZXNjcmlwdGlvbihlbmdpbmUpOgotKyAgICBuYW1lID0gZW5naW5lLmdl dF9uYW1lKCkKLSsgICAgaWYgKG5hbWUuc3RhcnRzd2l0aCgneGtiOicpKToKLSsgICAgICAgIHJl dHVybiBnZXR0ZXh0LmRnZXR0ZXh0KCd4a2V5Ym9hcmQtY29uZmlnJywgZW5naW5lLmdldF9kZXNj cmlwdGlvbigpKQotKyAgICB0ZXh0ZG9tYWluID0gZW5naW5lLmdldF90ZXh0ZG9tYWluKCkKLSsg ICAgaWYgdGV4dGRvbWFpbiA9PSAnJzoKLSsgICAgICAgIHJldHVybiBlbmdpbmUuZ2V0X2Rlc2Ny aXB0aW9uKCkKLSsgICAgcmV0dXJuIGdldHRleHQuZGdldHRleHQodGV4dGRvbWFpbiwgZW5naW5l LmdldF9kZXNjcmlwdGlvbigpKQotLS0gCi0yLjEuMAotCi1Gcm9tIDAyMTU2MDM4MjE3ZTQxZWJk OTBlM2QxZWQ0YmI4OGI5MTJhMTVhMDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBm dWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDMwIE1hciAy MDE1IDExOjA3OjQyICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEkxOE4gZm9yIElCdXMgZW5naW5l IGFib3V0IGRpYWxvZyBpbiBpYnVzLXNldHVwCi0KLVRFU1Q9c2V0dXAKLQotUmV2aWV3IFVSTDog aHR0cHM6Ly9jb2RlcmV2aWV3LmFwcHNwb3QuY29tLzIxOTQwMDA0MwotLS0tCi0gc2V0dXAvZW5n aW5lYWJvdXQucHkgfCAxMCArKysrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NldHVwL2VuZ2luZWFib3V0LnB5 IGIvc2V0dXAvZW5naW5lYWJvdXQucHkKLWluZGV4IDA5ZTliNWMuLjRlNmE1ZWYgMTAwNjQ0Ci0t LS0gYS9zZXR1cC9lbmdpbmVhYm91dC5weQotKysrIGIvc2V0dXAvZW5naW5lYWJvdXQucHkKLUBA IC0yLDggKzIsOCBAQAotICMKLSAjIGlidXMgLSBUaGUgSW5wdXQgQnVzCi0gIwotLSMgQ29weXJp Z2h0IChjKSAyMDA3LTIwMTQgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+Ci0t IyBDb3B5cmlnaHQgKGMpIDIwMDctMjAxNCBSZWQgSGF0LCBJbmMuCi0rIyBDb3B5cmlnaHQgKGMp IDIwMDctMjAxNSBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KLSsjIENvcHly aWdodCAoYykgMjAwNy0yMDE1IFJlZCBIYXQsIEluYy4KLSAjCi0gIyBUaGlzIGxpYnJhcnkgaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gIyBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi1AQCAt MjYsNiArMjYsOCBAQCBmcm9tIGdpLnJlcG9zaXRvcnkgaW1wb3J0IEdka1BpeGJ1ZgotIGZyb20g Z2kucmVwb3NpdG9yeSBpbXBvcnQgR3RrCi0gZnJvbSBnaS5yZXBvc2l0b3J5IGltcG9ydCBQYW5n bwotIAotK2ltcG9ydCBpMThuCi0rCi0gZnJvbSBpMThuIGltcG9ydCBfLCBOXwotIAotIGNsYXNz IEVuZ2luZUFib3V0KEd0ay5EaWFsb2cpOgotQEAgLTY0LDcgKzY2LDcgQEAgY2xhc3MgRW5naW5l QWJvdXQoR3RrLkRpYWxvZyk6Ci0gICAgICAgICB0ZXh0X2J1ZmZlci5pbnNlcnRfcGl4YnVmKGl0 ZXIsCi0gICAgICAgICAgICAgICAgIHNlbGYuX19sb2FkX2ljb24oc2VsZi5fX2VuZ2luZV9kZXNj LmdldF9pY29uKCkpKQotICAgICAgICAgdGV4dF9idWZmZXIuaW5zZXJ0X3dpdGhfdGFnc19ieV9u YW1lKGl0ZXIsCi0tICAgICAgICAgICAgICAgICJcbiVzXG4iICUgc2VsZi5fX2VuZ2luZV9kZXNj LmdldF9sb25nbmFtZSgpLAotKyAgICAgICAgICAgICAgICAiXG4lc1xuIiAlIGkxOG4uZ2V0dGV4 dF9lbmdpbmVfbG9uZ25hbWUoc2VsZi5fX2VuZ2luZV9kZXNjKSwKLSAgICAgICAgICAgICAgICAg ImhlYWRpbmciLCAibGVmdF9tYXJnaW5fMTYiKQotICAgICAgICAgdGV4dF9idWZmZXIuaW5zZXJ0 X3dpdGhfdGFnc19ieV9uYW1lKGl0ZXIsCi0gICAgICAgICAgICAgICAgIF8oIkxhbmd1YWdlOiAl c1xuIikgJSBJQnVzLmdldF9sYW5ndWFnZV9uYW1lKHNlbGYuX19lbmdpbmVfZGVzYy5nZXRfbGFu Z3VhZ2UoKSksCi1AQCAtNzgsNyArODAsNyBAQCBjbGFzcyBFbmdpbmVBYm91dChHdGsuRGlhbG9n KToKLSAgICAgICAgIHRleHRfYnVmZmVyLmluc2VydF93aXRoX3RhZ3NfYnlfbmFtZShpdGVyLAot ICAgICAgICAgICAgICAgICBfKCJEZXNjcmlwdGlvbjpcbiIpLCAic21hbGwiLCAiYm9sZCIsICJs ZWZ0X21hcmdpbl8xNiIpCi0gICAgICAgICB0ZXh0X2J1ZmZlci5pbnNlcnRfd2l0aF90YWdzX2J5 X25hbWUoaXRlciwKLS0gICAgICAgICAgICAgICAgc2VsZi5fX2VuZ2luZV9kZXNjLmdldF9kZXNj cmlwdGlvbigpLAotKyAgICAgICAgICAgICAgICBpMThuLmdldHRleHRfZW5naW5lX2Rlc2NyaXB0 aW9uKHNlbGYuX19lbmdpbmVfZGVzYyksCi0gICAgICAgICAgICAgICAgICJ3cmFwX3RleHQiLCAi bGVmdF9tYXJnaW5fMzIiKQotIAotIAotLS0gCi0yLjEuMAotCi1Gcm9tIGViNGZmYTFkOWFlY2Nm MzEzMThhZmQxZDI0Y2JjYmJlZmE3OTMzN2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDMxIE1h ciAyMDE1IDExOjU2OjA1ICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hdIFB1dCBQcm9wZXJ0eVBhbmVs IGF0IGJvdHRvbSByaWdodCB3aGVuIGRlc2t0b3AgaXMgS0RFCi0KLU1vbml0b3IgX05FVF9XT1JL QVJFQSBhdG9tIGJlY2F1c2UgUHJvcGVydHlQYW5lbCBydW5zCi1iZWZvcmUgS0RFNSBwYW5lbCBy dW5zLgotQWxsb2NhdGUgYnV0dG9uIHNpemVzIG9uIFByb3BlcnR5UGFuZWwgY29ycmVjdGx5IGZv ciBLREU1LgotCi1URVNUPXVpL2d0azMvaWJ1cy11aS1ndGszCi0KLVJldmlldyBVUkw6IGh0dHBz Oi8vY29kZXJldmlldy5hcHBzcG90LmNvbS8yMjA1MDAwNDMKLS0tLQotIHVpL2d0azMvcHJvcGVy dHlwYW5lbC52YWxhIHwgMTY4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25z KC0pCi0KLWRpZmYgLS1naXQgYS91aS9ndGszL3Byb3BlcnR5cGFuZWwudmFsYSBiL3VpL2d0azMv cHJvcGVydHlwYW5lbC52YWxhCi1pbmRleCA2YzAyM2JmLi4xMmU4NWIwIDEwMDY0NAotLS0tIGEv dWkvZ3RrMy9wcm9wZXJ0eXBhbmVsLnZhbGEKLSsrKyBiL3VpL2d0azMvcHJvcGVydHlwYW5lbC52 YWxhCi1AQCAtMiw5ICsyLDkgQEAKLSAgKgotICAqIGlidXMgLSBUaGUgSW5wdXQgQnVzCi0gICoK LS0gKiBDb3B5cmlnaHQoYykgMjAxMy0yMDE0IFJlZCBIYXQsIEluYy4KLS0gKiBDb3B5cmlnaHQo YykgMjAxMy0yMDE0IFBlbmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgotLSAqIENv cHlyaWdodChjKSAyMDEzLTIwMTQgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFp bC5jb20+Ci0rICogQ29weXJpZ2h0KGMpIDIwMTMtMjAxNSBSZWQgSGF0LCBJbmMuCi0rICogQ29w eXJpZ2h0KGMpIDIwMTMtMjAxNSBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4K LSsgKiBDb3B5cmlnaHQoYykgMjAxMy0yMDE1IFRha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2Fy YTFAZ21haWwuY29tPgotICAqCi0gICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLUBAIC0yOSw2ICsyOSw4IEBAIGVu dW0gUGFuZWxTaG93IHsKLSB9Ci0gCi0gcHVibGljIGNsYXNzIFByb3BlcnR5UGFuZWwgOiBHdGsu Qm94IHsKLSsgICAgcHJpdmF0ZSB1bm93bmVkIEdkay5XaW5kb3cgbV9yb290X3dpbmRvdzsKLSsg ICAgcHJpdmF0ZSB1bm93bmVkIFguRGlzcGxheSBtX3hkaXNwbGF5OwotICAgICBwcml2YXRlIEd0 ay5XaW5kb3cgbV90b3BsZXZlbDsKLSAgICAgcHJpdmF0ZSBJQnVzLlByb3BMaXN0IG1fcHJvcHM7 Ci0gICAgIHByaXZhdGUgSVByb3BUb29sSXRlbVtdIG1faXRlbXM7Ci1AQCAtMzgsNiArNDAsNyBA QCBwdWJsaWMgY2xhc3MgUHJvcGVydHlQYW5lbCA6IEd0ay5Cb3ggewotICAgICBwcml2YXRlIHVp bnQgbV9hdXRvX2hpZGVfdGltZW91dCA9IDEwMDAwOwotICAgICBwcml2YXRlIHVpbnQgbV9hdXRv X2hpZGVfdGltZW91dF9pZCA9IDA7Ci0gICAgIHByaXZhdGUgYm9vbCBtX2ZvbGxvd19pbnB1dF9j dXJzb3Jfd2hlbl9hbHdheXNfc2hvd24gPSBmYWxzZTsKLSsgICAgcHJpdmF0ZSBjb25zdCB1aW50 IE1PTklUT1JfTkVUX1dPUktBUkVBX1RJTUVPVVQgPSA2MDAwMDsKLSAKLSAgICAgcHVibGljIFBy b3BlcnR5UGFuZWwoKSB7Ci0gICAgICAgICAvKiBDaGFpbiB1cCBiYXNlIGNsYXNzIGNvbnN0cnVj dG9yICovCi1AQCAtNDYsNiArNDksMTQgQEAgcHVibGljIGNsYXNzIFByb3BlcnR5UGFuZWwgOiBH dGsuQm94IHsKLSAKLSAgICAgICAgIHNldF92aXNpYmxlKHRydWUpOwotIAotKyAgICAgICAgbV9y b290X3dpbmRvdyA9IEdkay5nZXRfZGVmYXVsdF9yb290X3dpbmRvdygpOwotKyAgICAgICAgdW5v d25lZCBHZGsuRGlzcGxheSBkaXNwbGF5ID0gbV9yb290X3dpbmRvdy5nZXRfZGlzcGxheSgpOwot KyNpZiBWQUxBXzBfMjQKLSsgICAgICAgIG1feGRpc3BsYXkgPSAoZGlzcGxheSBhcyBHZGsuWDEx LkRpc3BsYXkpLmdldF94ZGlzcGxheSgpOwotKyNlbHNlCi0rICAgICAgICBtX3hkaXNwbGF5ID0g R2RrLlgxMURpc3BsYXkuZ2V0X3hkaXNwbGF5KGRpc3BsYXkpOwotKyNlbmRpZgotKwotICAgICAg ICAgbV90b3BsZXZlbCA9IG5ldyBHdGsuV2luZG93KEd0ay5XaW5kb3dUeXBlLlBPUFVQKTsKLSAg ICAgICAgIG1fdG9wbGV2ZWwuYWRkX2V2ZW50cyhHZGsuRXZlbnRNYXNrLkJVVFRPTl9QUkVTU19N QVNLKTsKLSAKLUBAIC02NCw2ICs3NSwxMCBAQCBwdWJsaWMgY2xhc3MgUHJvcGVydHlQYW5lbCA6 IEd0ay5Cb3ggewotICAgICAgICAgICAgICAgICBtX2N1cnNvcl9sb2NhdGlvbi55ID0gMDsKLSAg ICAgICAgICAgICB9Ci0gICAgICAgICB9KTsKLSsKLSsgICAgICAgIC8vIFByb3BlcnR5UGFuZWwg cnVucyBiZWZvcmUgS0RFNSBwYW5lbCBydW5zIGFuZAotKyAgICAgICAgLy8gbW9uaXRvciB0aGUg ZGVza3RvcCBzaXplLgotKyAgICAgICAgbW9uaXRvcl9uZXRfd29ya2FyZWFfYXRvbSgpOwotICAg ICB9Ci0gCi0gICAgIHB1YmxpYyB2b2lkIHNldF9wcm9wZXJ0aWVzKElCdXMuUHJvcExpc3QgcHJv cHMpIHsKLUBAIC0yOTQsOSArMzA5LDggQEAgcHVibGljIGNsYXNzIFByb3BlcnR5UGFuZWwgOiBH dGsuQm94IHsKLSAgICAgICAgICAgICBjdXJzb3JfcmlnaHRfYm90dG9tLnkgKyBhbGxvY2F0aW9u LmhlaWdodAotICAgICAgICAgfTsKLSAKLS0gICAgICAgIEdkay5XaW5kb3cgcm9vdCA9IEdkay5n ZXRfZGVmYXVsdF9yb290X3dpbmRvdygpOwotLSAgICAgICAgaW50IHJvb3Rfd2lkdGggPSByb290 LmdldF93aWR0aCgpOwotLSAgICAgICAgaW50IHJvb3RfaGVpZ2h0ID0gcm9vdC5nZXRfaGVpZ2h0 KCk7Ci0rICAgICAgICBpbnQgcm9vdF93aWR0aCA9IG1fcm9vdF93aW5kb3cuZ2V0X3dpZHRoKCk7 Ci0rICAgICAgICBpbnQgcm9vdF9oZWlnaHQgPSBtX3Jvb3Rfd2luZG93LmdldF9oZWlnaHQoKTsK LSAKLSAgICAgICAgIGludCB4LCB5OwotICAgICAgICAgaWYgKHdpbmRvd19yaWdodF9ib3R0b20u eCA+IHJvb3Rfd2lkdGgpCi1AQCAtMzEyLDczICszMjYsMTI1IEBAIHB1YmxpYyBjbGFzcyBQcm9w ZXJ0eVBhbmVsIDogR3RrLkJveCB7Ci0gICAgICAgICBtb3ZlKHgsIHkpOwotICAgICB9Ci0gCi0r ICAgIHByaXZhdGUgYm9vbCBpc19ib3R0b21fcGFuZWwoKSB7Ci0rICAgICAgICBzdHJpbmcgZGVz a3RvcCA9IEVudmlyb25tZW50LmdldF92YXJpYWJsZSgiWERHX0NVUlJFTlRfREVTS1RPUCIpOwot KyAgICAgICAgLy8gTFhERSBoYXMgbm90IGltcGxlbWVudGVkIERlc2t0b3BOYW1lcyB5ZXQuCi0r ICAgICAgICBpZiAoZGVza3RvcCA9PSBudWxsKQotKyAgICAgICAgICAgIGRlc2t0b3AgPSBFbnZp cm9ubWVudC5nZXRfdmFyaWFibGUoIlhER19TRVNTSU9OX0RFU0tUT1AiKTsKLSsgICAgICAgIHN3 aXRjaCAoZGVza3RvcCkgewotKyAgICAgICAgICAgIGNhc2UgIktERSI6ICAgICAgICAgcmV0dXJu IHRydWU7Ci0rICAgICAgICAgICAgY2FzZSAiTFhERSI6ICAgICAgICByZXR1cm4gdHJ1ZTsKLSsg ICAgICAgICAgICBkZWZhdWx0OiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSsgICAgICAgIH0K LSsgICAgfQotKwotICAgICBwcml2YXRlIHZvaWQgc2V0X2RlZmF1bHRfbG9jYXRpb24oKSB7Ci0g ICAgICAgICBHdGsuQWxsb2NhdGlvbiBhbGxvY2F0aW9uOwotICAgICAgICAgbV90b3BsZXZlbC5n ZXRfYWxsb2NhdGlvbihvdXQgYWxsb2NhdGlvbik7Ci0gCi0tICAgICAgICB1bm93bmVkIEdkay5X aW5kb3cgcm9vdCA9IEdkay5nZXRfZGVmYXVsdF9yb290X3dpbmRvdygpOwotLSAgICAgICAgaW50 IHJvb3Rfd2lkdGggPSByb290LmdldF93aWR0aCgpOwotKyAgICAgICAgaW50IHJvb3Rfd2lkdGgg PSBtX3Jvb3Rfd2luZG93LmdldF93aWR0aCgpOwotKyAgICAgICAgaW50IHJvb3RfaGVpZ2h0ID0g bV9yb290X3dpbmRvdy5nZXRfaGVpZ2h0KCk7Ci0gICAgICAgICBpbnQgcm9vdF94ID0gMDsKLSAg ICAgICAgIGludCByb290X3kgPSAwOwotICAgICAgICAgaW50IHdzX251bSA9IDA7Ci0gCi0tICAg ICAgICB1bm93bmVkIEdkay5EaXNwbGF5IGRpc3BsYXkgPSByb290LmdldF9kaXNwbGF5KCk7Ci0g I2lmIFZBTEFfMF8yNAotLSAgICAgICAgdW5vd25lZCBYLkRpc3BsYXkgeGRpc3BsYXkgPQotLSAg ICAgICAgICAgICAgICAoZGlzcGxheSBhcyBHZGsuWDExLkRpc3BsYXkpLmdldF94ZGlzcGxheSgp OwotLSAgICAgICAgWC5XaW5kb3cgeHdpbmRvdyA9IChyb290IGFzIEdkay5YMTEuV2luZG93KS5n ZXRfeGlkKCk7Ci0rICAgICAgICBYLldpbmRvdyB4d2luZG93ID0gKG1fcm9vdF93aW5kb3cgYXMg R2RrLlgxMS5XaW5kb3cpLmdldF94aWQoKTsKLSAjZWxzZQotLSAgICAgICAgdW5vd25lZCBYLkRp c3BsYXkgeGRpc3BsYXkgPSBHZGsuWDExRGlzcGxheS5nZXRfeGRpc3BsYXkoZGlzcGxheSk7Ci0t ICAgICAgICBYLldpbmRvdyB4d2luZG93ID0gR2RrLlgxMVdpbmRvdy5nZXRfeGlkKHJvb3QpOwot KyAgICAgICAgWC5XaW5kb3cgeHdpbmRvdyA9IEdkay5YMTFXaW5kb3cuZ2V0X3hpZChtX3Jvb3Rf d2luZG93KTsKLSAjZW5kaWYKLSAgICAgICAgIFguQXRvbSBfbmV0X2N1cnJlbnRfZGVza3RvcCA9 Ci0tICAgICAgICAgICAgICAgIHhkaXNwbGF5LmludGVybl9hdG9tKCJfTkVUX0NVUlJFTlRfREVT S1RPUCIsIGZhbHNlKTsKLSsgICAgICAgICAgICAgICAgbV94ZGlzcGxheS5pbnRlcm5fYXRvbSgi X05FVF9DVVJSRU5UX0RFU0tUT1AiLCBmYWxzZSk7Ci0gICAgICAgICBYLkF0b20gdHlwZSA9IFgu Tm9uZTsKLSAgICAgICAgIGludCBmb3JtYXQ7Ci0gICAgICAgICB1bG9uZyBuaXRlbXMgPSAwOwot ICAgICAgICAgdWxvbmcgYnl0ZXNfYWZ0ZXI7Ci0gICAgICAgICB2b2lkICpwcm9wOwotLSAgICAg ICAgeGRpc3BsYXkuZ2V0X3dpbmRvd19wcm9wZXJ0eSh4d2luZG93LAotLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBfbmV0X2N1cnJlbnRfZGVza3RvcCwKLS0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMzIsIGZhbHNlLCBYLlhBX0NBUkRJTkFMLAot LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgdHlwZSwgb3V0IGZvcm1h dCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0IG5pdGVtcywgb3V0 IGJ5dGVzX2FmdGVyLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQg cHJvcCk7Ci0rICAgICAgICBtX3hkaXNwbGF5LmdldF93aW5kb3dfcHJvcGVydHkoeHdpbmRvdywK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9uZXRfY3VycmVudF9kZXNr dG9wLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMzIsIGZhbHNl LCBYLlhBX0NBUkRJTkFMLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg b3V0IHR5cGUsIG91dCBmb3JtYXQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvdXQgbml0ZW1zLCBvdXQgYnl0ZXNfYWZ0ZXIsCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvdXQgcHJvcCk7Ci0gCi0gICAgICAgICBpZiAodHlwZSAhPSBYLk5v bmUgJiYgbml0ZW1zID49IDEpCi0gICAgICAgICAgICAgd3NfbnVtID0gKGludCkgKCh1bG9uZyAq KXByb3ApWzBdOwotIAotICAgICAgICAgWC5BdG9tIF9uZXRfd29ya2FyZWEgPQotLSAgICAgICAg ICAgICAgICB4ZGlzcGxheS5pbnRlcm5fYXRvbSgiX05FVF9XT1JLQVJFQSIsIGZhbHNlKTsKLSsg ICAgICAgICAgICAgICAgbV94ZGlzcGxheS5pbnRlcm5fYXRvbSgiX05FVF9XT1JLQVJFQSIsIGZh bHNlKTsKLSAgICAgICAgIHR5cGUgPSBYLk5vbmU7Ci0gICAgICAgICBuaXRlbXMgPSAwOwotIAot LSAgICAgICAgeGRpc3BsYXkuZ2V0X3dpbmRvd19wcm9wZXJ0eSh4d2luZG93LAotLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbmV0X3dvcmthcmVhLAotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAzMiwgZmFsc2UsIFguWEFfQ0FSRElOQUwsCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCB0eXBlLCBvdXQgZm9ybWF0 LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgbml0ZW1zLCBvdXQg Ynl0ZXNfYWZ0ZXIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBw cm9wKTsKLS0KLS0gICAgICAgIGlmICh0eXBlICE9IFguTm9uZSAmJiBuaXRlbXMgPj0gMikgewot LSAgICAgICAgICAgIHJvb3RfeCA9IChpbnQpICgodWxvbmcgKilwcm9wKVt3c19udW0gKiA0XTsK LS0gICAgICAgICAgICByb290X3kgPSAoaW50KSAoKHVsb25nICopcHJvcClbd3NfbnVtICogNCAr IDFdOwotKyAgICAgICAgbV94ZGlzcGxheS5nZXRfd2luZG93X3Byb3BlcnR5KHh3aW5kb3csCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbmV0X3dvcmthcmVhLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMzIsIGZhbHNlLCBYLlhBX0NB UkRJTkFMLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0IHR5cGUs IG91dCBmb3JtYXQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQg bml0ZW1zLCBvdXQgYnl0ZXNfYWZ0ZXIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBvdXQgcHJvcCk7Ci0rCi0rICAgICAgICBpZiAodHlwZSAhPSBYLk5vbmUpIHsKLSsg ICAgICAgICAgICBpZiAobml0ZW1zID49IDIpIHsKLSsgICAgICAgICAgICAgICAgcm9vdF94ID0g KGludCkgKCh1bG9uZyAqKXByb3ApW3dzX251bSAqIDRdOwotKyAgICAgICAgICAgICAgICByb290 X3kgPSAoaW50KSAoKHVsb25nICopcHJvcClbd3NfbnVtICogNCArIDFdOwotKyAgICAgICAgICAg IH0KLSsgICAgICAgICAgICBpZiAobml0ZW1zID49IDQpIHsKLSsgICAgICAgICAgICAgICAgcm9v dF93aWR0aCA9IChpbnQpICgodWxvbmcgKilwcm9wKVt3c19udW0gKiA0ICsgMl07Ci0rICAgICAg ICAgICAgICAgIHJvb3RfaGVpZ2h0ID0gKGludCkgKCh1bG9uZyAqKXByb3ApW3dzX251bSAqIDQg KyAzXTsKLSsgICAgICAgICAgICB9Ci0gICAgICAgICB9Ci0gCi0gICAgICAgICBpbnQgeCwgeTsK LS0gICAgICAgIC8qIFRyYW5zbGF0b3JzOiBJZiB5b3VyIGxvY2FsZSBpcyBSVEwsIHRoZSBtc2dz dHIgaXMgImRlZmF1bHQ6UlRMIi4KLS0gICAgICAgICAqIE90aGVyd2lzZSB0aGUgbXNnc3RyIGlz ICJkZWZhdWx0OkxUUiIuICovCi0tICAgICAgICBpZiAoXygiZGVmYXVsdDpMVFIiKSAhPSAiZGVm YXVsdDpSVEwiKSB7Ci0tICAgICAgICAgICAgeCA9IHJvb3Rfd2lkdGggLSBhbGxvY2F0aW9uLndp ZHRoOwotLSAgICAgICAgICAgIHkgPSByb290X3k7Ci0rICAgICAgICBpZiAoaXNfYm90dG9tX3Bh bmVsKCkpIHsKLSsgICAgICAgICAgICAvKiBUcmFuc2xhdG9yczogSWYgeW91ciBsb2NhbGUgaXMg UlRMLCB0aGUgbXNnc3RyIGlzICJkZWZhdWx0OlJUTCIuCi0rICAgICAgICAgICAgICogT3RoZXJ3 aXNlIHRoZSBtc2dzdHIgaXMgImRlZmF1bHQ6TFRSIi4gKi8KLSsgICAgICAgICAgICBpZiAoXygi ZGVmYXVsdDpMVFIiKSAhPSAiZGVmYXVsdDpSVEwiKSB7Ci0rICAgICAgICAgICAgICAgIHggPSBy b290X3dpZHRoIC0gYWxsb2NhdGlvbi53aWR0aDsKLSsgICAgICAgICAgICAgICAgeSA9IHJvb3Rf aGVpZ2h0IC0gYWxsb2NhdGlvbi5oZWlnaHQ7Ci0rICAgICAgICAgICAgfSBlbHNlIHsKLSsgICAg ICAgICAgICAgICAgeCA9IHJvb3RfeDsKLSsgICAgICAgICAgICAgICAgeSA9IHJvb3RfaGVpZ2h0 IC0gYWxsb2NhdGlvbi5oZWlnaHQ7Ci0rICAgICAgICAgICAgfQotICAgICAgICAgfSBlbHNlIHsK LS0gICAgICAgICAgICB4ID0gcm9vdF94OwotLSAgICAgICAgICAgIHkgPSByb290X3k7Ci0rICAg ICAgICAgICAgaWYgKF8oImRlZmF1bHQ6TFRSIikgIT0gImRlZmF1bHQ6UlRMIikgewotKyAgICAg ICAgICAgICAgICB4ID0gcm9vdF93aWR0aCAtIGFsbG9jYXRpb24ud2lkdGg7Ci0rICAgICAgICAg ICAgICAgIHkgPSByb290X3k7Ci0rICAgICAgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgICAg ICAgeCA9IHJvb3RfeDsKLSsgICAgICAgICAgICAgICAgeSA9IHJvb3RfeTsKLSsgICAgICAgICAg ICB9Ci0gICAgICAgICB9Ci0gCi0gICAgICAgICBtb3ZlKHgsIHkpOwotICAgICB9Ci0gCi0rICAg IHByaXZhdGUgR2RrLkZpbHRlclJldHVybiByb290X3dpbmRvd19maWx0ZXIoR2RrLlhFdmVudCBn ZGt4ZXZlbnQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR2RrLkV2ZW50ICBldmVudCkgewotKyAgICAgICAgWC5FdmVudCAqeGV2ZW50ID0gKFguRXZl bnQqKSBnZGt4ZXZlbnQ7Ci0rICAgICAgICBpZiAoeGV2ZW50LnR5cGUgPT0gWC5FdmVudFR5cGUu UHJvcGVydHlOb3RpZnkpIHsKLSsgICAgICAgICAgICBzdHJpbmcgYW5hbWUgPSBtX3hkaXNwbGF5 LmdldF9hdG9tX25hbWUoeGV2ZW50Lnhwcm9wZXJ0eS5hdG9tKTsKLSsgICAgICAgICAgICBpZiAo YW5hbWUgPT0gIl9ORVRfV09SS0FSRUEiICYmIHhldmVudC54cHJvcGVydHkuc3RhdGUgPT0gMCkg ewotKyAgICAgICAgICAgICAgICBzZXRfZGVmYXVsdF9sb2NhdGlvbigpOwotKyAgICAgICAgICAg ICAgICByZXR1cm4gR2RrLkZpbHRlclJldHVybi5DT05USU5VRTsKLSsgICAgICAgICAgICB9Ci0r ICAgICAgICB9Ci0rICAgICAgICByZXR1cm4gR2RrLkZpbHRlclJldHVybi5DT05USU5VRTsKLSsg ICAgfQotKwotKyAgICBwcml2YXRlIHZvaWQgbW9uaXRvcl9uZXRfd29ya2FyZWFfYXRvbSgpIHsK LSsgICAgICAgIEdkay5FdmVudE1hc2sgZXZlbnRzID0gbV9yb290X3dpbmRvdy5nZXRfZXZlbnRz KCk7Ci0rICAgICAgICBpZiAoKGV2ZW50cyAmIEdkay5FdmVudE1hc2suUFJPUEVSVFlfQ0hBTkdF X01BU0spID09IDApCi0rICAgICAgICAgICAgbV9yb290X3dpbmRvdy5zZXRfZXZlbnRzIChldmVu dHMgfAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RrLkV2ZW50TWFz ay5QUk9QRVJUWV9DSEFOR0VfTUFTSyk7Ci0rCi0rICAgICAgICBtX3Jvb3Rfd2luZG93LmFkZF9m aWx0ZXIocm9vdF93aW5kb3dfZmlsdGVyKTsKLSsKLSsgICAgICAgIEdMaWIuVGltZW91dC5hZGQo TU9OSVRPUl9ORVRfV09SS0FSRUFfVElNRU9VVCwgKCkgPT4gewotKyAgICAgICAgICAgIG1fcm9v dF93aW5kb3cucmVtb3ZlX2ZpbHRlcihyb290X3dpbmRvd19maWx0ZXIpOwotKyAgICAgICAgICAg IHJldHVybiBmYWxzZTsKLSsgICAgICAgIH0sCi0rICAgICAgICBHTGliLlByaW9yaXR5LkRFRkFV TFRfSURMRSk7Ci0rICAgIH0KLSsKLSAgICAgcHJpdmF0ZSB2b2lkIHNob3dfd2l0aF9hdXRvX2hp ZGVfdGltZXIoKSB7Ci0gICAgICAgICBpZiAobV9pdGVtcy5sZW5ndGggPT0gMCkgewotICAgICAg ICAgICAgIC8qIERvIG5vdCBibGluayB0aGUgcGFuZWwgd2l0aCBmb2N1cy1pbiBpbiBjYXNlIHRo ZSBwYW5lbAotQEAgLTU2OCwxMCArNjM0LDEyIEBAIHB1YmxpYyBjbGFzcyBQcm9wVG9vbEJ1dHRv biA6IEd0ay5Ub29sQnV0dG9uLCBJUHJvcFRvb2xJdGVtIHsKLSAgICAgcHJpdmF0ZSBJQnVzLlBy b3BlcnR5IG1fcHJvcCA9IG51bGw7Ci0gCi0gICAgIHB1YmxpYyBQcm9wVG9vbEJ1dHRvbihJQnVz LlByb3BlcnR5IHByb3ApIHsKLS0gICAgICAgIHN0cmluZyBsYWJlbCA9IHByb3AuZ2V0X3N5bWJv bCgpLmdldF90ZXh0KCk7Ci0tCi0tICAgICAgICAvKiBDaGFpbiB1cCBiYXNlIGNsYXNzIGNvbnN0 cnVjdG9yICovCi0tICAgICAgICBHTGliLk9iamVjdChsYWJlbDogbGFiZWwpOwotKyAgICAgICAg LyogQ2hhaW4gdXAgYmFzZSBjbGFzcyBjb25zdHJ1Y3RvcgotKyAgICAgICAgICoKLSsgICAgICAg ICAqIElmIHRoZSBjb25zdHJ1Y3RvciBzZXRzICJsYWJlbCIgcHJvcGVydHksICJoYWxpZ24iIHBy b3BlcnR5Ci0rICAgICAgICAgKiBkb2VzIG5vdCB3b3JrIGluIEtERTUgc28gdXNlIHN5bmMoKSBm b3IgdGhlIGxhYmVsLgotKyAgICAgICAgICovCi0rICAgICAgICBHTGliLk9iamVjdChoYWxpZ246 IEd0ay5BbGlnbi5TVEFSVCk7Ci0gCi0gICAgICAgICBtX3Byb3AgPSBwcm9wOwotIAotQEAgLTYy Nyw4ICs2OTUsMTEgQEAgcHVibGljIGNsYXNzIFByb3BUb2dnbGVUb29sQnV0dG9uIDogR3RrLlRv Z2dsZVRvb2xCdXR0b24sIElQcm9wVG9vbEl0ZW0gewotICAgICBwcml2YXRlIElCdXMuUHJvcGVy dHkgbV9wcm9wID0gbnVsbDsKLSAKLSAgICAgcHVibGljIFByb3BUb2dnbGVUb29sQnV0dG9uKElC dXMuUHJvcGVydHkgcHJvcCkgewotLSAgICAgICAgLyogQ2hhaW4gdXAgYmFzZSBjbGFzcyBjb25z dHJ1Y3RvciAqLwotLSAgICAgICAgR0xpYi5PYmplY3QoKTsKLSsgICAgICAgIC8qIENoYWluIHVw IGJhc2UgY2xhc3MgY29uc3RydWN0b3IKLSsgICAgICAgICAqCi0rICAgICAgICAgKiBOZWVkIHRv IHNldCBoYWxpZ24gZm9yIEtERTUKLSsgICAgICAgICAqLwotKyAgICAgICAgR0xpYi5PYmplY3Qo aGFsaWduOiBHdGsuQWxpZ24uU1RBUlQpOwotIAotICAgICAgICAgbV9wcm9wID0gcHJvcDsKLSAK LUBAIC03MDYsOCArNzc3LDExIEBAIHB1YmxpYyBjbGFzcyBQcm9wTWVudVRvb2xCdXR0b24gOiBQ cm9wVG9nZ2xlVG9vbEJ1dHRvbiwgSVByb3BUb29sSXRlbSB7Ci0gICAgIHByaXZhdGUgUHJvcE1l bnUgbV9tZW51ID0gbnVsbDsKLSAKLSAgICAgcHVibGljIFByb3BNZW51VG9vbEJ1dHRvbihJQnVz LlByb3BlcnR5IHByb3ApIHsKLS0gICAgICAgIC8qIENoYWluIHVwIGJhc2UgY2xhc3MgY29uc3Ry dWN0b3IgKi8KLS0gICAgICAgIEdMaWIuT2JqZWN0KCk7Ci0rICAgICAgICAvKiBDaGFpbiB1cCBi YXNlIGNsYXNzIGNvbnN0cnVjdG9yCi0rICAgICAgICAgKgotKyAgICAgICAgICogTmVlZCB0byBz ZXQgaGFsaWduIGZvciBLREU1Ci0rICAgICAgICAgKi8KLSsgICAgICAgIEdMaWIuT2JqZWN0KGhh bGlnbjogR3RrLkFsaWduLlNUQVJUKTsKLSAKLSAgICAgICAgIG1fbWVudSA9IG5ldyBQcm9wTWVu dShwcm9wKTsKLSAgICAgICAgIG1fbWVudS5kZWFjdGl2YXRlLmNvbm5lY3QoKG0pID0+Ci0tLSAK LTIuMS4wCi0KLUZyb20gMDIwYmQ0NWVkYTllM2EzYTI4MzYxMjJmYmUwNDM3Y2FmYjcxZjE2MyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmEx QGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMSBBcHIgMjAxNSAxMTo0MjozNCArMDkwMAotU3ViamVj dDogW1BBVENIXSBpYnVzLXVpLWd0azM6IERyYXcgZ3JheSBjb2xvciBvbiBQcm9wZXJ0eVBhbmVs IGhhbmRsZQotCi1Vc2VycyBjYW4gbW92ZSB0aGUgcG9zaXRpb24gb2YgSUJ1cyBQcm9wZXJ0eVBh bmVsIHdpdGggdGhlIG1vdXNlCi1idXQgY3VycmVudGx5IGl0IGlzIHRvbyBoYXJkIHRvIGZpbmQg dGhlIGhhbmRsZSBvbiB0aGUgcGFuZWwuCi1Ob3cgdGhlIGhhbmRsZSBpcyBkcmF3biBieSB0aGUg Z3JheSBjb2xvciBmb3IgdGhlIHZpc2liaWxpdHkuCi0KLVRFU1Q9dWkvZ3RrMy9pYnVzLXVpLWd0 azMKLQotUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3LmFwcHNwb3QuY29tLzIxOTUyMDA0 MwotLS0tCi0gdWkvZ3RrMy9oYW5kbGUudmFsYSB8IDE1ICsrKysrKysrKysrKysrLQotIDEgZmls ZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQg YS91aS9ndGszL2hhbmRsZS52YWxhIGIvdWkvZ3RrMy9oYW5kbGUudmFsYQotaW5kZXggYjljM2Ji Yy4uMWVkYjUzNyAxMDA2NDQKLS0tLSBhL3VpL2d0azMvaGFuZGxlLnZhbGEKLSsrKyBiL3VpL2d0 azMvaGFuZGxlLnZhbGEKLUBAIC0yLDcgKzIsNyBAQAotICAqCi0gICogaWJ1cyAtIFRoZSBJbnB1 dCBCdXMKLSAgKgotLSAqIENvcHlyaWdodChjKSAyMDExIFBlbmcgSHVhbmcgPHNoYXduLnAuaHVh bmdAZ21haWwuY29tPgotKyAqIENvcHlyaWdodChjKSAyMDExLTIwMTUgUGVuZyBIdWFuZyA8c2hh d24ucC5odWFuZ0BnbWFpbC5jb20+Ci0gICoKLSAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotQEAgLTM2LDYgKzM2 LDE5IEBAIGNsYXNzIEhhbmRsZSA6IEd0ay5FdmVudEJveCB7Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBHZGsuRXZlbnRNYXNrLkJVVFRPTjFfTU9USU9OX01BU0s7Ci0gICAgICAgICBz ZXRfZXZlbnRzKG1hc2spOwotICAgICAgICAgbV9tb3ZlX2JlZ2luZWQgPSBmYWxzZTsKLSsKLSsg ICAgICAgIC8vIEN1cnJlbnRseSBpdCBpcyB0b28gaGFyZCB0byBub3RpY2UgdGhpcyBIYW5kbGUg b24gUHJvcGVydHlQYW5lbAotKyAgICAgICAgLy8gc28gbm93IHRoaXMgd2lkZ2V0IGlzIGRyYXdu IGJ5IHRoZSBncmF5IGNvbG9yIGZvciB0aGUgdmlzaWJpbGl0eS4KLSsgICAgICAgIEd0ay5Dc3NQ cm92aWRlciBjc3NfcHJvdmlkZXIgPSBuZXcgR3RrLkNzc1Byb3ZpZGVyKCk7Ci0rICAgICAgICB0 cnkgewotKyAgICAgICAgICAgIGNzc19wcm92aWRlci5sb2FkX2Zyb21fZGF0YSgKLSsgICAgICAg ICAgICAgICAgICAgICJHdGtFdmVudEJveCB7IGJhY2tncm91bmQtY29sb3I6IGdyYXkgfSIsIC0x KTsKLSsgICAgICAgIH0gY2F0Y2ggKEdMaWIuRXJyb3IgZXJyb3IpIHsKLSsgICAgICAgICAgICB3 YXJuaW5nKCJQYXJzZSBlcnJvciBpbiBIYW5kbGU6ICVzIiwgZXJyb3IubWVzc2FnZSk7Ci0rICAg ICAgICB9Ci0rICAgICAgICBHdGsuU3R5bGVDb250ZXh0IGNvbnRleHQgPSBnZXRfc3R5bGVfY29u dGV4dCgpOwotKyAgICAgICAgY29udGV4dC5hZGRfcHJvdmlkZXIoY3NzX3Byb3ZpZGVyLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR3RrLlNUWUxFX1BST1ZJREVSX1BSSU9SSVRZX0FQ UExJQ0FUSU9OKTsKLSAgICAgfQotIAotICAgICBwdWJsaWMgb3ZlcnJpZGUgdm9pZCByZWFsaXpl KCkgewotLS0gCi0yLjEuMAotCi1Gcm9tIGNjODgwNzVkZGFlMDM4ZjkwMDM5ZDU4MTQ3YmIzYzlk N2ViMDgzNjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb2RvbmcgS2ltIDxob2Rv bmdAY29nbm8ub3JnPgotRGF0ZTogVGh1LCAyIEFwciAyMDE1IDExOjE4OjU3ICswOTAwCi1TdWJq ZWN0OiBbUEFUQ0hdIEZpeCBjb21waWxlIGVycm9yIGluIGNsaWVudC94MTEvTWFrZWZpbGUKLQot QlVHPWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2lidXMvcHVsbC8xOAotVEVTVD1jbGllbnQveDEx L01ha2VmaWxlCi0KLVJldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmlldy5hcHBzcG90LmNvbS8y MTc1OTAwNDMKLVBhdGNoIGZyb20gSG9kb25nIEtpbSA8aG9kb25nQGNvZ25vLm9yZz4uCi0tLS0K LSBjbGllbnQveDExL01ha2VmaWxlLmFtIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY2xpZW50L3gxMS9NYWtlZmls ZS5hbSBiL2NsaWVudC94MTEvTWFrZWZpbGUuYW0KLWluZGV4IDk4MTNjZWIuLmJhNmZlOGEgMTAw NjQ0Ci0tLS0gYS9jbGllbnQveDExL01ha2VmaWxlLmFtCi0rKysgYi9jbGllbnQveDExL01ha2Vm aWxlLmFtCi1AQCAtNTcsNyArNTcsNyBAQCBub2luc3RfSEVBREVSUyA9IFwKLSAJbG9jYWxlcy5o IFwKLSAJJChOVUxMKQotIAotLSQoSU1ka2l0KToKLSskKGxpYklNZGtpdCk6Ci0gCShjZCAkKHRv cF9idWlsZGRpcikvdXRpbC9JTWRraXQ7IG1ha2UpCi0gCi0gJChsaWJpYnVzKToKLS0tIAotMi4x LjAKLQotRnJvbSAzNWQwMzViZmM0OGUyMGVlY2IzYjNiM2IxNDcxMmQ3M2M1ZmMwMjdiIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21h aWwuY29tPgotRGF0ZTogVGh1LCAyIEFwciAyMDE1IDExOjI2OjI0ICswOTAwCi1TdWJqZWN0OiBb UEFUQ0hdIGlidXMtdWktZ3RrMzogRW5hYmxlIGFic29sdXRlIHBhdGggb2YgZW5naW5lIGljb24g aW4KLSBLREU1Ci0KLXBsYXNtYS13b3Jrc3BhY2UgNS4yIHN1cHBvcnRzIHRoZSBpY29uIGZ1bGwg cGF0aC4KLU5vdyB0aGUgYnVpbGQgY2hlY2tzIGlmIHF0YmFzZS1kZXZlbCBpcyA1LjQgb3IgbGF0 ZXIgc2luY2UKLXRoZXJlIGlzIG5vIHdheSB0byBjaGVjayB0aGUgdmVyc2lvbiBvZiBwbGFzbWEt d29ya3NwYWNlLgotCi1CVUc9aHR0cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9wdWxsLzE3Ci1U RVNUPXVpL2d0azMvaWJ1cy11aS1ndGszCi0KLVJldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmll dy5hcHBzcG90LmNvbS8yMTczMTAwNDQKLS0tLQotIGNvbmZpZ3VyZS5hYyAgICAgICAgfCAxNyAr KysrKysrKysrKysrKysrKwotIHVpL2d0azMvTWFrZWZpbGUuYW0gfCAgOCArKysrKystLQotIHVp L2d0azMvcGFuZWwudmFsYSAgfCAxMCArKysrKysrKy0tCi0gMyBmaWxlcyBjaGFuZ2VkLCAzMSBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFj IGIvY29uZmlndXJlLmFjCi1pbmRleCAzOWM5Y2FkLi44ZWI2MTY4IDEwMDY0NAotLS0tIGEvY29u ZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0yNzAsOSArMjcwLDI1IEBAIGVsc2UK LSAgICAgZW5hYmxlX3dheWxhbmQ9Im5vIChkaXNhYmxlZCwgdXNlIC0tZW5hYmxlLXdheWxhbmQg dG8gZW5hYmxlKSIKLSBmaQotIAotK2VuYWJsZV9hcHBpbmRpY2F0b3JfZW5naW5lX2ljb249Im5v IgotIGlmIHRlc3QgeCIkZW5hYmxlX2FwcGluZGljYXRvciIgPSB4InllcyI7IHRoZW4KLSAgICAg ZW5hYmxlX2FwcGluZGljYXRvcj0ieWVzIChlbmFibGVkLCB1c2UgLS1kaXNhYmxlLWFwcGluZGlj YXRvciB0byBkaXNhYmxlKSIKLSsKLSsgICAgIyBOZWVkIHF0NS1xdGJhc2UtZGV2ZWwgcGFja2Fn ZQotKyAgICAjIFRoZXJlIGlzIG5vIHdheSB0byBjaGVjayB0aGUgdmVyc2lvbiBvZiBLU3RhdHVz Tm90aWZpZXJJdGVtIGFuZAotKyAgICAjIGNoZWNrIHRoZSB2ZXJzaW9uIG9mIHF0YmFzZSBoZXJl LgotKyAgICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBLREU1IGFwcGluZGljYXRvciBlbmdpbmUgaWNv bl0pCi0rICAgIFBLR19DSEVDS19FWElTVFMoW1F0NUd1aSA+PSA1LjRdLAotKyAgICAgICAgZW5h YmxlX2FwcGluZGljYXRvcl9lbmdpbmVfaWNvbj0ieWVzIgotKyAgICApCi0rICAgIEFDX01TR19S RVNVTFQoWyRlbmFibGVfYXBwaW5kaWNhdG9yX2VuZ2luZV9pY29uXSkKLSsKLStmaQotK2lmIHRl c3QgeCIkZW5hYmxlX2FwcGluZGljYXRvcl9lbmdpbmVfaWNvbiIgIT0geCJ5ZXMiIDsgdGhlbgot KyAgICBlbmFibGVfYXBwaW5kaWNhdG9yX2VuZ2luZV9pY29uPSJubyAoZGlzYWJsZWQsIG5lZWQg cXRiYXNlLWRldmVsIDUuNCBvciBsYXRlcikiCi0gZmkKLStBTV9DT05ESVRJT05BTChbRU5BQkxF X0FQUElORElDQVRPUl9FTkdJTkVfSUNPTl0sCi0rICAgICAgICAgICAgICAgW3Rlc3QgeCIkZW5h YmxlX2FwcGluZGljYXRvcl9lbmdpbmVfaWNvbiIgPSB4InllcyJdKQotIAotICMgR09iamVjdCBp bnRyb3NwZWN0aW9uCi0gR09CSkVDVF9JTlRST1NQRUNUSU9OX0NIRUNLKFswLjYuOF0pCi1AQCAt NjM5LDYgKzY1NSw3IEBAIEJ1aWxkIG9wdGlvbnM6Ci0gICBCdWlsZCBYSU0gYWdlbnQgc2VydmVy ICAgICAgICAkZW5hYmxlX3hpbQotICAgQnVpbGQgd2F5bGFuZCBzdXBwb3J0ICAgICAgICAgJGVu YWJsZV93YXlsYW5kCi0gICBCdWlsZCBhcHBpbmRpY2F0b3Igc3VwcG9ydCAgICAkZW5hYmxlX2Fw cGluZGljYXRvcgotKyAgQnVpbGQgYXBwaW5kaWNhdG9yIGVuZ2luZSBpY29uICRlbmFibGVfYXBw aW5kaWNhdG9yX2VuZ2luZV9pY29uCi0gICBCdWlsZCBweXRob24gbGlicmFyeSAgICAgICAgICAk ZW5hYmxlX3B5dGhvbl9saWJyYXJ5Ci0gICBCdWlsZCBnY29uZiBtb2R1bGVzICAgICAgICAgICAk ZW5hYmxlX2djb25mCi0gICBCdWlsZCBtZW1jb25mIG1vZHVsZXMgICAgICAgICAkZW5hYmxlX21l bWNvbmYKLWRpZmYgLS1naXQgYS91aS9ndGszL01ha2VmaWxlLmFtIGIvdWkvZ3RrMy9NYWtlZmls ZS5hbQotaW5kZXggNDBjY2UxMS4uMmRlMjI3ZCAxMDA2NDQKLS0tLSBhL3VpL2d0azMvTWFrZWZp bGUuYW0KLSsrKyBiL3VpL2d0azMvTWFrZWZpbGUuYW0KLUBAIC05OCw2ICs5OCwxMCBAQCBpZiBF TkFCTEVfQVBQSU5ESUNBVE9SCi0gQU1fVkFMQUZMQUdTICs9IC0tZGVmaW5lPUlORElDQVRPUgot IGVuZGlmCi0gCi0raWYgRU5BQkxFX0FQUElORElDQVRPUl9FTkdJTkVfSUNPTgotK0FNX1ZBTEFG TEFHUyArPSAtLWRlZmluZT1JTkRJQ0FUT1JfRU5HSU5FX0lDT04KLStlbmRpZgotKwotIGxpYmV4 ZWNfUFJPR1JBTVMgPSBpYnVzLXVpLWd0azMKLSAKLSBpYnVzX3VpX2d0azNfU09VUkNFUyA9IFwK LUBAIC0xMzYsOCArMTQwLDggQEAgQ0xFQU5GSUxFUyA9IFwKLSAjIFJlZmVyZW5jZXM6Ci0gIyBs aWJhcHBpbmRpY2F0b3Ivc3JjL25vdGlmaWNhdGlvbi1pdGVtLnhtbAotICMgbGliYXBwaW5kaWNh dG9yL3NyYy9ub3RpZmljYXRpb24td2F0Y2hlci54bWwKLS0jIGtub3RpZmljYXRpb25zL3NyYy9v cmcua2RlLlN0YXR1c05vdGlmaWVySXRlbS54bWwKLS0jIGtub3RpZmljYXRpb25zL3NyYy9vcmcu a2RlLlN0YXR1c05vdGlmaWVyV2F0Y2hlci54bWwKLSsjIGtkZWxpYnMva2RldWkva25vdGlmaWNh dGlvbnMvc3JjL29yZy5rZGUuU3RhdHVzTm90aWZpZXJJdGVtLnhtbAotKyMga2RlbGlicy9rZGV1 aS9rbm90aWZpY2F0aW9ucy9zcmMvb3JnLmtkZS5TdGF0dXNOb3RpZmllcldhdGNoZXIueG1sCi0g RVhUUkFfRElTVCA9IFwKLSAJZ3RrcGFuZWwueG1sLmluIFwKLSAJbm90aWZpY2F0aW9uLWl0ZW0u eG1sIFwKLWRpZmYgLS1naXQgYS91aS9ndGszL3BhbmVsLnZhbGEgYi91aS9ndGszL3BhbmVsLnZh bGEKLWluZGV4IDEzNzk4NjAuLmM3N2JkMmYgMTAwNjQ0Ci0tLS0gYS91aS9ndGszL3BhbmVsLnZh bGEKLSsrKyBiL3VpL2d0azMvcGFuZWwudmFsYQotQEAgLTEyNDgsOSArMTI0OCwxNSBAQCBjbGFz cyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKLSAgICAgICAgICAgICAgICAgbV9zdGF0dXNf aWNvbi5zZXRfZnJvbV9maWxlKGljb25fbmFtZSk7Ci0gICAgICAgICAgICAgfQotICAgICAgICAg ICAgIGVsc2UgaWYgKG1faWNvbl90eXBlID09IEljb25UeXBlLklORElDQVRPUikgewotLSAgICAg ICAgICAgICAgICB3YXJuaW5nKCJhcHBpbmRpY2F0b3IgcmVxdWlyZXMgYW4gaWNvbiBuYW1lIGlu IGEgdGhlbWUgIiArCi0tICAgICAgICAgICAgICAgICAgICAgICAgInBhdGggaW5zdGVhZCBvZiB0 aGUgZnVsbCBwYXRoOiAlcyIsIGljb25fbmFtZSk7Ci0rI2lmIElORElDQVRPUl9FTkdJTkVfSUNP TgotKyAgICAgICAgICAgICAgICBtX2luZGljYXRvci5zZXRfaWNvbl9mdWxsKGljb25fbmFtZSwg IiIpOwotKyNlbHNlCi0rICAgICAgICAgICAgICAgIHdhcm5pbmcoInBsYXNtYS13b3Jrc3BhY2Ug NS4yIG9yIGxhdGVyIGlzIHJlcXVpcmVkIHRvICIgKwotKyAgICAgICAgICAgICAgICAgICAgICAg ICJzaG93IHRoZSBhYnNvbHV0ZSBwYXRoIGljb24gJXMuIEN1cnJlbnRseSBjaGVjayAiICsKLSsg ICAgICAgICAgICAgICAgICAgICAgICAicXRiYXNlIDUuNCBzaW5jZSB0aGVyZSBpcyBubyB3YXkg dG8gY2hlY2sgIiArCi0rICAgICAgICAgICAgICAgICAgICAgICAgInRoZSB2ZXJzaW9uIG9mIHBs YXNtYS13b3Jrc3BhY2UuIiwgaWNvbl9uYW1lKTsKLSAgICAgICAgICAgICAgICAgbV9pbmRpY2F0 b3Iuc2V0X2ljb25fZnVsbCgiaWJ1cy1lbmdpbmUiLCAiIik7Ci0rI2VuZGlmCi0gICAgICAgICAg ICAgfQotICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICBzdHJpbmcgbGFuZ3VhZ2UgPSBu dWxsOwotLS0gCi0yLjEuMAotCi1Gcm9tIDVkOTEwOWIzYzU2YmNhNjBiZTQ0MWFkMjg2Njg4NDY3 YzY3NjY0YzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBmdWppd2FyYXQgPHRha2Fv LmZ1aml3YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIxIEFwciAyMDE1IDExOjI2OjA0ICsw OTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCB0byBzaG93IGtleWJvYXJkIHNob3J0Y3V0cyBpbiBp YnVzLXNldHVwLgotCi1CVUc9aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2lidXMvaXNzdWVzL2Rl dGFpbD9pZD0xNzcxCi1URVNUPXNldHVwCi0KLVJldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmll dy5hcHBzcG90LmNvbS8yMzM3MjAwNDMKLS0tLQotIHNldHVwL2tleWJvYXJkc2hvcnRjdXQucHkg fCA4ICsrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKLQotZGlmZiAtLWdpdCBhL3NldHVwL2tleWJvYXJkc2hvcnRjdXQucHkgYi9zZXR1cC9r ZXlib2FyZHNob3J0Y3V0LnB5Ci1pbmRleCA4NjQ2M2NiLi4zOWE2ZDQ3IDEwMDY0NAotLS0tIGEv c2V0dXAva2V5Ym9hcmRzaG9ydGN1dC5weQotKysrIGIvc2V0dXAva2V5Ym9hcmRzaG9ydGN1dC5w eQotQEAgLTIsOCArMiw4IEBACi0gIwotICMgaWJ1cyAtIFRoZSBJbnB1dCBCdXMKLSAjCi0tIyBD b3B5cmlnaHQgKGMpIDIwMDctMjAxNCBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNv bT4KLS0jIENvcHlyaWdodCAoYykgMjAwNy0yMDE0IFJlZCBIYXQsIEluYy4KLSsjIENvcHlyaWdo dCAoYykgMjAwNy0yMDE1IFBlbmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgotKyMg Q29weXJpZ2h0IChjKSAyMDA3LTIwMTUgUmVkIEhhdCwgSW5jLgotICMKLSAjIFRoaXMgbGlicmFy eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAjIG1v ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK LUBAIC01MSwxMyArNTEsMTMgQEAgY2xhc3MgS2V5Ym9hcmRTaG9ydGN1dFNlbGVjdGlvbihHdGsu Qm94KToKLSAgICAgICAgICMgc2hvcnRjdXRzIHZpZXcKLSAgICAgICAgIHNlbGYuX19zaG9ydGN1 dF92aWV3ID0gR3RrLlRyZWVWaWV3KAotICAgICAgICAgICAgICAgICBtb2RlbCA9IEd0ay5MaXN0 U3RvcmUoR09iamVjdC5UWVBFX1NUUklORykpCi0tICAgICAgICBzZWxmLl9fc2hvcnRjdXRfdmll dy5zZXRfc2l6ZV9yZXF1ZXN0KC0xLCAxMDApCi0gICAgICAgICByZW5kZXJlciA9IEd0ay5DZWxs UmVuZGVyZXJUZXh0KCkKLSAgICAgICAgIGNvbHVtbiA9IEd0ay5UcmVlVmlld0NvbHVtbihfKCJL ZXlib2FyZCBzaG9ydGN1dHMiKSwgcmVuZGVyZXIsIHRleHQgPSAwKQotICAgICAgICAgc2VsZi5f X3Nob3J0Y3V0X3ZpZXcuYXBwZW5kX2NvbHVtbihjb2x1bW4pCi0gICAgICAgICBzZWxmLl9fc2hv cnRjdXRfdmlldy5jb25uZWN0KCJjdXJzb3ItY2hhbmdlZCIsIHNlbGYuX19zaG9ydGN1dF92aWV3 X2N1cnNvcl9jaGFuZ2VkX2NiKQotICAgICAgICAgc2Nyb2xsZWR3aW5kb3cgPSBHdGsuU2Nyb2xs ZWRXaW5kb3coKQotICAgICAgICAgc2Nyb2xsZWR3aW5kb3cuc2V0X3BvbGljeShHdGsuUG9saWN5 VHlwZS5BVVRPTUFUSUMsIEd0ay5Qb2xpY3lUeXBlLkFVVE9NQVRJQykKLSsgICAgICAgIHNjcm9s bGVkd2luZG93LnNldF9taW5fY29udGVudF9oZWlnaHQoMTAwKQotICAgICAgICAgc2Nyb2xsZWR3 aW5kb3cuYWRkKHNlbGYuX19zaG9ydGN1dF92aWV3KQotICAgICAgICAgc2Nyb2xsZWR3aW5kb3cu c2V0X3NoYWRvd190eXBlKEd0ay5TaGFkb3dUeXBlLklOKQotICAgICAgICAgc2VsZi5wYWNrX3N0 YXJ0KHNjcm9sbGVkd2luZG93LCBUcnVlLCBUcnVlLCA0KQotQEAgLTI2NSw3ICsyNjUsOSBAQCBj bGFzcyBLZXlib2FyZFNob3J0Y3V0U2VsZWN0aW9uKEd0ay5Cb3gpOgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEdPYmplY3QuVFlQRV9VSU5ULAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdPYmplY3QuVFlQRV9VSU5UKQotICAgICAgICAgYWNjZWxfdmlldyA9IEd0ay5U cmVlVmlldyhtb2RlbCA9IG1vZGVsKQotKyAgICAgICAgYWNjZWxfdmlldy5zZXRfaGVhZGVyc192 aXNpYmxlKEZhbHNlKQotICAgICAgICAgc3cuYWRkKGFjY2VsX3ZpZXcpCi0rICAgICAgICBzdy5z ZXRfbWluX2NvbnRlbnRfaGVpZ2h0KDMwKQotICAgICAgICAgY29sdW1uID0gR3RrLlRyZWVWaWV3 Q29sdW1uKCkKLSAgICAgICAgIHJlbmRlcmVyID0gR3RrLkNlbGxSZW5kZXJlckFjY2VsKGFjY2Vs X21vZGU9R3RrLkNlbGxSZW5kZXJlckFjY2VsTW9kZS5PVEhFUiwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRhYmxlPVRydWUpCi0tLSAKLTIuMy41Ci0KLS0t LSBpYnVzLTEuNS4xMC9jbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMub3JpZwkyMDE1LTA0LTI0 IDEzOjQ5OjA1LjE0ODAyMzkyMSArMDkwMAotKysrIGlidXMtMS41LjEwL2NsaWVudC9ndGsyL2li dXNpbWNvbnRleHQuYwkyMDE1LTA0LTI0IDEzOjUyOjU4Ljg3MTM4OTY5MiArMDkwMAotQEAgLTU3 OSw3ICs1NzksMTEgQEAgaWJ1c19pbV9jb250ZXh0X2NsYXNzX2luaXQgKElCdXNJTUNvbnRleAot IAotICAgICAvKiBpbml0IGJ1cyBvYmplY3QgKi8KLSAgICAgaWYgKF9idXMgPT0gTlVMTCkgewot LSAgICAgICAgaWJ1c19zZXRfZGlzcGxheSAoZ2RrX2Rpc3BsYXlfZ2V0X25hbWUgKGdka19kaXNw bGF5X2dldF9kZWZhdWx0ICgpKSk7Ci0rICAgICAgICBjb25zdCBnY2hhciAqZG5hbWUgPSBnZGtf ZGlzcGxheV9nZXRfbmFtZSAoZ2RrX2Rpc3BsYXlfZ2V0X2RlZmF1bHQgKCkpOwotKyAgICAgICAg LyogaWJ1cy1kYWVtb24gdXNlcyBESVNQTEFZIHZhcmlhYmxlLiAqLwotKyAgICAgICAgaWYgKGdf c3RyY21wMCAoZG5hbWUsICJXYXlsYW5kIikgPT0gMCkKLSsgICAgICAgICAgICBkbmFtZSA9IGdf Z2V0ZW52ICgiRElTUExBWSIpOwotKyAgICAgICAgaWJ1c19zZXRfZGlzcGxheSAoZG5hbWUpOwot ICAgICAgICAgX2J1cyA9IGlidXNfYnVzX25ld19hc3luYyAoKTsKLSAKLSAgICAgICAgIC8qIGlu aXQgdGhlIGdsb2JhbCBmYWtlIGNvbnRleHQgKi8KLUZyb20gNDY1ZTE2ZTg2OTE5OTdmZTM1MmQz ODgyYTFmMDJjNjQ1NTc1OTg2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3 YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjIgTWF5IDIwMTUg MTI6MDY6NTIgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gaWJ1cy11aS1ndGszOiByYWRpbyBhbmQg Y2hlY2sgbWVudSBpdGVtcyB3b3JrIHdpdGggR1RLIDMuMTYKLQotR1RLIDMuMTYgaGFzIGNsZWFy ZWQgdGhlIHJhZGlvIGJ1dHRvbnMnIHN0YXRlIGluCi1ndGtfcmFkaW9fbWVudV9pdGVtX3NldF9n cm91cCgpOgotaHR0cHM6Ly9naXQuZ25vbWUub3JnL2Jyb3dzZS9ndGsrL2NvbW1pdC8/aWQ9OTU1 YWVkOTIyNwotLS0tCi0gdWkvZ3RrMy9wcm9wZXJ0eS52YWxhIHwgNDUgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQxIGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS91aS9ndGszL3Byb3BlcnR5 LnZhbGEgYi91aS9ndGszL3Byb3BlcnR5LnZhbGEKLWluZGV4IGFlZjg4MGYuLjQxOWYyYmYgMTAw NjQ0Ci0tLS0gYS91aS9ndGszL3Byb3BlcnR5LnZhbGEKLSsrKyBiL3VpL2d0azMvcHJvcGVydHku dmFsYQotQEAgLTIsNyArMiw3IEBACi0gICoKLSAgKiBpYnVzIC0gVGhlIElucHV0IEJ1cwotICAq Ci0tICogQ29weXJpZ2h0KGMpIDIwMTEtMjAxNCBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdt YWlsLmNvbT4KLSsgKiBDb3B5cmlnaHQoYykgMjAxMS0yMDE1IFBlbmcgSHVhbmcgPHNoYXduLnAu aHVhbmdAZ21haWwuY29tPgotICAqCi0gICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAqIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLUBAIC0xMzMsNyArMTMzLDcg QEAgcHVibGljIGNsYXNzIFByb3BJbWFnZU1lbnVJdGVtIDogR3RrLk1lbnVJdGVtLCBJUHJvcEl0 ZW0gewotICAgICB9Ci0gfQotIAotLXB1YmxpYyBjbGFzcyBQcm9wQ2hlY2tNZW51SXRlbSA6IEd0 ay5SYWRpb01lbnVJdGVtLCBJUHJvcEl0ZW0gewotK3B1YmxpYyBjbGFzcyBQcm9wQ2hlY2tNZW51 SXRlbSA6IEd0ay5DaGVja01lbnVJdGVtLCBJUHJvcEl0ZW0gewotICAgICBwcml2YXRlIElCdXMu UHJvcGVydHkgbV9wcm9wZXJ0eTsKLSAgICAgcHVibGljIFByb3BDaGVja01lbnVJdGVtKElCdXMu UHJvcGVydHkgcHJvcGVydHkpIHsKLSAgICAgICAgIGFzc2VydChwcm9wZXJ0eSAhPSBudWxsKTsK LUBAIC0xNzMsMTMgKzE3Myw1MCBAQCBwdWJsaWMgY2xhc3MgUHJvcENoZWNrTWVudUl0ZW0gOiBH dGsuUmFkaW9NZW51SXRlbSwgSVByb3BJdGVtIHsKLSAgICAgfQotIH0KLSAKLS1wdWJsaWMgY2xh c3MgUHJvcFJhZGlvTWVudUl0ZW0gOiBQcm9wQ2hlY2tNZW51SXRlbSB7Ci0rcHVibGljIGNsYXNz IFByb3BSYWRpb01lbnVJdGVtIDogR3RrLlJhZGlvTWVudUl0ZW0sIElQcm9wSXRlbSB7Ci0rICAg IHByaXZhdGUgSUJ1cy5Qcm9wZXJ0eSBtX3Byb3BlcnR5OwotICAgICBwdWJsaWMgUHJvcFJhZGlv TWVudUl0ZW0oSUJ1cy5Qcm9wZXJ0eSBwcm9wZXJ0eSwKLSAgICAgICAgIFByb3BSYWRpb01lbnVJ dGVtID9ncm91cF9zb3VyY2UpIHsKLS0gICAgICAgIGJhc2UocHJvcGVydHkpOwotKyAgICAgICAg YXNzZXJ0KHByb3BlcnR5ICE9IG51bGwpOwotKwotKyAgICAgICAgbV9wcm9wZXJ0eSA9IHByb3Bl cnR5OwotKyAgICAgICAgc2V0X25vX3Nob3dfYWxsKHRydWUpOwotIAotICAgICAgICAgaWYgKGdy b3VwX3NvdXJjZSAhPSBudWxsKQotICAgICAgICAgICAgIHNldF9ncm91cChncm91cF9zb3VyY2Uu Z2V0X2dyb3VwKCkpOwotKwotKyAgICAgICAgLyogQ2FsbCBzeW5jKCkgYWZ0ZXIgY2FsbCBzZXRf Z3JvdXAoKSBiZWNhdXNlCi0rICAgICAgICAgKiBndGtfcmFkaW9fbWVudV9pdGVtX3NldF9ncm91 cCgpIHNldHMgYWN0aXZlID0gMC4gKi8KLSsgICAgICAgIHN5bmMoKTsKLSsgICAgfQotKwotKyAg ICBwdWJsaWMgdm9pZCB1cGRhdGVfcHJvcGVydHkoSUJ1cy5Qcm9wZXJ0eSBwcm9wZXJ0eSkgewot KyAgICAgICAgaWYgKG1fcHJvcGVydHkuZ2V0X2tleSgpICE9IHByb3BlcnR5LmdldF9rZXkoKSkK LSsgICAgICAgICAgICByZXR1cm47Ci0rCi0rICAgICAgICBtX3Byb3BlcnR5LnNldF9sYWJlbChw cm9wZXJ0eS5nZXRfbGFiZWwoKSk7Ci0rICAgICAgICBtX3Byb3BlcnR5LnNldF9pY29uKHByb3Bl cnR5LmdldF9pY29uKCkpOwotKyAgICAgICAgbV9wcm9wZXJ0eS5zZXRfdmlzaWJsZShwcm9wZXJ0 eS5nZXRfdmlzaWJsZSgpKTsKLSsgICAgICAgIG1fcHJvcGVydHkuc2V0X3NlbnNpdGl2ZShwcm9w ZXJ0eS5nZXRfc2Vuc2l0aXZlKCkpOwotKyAgICAgICAgbV9wcm9wZXJ0eS5zZXRfdG9vbHRpcChw cm9wZXJ0eS5nZXRfdG9vbHRpcCgpKTsKLSsgICAgICAgIG1fcHJvcGVydHkuc2V0X3N0YXRlKHBy b3BlcnR5LmdldF9zdGF0ZSgpKTsKLSsgICAgICAgIHN5bmMoKTsKLSsgICAgfQotKwotKyAgICBw cml2YXRlIHZvaWQgc3luYygpIHsKLSsgICAgICAgIHNldF9sYWJlbChtX3Byb3BlcnR5LmdldF9s YWJlbCgpLmdldF90ZXh0KCkpOwotKyAgICAgICAgc2V0X3Zpc2libGUobV9wcm9wZXJ0eS5nZXRf dmlzaWJsZSgpKTsKLSsgICAgICAgIHNldF9zZW5zaXRpdmUobV9wcm9wZXJ0eS5nZXRfc2Vuc2l0 aXZlKCkpOwotKyAgICAgICAgc2V0X2FjdGl2ZShtX3Byb3BlcnR5LmdldF9zdGF0ZSgpID09IElC dXMuUHJvcFN0YXRlLkNIRUNLRUQpOwotKyAgICB9Ci0rCi0rICAgIHB1YmxpYyBvdmVycmlkZSB2 b2lkIHRvZ2dsZWQoKSB7Ci0rICAgICAgICBJQnVzLlByb3BTdGF0ZSBuZXdfc3RhdGUgPQotKyAg ICAgICAgICAgIGdldF9hY3RpdmUoKSA/IElCdXMuUHJvcFN0YXRlLkNIRUNLRUQgOiBJQnVzLlBy b3BTdGF0ZS5VTkNIRUNLRUQ7Ci0rICAgICAgICBpZiAobV9wcm9wZXJ0eS5nZXRfc3RhdGUoKSAh PSBuZXdfc3RhdGUpIHsKLSsgICAgICAgICAgICBtX3Byb3BlcnR5LnNldF9zdGF0ZShuZXdfc3Rh dGUpOwotKyAgICAgICAgICAgIHByb3BlcnR5X2FjdGl2YXRlKG1fcHJvcGVydHkuZ2V0X2tleSgp LCBtX3Byb3BlcnR5LmdldF9zdGF0ZSgpKTsKLSsgICAgICAgIH0KLSAgICAgfQotIH0KLSAKLS0t IAotMi4zLjUKIAoKZGlmZiAtLWdpdCBhL2lidXMuc3BlYyBiL2lidXMuc3BlYwppbmRleCA1ZWJi MTIzLi5jNzFmZDU4IDEwMDY0NAotLS0gYS9pYnVzLnNwZWMKKysrIGIvaWJ1cy5zcGVjCkBAIC0z LDEyICszLDYgQEAKIAogJWdsb2JhbCB3aXRoX3BrZ19jb25maWcgJShwa2ctY29uZmlnIC0tdmVy c2lvbiA+L2Rldi9udWxsIDI+JjEgJiYgZWNobyAtbiAiMSIgfHwgZWNobyAtbiAiMCIpCiAKLSVp ZiAoMCV7P2ZlZG9yYX0gPiAyMCB8fCAwJXs/cmhlbH0gPiA3KQotJWdsb2JhbCB3aXRoX3B5dGhv bjJfb3ZlcnJpZGVfcGtnIDEKLSVlbHNlCi0lZ2xvYmFsIHdpdGhfcHl0aG9uMl9vdmVycmlkZV9w a2cgMAotJWVuZGlmCi0KICVpZiAoMCV7P2ZlZG9yYX0gPiAyMSB8fCAwJXs/cmhlbH0gPiA3KQog JWdsb2JhbCB3aXRoX2tkZTUgMQogJWVsc2UKQEAgLTMzLDggKzI3LDggQEAKICVnbG9iYWwgZGJ1 c19weXRob25fdmVyc2lvbiAwLjgzLjAKIAogTmFtZTogICAgICAgICAgIGlidXMKLVZlcnNpb246 ICAgICAgICAxLjUuMTAKLVJlbGVhc2U6ICAgICAgICA2JXs/ZGlzdH0KK1ZlcnNpb246ICAgICAg ICAxLjUuMTEKK1JlbGVhc2U6ICAgICAgICAxJXs/ZGlzdH0KIFN1bW1hcnk6ICAgICAgICBJbnRl bGxpZ2VudCBJbnB1dCBCdXMgZm9yIExpbnV4IE9TCiBMaWNlbnNlOiAgICAgICAgTEdQTHYyKwog R3JvdXA6ICAgICAgICAgIFN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMKQEAgLTQyLDEzICsz NiwxMyBAQCBVUkw6ICAgICAgICAgICAgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2lidXMvCiBT b3VyY2UwOiAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9yZWxlYXNlcy9kb3du bG9hZC8le3ZlcnNpb259LyV7bmFtZX0tJXt2ZXJzaW9ufS50YXIuZ3oKIFNvdXJjZTE6ICAgICAg ICAle25hbWV9LXhpbnB1dAogU291cmNlMjogICAgICAgICV7bmFtZX0uY29uZi41Ci1Tb3VyY2Uz OiAgICAgICAgaHR0cHM6Ly9mdWppd2FyYS5mZWRvcmFwZW9wbGUub3JnL2lidXMvcG8vJXtuYW1l fS1wby0xLjUuMTAtMjAxNTA0MDIudGFyLmd6CiAjIFVwc3RyZWFtZWQgcGF0Y2hlcy4KICMgUGF0 Y2gwOiAgICAgICAgICUle25hbWV9LUhFQUQucGF0Y2gKLVBhdGNoMDogICAgICAgICAlJXtuYW1l fS1IRUFELnBhdGNoCiAKIEJ1aWxkUmVxdWlyZXM6ICBnZXR0ZXh0LWRldmVsCiBCdWlsZFJlcXVp cmVzOiAgbGlidG9vbAorIyBmb3IgZ3RrZG9jLWZpeHhyZWYKK0J1aWxkUmVxdWlyZXM6ICBnbGli Mi1kb2MKIEJ1aWxkUmVxdWlyZXM6ICBndGsyLWRldmVsCiBCdWlsZFJlcXVpcmVzOiAgZ3RrMy1k ZXZlbAogQnVpbGRSZXF1aXJlczogIGRidXMtZ2xpYi1kZXZlbApAQCAtODMsMTAgKzc3LDYgQEAg UmVxdWlyZXM6ICAgICAgIGlzby1jb2RlcwogUmVxdWlyZXM6ICAgICAgIGRidXMteDExCiBSZXF1 aXJlczogICAgICAgZGNvbmYKIFJlcXVpcmVzOiAgICAgICBsaWJyc3ZnMgotJWlmICEgJXdpdGhf cHl0aG9uMl9vdmVycmlkZV9wa2cKLSMgT3duZXIgb2YgJSVweXRob24yX3NpdGVhcmNoL2dpL292 ZXJyaWRlcwotUmVxdWlyZXM6ICAgICAgIHB5Z29iamVjdDMtYmFzZQotJWVuZGlmCiAjIE93bmVy IG9mICUlcHl0aG9uM19zaXRlYXJjaC9naS9vdmVycmlkZXMKIFJlcXVpcmVzOiAgICAgICBweXRo b24zLWdvYmplY3QKICMgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9p ZD0xMTYxODcxCkBAIC0xNzQsNyArMTY0LDYgQEAgVGhpcyBpcyBhIFB5R1RLMiBsaWJyYXJ5IGZv ciBJQnVzLiBOb3cgbWFqb3IgSUJ1cyBlbmdpbmVzIHVzZSBQeUdPYmplY3QzCiBhbmQgdGhpcyBw YWNrYWdlIHdpbGwgYmUgZGVwcmVjYXRlZC4KICVlbmRpZgogCi0laWYgJXdpdGhfcHl0aG9uMl9v dmVycmlkZV9wa2cKICVwYWNrYWdlIHB5Mm92ZXJyaWRlCiBTdW1tYXJ5OiAgICAgICAgSUJ1cyBQ eXRob24yIG92ZXJyaWRlIGxpYnJhcnkKIEdyb3VwOiAgICAgICAgICBTeXN0ZW0gRW52aXJvbm1l bnQvTGlicmFyaWVzCkBAIC0xODYsNyArMTc1LDYgQEAgUmVxdWlyZXM6ICAgICAgIHB5dGhvbgog JWRlc2NyaXB0aW9uIHB5Mm92ZXJyaWRlCiBUaGlzIGlzIGEgUHl0aG9uMiBvdmVycmlkZSBsaWJy YXJ5IGZvciBJQnVzLiBUaGUgUHl0aG9uIGZpbGVzIG92ZXJyaWRlCiBzb21lIGZ1bmN0aW9ucyBp biBHT2JqZWN0LUludHJvc3BlY3Rpb24uCi0lZW5kaWYKIAogJXBhY2thZ2Ugd2F5bGFuZAogU3Vt bWFyeTogICAgICAgIElCdXMgSU0gbW9kdWxlIGZvciBXYXlsYW5kCkBAIC0yMzAsMTQgKzIxOCwx MCBAQCBUaGUgaWJ1cy1kZXZlbC1kb2NzIHBhY2thZ2UgY29udGFpbnMgZGV2ZWxvcGVyIGRvY3Vt ZW50YXRpb24gZm9yIElCdXMKICVwcmVwCiAlc2V0dXAgLXEKICMgJSVwYXRjaDAgLXAxCi0lcGF0 Y2gwIC1wMQogIyBjcCBjbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMgY2xpZW50L2d0azMvaWJ1 c2ltY29udGV4dC5jIHx8Ci1jcCBjbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMgY2xpZW50L2d0 azMvaWJ1c2ltY29udGV4dC5jIHx8Ci16Y2F0ICVTT1VSQ0UzIHwgdGFyIHhmdiAtCiAKICVidWls ZAogI2F1dG9yZWNvbmYgLWYgLWkgLXYKLWF1dG9yZWNvbmYgLWYgLWkgLXYKICNtYWtlIC1DIHVp L2d0azMgbWFpbnRhaW5lci1jbGVhbi1nZW5lcmljCiAlY29uZmlndXJlIFwKICAgICAtLWRpc2Fi bGUtc3RhdGljIFwKQEAgLTI0NSw3ICsyMjksNiBAQCBhdXRvcmVjb25mIC1mIC1pIC12CiAgICAg LS1lbmFibGUtZ3RrMyBcCiAgICAgLS1lbmFibGUteGltIFwKICAgICAtLWVuYWJsZS1ndGstZG9j IFwKLSAgICAtLXdpdGgtbm8tc25vb3Blci1hcHBzPSdnbm9tZS1kbyxEby4qLGZpcmVmb3guKiwu KmNocm9tZS4qLC4qY2hyb21pdW0uKicgXAogICAgIC0tZW5hYmxlLXN1cnJvdW5kaW5nLXRleHQg XAogICAgIC0td2l0aC1weXRob249cHl0aG9uMyBcCiAlaWYgJXdpdGhfcHlnb2JqZWN0MgpAQCAt MzY4LDkgKzM1MSw2IEBAIGd0ay1xdWVyeS1pbW1vZHVsZXMtMy4wLSV7X19pc2FfYml0c30gLS11 cGRhdGUtY2FjaGUgJj4gL2Rldi9udWxsIHx8IDoKICV7X3N5c2NvbmZkaXJ9L2Rjb25mL3Byb2Zp bGUvaWJ1cwogJXB5dGhvbjNfc2l0ZWFyY2gvZ2kvb3ZlcnJpZGVzL19fcHljYWNoZV9fLyoucHkq CiAlcHl0aG9uM19zaXRlYXJjaC9naS9vdmVycmlkZXMvSUJ1cy5weQotJWlmICEgJXdpdGhfcHl0 aG9uMl9vdmVycmlkZV9wa2cKLSVweXRob24yX3NpdGVhcmNoL2dpL292ZXJyaWRlcy9JQnVzLnB5 KgotJWVuZGlmCiAjIGlidXMgb3ducyB4aW5wdXQuZCBiZWNhdXNlIGdub21lIGRvZXMgbm90IGxp a2UgdG8gZGVwZW5kIG9uIGltc2V0dGluZ3MuCiAlZGlyICV7X3N5c2NvbmZkaXJ9L1gxMS94aW5p dC94aW5wdXQuZAogIyBEbyBub3QgdXNlICUlY29uZmlnKG5vcmVwbGFjZSkgdG8gYWx3YXlzIGdl dCB0aGUgbmV3IGtleXdvcmRzIGluIF94aW5wdXRjb25mCkBAIC00MDEsMTAgKzM4MSw4IEBAIGd0 ay1xdWVyeS1pbW1vZHVsZXMtMy4wLSV7X19pc2FfYml0c30gLS11cGRhdGUtY2FjaGUgJj4gL2Rl di9udWxsIHx8IDoKICV7cHl0aG9uMl9zaXRlbGlifS9pYnVzLyoKICVlbmRpZgogCi0laWYgJXdp dGhfcHl0aG9uMl9vdmVycmlkZV9wa2cKICVmaWxlcyBweTJvdmVycmlkZQogJXB5dGhvbjJfc2l0 ZWFyY2gvZ2kvb3ZlcnJpZGVzL0lCdXMucHkqCi0lZW5kaWYKIAogJWZpbGVzIHdheWxhbmQKICV7 X2xpYmV4ZWNkaXJ9L2lidXMtd2F5bGFuZApAQCAtNDI0LDYgKzQwMiwxMSBAQCBndGstcXVlcnkt aW1tb2R1bGVzLTMuMC0le19faXNhX2JpdHN9IC0tdXBkYXRlLWNhY2hlICY+IC9kZXYvbnVsbCB8 fCA6CiAle19kYXRhZGlyfS9ndGstZG9jL2h0bWwvKgogCiAlY2hhbmdlbG9nCisqIFRodSBKdWwg MTYgMjAxNSBUYWthbyBGdWppd2FyYSA8dGZ1aml3YXJAcmVkaGF0LmNvbT4gLSAxLjUuMTEtMQor LSBCdW1wZWQgdG8gMS41LjExCistIERlbGV0ZWQgd2l0aF9weXRob24yX292ZXJyaWRlX3BrZyBt YWNybworLSBBZGRlZCBnbGliMi1kb2MgQlIKKwogKiBXZWQgSnVuIDE3IDIwMTUgRmVkb3JhIFJl bGVhc2UgRW5naW5lZXJpbmcgPHJlbC1lbmdAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmc+IC0gMS41 LjEwLTYKIC0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9y YV8yM19NYXNzX1JlYnVpbGQKIAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4 IDQxNjhiZDAuLmQ0MWI5MzMgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAt MSwyICsxIEBACi1lMmYxZDM0MDgzNjAyZWY2ODY1ODgwMTQ3YTQwOWVhYSAgaWJ1cy0xLjUuMTAu dGFyLmd6Ci04OTk2ZDk2M2Q1MzMzZmJjNjA3M2Q5MjE4MTY3N2I3MCAgaWJ1cy1wby0xLjUuMTAt MjAxNTA0MDIudGFyLmd6Cis0OGYxNThjMTBkY2Q2OWYzZGRlZGMxM2RlNDk5MTUyOCAgaWJ1cy0x LjUuMTEudGFyLmd6Cg==