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: Alexander Bokovoy To: git-commits@fedoraproject.org Subject: [rpms/freeipa] rawhide: Update patches for pr8557 and pr8558 Date: Sat, 19 Sep 2026 09:22:14 GMT Message-ID: <178980973494.1.7436665434477429029.rpms-freeipa-aa31f24421e9@fedoraproject.org> List-ID: X-Git-Repo: rpms/freeipa X-Git-Branch: rawhide X-Git-Rev: aa31f24421e9c30cb6987d47c0d66636bd549196 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZnJlZWlwYQogICAgICAgICAgICBCcmFuY2ggOiByYXdoaWRlCiAgICAgICAg ICAgIENvbW1pdCA6IGFhMzFmMjQ0MjFlOWMzMGNiNjk4N2Q0N2MwZDY2NjM2YmQ1NDkxOTYKICAg ICAgICAgICAgQXV0aG9yIDogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+ CiAgICAgICAgICAgIERhdGUgICA6IDIwMjYtMDktMTlUMTE6Mjc6NDArMDM6MDAKICAgICAgICAg ICAgU3RhdHMgIDogKzEyMjYvLTMzIGluIDMgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBo dHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2ZyZWVpcGEvYy9hYTMxZjI0NDIxZTlj MzBjYjY5ODdkNDdjMGQ2NjYzNmJkNTQ5MTk2P2JyYW5jaD1yYXdoaWRlCgogICAgICAgICAgICBM b2c6CiAgICAgICAgICAgIFVwZGF0ZSBwYXRjaGVzIGZvciBwcjg1NTcgYW5kIHByODU1OAoKVXBk YXRlIHByZWxpbWluYXJ5IHBhdGNoZXMgdG8gdGhlIGZpbmFsIHZlcnNpb25zIGZvcgoKaHR0cHM6 Ly9naXRodWIuY29tL2ZyZWVpcGEvZnJlZWlwYS9wdWxsLzg1NTcucGF0Y2gKaHR0cHM6Ly9naXRo dWIuY29tL2ZyZWVpcGEvZnJlZWlwYS9wdWxsLzg1NTgucGF0Y2gKClNpZ25lZC1vZmYtYnk6IEFs ZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgoKLS0tCmRpZmYgLS1naXQgYS9m cmVlaXBhLXByLTg1NTcucGF0Y2ggYi9mcmVlaXBhLXByLTg1NTcucGF0Y2gKaW5kZXggYTMyMDhk NS4uMjEzYWUyNCAxMDA2NDQKLS0tIGEvZnJlZWlwYS1wci04NTU3LnBhdGNoCisrKyBiL2ZyZWVp cGEtcHItODU1Ny5wYXRjaApAQCAtMSwyNiArMSw0NSBAQAotRnJvbSA0ODNlYzYwM2EwNmQyODRm ZDUyZWEyNzgzMGVhNDEyYmIzNzkxNjVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1 OGVhMDlmNDg5NDA2ZmVhNjI0ZDM5MGNlZTM4NmQ4NWFhNjZmZDZjIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQogRnJvbTogSnVsaWVuIFJpc2NoZSA8anJpc2NoZUByZWRoYXQuY29tPgogRGF0ZTog TW9uLCA3IFNlcCAyMDI2IDExOjE2OjA5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBrZGI6 IHVzZSAiaXBhT3JpZ2luYWxVaWQiIGF0dHIgY29uc2lzdGFudGx5IGluIFBBQyB0cnVzdAotIGNo ZWNrCitTdWJqZWN0OiBbUEFUQ0hdIGtkYjogcmV3b3JrIGNyb3NzLXJlYWxtIFBBQyB2YWxpZGF0 aW9uIGFuZCBJRCBvdmVycmlkZSBjaGVja3MKIAotYTllM2ZlOTczMzZmZjk0MmVhMjFhZjEzYThi OGQ5YWRmMmE4OWQzNyBhZGRlZCBhIHByb2Nlc3MgdG8gY3Jvc3MtY2hlY2sKLUFEIGNsaWVudCBw cmluY2lwYWwgbmFtZXMgYWdhaW5zdCBJRCBvdmVycmlkZSBiYXNlZCBvbiBTSUQuIEJ1dCBpdCB1 c2VkCi10aGUgUE9TSVggInVpZCIgYXR0cmlidXRlIGluc3RlYWQgb2YgdGhlICJpcGFPcmlnaW5h bFVpZCIgb25lLgorVGhlIGNyb3NzLXJlYWxtIFBBQyB2YWxpZGF0aW9uIGNvZGUgaGFkIHNldmVy YWwgaXNzdWVzOgogCi1mODBlOTY2N2Y2ZjZkNDI2Y2ZjZGIyODdjMzM5MmU3MWZiZDNlMTRjIGlu dGVuZGVkIHRvIGZpeCB0aGlzIHByb2JsZW0sCi1idXQgb25seSBjaGFuZ2VkIHRoZSBhdHRyaWJ1 dGUgbmFtZSB0byBiZSBleHRyYXRlZCBmcm9tIHRoZSBmZXRjaGVkIElECi1vdmVycmlkZSBMREFQ IGVudHJ5LCBub3QgdGhlIHNlYXJjaGVkIGF0dHJpYnV0ZSwgd2hpY2ggcmVzdWx0cyBpbiBhCi1z eXN0ZW1hdGljIGZhaWx1cmUgZm9yIEFEIHVzZXJzLgorVGhlIElEIG92ZXJyaWRlIGNoZWNrIHVz ZWQgdGhlIFBPU0lYICJ1aWQiIGF0dHJpYnV0ZSBpbnN0ZWFkIG9mCisiaXBhT3JpZ2luYWxVaWQi LCBhbmQgY29tcGFyZWQgaXQgYWdhaW5zdCB0aGUgdGlja2V0IGNuYW1lIHdoaWNoIGlzCit0aGUg c2VydmljZSBwcmluY2lwYWwgKG5vdCB0aGUgdXNlcikgaW4gUzRVMlNlbGYgcmVmZXJyYWwgVEdU cy4KIAotVGhlIHByZXNlbnQgY29tbWl0IHVzZXMgImlwYU9yaWdpbmFsVWlkIiBmb3IgYm90aCBM REFQIHNlYXJjaCBhbmQgZW50cnkKLWF0dHJpYnV0ZSBxdWVyaWVzLgorVGhlIFBBQyBjcm9zcy12 YWxpZGF0aW9uIGNvbXBhcmVkIGNsaWVudF9uYW1lIGRpcmVjdGx5IGFnYWluc3QKK2FjY291bnRf bmFtZSB1c2luZyBjYXNlLXNlbnNpdGl2ZSBzdHJjbXAsIHdoaWNoIGZhaWxlZCBmb3IgUzRVMlNl bGYKK3JlZmVycmFsIFRHVHMgd2hlcmUgY2xpZW50X25hbWUgaXMgcXVhbGlmaWVkICgidXNlcm5h bWVAdXNlclJlYWxtIgorcGVyIE1TLVNGVSAzLjIuNS4xLjEpIGFuZCBmb3IgbGVnaXRpbWF0ZSBj YXNlIGRpZmZlcmVuY2VzLgorCitUaGlzIGNvbW1pdCByZXdvcmtzIHRoZSB2YWxpZGF0aW9uIHRv IHVzZSBQQUNfQ0xJRU5UX0lORk8gY2xpZW50X25hbWUKK2FzIHRoZSByZWZlcmVuY2UgZm9yIGFs bCBuYW1lLWJhc2VkIGNoZWNrcy4gTUlUIGtyYjUgdmFsaWRhdGVzCitjbGllbnRfbmFtZSBhZ2Fp bnN0IHRoZSBjb3JyZWN0IG5vbi1QQUMgaWRlbnRpdHkgc291cmNlICh0aWNrZXQgY25hbWUsCitQ QS1GT1ItVVNFUiwgb3IgUEEtUzRVLVg1MDktVVNFUikgYmVmb3JlIHRoZSBLREIgcGx1Z2luIHJ1 bnMsIG1ha2luZworaXQgdGhlIHZhbHVlIElQQSB3aWxsIHVzZSB0byBpZGVudGlmeSB0aGUgdXNl ciwgYW5kIHRoZSB2YWx1ZSB3ZSBtdXN0Citjcm9zcy12YWxpZGF0ZSBhZ2FpbnN0IGNhbm9uaWNh bCBQQUMgYXR0cmlidXRlcyB0byBkZXRlY3QgYWxpYXMtYmFzZWQKK2lkZW50aXR5IGZyYXVkLgor CitDb21wYXJpc29ucyBub3cgaGFuZGxlIHRoZSBxdWFsaWZpZWQgKCJ1c2VyQFJFQUxNIikgYW5k IHVucXVhbGlmaWVkCisoInVzZXIiKSBmb3JtcyBvZiBjbGllbnRfbmFtZTogd2hlbiBib3RoIHZh bHVlcyBhcmUgcXVhbGlmaWVkLCBhIGZ1bGwKK2NvbXBhcmlzb24gaW5jbHVkaW5nIHRoZSByZWFs bSBpcyBwZXJmb3JtZWQ7IG90aGVyd2lzZSBvbmx5IHRoZSBuYW1lCitwYXJ0IGlzIGNvbXBhcmVk LgorCitUaGUgSUQgb3ZlcnJpZGUgY2hlY2sgbm93IGNvbXBhcmVzIGlwYU9yaWdpbmFsVWlkIGFn YWluc3QgY2xpZW50X25hbWUKK2luc3RlYWQgb2YgdGhlIHRpY2tldCBjbmFtZSwgZml4aW5nIFM0 VTJTZWxmIGZsb3dzLgorCitBbGwgY29tcGFyaXNvbnMgYXJlIG5vdyBjYXNlLWluc2Vuc2l0aXZl LCBhbmQgYWxsIHZhbGlkYXRpb24gZmFpbHVyZXMKK3JldHVybiBLUkI1S0RDX0VSUl9QT0xJQ1kg YXMgbWFuZGF0ZWQgYnkgTVMtU0ZVIDMuMi41LjEuCiAKIFNpZ25lZC1vZmYtYnk6IEp1bGllbiBS aXNjaGUgPGpyaXNjaGVAcmVkaGF0LmNvbT4KK0NvLUF1dGhvcmVkLUJ5OiBDbGF1ZGUgT3B1cyA0 LjYgKDFNIGNvbnRleHQpIDxub3JlcGx5QGFudGhyb3BpYy5jb20+CiAtLS0KLSBkYWVtb25zL2lw YS1rZGIvaXBhX2tkYi5oICAgICAgICAgICAgIHwgMSArCi0gZGFlbW9ucy9pcGEta2RiL2lwYV9r ZGJfbXNwYWNfdHJ1c3QuYyB8IDYgKysrKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCisgZGFlbW9ucy9pcGEta2RiL2lwYV9rZGIuaCAgICAgICAg ICAgICAgIHwgICAxICsKKyBkYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9tc3BhY19wcml2YXRlLmgg fCAgIDYgKworIGRhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21zcGFjX3RydXN0LmMgICB8IDI4OCAr KysrKysrKysrKysrKy0tLS0tLS0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDE3NiBpbnNlcnRpb25z KCspLCAxMTkgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9kYWVtb25zL2lwYS1rZGIvaXBh X2tkYi5oIGIvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGIuaAogaW5kZXggY2JhYzU0ZmVjYzkuLjFj NjY0N2I3ZDI1IDEwMDY0NApAQCAtMzQsMjEgKzUzLDQwOSBAQCBpbmRleCBjYmFjNTRmZWNjOS4u MWM2NjQ3YjdkMjUgMTAwNjQ0CiAgCiAgLyogVmlydHVhbCBtYW5hZ2VkIHRpY2tldCBmbGFncyBs aWtlICItYWxsb3dfdGl4IiwgYXJlIGFsd2F5cyBjb250cm9sbGVkIGJ5IHRoZQogICAqICJuc0Fj Y291bnRMb2NrIiBhdHRyaWJ1dGUsIHN1Y2ggZmxhZ3Mgc2hvdWxkIG5ldmVyIGJlIHNldCBpbiB0 aGUgZGF0YWJhc2UuCitkaWZmIC0tZ2l0IGEvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWNf cHJpdmF0ZS5oIGIvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWNfcHJpdmF0ZS5oCitpbmRl eCBjNzZmYjhlNTljYi4uY2NkY2Q2YzU5ZGQgMTAwNjQ0CistLS0gYS9kYWVtb25zL2lwYS1rZGIv aXBhX2tkYl9tc3BhY19wcml2YXRlLmgKKysrKyBiL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21z cGFjX3ByaXZhdGUuaAorQEAgLTIzLDYgKzIzLDEyIEBACisgCisgI3ByYWdtYSBvbmNlCisgCisr LyogVGhpcyBpcyB1c2VkIGFzIGEgZ2xvYmFsIG1heGltdW0gbGVuZ3RoIGZvcjoKKysgKiAgIHVz ZXJQcmluY2lwYWxOYW1lOiBubyBleHBsaWNpdCBsaW1pdAorKyAqICAgc2FtQWNjb3VudE5hbWU6 IDIwIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHJlYXNvbnMKKysgKi8KKysjZGVmaW5lIE1T UEFDX0lEX05BTUVfTUFYX0xFTkdUSCAoMjA0OCkKKysKKyBzdHJ1Y3QgaXBhZGJfbXNwYWMgewor ICAgICBjaGFyICpmbGF0X2RvbWFpbl9uYW1lOworICAgICBjaGFyICpmbGF0X3NlcnZlcl9uYW1l OwogZGlmZiAtLWdpdCBhL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21zcGFjX3RydXN0LmMgYi9k YWVtb25zL2lwYS1rZGIvaXBhX2tkYl9tc3BhY190cnVzdC5jCi1pbmRleCBhMDlkYzJkZmJkYS4u MzJkY2EwZWRiYWYgMTAwNjQ0CitpbmRleCBhMDlkYzJkZmJkYS4uOWRmZGE2NjMzN2UgMTAwNjQ0 CiAtLS0gYS9kYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9tc3BhY190cnVzdC5jCiArKysgYi9kYWVt b25zL2lwYS1rZGIvaXBhX2tkYl9tc3BhY190cnVzdC5jCi1AQCAtNDE3LDcgKzQxNyw4IEBAIGlw YWRiX2NoZWNrX3RydXN0X3ZpZXdfb3ZlcnJpZGUoa3JiNV9jb250ZXh0IGNvbnRleHQsCitAQCAt MTgsNiArMTgsNjAgQEAKKyAgKgorICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICogYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrICoK KysgKgorKyAqIFRIUkVBVCBNT0RFTAorKyAqCisrICogSWYgQWN0aXZlIERpcmVjdG9yeSBkb2Vz IG5vdCBlbmZvcmNlIHVuaXF1ZW5lc3Mgb2YgcHJpbmNpcGFsIGFsaWFzZXMKKysgKiAoVVBOKSwg YSByZWd1bGFyIEFEIHVzZXIgY291bGQgc2V0IHRoZWlyIHVzZXJQcmluY2lwYWxOYW1lIHRvCisr ICogaW1wZXJzb25hdGUgYW5vdGhlciB1c2VyIChlLmcuICJhZG1pbmlzdHJhdG9yQEFELlRFU1Qi KS4gU2luY2UgSVBBCisrICogcmVzb2x2ZXMgQUQgdXNlciBpZGVudGl0eSBmcm9tIHRoZSB0aWNr ZXQgY2xpZW50IG5hbWUsIGEgZm9yZ2VkIGFsaWFzCisrICogY291bGQgbGVhZCB0byBwcml2aWxl Z2UgZXNjYWxhdGlvbi4KKysgKgorKyAqIEhvd2V2ZXIsIG90aGVyIFBBQyBhdHRyaWJ1dGVzIChh Y2NvdW50X25hbWUgZnJvbSBQQUNfTE9HT05fSU5GTywgU0FNCisrICogbmFtZSBhbmQgU0lEIGZy b20gVVBOX0ROU19JTkZPIGV4dGVuZGVkIGZvcm1hdCkgYWx3YXlzIHJlZmxlY3QgdGhlCisrICog Y2Fub25pY2FsIEFEIGlkZW50aXR5IHJlZ2FyZGxlc3Mgb2YgYWxpYXNlcy4gQ3Jvc3MtdmFsaWRh dGluZyB0aGVzZQorKyAqIGFnYWluc3QgY2xpZW50X25hbWUgZGV0ZWN0cyB0aGUgaW5jb25zaXN0 ZW5jeS4KKysgKgorKyAqIFBBQ19DTElFTlRfSU5GTyBjbGllbnRfbmFtZQorKyAqCisrICogQmVm b3JlIHRoZSBLREIgcGx1Z2luIHJ1bnMsIE1JVCBrcmI1IHZhbGlkYXRlcyBQQUNfQ0xJRU5UX0lO Rk8KKysgKiBjbGllbnRfbmFtZSAoTVMtUEFDIDIuNykgYWdhaW5zdCB0aGUgYXBwcm9wcmlhdGUg bm9uLVBBQyBpZGVudGl0eQorKyAqIHNvdXJjZSAodGdzX3BvbGljeS5jOmNoZWNrX3Rnc19zNHUy c2VsZiwgY2hlY2tfbm9ybWFsX3Rnc19wYWMpOgorKyAqICAgLSB0aWNrZXQgY25hbWUgZm9yIHJl Z3VsYXIgVEdTCisrICogICAtIFBBLUZPUi1VU0VSIGZvciBTNFUyU2VsZgorKyAqICAgLSBQQS1T NFUtWDUwOS1VU0VSIGZvciBjZXJ0aWZpY2F0ZS1iYXNlZCBTNFUyU2VsZgorKyAqIFRoaXMgbWFr ZXMgY2xpZW50X25hbWUgdGhlIHZhbHVlIHRoYXQgSVBBIHdpbGwgdXNlIHRvIGlkZW50aWZ5IHRo ZQorKyAqIHVzZXIsIGFuZCB0aGUgdmFsdWUgd2UgbXVzdCBjcm9zcy12YWxpZGF0ZSBhZ2FpbnN0 IGNhbm9uaWNhbCBQQUMKKysgKiBhdHRyaWJ1dGVzIHRvIGRldGVjdCBhbGlhcy1iYXNlZCBpZGVu dGl0eSBmcmF1ZC4KKysgKgorKyAqIGNsaWVudF9uYW1lIGlzIGJhcmUgKCJ1c2VybmFtZSIpIGlu IHJlZ3VsYXIgdGlja2V0cywgb3IgcXVhbGlmaWVkCisrICogKCJ1c2VybmFtZUB1c2VyUmVhbG0i KSBpbiBTNFUyU2VsZiByZWZlcnJhbCBUR1RzIChNUy1TRlUgMy4yLjUuMS4xKS4KKysgKiBUaGUg bmFtZSBwYXJ0IChiZWZvcmUgJ0AnKSBpcyB1c2VkIGZvciBjcm9zcy12YWxpZGF0aW9uIGFnYWlu c3QgYmFyZQorKyAqIGF0dHJpYnV0ZXMuIFdoZW4gYm90aCBjbGllbnRfbmFtZSBhbmQgdGhlIHRl c3RlZCBhdHRyaWJ1dGUgYXJlCisrICogcXVhbGlmaWVkLCBhIGZ1bGwgY29tcGFyaXNvbiBpbmNs dWRpbmcgdGhlIHJlYWxtIGlzIHBlcmZvcm1lZC4KKysgKgorKyAqIENIRUNLUyBQRVJGT1JNRUQK KysgKgorKyAqIDEuIFBBQyBjcm9zcy12YWxpZGF0aW9uOiBhbGwgUEFDIG5hbWUgYXR0cmlidXRl cyAoYWNjb3VudF9uYW1lLCBVUE4sCisrICogICAgU0FNIG5hbWUpIG11c3QgbWF0Y2ggY2xpZW50 X25hbWUuIFVQTiBleHRlbmRlZCBTSUQgbXVzdCBtYXRjaCB0aGUKKysgKiAgICBsb2dvbiBpbmZv IFNJRC4gUEFDX1JFUVVFU1RFUl9TSUQgaXMgbm90IGNoZWNrZWQgYmVjYXVzZSBpdCBtYXkKKysg KiAgICBsZWdpdGltYXRlbHkgZGlmZmVyIGluIFM0VSBkZWxlZ2F0aW9uIHNjZW5hcmlvcyAoTVMt UEFDIDIuMTIpLgorKyAqICAgIEFEIGlzIGNhc2UtaW5zZW5zaXRpdmUsIHNvIGFsbCBzdHJpbmcg Y29tcGFyaXNvbnMgdXNlCisrICogICAgY2FzZS1pbnNlbnNpdGl2ZSBmdW5jdGlvbnMuCisrICoK KysgKiAyLiBJRCBvdmVycmlkZSB2YWxpZGF0aW9uOiBpZiBhIERlZmF1bHQgVHJ1c3QgVmlldyBv dmVycmlkZSBleGlzdHMgZm9yCisrICogICAgdGhlIFBBQyBTSUQsIGl0cyBpcGFPcmlnaW5hbFVp ZCBtdXN0IG1hdGNoIGNsaWVudF9uYW1lLgorKyAqCisrICogMy4gVVBOIHF1YWxpZmljYXRpb246 IGZvciBlbnRlcnByaXNlIHByaW5jaXBhbHMsIHRoZSBVUE4gbXVzdCBiZQorKyAqICAgIHF1YWxp ZmllZCAoY29udGFpbiAnQCcpIHVubGVzcyBjb25zdHJ1Y3RlZCAoVSBmbGFnKSwgcGVyIE1TLUtJ TEUKKysgKiAgICAzLjMuNS4yLgorKyAqCisrICogRVJST1IgSEFORExJTkcKKysgKgorKyAqIEFs bCB2YWxpZGF0aW9uIGZhaWx1cmVzIHJldHVybiBLUkI1S0RDX0VSUl9QT0xJQ1kgKEtEQ19FUlJf UE9MSUNZLAorKyAqIGVycm9yIGNvZGUgMTIpIGFzIG1hbmRhdGVkIGJ5IE1TLVNGVSAzLjIuNS4x LiBUaGUgc3RhdHVzIHN0cmluZyBpcworKyAqIGluY2x1ZGVkIGluIHRoZSBLUkItRVJST1IgZS10 ZXh0IGZpZWxkLgorICAqLworIAorICNpbmNsdWRlICJpcGFfa2RiLmgiCitAQCAtNDAsNyArOTQs NyBAQCBzdHJ1Y3QgY3Jvc3NyZWFsbV90Z3RfaW5mbyB7CisgICAgIC8qIFBBQ19MT0dPTl9JTkZP IChUeXBlIDEpIC0gbWFuZGF0b3J5CisgICAgICAqIFByZXNlbnQgc2luY2UgV2luZG93cyAyMDAw ICovCisgICAgIGJvb2wgbG9nb25faW5mb19wcmVzZW50OworLSAgICBjb25zdCBjaGFyICphY2Nv dW50X25hbWU7CisrICAgIGNvbnN0IGNoYXIgKmFjY291bnRfbmFtZTsgICAgICAvKiBzYW1BY2Nv dW50TmFtZSwgYWx3YXlzIGJhcmUgKi8KKyAgICAgc3RydWN0IGRvbV9zaWQgbG9nb25faW5mb19z aWQ7CisgICAgIGNoYXIgKmxvZ29uX2luZm9fc2lkX3N0cmluZzsKKyAKK0BAIC00OCwxNSArMTAy LDE3IEBAIHN0cnVjdCBjcm9zc3JlYWxtX3RndF9pbmZvIHsKKyAgICAgICogUHJlc2VudCBzaW5j ZSBXaW5kb3dzIDIwMDAgKi8KKyAgICAgYm9vbCBjbGllbnRfaW5mb19wcmVzZW50OworICAgICBj b25zdCBjaGFyICpjbGllbnRfbmFtZTsKKysgICAgYm9vbCBjbGllbnRfbmFtZV9pc19xdWFsaWZp ZWQ7CisrICAgIHNpemVfdCB1bnF1YWxpZmllZF9jbl9sZW47ICAgICAvKiBsZW5ndGggb2YgbmFt ZSBwYXJ0IChiZWZvcmUgJ0AnKSAqLworIAorICAgICAvKiBQQUNfVVBOX0ROU19JTkZPIChUeXBl IDEyKSAtIG9wdGlvbmFsCisgICAgICAqIFByZXNlbnQgc2luY2UgV2luZG93cyBTZXJ2ZXIgMjAw OCAqLworICAgICBib29sIHVwbl9kbnNfaW5mb19wcmVzZW50OworLSAgICBjb25zdCBjaGFyICp1 cG47CisrICAgIGNvbnN0IGNoYXIgKnVwbjsgICAgICAgICAgICAgICAvKiBhbHdheXMgcXVhbGlm aWVkICgidXNlckBSRUFMTSIpICovCisgICAgIGJvb2wgdXBuX2lzX3F1YWxpZmllZDsKKy0gICAg Ym9vbCB1cG5faXNfY29uc3RydWN0ZWQ7CistICAgIGJvb2wgdXBuX2hhc19zYW1fYW5kX3NpZDsK Ky0gICAgY29uc3QgY2hhciAqdXBuX3NhbV9uYW1lOworKyAgICBib29sIHVwbl9pc19jb25zdHJ1 Y3RlZDsgICAgICAgLyogVSBmbGFnOiBVUE4gYnVpbHQgZnJvbSBzYW1BY2NvdW50TmFtZSAqLwor KyAgICBib29sIHVwbl9oYXNfc2FtX2FuZF9zaWQ7ICAgICAgLyogUyBmbGFnOiBleHRlbmRlZCBm b3JtYXQgcHJlc2VudCAqLworKyAgICBjb25zdCBjaGFyICp1cG5fc2FtX25hbWU7ICAgICAgLyog c2FtQWNjb3VudE5hbWUgZnJvbSBleHRlbmRlZCBVUE4sIGJhcmUgKi8KKyAgICAgc3RydWN0IGRv bV9zaWQgdXBuX3NpZDsKKyAKKyAgICAgLyogUEFDX1JFUVVFU1RFUl9TSUQgKFR5cGUgMTgpIC0g b3B0aW9uYWwKK0BAIC05OSwyNSArMTU1LDI1IEBAIGlwYWRiX3ZhbGlkYXRlX3BhY19hdHRyaWJ1 dGVzKGtyYjVfY29udGV4dCBjb250ZXh0LAorICAgICAvKiBQQUNfTE9HT05fSU5GTyBpcyBtYW5k YXRvcnkgKi8KKyAgICAgaWYgKCFpbmZvLT5sb2dvbl9pbmZvX3ByZXNlbnQpIHsKKyAgICAgICAg ICpzdGF0dXMgPSAiVFJVU1RfUEFDX01JU1NJTkdfTE9HT05fSU5GTyI7CistICAgICAgICByZXR1 cm4gRU5PRU5UOworKyAgICAgICAgcmV0dXJuIEtSQjVLRENfRVJSX1BPTElDWTsKKyAgICAgfQor IAorICAgICAvKiBWZXJpZnkgYWNjb3VudF9uYW1lIHdhcyBzdWNjZXNzZnVsbHkgZXh0cmFjdGVk IGZyb20gTE9HT05fSU5GTyAqLworICAgICBpZiAoIWluZm8tPmFjY291bnRfbmFtZSkgeworICAg ICAgICAgKnN0YXR1cyA9ICJUUlVTVF9QQUNfTUlTU0lOR19BQ0NPVU5UX05BTUUiOworLSAgICAg ICAgcmV0dXJuIEVOT0VOVDsKKysgICAgICAgIHJldHVybiBLUkI1S0RDX0VSUl9QT0xJQ1k7Cisg ICAgIH0KKyAKKyAgICAgLyogUEFDX0NMSUVOVF9JTkZPIGlzIG1hbmRhdG9yeSAqLworICAgICBp ZiAoIWluZm8tPmNsaWVudF9pbmZvX3ByZXNlbnQpIHsKKyAgICAgICAgICpzdGF0dXMgPSAiVFJV U1RfUEFDX01JU1NJTkdfQ0xJRU5UX0lORk8iOworLSAgICAgICAgcmV0dXJuIEVOT0VOVDsKKysg ICAgICAgIHJldHVybiBLUkI1S0RDX0VSUl9QT0xJQ1k7CisgICAgIH0KKyAKKyAgICAgLyogVmVy aWZ5IGNsaWVudF9uYW1lIHdhcyBzdWNjZXNzZnVsbHkgZXh0cmFjdGVkIGZyb20gQ0xJRU5UX0lO Rk8gKi8KKyAgICAgaWYgKCFpbmZvLT5jbGllbnRfbmFtZSkgeworLSAgICAgICAgKnN0YXR1cyA9 ICJUUlVTVF9QQUNfTUlTU0lOR19DTElFTlRfTkFNRSI7CistICAgICAgICByZXR1cm4gRU5PRU5U OworKyAgICAgICAgKnN0YXR1cyA9ICJUUlVTVF9QQUNfQ0xJRU5UX05BTUVfTUlTU0lORyI7Cisr ICAgICAgICByZXR1cm4gS1JCNUtEQ19FUlJfUE9MSUNZOworICAgICB9CisgCisgICAgIHJldHVy biAwOworQEAgLTEzNCw3ICsxOTAsNyBAQCBpcGFkYl9leHRyYWN0X2NydGd0X2luZm8oa3JiNV9j b250ZXh0IGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjcm9zc3Jl YWxtX3RndF9pbmZvICppbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFy ICoqc3RhdHVzKQorIHsKKy0gICAga3JiNV9lcnJvcl9jb2RlIGtlcnIgPSBFSU5WQUw7CisrICAg IGtyYjVfZXJyb3JfY29kZSBrZXJyID0gS1JCNUtEQ19FUlJfUE9MSUNZOworICAgICBrcmI1X2Rh dGEgbGluZm9fYmxvYiA9IHswfSwgdXBuX2Jsb2IgPSB7MH0sIGNpbmZvX2Jsb2IgPSB7MH07Cisg ICAgIGtyYjVfZGF0YSByZXFfc2lkX2Jsb2IgPSB7MH07CisgICAgIERBVEFfQkxPQiBsaW5mb19k YXRhLCB1cG5fZGF0YSwgY2luZm9fZGF0YSwgcmVxX3NpZF9kYXRhOworQEAgLTE3MCwyMiArMjI2 LDIyIEBAIGlwYWRiX2V4dHJhY3RfY3J0Z3RfaW5mbyhrcmI1X2NvbnRleHQgY29udGV4dCwKKyAK KyAgICAgICAgIGlmICghTkRSX0VSUl9DT0RFX0lTX1NVQ0NFU1MobmRyX2VycikpIHsKKyAgICAg ICAgICAgICAqc3RhdHVzID0gIlRSVVNUX1BBQ19DQU5OT1RfUEFSU0VfTE9HT05fSU5GTyI7Cist ICAgICAgICAgICAga2VyciA9IEVJTlZBTDsKKysgICAgICAgICAgICBrZXJyID0gS1JCNUtEQ19F UlJfUE9MSUNZOworICAgICAgICAgICAgIGdvdG8gZW5kOworICAgICAgICAgfQorIAorICAgICAg ICAgLyogQ2hlY2sgaWYgbG9nb25faW5mbyBzdHJ1Y3R1cmUgaXMgdmFsaWQgKi8KKyAgICAgICAg IGlmICghbG9nb25faW5mby5pbmZvKSB7CisgICAgICAgICAgICAgKnN0YXR1cyA9ICJUUlVTVF9Q QUNfTE9HT05fSU5GT19VTkRFRklORUQiOworLSAgICAgICAgICAgIGtlcnIgPSBFSU5WQUw7Cisr ICAgICAgICAgICAga2VyciA9IEtSQjVLRENfRVJSX1BPTElDWTsKKyAgICAgICAgICAgICBnb3Rv IGVuZDsKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIC8qIFN0b3JlIHBvaW50ZXIgdG8gYWNjb3Vu dCBuYW1lICovCisgICAgICAgICBpbmZvLT5hY2NvdW50X25hbWUgPSBsb2dvbl9pbmZvLmluZm8t PmluZm8zLmJhc2UuYWNjb3VudF9uYW1lLnN0cmluZzsKKyAgICAgICAgIGlmICghaW5mby0+YWNj b3VudF9uYW1lKSB7CistICAgICAgICAgICAgKnN0YXR1cyA9ICJUUlVTVF9QQUNfQUNDT1VOVF9O QU1FX1VOREVGSU5FRCI7CistICAgICAgICAgICAga2VyciA9IEVJTlZBTDsKKysgICAgICAgICAg ICAqc3RhdHVzID0gIlRSVVNUX1BBQ19BQ0NPVU5UX05BTUVfTUlTU0lORyI7CisrICAgICAgICAg ICAga2VyciA9IEtSQjVLRENfRVJSX1BPTElDWTsKKyAgICAgICAgICAgICBnb3RvIGVuZDsKKyAg ICAgICAgIH0KKyAKK0BAIC0yMjUsOCArMjgxLDE4IEBAIGlwYWRiX2V4dHJhY3RfY3J0Z3RfaW5m byhrcmI1X2NvbnRleHQgY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChuZHJfcHVsbF9mbGFnc19mbl90KW5kcl9wdWxsX1BBQ19JTkZPKTsKKyAgICAgICAg IGtyYjVfZnJlZV9kYXRhX2NvbnRlbnRzKGNvbnRleHQsICZjaW5mb19ibG9iKTsKKyAKKy0gICAg ICAgIGlmIChORFJfRVJSX0NPREVfSVNfU1VDQ0VTUyhuZHJfZXJyKSkKKysgICAgICAgIGlmIChO RFJfRVJSX0NPREVfSVNfU1VDQ0VTUyhuZHJfZXJyKSkgeworKyAgICAgICAgICAgIGNvbnN0IGNo YXIgKmF0X3NpZ247CisrCisgICAgICAgICAgICAgaW5mby0+Y2xpZW50X25hbWUgPSBjbGllbnRf aW5mby5sb2dvbl9uYW1lLmFjY291bnRfbmFtZTsKKysgICAgICAgICAgICBpZiAoaW5mby0+Y2xp ZW50X25hbWUpIHsKKysgICAgICAgICAgICAgICAgYXRfc2lnbiA9IHN0cmNocihpbmZvLT5jbGll bnRfbmFtZSwgJ0AnKTsKKysgICAgICAgICAgICAgICAgaW5mby0+Y2xpZW50X25hbWVfaXNfcXVh bGlmaWVkID0gKGF0X3NpZ24gIT0gTlVMTCk7CisrICAgICAgICAgICAgICAgIGluZm8tPnVucXVh bGlmaWVkX2NuX2xlbiA9IGF0X3NpZ24gPworKyAgICAgICAgICAgICAgICAgICAgKHNpemVfdCko YXRfc2lnbiAtIGluZm8tPmNsaWVudF9uYW1lKSA6CisrICAgICAgICAgICAgICAgICAgICBzdHJs ZW4oaW5mby0+Y2xpZW50X25hbWUpOworKyAgICAgICAgICAgIH0KKysgICAgICAgIH0KKyAgICAg fQorIAorICAgICAvKiBFeHRyYWN0IFR5cGUgMTIgLSBQUklNQVJZIFVQTiBTT1VSQ0UKK0BAIC0y NDgsMTQgKzMxNCwxOCBAQCBpcGFkYl9leHRyYWN0X2NydGd0X2luZm8oa3JiNV9jb250ZXh0IGNv bnRleHQsCisgCisgICAgICAgICBpZiAoIU5EUl9FUlJfQ09ERV9JU19TVUNDRVNTKG5kcl9lcnIp KSB7CisgICAgICAgICAgICAgKnN0YXR1cyA9ICJUUlVTVF9QQUNfQ0FOTk9UX1BBUlNFX1VQTl9E TlNfSU5GTyI7CistICAgICAgICAgICAga2VyciA9IEVJTlZBTDsKKysgICAgICAgICAgICBrZXJy ID0gS1JCNUtEQ19FUlJfUE9MSUNZOworICAgICAgICAgICAgIGdvdG8gZW5kOworICAgICAgICAg fQorIAorICAgICAgICAgLyogU3RvcmUgcG9pbnRlciB0byBVUE4gc3RyaW5nICovCisgICAgICAg ICBpbmZvLT51cG4gPSB1cG5faW5mby51cG5fZG5zX2luZm8udXBuX25hbWU7CistICAgICAgICBp ZiAoaW5mby0+dXBuKQorLSAgICAgICAgICAgIGluZm8tPnVwbl9pc19xdWFsaWZpZWQgPSAoTlVM TCAhPSBzdHJjaHIoaW5mby0+dXBuLCAnQCcpKTsKKysgICAgICAgIGlmICghaW5mby0+dXBuKSB7 CisrICAgICAgICAgICAgKnN0YXR1cyA9ICJUUlVTVF9QQUNfVVBOX01JU1NJTkciOworKyAgICAg ICAgICAgIGtlcnIgPSBLUkI1S0RDX0VSUl9QT0xJQ1k7CisrICAgICAgICAgICAgZ290byBlbmQ7 CisrICAgICAgICB9CisrICAgICAgICBpbmZvLT51cG5faXNfcXVhbGlmaWVkID0gKE5VTEwgIT0g c3RyY2hyKGluZm8tPnVwbiwgJ0AnKSk7CisgCisgICAgICAgICAvKiBFeHRyYWN0IFUgZmxhZyAt IGluZGljYXRlcyBjb25zdHJ1Y3RlZCBVUE4gKi8KKyAgICAgICAgIGluZm8tPnVwbl9pc19jb25z dHJ1Y3RlZCA9CitAQCAtMzA5LDExOSArMzc5LDEwMCBAQCBpcGFkYl9leHRyYWN0X2NydGd0X2lu Zm8oa3JiNV9jb250ZXh0IGNvbnRleHQsCisgICAgIHJldHVybiBrZXJyOworIH0KKyAKKy0vKiBD cm9zcy12YWxpZGF0ZSBQQUMgYXR0cmlidXRlcyBmb3IgY29uc2lzdGVuY3kKKy0gKiBBbGwgYXZh aWxhYmxlIGF0dHJpYnV0ZXMgbXVzdCBtYXRjaCBhY3Jvc3MgZGlmZmVyZW50IFBBQyBidWZmZXJz LgorLSAqIExPR09OX0lORk8gYW5kIENMSUVOVF9JTkZPIG11c3QgYmUgcHJlc2VudCAoYXNzZXJ0 ZWQpLgorLSAqLworKy8qIENvbXBhcmUgYSBQQUMgbmFtZSBhdHRyaWJ1dGUgYWdhaW5zdCBjbGll bnRfbmFtZSAoY2FzZS1pbnNlbnNpdGl2ZSkuCisrICogSWYgYm90aCBhcmUgcXVhbGlmaWVkLCBj b21wYXJlIGZ1bGx5LiBPdGhlcndpc2UgY29tcGFyZSBuYW1lIHBhcnRzIG9ubHksCisrICogZXhw ZWN0aW5nICdAJyAocXVhbGlmaWVkKSBvciAnXDAnIChiYXJlKSBhZnRlciB0aGUgbWF0Y2hlZCBw cmVmaXguCisrICogUmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lcyBkaWZmZXIuICovCisrc3RhdGlj IGJvb2wKKytjbGllbnRfbmFtZV9kaWZmZXJzKGNvbnN0IHN0cnVjdCBjcm9zc3JlYWxtX3RndF9p bmZvICppbmZvLAorKyAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqdGVzdGVkLCBib29s IHF1YWxpZmllZCkKKyt7CisrICAgIHJldHVybiAocXVhbGlmaWVkICYmIGluZm8tPmNsaWVudF9u YW1lX2lzX3F1YWxpZmllZCkKKysgICAgICAgID8gKDAgIT0gc3RyY2FzZWNtcChpbmZvLT5jbGll bnRfbmFtZSwgdGVzdGVkKSkKKysgICAgICAgIDogKDAgIT0gc3RybmNhc2VjbXAoaW5mby0+Y2xp ZW50X25hbWUsIHRlc3RlZCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby0+dW5x dWFsaWZpZWRfY25fbGVuKQorKyAgICAgICAgICAgfHwgdGVzdGVkW2luZm8tPnVucXVhbGlmaWVk X2NuX2xlbl0gIT0gKHF1YWxpZmllZCA/ICdAJyA6ICdcMCcpKTsKKyt9CisrCisrLyogQ3Jvc3Mt dmFsaWRhdGUgUEFDIG5hbWUgYXR0cmlidXRlcyBhbmQgU0lEcyBhZ2FpbnN0IGNsaWVudF9uYW1l LgorKyAqIFNlZSBmaWxlIGhlYWRlciBmb3IgZGVzaWduIHJhdGlvbmFsZS4gKi8KKyBzdGF0aWMg a3JiNV9lcnJvcl9jb2RlCisgaXBhZGJfY3Jvc3NfdmFsaWRhdGVfcGFjX2F0dHJpYnV0ZXMoa3Ji NV9jb250ZXh0IGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3Qgc3RydWN0IGNyb3NzcmVhbG1fdGd0X2luZm8gKmluZm8sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqKnN0YXR1cykKKyB7CistICAgIGtyYjVf ZXJyb3JfY29kZSBrZXJyID0gRUlOVkFMOworLSAgICBjb25zdCBjaGFyICphdF9zaWduID0gTlVM TDsKKy0gICAgY2hhciAqdGlja2V0X2NuYW1lID0gTlVMTDsKKy0gICAgc2l6ZV90IG5hbWVfbGVu OworKyAgICBrcmI1X2Vycm9yX2NvZGUga2VyciA9IEtSQjVLRENfRVJSX1BPTElDWTsKKyAKKyAg ICAgLyogTWFuZGF0b3J5IFBBQyBhdHRyaWJ1dGVzIG11c3QgaGF2ZSBiZWVuIHZhbGlkYXRlZCBh bHJlYWR5ICovCisgICAgIGFzc2VydChpbmZvLT5sb2dvbl9pbmZvX3ByZXNlbnQpOworICAgICBh c3NlcnQoaW5mby0+Y2xpZW50X2luZm9fcHJlc2VudCk7CisgCistICAgIC8qIFZhbGlkYXRlIFVQ TiBtYXRjaGVzIHRpY2tldCBjbmFtZSAoZm9yIGVudGVycHJpc2UgcHJpbmNpcGFscykgKi8KKy0g ICAgaWYgKGluZm8tPmlzX2VudGVycHJpc2VfcHJpbmMgJiYgaW5mby0+dXBuX2Ruc19pbmZvX3By ZXNlbnQpIHsKKy0gICAgICAgIC8qIFVucGFyc2UgY2xpZW50IHByaW5jaXBhbCBuYW1lICh3aXRo b3V0IHJlYWxtKSAqLworLSAgICAgICAga2VyciA9IGtyYjVfdW5wYXJzZV9uYW1lX2ZsYWdzKGNv bnRleHQsIGluZm8tPmNsaWVudF9wcmluYywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBLUkI1X1BSSU5DSVBBTF9VTlBBUlNFX05PX1JFQUxNLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0aWNrZXRfY25hbWUpOworLSAgICAgICAgaWYg KGtlcnIpIHsKKy0gICAgICAgICAgICAqc3RhdHVzID0gIlRSVVNUX0NBTk5PVF9VTlBBUlNFX0NO QU1FIjsKKy0gICAgICAgICAgICBnb3RvIGVuZDsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIC8q IEZpbmQgdGhlIEAgc2lnbiBpbiBVUE4gKi8KKy0gICAgICAgIGF0X3NpZ24gPSBzdHJjaHIoaW5m by0+dXBuLCAnQCcpOworLSAgICAgICAgaWYgKGF0X3NpZ24pIHsKKy0gICAgICAgICAgICBuYW1l X2xlbiA9IGF0X3NpZ24gLSBpbmZvLT51cG47CistCistICAgICAgICAgICAgLyogQ29tcGFyZSBV UE4gbmFtZSBwYXJ0IHdpdGggdGlja2V0IGNuYW1lICovCistICAgICAgICAgICAgaWYgKDAgIT0g c3RybmNtcChpbmZvLT51cG4sIHRpY2tldF9jbmFtZSwgbmFtZV9sZW4pIHx8CistICAgICAgICAg ICAgICAgIHRpY2tldF9jbmFtZVtuYW1lX2xlbl0gIT0gJ1wwJykgeworLSAgICAgICAgICAgICAg ICAqc3RhdHVzID0gIlRSVVNUX1BBQ19VUE5fQ05BTUVfTUlTTUFUQ0giOworLSAgICAgICAgICAg ICAgICBrZXJyID0gRUlOVkFMOworLSAgICAgICAgICAgICAgICBnb3RvIGVuZDsKKy0gICAgICAg ICAgICB9CistICAgICAgICB9CistCistICAgICAgICBrcmI1X2ZyZWVfdW5wYXJzZWRfbmFtZShj b250ZXh0LCB0aWNrZXRfY25hbWUpOworLSAgICAgICAgdGlja2V0X2NuYW1lID0gTlVMTDsKKysg ICAgLyogYWNjb3VudF9uYW1lIChiYXJlKSB2cyBjbGllbnRfbmFtZSAqLworKyAgICBpZiAoY2xp ZW50X25hbWVfZGlmZmVycyhpbmZvLCBpbmZvLT5hY2NvdW50X25hbWUsIGZhbHNlKSkgeworKyAg ICAgICAgKnN0YXR1cyA9ICJUUlVTVF9QQUNfQUNDT1VOVF9OQU1FX01JU01BVENIIjsKKysgICAg ICAgIGtlcnIgPSBLUkI1S0RDX0VSUl9QT0xJQ1k7CisrICAgICAgICBnb3RvIGVuZDsKKyAgICAg fQorIAorLSAgICAvKiBDcm9zcy12YWxpZGF0ZSBhY2NvdW50IG5hbWVzIGlmIGV4dGVuZGVkIFVQ TiBmb3JtYXQgaXMgYXZhaWxhYmxlICovCistICAgIGlmIChpbmZvLT51cG5faGFzX3NhbV9hbmRf c2lkKSB7CistICAgICAgICBpZiAoIWluZm8tPmFjY291bnRfbmFtZSB8fCAhaW5mby0+dXBuX3Nh bV9uYW1lIHx8CistICAgICAgICAgICAgMCAhPSBzdHJjbXAoaW5mby0+YWNjb3VudF9uYW1lLCBp bmZvLT51cG5fc2FtX25hbWUpKSB7CistICAgICAgICAgICAgKnN0YXR1cyA9ICJUUlVTVF9QQUNf QUNDT1VOVF9OQU1FX01JU01BVENIIjsKKy0gICAgICAgICAgICBrZXJyID0gRUlOVkFMOworKyAg ICAvKiBVUE4gKHF1YWxpZmllZCkgdnMgY2xpZW50X25hbWUsIGVudGVycHJpc2UgcHJpbmNpcGFs cyBvbmx5LgorKyAgICAgKiBGb3IgZW50ZXJwcmlzZSBwcmluY2lwYWxzLCB0aGUgQUQgS0RDIGxv b2tzIHVwIHRoZSB1c2VyIGJ5IFVQTgorKyAgICAgKiAoTVMtS0lMRSAzLjMuNS42LjEpLCBzbyBh IGZvcmdlZCBVUE4gYWxpYXMgY291bGQgcHJvZHVjZSBhCisrICAgICAqIGNsaWVudF9uYW1lIHRo YXQgZGlmZmVycyBmcm9tIGFjY291bnRfbmFtZS4gRm9yIHJlZ3VsYXIgcHJpbmNpcGFscworKyAg ICAgKiB0aGUgbG9va3VwIGlzIGJ5IHNhbUFjY291bnROYW1lLCBhbmQgdGhlIFVQTiBtYXkgbGVn aXRpbWF0ZWx5CisrICAgICAqIGRpZmZlciwgc28gdGhpcyBjaGVjayB3b3VsZCBjYXVzZSBmYWxz ZSBwb3NpdGl2ZXMuICovCisrICAgIGlmIChpbmZvLT5pc19lbnRlcnByaXNlX3ByaW5jICYmIGlu Zm8tPnVwbl9kbnNfaW5mb19wcmVzZW50KSB7CisrICAgICAgICBpZiAoY2xpZW50X25hbWVfZGlm ZmVycyhpbmZvLCBpbmZvLT51cG4sIHRydWUpKSB7CisrICAgICAgICAgICAgKnN0YXR1cyA9ICJU UlVTVF9QQUNfVVBOX01JU01BVENIIjsKKysgICAgICAgICAgICBrZXJyID0gS1JCNUtEQ19FUlJf UE9MSUNZOworICAgICAgICAgICAgIGdvdG8gZW5kOworICAgICAgICAgfQorICAgICB9CisgCist ICAgIC8qIENyb3NzLXZhbGlkYXRlIGNsaWVudCBuYW1lIG1hdGNoZXMgYWNjb3VudCBuYW1lICov CistICAgIGlmIChpbmZvLT5jbGllbnRfaW5mb19wcmVzZW50KSB7CistICAgICAgICBpZiAoIWlu Zm8tPmNsaWVudF9uYW1lIHx8ICFpbmZvLT5hY2NvdW50X25hbWUgfHwKKy0gICAgICAgICAgICAw ICE9IHN0cmNtcChpbmZvLT5jbGllbnRfbmFtZSwgaW5mby0+YWNjb3VudF9uYW1lKSkgeworLSAg ICAgICAgICAgICpzdGF0dXMgPSAiVFJVU1RfUEFDX0NMSUVOVF9OQU1FX01JU01BVENIIjsKKy0g ICAgICAgICAgICBrZXJyID0gRUlOVkFMOworKyAgICAvKiBVUE4gU0FNIG5hbWUgKGJhcmUpIHZz IGNsaWVudF9uYW1lICovCisrICAgIGlmIChpbmZvLT51cG5faGFzX3NhbV9hbmRfc2lkKSB7Cisr ICAgICAgICBpZiAoIWluZm8tPnVwbl9zYW1fbmFtZSB8fAorKyAgICAgICAgICAgIGNsaWVudF9u YW1lX2RpZmZlcnMoaW5mbywgaW5mby0+dXBuX3NhbV9uYW1lLCBmYWxzZSkpIHsKKysgICAgICAg ICAgICAqc3RhdHVzID0gIlRSVVNUX1BBQ19VUE5fU0FNX05BTUVfTUlTTUFUQ0giOworKyAgICAg ICAgICAgIGtlcnIgPSBLUkI1S0RDX0VSUl9QT0xJQ1k7CisgICAgICAgICAgICAgZ290byBlbmQ7 CisgICAgICAgICB9CisgICAgIH0KKyAKKy0gICAgLyogQ3Jvc3MtdmFsaWRhdGUgU0lEcyBpZiBl eHRlbmRlZCBVUE4gZm9ybWF0IGlzIGF2YWlsYWJsZSAqLworKyAgICAvKiBVUE4gU0lEIHZzIGxv Z29uIGluZm8gU0lEICovCisgICAgIGlmIChpbmZvLT51cG5faGFzX3NhbV9hbmRfc2lkKSB7Cisg ICAgICAgICBpZiAoIWRvbV9zaWRfY2hlY2soJmluZm8tPmxvZ29uX2luZm9fc2lkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZpbmZvLT51cG5fc2lkLCB0cnVlKSkgeworICAgICAgICAg ICAgICpzdGF0dXMgPSAiVFJVU1RfUEFDX1VQTl9TSURfTUlTTUFUQ0giOworLSAgICAgICAgICAg IGtlcnIgPSBFSU5WQUw7CisrICAgICAgICAgICAga2VyciA9IEtSQjVLRENfRVJSX1BPTElDWTsK KyAgICAgICAgICAgICBnb3RvIGVuZDsKKyAgICAgICAgIH0KKyAgICAgfQorIAorLSAgICAvKiBD cm9zcy12YWxpZGF0ZSBTSUQgZnJvbSBSRVFVRVNURVJfU0lEIGJ1ZmZlciBpZiBwcmVzZW50ICov CistICAgIGlmIChpbmZvLT5yZXF1ZXN0ZXJfc2lkX3ByZXNlbnQpIHsKKy0gICAgICAgIGlmICgh ZG9tX3NpZF9jaGVjaygmaW5mby0+bG9nb25faW5mb19zaWQsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmluZm8tPnJlcXVlc3Rlcl9zaWQsIHRydWUpKSB7CistICAgICAgICAgICAgKnN0 YXR1cyA9ICJUUlVTVF9QQUNfUkVRVUVTVEVSX1NJRF9NSVNNQVRDSCI7CistICAgICAgICAgICAg a2VyciA9IEVJTlZBTDsKKy0gICAgICAgICAgICBnb3RvIGVuZDsKKy0gICAgICAgIH0KKy0gICAg fQorKyAgICAvKiBQQUNfUkVRVUVTVEVSX1NJRCBpcyBub3QgY2hlY2tlZCBhZ2FpbnN0IGxvZ29u X2luZm9fc2lkIGJlY2F1c2UKKysgICAgICogaW4gUzRVIGRlbGVnYXRpb24gc2NlbmFyaW9zLCB0 aGUgcmVxdWVzdGVyIFNJRCBpcyB0aGUgc2VydmljZSdzCisrICAgICAqIFNJRCwgbm90IHRoZSBp bXBlcnNvbmF0ZWQgdXNlcidzIChNUy1QQUMgMi4xMikuICovCisgCisgICAgIGtlcnIgPSAwOwor IAorIGVuZDoKKy0gICAgaWYgKHRpY2tldF9jbmFtZSkKKy0gICAgICAgIGtyYjVfZnJlZV91bnBh cnNlZF9uYW1lKGNvbnRleHQsIHRpY2tldF9jbmFtZSk7CistCisgICAgIHJldHVybiBrZXJyOwor IH0KKyAKKy0vKiBDaGVjayBEZWZhdWx0IFRydXN0IFZpZXcgb3ZlcnJpZGUgdXNlcm5hbWUgY29u c2lzdGVuY3kKKy0gKiBJZiBhIHVzZXIgb3ZlcnJpZGUgZXhpc3RzIGZvciB0aGlzIFNJRCBpbiB0 aGUgRGVmYXVsdCBUcnVzdCBWaWV3LAorLSAqIHZlcmlmeSB0aGF0IHRoZSBvdmVycmlkZSB1c2Vy bmFtZSBtYXRjaGVzIHRoZSB0aWNrZXQgY25hbWUuCistICogTE9HT05fSU5GTyBhbmQgQ0xJRU5U X0lORk8gbXVzdCBiZSBwcmVzZW50IChhc3NlcnRlZCkuCistICovCisrLyogSWYgYSBEZWZhdWx0 IFRydXN0IFZpZXcgb3ZlcnJpZGUgZXhpc3RzIGZvciB0aGlzIFNJRCwgdmVyaWZ5IHRoYXQKKysg KiBpcGFPcmlnaW5hbFVpZCAoYWx3YXlzIHF1YWxpZmllZCkgbWF0Y2hlcyBjbGllbnRfbmFtZS4g Ki8KKyBzdGF0aWMga3JiNV9lcnJvcl9jb2RlCisgaXBhZGJfY2hlY2tfdHJ1c3Rfdmlld19vdmVy cmlkZShrcmI1X2NvbnRleHQgY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgY3Jvc3NyZWFsbV90Z3RfaW5mbyAqaW5mbywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoqc3RhdHVzKQogIHsKICAgICAgc3Ry dWN0IGlwYWRiX2NvbnRleHQgKmlwYWN0eCA9IE5VTEw7Ci0gICAgIGtyYjVfZXJyb3JfY29kZSBr ZXJyID0gRUlOVkFMOworLSAgICBrcmI1X2Vycm9yX2NvZGUga2VyciA9IEVJTlZBTDsKIC0gICAg Y2hhciAqYmFzZWRuID0gTlVMTCwgKmZpbHRlciA9IE5VTEwsICphdHRyc1tdID0geyJ1aWQiLCBO VUxMfTsKKysgICAga3JiNV9lcnJvcl9jb2RlIGtlcnIgPSBLUkI1S0RDX0VSUl9QT0xJQ1k7CiAr ICAgIGNoYXIgKmJhc2VkbiA9IE5VTEwsICpmaWx0ZXIgPSBOVUxMOwogKyAgICBjaGFyICphdHRy c1tdID0ge0lQQV9PUklHSU5BTF9VSURfQVRUUiwgTlVMTH07CiAgICAgIExEQVBNZXNzYWdlICpy ZXMgPSBOVUxMLCAqZW50cnkgPSBOVUxMOwogICAgICBzdHJ1Y3QgYmVydmFsICoqdWlkX3ZhbHVl cyA9IE5VTEw7Ci0gICAgIGNoYXIgKnRpY2tldF9jbmFtZSA9IE5VTEw7Ci1AQCAtNDc4LDcgKzQ3 OSw4IEBAIGlwYWRiX2NoZWNrX3RydXN0X3ZpZXdfb3ZlcnJpZGUoa3JiNV9jb250ZXh0IGNvbnRl eHQsCistICAgIGNoYXIgKnRpY2tldF9jbmFtZSA9IE5VTEw7CisgICAgIGludCBjb3VudDsKKysg ICAgYm9vbCBtaXNtYXRjaDsKKyAKKyAgICAgLyogTWFuZGF0b3J5IFBBQyBhdHRyaWJ1dGVzIG11 c3QgaGF2ZSBiZWVuIHZhbGlkYXRlZCBhbHJlYWR5ICovCisgICAgIGFzc2VydChpbmZvLT5sb2dv bl9pbmZvX3ByZXNlbnQpOworQEAgLTQ3MCwzNSArNTIxLDQ1IEBAIGlwYWRiX2NoZWNrX3RydXN0 X3ZpZXdfb3ZlcnJpZGUoa3JiNV9jb250ZXh0IGNvbnRleHQsCisgICAgICAgICBnb3RvIGVuZDsK KyAgICAgfQorIAorLSAgICAvKiBPdmVycmlkZSBleGlzdHMgLSB2ZXJpZnkgdGhlIHVzZXJuYW1l IG1hdGNoZXMgdGhlIHRpY2tldCBjbmFtZSAqLworKyAgICAvKiBPdmVycmlkZSBleGlzdHMgLSB2 ZXJpZnkgdGhlIHVzZXJuYW1lIG1hdGNoZXMgY2xpZW50X25hbWUgKi8KKyAgICAgZW50cnkgPSBs ZGFwX2ZpcnN0X2VudHJ5KGlwYWN0eC0+bGNvbnRleHQsIHJlcyk7CisgICAgIGlmICghZW50cnkp IHsKKyAgICAgICAgICpzdGF0dXMgPSAiVFJVU1RfQ0FOTk9UX1JFQURfT1ZFUlJJREVfRU5UUlki OworLSAgICAgICAga2VyciA9IEVJTlZBTDsKKysgICAgICAgIGtlcnIgPSBLUkI1S0RDX0VSUl9Q T0xJQ1k7CiAgICAgICAgICBnb3RvIGVuZDsKICAgICAgfQogIApAQCAtNTcsNCArNDY0LDkzIEBA IGluZGV4IGEwOWRjMmRmYmRhLi4zMmRjYTBlZGJhZiAxMDA2NDQKICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSVBBX09SSUdJTkFMX1VJRF9BVFRSKTsKICAgICAgaWYgKCF1 aWRfdmFsdWVzIHx8ICF1aWRfdmFsdWVzWzBdKSB7CiAgICAgICAgICAqc3RhdHVzID0gIlRSVVNU X09WRVJSSURFX1VJRF9VTkRFRklORUQiOwotICAgICAgICAga2VyciA9IEVJTlZBTDsKKy0gICAg ICAgIGtlcnIgPSBFSU5WQUw7CisrICAgICAgICBrZXJyID0gS1JCNUtEQ19FUlJfUE9MSUNZOwor ICAgICAgICAgZ290byBlbmQ7CisgICAgIH0KKyAKKy0gICAgLyogVW5wYXJzZSBjbGllbnQgcHJp bmNpcGFsIG5hbWUgKHdpdGhvdXQgcmVhbG0pICovCistICAgIGtlcnIgPSBrcmI1X3VucGFyc2Vf bmFtZV9mbGFncyhjb250ZXh0LCBpbmZvLT5jbGllbnRfcHJpbmMsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBLUkI1X1BSSU5DSVBBTF9VTlBBUlNFX05PX1JFQUxNLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRpY2tldF9jbmFtZSk7CistICAgIGlm IChrZXJyKSB7CistICAgICAgICAqc3RhdHVzID0gIlRSVVNUX0NBTk5PVF9VTlBBUlNFX0NOQU1F IjsKKy0gICAgICAgIGdvdG8gZW5kOworKyAgICAvKiBDb21wYXJlIGlwYU9yaWdpbmFsVWlkIChh bHdheXMgcXVhbGlmaWVkKSBhZ2FpbnN0IGNsaWVudF9uYW1lLgorKyAgICAgKiBXaGVuIGNsaWVu dF9uYW1lIGlzIHF1YWxpZmllZCwgY29tcGFyZSBmdWxsIHZhbHVlIGluY2x1ZGluZyByZWFsbS4K KysgICAgICogV2hlbiBiYXJlLCBjb21wYXJlIG5hbWUgcGFydCBvbmx5IGFuZCB2ZXJpZnkgaXBh T3JpZ2luYWxVaWQKKysgICAgICogY29udGludWVzIHdpdGggJ0AnIGF0IHRoYXQgcG9zaXRpb24u ICovCisrICAgIGlmIChpbmZvLT5jbGllbnRfbmFtZV9pc19xdWFsaWZpZWQpIHsKKysgICAgICAg IC8qIEZ1bGwgY29tcGFyaXNvbjogY2xpZW50X25hbWUgbGVuZ3RoIG11c3QgbWF0Y2ggYnZfbGVu ICovCisrICAgICAgICBtaXNtYXRjaCA9IChzdHJsZW4oaW5mby0+Y2xpZW50X25hbWUpICE9IHVp ZF92YWx1ZXNbMF0tPmJ2X2xlbiB8fAorKyAgICAgICAgICAgICAgICAgICAgMCAhPSBzdHJuY2Fz ZWNtcChpbmZvLT5jbGllbnRfbmFtZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWlkX3ZhbHVlc1swXS0+YnZfdmFsLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aWRfdmFsdWVzWzBdLT5idl9sZW4pKTsKKysgICAgfSBlbHNlIHsKKysgICAg ICAgIC8qIE5hbWUgcGFydCBvbmx5OiB1bnF1YWxpZmllZF9jbl9sZW4gbXVzdCBiZSBsZXNzIHRo YW4gYnZfbGVuLAorKyAgICAgICAgICogdGhlIG5hbWUgcGFydCBtdXN0IG1hdGNoLCBhbmQgYnZf dmFsIG11c3QgaGF2ZSAnQCcgYXQgdGhhdAorKyAgICAgICAgICogcG9zaXRpb24gKi8KKysgICAg ICAgIG1pc21hdGNoID0gKGluZm8tPnVucXVhbGlmaWVkX2NuX2xlbiA+PSB1aWRfdmFsdWVzWzBd LT5idl9sZW4gfHwKKysgICAgICAgICAgICAgICAgICAgIDAgIT0gc3RybmNhc2VjbXAoaW5mby0+ Y2xpZW50X25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpZF92 YWx1ZXNbMF0tPmJ2X3ZhbCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW5mby0+dW5xdWFsaWZpZWRfY25fbGVuKSB8fAorKyAgICAgICAgICAgICAgICAgICAgdWlkX3Zh bHVlc1swXS0+YnZfdmFsW2luZm8tPnVucXVhbGlmaWVkX2NuX2xlbl0gIT0gJ0AnKTsKKyAgICAg fQorIAorLSAgICAvKiBDb21wYXJlIG92ZXJyaWRlIHVzZXJuYW1lIHdpdGggdGlja2V0IGNuYW1l ICovCistICAgIGlmICgwICE9IHN0cm5jbXAodWlkX3ZhbHVlc1swXS0+YnZfdmFsLCB0aWNrZXRf Y25hbWUsCistICAgICAgICAgICAgICAgICAgICAgdWlkX3ZhbHVlc1swXS0+YnZfbGVuKSB8fAor LSAgICAgICAgJ1wwJyAhPSB0aWNrZXRfY25hbWVbdWlkX3ZhbHVlc1swXS0+YnZfbGVuXSkgewor LSAgICAgICAgKnN0YXR1cyA9ICJUUlVTVF9PVkVSUklERV9VSURfQ05BTUVfTUlTTUFUQ0giOwor KyAgICBpZiAobWlzbWF0Y2gpIHsKKysgICAgICAgICpzdGF0dXMgPSAiVFJVU1RfT1ZFUlJJREVf VUlEX01JU01BVENIIjsKKyAgICAgICAgIGtlcnIgPSBLUkI1S0RDX0VSUl9QT0xJQ1k7CisgICAg ICAgICBnb3RvIGVuZDsKKyAgICAgfQorQEAgLTUwOCw4ICs1NjksNiBAQCBpcGFkYl9jaGVja190 cnVzdF92aWV3X292ZXJyaWRlKGtyYjVfY29udGV4dCBjb250ZXh0LAorIGVuZDoKKyAgICAgaWYg KHVpZF92YWx1ZXMpCisgICAgICAgICBsZGFwX3ZhbHVlX2ZyZWVfbGVuKHVpZF92YWx1ZXMpOwor LSAgICBpZiAodGlja2V0X2NuYW1lKQorLSAgICAgICAga3JiNV9mcmVlX3VucGFyc2VkX25hbWUo Y29udGV4dCwgdGlja2V0X2NuYW1lKTsKKyAgICAgaWYgKHJlcykKKyAgICAgICAgIGxkYXBfbXNn ZnJlZShyZXMpOworICAgICBpZiAoZmlsdGVyKQorQEAgLTUyMCwxMCArNTc5LDggQEAgaXBhZGJf Y2hlY2tfdHJ1c3Rfdmlld19vdmVycmlkZShrcmI1X2NvbnRleHQgY29udGV4dCwKKyAgICAgcmV0 dXJuIGtlcnI7CisgfQorIAorLS8qIENoZWNrIHRoYXQgZW50ZXJwcmlzZSBwcmluY2lwYWwgaGFz IHF1YWxpZmllZCBVUE4gaW4gUEFDCistICogVVBOIE1VU1QgYmUgcXVhbGlmaWVkIGlmIGl0IGlz IE5PVCBjb25zdHJ1Y3RlZCAoVSBmbGFnIG5vdCBzZXQpLgorLSAqIExPR09OX0lORk8gYW5kIENM SUVOVF9JTkZPIG11c3QgYmUgcHJlc2VudCAoYXNzZXJ0ZWQpLgorLSAqLworKy8qIEZvciBlbnRl cnByaXNlIHByaW5jaXBhbHMsIFVQTiBtdXN0IGJlIHF1YWxpZmllZCB1bmxlc3MgY29uc3RydWN0 ZWQKKysgKiAoVSBmbGFnIHNldCksIHBlciBNUy1LSUxFIDMuMy41LjIuICovCisgc3RhdGljIGty YjVfZXJyb3JfY29kZQorIGlwYWRiX2NoZWNrX3Vwbl9xdWFsaWZpZWQoa3JiNV9jb250ZXh0IGNv bnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgY3Jvc3NyZWFs bV90Z3RfaW5mbyAqaW5mbywKK0BAIC01NTgsMTQgKzYxNSw3IEBAIGlwYWRiX2NoZWNrX3Vwbl9x dWFsaWZpZWQoa3JiNV9jb250ZXh0IGNvbnRleHQsCisgICAgIHJldHVybiAwOworIH0KKyAKKy0v KiBNYWluIGZ1bmN0aW9uIHRvIGNoZWNrIHRydXN0IFBBQyBjb250ZW50CistICoKKy0gKiBQZXJm b3JtcyBzZWN1cml0eSBjaGVja3Mgb24gdHJ1c3QgVEdTLVJFUToKKy0gKiAxLiBDcm9zcy12YWxp ZGF0aW9uIC0gdmVyaWZ5IFBBQyBhdHRyaWJ1dGVzIGNvbnNpc3RlbmN5CistICogMi4gVXNlciBy ZWdpc3RyYXRpb24gLSByZXF1ZXN0ZXIgU0lEIG11c3QgZXhpc3QgaW4gRGVmYXVsdCBUcnVzdCBW aWV3CistICogMy4gVVBOIHF1YWxpZmljYXRpb24gLSBlbnRlcnByaXNlIHByaW5jaXBhbHMgbXVz dCBoYXZlIHF1YWxpZmllZCBVUE4KKy0gKiAgICAoaWYgbm90IGNvbnN0cnVjdGVkKQorLSAqLwor Ky8qIEVudHJ5IHBvaW50IGZvciB0cnVzdCBQQUMgY29udGVudCBjaGVja3MuIFNlZSBmaWxlIGhl YWRlci4gKi8KKyBrcmI1X2Vycm9yX2NvZGUKKyBpcGFkYl9jaGVja190cnVzdF9wYWNfY29udGVu dChrcmI1X2NvbnRleHQgY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBrcmI1X2tkY19yZXEgKnJlcXVlc3QsCitAQCAtNTc0LDcgKzYyNCw3IEBAIGlwYWRiX2No ZWNrX3RydXN0X3BhY19jb250ZW50KGtyYjVfY29udGV4dCBjb250ZXh0LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKipzdGF0dXMpCisgeworICAgICBzdHJ1Y3Qg Y3Jvc3NyZWFsbV90Z3RfaW5mbyBpbmZvOworLSAgICBrcmI1X2Vycm9yX2NvZGUga2VyciA9IEVJ TlZBTDsKKysgICAga3JiNV9lcnJvcl9jb2RlIGtlcnIgPSBLUkI1S0RDX0VSUl9QT0xJQ1k7Cisg CisgICAgIC8qIEluaXRpYWxpemUgUEFDIGNoZWNrIGluZm8gc3RydWN0dXJlIGFuZCBjcmVhdGUg dGFsbG9jIGNvbnRleHQgKi8KKyAgICAga2VyciA9IGlwYWRiX3RydXN0X3BhY19pbmZvX2luaXQo JmluZm8pOwoKZGlmZiAtLWdpdCBhL2ZyZWVpcGEtcHItODU1OC5wYXRjaCBiL2ZyZWVpcGEtcHIt ODU1OC5wYXRjaAppbmRleCBhOWFhNDk0Li4wNDNmMDdiIDEwMDY0NAotLS0gYS9mcmVlaXBhLXBy LTg1NTgucGF0Y2gKKysrIGIvZnJlZWlwYS1wci04NTU4LnBhdGNoCkBAIC0xLDcgKzEsNyBAQAot RnJvbSAzYzM3YjVhYjliZGIwZDE3ODgxODBiNTg2YjVmODE0NTM1ZDg5MmNmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbSA4ZjMzYzEzMDRkZWMxNjdlODQ0MDc0ZTg5ZmNhODU3ZmQzYTQw ZGYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFi b2tvdm95QHJlZGhhdC5jb20+CiBEYXRlOiBNb24sIDcgU2VwIDIwMjYgMTY6MTI6MzMgKzAzMDAK LVN1YmplY3Q6IFtQQVRDSF0gQWxsb3cgZmluZSB0dW5lZCBwcml2aWxlZ2UgY2hlY2sKK1N1Ympl Y3Q6IFtQQVRDSCAxLzRdIEFsbG93IGZpbmUgdHVuZWQgcHJpdmlsZWdlIGNoZWNrCiAKIExldCB1 c2VycyBwYXNzIHRocm91Z2ggdGhlIHByaXZpbGVnZSBjaGVjayBpZiBlaXRoZXIKIC0gd2hvbGUg ZW50cnkgcmVhZCBncmFudGVkICgndicgaW4gdGhlIEdFUiByZXNwb25zZSkKQEAgLTEwLDE5ICsx MCw3NCBAQCBMZXQgdXNlcnMgcGFzcyB0aHJvdWdoIHRoZSBwcml2aWxlZ2UgY2hlY2sgaWYgZWl0 aGVyCiBUaGlzIGlzIGVub3VnaCB0byBhbGxvdyBMREFQUmV0cmlldmUgdG8gcGFzcywgYmVjYXVz ZSB0aGUgcmVzdCBpcwogY29udHJvbGxlZCBieSB0aGUgZXhwbGljaXQgQUNJcyBpbiBMREFQLgog CitSZW1vdmUgcGVybWlzc2lvbiBjaGVja3MgZnJvbSBtZW1iZXItbWFuYWdlbWVudCBjb21tYW5k cyBhcyB0aGV5IGFwcGx5Cit0aG9zZSBBQ0kgY2hlY2tzIHBlciBlYWNoIGluZGl2aWR1YWwgbWVt YmVyIChzb21lIG1pZ2h0IGZhaWwsIHNvbWUgd2lsbAorc3VjY2VlZCkuIFRoZSBwYXJ0aWFsIHN1 Y2Nlc3MgaXMgc3VwcG9ydGVkIGFuZCBleHBlY3RlZCBieSB0ZXN0cy4KKwogUmVsYXRlZDogQ1ZF LTIwMjYtNzk2NzgKIAogU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95 QHJlZGhhdC5jb20+CiAtLS0KLSBpcGFzZXJ2ZXIvcGx1Z2lucy9iYXNlbGRhcC5weSAgfCAyNyAr KysrKysrKysrKysrKysrKysrKysrLS0tLS0KLSBpcGFzZXJ2ZXIvcGx1Z2lucy9wcml2aWxlZ2Uu cHkgfCAyOSArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwg NDMgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCisgaXBhc2VydmVyL3BsdWdpbnMvYmFz ZWxkYXAucHkgIHwgOTggKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQorIGlwYXNl cnZlci9wbHVnaW5zL3ByaXZpbGVnZS5weSB8IDI5ICsrKysrKystLS0KKyAyIGZpbGVzIGNoYW5n ZWQsIDk4IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvaXBh c2VydmVyL3BsdWdpbnMvYmFzZWxkYXAucHkgYi9pcGFzZXJ2ZXIvcGx1Z2lucy9iYXNlbGRhcC5w eQotaW5kZXggZDY5M2M3MTEyLi5lNzUxZGM2NzMgMTAwNjQ0CitpbmRleCBkNjkzYzcxMTJkNS4u MTIyYTI3OWYyYmIgMTAwNjQ0CiAtLS0gYS9pcGFzZXJ2ZXIvcGx1Z2lucy9iYXNlbGRhcC5weQog KysrIGIvaXBhc2VydmVyL3BsdWdpbnMvYmFzZWxkYXAucHkKLUBAIC0xMDU0LDExICsxMDU0LDIy IEBAIGxhc3QsIGFmdGVyIGFsbCBzZXRzIGFuZCBhZGRzLiIiIiksCitAQCAtMTAwMSw3ICsxMDAx LDEwIEBAIGNsYXNzIEJhc2VMREFQQ29tbWFuZChNZXRob2QpOgorICAgICBlbmZvcmNlX21hbmFn ZWRfcGVybWlzc2lvbl9vcGVyYXRpb25zID0gW10KKyAKKyAgICAgZGVmIGVuZm9yY2VfbWFuYWdl ZF9wZXJtaXNzaW9ucyhzZWxmLCAqa2V5cywgKipvcHRpb25zKToKKy0gICAgICAgIGZyb20gaXBh c2VydmVyLnBsdWdpbnMucHJpdmlsZWdlIGltcG9ydCBwcmluY2lwYWxfaGFzX3ByaXZpbGVnZQor KyAgICAgICAgIyBhdm9pZCBjaXJjdWxhciBpbXBvcnQgdGhyb3VnaCBleHBsaWNpdCBwbHVnaW4g cmVmZXJlbmNlCisrICAgICAgICBwcmluY2lwYWxfaGFzX3ByaXZpbGVnZSA9ICgKKysgICAgICAg ICAgICBzZWxmLmFwaS5wYWNrYWdlc1swXS5wcml2aWxlZ2UucHJpbmNpcGFsX2hhc19wcml2aWxl Z2UKKysgICAgICAgICkKKyAgICAgICAgIG1wID0gZ2V0YXR0cihzZWxmLm9iaiwgJ21hbmFnZWRf cGVybWlzc2lvbnMnLCBOb25lKQorICAgICAgICAgaWYgbm90IG1wOgorICAgICAgICAgICAgIHJl dHVybgorQEAgLTEwMjQsMjMgKzEwMjcsMzEgQEAgZGVmIGhhc19wcml2aWxlZ2UocHJpdik6Cisg ICAgICAgICAgICAgICAgICAgICBzZWxmLmFwaSwgb3BfYWNjb3VudCwgcHJpdikKKyAgICAgICAg ICAgICByZXR1cm4gcHJpdl9jYWNoZVtwcml2XQorIAorLSAgICAgICAgIyBFZmZlY3RpdmUgcmln aHRzLCBpZiBuZWVkZWQgYXQgYWxsLCBhcmUgZmV0Y2hlZCBvbmNlIGluIGEgc2luZ2xlCistICAg ICAgICAjIGdldC1lZmZlY3RpdmUtcmlnaHRzIHJvdW5kIHRyaXAgc2hhcmVkIGJ5IGV2ZXJ5IHBl cm1pc3Npb24gYmVsb3cuCistICAgICAgICAjIHByb2JlWydyZXMnXSBpcyAoZW50cnlfcmlnaHRz LCB7YXR0cjogcmlnaHRzfSkgb3IgTm9uZSAobm8gZW50cnkpLgorLSAgICAgICAgcHJvYmUgPSB7 fQorKyAgICAgICAgIyBMREFQRGVsZXRlIGFuZCBvdGhlciBMREFQTXVsdGlRdWVyeSBjb21tYW5k cyBwYXNzIHRoZSB0cmFpbGluZworKyAgICAgICAgIyBwcmltYXJ5IGtleSBhcyBhICpsaXN0KiBv ZiBwa2V5cyBhbmQgYWN0IG9uIGVhY2ggdGFyZ2V0IGVudHJ5IGluCisrICAgICAgICAjIHR1cm4g KHNlZSBMREFQRGVsZXRlLmV4ZWN1dGUpLiBnZXRfZG4gYW5kIHRoZSBlZmZlY3RpdmUtcmlnaHRz IHByb2JlcworKyAgICAgICAgIyBiZWxvdyBvcGVyYXRlIG9uIGEgc2luZ2xlIGVudHJ5LCBzbyBl eHBhbmQgdGhlIG9wZXJhdGlvbiBpbnRvIGl0cworKyAgICAgICAgIyBpbmRpdmlkdWFsIHRhcmdl dHMgYW5kIHJlcXVpcmUgdGhlIHJpZ2h0IG9uIGV2ZXJ5IG9uZSBvZiB0aGVtLgorKyAgICAgICAg dGFyZ2V0X2tleXMgPSBzZWxmLl9leHBhbmRfdGFyZ2V0X2tleXMoa2V5cykKKyAKKy0gICAgICAg IGRlZiByaWdodHNfYWxsb3cocmlnaHQsIHBlcm0sIHRvdWNoZWQpOgorKyAgICAgICAgIyBFZmZl Y3RpdmUgcmlnaHRzLCBpZiBuZWVkZWQgYXQgYWxsLCBhcmUgZmV0Y2hlZCBhdCBtb3N0IG9uY2Ug cGVyCisrICAgICAgICAjIHRhcmdldCBpbiBhIHNpbmdsZSBnZXQtZWZmZWN0aXZlLXJpZ2h0cyBy b3VuZCB0cmlwIHNoYXJlZCBieSBldmVyeQorKyAgICAgICAgIyBwZXJtaXNzaW9uIGNoZWNrZWQg Zm9yIHRoYXQgdGFyZ2V0LiBwcm9iZXNbaV1bJ3JlcyddIGlzCisrICAgICAgICAjIChlbnRyeV9y aWdodHMsIHthdHRyOiByaWdodHN9KSBvciBOb25lIChubyBlbnRyeSkuCisrICAgICAgICBwcm9i ZXMgPSBbe30gZm9yIF8gaW4gdGFyZ2V0X2tleXNdCisrCisrICAgICAgICBkZWYgcmlnaHRfYWxs b3dlZF9mb3IocmlnaHQsIHBlcm0sIHRvdWNoZWQsIHByb2JlLCB0a2V5cyk6CisgICAgICAgICAg ICAgaWYgcmlnaHQgPT0gJ2FkZCc6CisgICAgICAgICAgICAgICAgICMgVGhlIHRhcmdldCBkb2Vz IG5vdCBleGlzdCB5ZXQgYW5kIHRhcmdldC1zY29wZWQvU0VMRkROIGFkZAorICAgICAgICAgICAg ICAgICAjIEFDSXMgY2Fubm90IGJlIGV2YWx1YXRlZCB0aHJvdWdoIGEgZ2V0LWVmZmVjdGl2ZS1y aWdodHMKKyAgICAgICAgICAgICAgICAgIyB0ZW1wbGF0ZSBwcm9iZSwgc28gZGV0ZWN0IHRoZSBy aWdodCB3aXRoIGEgdHJpYWwgYWRkIG9mIHRoZQorICAgICAgICAgICAgICAgICAjIHJlYWwgdGFy Z2V0IGVudHJ5IChzZWUgX2Nhbl9hZGRfdGFyZ2V0KS4KKyAgICAgICAgICAgICAgICAgaWYgJ2Fk ZCcgbm90IGluIHByb2JlOgorLSAgICAgICAgICAgICAgICAgICAgcHJvYmVbJ2FkZCddID0gc2Vs Zi5fY2FuX2FkZF90YXJnZXQoKmtleXMsICoqb3B0aW9ucykKKysgICAgICAgICAgICAgICAgICAg IHByb2JlWydhZGQnXSA9IHNlbGYuX2Nhbl9hZGRfdGFyZ2V0KCp0a2V5cywgKipvcHRpb25zKQor ICAgICAgICAgICAgICAgICByZXR1cm4gcHJvYmVbJ2FkZCddCisgICAgICAgICAgICAgaWYgJ3Jl cycgbm90IGluIHByb2JlOgorICAgICAgICAgICAgICAgICBwcm9iZVsncmVzJ10gPSBzZWxmLl9w cm9iZV9lZmZlY3RpdmVfcmlnaHRzKAorLSAgICAgICAgICAgICAgICAgICAgbXAsIGVuZm9yY2Vf bXAsICprZXlzLCAqKm9wdGlvbnMpCisrICAgICAgICAgICAgICAgICAgICBtcCwgZW5mb3JjZV9t cCwgKnRrZXlzLCAqKm9wdGlvbnMpCisgICAgICAgICAgICAgcmVzID0gcHJvYmVbJ3JlcyddCisg ICAgICAgICAgICAgaWYgcmVzIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICMgRW50cnkgZG9l cyBub3QgZXhpc3Q7IGxldCB0aGUgb3BlcmF0aW9uIHJlcG9ydCBpdCBwcm9wZXJseS4KK0BAIC0x MDU0LDExICsxMDY1LDMxIEBAIGRlZiByaWdodHNfYWxsb3cocmlnaHQsIHBlcm0sIHRvdWNoZWQp OgogICAgICAgICAgICAgICAgICBpZiBub3QgYXR0cnM6CiAgICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gVHJ1ZQogICAgICAgICAgICAgICAgICByZXR1cm4gYW55KCd3JyBpbiBhdHRyX3JpZ2h0 cy5nZXQoYSwgJycpIGZvciBhIGluIGF0dHJzKQpAQCAtNDYsMTAgKzEwMSw0MCBAQCBpbmRleCBk NjkzYzcxMTIuLmU3NTFkYzY3MyAxMDA2NDQKICAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUK IC0gICAgICAgICAgICByZXR1cm4gYW55KCdyJyBpbiBhdHRyX3JpZ2h0cy5nZXQoYSwgJycpIGZv ciBhIGluIGF0dHJzKQogKyAgICAgICAgICAgIHJldHVybiBhbnkoJ3InIGluIHIgZm9yIHIgaW4g YXR0cl9yaWdodHMudmFsdWVzKCkpCisrCisrICAgICAgICBkZWYgcmlnaHRzX2FsbG93KHJpZ2h0 LCBwZXJtLCB0b3VjaGVkKToKKysgICAgICAgICAgICAjIFBlcm1pdCBvbmx5IGlmIHRoZSBjYWxs ZXIgbWF5IHBlcmZvcm0gdGhlIG9wZXJhdGlvbiBvbiAqZXZlcnkqCisrICAgICAgICAgICAgIyB0 YXJnZXQgZW50cnkgdGhlIGNvbW1hbmQgbmFtZXMgKGEgYmF0Y2ggZGVsZXRlL3JldHJpZXZlIG11 c3QgYmUKKysgICAgICAgICAgICAjIGF1dGhvcmlzZWQgZm9yIGFsbCBvZiBpdHMgcGtleXMpLgor KyAgICAgICAgICAgIHJldHVybiBhbGwoCisrICAgICAgICAgICAgICAgIHJpZ2h0X2FsbG93ZWRf Zm9yKHJpZ2h0LCBwZXJtLCB0b3VjaGVkLCBwcm9iZSwgdGtleXMpCisrICAgICAgICAgICAgICAg IGZvciBwcm9iZSwgdGtleXMgaW4gemlwKHByb2JlcywgdGFyZ2V0X2tleXMpCisrICAgICAgICAg ICAgKQogIAogICAgICAgICAgbW9kaWZpZWRfYXR0cnMgPSBOb25lICAjIGNvbXB1dGVkIGxhemls eSwgb25seSBmb3IgJ3dyaXRlJwogICAgICAgICAgZm9yIG0gaW4gbXAua2V5cygpOgotQEAgLTEy MTQsOCArMTIyNSwxNCBAQCBsYXN0LCBhZnRlciBhbGwgc2V0cyBhbmQgYWRkcy4iIiIpLAorQEAg LTExMDYsNiArMTEzNywyMCBAQCBkZWYgcmlnaHRzX2FsbG93KHJpZ2h0LCBwZXJtLCB0b3VjaGVk KToKKyAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3JzLkFDSUVycm9yKAorICAgICAgICAgICAg ICAgICAgICAgaW5mbz1fKCJub3QgYWxsb3dlZCB0byBwZXJmb3JtIHRoaXMgb3BlcmF0aW9uIikp CisgCisrICAgIGRlZiBfZXhwYW5kX3RhcmdldF9rZXlzKHNlbGYsIGtleXMpOgorKyAgICAgICAg IiIiRXhwYW5kIGFuIG9wZXJhdGlvbidzIGtleXMgaW50byBvbmUga2V5LXR1cGxlIHBlciB0YXJn ZXQgZW50cnkuCisrCisrICAgICAgICBMREFQRGVsZXRlIGFuZCBvdGhlciBMREFQTXVsdGlRdWVy eSBjb21tYW5kcyBwYXNzIHRoZSB0cmFpbGluZyBwcmltYXJ5CisrICAgICAgICBrZXkgYXMgYSBs aXN0IG9mIHBrZXlzIGFuZCBpdGVyYXRlIG92ZXIgaXQsIGNhbGxpbmcgZ2V0X2RuIG9uY2UgcGVy CisrICAgICAgICBlbnRyeSAoc2VlIExEQVBEZWxldGUuZXhlY3V0ZSkuIGdldF9kbiBhbmQgdGhl IGVmZmVjdGl2ZS1yaWdodHMgcHJvYmVzCisrICAgICAgICBleHBlY3QgYSBzaW5nbGUgcGtleSwg c28gbWlycm9yIHRoYXQgZXhwYW5zaW9uIGhlcmUuIEZvciBvcmRpbmFyeQorKyAgICAgICAgc2lu Z2xlLXRhcmdldCBjb21tYW5kcyB0aGUga2V5cyBhcmUgcmV0dXJuZWQgdW5jaGFuZ2VkIGFzIG9u ZSB0dXBsZS4KKysgICAgICAgICIiIgorKyAgICAgICAgaWYga2V5cyBhbmQgc2VsZi5vYmoucHJp bWFyeV9rZXkgYW5kIGlzaW5zdGFuY2UoCisrICAgICAgICAgICAgICAgIGtleXNbLTFdLCAobGlz dCwgdHVwbGUpKToKKysgICAgICAgICAgICByZXR1cm4gW2tleXNbOi0xXSArIChwa2V5LCkgZm9y IHBrZXkgaW4ga2V5c1stMV1dCisrICAgICAgICByZXR1cm4gW3R1cGxlKGtleXMpXQorKworICAg ICBkZWYgX21vZGlmaWVkX2F0dHJpYnV0ZXMoc2VsZiwgKipvcHRpb25zKToKKyAgICAgICAgICIi IkJlc3QtZWZmb3J0IHNldCBvZiBMREFQIGF0dHJpYnV0ZXMgYW4gdXBkYXRlIG9wZXJhdGlvbiBj aGFuZ2VzLgorIAorQEAgLTEyMTQsOCArMTI1OSwxNCBAQCBkZWYgX3Byb2JlX2VmZmVjdGl2ZV9y aWdodHMoc2VsZiwgbXAsIGVuZm9yY2VfbXAsICprZXlzLCAqKm9wdGlvbnMpOgogICAgICAgICAg ICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgIG5lZWRlZC51cGRhdGUoYS5sb3dlcigpIGZv ciBhIGluIHBlcm0uZ2V0KCdpcGFwZXJtZGVmYXVsdGF0dHInLCAoKSkpCiAgCkBAIC02NSw4ICsx NTAsNzEgQEAgaW5kZXggZDY5M2M3MTEyLi5lNzUxZGM2NzMgMTAwNjQ0CiAgICAgICAgICBleGNl cHQgZXJyb3JzLk5vdEZvdW5kOgogICAgICAgICAgICAgIHJldHVybiBOb25lCiAgCitAQCAtMjAy MCw3ICsyMDcxLDkgQEAgY2xhc3MgTERBUEFkZE1lbWJlcihMREFQTW9kTWVtYmVyKToKKyAgICAg bWVtYmVyX3BhcmFtX2RvYyA9IF8oJyVzIHRvIGFkZCcpCisgICAgIG1lbWJlcl9jb3VudF9vdXQg PSAoJyVpIG1lbWJlciBhZGRlZC4nLCAnJWkgbWVtYmVycyBhZGRlZC4nKQorICAgICBhbGxvd19z YW1lID0gRmFsc2UKKy0gICAgZW5mb3JjZV9tYW5hZ2VkX3Blcm1pc3Npb25fb3BlcmF0aW9ucyA9 IFsnd3JpdGUnXQorKyAgICAjIE1lbWJlciB3cml0ZXMgYXJlIGVuZm9yY2VkIHBlci1tZW1iZXIg YnkgMzg5LWRzIGFuZCByZXBvcnRlZCBncmFjZWZ1bGx5CisrICAgICMgaW4gdGhlIGNvbW1hbmQn cyBgZmFpbGVkYCBvdXRwdXQsIHNvIG5vIEFQSS1sZXZlbCBnYXRlIGlzIGFwcGxpZWQgaGVyZQor KyAgICAjIChhbiB1cC1mcm9udCBBQ0lFcnJvciB3b3VsZCBhYm9ydCB0aGUgd2hvbGUgYmF0Y2gg aW5zdGVhZCkuCisgCisgICAgIGhhc19vdXRwdXQgPSAoCisgICAgICAgICBvdXRwdXQuRW50cnko J3Jlc3VsdCcpLAorQEAgLTIwMzcsOCArMjA5MCw2IEBAIGNsYXNzIExEQVBBZGRNZW1iZXIoTERB UE1vZE1lbWJlcik6CisgICAgIGhhc19vdXRwdXRfcGFyYW1zID0gZ2xvYmFsX291dHB1dF9wYXJh bXMKKyAKKyAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgKmtleXMsICoqb3B0aW9ucyk6CistICAgICAg ICBzZWxmLmVuZm9yY2VfbWFuYWdlZF9wZXJtaXNzaW9ucygqa2V5cywgKipvcHRpb25zKQorLQor ICAgICAgICAgbGRhcCA9IHNlbGYub2JqLmJhY2tlbmQKKyAKKyAgICAgICAgIChtZW1iZXJfZG5z LCBmYWlsZWQpID0gc2VsZi5nZXRfbWVtYmVyX2RucygqKm9wdGlvbnMpCitAQCAtMjEyMSw3ICsy MTcyLDkgQEAgY2xhc3MgTERBUFJlbW92ZU1lbWJlcihMREFQTW9kTWVtYmVyKToKKyAgICAgIiIi CisgICAgIG1lbWJlcl9wYXJhbV9kb2MgPSBfKCclcyB0byByZW1vdmUnKQorICAgICBtZW1iZXJf Y291bnRfb3V0ID0gKCclaSBtZW1iZXIgcmVtb3ZlZC4nLCAnJWkgbWVtYmVycyByZW1vdmVkLicp CistICAgIGVuZm9yY2VfbWFuYWdlZF9wZXJtaXNzaW9uX29wZXJhdGlvbnMgPSBbJ3dyaXRlJ10K KysgICAgIyBNZW1iZXIgd3JpdGVzIGFyZSBlbmZvcmNlZCBwZXItbWVtYmVyIGJ5IDM4OS1kcyBh bmQgcmVwb3J0ZWQgZ3JhY2VmdWxseQorKyAgICAjIGluIHRoZSBjb21tYW5kJ3MgYGZhaWxlZGAg b3V0cHV0LCBzbyBubyBBUEktbGV2ZWwgZ2F0ZSBpcyBhcHBsaWVkIGhlcmUKKysgICAgIyAoYW4g dXAtZnJvbnQgQUNJRXJyb3Igd291bGQgYWJvcnQgdGhlIHdob2xlIGJhdGNoIGluc3RlYWQpLgor IAorICAgICBoYXNfb3V0cHV0ID0gKAorICAgICAgICAgb3V0cHV0LkVudHJ5KCdyZXN1bHQnKSwK K0BAIC0yMTM4LDggKzIxOTEsNiBAQCBjbGFzcyBMREFQUmVtb3ZlTWVtYmVyKExEQVBNb2RNZW1i ZXIpOgorICAgICBoYXNfb3V0cHV0X3BhcmFtcyA9IGdsb2JhbF9vdXRwdXRfcGFyYW1zCisgCisg ICAgIGRlZiBleGVjdXRlKHNlbGYsICprZXlzLCAqKm9wdGlvbnMpOgorLSAgICAgICAgc2VsZi5l bmZvcmNlX21hbmFnZWRfcGVybWlzc2lvbnMoKmtleXMsICoqb3B0aW9ucykKKy0KKyAgICAgICAg IGxkYXAgPSBzZWxmLm9iai5iYWNrZW5kCisgCisgICAgICAgICAobWVtYmVyX2RucywgZmFpbGVk KSA9IHNlbGYuZ2V0X21lbWJlcl9kbnMoKipvcHRpb25zKQorQEAgLTI3MTUsOCArMjc2Niw2IEBA IGRlZiBfdXBkYXRlX2F0dHJzKHNlbGYsIHVwZGF0ZSwgZW50cnlfYXR0cnMpOgorICAgICAgICAg KQorIAorICAgICBkZWYgZXhlY3V0ZShzZWxmLCAqa2V5cywgKipvcHRpb25zKToKKy0gICAgICAg IHNlbGYuZW5mb3JjZV9tYW5hZ2VkX3Blcm1pc3Npb25zKCprZXlzLCAqKm9wdGlvbnMpCistCisg ICAgICAgICBsZGFwID0gc2VsZi5vYmouYmFja2VuZAorICAgICAgICAgdHJ5OgorICAgICAgICAg ICAgIGluZGV4ID0gdHVwbGUoc2VsZi5hcmdzKS5pbmRleChzZWxmLmF0dHJpYnV0ZSkKK0BAIC0y NzI1LDYgKzI3NzQsMTMgQEAgZGVmIGV4ZWN1dGUoc2VsZiwgKmtleXMsICoqb3B0aW9ucyk6Cisg ICAgICAgICBlbHNlOgorICAgICAgICAgICAgIG9ial9rZXlzID0ga2V5c1s6aW5kZXhdCisgCisr ICAgICAgICAjIEVuZm9yY2Ugb24gdGhlIHRhcmdldCBlbnRyeSdzIG93biBrZXlzLiAgRm9yIHRo ZSBhcmctYmFzZWQgdmFyaWFudHMKKysgICAgICAgICMgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBpcyBh IHRyYWlsaW5nIHBvc2l0aW9uYWwgYXJnIHRoYXQgaXMgbm90IHBhcnQgb2YKKysgICAgICAgICMg dGhlIGVudHJ5J3MgRE4gKHNlZSBvYmpfa2V5cyksIHNvIGl0IG11c3QgYmUgZXhjbHVkZWQgaGVy ZTogcGFzc2luZworKyAgICAgICAgIyB0aGUgZnVsbCBrZXlzIHdvdWxkIG1ha2UgdGhlIGVmZmVj dGl2ZS1yaWdodHMgcHJvYmUncyBnZXRfZG4gdGFyZ2V0IGEKKysgICAgICAgICMgYm9ndXMgRE4g YW5kIHNpbGVudGx5IGJ5cGFzcyB0aGUgY2hlY2suCisrICAgICAgICBzZWxmLmVuZm9yY2VfbWFu YWdlZF9wZXJtaXNzaW9ucygqb2JqX2tleXMsICoqb3B0aW9ucykKKysKKyAgICAgICAgIGRuID0g c2VsZi5vYmouZ2V0X2RuKCpvYmpfa2V5cywgKipvcHRpb25zKQorICAgICAgICAgZW50cnlfYXR0 cnMgPSBsZGFwLm1ha2VfZW50cnkoZG4sIHNlbGYuYXJnc19vcHRpb25zXzJfZW50cnkoCisgICAg ICAgICAgICAgKmtleXMsICoqb3B0aW9ucykpCiBkaWZmIC0tZ2l0IGEvaXBhc2VydmVyL3BsdWdp bnMvcHJpdmlsZWdlLnB5IGIvaXBhc2VydmVyL3BsdWdpbnMvcHJpdmlsZWdlLnB5Ci1pbmRleCA0 N2YyN2YxMmMuLjY1MTk5YWRjMCAxMDA2NDQKK2luZGV4IDQ3ZjI3ZjEyYzdkLi42NTE5OWFkYzBk OCAxMDA2NDQKIC0tLSBhL2lwYXNlcnZlci9wbHVnaW5zL3ByaXZpbGVnZS5weQogKysrIGIvaXBh c2VydmVyL3BsdWdpbnMvcHJpdmlsZWdlLnB5CiBAQCAtOTIsMTEgKzkyLDI4IEBAIGRlZiBwcmlu Y2lwYWxfaGFzX3ByaXZpbGVnZShhcGksIHByaW5jaXBhbCwgcHJpdmlsZWdlKToKQEAgLTExMyw2 ICsyNjEsNTUxIEBAIGluZGV4IDQ3ZjI3ZjEyYy4uNjUxOTlhZGMwIDEwMDY0NAogICAgICAjIFNl Y29uZCB0cnk6IENoZWNrIGlmIHRoZXJlIGlzIGFuIGlkb3ZlcnJpZGUgZm9yIHRoZSBwcmluY2lw YWwgYXMKICAgICAgIyBpcGFPcmlnaW5hbFVpZCB0aGF0IGhhcyB0aGUgbmVlZGVkIHByaXZpbGVn ZS4KICAgICAgZmlsdGVyID0gbGRhcC5tYWtlX2ZpbHRlcigKLS0tIAotMi41NS4wCiAKK0Zyb20g YjFhZjFkOGJiZmFkMjVjNTkwNzNiNjE5NzgwOGQ1NzE5N2M1MDYyYiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgor RGF0ZTogVHVlLCA4IFNlcCAyMDI2IDA5OjU0OjU3ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggMi80 XSBpcGF0ZXN0czogZml4IFhNTFJQQyB0ZXN0IGV4cGVjYXRpb25zCisKK1R3byBjbGFzc2VzIG9m IGJlaGF2aW9yIGNoYW5nZXM6CisKKyAtIHBlcm1pc3Npb24gYmFzZWxpbmUgaXMgbm93ICdyZWFk Jywgbm90ICd3cml0ZScKKyAtIHNlbGYtc2VydmljZSBMREFQIEFDSSBpcyBzbGlnaHRseSBkaWZm ZXJlbnQKKworUmVsYXRlZDogQ1ZFLTIwMjYtNzk2NzgKKworU2lnbmVkLW9mZi1ieTogQWxleGFu ZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+CistLS0KKyAuLi4vdGVzdF94bWxycGMv dGVzdF9wZXJtaXNzaW9uX3BsdWdpbi5weSAgICAgfCA0NiArKysrKysrKysrKystLS0tLS0tCisg Li4uL3Rlc3RfeG1scnBjL3Rlc3Rfc2VsZnNlcnZpY2VfcGx1Z2luLnB5ICAgIHwgIDggKystLQor IDIgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0X3Blcm1pc3Npb25fcGx1Z2luLnB5 IGIvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9wZXJtaXNzaW9uX3BsdWdpbi5weQoraW5kZXgg ZGJjZDExNzNkN2YuLjg0Yjg4ZTBjNzY0IDEwMDY0NAorLS0tIGEvaXBhdGVzdHMvdGVzdF94bWxy cGMvdGVzdF9wZXJtaXNzaW9uX3BsdWdpbi5weQorKysrIGIvaXBhdGVzdHMvdGVzdF94bWxycGMv dGVzdF9wZXJtaXNzaW9uX3BsdWdpbi5weQorQEAgLTMxODIsNiArMzE4MiwxOCBAQCBjbGFzcyB0 ZXN0X3Blcm1pc3Npb25fYmluZHR5cGUoRGVjbGFyYXRpdmUpOgorICAgICAgICAgICAgIGV4cGVj dGVkPWRpY3QoCisgICAgICAgICAgICAgICAgIHZhbHVlPXBlcm1pc3Npb24xLAorICAgICAgICAg ICAgICAgICBzdW1tYXJ5PXUnQWRkZWQgcGVybWlzc2lvbiAiJXMiJyAlIHBlcm1pc3Npb24xLAor KyAgICAgICAgICAgICAgICBtZXNzYWdlcz0oCisrICAgICAgICAgICAgICAgICAgICB7CisrICAg ICAgICAgICAgICAgICAgICAgICAgJ21lc3NhZ2UnOiAoJ1RoZSBwZXJtaXNzaW9uIGhhcyByZWFk IHJpZ2h0cyBidXQgbm8gJworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdh dHRyaWJ1dGVzIGFyZSBzZXQuJyksCisrICAgICAgICAgICAgICAgICAgICAgICAgJ2NvZGUnOiAx MzAzMiwKKysgICAgICAgICAgICAgICAgICAgICAgICAndHlwZSc6ICd3YXJuaW5nJywKKysgICAg ICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdNaXNzaW5nVGFyZ2V0QXR0cmlidXRlc2luUGVy bWlzc2lvbicsCisrICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGEnOiB7CisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdyaWdodCc6ICdyZWFkJywKKysgICAgICAgICAgICAgICAgICAg ICAgICB9CisrICAgICAgICAgICAgICAgICAgICB9LAorKyAgICAgICAgICAgICAgICApLAorICAg ICAgICAgICAgICAgICByZXN1bHQ9ZGljdCgKKyAgICAgICAgICAgICAgICAgICAgIGRuPXBlcm1p c3Npb24xX2RuLAorICAgICAgICAgICAgICAgICAgICAgY249W3Blcm1pc3Npb24xXSwKK0BAIC0z MjQ1LDEzICszMjU3LDEzIEBAIGNsYXNzIHRlc3RfcGVybWlzc2lvbl9iaW5kdHlwZShEZWNsYXJh dGl2ZSk6CisgICAgICAgICAgICAgICAgIHN1bW1hcnk9dSdNb2RpZmllZCBwZXJtaXNzaW9uICIl cyInICUgcGVybWlzc2lvbjEsCisgICAgICAgICAgICAgICAgIG1lc3NhZ2VzPSgKKyAgICAgICAg ICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICAnbWVzc2FnZSc6ICgnVGhl IHBlcm1pc3Npb24gaGFzIHdyaXRlIHJpZ2h0cyBidXQgbm8gJworKyAgICAgICAgICAgICAgICAg ICAgICAgICdtZXNzYWdlJzogKCdUaGUgcGVybWlzc2lvbiBoYXMgcmVhZCByaWdodHMgYnV0IG5v ICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXR0cmlidXRlcyBhcmUg c2V0LicpLAorICAgICAgICAgICAgICAgICAgICAgICAgICdjb2RlJzogMTMwMzIsCisgICAgICAg ICAgICAgICAgICAgICAgICAgJ3R5cGUnOiAnd2FybmluZycsCisgICAgICAgICAgICAgICAgICAg ICAgICAgJ25hbWUnOiAnTWlzc2luZ1RhcmdldEF0dHJpYnV0ZXNpblBlcm1pc3Npb24nLAorICAg ICAgICAgICAgICAgICAgICAgICAgICdkYXRhJzogeworLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAncmlnaHQnOiAnd3JpdGUnLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmln aHQnOiAncmVhZCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg ICAgICAgfSwKKyAgICAgICAgICAgICAgICAgKSwKK0BAIC0zMjYwLDcgKzMyNzIsNyBAQCBjbGFz cyB0ZXN0X3Blcm1pc3Npb25fYmluZHR5cGUoRGVjbGFyYXRpdmUpOgorICAgICAgICAgICAgICAg ICAgICAgY249W3Blcm1pc3Npb24xXSwKKyAgICAgICAgICAgICAgICAgICAgIG9iamVjdGNsYXNz PW9iamVjdGNsYXNzZXMucGVybWlzc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgIHR5cGU9W3Un dXNlciddLAorLSAgICAgICAgICAgICAgICAgICAgaXBhcGVybXJpZ2h0PVt1J3dyaXRlJ10sCisr ICAgICAgICAgICAgICAgICAgICBpcGFwZXJtcmlnaHQ9W3UncmVhZCddLAorICAgICAgICAgICAg ICAgICAgICAgaXBhcGVybWJpbmRydWxldHlwZT1bdSdhbGwnXSwKKyAgICAgICAgICAgICAgICAg ICAgIGlwYXBlcm1pc3Npb250eXBlPVt1J1NZU1RFTScsIHUnVjInXSwKKyAgICAgICAgICAgICAg ICAgICAgIGlwYXBlcm1sb2NhdGlvbj1bdXNlcnNfZG5dLAorQEAgLTMyNzIsNyArMzI4NCw3IEBA IGNsYXNzIHRlc3RfcGVybWlzc2lvbl9iaW5kdHlwZShEZWNsYXJhdGl2ZSk6CisgICAgICAgICAg ICAgcGVybWlzc2lvbjEsIHVzZXJzX2RuLAorICAgICAgICAgICAgICcodGFyZ2V0ZmlsdGVyID0g IihvYmplY3RjbGFzcz1wb3NpeGFjY291bnQpIiknICsKKyAgICAgICAgICAgICAnKHZlcnNpb24g My4wO2FjbCAicGVybWlzc2lvbjolcyI7JyAlIHBlcm1pc3Npb24xICsKKy0gICAgICAgICAgICAn YWxsb3cgKHdyaXRlKSB1c2VyZG4gPSAibGRhcDovLy9hbGwiOyknLAorKyAgICAgICAgICAgICdh bGxvdyAocmVhZCkgdXNlcmRuID0gImxkYXA6Ly8vYWxsIjspJywKKyAgICAgICAgICksCisgCisg ICAgICAgICBkaWN0KAorQEAgLTMzMDEsNyArMzMxMyw3IEBAIGNsYXNzIHRlc3RfcGVybWlzc2lv bl9iaW5kdHlwZShEZWNsYXJhdGl2ZSk6CisgICAgICAgICAgICAgICAgICAgICAgICAgZG49cGVy bWlzc2lvbjFfZG4sCisgICAgICAgICAgICAgICAgICAgICAgICAgY249W3Blcm1pc3Npb24xXSwK KyAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVt1J3VzZXInXSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICBpcGFwZXJtcmlnaHQ9W3Und3JpdGUnXSwKKysgICAgICAgICAgICAgICAgICAg ICAgICBpcGFwZXJtcmlnaHQ9W3UncmVhZCddLAorICAgICAgICAgICAgICAgICAgICAgICAgIGlw YXBlcm1iaW5kcnVsZXR5cGU9W3UnYWxsJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgb2Jq ZWN0Y2xhc3M9b2JqZWN0Y2xhc3Nlcy5wZXJtaXNzaW9uLAorICAgICAgICAgICAgICAgICAgICAg ICAgIGlwYXBlcm1pc3Npb250eXBlPVt1J1NZU1RFTScsIHUnVjInXSwKK0BAIC0zMzQ4LDEzICsz MzYwLDEzIEBAIGNsYXNzIHRlc3RfcGVybWlzc2lvbl9iaW5kdHlwZShEZWNsYXJhdGl2ZSk6Cisg ICAgICAgICAgICAgICAgIHN1bW1hcnk9dSdNb2RpZmllZCBwZXJtaXNzaW9uICIlcyInICUgcGVy bWlzc2lvbjEsCisgICAgICAgICAgICAgICAgIG1lc3NhZ2VzPSgKKyAgICAgICAgICAgICAgICAg ICAgIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICAnbWVzc2FnZSc6ICgnVGhlIHBlcm1pc3Np b24gaGFzIHdyaXRlIHJpZ2h0cyBidXQgbm8gJworKyAgICAgICAgICAgICAgICAgICAgICAgICdt ZXNzYWdlJzogKCdUaGUgcGVybWlzc2lvbiBoYXMgcmVhZCByaWdodHMgYnV0IG5vICcKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXR0cmlidXRlcyBhcmUgc2V0LicpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICdjb2RlJzogMTMwMzIsCisgICAgICAgICAgICAgICAg ICAgICAgICAgJ3R5cGUnOiAnd2FybmluZycsCisgICAgICAgICAgICAgICAgICAgICAgICAgJ25h bWUnOiAnTWlzc2luZ1RhcmdldEF0dHJpYnV0ZXNpblBlcm1pc3Npb24nLAorICAgICAgICAgICAg ICAgICAgICAgICAgICdkYXRhJzogeworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmln aHQnOiAnd3JpdGUnLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmlnaHQnOiAncmVh ZCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgfSwK KyAgICAgICAgICAgICAgICAgKSwKK0BAIC0zMzYzLDcgKzMzNzUsNyBAQCBjbGFzcyB0ZXN0X3Bl cm1pc3Npb25fYmluZHR5cGUoRGVjbGFyYXRpdmUpOgorICAgICAgICAgICAgICAgICAgICAgY249 W3Blcm1pc3Npb24xX3JlbmFtZWRdLAorICAgICAgICAgICAgICAgICAgICAgdHlwZT1bdSd1c2Vy J10sCisgICAgICAgICAgICAgICAgICAgICBvYmplY3RjbGFzcz1vYmplY3RjbGFzc2VzLnBlcm1p c3Npb24sCistICAgICAgICAgICAgICAgICAgICBpcGFwZXJtcmlnaHQ9W3Und3JpdGUnXSwKKysg ICAgICAgICAgICAgICAgICAgIGlwYXBlcm1yaWdodD1bdSdyZWFkJ10sCisgICAgICAgICAgICAg ICAgICAgICBpcGFwZXJtYmluZHJ1bGV0eXBlPVt1J2FsbCddLAorICAgICAgICAgICAgICAgICAg ICAgaXBhcGVybWlzc2lvbnR5cGU9W3UnU1lTVEVNJywgdSdWMiddLAorICAgICAgICAgICAgICAg ICAgICAgaXBhcGVybWxvY2F0aW9uPVt1c2Vyc19kbl0sCitAQCAtMzM3NSw3ICszMzg3LDcgQEAg Y2xhc3MgdGVzdF9wZXJtaXNzaW9uX2JpbmR0eXBlKERlY2xhcmF0aXZlKToKKyAgICAgICAgICAg ICBwZXJtaXNzaW9uMV9yZW5hbWVkLCB1c2Vyc19kbiwKKyAgICAgICAgICAgICAnKHRhcmdldGZp bHRlciA9ICIob2JqZWN0Y2xhc3M9cG9zaXhhY2NvdW50KSIpJyArCisgICAgICAgICAgICAgJyh2 ZXJzaW9uIDMuMDthY2wgInBlcm1pc3Npb246JXMiOycgJSBwZXJtaXNzaW9uMV9yZW5hbWVkICsK Ky0gICAgICAgICAgICAnYWxsb3cgKHdyaXRlKSB1c2VyZG4gPSAibGRhcDovLy9hbGwiOyknLAor KyAgICAgICAgICAgICdhbGxvdyAocmVhZCkgdXNlcmRuID0gImxkYXA6Ly8vYWxsIjspJywKKyAg ICAgICAgICksCisgCisgICAgICAgICBkaWN0KAorQEAgLTMzOTEsMTMgKzM0MDMsMTMgQEAgY2xh c3MgdGVzdF9wZXJtaXNzaW9uX2JpbmR0eXBlKERlY2xhcmF0aXZlKToKKyAgICAgICAgICAgICAg ICAgc3VtbWFyeT11J01vZGlmaWVkIHBlcm1pc3Npb24gIiVzIicgJSBwZXJtaXNzaW9uMV9yZW5h bWVkLAorICAgICAgICAgICAgICAgICBtZXNzYWdlcz0oCisgICAgICAgICAgICAgICAgICAgICB7 CistICAgICAgICAgICAgICAgICAgICAgICAgJ21lc3NhZ2UnOiAoJ1RoZSBwZXJtaXNzaW9uIGhh cyB3cml0ZSByaWdodHMgYnV0IG5vICcKKysgICAgICAgICAgICAgICAgICAgICAgICAnbWVzc2Fn ZSc6ICgnVGhlIHBlcm1pc3Npb24gaGFzIHJlYWQgcmlnaHRzIGJ1dCBubyAnCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F0dHJpYnV0ZXMgYXJlIHNldC4nKSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAnY29kZSc6IDEzMDMyLAorICAgICAgICAgICAgICAgICAgICAg ICAgICd0eXBlJzogJ3dhcm5pbmcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzog J01pc3NpbmdUYXJnZXRBdHRyaWJ1dGVzaW5QZXJtaXNzaW9uJywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAnZGF0YSc6IHsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0Jzog J3dyaXRlJywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0JzogJ3JlYWQnLAor ICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIH0sCisgICAg ICAgICAgICAgICAgICksCitAQCAtMzQwNiw3ICszNDE4LDcgQEAgY2xhc3MgdGVzdF9wZXJtaXNz aW9uX2JpbmR0eXBlKERlY2xhcmF0aXZlKToKKyAgICAgICAgICAgICAgICAgICAgIGNuPVtwZXJt aXNzaW9uMV9yZW5hbWVkXSwKKyAgICAgICAgICAgICAgICAgICAgIG9iamVjdGNsYXNzPW9iamVj dGNsYXNzZXMucGVybWlzc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgIHR5cGU9W3UndXNlcidd LAorLSAgICAgICAgICAgICAgICAgICAgaXBhcGVybXJpZ2h0PVt1J3dyaXRlJ10sCisrICAgICAg ICAgICAgICAgICAgICBpcGFwZXJtcmlnaHQ9W3UncmVhZCddLAorICAgICAgICAgICAgICAgICAg ICAgaXBhcGVybWJpbmRydWxldHlwZT1bdSdwZXJtaXNzaW9uJ10sCisgICAgICAgICAgICAgICAg ICAgICBpcGFwZXJtaXNzaW9udHlwZT1bdSdTWVNURU0nLCB1J1YyJ10sCisgICAgICAgICAgICAg ICAgICAgICBpcGFwZXJtbG9jYXRpb249W3VzZXJzX2RuXSwKK0BAIC0zNDE4LDcgKzM0MzAsNyBA QCBjbGFzcyB0ZXN0X3Blcm1pc3Npb25fYmluZHR5cGUoRGVjbGFyYXRpdmUpOgorICAgICAgICAg ICAgIHBlcm1pc3Npb24xX3JlbmFtZWQsIHVzZXJzX2RuLAorICAgICAgICAgICAgICcodGFyZ2V0 ZmlsdGVyID0gIihvYmplY3RjbGFzcz1wb3NpeGFjY291bnQpIiknICsKKyAgICAgICAgICAgICAn KHZlcnNpb24gMy4wO2FjbCAicGVybWlzc2lvbjolcyI7JyAlIHBlcm1pc3Npb24xX3JlbmFtZWQg KworLSAgICAgICAgICAgICdhbGxvdyAod3JpdGUpIGdyb3VwZG4gPSAibGRhcDovLy8lcyI7KScg JSBwZXJtaXNzaW9uMV9yZW5hbWVkX2RuLAorKyAgICAgICAgICAgICdhbGxvdyAocmVhZCkgZ3Jv dXBkbiA9ICJsZGFwOi8vLyVzIjspJyAlIHBlcm1pc3Npb24xX3JlbmFtZWRfZG4sCisgICAgICAg ICApLAorIAorICAgICAgICAgZGljdCgKK0BAIC0zNDMyLDEzICszNDQ0LDEzIEBAIGNsYXNzIHRl c3RfcGVybWlzc2lvbl9iaW5kdHlwZShEZWNsYXJhdGl2ZSk6CisgICAgICAgICAgICAgICAgIHN1 bW1hcnk9dSdNb2RpZmllZCBwZXJtaXNzaW9uICIlcyInICUgcGVybWlzc2lvbjFfcmVuYW1lZCwK KyAgICAgICAgICAgICAgICAgbWVzc2FnZXM9KAorICAgICAgICAgICAgICAgICAgICAgeworLSAg ICAgICAgICAgICAgICAgICAgICAgICdtZXNzYWdlJzogKCdUaGUgcGVybWlzc2lvbiBoYXMgd3Jp dGUgcmlnaHRzIGJ1dCBubyAnCisrICAgICAgICAgICAgICAgICAgICAgICAgJ21lc3NhZ2UnOiAo J1RoZSBwZXJtaXNzaW9uIGhhcyByZWFkIHJpZ2h0cyBidXQgbm8gJworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdhdHRyaWJ1dGVzIGFyZSBzZXQuJyksCisgICAgICAgICAg ICAgICAgICAgICAgICAgJ2NvZGUnOiAxMzAzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAn dHlwZSc6ICd3YXJuaW5nJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICdNaXNz aW5nVGFyZ2V0QXR0cmlidXRlc2luUGVybWlzc2lvbicsCisgICAgICAgICAgICAgICAgICAgICAg ICAgJ2RhdGEnOiB7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyaWdodCc6ICd3cml0 ZScsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyaWdodCc6ICdyZWFkJywKKyAgICAg ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg ICAgICAgICApLAorQEAgLTM0NDcsNyArMzQ1OSw3IEBAIGNsYXNzIHRlc3RfcGVybWlzc2lvbl9i aW5kdHlwZShEZWNsYXJhdGl2ZSk6CisgICAgICAgICAgICAgICAgICAgICBjbj1bcGVybWlzc2lv bjFdLAorICAgICAgICAgICAgICAgICAgICAgdHlwZT1bdSd1c2VyJ10sCisgICAgICAgICAgICAg ICAgICAgICBvYmplY3RjbGFzcz1vYmplY3RjbGFzc2VzLnBlcm1pc3Npb24sCistICAgICAgICAg ICAgICAgICAgICBpcGFwZXJtcmlnaHQ9W3Und3JpdGUnXSwKKysgICAgICAgICAgICAgICAgICAg IGlwYXBlcm1yaWdodD1bdSdyZWFkJ10sCisgICAgICAgICAgICAgICAgICAgICBpcGFwZXJtYmlu ZHJ1bGV0eXBlPVt1J3Blcm1pc3Npb24nXSwKKyAgICAgICAgICAgICAgICAgICAgIGlwYXBlcm1p c3Npb250eXBlPVt1J1NZU1RFTScsIHUnVjInXSwKKyAgICAgICAgICAgICAgICAgICAgIGlwYXBl cm1sb2NhdGlvbj1bdXNlcnNfZG5dLAorQEAgLTM0NTksNyArMzQ3MSw3IEBAIGNsYXNzIHRlc3Rf cGVybWlzc2lvbl9iaW5kdHlwZShEZWNsYXJhdGl2ZSk6CisgICAgICAgICAgICAgcGVybWlzc2lv bjEsIHVzZXJzX2RuLAorICAgICAgICAgICAgICcodGFyZ2V0ZmlsdGVyID0gIihvYmplY3RjbGFz cz1wb3NpeGFjY291bnQpIiknICsKKyAgICAgICAgICAgICAnKHZlcnNpb24gMy4wO2FjbCAicGVy bWlzc2lvbjolcyI7JyAlIHBlcm1pc3Npb24xICsKKy0gICAgICAgICAgICAnYWxsb3cgKHdyaXRl KSBncm91cGRuID0gImxkYXA6Ly8vJXMiOyknICUgcGVybWlzc2lvbjFfZG4sCisrICAgICAgICAg ICAgJ2FsbG93IChyZWFkKSBncm91cGRuID0gImxkYXA6Ly8vJXMiOyknICUgcGVybWlzc2lvbjFf ZG4sCisgICAgICAgICApLAorIAorICAgICAgICAgZGljdCgKK2RpZmYgLS1naXQgYS9pcGF0ZXN0 cy90ZXN0X3htbHJwYy90ZXN0X3NlbGZzZXJ2aWNlX3BsdWdpbi5weSBiL2lwYXRlc3RzL3Rlc3Rf eG1scnBjL3Rlc3Rfc2VsZnNlcnZpY2VfcGx1Z2luLnB5CitpbmRleCAzY2UwNDNlNDZhNC4uYmU4 NmM1YTY3MjcgMTAwNjQ0CistLS0gYS9pcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0X3NlbGZzZXJ2 aWNlX3BsdWdpbi5weQorKysrIGIvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9zZWxmc2Vydmlj ZV9wbHVnaW4ucHkKK0BAIC04MDMsNyArODAzLDcgQEAgY2xhc3MgdGVzdF9zZWxmc2VydmljZV9j bGlfYWRkX2RlbChEZWNsYXJhdGl2ZSk6CisgICAgICAgICAgICAgICAgICAgICAgcicodmVyc2lv biAzLjA7YWNsICcKKyAgICAgICAgICAgICAgICAgICAgICByJ1wyMnNlbGZzZXJ2aWNlOnNlbGZz ZXJ2aWNlX2FkZF8xMDAyXDIyOycKKyAgICAgICAgICAgICAgICAgICAgICByJ2FsbG93ICh3cml0 ZSkgKHVzZXJkbiA9IFwyMmxkYXA6Ly8vc2VsZlwyMiAnCistICAgICAgICAgICAgICAgICAgICAg cidhbmQgdXNlcmRuID0gXDIybGRhcDovLy9hbGxcMjI7KScsCisrICAgICAgICAgICAgICAgICAg ICAgcidhbmQgdXNlcmRuID0gXDIybGRhcDovLy9hbGxcMjIpOyknLAorICAgICAgICAgICAgICks CisgICAgICAgICApLAorIAorQEAgLTg4MSw3ICs4ODEsNyBAQCBjbGFzcyB0ZXN0X3NlbGZzZXJ2 aWNlX2NsaV9hZGRfZGVsKERlY2xhcmF0aXZlKToKKyAgICAgICAgICAgICAgICAgICAgICByJyh2 ZXJzaW9uIDMuMDthY2wgJworICAgICAgICAgICAgICAgICAgICAgIHInXDIyc2VsZnNlcnZpY2U6 c2VsZnNlcnZpY2VfYWRkXzEwMDVcMjI7JworICAgICAgICAgICAgICAgICAgICAgIHInYWxsb3cg KHdyaXRlKSAodXNlcmRuID0gXDIybGRhcDovLy9zZWxmXDIyICcKKy0gICAgICAgICAgICAgICAg ICAgICByJ2FuZCB1c2VyZG4gPSBcMjJsZGFwOi8vL2FsbFwyMjspJywKKysgICAgICAgICAgICAg ICAgICAgICByJ2FuZCB1c2VyZG4gPSBcMjJsZGFwOi8vL2FsbFwyMik7KScsCisgICAgICAgICAg ICAgKSwKKyAgICAgICAgICksCisgCitAQCAtMTU5MSw3ICsxNTkxLDcgQEAgY2xhc3MgdGVzdF9z ZWxmc2VydmljZV9tb2RfY2xpKERlY2xhcmF0aXZlKToKKyAgICAgICAgICAgICAgICAgICAgIHIn KHZlcnNpb24gMy4wO2FjbCAnCisgICAgICAgICAgICAgICAgICAgICByJ1wyMnNlbGZzZXJ2aWNl OiVzXDIyOycKKyAgICAgICAgICAgICAgICAgICAgIHInYWxsb3cgKHdyaXRlKSAodXNlcmRuID0g XDIybGRhcDovLy9zZWxmXDIyICcKKy0gICAgICAgICAgICAgICAgICAgIHInYW5kIHVzZXJkbiA9 IFwyMmxkYXA6Ly8vYWxsXDIyOyknCisrICAgICAgICAgICAgICAgICAgICByJ2FuZCB1c2VyZG4g PSBcMjJsZGFwOi8vL2FsbFwyMik7KScKKyAgICAgICAgICAgICAgICAgKSAlIFNTX0NMSV9NT0Qs CisgICAgICAgICAgICAgKSwKKyAgICAgICAgICksCitAQCAtMTY1OCw3ICsxNjU4LDcgQEAgY2xh c3MgdGVzdF9zZWxmc2VydmljZV9tb2RfY2xpKERlY2xhcmF0aXZlKToKKyAgICAgICAgICAgICAg ICAgICAgIHInKHZlcnNpb24gMy4wO2FjbCAnCisgICAgICAgICAgICAgICAgICAgICByJ1wyMnNl bGZzZXJ2aWNlOiVzXDIyOycKKyAgICAgICAgICAgICAgICAgICAgIHInYWxsb3cgKHdyaXRlKSAo dXNlcmRuID0gXDIybGRhcDovLy9zZWxmXDIyICcKKy0gICAgICAgICAgICAgICAgICAgIHInYW5k IHVzZXJkbiA9IFwyMmxkYXA6Ly8vYWxsXDIyOyknCisrICAgICAgICAgICAgICAgICAgICByJ2Fu ZCB1c2VyZG4gPSBcMjJsZGFwOi8vL2FsbFwyMik7KScKKyAgICAgICAgICAgICAgICAgKSAlIFNT X0NMSV9NT0QsCisgICAgICAgICAgICAgKSwKKyAgICAgICAgICksCisKK0Zyb20gMjllYzQ3NjRl MDRjMjg0MWQwMDE0NzhmZDYzYmE2ZWEwNmQzYzdhYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgorRGF0ZTogVHVl LCA4IFNlcCAyMDI2IDEyOjU3OjQ0ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggMy80XSBwZXJtaXNz aW9uIGVuZm9yY2VtZW50OiBhbGxvdyBzZXJ2aWNlcyB0byBkZWZpbmUga2V5cyB0bworIGVuZm9y Y2UKKworc2VydmljZV9hZGRfc21iIGNvbnN0cnVjdHMgY2lmcy9ob3N0bmFtZSBvdXQgb2YgaG9z dG5hbWUuIFdlIG5lZWQgdG8KK2FkanVzdCB3aGF0IHRoZSBwZXJtaXNzaW9uIGNoZWNrIGlzIHVz aW5nIGZvciBhbiBBREQgdGVzdCBwZXIgY29tbWFuZC4KKworUmVsYXRlZDogQ1ZFLTIwMjYtNzk2 NzgKKworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5j b20+CistLS0KKyBpcGFzZXJ2ZXIvcGx1Z2lucy9iYXNlbGRhcC5weSB8IDE2ICsrKysrKysrKysr KysrKysKKyBpcGFzZXJ2ZXIvcGx1Z2lucy9zZXJ2aWNlLnB5ICB8ICA3ICsrKysrKysKKyAyIGZp bGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9w bHVnaW5zL2Jhc2VsZGFwLnB5IGIvaXBhc2VydmVyL3BsdWdpbnMvYmFzZWxkYXAucHkKK2luZGV4 IDEyMmEyNzlmMmJiLi45MjZhZmIxN2VjNyAxMDA2NDQKKy0tLSBhL2lwYXNlcnZlci9wbHVnaW5z L2Jhc2VsZGFwLnB5CisrKysgYi9pcGFzZXJ2ZXIvcGx1Z2lucy9iYXNlbGRhcC5weQorQEAgLTEw MjcsNiArMTAyNywxMSBAQCBkZWYgaGFzX3ByaXZpbGVnZShwcml2KToKKyAgICAgICAgICAgICAg ICAgICAgIHNlbGYuYXBpLCBvcF9hY2NvdW50LCBwcml2KQorICAgICAgICAgICAgIHJldHVybiBw cml2X2NhY2hlW3ByaXZdCisgCisrICAgICAgICAjIFNvbWUgY29tbWFuZHMgY29uc3RydWN0IHRo ZSByZWFsIHRhcmdldCBwcmluY2lwYWwvRE4gb25seSBsYXRlciAoaW4KKysgICAgICAgICMgcHJl X2NhbGxiYWNrKSwgc28gbGV0IHRoZW0gc3VwcGx5IHRoZSBrZXlzIHRoZSBwcm9iZXMgc2hvdWxk IHRhcmdldAorKyAgICAgICAgIyAoZS5nLiBzZXJ2aWNlLWFkZC1zbWIgYnVpbGRzIGNpZnMvPGhv c3RuYW1lPiBmcm9tIGEgYmFyZSBob3N0bmFtZSkuCisrICAgICAgICBrZXlzID0gc2VsZi5fZW5m b3JjZW1lbnRfa2V5cygqa2V5cywgKipvcHRpb25zKQorKworICAgICAgICAgIyBMREFQRGVsZXRl IGFuZCBvdGhlciBMREFQTXVsdGlRdWVyeSBjb21tYW5kcyBwYXNzIHRoZSB0cmFpbGluZworICAg ICAgICAgIyBwcmltYXJ5IGtleSBhcyBhICpsaXN0KiBvZiBwa2V5cyBhbmQgYWN0IG9uIGVhY2gg dGFyZ2V0IGVudHJ5IGluCisgICAgICAgICAjIHR1cm4gKHNlZSBMREFQRGVsZXRlLmV4ZWN1dGUp LiBnZXRfZG4gYW5kIHRoZSBlZmZlY3RpdmUtcmlnaHRzIHByb2JlcworQEAgLTExMzcsNiArMTE0 MiwxNyBAQCBkZWYgcmlnaHRzX2FsbG93KHJpZ2h0LCBwZXJtLCB0b3VjaGVkKToKKyAgICAgICAg ICAgICAgICAgcmFpc2UgZXJyb3JzLkFDSUVycm9yKAorICAgICAgICAgICAgICAgICAgICAgaW5m bz1fKCJub3QgYWxsb3dlZCB0byBwZXJmb3JtIHRoaXMgb3BlcmF0aW9uIikpCisgCisrICAgIGRl ZiBfZW5mb3JjZW1lbnRfa2V5cyhzZWxmLCAqa2V5cywgKipvcHRpb25zKToKKysgICAgICAgICIi IktleXMgaWRlbnRpZnlpbmcgdGhlIHRhcmdldCBlbnRyeSBmb3IgcGVybWlzc2lvbiBlbmZvcmNl bWVudC4KKysKKysgICAgICAgIERlZmF1bHRzIHRvIHRoZSBjb21tYW5kJ3Mgb3duIGtleXMuIENv bW1hbmRzIHdob3NlIHJlYWwgdGFyZ2V0IEROIGlzCisrICAgICAgICBkZXJpdmVkIG9ubHkgbGF0 ZXIgLS0gZS5nLiBzZXJ2aWNlLWFkZC1zbWIsIHdoaWNoIHRha2VzIGEgYmFyZSBob3N0bmFtZQor KyAgICAgICAgYW5kIGNvbnN0cnVjdHMgdGhlIGBgY2lmcy88aG9zdG5hbWU+YGAgcHJpbmNpcGFs IGluIHByZV9jYWxsYmFjayAtLQorKyAgICAgICAgb3ZlcnJpZGUgdGhpcyBzbyB0aGUgZWZmZWN0 aXZlLXJpZ2h0cy90cmlhbC1hZGQgcHJvYmVzIHRhcmdldCB0aGUKKysgICAgICAgIGFjdHVhbCBl bnRyeSByYXRoZXIgdGhhbiBhIEROIGJ1aWx0IGZyb20gdGhlIHJhdyBrZXkuCisrICAgICAgICAi IiIKKysgICAgICAgIHJldHVybiBrZXlzCisrCisgICAgIGRlZiBfZXhwYW5kX3RhcmdldF9rZXlz KHNlbGYsIGtleXMpOgorICAgICAgICAgIiIiRXhwYW5kIGFuIG9wZXJhdGlvbidzIGtleXMgaW50 byBvbmUga2V5LXR1cGxlIHBlciB0YXJnZXQgZW50cnkuCisgCitkaWZmIC0tZ2l0IGEvaXBhc2Vy dmVyL3BsdWdpbnMvc2VydmljZS5weSBiL2lwYXNlcnZlci9wbHVnaW5zL3NlcnZpY2UucHkKK2lu ZGV4IGJiZTcxZGRjNzhkLi41MWVhMDE1ZjQwMSAxMDA2NDQKKy0tLSBhL2lwYXNlcnZlci9wbHVn aW5zL3NlcnZpY2UucHkKKysrKyBiL2lwYXNlcnZlci9wbHVnaW5zL3NlcnZpY2UucHkKK0BAIC04 MTAsNiArODEwLDEzIEBAIGRlZiBnZXRfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgICAgICBpZiBj aGVjazoKKyAgICAgICAgICAgICAgICAgeWllbGQgYXJnCisgCisrICAgIGRlZiBfZW5mb3JjZW1l bnRfa2V5cyhzZWxmLCAqa2V5cywgKipvcHRpb25zKToKKysgICAgICAgICMgVGhlIHByaW1hcnkg a2V5IGhlcmUgaXMgYSBiYXJlIGhvc3RuYW1lOyB0aGUgcmVhbCB0YXJnZXQgcHJpbmNpcGFsCisr ICAgICAgICAjIChjaWZzLzxob3N0bmFtZT4pIGlzIG9ubHkgYnVpbHQgaW4gcHJlX2NhbGxiYWNr LiBFbmZvcmNlIHRoZSBhZGQKKysgICAgICAgICMgYWdhaW5zdCB0aGF0IGFjdHVhbCBwcmluY2lw YWwgc28gdGhlICJIb3N0cyBjYW4gYWRkIG93biBzZXJ2aWNlcyIKKysgICAgICAgICMgQUNJICh0 YXJnZXQga3JicHJpbmNpcGFsbmFtZT0qLygkZG4pQCRSRUFMTSkgaXMgbWF0Y2hlZCBjb3JyZWN0 bHkuCisrICAgICAgICByZXR1cm4gKCdjaWZzL3t9Jy5mb3JtYXQoa2V5c1swXSksKQorKworICAg ICBkZWYgcHJlX2NhbGxiYWNrKHNlbGYsIGxkYXAsIGRuLCBlbnRyeV9hdHRycywgYXR0cnNfbGlz dCwKKyAgICAgICAgICAgICAgICAgICAgICAqa2V5cywgKipvcHRpb25zKToKKyAgICAgICAgIGFz c2VydCBpc2luc3RhbmNlKGRuLCBETikKKworRnJvbSA2ZWFiZDNjNjc1YTlkMDk2NjdkNjMxOWFj NjVhNjEwNGE2NmI1ZjRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVy IEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDggU2VwIDIwMjYgMTg6 MDQ6NTIgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCA0LzRdIGlwYS1wd2QtZXh0b3A6IGFsbG93IHBh c3N3b3JkIGV4cGlyYXRpb24gb3ZlcnJpZGUgb24KKyBjcmVhdGUKKworUGVybWl0IHRvIGNyZWF0 ZSBhY2NvdW50cyB3aXRoIGEgbGltaXRlZCBwcmluY2lwYWwgcGFzc3dvcmQgZXhwaXJhdGlvbgor YnV0IG5vdCBiZXlvbmQgd2hhdCBLZXJiZXJvcyBwYXNzd29yZCBwb2xpY3kgZGVmaW5lcyBmb3Ig dGhpcyBhY2NvdW50LgorCitBZGRpdGlvbmFsbHksIGZpeCB0aW1lem9uZS1yZWxhdGVkIGJ1Z3Mg aW4gc2V0dGluZyBwYXNzd29yZCBleHBpcmF0aW9uLgorCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5k ZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KKy0tLQorIC4uLi9pcGEtc2xhcGktcGx1 Z2lucy9pcGEtcHdkLWV4dG9wL2NvbW1vbi5jICB8ICAyICstCisgLi4uL2lwYS1zbGFwaS1wbHVn aW5zL2lwYS1wd2QtZXh0b3AvcHJlcG9zdC5jIHwgNTAgKysrKysrKysrKysKKyBpcGFweXRob24v aXBhbGRhcC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMSArKysrLQorIGlwYXRlc3Rz L3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5weSAgICB8IDg2ICsrKysrKysrKysrKysr KysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDE1NCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvZGFlbW9ucy9pcGEtc2xhcGktcGx1Z2lucy9pcGEtcHdkLWV4dG9w L2NvbW1vbi5jIGIvZGFlbW9ucy9pcGEtc2xhcGktcGx1Z2lucy9pcGEtcHdkLWV4dG9wL2NvbW1v bi5jCitpbmRleCA3MTY0MjU0MGEyMC4uZWJhZTA0NjViNjYgMTAwNjQ0CistLS0gYS9kYWVtb25z L2lwYS1zbGFwaS1wbHVnaW5zL2lwYS1wd2QtZXh0b3AvY29tbW9uLmMKKysrKyBiL2RhZW1vbnMv aXBhLXNsYXBpLXBsdWdpbnMvaXBhLXB3ZC1leHRvcC9jb21tb24uYworQEAgLTc5OSw3ICs3OTks NyBAQCBpbnQgaXBhcHdkX3NldGRhdGUoU2xhcGlfRW50cnkgKnNvdXJjZSwgU2xhcGlfTW9kcyAq c21vZHMsIGNvbnN0IGNoYXIgKmF0dHIsCisgICAgIFNsYXBpX0F0dHIgKnQ7CisgICAgIGJvb2wg ZXhpc3RzOworIAorLSAgICBleGlzdHMgPSAoc2xhcGlfZW50cnlfYXR0cl9maW5kKHNvdXJjZSwg YXR0ciwgJnQpID09IDApOworKyAgICBleGlzdHMgPSAoc291cmNlICE9IE5VTEwgJiYgc2xhcGlf ZW50cnlfYXR0cl9maW5kKHNvdXJjZSwgYXR0ciwgJnQpID09IDApOworIAorICAgICBpZiAocmVt b3ZlKSB7CisgICAgICAgICBpZiAoZXhpc3RzKSB7CitkaWZmIC0tZ2l0IGEvZGFlbW9ucy9pcGEt c2xhcGktcGx1Z2lucy9pcGEtcHdkLWV4dG9wL3ByZXBvc3QuYyBiL2RhZW1vbnMvaXBhLXNsYXBp LXBsdWdpbnMvaXBhLXB3ZC1leHRvcC9wcmVwb3N0LmMKK2luZGV4IDRiZmQ2MGU3YzNmLi43MWNj YzVmMDcxMiAxMDA2NDQKKy0tLSBhL2RhZW1vbnMvaXBhLXNsYXBpLXBsdWdpbnMvaXBhLXB3ZC1l eHRvcC9wcmVwb3N0LmMKKysrKyBiL2RhZW1vbnMvaXBhLXNsYXBpLXBsdWdpbnMvaXBhLXB3ZC1l eHRvcC9wcmVwb3N0LmMKK0BAIC00MDAsNiArNDAwLDQwIEBAIHN0YXRpYyBpbnQgaXBhcHdkX3By ZV9hZGQoU2xhcGlfUEJsb2NrICpwYikKKyAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgfQorIAor KyAgICAvKiBJZiB0aGUgZW50cnkgYmVpbmcgYWRkZWQgYWxyZWFkeSBjYXJyaWVzIGEga3JiUGFz c3dvcmRFeHBpcmF0aW9uLCB0cmVhdAorKyAgICAgKiBpdCBhcyBhbiBleHBsaWNpdCByZXF1ZXN0 LiBBbiBleHBsaWNpdCByZXF1ZXN0IG92ZXJyaWRlcyB0aGUgZGVmYXVsdAorKyAgICAgKiBleHBp cmF0aW9uIGRlcml2ZWQgYnkgaXBhcHdkX0NoZWNrUG9saWN5ICh3aGljaCwgZm9yIGFuIGFkbWlu LXNldAorKyAgICAgKiBwYXNzd29yZCwgZm9yY2UtZXhwaXJlcyB0aGUgYWNjb3VudCksIGJ1dCBp cyBzdGlsbCBjYXBwZWQgYXQgdGhlIHBvbGljeQorKyAgICAgKiBtYXhpbXVtIGxpZmV0aW1lIC0t IGEgcGFzc3dvcmQgbXVzdCBuZXZlciBvdXRsaXZlIHBvbGljeS4gQQorKyAgICAgKiBtYXhfcHdk X2xpZmUgb2YgMCBtZWFucyAibmV2ZXIgZXhwaXJlIi4KKysgICAgICoKKysgICAgICogVGhpcyBp cyBvbmx5IG1lYW5pbmdmdWwgb24gTERBUCBBREQsIHdoZXJlIHRoZSBhdHRyaWJ1dGUgdmFsdWUg aXMgdGhlCisrICAgICAqIHJlcXVlc3Q7IG9uIGEgcGFzc3dvcmQgY2hhbmdlIGl0IGhvbGRzIHRo ZSBwcmV2aW91cyBleHBpcmF0aW9uIGFuZCBtdXN0CisrICAgICAqIG5vdCBjb25zdHJhaW4gdGhl IG5ldyBvbmUuICovCisrICAgIHsKKysgICAgICAgIGNoYXIgKnJlcV9leHBfc3RyOworKyAgICAg ICAgdGltZV90IHJlcV9leHA7CisrCisrICAgICAgICByZXFfZXhwX3N0ciA9IHNsYXBpX2VudHJ5 X2F0dHJfZ2V0X2NoYXJwdHIoZSwgImtyYlBhc3N3b3JkRXhwaXJhdGlvbiIpOworKyAgICAgICAg cmVxX2V4cCA9IGlwYXB3ZF9nZW50aW1lX3RvX3RpbWVfdChyZXFfZXhwX3N0cik7CisrICAgICAg ICBzbGFwaV9jaF9mcmVlX3N0cmluZygmcmVxX2V4cF9zdHIpOworKworKyAgICAgICAgaWYgKHJl cV9leHAgIT0gMCkgeworKyAgICAgICAgICAgIHRpbWVfdCBwb2xpY3lfbWF4ID0gMDsKKysKKysg ICAgICAgICAgICBpZiAocHdkb3AtPnB3ZGF0YS5wb2xpY3kubWF4X3B3ZF9saWZlID4gMCkgewor KyAgICAgICAgICAgICAgICBwb2xpY3lfbWF4ID0gcHdkb3AtPnB3ZGF0YS50aW1lTm93ICsKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB3ZG9wLT5wd2RhdGEucG9saWN5Lm1heF9wd2Rf bGlmZTsKKysgICAgICAgICAgICB9CisrCisrICAgICAgICAgICAgaWYgKHBvbGljeV9tYXggIT0g MCAmJiByZXFfZXhwID4gcG9saWN5X21heCkgeworKyAgICAgICAgICAgICAgICBwd2RvcC0+cHdk YXRhLmV4cGlyZVRpbWUgPSBwb2xpY3lfbWF4OworKyAgICAgICAgICAgIH0gZWxzZSB7CisrICAg ICAgICAgICAgICAgIHB3ZG9wLT5wd2RhdGEuZXhwaXJlVGltZSA9IHJlcV9leHA7CisrICAgICAg ICAgICAgfQorKyAgICAgICAgfQorKyAgICB9CisrCisgICAgIGlmIChpc19rcmIgfHwgaXNfc21i IHx8IGlzX2lwYW50KSB7CisgCisgICAgICAgICBTbGFwaV9WYWx1ZSAqKnN2YWxzID0gTlVMTDsK K0BAIC0xMTUwLDYgKzExODQsMjIgQEAgc3RhdGljIGludCBpcGFwd2RfcG9zdF9tb2RhZGQoU2xh cGlfUEJsb2NrICpwYikKKyAgICAgICAgIH0KKyAgICAgfQorIAorKyAgICAvKiBUaGUgZGF0ZS1z ZXR0aW5nIGFuZCBncmFjZS10aW1lIGxvZ2ljIGJlbG93IG5lZWRzIHRoZSBjdXJyZW50IGVudHJ5 IHRvCisrICAgICAqIGRldGVjdCBhbHJlYWR5LXByZXNlbnQgc2luZ2xlLXZhbHVlZCBhdHRyaWJ1 dGVzIChlLmcuIGEgY2xpZW50LXN1cHBsaWVkCisrICAgICAqIGtyYlBhc3N3b3JkRXhwaXJhdGlv biBvbiBhZGQpIHNvIGlwYXB3ZF9zZXRkYXRlIGNhbiBSRVBMQUNFIHJhdGhlciB0aGFuCisrICAg ICAqIGFwcGVuZCBhIGR1cGxpY2F0ZSB2YWx1ZS4gT24gYWRkIC0tIGFuZCBvbiBwYXNzd29yZCBj aGFuZ2VzIHRoYXQgc2tpcHBlZAorKyAgICAgKiBoaXN0b3J5IC0tIHB3ZGF0YS50YXJnZXQgaXMg c3RpbGwgTlVMTCwgc28gZmV0Y2ggdGhlIGp1c3QtY29tbWl0dGVkIGVudHJ5CisrICAgICAqIChm cmVlZCB3aXRoIHRoZSBtb2QgcGF0aCdzIGVudHJ5IGF0ICdkb25lJykuICovCisrICAgIGlmIChw d2RvcC0+cHdkYXRhLnRhcmdldCA9PSBOVUxMKSB7CisrICAgICAgICBTbGFwaV9ETiAqdG1wX2Ru ID0gc2xhcGlfc2RuX25ld19kbl9ieXJlZihwd2RvcC0+cHdkYXRhLmRuKTsKKysgICAgICAgIGlm ICh0bXBfZG4pIHsKKysgICAgICAgICAgICAodm9pZClzbGFwaV9zZWFyY2hfaW50ZXJuYWxfZ2V0 X2VudHJ5KHRtcF9kbiwgMCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZwd2RvcC0+cHdkYXRhLnRhcmdldCwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwYXB3ZF9wbHVnaW5faWQpOworKyAgICAg ICAgICAgIHNsYXBpX3Nkbl9mcmVlKCZ0bXBfZG4pOworKyAgICAgICAgfQorKyAgICB9CisrCisg ICAgIC8qIHdlIGFzc3VtZSB0aGF0IGtyYiBhdHRyaWJ1dGVzIGFyZSBwcm9wZXJseSB1cGRhdGVk IHRvbyBpZiBrZXlzIHdlcmUKKyAgICAgICogcGFzc2VkIGluICovCisgICAgIGlmICghcHdkb3At PnNraXBfa2V5cykgeworZGlmZiAtLWdpdCBhL2lwYXB5dGhvbi9pcGFsZGFwLnB5IGIvaXBhcHl0 aG9uL2lwYWxkYXAucHkKK2luZGV4IDFlNTZhYWQ4N2Q4Li5hM2YxMzE5YzQzMSAxMDA2NDQKKy0t LSBhL2lwYXB5dGhvbi9pcGFsZGFwLnB5CisrKysgYi9pcGFweXRob24vaXBhbGRhcC5weQorQEAg LTIzLDcgKzIzLDcgQEAKKyBpbXBvcnQgZXJybm8KKyBpbXBvcnQgbG9nZ2luZworIGltcG9ydCB0 aW1lCistZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKKytmcm9tIGRhdGV0aW1lIGltcG9y dCBkYXRldGltZSwgdGltZXpvbmUKKyBmcm9tIGRlY2ltYWwgaW1wb3J0IERlY2ltYWwKKyBmcm9t IGNvcHkgaW1wb3J0IGRlZXBjb3B5CisgaW1wb3J0IGNvbnRleHRsaWIKK0BAIC05NzIsNiArOTcy LDIwIEBAIGRlZiBnZXRfYXR0cmlidXRlX3NpbmdsZV92YWx1ZShzZWxmLCBuYW1lX29yX29pZCk6 CisgCisgICAgICAgICByZXR1cm4gTm9uZQorIAorKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRl ZiBfZW5jb2RlX2RhdGV0aW1lKHZhbCk6CisrICAgICAgICAiIiJUcmFuc2xhdGUgYSBkYXRldGlt ZSB0byBhbiBMREFQIEdlbmVyYWxpemVkVGltZSBzdHJpbmcuCisrCisrICAgICAgICBUaGUgR2Vu ZXJhbGl6ZWRUaW1lIGZvcm1hdCB1c2VkIGhlcmUgKGBgLi4uWmBgKSBkZW5vdGVzIFVUQywgc28g YQorKyAgICAgICAgdGltZXpvbmUtYXdhcmUgdmFsdWUgbXVzdCBiZSBjb252ZXJ0ZWQgdG8gVVRD IGZpcnN0OyBvdGhlcndpc2UgaXRzCisrICAgICAgICB3YWxsLWNsb2NrIGNvbXBvbmVudHMgd291 bGQgYmUgZW1pdHRlZCB2ZXJiYXRpbSBhbmQgbWlzbGFiZWxsZWQgYXMKKysgICAgICAgIFVUQy4g QSBuYWl2ZSBkYXRldGltZSBpcyBhc3N1bWVkIHRvIGFscmVhZHkgYmUgaW4gVVRDICh0aGUgY29u dmVudGlvbgorKyAgICAgICAgdXNlZCB0aHJvdWdob3V0IElQQSkuCisrICAgICAgICAiIiIKKysg ICAgICAgIGlmIHZhbC50emluZm8gaXMgbm90IE5vbmU6CisrICAgICAgICAgICAgdmFsID0gdmFs LmFzdGltZXpvbmUodGltZXpvbmUudXRjKQorKyAgICAgICAgcmV0dXJuIHZhbC5zdHJmdGltZShM REFQX0dFTkVSQUxJWkVEX1RJTUVfRk9STUFUKQorKworICAgICBkZWYgZW5jb2RlKHNlbGYsIHZh bCk6CisgICAgICAgICAiIiIKKyAgICAgICAgIEVuY29kZSBhdHRyaWJ1dGUgdmFsdWUgdG8gTERB UCByZXByZXNlbnRhdGlvbiAoc3RyL2J5dGVzKS4KK0BAIC05OTksNyArMTAxMyw3IEBAIGRlZiBl bmNvZGUoc2VsZiwgdmFsKToKKyAgICAgICAgICAgICBkY3QgPSBkaWN0KChrLCBzZWxmLmVuY29k ZSh2KSkgZm9yIGssIHYgaW4gdmFsLml0ZW1zKCkpCisgICAgICAgICAgICAgcmV0dXJuIGRjdAor ICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHZhbCwgZGF0ZXRpbWUpOgorLSAgICAgICAgICAgIHJl dHVybiB2YWwuc3RyZnRpbWUoTERBUF9HRU5FUkFMSVpFRF9USU1FX0ZPUk1BVCkuZW5jb2RlKCd1 dGYtOCcpCisrICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2VuY29kZV9kYXRldGltZSh2YWwpLmVu Y29kZSgndXRmLTgnKQorICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHZhbCwgeDUwOS5JUEFDZXJ0 aWZpY2F0ZSk6CisgICAgICAgICAgICAgcmV0dXJuIHZhbC5wdWJsaWNfYnl0ZXMoeDUwOS5FbmNv ZGluZy5ERVIpCisgICAgICAgICBlbGlmIHZhbCBpcyBOb25lOgorQEAgLTEzODksOCArMTQwMyw3 IEBAIGRlZiBtYWtlX2ZpbHRlcl9mcm9tX2F0dHIoCisgICAgICAgICAgICAgICAgIHZhbHVlID0g dSdcXCcuam9pbigKKyAgICAgICAgICAgICAgICAgICAgIHZhbHVlW2k6aSsyXSBmb3IgaSBpbiBz aXgubW92ZXMucmFuZ2UoLTIsIGxlbih2YWx1ZSksIDIpKQorICAgICAgICAgICAgIGVsaWYgaXNp bnN0YW5jZSh2YWx1ZSwgZGF0ZXRpbWUpOgorLSAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVl LnN0cmZ0aW1lKAorLSAgICAgICAgICAgICAgICAgICAgTERBUF9HRU5FUkFMSVpFRF9USU1FX0ZP Uk1BVCkKKysgICAgICAgICAgICAgICAgdmFsdWUgPSBjbHMuX2VuY29kZV9kYXRldGltZSh2YWx1 ZSkKKyAgICAgICAgICAgICAgICAgdmFsdWUgPSBsZGFwLmZpbHRlci5lc2NhcGVfZmlsdGVyX2No YXJzKHZhbHVlKQorICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIHZhbHVlID0g c3RyKHZhbHVlKQorZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9j b21tYW5kcy5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5weQor aW5kZXggNGQyMjFhYmMyMDguLmQzNzBiNDlhMDViIDEwMDY0NAorLS0tIGEvaXBhdGVzdHMvdGVz dF9pbnRlZ3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5CisrKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVn cmF0aW9uL3Rlc3RfY29tbWFuZHMucHkKK0BAIC00NzEsNiArNDcxLDkyIEBAIGRlZiB0ZXN0X2No YW5nZV9zeXNhY2NvdW50X3Bhc3N3b3JkX2lzc3VlNzU2MShzZWxmKToKKyAgICAgICAgIHRhc2tz LmxkYXBwYXNzd2Rfc3lzYWNjb3VudF9jaGFuZ2Uoc3lzdXNlciwgb3JpZ2luYWxfcGFzc3dkLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfcGFzc3dkLCBt YXN0ZXIpCisgCisrICAgIGRlZiB0ZXN0X3VzZXJfYWRkX3Bhc3N3b3JkX2V4cGlyYXRpb25fYm91 bmRlZF9ieV9wb2xpY3koc2VsZik6CisrICAgICAgICAiIiJ1c2VyLWFkZCB3aXRoIC0tcGFzc3dv cmQgYW5kIGFuIGV4cGxpY2l0IC0tcGFzc3dvcmQtZXhwaXJhdGlvbi4KKysKKysgICAgICAgIFRo ZSBpcGEtcHdkLWV4dG9wIERTIHBsdWdpbiBtdXN0OgorKyAgICAgICAgICAqIHN0b3JlIGEgc2lu Z2xlIHZhbHVlIG9mIHRoZSBzaW5nbGUtdmFsdWVkIGtyYlBhc3N3b3JkRXhwaXJhdGlvbgorKyAg ICAgICAgICAgIGF0dHJpYnV0ZSAoaXQgdXNlZCB0byBhcHBlbmQgYSBzZWNvbmQsIHBvbGljeS1k ZXJpdmVkIHZhbHVlIG9uIGFkZCwKKysgICAgICAgICAgICBmYWlsaW5nIHRoZSBvcGVyYXRpb24g d2l0aCBhIHNjaGVtYSB2aW9sYXRpb24pLCBhbmQKKysgICAgICAgICAgKiBob25vciBhbiBleHBs aWNpdGx5IHJlcXVlc3RlZCBleHBpcmF0aW9uIGJ1dCBib3VuZCBpdCBieSB0aGUKKysgICAgICAg ICAgICBlZmZlY3RpdmUgcGFzc3dvcmQgcG9saWN5LCBzbyBhIHBhc3N3b3JkIG5ldmVyIG91dGxp dmVzIHBvbGljeS4KKysgICAgICAgICIiIgorKyAgICAgICAgbWFzdGVyID0gc2VsZi5tYXN0ZXIK KysgICAgICAgIHRhc2tzLmtpbml0X2FkbWluKG1hc3RlcikKKysgICAgICAgIGJhc2VfZG4gPSBz dHIobWFzdGVyLmRvbWFpbi5iYXNlZG4pCisrCisrICAgICAgICAjIEVmZmVjdGl2ZSBnbG9iYWwg cG9saWN5IG1heGltdW0gcGFzc3dvcmQgbGlmZXRpbWUsIGluIHNlY29uZHMKKysgICAgICAgICMg KGtyYk1heFB3ZExpZmUgaXMgc3RvcmVkIGluIHNlY29uZHM7IDAgbWVhbnMgIm5ldmVyIGV4cGly ZSIpLgorKyAgICAgICAgcmVzdWx0ID0gbWFzdGVyLnJ1bl9jb21tYW5kKFsnaXBhJywgJ3B3cG9s aWN5LXNob3cnLCAnLS1yYXcnXSkKKysgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHIna3JibWF4 cHdkbGlmZTpccyooXGQrKScsIHJlc3VsdC5zdGRvdXRfdGV4dCkKKysgICAgICAgIG1heF9saWZl X3NlY3MgPSBpbnQobWF0Y2guZ3JvdXAoMSkpIGlmIG1hdGNoIGVsc2UgMAorKworKyAgICAgICAg ZGVmIGFkZF91c2VyKHVzZXIsIGV4cF9kdCk6CisrICAgICAgICAgICAgbWFzdGVyLnJ1bl9jb21t YW5kKAorKyAgICAgICAgICAgICAgICBbJ2lwYScsICd1c2VyLWFkZCcsIHVzZXIsICctLWZpcnN0 JywgdXNlciwgJy0tbGFzdCcsIHVzZXIsCisrICAgICAgICAgICAgICAgICAnLS1wYXNzd29yZCcs ICctLXBhc3N3b3JkLWV4cGlyYXRpb24nLAorKyAgICAgICAgICAgICAgICAgZXhwX2R0LnN0cmZ0 aW1lKCclWSVtJWQlSCVNJVNaJyldLAorKyAgICAgICAgICAgICAgICBzdGRpbl90ZXh0PSdTZWNy ZXQxMjNcblNlY3JldDEyM1xuJykKKysKKysgICAgICAgIGRlZiBzdG9yZWRfZXhwaXJhdGlvbnMo dXNlcik6CisrICAgICAgICAgICAgcmVzdWx0ID0gdGFza3MubGRhcHNlYXJjaF9kbSgKKysgICAg ICAgICAgICAgICAgbWFzdGVyLAorKyAgICAgICAgICAgICAgICAndWlkPXt1c2VyfSxjbj11c2Vy cyxjbj1hY2NvdW50cyx7YmFzZV9kbn0nLmZvcm1hdCgKKysgICAgICAgICAgICAgICAgICAgIHVz ZXI9dXNlciwgYmFzZV9kbj1iYXNlX2RuKSwKKysgICAgICAgICAgICAgICAgWydrcmJwYXNzd29y ZGV4cGlyYXRpb24nXSwKKysgICAgICAgICAgICAgICAgc2NvcGU9J2Jhc2UnKQorKyAgICAgICAg ICAgIHZhbHVlcyA9IHJlLmZpbmRhbGwocidrcmJwYXNzd29yZGV4cGlyYXRpb246IChcUyspJywK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5zdGRvdXRfdGV4dC5sb3dl cigpKQorKyAgICAgICAgICAgIHJldHVybiBbZGF0ZXRpbWUuc3RycHRpbWUodi5zdHJpcCgpLnVw cGVyKCksICclWSVtJWQlSCVNJVNaJykKKysgICAgICAgICAgICAgICAgICAgIGZvciB2IGluIHZh bHVlc10KKysKKysgICAgICAgICMgQSByZXF1ZXN0IGNvbWZvcnRhYmx5IHdpdGhpbiBwb2xpY3kg bXVzdCBiZSBob25vcmVkIHZlcmJhdGltLgorKyAgICAgICAgd2l0aGluX3VzZXIgPSAncHdkZXhw d2l0aGluJworKyAgICAgICAgaWYgbWF4X2xpZmVfc2VjczoKKysgICAgICAgICAgICB3aXRoaW5f ZGVsdGEgPSB0aW1lZGVsdGEoc2Vjb25kcz1taW4obWF4X2xpZmVfc2VjcyAvLyAyLCA4NjQwMCkp CisrICAgICAgICBlbHNlOgorKyAgICAgICAgICAgIHdpdGhpbl9kZWx0YSA9IHRpbWVkZWx0YShk YXlzPTEpCisrICAgICAgICByZXF1ZXN0ZWQgPSBkYXRldGltZS51dGNub3coKSArIHdpdGhpbl9k ZWx0YQorKyAgICAgICAgIyBzZWNvbmQgcHJlY2lzaW9uIG9ubHk6IGtyYlBhc3N3b3JkRXhwaXJh dGlvbiBoYXMgbm8gc3ViLXNlY29uZCBwYXJ0CisrICAgICAgICByZXF1ZXN0ZWQgPSByZXF1ZXN0 ZWQucmVwbGFjZShtaWNyb3NlY29uZD0wKQorKyAgICAgICAgdHJ5OgorKyAgICAgICAgICAgIGFk ZF91c2VyKHdpdGhpbl91c2VyLCByZXF1ZXN0ZWQpCisrICAgICAgICAgICAgc3RvcmVkID0gc3Rv cmVkX2V4cGlyYXRpb25zKHdpdGhpbl91c2VyKQorKyAgICAgICAgICAgIGFzc2VydCBsZW4oc3Rv cmVkKSA9PSAxLCAoCisrICAgICAgICAgICAgICAgICdrcmJQYXNzd29yZEV4cGlyYXRpb24gbXVz dCBiZSBzaW5nbGUtdmFsdWVkLCBnb3QgJXInICUgc3RvcmVkKQorKyAgICAgICAgICAgIGFzc2Vy dCBhYnMoKHN0b3JlZFswXSAtIHJlcXVlc3RlZCkudG90YWxfc2Vjb25kcygpKSA8IDEyMCwgKAor KyAgICAgICAgICAgICAgICAnd2l0aGluLXBvbGljeSByZXF1ZXN0ICVzIG5vdCBob25vcmVkLCBz dG9yZWQgJXMnCisrICAgICAgICAgICAgICAgICUgKHJlcXVlc3RlZCwgc3RvcmVkWzBdKSkKKysg ICAgICAgIGZpbmFsbHk6CisrICAgICAgICAgICAgbWFzdGVyLnJ1bl9jb21tYW5kKFsnaXBhJywg J3VzZXItZGVsJywgd2l0aGluX3VzZXJdLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByYWlzZW9uZXJyPUZhbHNlKQorKworKyAgICAgICAgIyBBIHJlcXVlc3QgZmFyIGJleW9uZCBw b2xpY3kgbXVzdCBiZSBjYXBwZWQgYXQgdGhlIHBvbGljeSBtYXhpbXVtCisrICAgICAgICAjIChv bmx5IG1lYW5pbmdmdWwgd2hlbiB0aGUgcG9saWN5IGFjdHVhbGx5IHNldHMgYSBtYXhpbXVtIGxp ZmV0aW1lKS4KKysgICAgICAgIGlmIG1heF9saWZlX3NlY3M6CisrICAgICAgICAgICAgb3Zlcl91 c2VyID0gJ3B3ZGV4cG92ZXInCisrICAgICAgICAgICAgcmVxdWVzdGVkID0gKGRhdGV0aW1lLnV0 Y25vdygpCisrICAgICAgICAgICAgICAgICAgICAgICAgICsgdGltZWRlbHRhKHNlY29uZHM9bWF4 X2xpZmVfc2VjcykKKysgICAgICAgICAgICAgICAgICAgICAgICAgKyB0aW1lZGVsdGEoZGF5cz0z NjUwKSkKKysgICAgICAgICAgICByZXF1ZXN0ZWQgPSByZXF1ZXN0ZWQucmVwbGFjZShtaWNyb3Nl Y29uZD0wKQorKyAgICAgICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgYWRkX3VzZXIob3Zl cl91c2VyLCByZXF1ZXN0ZWQpCisrICAgICAgICAgICAgICAgIHN0b3JlZCA9IHN0b3JlZF9leHBp cmF0aW9ucyhvdmVyX3VzZXIpCisrICAgICAgICAgICAgICAgIGFzc2VydCBsZW4oc3RvcmVkKSA9 PSAxLCAoCisrICAgICAgICAgICAgICAgICAgICAna3JiUGFzc3dvcmRFeHBpcmF0aW9uIG11c3Qg YmUgc2luZ2xlLXZhbHVlZCwgZ290ICVyJworKyAgICAgICAgICAgICAgICAgICAgJSBzdG9yZWQp CisrICAgICAgICAgICAgICAgIGFzc2VydCBzdG9yZWRbMF0gPCByZXF1ZXN0ZWQgLSB0aW1lZGVs dGEoZGF5cz0xKSwgKAorKyAgICAgICAgICAgICAgICAgICAgJ2JleW9uZC1wb2xpY3kgcmVxdWVz dCB3YXMgbm90IGNhcHBlZCwgc3RvcmVkICVzJworKyAgICAgICAgICAgICAgICAgICAgJSBzdG9y ZWRbMF0pCisrICAgICAgICAgICAgICAgIGNhcCA9IChkYXRldGltZS51dGNub3coKSArIHRpbWVk ZWx0YShzZWNvbmRzPW1heF9saWZlX3NlY3MpCisrICAgICAgICAgICAgICAgICAgICAgICArIHRp bWVkZWx0YShkYXlzPTEpKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgc3RvcmVkWzBdIDw9IGNh cCwgKAorKyAgICAgICAgICAgICAgICAgICAgJ3N0b3JlZCBleHBpcmF0aW9uICVzIGV4Y2VlZHMg cG9saWN5IGNhcCAlcycKKysgICAgICAgICAgICAgICAgICAgICUgKHN0b3JlZFswXSwgY2FwKSkK KysgICAgICAgICAgICBmaW5hbGx5OgorKyAgICAgICAgICAgICAgICBtYXN0ZXIucnVuX2NvbW1h bmQoWydpcGEnLCAndXNlci1kZWwnLCBvdmVyX3VzZXJdLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmFpc2VvbmVycj1GYWxzZSkKKysKKyAgICAgZGVmIGdldF9rcmJpbmZv KHNlbGYsIHVzZXIpOgorICAgICAgICAgYmFzZV9kbiA9IHN0cihzZWxmLm1hc3Rlci5kb21haW4u YmFzZWRuKQorICAgICAgICAgcmVzdWx0ID0gdGFza3MubGRhcHNlYXJjaF9kbSgKCmRpZmYgLS1n aXQgYS9mcmVlaXBhLnNwZWMgYi9mcmVlaXBhLnNwZWMKaW5kZXggOThmOWU3Yi4uMTBmNWE2YyAx MDA2NDQKLS0tIGEvZnJlZWlwYS5zcGVjCisrKyBiL2ZyZWVpcGEuc3BlYwpAQCAtMjExLDcgKzIx MSw3IEBACiAKIE5hbWU6ICAgICAgICAgICAle3BhY2thZ2VfbmFtZX0KIFZlcnNpb246ICAgICAg ICAle0lQQV9WRVJTSU9OfQotUmVsZWFzZTogICAgICAgIDEuMiV7P3JjX3ZlcnNpb246LiVyY192 ZXJzaW9ufSV7P2Rpc3R9CitSZWxlYXNlOiAgICAgICAgMiV7P3JjX3ZlcnNpb246LiVyY192ZXJz aW9ufSV7P2Rpc3R9CiBTdW1tYXJ5OiAgICAgICAgVGhlIElkZW50aXR5LCBQb2xpY3kgYW5kIEF1 ZGl0IHN5c3RlbQogCiBMaWNlbnNlOiAgICAgICAgR1BMLTMuMC1vci1sYXRlcgpAQCAtMTk3NCw2 ICsxOTc0LDEwIEBAIGZpCiAlZW5kaWYKIAogJWNoYW5nZWxvZworKiBTYXQgU2VwIDE5IDIwMjYg QWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+IC0gNC4xMy40LTIKKy0gVXBk YXRlIHBvc3QtNC4xMy40LXJlbGVhc2UgcGF0Y2hlcworLSBSZWJ1aWxkIGFnYWluc3QgU2FtYmEg NC4yNS4wLVJDMgorCiAqIE1vbiBTZXAgMDcgMjAyNiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292 b3lAcmVkaGF0LmNvbT4gLSA0LjEzLjQtMS4yCiAtIEZpbmUtdHVuZSBwcml2aWxlZ2UgY2hlY2tz ICh1cHN0cmVhbSBQUiA4NTU4KQogCg==