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: Sergio Durigan Junior To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: - Rebase to FSF GDB 8.0.50.20171204 (8.1pre). Date: Sat, 27 Jun 2026 23:58:24 GMT Message-ID: <178260470449.1.15868907332273797337.rpms-gdb-f637971ee3a8@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: f637971ee3a84a49b66aebeea4d4818583412ab8 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogZjYzNzk3MWVlM2E4NGE0OWI2NmFlYmVlYTRkNDgxODU4MzQx MmFiOAogICAgICAgICAgICBBdXRob3IgOiBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgPHNlcmdpb2Rq QHJlZGhhdC5jb20+CiAgICAgICAgICAgIERhdGUgICA6IDIwMTctMTItMDdUMjM6MzE6MjYtMDU6 MDAKICAgICAgICAgICAgU3RhdHMgIDogKzk2NTYvLTE0Mzg1IGluIDE4MyBmaWxlKHMpCiAgICAg ICAgICAgIFVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2RiL2Mv ZjYzNzk3MWVlM2E4NGE0OWI2NmFlYmVlYTRkNDgxODU4MzQxMmFiOD9icmFuY2g9Z2RiLTE3LjIt cmViYXNlLWY0NAoKICAgICAgICAgICAgTG9nOgogICAgICAgICAgICAtIFJlYmFzZSB0byBGU0Yg R0RCIDguMC41MC4yMDE3MTIwNCAoOC4xcHJlKS4KLSBJbXBsZW1lbnRlZCBuZXcgbWV0aG9kIGZv ciBkZWFsaW5nIHdpdGggbG9jYWwgcGF0Y2hlcy4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9y ZSBiLy5naXRpZ25vcmUKaW5kZXggYjlhNTRiYi4uNjIyMzliNCAxMDA2NDQKLS0tIGEvLmdpdGln bm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0xLDMgKzEsNCBAQAogL2dkYi1saWJzdGRjKystdjMt cHl0aG9uLTcuMS4xLTIwMTcwNTI2LnRhci54egogL3YxLjYuMS50YXIuZ3oKIC9nZGItOC4wLjEu dGFyLnh6CisvZ2RiLTguMC41MC4yMDE3MTIwNC50YXIueHoKCmRpZmYgLS1naXQgYS9SRUFETUUu bG9jYWwtcGF0Y2hlcyBiL1JFQURNRS5sb2NhbC1wYXRjaGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmMxYzdhYjMKLS0tIC9kZXYvbnVsbAorKysgYi9SRUFETUUubG9jYWwt cGF0Y2hlcwpAQCAtMCwwICsxLDk2IEBACitGZWRvcmEgR0RCIGxvY2FsIHBhdGNoZXMgcG9saWN5 Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0luIG9yZGVyIHRvIG1ha2UgdGhp bmdzIGVhc2llciBmb3IgdGhlIEZlZG9yYSBHREIgbWFpbnRhaW5lciwgd2UKK2Nob29zZSB0byBh dXRvLWdlbmVyYXRlIHRoZSBsb2NhbCBwYXRjaGVzIGJ5IG1ha2luZyB1c2Ugb2YgYW4gdXBzdHJl YW0KK2dpdCByZXBvc2l0b3J5LiAgQmVsb3cgeW91IGNhbiBmaW5kIGEgZmV3IGluc3RydWN0aW9u cyBvbiBob3cgdG8gd29yawordXNpbmcgdGhpcyBtZXRob2QuCisKK1lvdSBuZWVkIHRvIHJ1biB0 aGUgZm9sbG93aW5nIGNvbW1hbmRzIGZyb20gdGhlIGRpcmVjdG9yeSB0aGF0Citjb250YWlucyB0 aGUgImdkYi5zcGVjIiBmaWxlLgorCisjIyMgSW1wb3J0aW5nIHRoZSBHREIgcGF0Y2hlcyBpbnRv IGEgZ2l0IHJlcG9zaXRvcnkKKworMSkgVGhlIGxvY2FsIHBhdGNoZXMgKCoucGF0Y2gpIG5lZWQg dG8gYmUgaW1wb3J0ZWQgaW50byBhbiB1cHN0cmVhbQorZ2l0IHJlcG9zaXRvcnkuICBGb3IgZXhh bXBsZSwgbGV0J3MgYXNzdW1lIHlvdSBjbG9uZWQgdGhlIHJlcG9zaXRvcnkKK2J5IGRvaW5nOgor CisgICQgZ2l0IGNsb25lIGdpdDovL3NvdXJjZXdhcmUub3JnL2dpdC9iaW51dGlscy1nZGIuZ2l0 CisKKyAgIyMgVElQOiBpZiB5b3UgYWxyZWFkeSBoYXZlIHRoZSByZXBvc2l0b3J5IGNsb25lZCBz b21ld2hlcmUgaW4geW91cgorICAjIyBzeXN0ZW0sIHlvdSBjYW4gcGFzcyBhICItLXJlZmVyZW5j ZSA8ZGlyPiIgdG8gdGhlICJnaXQgY2xvbmUiCisgICMjIGNvbW1hbmQgYW5kIGl0IHdpbGwgdXNl IHlvdXIgbG9jYWwgcmVwb3NpdG9yeSBhcyBtdWNoIGFzIHBvc3NpYmxlCisgICMjIHRvIG1ha2Ug dGhlIGNsb25lLCBzcGVlZGluZyB1cCB0aGluZ3MuCisKKzIpIEFmdGVyIGNsb25pbmcgdGhlIHVw c3RyZWFtIHJlcG9zaXRvcnksIHlvdSBjYW4gaW1wb3J0IHlvdXIgcGF0Y2hlcworYnkgdXNpbmcg dGhlIHNjcmlwdCAiZ2VuZXJhdGUtZ2l0LXJlcG8tZnJvbS1wYXRjaGVzLnNoIjoKKworICAkIHNo IGdlbmVyYXRlLWdpdC1yZXBvLWZyb20tcGF0Y2hlcy5zaCA8UkVQT1NJVE9SWV9ESVI+CisKK1Ro ZSBzY3JpcHQgd2lsbCBiYXNpY2FsbHkgY2QgaW50byB0aGUgcmVwb3NpdG9yeSwgY2hlY2tvdXQg dGhlCityZXZpc2lvbiBzcGVjaWZpZWQgaW4gdGhlIGZpbGUgIl9naXRfdXBzdHJlYW1fY29tbWl0 IiwgaXRlcmF0ZSB0aHJvdWdoCit0aGUgZmlsZSAiX3BhdGNoX29yZGVyIiBhbmQgImdpdC1hbSIg ZXZlcnkgcGF0Y2ggKmluIHRoYXQgb3JkZXIqLgorVGhpcyBvcGVyYXRpb24gc2hvdWxkIGNvbXBs ZXRlIHdpdGhvdXQgZXJyb3JzOyBpZiB5b3UgZmluZCBhIHByb2JsZW0KK3dpdGggImdpdC1hbSIs IGl0IHByb2JhYmx5IG1lYW5zIHRoYXQgdGhlIHJldmlzaW9uIHNwZWNpZmllZCBpbiB0aGUKK2Zp bGUgIl9naXRfdXBzdHJlYW1fY29tbWl0IiBpcyB3cm9uZy4KKworIyMjIFJlYmFzaW5nIHRoZSBw YXRjaGVzIGFnYWluc3QgYSBuZXdlciB2ZXJzaW9uL3JlbGVhc2UKKworMSkgRmlyc3QsIGNkIGlu dG8gdGhlIHVwc3RyZWFtIHJlcG9zaXRvcnkuICBBbGwgeW91IGhhdmUgdG8gZG8gaXMKK2Nob29z ZSB0aGUgcmV2aXNpb24gYWdhaW5zdCB3aGljaCB5b3UgcGxhbiB0byByZWJhc2UgdGhlIHBhdGNo ZXMsIGFuZAorImdpdCByZWJhc2UgPFJFVklTSU9OPiIuICBnaXQgd2lsbCBkbyB0aGUgcmVzdCwg YW5kIHlvdSB3aWxsIGJlIGFibGUKK3RvIHBlcmZvcm0gY29uZmxpY3QgcmVzb2x1dGlvbiBieSBn aXQncyBhbGdvcml0aG0sIHdoaWNoIGlzIHNtYXJ0ZXIuCisKKyMjIyBDcmVhdGluZyBuZXcgcGF0 Y2hlcworCisxKSBDcmVhdGUgdGhlIG5ldyBwYXRjaCBvbiB0b3Agb2YgdGhlIHRoZSBvdGhlcnMs IGFzIHVzdWFsLiAgTm90ZSB0aGF0Cit5b3UgY2FuIHVzZSAiZ2l0IHJlYmFzZSIgd2hlbmV2ZXIg eW91IHdhbnQgdG8gcmVvcmRlciBwYXRjaCBvcmRlciwgb3IKK2V2ZW4gdG8gZGVsZXRlIGEgcGF0 Y2guCisKKzIpIFdoZW4gd3JpdGluZyB0aGUgY29tbWl0IGxvZywgeW91IG11c3Qgb2JleSBhIGZl dyBydWxlcy4gIFRoZQorc3ViamVjdCBsaW5lIGNhbiBiZSBhbnl0aGluZywgYnV0IHRoZSBib2R5 ICptdXN0KiBoYXZlIHRoZSBmb2xsb3dpbmcKK3NwZWNpYWwgbGluZToKKworICBGaWxlTmFtZTog bmFtZS1vZi10aGUtcGF0Y2gucGF0Y2gKKworVGhpcyBsaW5lIHdpbGwgYmUgdXNlZCB3aGVuIGV4 cG9ydGluZyB0aGUgcGF0Y2hlcyBmcm9tIHRoZSBnaXQKK3JlcG9zaXRvcnksIGFuZCAob2J2aW91 c2x5KSBpdCBnaXZlcyB0aGUgZmlsZW5hbWUgdGhhdCBzaG91bGQgYmUgdXNlZAorZm9yIHRoaXMg c3BlY2lmaWMgcGF0Y2guCisKKzMpIFlvdSBjYW4gYWxzbyBhZGQgY29tbWVudHMgdGhhdCB3aWxs IGdvIGludG8gdGhlIGF1dG8tZ2VuZXJhdGVkCisiUGF0Y2g6IiBmaWxlIChzZWUgYmVsb3cpLiAg VG8gZG8gdGhhdCwgdXNlIHRoZSBzcGVjaWFsIG1hcmtlciAiOzsiIGF0Cit0aGUgYmVnaW5uaW5n IG9mIHRoZSBsaW5lLiAgVGhpcyB3YXksIGEgY29tbWl0IGxvZyB0aGF0IHNheXM6CisKKyAgRmls ZU5hbWU6IHRlc3QtcGF0Y2gucGF0Y2gKKworICA7OyBUaGlzIGlzIGEgdGVzdCBwYXRjaAorICA7 OyBTZWNvbmQgbGluZQorCitXaWxsIGdlbmVyYXRlIHRoZSBmb2xsb3dpbmcgZW50cnkgaW4gdGhl IGF1dG8tZ2VuZXJhdGVkICJQYXRjaDoiIGZpbGU6CisKKyAgIyBUaGlzIGlzIGEgdGVzdCBwYXRj aAorICAjIFNlY29uZCBsaW5lCisgIFBhdGNoWFlaOiB0ZXN0LXBhdGNoLnBhdGNoCisKKyMjIyBF eHBvcnRpbmcgdGhlIEdEQiBwYXRjaGVzIGZyb20gdGhlIGdpdCByZXBvc2l0b3J5CisKKzEpIFdo ZW4geW91J3JlIGRvbmUgd29ya2luZyB3aXRoIHRoZSBwYXRjaGVzLCBnbyBiYWNrIHRvIHRoZSBk aXJlY3RvcnkKK3RoYXQgY29udGFpbnMgdGhlICJnZGIuc3BlYyIgZmlsZSwgYW5kIGZyb20gdGhl cmUgeW91IHJ1bjoKKworICAkIHNoIGdlbmVyYXRlLXBhdGNoZXMtZnJvbS1naXQtcmVwby5zaCA8 UkVQT1NJVE9SWV9ESVI+CisKK1RoaXMgd2lsbCByZWdlbmVyYXRlIGFsbCBvZiB0aGUgKi5wYXRj aCBmaWxlcyAoZXhjbHVkaW5nIHRoZSBvbmVzIHRoYXQKK3dlcmUgYWxzbyBleGNsdWRlZCBmcm9t IHRoZSBnaXQgcmVwb3NpdG9yeSksIGFuZCBhbHNvIHJlZ2VuZXJhdGUgYSBmZXcKK2NvbnRyb2wg ZmlsZXMuICBUaGVzZSBjb250cm9sIGZpbGVzIGFyZToKKworICAtIF9nZGIuc3BlYy5QYXRjaC5p bmNsdWRlOiBUaGlzIGZpbGUgY29udGFpbnMgdGhlICJQYXRjaDoiIGRpcmVjdGl2ZXMuCisKKyAg LSBfZ2RiLnNwZWMucGF0Y2guaW5jbHVkZTogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSAiJXBhdGNo IiBkaXJlY3RpdmVzLgorCisgIC0gX3BhdGNoX29yZGVyOiBUaGlzIGZpbGUgY29udGFpbnMgdGhl IHBhdGNoZXMsIGluIHRoZSBleGFjdCBvcmRlcgorICAgIHRoYXQgdGhleSBtdXN0IGJlIGFwcGxp ZWQuICBJdCBpcyB1c2VkIHdoZW4gaW1wb3J0aW5nIHRoZSBwYXRjaGVzCisgICAgaW50byB0aGUg Z2l0IHJlcG9zaXRvcnkuCisKKyAgLSBfZ2l0X3Vwc3RyZWFtX2NvbW1pdDogVGhpcyBmaWxlIGNv bnRhaW5zIHRoZSBsYXN0IHVwc3RyZWFtIGNvbW1pdAorICAgIGFnYWluc3Qgd2hpY2ggdGhlIHBh dGNoZXMgd2VyZSByZWJhc2VkLiAgSXQgaXMgdXNlZCB3aGVuIGltcG9ydGluZworICAgIHRoZSBw YXRjaGVzIGludG8gdGhlIGdpdCByZXBvc2l0b3J5LgoKZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5Q YXRjaC5pbmNsdWRlIGIvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uYzNkZmExMwotLS0gL2Rldi9udWxsCisrKyBiL19nZGIuc3BlYy5Q YXRjaC5pbmNsdWRlCkBAIC0wLDAgKzEsNTMxIEBACisjIE1hdGNoIHRoZSBGZWRvcmEncyB2ZXJz aW9uIGluZm8uCisjPWZlZG9yYQorUGF0Y2gwMDE6IGdkYi02LjMtcmgtdGVzdHZlcnNpb24tMjAw NDEyMDIucGF0Y2gKKworIyBWTEEgKEZvcnRyYW4gZHluYW1pYyBhcnJheXMpIGZyb20gSW50ZWwg KyBhcmNoZXItamFua3JhdG9jaHZpbC12bGEgdGVzdHMuCisjPXB1c2gKK1BhdGNoMDAyOiBnZGIt dmxhLWludGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaAorCisjPXB1c2gKK1BhdGNoMDAzOiBnZGIt dmxhLWludGVsLWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2gKKworIz1wdXNoK2phbgorUGF0Y2gw MDQ6IGdkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCisKKyMgV29yayBhcm91bmQgb3V0 LW9mLWRhdGUgZGVqYWdudSB0aGF0IGRvZXMgbm90IGhhdmUgS0ZBSUwKKyM9cHVzaDogVGhhdCBk ZWphZ251IGlzIHRvbyBvbGQgdG8gYmUgc3VwcG9ydGVkLgorUGF0Y2gwMDU6IGdkYi02LjMtcmgt ZHVtbXlrZmFpbC0yMDA0MTIwMi5wYXRjaAorCisjIEJldHRlciBwYXJzZSA2NC1iaXQgUFBDIHN5 c3RlbSBjYWxsIHByb2xvZ3Vlcy4KKyM9cHVzaDogV3JpdGUgbmV3IHRlc3RjYXNlLgorUGF0Y2gw MDY6IGdkYi02LjMtcHBjNjRzeXNjYWxsLTIwMDQwNjIyLnBhdGNoCisKKyMgSW5jbHVkZSB0aGUg cGMncyBzZWN0aW9uIHdoZW4gZG9pbmcgYSBzeW1ib2wgbG9va3VwIHNvIHRoYXQgdGhlCisjIGNv cnJlY3Qgc3ltYm9sIGlzIGZvdW5kLgorIz1wdXNoOiBXcml0ZSBuZXcgdGVzdGNhc2UuCitQYXRj aDAwNzogZ2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKKworIyBBZGQg YSB3cmFwcGVyIHNjcmlwdCB0byBHREIgdGhhdCBpbXBsZW1lbnRzIHBzdGFjayB1c2luZyB0aGUK KyMgLS1yZWFkbmV2ZXIgb3B0aW9uLgorIz1wdXNoCitQYXRjaDAwODogZ2RiLTYuMy1nc3RhY2st MjAwNTA0MTEucGF0Y2gKKworIyBWU1lTQ0FMTCBhbmQgUElFCisjPWZlZG9yYXRlc3QKK1BhdGNo MDA5OiBnZGItNi4zLXRlc3QtcGllLTIwMDUwMTA3LnBhdGNoCisKKyMgR2V0IHNlbGZ0ZXN0IHdv cmtpbmcgd2l0aCBzZXAtZGVidWctaW5mbworIz1mZWRvcmF0ZXN0CitQYXRjaDAxMDogZ2RiLTYu My10ZXN0LXNlbGYtMjAwNTAxMTAucGF0Y2gKKworIyBUZXN0IHN1cHBvcnQgb2YgbXVsdGlwbGUg ZGVzdHJ1Y3RvcnMganVzdCBsaWtlIG11bHRpcGxlIGNvbnN0cnVjdG9ycworIz1mZWRvcmF0ZXN0 CitQYXRjaDAxMTogZ2RiLTYuMy10ZXN0LWR0b3JmaXgtMjAwNTAxMjEucGF0Y2gKKworIyBGaXgg dG8gc3VwcG9ydCBleGVjdXRhYmxlIG1vdmluZworIz1mZWRvcmF0ZXN0CitQYXRjaDAxMjogZ2Ri LTYuMy10ZXN0LW1vdmVkaXItMjAwNTAxMjUucGF0Y2gKKworIyBUZXN0IHNpYmxpbmcgdGhyZWFk cyB0byBzZXQgdGhyZWFkZWQgd2F0Y2hwb2ludHMgZm9yIHg4NiBhbmQgeDg2LTY0CisjPWZlZG9y YXRlc3QKK1BhdGNoMDEzOiBnZGItNi4zLXRocmVhZGVkLXdhdGNocG9pbnRzMi0yMDA1MDIyNS5w YXRjaAorCisjIE5vdGlmeSBvYnNlcnZlcnMgdGhhdCB0aGUgaW5mZXJpb3IgaGFzIGJlZW4gY3Jl YXRlZAorIz1mZWRvcmF0ZXN0CitQYXRjaDAxNDogZ2RiLTYuMy1pbmZlcmlvci1ub3RpZmljYXRp b24tMjAwNTA3MjEucGF0Y2gKKworIyBWZXJpZnkgcHJpbnRpbmcgb2YgaW5oZXJpdGVkIG1lbWJl cnMgdGVzdAorIz1mZWRvcmF0ZXN0CitQYXRjaDAxNTogZ2RiLTYuMy1pbmhlcml0YW5jZXRlc3Qt MjAwNTA3MjYucGF0Y2gKKworIyBBZGQgcmVhZG5ldmVyIG9wdGlvbgorIz1wdXNoCitQYXRjaDAx NjogZ2RiLTYuMy1yZWFkbmV2ZXItMjAwNTA5MDcucGF0Y2gKKworIyBGaXggZGVidWdpbmZvIGFk ZHJlc3NlcyByZXNvbHZpbmcgZm9yIC0tZW1pdC1yZWxvY3MgTGludXgga2VybmVscyAoQlogMjAz NjYxKS4KKyM9cHVzaCtqYW46IFRoZXJlIHdhcyBzb21lIG1haWwgdGhyZWFkIGFib3V0IGl0LCB0 aGlzIHBhdGNoIG1heSBiZSBhIGhhY2suCitQYXRjaDAxNzogZ2RiLTYuNS1iejIwMzY2MS1lbWl0 LXJlbG9jcy5wYXRjaAorCisjIFN1cHBvcnQgVExTIHN5bWJvbHMgKCtgZXJybm8nIHN1Z2dlc3Rp b24gaWYgbm8gcHRocmVhZCBpcyBmb3VuZCkgKEJaIDE4NTMzNykuCisjPXB1c2gramFuOiBJdCBz aG91bGQgYmUgcmVwbGFjZWQgYnkgSW5maW5pdHkgcHJvamVjdC4KK1BhdGNoMDE4OiBnZGItNi41 LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhvdXQtZGVidWdpbmZvLXYyLnBhdGNoCisKKyMgRml4 IFRMUyBzeW1ib2xzIHJlc29sdmluZyBmb3Igc2hhcmVkIGxpYnJhcmllcyB3aXRoIGEgcmVsYXRp dmUgcGF0aG5hbWUuCisjIFRoZSB0ZXN0c3VpdGUgbmVlZHMgYGdkYi02LjUtdGxzLW9mLXNlcGFy YXRlLWRlYnVnaW5mby5wYXRjaCcuCisjPWZlZG9yYXRlc3Q6IE9uZSBzaG91bGQgcmVjaGVjayBp ZiBpdCBpcyByZWFsbHkgZml4ZWQgdXBzdHJlYW0uCitQYXRjaDAxOTogZ2RiLTYuNS1zaGFyZWRs aWJyYXJ5LXBhdGgucGF0Y2gKKworIyBJbXByb3ZlZCB0ZXN0c3VpdGUgcmVzdWx0cyBieSB0aGUg dGVzdHN1aXRlIHByb3ZpZGVkIGJ5IHRoZSBjb3VydGVzeSBvZiBCRUEuCisjPWZlZG9yYXRlc3Q6 IEZvciB1cHN0cmVhbSBpdCBzaG91bGQgYmUgcmV3cml0dGVuIGFzIGEgZGVqYWdudSB0ZXN0LCB0 aGUgdGVzdCBvZiBubyAiPz8iIHdhcyB1c2VmdWwuCitQYXRjaDAyMDogZ2RiLTYuNS1CRUEtdGVz dHN1aXRlLnBhdGNoCisKKyMgVGVzdGNhc2UgZm9yIGRlYWRsb2NraW5nIG9uIGxhc3QgYWRkcmVz cyBzcGFjZSBieXRlOyBmb3IgY29ycnVwdGVkIGJhY2t0cmFjZXMuCisjPWZlZG9yYXRlc3QKK1Bh dGNoMDIxOiBnZGItNi41LWxhc3QtYWRkcmVzcy1zcGFjZS1ieXRlLXRlc3QucGF0Y2gKKworIyBG aXggcmVhZGxpbmUgc2VnZmF1bHQgb24gZXhjZXNzaXZlbHkgbG9uZyBoYW5kLXR5cGVkIGxpbmVz LgorIz1mZWRvcmF0ZXN0CitQYXRjaDAyMjogZ2RiLTYuNS1yZWFkbGluZS1sb25nLWxpbmUtY3Jh c2gtdGVzdC5wYXRjaAorCisjIEZpeCBib2d1cyAweDAgdW53aW5kIG9mIHRoZSB0aHJlYWQncyB0 b3Btb3N0IGZ1bmN0aW9uIGNsb25lKDMpIChCWiAyMTY3MTEpLgorIz1mZWRvcmEKK1BhdGNoMDIz OiBnZGItNi41LWJ6MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaAorCisjIFRlc3Qgc2lk ZWVmZmVjdHMgb2Ygc2tpcHBpbmcgcHBjIC5zbyBsaWJzIHRyYW1wb2xpbmVzIChCWiAyMTgzNzkp LgorIz1mZWRvcmF0ZXN0CitQYXRjaDAyNDogZ2RiLTYuNS1iejIxODM3OS1wcGMtc29saWItdHJh bXBvbGluZS10ZXN0LnBhdGNoCisKKyMgRml4IGxvY2t1cCBvbiB0cmFtcG9saW5lIHZzLiBpdHMg ZnVuY3Rpb24gbG9va3VwOyB1bnJlcHJvZHVjaWJsZSAoQlogMjE4Mzc5KS4KKyM9ZmVkb3JhCitQ YXRjaDAyNTogZ2RiLTYuNS1iejIxODM3OS1zb2xpYi10cmFtcG9saW5lLWxvb2t1cC1sb2NrLWZp eC5wYXRjaAorCisjIEZpbmQgc3ltYm9scyBwcm9wZXJseSBhdCB0aGVpciBvcmlnaW5hbCAoaW5j bHVkZWQpIGZpbGUgKEJaIDEwOTkyMSkuCisjPWZlZG9yYXRlc3QKK1BhdGNoMDI2OiBnZGItNi41 LWJ6MTA5OTIxLURXX0FUX2RlY2xfZmlsZS10ZXN0LnBhdGNoCisKKyMgVXBkYXRlIFBQQyB1bndp bmRpbmcgcGF0Y2hlcyB0byB0aGVpciB1cHN0cmVhbSB2YXJpYW50cyAoQlogMTQwNTMyKS4KKyM9 ZmVkb3JhdGVzdAorUGF0Y2gwMjc6IGdkYi02LjMtYnoxNDA1MzItcHBjLXVud2luZGluZy10ZXN0 LnBhdGNoCisKKyMgVGVzdGNhc2UgZm9yIGV4ZWMoKSBmcm9tIHRocmVhZGVkIHByb2dyYW0gKEJa IDIwMjY4OSkuCisjPWZlZG9yYXRlc3QKK1BhdGNoMDI4OiBnZGItNi4zLWJ6MjAyNjg5LWV4ZWMt ZnJvbS1wdGhyZWFkLXRlc3QucGF0Y2gKKworIyBUZXN0Y2FzZSBmb3IgUFBDIFBvd2VyNi9ERlAg aW5zdHJ1Y3Rpb25zIGRpc2Fzc2VtYmx5IChCWiAyMzAwMDApLgorIz1mZWRvcmF0ZXN0CitQYXRj aDAyOTogZ2RiLTYuNi1iejIzMDAwMC1wb3dlcjYtZGlzYXNzZW1ibHktdGVzdC5wYXRjaAorCisj IEFsbG93IHJ1bm5pbmcgYC91c3IvYmluL2djb3JlJyB3aXRoIHByb3ZpZGVkIGJ1dCBpbmFjY2Vz c2libGUgdHR5IChCWiAyMjk1MTcpLgorIz1mZWRvcmF0ZXN0CitQYXRjaDAzMDogZ2RiLTYuNi1i ejIyOTUxNy1nY29yZS13aXRob3V0LXRlcm1pbmFsLnBhdGNoCisKKyMgTm90aWZ5IHVzZXIgb2Yg YSBjaGlsZCBmb3JrZWQgcHJvY2VzcyBiZWluZyBkZXRhY2hlZCAoQlogMjM1MTk3KS4KKyM9cHVz aCtqYW46IFRoaXMgaXMgbW9yZSBhYm91dCBkaXNjdXNzaW9uIGlmL3doYXQgc2hvdWxkIGJlIHBy aW50ZWQuCitQYXRjaDAzMTogZ2RiLTYuNi1iejIzNTE5Ny1mb3JrLWRldGFjaC1pbmZvLnBhdGNo CisKKyMgQXZvaWQgdG9vIGxvbmcgdGltZW91dHMgb24gZmFpbGluZyBjYXNlcyBvZiAiYW5ub3Rh MS5leHAgYW5ub3RhMy5leHAiLgorIz1mZWRvcmF0ZXN0CitQYXRjaDAzMjogZ2RiLTYuNi10ZXN0 c3VpdGUtdGltZW91dHMucGF0Y2gKKworIyBTdXBwb3J0IGZvciBzdGVwcGluZyBvdmVyIFBQQyBh dG9taWMgaW5zdHJ1Y3Rpb24gc2VxdWVuY2VzIChCWiAyMzc1NzIpLgorIz1mZWRvcmF0ZXN0CitQ YXRjaDAzMzogZ2RiLTYuNi1iejIzNzU3Mi1wcGMtYXRvbWljLXNlcXVlbmNlLXRlc3QucGF0Y2gK KworIyBNYWtlIHVwc3RyZWFtIGBzZXQgc2NoZWR1bGVyLWxvY2tpbmcgc3RlcCcgYXMgZGVmYXVs dC4KKyM9cHVzaCtqYW46IEhvdyBtdWNoIGlzIHNjaGVkdWxlci1sb2NraW5nIHJlbGV2YW50IGFm dGVyIG5vbi1zdG9wPworUGF0Y2gwMzQ6IGdkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3RlcC1p cy1kZWZhdWx0LnBhdGNoCisKKyMgVGVzdCBrZXJuZWwgVkRTTyBkZWNvZGluZyB3aGlsZSBhdHRh Y2hpbmcgdG8gYW4gaTM4NiBwcm9jZXNzLgorIz1mZWRvcmF0ZXN0CitQYXRjaDAzNTogZ2RiLTYu My1hdHRhY2gtc2VlLXZkc28tdGVzdC5wYXRjaAorCisjIFRlc3QgbGVmdG92ZXIgem9tYmllIHBy b2Nlc3MgKEJaIDI0Mzg0NSkuCisjPWZlZG9yYXRlc3QKK1BhdGNoMDM2OiBnZGItNi41LWJ6MjQz ODQ1LXN0YWxlLXRlc3Rpbmctem9tYmllLXRlc3QucGF0Y2gKKworIyBOZXcgbG9jYXRpbmcgb2Yg dGhlIG1hdGNoaW5nIGJpbmFyaWVzIGZyb20gdGhlIHB1cmUgY29yZSBmaWxlIChidWlsZC1pZCku CisjPXB1c2gramFuCitQYXRjaDAzNzogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAorCisj IEZpeCBsb2FkaW5nIG9mIGNvcmUgZmlsZXMgd2l0aG91dCBidWlsZC1pZHMgYnV0IHdpdGggYnVp bGQtaWRzIGluIGV4ZWN1dGFibGVzLgorIyBMb2FkIHN0cmljdGx5IGJ1aWxkLWlkLWNoZWNrZWQg Y29yZSBmaWxlcyBvbmx5IGlmIG5vIGV4ZWN1dGFibGUgaXMgc3BlY2lmaWVkCisjIChKYW4gS3Jh dG9jaHZpbCwgUkggQlogMTMzOTg2MikuCisjPXB1c2gramFuCitQYXRjaDAzODogZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAorCisjPXB1c2gramFuCitQYXRj aDAzOTogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKKworIyBGaXggZGlzcGxheWlu ZyBvZiBudW1lcmljIGNoYXIgYXJyYXlzIGFzIHN0cmluZ3MgKEJaIDIyNDEyOCkuCisjPWZlZG9y YXRlc3Q6IEJ1dCBpdCBpcyBmYWlsaW5nIGFueXdheSwgb25lIHNob3VsZCBjaGVjayB0aGUgYmVo YXZpb3IgbW9yZS4KK1BhdGNoMDQwOiBnZGItNi43LWNoYXJzaWduLXRlc3QucGF0Y2gKKworIyBU ZXN0IFBQQyBoaWRpbmcgb2YgY2FsbC12b2xhdGlsZSBwYXJhbWV0ZXIgcmVnaXN0ZXIuCisjPWZl ZG9yYXRlc3QKK1BhdGNoMDQxOiBnZGItNi43LXBwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8yLXRl c3QucGF0Y2gKKworIyBUZXN0c3VpdGUgZml4ZXMgZm9yIG1vcmUgc3RhYmxlL2NvbXBhcmFibGUg cmVzdWx0cy4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gwNDI6IGdkYi02LjctdGVzdHN1aXRlLXN0YWJs ZS1yZXN1bHRzLnBhdGNoCisKKyMgVGVzdCBpYTY0IG1lbW9yeSBsZWFrcyBvZiB0aGUgY29kZSB1 c2luZyBsaWJ1bndpbmQuCisjPWZlZG9yYXRlc3QKK1BhdGNoMDQzOiBnZGItNi41LWlhNjQtbGli dW53aW5kLWxlYWstdGVzdC5wYXRjaAorCisjIFRlc3QgaGlkaW5nIHVuZXhwZWN0ZWQgYnJlYWtw b2ludHMgb24gaW50ZW50aW9uYWwgc3RlcCBjb21tYW5kcy4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gw NDQ6IGdkYi02LjUtbWlzc2VkLXRyYXAtb24tc3RlcC10ZXN0LnBhdGNoCisKKyMgVGVzdCBnY29y ZSBtZW1vcnkgYW5kIHRpbWUgcmVxdWlyZW1lbnRzIGZvciBsYXJnZSBpbmZlcmlvcnMuCisjPWZl ZG9yYXRlc3QKK1BhdGNoMDQ1OiBnZGItNi41LWdjb3JlLWJ1ZmZlci1saW1pdC10ZXN0LnBhdGNo CisKKyMgVGVzdCBHQ09SRSBmb3Igc2htaWQgMCBzaGFyZWQgbWVtb3J5IG1hcHBpbmdzLgorIz1m ZWRvcmF0ZXN0OiBCdXQgaXQgaXMgYnJva2VuIGFueXdheSwgc29tZXRpbWVzIHRoZSBjYXNlIGJl aW5nIHRlc3RlZCBpcyBub3QgcmVwcm9kdWNpYmxlLgorUGF0Y2gwNDY6IGdkYi02LjMtbWFwcGlu Zy16ZXJvLWlub2RlLXRlc3QucGF0Y2gKKworIyBUZXN0IGEgY3Jhc2ggb24gYGZvY3VzIGNtZCcs IGBmb2N1cyBwcmV2JyBjb21tYW5kcy4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gwNDc6IGdkYi02LjMt Zm9jdXMtY21kLXByZXYtdGVzdC5wYXRjaAorCisjIFRlc3QgdmFyaW91cyBmb3JtcyBvZiB0aHJl YWRzIHRyYWNraW5nIGFjcm9zcyBleGVjKCkgKEJaIDQ0Mjc2NSkuCisjPWZlZG9yYXRlc3QKK1Bh dGNoMDQ4OiBnZGItNi44LWJ6NDQyNzY1LXRocmVhZGVkLWV4ZWMtdGVzdC5wYXRjaAorCisjIFNp bGVuY2UgbWVtY3B5IGNoZWNrIHdoaWNoIHJldHVybnMgZmFsc2UgcG9zaXRpdmUgKHNwYXJjNjQp CisjPXB1c2g6IEJ1dCBpdCBpcyBqdXN0IGEgR0NDIHdvcmthcm91bmQsIGxvb2sgdXAgdGhlIGV4 aXN0aW5nIEdDQyBQUiBmb3IgaXQuCitQYXRjaDA0OTogZ2RiLTYuOC1zcGFyYzY0LXNpbGVuY2Ut bWVtY3B5LWNoZWNrLnBhdGNoCisKKyMgVGVzdCBhIGNyYXNoIG9uIGxpYnJhcmllcyBtaXNzaW5n IHRoZSAudGV4dCBzZWN0aW9uLgorIz1mZWRvcmF0ZXN0CitQYXRjaDA1MDogZ2RiLTYuNS1zZWN0 aW9uLW51bS1maXh1cC10ZXN0LnBhdGNoCisKKyMgRml4IHJlZ2lzdGVyIGFzc2lnbm1lbnRzIHdp dGggbm8gR0RCIHN0YWNrIGZyYW1lcyAoQlogNDM2MDM3KS4KKyM9cHVzaCtqYW46IFRoaXMgZml4 IGlzIGluY29ycmVjdC4KK1BhdGNoMDUxOiBnZGItNi44LWJ6NDM2MDM3LXJlZy1uby1sb25nZXIt YWN0aXZlLnBhdGNoCisKKyMgVGVzdCB0aGUgd2F0Y2hwb2ludHMgY29uZGl0aW9uYWxzIHdvcmtz LgorIz1mZWRvcmF0ZXN0CitQYXRjaDA1MjogZ2RiLTYuOC13YXRjaHBvaW50LWNvbmRpdGlvbmFs cy10ZXN0LnBhdGNoCisKKyMgRml4IHJlc29sdmluZyBvZiB2YXJpYWJsZXMgYXQgbG9jYXRpb25z IGxpc3RzIGluIHByZWxpbmtlZCBsaWJzIChCWiA0NjY5MDEpLgorIz1mZWRvcmF0ZXN0CitQYXRj aDA1MzogZ2RiLTYuOC1iejQ2NjkwMS1iYWNrdHJhY2UtZnVsbC1wcmVsaW5rZWQucGF0Y2gKKwor IyBOZXcgdGVzdCBmb3Igc3RlcC1yZXN1bWUgYnJlYWtwb2ludCBwbGFjZWQgaW4gbXVsdGlwbGUg dGhyZWFkcyBhdCBvbmNlLgorIz1mZWRvcmF0ZXN0CitQYXRjaDA1NDogZ2RiLXNpbXVsdGFuZW91 cy1zdGVwLXJlc3VtZS1icmVha3BvaW50LXRlc3QucGF0Y2gKKworIyBGaXggR05VL0xpbnV4IGNv cmUgb3BlbjogQ2FuJ3QgcmVhZCBwYXRobmFtZSBmb3IgbG9hZCBtYXA6IElucHV0L291dHB1dCBl cnJvci4KKyMgRml4IHJlZ3Jlc3Npb24gb2YgdW5kaXNwbGF5ZWQgbWlzc2luZyBzaGFyZWQgbGli cmFyaWVzIGNhdXNlZCBieSBhIGZpeCBmb3IuCisjPWZlZG9yYXRlc3Q6IEl0IHNob3VsZCBiZSBp biBnbGliYzogbGliYy1hbHBoYTogPDIwMDkxMDA0MTYxNzA2LkdBMjc0NTBALio+CitQYXRjaDA1 NTogZ2RiLWNvcmUtb3Blbi12ZHNvLXdhcm5pbmcucGF0Y2gKKworIyBGaXggc3lzY2FsbCByZXN0 YXJ0cyBmb3IgYW1kNjQtPmkzODYgYmlhcmNoLgorIz1wdXNoK2phbgorUGF0Y2gwNTY6IGdkYi14 ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3RhcnQucGF0Y2gKKworIyBGaXggc3RlcHBpbmcgd2l0aCBP TVAgcGFyYWxsZWwgRm9ydHJhbiBzZWN0aW9ucyAoQlogNTMzMTc2KS4KKyM9cHVzaCtqYW46IEl0 IHJlcXVpcmVzIHNvbWUgYmV0dGVyIERXQVJGIGFubm90YXRpb25zLgorUGF0Y2gwNTc6IGdkYi1i ejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCisKKyMgRml4IHJlZ3Jlc3Npb24gYnkgcHl0 aG9uIG9uIGlhNjQgZHVlIHRvIHN0YWxlIGN1cnJlbnQgZnJhbWUuCisjPXB1c2gramFuCitQYXRj aDA1ODogZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKKworIyBXb3JrYXJvdW5k IGNjYWNoZSBtYWtpbmcgbGluZW5vIG5vbi16ZXJvIGZvciBjb21tYW5kLWxpbmUgZGVmaW5pdGlv bnMuCisjPWZlZG9yYXRlc3Q6IGNjYWNoZSBpcyByYXJlbHkgdXNlZCBhbmQgaXQgaXMgZXZlbiBm aXhlZCBub3cuCitQYXRjaDA1OTogZ2RiLWNjYWNoZS13b3JrYXJvdW5kLnBhdGNoCisKKyM9cHVz aCtqYW46IE1heSBnZXQgb2Jzb2xldGVkIGJ5IFRvbSdzIHVucmVsb2NhdGVkIG9iamZpbGVzIHBh dGNoLgorUGF0Y2gwNjA6IGdkYi1hcmNoZXItcGllLWFkZG9ucy5wYXRjaAorCisjPXB1c2gramFu OiBCcmVha3BvaW50cyBkaXNhYmxpbmcgbWF0Y2hpbmcgc2hvdWxkIG5vdCBiZSBiYXNlZCBvbiBh ZGRyZXNzLgorUGF0Y2gwNjE6IGdkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBh dGNoCisKKyMgVGVzdGNhc2UgZm9yICJEbyBub3QgbWFrZSB1cCBsaW5lIGluZm9ybWF0aW9uIiBm aXggYnkgRGFuaWVsIEphY29ib3dpdHouCisjPWZlZG9yYXRlc3QKK1BhdGNoMDYyOiBnZGItbGlu ZW5vLW1ha2V1cC10ZXN0LnBhdGNoCisKKyMgVGVzdCBwb3dlcjcgcHBjIGRpc2Fzc2VtYmx5Lgor Iz1mZWRvcmF0ZXN0CitQYXRjaDA2MzogZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaAorCisjIEZp eCBpMzg2K3g4Nl82NCByd2F0Y2grYXdhdGNoIGJlZm9yZSBydW4sIHJlZ3Jlc3Npb24gYWdhaW5z dCA2LjggKEJaIDU0MTg2NikuCisjIEZpeCBpMzg2IHJ3YXRjaCthd2F0Y2ggYmVmb3JlIHJ1biAo QlogNjg4Nzg4LCBvbiB0b3Agb2YgQlogNTQxODY2KS4KKyM9cHVzaCtqYW46IEl0IHNob3VsZCBi ZSBmaXhlZCBwcm9wZXJseSBpbnN0ZWFkLgorUGF0Y2gwNjQ6IGdkYi1iejU0MTg2Ni1yd2F0Y2gt YmVmb3JlLXJ1bi5wYXRjaAorCisjIFdvcmthcm91bmQgbm9uLXN0b3AgbW9yaWJ1bmQgbG9jYXRp b25zIGV4cGxvaXRlZCBieSBrZXJuZWwgdXRyYWNlIChCWiA1OTA2MjMpLgorIz1wdXNoK2phbjog Q3VycmVudGx5IGl0IGlzIHN0aWxsIG5vdCBmdWxseSBzYWZlLgorUGF0Y2gwNjU6IGdkYi1tb3Jp YnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaAorCisjIEZpeCBmb2xsb3ctZXhlYyBmb3IgQysr IHByb2dyYW1zIChidWdyZXBvcnRlZCBieSBNYXJ0aW4gU3RyYW5za3kpLgorIz1mZWRvcmF0ZXN0 CitQYXRjaDA2NjogZ2RiLWFyY2hlci1uZXh0LW92ZXItdGhyb3ctY3h4LWV4ZWMucGF0Y2gKKwor IyBCYWNrcG9ydCBEV0FSRi00IHN1cHBvcnQgKEJaIDYwMTg4NywgVG9tIFRyb21leSkuCisjPWZl ZG9yYXRlc3QKK1BhdGNoMDY3OiBnZGItYno2MDE4ODctZHdhcmY0LXJoLXRlc3QucGF0Y2gKKwor Iz1wdXNoK2phbgorUGF0Y2gwNjg6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcu cGF0Y2gKKworIyBXb3JrYXJvdW5kIGxpYnJwbSBCWiA2NDMwMzEgZHVlIHRvIGl0cyB1bmV4cGVj dGVkIGV4aXQoKSBjYWxscyAoQlogNjQyODc5KS4KKyM9cHVzaCtqYW4KK1BhdGNoMDY5OiBnZGIt Ni42LWJ1aWxkaWQtbG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3VuZC5wYXRjaAorCisjIFtkZWxh eWVkLXN5bWZpbGVdIFRlc3QgYSBiYWNrdHJhY2UgcmVncmVzc2lvbiBvbiBDRklzIHdpdGhvdXQg RElFIChCWiA2MTQ2MDQpLgorIz1mZWRvcmF0ZXN0CitQYXRjaDA3MDogZ2RiLXRlc3QtYnQtY2Zp LXdpdGhvdXQtZGllLnBhdGNoCisKKyMgUHJvdmlkZSAvdXNyL2Jpbi9nZGItYWRkLWluZGV4IGZv ciBycG0tYnVpbGQgKFRvbSBUcm9tZXkpLgorIz1wdXNoOiBSZS1jaGVjayBhZ2FpbnN0IHRoZSB1 cHN0cmVhbSB2ZXJzaW9uLgorUGF0Y2gwNzE6IGdkYi1nZGItYWRkLWluZGV4LXNjcmlwdC5wYXRj aAorCisjIE91dCBvZiBtZW1vcnkgaXMganVzdCBhbiBlcnJvciwgbm90IGZhdGFsICh1bmluaXRp YWxpemVkIFZMUyB2YXJzLCBCWiA1NjgyNDgpLgorIz1wdXNoK2phbjogSW5mZXJpb3Igb2JqZWN0 cyBzaG91bGQgYmUgcmVhZCBpbiBwYXJ0cywgdGhlbiB0aGlzIHBhdGNoIGdldHMgb2Jzb2xldGVk LgorUGF0Y2gwNzI6IGdkYi1iejU2ODI0OC1vb20taXMtZXJyb3IucGF0Y2gKKworIyBWZXJpZnkg R0RCIFB5dGhvbiBidWlsdC1pbiBmdW5jdGlvbiBnZGIuc29saWJfYWRkcmVzcyBleGlzdHMgKEJa ICMgNjM0MTA4KS4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gwNzM6IGdkYi1iejYzNDEwOC1zb2xpYl9h ZGRyZXNzLnBhdGNoCisKKyMgTmV3IHRlc3QgZ2RiLmFyY2gveDg2XzY0LXBpZDAtY29yZS5leHAg Zm9yIGtlcm5lbCBQSUQgMCBjb3JlcyAoQlogNjExNDM1KS4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gw NzQ6IGdkYi10ZXN0LXBpZDAtY29yZS5wYXRjaAorCisjIFthcmNoZXItdHJvbWV5LWRlbGF5ZWQt c3ltZmlsZV0gTmV3IHRlc3QgZ2RiLmR3YXJmMi9kdzItYXJhbmdlcy5leHAuCisjPWZlZG9yYXRl c3QKK1BhdGNoMDc1OiBnZGItdGVzdC1kdzItYXJhbmdlcy5wYXRjaAorCisjIFthcmNoZXIta2Vp dGhzLWV4cHItY3VtdWxhdGl2ZSt1cHN0cmVhbV0gSW1wb3J0IEMrKyB0ZXN0Y2FzZXMuCisjPWZl ZG9yYXRlc3QKK1BhdGNoMDc2OiBnZGItdGVzdC1leHByLWN1bXVsYXRpdmUtYXJjaGVyLnBhdGNo CisKKyMgRml4IHJlZ3Jlc3Npb25zIG9uIEMrKyBuYW1lcyByZXNvbHZpbmcgKFBSIDExNzM0LCBQ UiAxMjI3MywgS2VpdGggU2VpdHopLgorIz1mZWRvcmF0ZXN0CitQYXRjaDA3NzogZ2RiLXBoeXNu YW1lLXByMTE3MzQtdGVzdC5wYXRjaAorCisjIEZpeCByZWdyZXNzaW9ucyBvbiBDKysgbmFtZXMg cmVzb2x2aW5nIChQUiAxMTczNCwgUFIgMTIyNzMsIEtlaXRoIFNlaXR6KS4KKyM9ZmVkb3JhdGVz dAorUGF0Y2gwNzg6IGdkYi1waHlzbmFtZS1wcjEyMjczLXRlc3QucGF0Y2gKKworIyBUb29sY2hh aW4gb24gc3BhcmMgaXMgc2xpZ2h0bHkgYnJva2VuIGFuZCBkZWJ1Z2luZm8gZmlsZXMgYXJlIGdl bmVyYXRlZAorIyB3aXRoIG5vbiA2NGJpdCBhbGlnbmVkIHRhYmxlcy9vZmZzZXRzLgorIyBTZWUg Zm9yIGV4YW1wbGUgcmVhZGVsZiAtUyAuLi9Ydm5jLmRlYnVnLgorIworIyBBcyBhIGNvbnNlbnF1 ZW5jZSBjYWxjdWxhdGlvbiBvZiBzZWN0cC0+ZmlsZXBvcyBhcyB1c2VkIGluCisjIGR3YXJmMl9y ZWFkX3NlY3Rpb24gKGdkYi9kd2FyZjJyZWFkLmM6MTUyNSkgd2lsbCByZXR1cm4gYSBub24gYWxp Z25lZCBidWZmZXIKKyMgdGhhdCBjYW5ub3QgYmUgdXNlZCBkaXJlY3RseSBhcyBkb25lIHdpdGgg TU1BUC4KKyMgVXNhZ2Ugd2lsbCByZXN1bHQgaW4gYSBCdXNFcnJvci4KKyMKKyMgV2hpbGUgd2Ug ZmlndXJlIG91dCB3aGF0J3Mgd3JvbmcgaW4gdGhlIHRvb2xjaGFpbiBhbmQgZG8gYSBmdWxsIGFy Y2hpdmUKKyMgcmVidWlsZCB0byBmaXggaXQsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byB1c2UgZ2Ri IDopCisjPXB1c2gKK1BhdGNoMDc5OiBnZGItNy4yLjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRv LWJyb2tlbi1kZWJ1Zy1maWxlcy5wYXRjaAorCisjIFRlc3QgR0RCIG9wY29kZXMvIGRpc2Fzc2Vt Ymx5IG9mIEludGVsIEl2eSBCcmlkZ2UgaW5zdHJ1Y3Rpb25zIChCWiA2OTY4OTApLgorIz1mZWRv cmF0ZXN0CitQYXRjaDA4MDogZ2RiLXRlc3QtaXZ5LWJyaWRnZS5wYXRjaAorCisjIFdvcmsgYXJv dW5kIFBSIGxpYmMvMTMwOTcgImxpbnV4LXZkc28uc28uMSIgd2FybmluZyBtZXNzYWdlLgorIz1w dXNoK2phbgorUGF0Y2gwODE6IGdkYi1nbGliYy12ZHNvLXdvcmthcm91bmQucGF0Y2gKKworIyBI YWNrIGZvciBwcm9wZXIgUElFIHJ1biBvZiB0aGUgdGVzdHN1aXRlLgorIz1mZWRvcmF0ZXN0CitQ YXRjaDA4MjogZ2RiLXJ1bnRlc3QtcGllLW92ZXJyaWRlLnBhdGNoCisKKyMgUHJpbnQgcmVhc29u cyBmb3IgZmFpbGVkIGF0dGFjaC9zcGF3biBpbmNsLiBTRUxpbnV4IGRlbnlfcHRyYWNlIChCWiA3 ODY4NzgpLgorIz1wdXNoK2phbgorUGF0Y2gwODM6IGdkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVv ZjUucGF0Y2gKKworIyBXb3JrYXJvdW5kIGNyYXNoZXMgZnJvbSBzdGFsZSBmcmFtZV9pbmZvIHBv aW50ZXIgKEJaIDgwNDI1NikuCisjPXB1c2gramFuCitQYXRjaDA4NDogZ2RiLXN0YWxlLWZyYW1l X2luZm8ucGF0Y2gKKworIyBXb3JrYXJvdW5kIFBSIGxpYmMvMTQxNjYgZm9yIGluZmVyaW9yIGNh bGxzIG9mIHN0cnN0ci4KKyM9ZmVkb3JhOiBDb21wYXRpYmlsaXR5IHdpdGggUkhFTHMgKHVuY2hl Y2tlZCB3aGljaCBvbmVzKS4KK1BhdGNoMDg1OiBnZGItZ2xpYmMtc3Ryc3RyLXdvcmthcm91bmQu cGF0Y2gKKworIyBJbmNsdWRlIHRlc3RjYXNlIGZvciBgVW5hYmxlIHRvIHNlZSBhIHZhcmlhYmxl IGluc2lkZSBhIG1vZHVsZSAoWExGKScgKEJaIDgyMzc4OSkuCisjPWZlZG9yYXRlc3QKK1BhdGNo MDg2OiBnZGItcmhlbDUuOS10ZXN0Y2FzZS14bGYtdmFyLWluc2lkZS1tb2QucGF0Y2gKKworIyBU ZXN0Y2FzZSBmb3IgYFNldHRpbmcgc29saWItYWJzb2x1dGUtcHJlZml4IGJyZWFrcyB2RFNPJyAo QlogODE4MzQzKS4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gwODc6IGdkYi1yaGJ6LTgxODM0My1zZXQt c29saWItYWJzb2x1dGUtcHJlZml4LXRlc3RjYXNlLnBhdGNoCisKKyMgRml4IGBHREIgY2Fubm90 IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicK KyMgKFJIIEJaIDc5NTQyNCkuCisjPXB1c2gKK1BhdGNoMDg4OiBnZGItcmhiejc5NTQyNC1iaXRw b3MtMjBvZjI1LnBhdGNoCisKKyMgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVy IHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKKyMgKFJIIEJaIDc5NTQyNCkuCisj PXB1c2gKK1BhdGNoMDg5OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjFvZjI1LnBhdGNoCisKKyMg Rml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBsYXJn ZXIgdGhhbiAyNTZNQicKKyMgKFJIIEJaIDc5NTQyNCkuCisjPXB1c2gKK1BhdGNoMDkwOiBnZGIt cmhiejc5NTQyNC1iaXRwb3MtMjJvZjI1LnBhdGNoCisKKyMgRml4IGBHREIgY2Fubm90IGFjY2Vz cyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKKyMgKFJI IEJaIDc5NTQyNCkuCisjPXB1c2gKK1BhdGNoMDkxOiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjNv ZjI1LnBhdGNoCisKKyMgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3Nl IG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKKyMgKFJIIEJaIDc5NTQyNCkuCisjPXB1c2gK K1BhdGNoMDkyOiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LnBhdGNoCisKKyMgRml4IGBH REIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhh biAyNTZNQicKKyMgKFJIIEJaIDc5NTQyNCkuCisjPXB1c2gKK1BhdGNoMDkzOiBnZGItcmhiejc5 NTQyNC1iaXRwb3MtMjVvZjI1LXRlc3QucGF0Y2gKKworIyBGaXggYEdEQiBjYW5ub3QgYWNjZXNz IHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJworIyAoUkgg QlogNzk1NDI0KS4KKyM9cHVzaAorUGF0Y2gwOTQ6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy1sYXp5 dmFsdWUucGF0Y2gKKworIyBJbXBvcnQgcmVncmVzc2lvbiB0ZXN0IGZvciBgZ2RiL2ZpbmR2YXIu Yzo0MTc6IGludGVybmFsLWVycm9yOgorIyByZWFkX3Zhcl92YWx1ZTogQXNzZXJ0aW9uIGBmcmFt ZScgZmFpbGVkLicgKFJIIEJaIDk0NzU2NCkgZnJvbSBSSEVMIDYuNS4KKyM9ZmVkb3JhdGVzdAor UGF0Y2gwOTU6IGdkYi1yaGJ6OTQ3NTY0LWZpbmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10 ZXN0Y2FzZS5wYXRjaAorCisjIEZpeCBjcmFzaCBvZiAtcmVhZG5vdyAvdXNyL2xpYi9kZWJ1Zy91 c3IvYmluL2duYXRiaW5kLmRlYnVnIChCWiAxMDY5MjExKS4KKyM9cHVzaCtqYW4KK1BhdGNoMDk2 OiBnZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNoCisKKyMgRml4ICdtZW1vcnkgbGVhayBp biBpbmZweV9yZWFkX21lbW9yeSgpJyAoUkggQlogMTAwNzYxNCkKKyM9ZmVkb3JhdGVzdAorUGF0 Y2gwOTc6IGdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LXRlc3QucGF0 Y2gKKworIyBGaXggJ2dkYiBnaXZlcyBoaWdobHkgbWlzbGVhZGluZyBlcnJvciB3aGVuIGRlYnVn aW5mbyBwa2cgaXMgcHJlc2VudCwKKyMgYnV0IG5vdCBjb3JyZXNwb25kaW5nIGJpbmFyeSBwa2cn IChSSCBCWiA5ODExNTQpLgorIz1wdXNoK2phbgorUGF0Y2gwOTg6IGdkYi02LjYtYnVpbGRpZC1s b2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0 Y2gKKworIz1mZWRvcmF0ZXN0CitQYXRjaDA5OTogZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gK KworIz1mZWRvcmF0ZXN0CitQYXRjaDEwMDogZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAorCisj IENvbnRpbnVlIGJhY2t0cmFjZSBldmVuIGlmIGEgZnJhbWUgZmlsdGVyIHRocm93cyBhbiBleGNl cHRpb24gKFBoaWwgTXVsZG9vbikuCisjPXB1c2gKK1BhdGNoMTAxOiBnZGItYnRyb2J1c3QucGF0 Y2gKKworIyBEaXNwbGF5IEZvcnRyYW4gc3RyaW5ncyBpbiBiYWNrdHJhY2VzLgorIz1mZWRvcmF0 ZXN0CitQYXRjaDEwMjogZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCisKKyMgRml4IFB5 dGhvbiBHSUwgd2l0aCBnZGIuZXhlY3V0ZSgiY29udGludWUiKSAoUGhpbCBNdWxkb29uLCBCWiAx MTE2OTU3KS4KKyM9cHVzaAorUGF0Y2gxMDM6IGdkYi1weXRob24tZ2lsLnBhdGNoCisKKyMgVGVz dGNhc2UgZm9yICdbU0FQXSBSZWN1cnNpdmUgZGxvcGVuIGNhdXNlcyBTQVAgSEFOQSBpbnN0YWxs ZXIgdG8KKyMgY3Jhc2guJyAoUkggQlogMTE1NjE5MikuCisjPWZlZG9yYXRlc3QKK1BhdGNoMTA0 OiBnZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi10ZXN0LnBhdGNoCisKKyMgRml4IGpp dC1yZWFkZXIuaCBmb3IgbXVsdGktbGliLgorIz1wdXNoK2phbgorUGF0Y2gxMDU6IGdkYi1qaXQt cmVhZGVyLW11bHRpbGliLnBhdGNoCisKKyMgRml4ICdgY2F0Y2ggc3lzY2FsbCcgZG9lc24ndCB3 b3JrIGZvciBwYXJlbnQgYWZ0ZXIgYGZvcmsnIGlzIGNhbGxlZCcKKyMgKFBoaWxpcHBlIFdhcm9x dWllcnMsIFJIIEJaIDExNDkyMDUpLgorIz1mZWRvcmF0ZXN0CitQYXRjaDEwNjogZ2RiLXJoYnox MTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCisKKyMgRml4ICdiYWNr cG9ydCBHREIgNy40IGZpeCB0byBSSEVMIDYuNiBHREInIFtPcmlnaW5hbCBTb3VyY2V3YXJlIGJ1 ZworIyBkZXNjcmlwdGlvbjogJ0MrKyAoYW5kIG9iamMpOiBJbnRlcm5hbCBlcnJvciBvbiB1bnF1 YWxpZmllZCBuYW1lCisjIHJlLXNldCcsIFBSIDExNjU3XSAoUkggQlogMTE4NjQ3NikuCisjPWZl ZG9yYXRlc3QKK1BhdGNoMTA3OiBnZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFs aWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5wYXRjaAorCisjIFRlc3QgJ2luZm8gdHlwZS1wcmludGVy cycgUHl0aG9uIGVycm9yIChSSCBCWiAxMzUwNDM2KS4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gxMDg6 IGdkYi1yaGJ6MTM1MDQzNi10eXBlLXByaW50ZXJzLWVycm9yLnBhdGNoCisKKyMgRml4ICdbcHBj NjRdIGFuZCBbczM5MHhdIHdyb25nIHByb2xvZ3VlIHNraXAgb24gLU8yIC1nIGNvZGUnIChKYW4K KyMgS3JhdG9jaHZpbCwgUkggQlogMTA4NDQwNCkuCisjPWZlZG9yYXRlc3QKK1BhdGNoMTA5OiBn ZGItcmhiejEwODQ0MDQtcHBjNjQtczM5MHgtd3JvbmctcHJvbG9ndWUtc2tpcC1PMi1nLTNvZjMu cGF0Y2gKKworIyBOZXZlciBraWxsIFBJRCBvbjogZ2RiIGV4ZWMgUElEIChKYW4gS3JhdG9jaHZp bCwgUkggQlogMTIxOTc0NykuCisjPXB1c2gramFuCitQYXRjaDExMDogZ2RiLWJ6MTIxOTc0Ny1h dHRhY2gta2lsbHMucGF0Y2gKKworIyBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVyIGxpYm5jdXJzZXMg dG8gbWF0Y2ggdGhlIGluY2x1ZGVzIChSSCBCWiAxMjcwNTM0KS4KKyM9cHVzaCtqYW4KK1BhdGNo MTExOiBnZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCisKKyMgVGVzdCBjbGZsdXNob3B0IGlu c3RydWN0aW9uIGRlY29kZSAoZm9yIFJIIEJaIDEyNjI0NzEpLgorIz1mZWRvcmF0ZXN0CitQYXRj aDExMjogZ2RiLW9wY29kZXMtY2xmbHVzaG9wdC10ZXN0LnBhdGNoCisKKyMgW3JoZWw2XSBEVFMg YmFja3dhcmQgUHl0aG9uIGNvbXBhdGliaWxpdHkgQVBJIChCWiAxMDIwMDA0LCBQaGlsIE11bGRv b24pLgorIz1mZWRvcmEKK1BhdGNoMTEzOiBnZGItZHRzLXJoZWw2LXB5dGhvbi1jb21wYXQucGF0 Y2gKKworIyBbU0NMXSBTa2lwIGRlcHJlY2F0ZWQgLmdkYl9pbmRleCB3YXJuaW5nIGZvciBSZWQg SGF0IGJ1aWx0IGZpbGVzIChCWiA5NTM1ODUpLgorIz1wdXNoK2phbgorUGF0Y2gxMTQ6IGdkYi02 LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaAorCisjIFdvcmsgYXJvdW5kIHJlYWRsaW5l LTYuMiBpbmNvbXBhdGliaWxpdHkgbm90IGFza2luZyBmb3IgLS1tb3JlLS0gKEJaIDcwMTEzMSku CisjPWZlZG9yYQorUGF0Y2gxMTU6IGdkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCisK KyMgW1JIRUw1LFJIRUw2XSBGaXggYXR0YWNoaW5nIHRvIHN0b3BwZWQgcHJvY2Vzc2VzLgorIyBb UkhFTDVdIFdvcmthcm91bmQga2VybmVsIGZvciBkZXRhY2hpbmcgU0lHU1RPUHBlZCBwcm9jZXNz ZXMgKEJaIDgwOTM4MikuCisjPWZlZG9yYQorUGF0Y2gxMTY6IGdkYi02LjgtYXR0YWNoLXNpZ25h bGxlZC1kZXRhY2gtc3RvcHBlZC5wYXRjaAorCisjIE1ha2UgdGhlIEdEQiBxdWl0IHByb2Nlc3Np bmcgbm9uLWFib3J0YWJsZSB0byBjbGVhbnVwIGV2ZXJ5dGhpbmcgcHJvcGVybHkuCisjPWZlZG9y YTogSXQgd2FzIHVzZWZ1bCBvbmx5IGFmdGVyIGdkYi02LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRh Y2gtc3RvcHBlZC5wYXRjaCAuCitQYXRjaDExNzogZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0cy5w YXRjaAorCisjIFthYXJjaDY0XSBGaXggaGFyZHdhcmUgd2F0Y2hwb2ludHMgKFJIIEJaIDEyNjE1 NjQpLgorIz1mZWRvcmF0ZXN0CitQYXRjaDExODogZ2RiLXJoYnoxMjYxNTY0LWFhcmNoNjQtaHct d2F0Y2hwb2ludC10ZXN0LnBhdGNoCisKKyMgQWRkIG1lc3NhZ2VzIHN1Z2dlc3RpbmcgbW9yZSBy ZWNlbnQgUkhFTCBnZGJzZXJ2ZXIgKFJIIEJaIDEzMjExMTQpLgorIz1mZWRvcmEKK1BhdGNoMTE5 OiBnZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAorCisjIE5ldyB0ZXN0IGZvciBQeXRob24gIkNh bm5vdCBsb2NhdGUgb2JqZWN0IGZpbGUgZm9yIGJsb2NrIiAoZm9yIFJIIEJaIDEzMjU3OTUpLgor Iz1mZWRvcmF0ZXN0CitQYXRjaDEyMDogZ2RiLXJoYnoxMzI1Nzk1LWZyYW1lZmlsdGVycy10ZXN0 LnBhdGNoCisKKyMgW2R0cytlbDddIFt4ODYqXSBCdW5kbGUgbGludXhfcGVyZi5oIGZvciBsaWJp cHQgKFJIIEJaIDEyNTY1MTMpLgorIz1mZWRvcmEKK1BhdGNoMTIxOiBnZGItbGludXhfcGVyZi1i dW5kbGUucGF0Y2gKKworIyBGaXggZ2RiLWhlYWRsZXNzIC91c3IvYmluLyBleGVjdXRhYmxlcyAo QlogMTM5MDI1MSkuCisjPWZlZG9yYQorUGF0Y2gxMjI6IGdkYi1saWJleGVjLWFkZC1pbmRleC5w YXRjaAorCisjIEZpeCBnZGItYWRkLWluZGV4IGZvciA0NDQgKi5kZWJ1ZyBmaWxlcy4KKyM9cHVz aCtqYW4KK1BhdGNoMTIzOiBnZGItYWRkLWluZGV4LWNobW9kLnBhdGNoCisKKyMgTmV3IHRlc3Rj YXNlIGZvcjogRml4IDx0YWI+LWNvbXBsZXRpb24gY3Jhc2ggKEdhcnkgQmVuc29uLCBSSCBCWiAx Mzk4Mzg3KS4KKyM9ZmVkb3JhdGVzdAorUGF0Y2gxMjQ6IGdkYi1yaGJ6MTM5ODM4Ny10YWItY3Jh c2gtdGVzdC5wYXRjaAorCisjIFt0ZXN0c3VpdGVdIEZpeCBmYWxzZSBzZWxmdGVzdC5leHAgRkFJ TCBmcm9tIHN5c3RlbSByZWFkbGluZS02LjMrIChQYXRyaWNrIFBhbGthKS4KKyM9ZmVkb3JhdGVz dAorUGF0Y2gxMjU6IGdkYi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQucGF0Y2gKKworIyBQ eXRob24gcGF0Y2hlcyBvZjogaHR0cDovL3NvdXJjZXdhcmUub3JnL2dkYi93aWtpL1Byb2plY3RB cmNoZXIKKyM9cHVzaAorUGF0Y2gxMjY6IGdkYi1hcmNoZXIucGF0Y2gKKworIyBSZXZlcnQgdXBz dHJlYW0gY29tbWl0IDQ2OTQxMmRkOWNjYzRkZTU4NzRmZDMyOTliMTA1ODMzZjM2YjM0Y2QKK1Bh dGNoMTI3OiBnZGItdmxhLWludGVsLWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNoCisKCmRpZmYg LS1naXQgYS9fZ2RiLnNwZWMucGF0Y2guaW5jbHVkZSBiL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRl Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4YzZkMWYKLS0tIC9kZXYvbnVs bAorKysgYi9fZ2RiLnNwZWMucGF0Y2guaW5jbHVkZQpAQCAtMCwwICsxLDEyNyBAQAorJXBhdGNo MDAxIC1wMQorJXBhdGNoMDAyIC1wMQorJXBhdGNoMDAzIC1wMQorJXBhdGNoMDA0IC1wMQorJXBh dGNoMDA1IC1wMQorJXBhdGNoMDA2IC1wMQorJXBhdGNoMDA3IC1wMQorJXBhdGNoMDA4IC1wMQor JXBhdGNoMDA5IC1wMQorJXBhdGNoMDEwIC1wMQorJXBhdGNoMDExIC1wMQorJXBhdGNoMDEyIC1w MQorJXBhdGNoMDEzIC1wMQorJXBhdGNoMDE0IC1wMQorJXBhdGNoMDE1IC1wMQorJXBhdGNoMDE2 IC1wMQorJXBhdGNoMDE3IC1wMQorJXBhdGNoMDE4IC1wMQorJXBhdGNoMDE5IC1wMQorJXBhdGNo MDIwIC1wMQorJXBhdGNoMDIxIC1wMQorJXBhdGNoMDIyIC1wMQorJXBhdGNoMDIzIC1wMQorJXBh dGNoMDI0IC1wMQorJXBhdGNoMDI1IC1wMQorJXBhdGNoMDI2IC1wMQorJXBhdGNoMDI3IC1wMQor JXBhdGNoMDI4IC1wMQorJXBhdGNoMDI5IC1wMQorJXBhdGNoMDMwIC1wMQorJXBhdGNoMDMxIC1w MQorJXBhdGNoMDMyIC1wMQorJXBhdGNoMDMzIC1wMQorJXBhdGNoMDM0IC1wMQorJXBhdGNoMDM1 IC1wMQorJXBhdGNoMDM2IC1wMQorJXBhdGNoMDM3IC1wMQorJXBhdGNoMDM4IC1wMQorJXBhdGNo MDM5IC1wMQorJXBhdGNoMDQwIC1wMQorJXBhdGNoMDQxIC1wMQorJXBhdGNoMDQyIC1wMQorJXBh dGNoMDQzIC1wMQorJXBhdGNoMDQ0IC1wMQorJXBhdGNoMDQ1IC1wMQorJXBhdGNoMDQ2IC1wMQor JXBhdGNoMDQ3IC1wMQorJXBhdGNoMDQ4IC1wMQorJXBhdGNoMDQ5IC1wMQorJXBhdGNoMDUwIC1w MQorJXBhdGNoMDUxIC1wMQorJXBhdGNoMDUyIC1wMQorJXBhdGNoMDUzIC1wMQorJXBhdGNoMDU0 IC1wMQorJXBhdGNoMDU1IC1wMQorJXBhdGNoMDU2IC1wMQorJXBhdGNoMDU3IC1wMQorJXBhdGNo MDU4IC1wMQorJXBhdGNoMDU5IC1wMQorJXBhdGNoMDYwIC1wMQorJXBhdGNoMDYxIC1wMQorJXBh dGNoMDYyIC1wMQorJXBhdGNoMDYzIC1wMQorJXBhdGNoMDY0IC1wMQorJXBhdGNoMDY1IC1wMQor JXBhdGNoMDY2IC1wMQorJXBhdGNoMDY3IC1wMQorJXBhdGNoMDY4IC1wMQorJXBhdGNoMDY5IC1w MQorJXBhdGNoMDcwIC1wMQorJXBhdGNoMDcxIC1wMQorJXBhdGNoMDcyIC1wMQorJXBhdGNoMDcz IC1wMQorJXBhdGNoMDc0IC1wMQorJXBhdGNoMDc1IC1wMQorJXBhdGNoMDc2IC1wMQorJXBhdGNo MDc3IC1wMQorJXBhdGNoMDc4IC1wMQorJXBhdGNoMDc5IC1wMQorJXBhdGNoMDgwIC1wMQorJXBh dGNoMDgxIC1wMQorJXBhdGNoMDgyIC1wMQorJXBhdGNoMDgzIC1wMQorJXBhdGNoMDg0IC1wMQor JXBhdGNoMDg1IC1wMQorJXBhdGNoMDg2IC1wMQorJXBhdGNoMDg3IC1wMQorJXBhdGNoMDg4IC1w MQorJXBhdGNoMDg5IC1wMQorJXBhdGNoMDkwIC1wMQorJXBhdGNoMDkxIC1wMQorJXBhdGNoMDky IC1wMQorJXBhdGNoMDkzIC1wMQorJXBhdGNoMDk0IC1wMQorJXBhdGNoMDk1IC1wMQorJXBhdGNo MDk2IC1wMQorJXBhdGNoMDk3IC1wMQorJXBhdGNoMDk4IC1wMQorJXBhdGNoMDk5IC1wMQorJXBh dGNoMTAwIC1wMQorJXBhdGNoMTAxIC1wMQorJXBhdGNoMTAyIC1wMQorJXBhdGNoMTAzIC1wMQor JXBhdGNoMTA0IC1wMQorJXBhdGNoMTA1IC1wMQorJXBhdGNoMTA2IC1wMQorJXBhdGNoMTA3IC1w MQorJXBhdGNoMTA4IC1wMQorJXBhdGNoMTA5IC1wMQorJXBhdGNoMTEwIC1wMQorJXBhdGNoMTEx IC1wMQorJXBhdGNoMTEyIC1wMQorJXBhdGNoMTEzIC1wMQorJXBhdGNoMTE0IC1wMQorJXBhdGNo MTE1IC1wMQorJXBhdGNoMTE2IC1wMQorJXBhdGNoMTE3IC1wMQorJXBhdGNoMTE4IC1wMQorJXBh dGNoMTE5IC1wMQorJXBhdGNoMTIwIC1wMQorJXBhdGNoMTIxIC1wMQorJXBhdGNoMTIyIC1wMQor JXBhdGNoMTIzIC1wMQorJXBhdGNoMTI0IC1wMQorJXBhdGNoMTI1IC1wMQorJXBhdGNoMTI2IC1w MQorJXBhdGNoMTI3IC1wMQoKZGlmZiAtLWdpdCBhL19naXRfdXBzdHJlYW1fY29tbWl0IGIvX2dp dF91cHN0cmVhbV9jb21taXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBl ZmZkMAotLS0gL2Rldi9udWxsCisrKyBiL19naXRfdXBzdHJlYW1fY29tbWl0CkBAIC0wLDAgKzEg QEAKKzFlOTdhMjI3OTZjY2VkOGJiYTMzNTlkZjQ2ZThjMjg4MzY1MzUxNmYKCmRpZmYgLS1naXQg YS9fcGF0Y2hfb3JkZXIgYi9fcGF0Y2hfb3JkZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNDdjOWViYQotLS0gL2Rldi9udWxsCisrKyBiL19wYXRjaF9vcmRlcgpAQCAtMCww ICsxLDEyNyBAQAorZ2RiLTYuMy1yaC10ZXN0dmVyc2lvbi0yMDA0MTIwMi5wYXRjaAorZ2RiLXZs YS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2gKK2dkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEt c3RyaW5ncy5wYXRjaAorZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0Y2gKK2dkYi02LjMt cmgtZHVtbXlrZmFpbC0yMDA0MTIwMi5wYXRjaAorZ2RiLTYuMy1wcGM2NHN5c2NhbGwtMjAwNDA2 MjIucGF0Y2gKK2dkYi02LjMtcHBjNjRkaXNwbGF5c3ltYm9sLTIwMDQxMTI0LnBhdGNoCitnZGIt Ni4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaAorZ2RiLTYuMy10ZXN0LXBpZS0yMDA1MDEwNy5wYXRj aAorZ2RiLTYuMy10ZXN0LXNlbGYtMjAwNTAxMTAucGF0Y2gKK2dkYi02LjMtdGVzdC1kdG9yZml4 LTIwMDUwMTIxLnBhdGNoCitnZGItNi4zLXRlc3QtbW92ZWRpci0yMDA1MDEyNS5wYXRjaAorZ2Ri LTYuMy10aHJlYWRlZC13YXRjaHBvaW50czItMjAwNTAyMjUucGF0Y2gKK2dkYi02LjMtaW5mZXJp b3Itbm90aWZpY2F0aW9uLTIwMDUwNzIxLnBhdGNoCitnZGItNi4zLWluaGVyaXRhbmNldGVzdC0y MDA1MDcyNi5wYXRjaAorZ2RiLTYuMy1yZWFkbmV2ZXItMjAwNTA5MDcucGF0Y2gKK2dkYi02LjUt YnoyMDM2NjEtZW1pdC1yZWxvY3MucGF0Y2gKK2dkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMt d2l0aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKK2dkYi02LjUtc2hhcmVkbGlicmFyeS1wYXRoLnBh dGNoCitnZGItNi41LUJFQS10ZXN0c3VpdGUucGF0Y2gKK2dkYi02LjUtbGFzdC1hZGRyZXNzLXNw YWNlLWJ5dGUtdGVzdC5wYXRjaAorZ2RiLTYuNS1yZWFkbGluZS1sb25nLWxpbmUtY3Jhc2gtdGVz dC5wYXRjaAorZ2RiLTYuNS1iejIxNjcxMS1jbG9uZS1pcy1vdXRlcm1vc3QucGF0Y2gKK2dkYi02 LjUtYnoyMTgzNzktcHBjLXNvbGliLXRyYW1wb2xpbmUtdGVzdC5wYXRjaAorZ2RiLTYuNS1iejIx ODM3OS1zb2xpYi10cmFtcG9saW5lLWxvb2t1cC1sb2NrLWZpeC5wYXRjaAorZ2RiLTYuNS1iejEw OTkyMS1EV19BVF9kZWNsX2ZpbGUtdGVzdC5wYXRjaAorZ2RiLTYuMy1iejE0MDUzMi1wcGMtdW53 aW5kaW5nLXRlc3QucGF0Y2gKK2dkYi02LjMtYnoyMDI2ODktZXhlYy1mcm9tLXB0aHJlYWQtdGVz dC5wYXRjaAorZ2RiLTYuNi1iejIzMDAwMC1wb3dlcjYtZGlzYXNzZW1ibHktdGVzdC5wYXRjaAor Z2RiLTYuNi1iejIyOTUxNy1nY29yZS13aXRob3V0LXRlcm1pbmFsLnBhdGNoCitnZGItNi42LWJ6 MjM1MTk3LWZvcmstZGV0YWNoLWluZm8ucGF0Y2gKK2dkYi02LjYtdGVzdHN1aXRlLXRpbWVvdXRz LnBhdGNoCitnZGItNi42LWJ6MjM3NTcyLXBwYy1hdG9taWMtc2VxdWVuY2UtdGVzdC5wYXRjaAor Z2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLWlzLWRlZmF1bHQucGF0Y2gKK2dkYi02LjMt YXR0YWNoLXNlZS12ZHNvLXRlc3QucGF0Y2gKK2dkYi02LjUtYnoyNDM4NDUtc3RhbGUtdGVzdGlu Zy16b21iaWUtdGVzdC5wYXRjaAorZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAorZ2RiLTYu Ni1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAorZ2RiLTYuNi1idWlsZGlk LWxvY2F0ZS1ycG0ucGF0Y2gKK2dkYi02LjctY2hhcnNpZ24tdGVzdC5wYXRjaAorZ2RiLTYuNy1w cGMtY2xvYmJlcmVkLXJlZ2lzdGVycy1PMi10ZXN0LnBhdGNoCitnZGItNi43LXRlc3RzdWl0ZS1z dGFibGUtcmVzdWx0cy5wYXRjaAorZ2RiLTYuNS1pYTY0LWxpYnVud2luZC1sZWFrLXRlc3QucGF0 Y2gKK2dkYi02LjUtbWlzc2VkLXRyYXAtb24tc3RlcC10ZXN0LnBhdGNoCitnZGItNi41LWdjb3Jl LWJ1ZmZlci1saW1pdC10ZXN0LnBhdGNoCitnZGItNi4zLW1hcHBpbmctemVyby1pbm9kZS10ZXN0 LnBhdGNoCitnZGItNi4zLWZvY3VzLWNtZC1wcmV2LXRlc3QucGF0Y2gKK2dkYi02LjgtYno0NDI3 NjUtdGhyZWFkZWQtZXhlYy10ZXN0LnBhdGNoCitnZGItNi44LXNwYXJjNjQtc2lsZW5jZS1tZW1j cHktY2hlY2sucGF0Y2gKK2dkYi02LjUtc2VjdGlvbi1udW0tZml4dXAtdGVzdC5wYXRjaAorZ2Ri LTYuOC1iejQzNjAzNy1yZWctbm8tbG9uZ2VyLWFjdGl2ZS5wYXRjaAorZ2RiLTYuOC13YXRjaHBv aW50LWNvbmRpdGlvbmFscy10ZXN0LnBhdGNoCitnZGItNi44LWJ6NDY2OTAxLWJhY2t0cmFjZS1m dWxsLXByZWxpbmtlZC5wYXRjaAorZ2RiLXNpbXVsdGFuZW91cy1zdGVwLXJlc3VtZS1icmVha3Bv aW50LXRlc3QucGF0Y2gKK2dkYi1jb3JlLW9wZW4tdmRzby13YXJuaW5nLnBhdGNoCitnZGIteDg2 XzY0LWkzODYtc3lzY2FsbC1yZXN0YXJ0LnBhdGNoCitnZGItYno1MzMxNzYtZm9ydHJhbi1vbXAt c3RlcC5wYXRjaAorZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKK2dkYi1jY2Fj aGUtd29ya2Fyb3VuZC5wYXRjaAorZ2RiLWFyY2hlci1waWUtYWRkb25zLnBhdGNoCitnZGItYXJj aGVyLXBpZS1hZGRvbnMta2VlcC1kaXNhYmxlZC5wYXRjaAorZ2RiLWxpbmVuby1tYWtldXAtdGVz dC5wYXRjaAorZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaAorZ2RiLWJ6NTQxODY2LXJ3YXRjaC1i ZWZvcmUtcnVuLnBhdGNoCitnZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmthcm91bmQucGF0Y2gKK2dk Yi1hcmNoZXItbmV4dC1vdmVyLXRocm93LWN4eC1leGVjLnBhdGNoCitnZGItYno2MDE4ODctZHdh cmY0LXJoLXRlc3QucGF0Y2gKK2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0 Y2gKK2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBhdGNoCitn ZGItdGVzdC1idC1jZmktd2l0aG91dC1kaWUucGF0Y2gKK2dkYi1nZGItYWRkLWluZGV4LXNjcmlw dC5wYXRjaAorZ2RiLWJ6NTY4MjQ4LW9vbS1pcy1lcnJvci5wYXRjaAorZ2RiLWJ6NjM0MTA4LXNv bGliX2FkZHJlc3MucGF0Y2gKK2dkYi10ZXN0LXBpZDAtY29yZS5wYXRjaAorZ2RiLXRlc3QtZHcy LWFyYW5nZXMucGF0Y2gKK2dkYi10ZXN0LWV4cHItY3VtdWxhdGl2ZS1hcmNoZXIucGF0Y2gKK2dk Yi1waHlzbmFtZS1wcjExNzM0LXRlc3QucGF0Y2gKK2dkYi1waHlzbmFtZS1wcjEyMjczLXRlc3Qu cGF0Y2gKK2dkYi03LjIuNTAtc3BhcmMtYWRkLXdvcmthcm91bmQtdG8tYnJva2VuLWRlYnVnLWZp bGVzLnBhdGNoCitnZGItdGVzdC1pdnktYnJpZGdlLnBhdGNoCitnZGItZ2xpYmMtdmRzby13b3Jr YXJvdW5kLnBhdGNoCitnZGItcnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKK2dkYi1hdHRhY2gt ZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gKK2dkYi1zdGFsZS1mcmFtZV9pbmZvLnBhdGNoCitnZGIt Z2xpYmMtc3Ryc3RyLXdvcmthcm91bmQucGF0Y2gKK2dkYi1yaGVsNS45LXRlc3RjYXNlLXhsZi12 YXItaW5zaWRlLW1vZC5wYXRjaAorZ2RiLXJoYnotODE4MzQzLXNldC1zb2xpYi1hYnNvbHV0ZS1w cmVmaXgtdGVzdGNhc2UucGF0Y2gKK2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gK K2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2gKK2dkYi1yaGJ6Nzk1NDI0LWJpdHBv cy0yMm9mMjUucGF0Y2gKK2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKK2dkYi1y aGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUucGF0Y2gKK2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9m MjUtdGVzdC5wYXRjaAorZ2RiLXJoYno3OTU0MjQtYml0cG9zLWxhenl2YWx1ZS5wYXRjaAorZ2Ri LXJoYno5NDc1NjQtZmluZHZhci1hc3NlcnRpb24tZnJhbWUtZmFpbGVkLXRlc3RjYXNlLnBhdGNo CitnZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNoCitnZGItcmhiejEwMDc2MTQtbWVtbGVh ay1pbmZweV9yZWFkX21lbW9yeS10ZXN0LnBhdGNoCitnZGItNi42LWJ1aWxkaWQtbG9jYXRlLW1p c2xlYWRpbmctd2FybmluZy1taXNzaW5nLWRlYnVnaW5mby1yaGJ6OTgxMTU0LnBhdGNoCitnZGIt YXJjaGVyLXZsYS10ZXN0cy5wYXRjaAorZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAorZ2RiLWJ0 cm9idXN0LnBhdGNoCitnZGItZm9ydHJhbi1mcmFtZS1zdHJpbmcucGF0Y2gKK2dkYi1weXRob24t Z2lsLnBhdGNoCitnZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi10ZXN0LnBhdGNoCitn ZGItaml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaAorZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2Nh bGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCitnZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3It dW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5wYXRjaAorZ2RiLXJoYnoxMzUwNDM2LXR5cGUt cHJpbnRlcnMtZXJyb3IucGF0Y2gKK2dkYi1yaGJ6MTA4NDQwNC1wcGM2NC1zMzkweC13cm9uZy1w cm9sb2d1ZS1za2lwLU8yLWctM29mMy5wYXRjaAorZ2RiLWJ6MTIxOTc0Ny1hdHRhY2gta2lsbHMu cGF0Y2gKK2dkYi1mZWRvcmEtbGlibmN1cnNlc3cucGF0Y2gKK2dkYi1vcGNvZGVzLWNsZmx1c2hv cHQtdGVzdC5wYXRjaAorZ2RiLWR0cy1yaGVsNi1weXRob24tY29tcGF0LnBhdGNoCitnZGItNi42 LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKK2dkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJo LnBhdGNoCitnZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gKK2dk Yi02LjgtcXVpdC1uZXZlci1hYm9ydHMucGF0Y2gKK2dkYi1yaGJ6MTI2MTU2NC1hYXJjaDY0LWh3 LXdhdGNocG9pbnQtdGVzdC5wYXRjaAorZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKK2dkYi1y aGJ6MTMyNTc5NS1mcmFtZWZpbHRlcnMtdGVzdC5wYXRjaAorZ2RiLWxpbnV4X3BlcmYtYnVuZGxl LnBhdGNoCitnZGItbGliZXhlYy1hZGQtaW5kZXgucGF0Y2gKK2dkYi1hZGQtaW5kZXgtY2htb2Qu cGF0Y2gKK2dkYi1yaGJ6MTM5ODM4Ny10YWItY3Jhc2gtdGVzdC5wYXRjaAorZ2RiLXRlc3RzdWl0 ZS1yZWFkbGluZTYzLXNpZ2ludC5wYXRjaAorZ2RiLWFyY2hlci5wYXRjaAorZ2RiLXZsYS1pbnRl bC1maXgtcHJpbnQtY2hhci1hcnJheS5wYXRjaAoKZGlmZiAtLWdpdCBhL2dkYi02LjMtYXR0YWNo LXNlZS12ZHNvLXRlc3QucGF0Y2ggYi9nZGItNi4zLWF0dGFjaC1zZWUtdmRzby10ZXN0LnBhdGNo CmluZGV4IGYwZDU3NjkuLmNlZGNmMjkgMTAwNjQ0Ci0tLSBhL2dkYi02LjMtYXR0YWNoLXNlZS12 ZHNvLXRlc3QucGF0Y2gKKysrIGIvZ2RiLTYuMy1hdHRhY2gtc2VlLXZkc28tdGVzdC5wYXRjaApA QCAtMSwxNCArMSwyNCBAQAorRnJvbSA3MjA0NjU1NTJmMzU5ZTFiNDQ2NjY1MTZkODAzMmJmZTEx ZDllOWNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVz IDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAy MDAKIFN1YmplY3Q6IGdkYi02LjMtYXR0YWNoLXNlZS12ZHNvLXRlc3QucGF0Y2gKIAogRmlsZU5h bWU6IGdkYi02LjMtYXR0YWNoLXNlZS12ZHNvLXRlc3QucGF0Y2gKIAorOzsgVGVzdCBrZXJuZWwg VkRTTyBkZWNvZGluZyB3aGlsZSBhdHRhY2hpbmcgdG8gYW4gaTM4NiBwcm9jZXNzLgorOzs9ZmVk b3JhdGVzdAorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtc2VlLXZkc28uYyAg IHwgMjUgKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC1zZWUtdmRz by5leHAgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5n ZWQsIDk3IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9hdHRhY2gtc2VlLXZkc28uYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2F0dGFjaC1zZWUtdmRzby5leHAKIAotSW5kZXg6IGdkYi03LjEwLjkwLjIw MTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLXNlZS12ZHNvLmMKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsr KyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC1zZWUt dmRzby5jCTIwMTYtMDItMTUgMjM6MjU6MzYuNzQ5NjAxMDQ1ICswMTAwCitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtc2VlLXZkc28uYyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvYXR0YWNoLXNlZS12ZHNvLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwMDAwLi5jZjNjNzIwN2E1CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2F0dGFjaC1zZWUtdmRzby5jCiBAQCAtMCwwICsxLDI1IEBACiArLyogVGhpcyB0 ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTM1LDEwICs0 NSwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9hdHRhY2gtc2VlLXZkc28uYwogKyAgcGF1c2UgKCk7CiArICByZXR1cm4gMTsKICt9Ci1JbmRl eDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtc2Vl LXZkc28uZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9hdHRhY2gtc2VlLXZkc28uZXhwCTIwMTYtMDItMTUgMjM6MjU6NDQuODg5NjU4ODQw ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtc2VlLXZk c28uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtc2VlLXZkc28uZXhwCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZThhNTM4MDk3ZQorLS0tIC9kZXYv bnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtc2VlLXZkc28uZXhwCiBA QCAtMCwwICsxLDcyIEBACiArIyBDb3B5cmlnaHQgMjAwNwogKwpAQCAtMTEyLDMgKzEyMyw2IEBA IEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFj aC1zZWUtdmRzby5leHAKICsjIHdvcmsuCiArICAgCiArcmVtb3RlX2V4ZWMgYnVpbGQgImtpbGwg LTkgJHt0ZXN0cGlkfSIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi4zLWJ6MTQw NTMyLXBwYy11bndpbmRpbmctdGVzdC5wYXRjaCBiL2dkYi02LjMtYnoxNDA1MzItcHBjLXVud2lu ZGluZy10ZXN0LnBhdGNoCmluZGV4IDM5NWI4MjIuLjIzOWU1NWYgMTAwNjQ0Ci0tLSBhL2dkYi02 LjMtYnoxNDA1MzItcHBjLXVud2luZGluZy10ZXN0LnBhdGNoCisrKyBiL2dkYi02LjMtYnoxNDA1 MzItcHBjLXVud2luZGluZy10ZXN0LnBhdGNoCkBAIC0xLDEzICsxLDI5IEBACitGcm9tIGMwYjI2 ZGJlYTkyYmMxMDZiOTM1NmZkZTJkZDg1YzdhNDkzMDU1ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTog RnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuMy1iejE0MDUz Mi1wcGMtdW53aW5kaW5nLXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjMtYnoxNDA1MzIt cHBjLXVud2luZGluZy10ZXN0LnBhdGNoCiAKKzs7IFVwZGF0ZSBQUEMgdW53aW5kaW5nIHBhdGNo ZXMgdG8gdGhlaXIgdXBzdHJlYW0gdmFyaWFudHMgKEJaIDE0MDUzMikuCis7Oz1mZWRvcmF0ZXN0 CistLS0KKyAuLi4vZ2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUtYXNtMzIuUyAgICAgICAg ICB8IDc4ICsrKysrKysrKysrKysrKysrCisgLi4uL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xv Z3VlLWFzbTY0LlMgICAgICAgICAgfCA5OCArKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS5jICAgICAgfCAyOSArKysrKysr CisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS5leHAgICAgfCA3 MiArKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXByb2xv Z3VlLmV4cCAgICAgICAgfCAgNSArLQorIDUgZmlsZXMgY2hhbmdlZCwgMjgwIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUtYXNtMzIuUworIGNyZWF0ZSBtb2RlIDEwMDY0NCBn ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLWFzbTY0LlMKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1 ZS5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1i Y2wtcHJvbG9ndWUuZXhwCiAKLWRpZmYgLXUgLXJ1TnAgZ2RiLTYuMy11bnBhdGNoZWQvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc20zMi5TIGdkYi02LjMvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc20zMi5TCi0tLS0gZ2Ri LTYuMy11bnBhdGNoZWQvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1 ZS1hc20zMi5TCTE5NjktMTItMzEgMTk6MDA6MDAuMDAwMDAwMDAwIC0wNTAwCi0rKysgZ2RiLTYu My9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLWFzbTMyLlMJMjAw Ny0wOC0wMiAxMzoyMzoxMC4wMDAwMDAwMDAgLTA0MDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLWFzbTMyLlMgYi9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLWFzbTMyLlMKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwMDAwLi4xZTQzMDFhZjg5CistLS0gL2Rldi9udWxsCisrKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLWFzbTMyLlMKIEBAIC0w LDAgKzEsNzggQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRl YnVnZ2VyLgogKwpAQCAtODcsOSArMTAzLDExIEBAIGRpZmYgLXUgLXJ1TnAgZ2RiLTYuMy11bnBh dGNoZWQvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc20zCiAr fQogKwogKyovCi1kaWZmIC11IC1ydU5wIGdkYi02LjMtdW5wYXRjaGVkL2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUtYXNtNjQuUyBnZGItNi4zL2dkYi90ZXN0c3Vp dGUvZ2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUtYXNtNjQuUwotLS0tIGdkYi02LjMtdW5w YXRjaGVkL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUtYXNtNjQu UwkxOTY5LTEyLTMxIDE5OjAwOjAwLjAwMDAwMDAwMCAtMDUwMAotKysrIGdkYi02LjMvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc202NC5TCTIwMDctMDgtMDIg MTQ6Mjg6NTYuMDAwMDAwMDAwIC0wNDAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc202NC5TIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc202NC5TCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMC4uMWFmNWMxOWExNgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS1hc202NC5TCiBAQCAtMCwwICsxLDk4 IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4K ICsKQEAgLTE4OSw5ICsyMDcsMTEgQEAgZGlmZiAtdSAtcnVOcCBnZGItNi4zLXVucGF0Y2hlZC9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLWFzbTYKICt9CiArCiAr Ki8KLWRpZmYgLXUgLXJ1TnAgZ2RiLTYuMy11bnBhdGNoZWQvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS5jIGdkYi02LjMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9w b3dlcnBjLWJjbC1wcm9sb2d1ZS5jCi0tLS0gZ2RiLTYuMy11bnBhdGNoZWQvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS5jCTE5NjktMTItMzEgMTk6MDA6MDAuMDAw MDAwMDAwIC0wNTAwCi0rKysgZ2RiLTYuMy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMt YmNsLXByb2xvZ3VlLmMJMjAwNy0wOC0wMiAxMzoyNToxMC4wMDAwMDAwMDAgLTA0MDAKK2RpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLmMgYi9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLmMKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi42YjViYjA4ZDBmCistLS0gL2Rldi9udWxsCisr KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLmMKIEBAIC0w LDAgKzEsMjkgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRl YnVnZ2VyLgogKwpAQCAtMjIyLDkgKzI0MiwxMSBAQCBkaWZmIC11IC1ydU5wIGdkYi02LjMtdW5w YXRjaGVkL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUuYyBnZAog KyAgZnVuYzEgKCk7CiArICByZXR1cm4gMDsKICt9Ci1kaWZmIC11IC1ydU5wIGdkYi02LjMtdW5w YXRjaGVkL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUuZXhwIGdk Yi02LjMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS5leHAKLS0t LSBnZGItNi4zLXVucGF0Y2hlZC9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtYmNsLXBy b2xvZ3VlLmV4cAkxOTY5LTEyLTMxIDE5OjAwOjAwLjAwMDAwMDAwMCAtMDUwMAotKysrIGdkYi02 LjMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS5leHAJMjAwNy0w OC0wMiAxNDoyMToyOS4wMDAwMDAwMDAgLTA0MDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3Bvd2VycGMtYmNsLXByb2xvZ3VlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMC4uNWY1MGM0ZWY0MworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC9wb3dlcnBjLWJjbC1wcm9sb2d1ZS5leHAKIEBAIC0wLDAgKzEsNzIgQEAKICsj ICAgQ29weXJpZ2h0IDIwMDYsIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAr CkBAIC0yOTgsMTIgKzMyMCwxMSBAQCBkaWZmIC11IC1ydU5wIGdkYi02LjMtdW5wYXRjaGVkL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1iY2wtcHJvbG9ndWUuZXhwIAogKwlwYXNzICR0 ZXN0CiArICAgIH0KICt9Ci0KLUZpeHVwIHRoZSB0ZXN0Y2FzZSBmb3IgcHBjNjQgYmlhcmNoIEdE Qi4KLQotLS0tIC4vZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXByb2xvZ3VlLmV4cAky MDA4LTAxLTEzIDEzOjMyOjE5LjAwMDAwMDAwMCArMDEwMAotKysrIC4vZ2RiL3Rlc3RzdWl0ZS9n ZGIuYXJjaC9wb3dlcnBjLXByb2xvZ3VlLmV4cAkyMDA4LTAxLTAyIDAwOjA0OjEwLjAwMDAwMDAw MCArMDEwMAotQEAgLTE3LDggKzE3LDkgQEAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5hcmNoL3Bvd2VycGMtcHJvbG9ndWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dl cnBjLXByb2xvZ3VlLmV4cAoraW5kZXggOWFiMTcyYmU3Yi4uOTFlZTNhMjliYSAxMDA2NDQKKy0t LSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1wcm9sb2d1ZS5leHAKKysrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1wcm9sb2d1ZS5leHAKK0BAIC0xNiw4ICsxNiw5 IEBACiAgIyBUZXN0IFBvd2VyUEMgcHJvbG9ndWUgYW5hbHl6ZXIuCiAgCiAgIyBEbyBub3QgcnVu IG9uIEFJWCAod2hlcmUgd2Ugd29uJ3QgYmUgYWJsZSB0byBidWlsZCB0aGUgdGVzdHMgd2l0aG91 dApAQCAtMzE1LDMgKzMzNiw2IEBAIEZpeHVwIHRoZSB0ZXN0Y2FzZSBmb3IgcHBjNjQgYmlhcmNo IEdEQi4KICAgICAgdmVyYm9zZSAiU2tpcHBpbmcgUG93ZXJQQyBwcm9sb2d1ZSB0ZXN0cy4iCiAg ICAgIHJldHVybgogIH0KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi4zLWJ6MjAy Njg5LWV4ZWMtZnJvbS1wdGhyZWFkLXRlc3QucGF0Y2ggYi9nZGItNi4zLWJ6MjAyNjg5LWV4ZWMt ZnJvbS1wdGhyZWFkLXRlc3QucGF0Y2gKaW5kZXggMzkyYTQ3NS4uZjM4NmNiZiAxMDA2NDQKLS0t IGEvZ2RiLTYuMy1iejIwMjY4OS1leGVjLWZyb20tcHRocmVhZC10ZXN0LnBhdGNoCisrKyBiL2dk Yi02LjMtYnoyMDI2ODktZXhlYy1mcm9tLXB0aHJlYWQtdGVzdC5wYXRjaApAQCAtMSwxOSArMSwy OCBAQAorRnJvbSBkNzViN2VmMTQxYmNjM2VhOWVhZjdmYThiZDcwMjNiNjM3MmUyNWZiIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2Nodmls QHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJq ZWN0OiBnZGItNi4zLWJ6MjAyNjg5LWV4ZWMtZnJvbS1wdGhyZWFkLXRlc3QucGF0Y2gKIAogRmls ZU5hbWU6IGdkYi02LjMtYnoyMDI2ODktZXhlYy1mcm9tLXB0aHJlYWQtdGVzdC5wYXRjaAogCis7 OyBUZXN0Y2FzZSBmb3IgZXhlYygpIGZyb20gdGhyZWFkZWQgcHJvZ3JhbSAoQlogMjAyNjg5KS4K Kzs7PWZlZG9yYXRlc3QKIAogMjAwNy0wMS0xNyAgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2No dmlsQHJlZGhhdC5jb20+CiAKIAkqIGdkYi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuZXhwLCBnZGIu dGhyZWFkcy90aHJlYWRlZC1leGVjLmM6IE5ldyBmaWxlcy4KKy0tLQorIGdkYi90ZXN0c3VpdGUv Z2RiLnRocmVhZHMvdGhyZWFkZWQtZXhlYy5jICAgfCA0NiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQtZXhlYy5leHAgfCA0 MSArKysrKysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRp b25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhy ZWFkZWQtZXhlYy5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvdGhyZWFkZWQtZXhlYy5leHAKIAotCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmMKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4x MC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuYwky MDE2LTAyLTE2IDA5OjU0OjA2LjkzNjkwNDQxOCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQtZXhlYy5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy90aHJlYWRlZC1leGVjLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwLi41MjJiMjQ2NzFkCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50 aHJlYWRzL3RocmVhZGVkLWV4ZWMuYwogQEAgLTAsMCArMSw0NiBAQAogKy8qIFRoaXMgdGVzdGNh c2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC02MSwxMCArNzAsMTEg QEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv dGhyZWFkZWQtZXhlYy5jCiArCWV4ZWNsICgiL2Jpbi90cnVlIiwgIi9iaW4vdHJ1ZSIsIE5VTEwp OwogKwlhYm9ydCAoKTsKICt9Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmV4cAotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkw LjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQtZXhlYy5leHAJMjAx Ni0wMi0xNiAwOTo1NDoxOS45NjU5OTI1ODUgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy90aHJlYWRlZC1leGVjLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAwMDAuLjc3YzhhN2RjODUKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvdGhyZWFkZWQtZXhlYy5leHAKIEBAIC0wLDAgKzEsNDEgQEAKICsjIHRocmVhZGVk LWV4ZWMuZXhwIC0tIENoZWNrIHJlc2V0IG9mIHRoZSB0cmFja2VkIHRocmVhZHMgb24gZXhlYyoo MikKICsjIENvcHlyaWdodCAoQykgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K QEAgLTEwNywzICsxMTcsNiBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmV4cAogKyAgICAgICBwYXNzICJQcm9ncmFt IGV4aXRlZCIKICsgICB9CiArfQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjMt Zm9jdXMtY21kLXByZXYtdGVzdC5wYXRjaCBiL2dkYi02LjMtZm9jdXMtY21kLXByZXYtdGVzdC5w YXRjaAppbmRleCBmNzA5M2VlLi4zMzk1YzQyIDEwMDY0NAotLS0gYS9nZGItNi4zLWZvY3VzLWNt ZC1wcmV2LXRlc3QucGF0Y2gKKysrIGIvZ2RiLTYuMy1mb2N1cy1jbWQtcHJldi10ZXN0LnBhdGNo CkBAIC0xLDE0ICsxLDIyIEBACitGcm9tIDI4ZTQ4NWVlOGFmYmZjN2I5M2E4Y2Y3NDAwY2Y5OTM3 NDg3NDc5YzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNo ZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCAr MDIwMAogU3ViamVjdDogZ2RiLTYuMy1mb2N1cy1jbWQtcHJldi10ZXN0LnBhdGNoCiAKIEZpbGVO YW1lOiBnZGItNi4zLWZvY3VzLWNtZC1wcmV2LXRlc3QucGF0Y2gKIAorOzsgVGVzdCBhIGNyYXNo IG9uIGBmb2N1cyBjbWQnLCBgZm9jdXMgcHJldicgY29tbWFuZHMuCis7Oz1mZWRvcmF0ZXN0Cist LS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvY3VzLWNtZC1wcmV2LmV4cCB8IDQwICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNDAgaW5zZXJ0aW9u cygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvY3VzLWNt ZC1wcmV2LmV4cAogCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9mb2N1cy1jbWQtcHJldi5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIy Ni9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvY3VzLWNtZC1wcmV2LmV4cAkyMDE3LTAzLTAyIDA5 OjM5OjE0LjUwODQ2MTA4NSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZm9jdXMtY21kLXByZXYuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb2N1cy1jbWQt cHJldi5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5kNWE2NTNm Njg0CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvY3VzLWNt ZC1wcmV2LmV4cAogQEAgLTAsMCArMSw0MCBAQAogKyMgQ29weXJpZ2h0IDIwMDggRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC01MCwzICs1OCw2IEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvY3VzLWNtZC1wcmV2LmV4cAog KwlwYXNzICR0ZXN0CiArICAgIH0KICt9CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2Ri LTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2ggYi9nZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRj aAppbmRleCA0ZmFjYjA0Li5jYWFhNzVkIDEwMDY0NAotLS0gYS9nZGItNi4zLWdzdGFjay0yMDA1 MDQxMS5wYXRjaAorKysgYi9nZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaApAQCAtMSwyMCAr MSwzNCBAQAorRnJvbSBmYjg3ZDAwMTY1ZjU2ODZiYmU1NDhjNDhiODhjM2UyNzYzZGI2ODQ1IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQW5kcmV3IENhZ25leSA8Y2FnbmV5QGdudS5v cmc+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGIt Ni4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuMy1nc3RhY2stMjAw NTA0MTEucGF0Y2gKIAorOzsgQWRkIGEgd3JhcHBlciBzY3JpcHQgdG8gR0RCIHRoYXQgaW1wbGVt ZW50cyBwc3RhY2sgdXNpbmcgdGhlCis7OyAtLXJlYWRuZXZlciBvcHRpb24uCis7Oz1wdXNoCisK IDIwMDQtMTEtMjMgIEFuZHJldyBDYWduZXkgIDxjYWduZXlAcmVkaGF0LmNvbT4KIAogCSogTWFr ZWZpbGUuaW4gKHVuaW5zdGFsbC1nc3RhY2ssIGluc3RhbGwtZ3N0YWNrKTogTmV3IHJ1bGVzLCBh ZGQKIAl0byBpbnN0YWxsIGFuZCB1bmluc3RhbGwuCiAJKiBnc3RhY2suc2gsIGdzdGFjay4xOiBO ZXcgZmlsZXMuCistLS0KKyBnZGIvTWFrZWZpbGUuaW4gICAgICAgICAgICAgICAgICAgfCAzNCAr KysrKysrKysrKysrKysrKystLQorIGdkYi9nc3RhY2suc2ggICAgICAgICAgICAgICAgICAgICB8 IDQzICsrKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dz dGFjay5jICAgfCA0MyArKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9nc3RhY2suZXhwIHwgNjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAxODQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL2dzdGFjay5zaAorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dzdGFjay5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ3N0YWNrLmV4cAogCi1JbmRleDogZ2RiLTcuNy9nZGIvTWFr ZWZpbGUuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy43Lm9yaWcvZ2RiL01ha2VmaWxlLmluCTIw MTQtMDItMDYgMjA6Mjk6MDkuNDAxMjE0MzM5ICswMTAwCi0rKysgZ2RiLTcuNy9nZGIvTWFrZWZp bGUuaW4JMjAxNC0wMi0wNiAyMDoyOTowOS41MDEyMTQzNjAgKzAxMDAKLUBAIC0xMDY3LDcgKzEw NjcsNyBAQCBpbmZvIGluc3RhbGwtaW5mbyBjbGVhbi1pbmZvIGR2aSBwZGYgaW5zCitkaWZmIC0t Z2l0IGEvZ2RiL01ha2VmaWxlLmluIGIvZ2RiL01ha2VmaWxlLmluCitpbmRleCA1ODIzMDk4MDM2 Li5mOTU1MDVlYTIxIDEwMDY0NAorLS0tIGEvZ2RiL01ha2VmaWxlLmluCisrKysgYi9nZGIvTWFr ZWZpbGUuaW4KK0BAIC0xNzQ3LDcgKzE3NDcsNyBAQCBpbmZvIGluc3RhbGwtaW5mbyBjbGVhbi1p bmZvIGR2aSBwZGYgaW5zdGFsbC1wZGYgaHRtbCBpbnN0YWxsLWh0bWw6IGZvcmNlCiAgaW5zdGFs bDogYWxsCiAgCUAkKE1BS0UpICQoRkxBR1NfVE9fUEFTUykgaW5zdGFsbC1vbmx5CiAgCkBAIC0y Myw3ICszNyw3IEBAIEluZGV4OiBnZGItNy43L2dkYi9NYWtlZmlsZS5pbgogIAl0cmFuc2Zvcm1l ZF9uYW1lPWB0PSckKHByb2dyYW1fdHJhbnNmb3JtX25hbWUpJzsgXAogIAkJCSAgZWNobyBnZGIg fCBzZWQgLWUgIiQkdCJgIDsgXAogIAkJaWYgdGVzdCAieCQkdHJhbnNmb3JtZWRfbmFtZSIgPSB4 OyB0aGVuIFwKLUBAIC0xMTA0LDcgKzExMDQsMjUgQEAgaW5zdGFsbC1zdHJpcDoKK0BAIC0xNzg3 LDcgKzE3ODcsMjUgQEAgaW5zdGFsbC1ndWlsZToKICBpbnN0YWxsLXB5dGhvbjoKICAJJChTSEVM TCkgJChzcmNkaXIpLy4uL21raW5zdGFsbGRpcnMgJChERVNURElSKSQoR0RCX0RBVEFESVIpL3B5 dGhvbi9nZGIKICAKQEAgLTUwLDcgKzY0LDcgQEAgSW5kZXg6IGdkYi03LjcvZ2RiL01ha2VmaWxl LmluCiAgCXRyYW5zZm9ybWVkX25hbWU9YHQ9JyQocHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSknOyBc CiAgCQkJICBlY2hvIGdkYiB8IHNlZCAtZSAkJHRgIDsgXAogIAkJaWYgdGVzdCAieCQkdHJhbnNm b3JtZWRfbmFtZSIgPSB4OyB0aGVuIFwKLUBAIC0xMTI3LDYgKzExNDUsMTggQEAgdW5pbnN0YWxs OiBmb3JjZSAkKENPTkZJR19VTklOU1RBTEwpCitAQCAtMTgxMCw2ICsxODI4LDE4IEBAIHVuaW5z dGFsbDogZm9yY2UgJChDT05GSUdfVU5JTlNUQUxMKQogIAlmaQogIAlAJChNQUtFKSBETz11bmlu c3RhbGwgIkRPRElSUz0kKFNVQkRJUlMpIiAkKEZMQUdTX1RPX1BBU1MpIHN1YmRpcl9kbwogIApA QCAtNjksMTAgKzgzLDExIEBAIEluZGV4OiBnZGItNy43L2dkYi9NYWtlZmlsZS5pbgogICMgVGhl IEMrKyBuYW1lIHBhcnNlciBjYW4gYmUgYnVpbHQgc3RhbmRhbG9uZSBmb3IgdGVzdGluZy4KICB0 ZXN0LWNwLW5hbWUtcGFyc2VyLm86IGNwLW5hbWUtcGFyc2VyLmMKICAJJChDT01QSUxFKSAtRFRF U1RfQ1BOQU1FUyBjcC1uYW1lLXBhcnNlci5jCi1JbmRleDogZ2RiLTcuNy9nZGIvZ3N0YWNrLnNo Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCi0rKysgZ2RiLTcuNy9nZGIvZ3N0YWNrLnNoCTIwMTQtMDItMDYgMjA6Mjk6MDkuNTAx MjE0MzYwICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL2dzdGFjay5zaCBiL2dkYi9nc3RhY2suc2gK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5mN2YwNzI0OGY3CistLS0g L2Rldi9udWxsCisrKysgYi9nZGIvZ3N0YWNrLnNoCiBAQCAtMCwwICsxLDQzIEBACiArIyEvYmlu L3NoCiArCkBAIC0xMTcsMTAgKzEzMiw2MCBAQCBJbmRleDogZ2RiLTcuNy9nZGIvZ3N0YWNrLnNo CiArICAgIC1lICdzL15cKChnZGIpIFwpKi8vJyBcCiArICAgIC1lICcvXiMvcCcgXAogKyAgICAt ZSAnL15UaHJlYWQvcCcKLUluZGV4OiBnZGItNy43L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ3N0 YWNrLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nc3RhY2su ZXhwCTIwMTQtMDItMDYgMjA6NDM6MTcuNzc0NzQ3MzUyICswMTAwCitkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9nc3RhY2suYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ3N0 YWNrLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5kYzEwODEzZjA0 CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dzdGFjay5jCitA QCAtMCwwICsxLDQzIEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdO VSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAwNSwgMjAwNywgMjAwOCwgMjAwOSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4gICovCisrCisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPHVuaXN0 ZC5oPgorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysKKyt2b2lkCisrZnVuYyAodm9pZCkKKyt7Cisr ICBjb25zdCBjaGFyIG1zZ1tdID0gImxvb3BpbmdcbiI7CisrCisrICAvKiBVc2UgdGhlIG1vc3Qg c2ltcGxlIG5vdGlmaWNhdGlvbiBub3QgdG8gZ2V0IGNhdWdodCBieSBhdHRhY2ggb24gZXhpdGlu ZworKyAgICAgdGhlIGZ1bmN0aW9uLiAgKi8KKysgIHdyaXRlICgxLCBtc2csIHN0cmxlbiAobXNn KSk7CisrICAKKysgIGZvciAoOzspOworK30KKysKKytpbnQKKyttYWluICh2b2lkKQorK3sKKysg IGFsYXJtICg2MCk7CisrICBuaWNlICgxMDApOworKworKyAgZnVuYyAoKTsKKysKKysgIHJldHVy biAwOworK30KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dzdGFjay5leHAg Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dzdGFjay5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwMDAwLi4xMTg2ZWM1N2JjCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2dzdGFjay5leHAKIEBAIC0wLDAgKzEsNjYgQEAKICsjIENvcHly aWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE4OCw1 MSArMjUzLDYgQEAgSW5kZXg6IGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nc3RhY2su ZXhwCiArZ2RiX2V4aXQKICsKICtyZW1vdGVfZXhlYyBob3N0ICJraWxsIC05ICRwaWQiCi1JbmRl eDogZ2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dzdGFjay5jCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dzdGFjay5jCTIwMTQtMDItMDYgMjA6Mjk6MDku NTAyMjE0MzYwICswMTAwCi1AQCAtMCwwICsxLDQzIEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBw YXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMjAwNSwgMjAw NywgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0r ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rI2luY2x1ZGUgPHN0ZGlvLmg+ Ci0rI2luY2x1ZGUgPHVuaXN0ZC5oPgotKyNpbmNsdWRlIDxzdHJpbmcuaD4KLSsKLSt2b2lkCi0r ZnVuYyAodm9pZCkKLSt7Ci0rICBjb25zdCBjaGFyIG1zZ1tdID0gImxvb3BpbmdcbiI7Ci0rCi0r ICAvKiBVc2UgdGhlIG1vc3Qgc2ltcGxlIG5vdGlmaWNhdGlvbiBub3QgdG8gZ2V0IGNhdWdodCBi eSBhdHRhY2ggb24gZXhpdGluZwotKyAgICAgdGhlIGZ1bmN0aW9uLiAgKi8KLSsgIHdyaXRlICgx LCBtc2csIHN0cmxlbiAobXNnKSk7Ci0rICAKLSsgIGZvciAoOzspOwotK30KLSsKLStpbnQKLStt YWluICh2b2lkKQotK3sKLSsgIGFsYXJtICg2MCk7Ci0rICBuaWNlICgxMDApOwotKwotKyAgZnVu YyAoKTsKLSsKLSsgIHJldHVybiAwOwotK30KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9n ZGItNi4zLWluZmVyaW9yLW5vdGlmaWNhdGlvbi0yMDA1MDcyMS5wYXRjaCBiL2dkYi02LjMtaW5m ZXJpb3Itbm90aWZpY2F0aW9uLTIwMDUwNzIxLnBhdGNoCmluZGV4IGRmNzIzOWYuLmRkNDM2MDAg MTAwNjQ0Ci0tLSBhL2dkYi02LjMtaW5mZXJpb3Itbm90aWZpY2F0aW9uLTIwMDUwNzIxLnBhdGNo CisrKyBiL2dkYi02LjMtaW5mZXJpb3Itbm90aWZpY2F0aW9uLTIwMDUwNzIxLnBhdGNoCkBAIC0x LDkgKzEsMTMgQEAKK0Zyb20gMWU0NmMxMzA3NTM5ZTc1OTRlOGI2ODA3ZWE0MTY2NWI0YjIxOGU1 YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEplZmYgSm9obnN0b24gPGpqb2huc3Ru QHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJq ZWN0OiBnZGItNi4zLWluZmVyaW9yLW5vdGlmaWNhdGlvbi0yMDA1MDcyMS5wYXRjaAogCiBGaWxl TmFtZTogZ2RiLTYuMy1pbmZlcmlvci1ub3RpZmljYXRpb24tMjAwNTA3MjEucGF0Y2gKIAorOzsg Tm90aWZ5IG9ic2VydmVycyB0aGF0IHRoZSBpbmZlcmlvciBoYXMgYmVlbiBjcmVhdGVkCis7Oz1m ZWRvcmF0ZXN0CisKIDIwMDUtMDctMjEgIEplZmYgSm9obnN0b24gIDxqam9obnN0bkByZWRoYXQu Y29tPgogCiAJKiBnZGIuYmFzZS9hdHRhY2gtMzIuZXhwOiBOZXcgdGVzdCBmb3IgYXR0YWNoaW5n IGluIDMyLWJpdApAQCAtMTQsMTEgKzE4LDIwIEBAIEZpbGVOYW1lOiBnZGItNi4zLWluZmVyaW9y LW5vdGlmaWNhdGlvbi0yMDA1MDcyMS5wYXRjaAogMjAwNy0xMi0yNiAgSmFuIEtyYXRvY2h2aWwg IDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogCiAJKiBnZGIuYmFzZS9hdHRhY2gtMzIuZXhw OiBGaXggZm9yZ290dGVuICRHREJGTEFHUyBhcyBzZXQuCistLS0KKyBnZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2F0dGFjaC0zMi5jICAgfCAgMjAgKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9h dHRhY2gtMzIuZXhwIHwgMjQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisg Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtMzJiLmMgIHwgIDI0ICsrKysKKyAzIGZpbGVz IGNoYW5nZWQsIDI4OSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLTMyLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9hdHRhY2gtMzIuZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLTMyYi5jCiAKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIx MS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5jCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAu OTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtMzIuYwkyMDE2LTAyLTE1 IDIzOjIzOjAyLjkyMzQ5OTUxMiArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvYXR0YWNoLTMyLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5jCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMDA0MWI0NzMyZAorLS0tIC9k ZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtMzIuYwogQEAgLTAs MCArMSwyMCBAQAogKy8qIFRoaXMgcHJvZ3JhbSBpcyBpbnRlbmRlZCB0byBiZSBzdGFydGVkIG91 dHNpZGUgb2YgZ2RiLCBhbmQgdGhlbgogKyAgIGF0dGFjaGVkIHRvIGJ5IGdkYi4gIFRodXMsIGl0 IHNpbXBseSBzcGlucyBpbiBhIGxvb3AuICBUaGUgbG9vcApAQCAtNDAsMTAgKzUzLDExIEBAIElu ZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0z Mi5jCiArICAgIH0KICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIx MS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5leHAKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4x MC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5leHAJMjAxNi0w Mi0xNSAyMzoyNToxMS4zODU0MjA5NTcgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2F0dGFjaC0zMi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0z Mi5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi42N2RlZDAyY2Nm CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5l eHAKIEBAIC0wLDAgKzEsMjQ1IEBACiArIyBDb3B5cmlnaHQgMjAwNSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KICsKQEAgLTI5MCwxMCArMzA0LDExIEBAIEluZGV4OiBnZGItNy4xMC45 MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMi5leHAKICtkb19jYWxs X2F0dGFjaF90ZXN0cwogKwogK3JldHVybiAwCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtMzJiLmMKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45 MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMmIuYwkyMDE2LTAyLTE1 IDIzOjIzOjAyLjkyNDQ5OTUxOSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvYXR0YWNoLTMyYi5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gtMzJiLmMK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5hNzgwMzdlZDM4CistLS0g L2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC0zMmIuYwogQEAg LTAsMCArMSwyNCBAQAogKy8qIFRoaXMgcHJvZ3JhbSBpcyBpbnRlbmRlZCB0byBiZSBzdGFydGVk IG91dHNpZGUgb2YgZ2RiLCBhbmQgdGhlbgogKyAgIGF0dGFjaGVkIHRvIGJ5IGdkYi4gIFRodXMs IGl0IHNpbXBseSBzcGlucyBpbiBhIGxvb3AuICBUaGUgbG9vcApAQCAtMzE5LDMgKzMzNCw2IEBA IEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFj aC0zMmIuYwogKyAgICB9CiArICByZXR1cm4gKDApOwogK30KKy0tIAorMi4xNC4zCisKCmRpZmYg LS1naXQgYS9nZGItNi4zLWluaGVyaXRhbmNldGVzdC0yMDA1MDcyNi5wYXRjaCBiL2dkYi02LjMt aW5oZXJpdGFuY2V0ZXN0LTIwMDUwNzI2LnBhdGNoCmluZGV4IDc2M2I0YTEuLjBhNDE0MjIgMTAw NjQ0Ci0tLSBhL2dkYi02LjMtaW5oZXJpdGFuY2V0ZXN0LTIwMDUwNzI2LnBhdGNoCisrKyBiL2dk Yi02LjMtaW5oZXJpdGFuY2V0ZXN0LTIwMDUwNzI2LnBhdGNoCkBAIC0xLDM2ICsxLDM1IEBACitG cm9tIDQ0NWU5YTExMzQwNjc1MmMwMWY2MWUyNzk4N2IwNTA2NzgzMzQyOGIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCiBGcm9tOiBKZWZmIEpvaG5zdG9uIDxqam9obnN0bkByZWRoYXQuY29tPgog RGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuMy1p bmhlcml0YW5jZXRlc3QtMjAwNTA3MjYucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjMtaW5oZXJp dGFuY2V0ZXN0LTIwMDUwNzI2LnBhdGNoCiAKKzs7IFZlcmlmeSBwcmludGluZyBvZiBpbmhlcml0 ZWQgbWVtYmVycyB0ZXN0Cis7Oz1mZWRvcmF0ZXN0CisKIDIwMDUtMDctMjYgIEplZmYgSm9obnN0 b24gIDxqam9obnN0bkByZWRoYXQuY29tPgogCiAJKiBnZGIuY3AvYjE0NjgzNS5leHA6IE5ldyB0 ZXN0Y2FzZS4KIAkqIGdkYi5jcC9iMTQ2ODM1LmNjOiBEaXR0by4KIAkqIGdkYi5jcC9iMTQ2ODM1 Yi5jYzogRGl0dG8uCiAJKiBnZGIuY3AvYjE0NjgzNS5oOiBEaXR0by4KKy0tLQorIGdkYi90ZXN0 c3VpdGUvZ2RiLmNwL2IxNDY4MzUuY2MgIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysr CisgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvYjE0NjgzNS5leHAgfCA0NyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvYjE0NjgzNS5o ICAgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dk Yi5jcC9iMTQ2ODM1Yi5jYyB8IDExICsrKysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDEyNiBp bnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNwL2Ix NDY4MzUuY2MKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvYjE0Njgz NS5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvYjE0NjgzNS5o CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNwL2IxNDY4MzViLmNjCiAK LUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9iMTQ2ODM1 Yi5jYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNw L2IxNDY4MzViLmNjCTIwMTYtMDItMTYgMDk6NDk6MDguNzQzODg2NjIwICswMTAwCi1AQCAtMCww ICsxLDExIEBACi0rI2luY2x1ZGUgImIxNDY4MzUuaCIKLSsKLStDOjpDKCkgeyBkID0gMDsgeCA9 IDM7IH0KLSsKLStpbnQgQzo6eiAoY2hhciAqcykgeyByZXR1cm4gMDsgfQotKwotK0M6On5DKCkg e30KLSsKLSt2b2lkIEE6OmZ1bmNEIChjbGFzcyBFICplLCBjbGFzcyBEICpkKSB7fQotK3ZvaWQg QTo6ZnVuY0UgKEUgKmUsIEQgKmQpIHt9Ci0rdm9pZCBBOjpmdW5jRiAodW5zaWduZWQgbG9uZyB4 LCBEICpkKSB7fQotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2Ri LmNwL2IxNDY4MzUuY2MKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9iMTQ2ODM1LmNjCTIwMTYtMDItMTYgMDk6NDk6MDguNzQ0ODg2NjI3ICswMTAw CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvYjE0NjgzNS5jYyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL2IxNDY4MzUuY2MKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwLi40MTYxZDUyM2Y1CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5jcC9iMTQ2ODM1LmNjCiBAQCAtMCwwICsxLDMyIEBACiArI2luY2x1ZGUgImIxNDY4MzUuaCIK ICsjaW5jbHVkZSA8aW9zdHJlYW0+CkBAIC02NCwxMCArNjMsMTEgQEAgSW5kZXg6IGdkYi03LjEw LjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2IxNDY4MzUuY2MKICsgICBmLmZvbygp OwogK30KICsKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5j cC9iMTQ2ODM1LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3Vp dGUvZ2RiLmNwL2IxNDY4MzUuZXhwCTIwMTYtMDItMTYgMDk6NTE6NDguNjAxOTY4MzM5ICswMTAw CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvYjE0NjgzNS5leHAgYi9nZGIvdGVz dHN1aXRlL2dkYi5jcC9iMTQ2ODM1LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAwMDAuLmQwMzgxNWJjZmYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmNwL2IxNDY4MzUuZXhwCiBAQCAtMCwwICsxLDQ3IEBACiArIyBUaGlzIHRlc3RjYXNlIGlz IHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTE2LDEwICsxMTYsMTEgQEAg SW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2IxNDY4MzUu ZXhwCiArCiArIyBWZXJpZnkgdGhhdCB3ZSBjYW4gYWNjZXNzIHRoZSBpbmhlcml0ZWQgbWVtYmVy IGQKICtnZGJfdGVzdCAicCBkIiAiID0gXFwoRCBcXCpcXCkgKjB4MCIgIlZlcmlmeSBpbmhlcml0 ZWQgbWVtYmVyIGQgYWNjZXNzaWJsZSIKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIv dGVzdHN1aXRlL2dkYi5jcC9iMTQ2ODM1LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIx MS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9iMTQ2ODM1LmgJMjAxNi0wMi0xNiAwOTo0OTowOC43NDQ4 ODY2MjcgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9iMTQ2ODM1Lmgg Yi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9iMTQ2ODM1LmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwMDAwLi40OGRmN2EyOTM1CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5jcC9iMTQ2ODM1LmgKIEBAIC0wLDAgKzEsMzYgQEAKICsKICtjbGFzcyBBIHsK QEAgLTE1NywzICsxNTgsMjMgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0 c3VpdGUvZ2RiLmNwL2IxNDY4MzUuaAogKyAgIGludCB6IChjaGFyICpzKTsKICsgICB2aXJ0dWFs IH5DKCk7CiArfTsKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9iMTQ2ODM1Yi5j YyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2IxNDY4MzViLmNjCituZXcgZmlsZSBtb2RlIDEwMDY0 NAoraW5kZXggMDAwMDAwMDAwMC4uMTg1M2MxZmEzOAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuY3AvYjE0NjgzNWIuY2MKK0BAIC0wLDAgKzEsMTEgQEAKKysjaW5jbHVk ZSAiYjE0NjgzNS5oIgorKworK0M6OkMoKSB7IGQgPSAwOyB4ID0gMzsgfQorKworK2ludCBDOjp6 IChjaGFyICpzKSB7IHJldHVybiAwOyB9CisrCisrQzo6fkMoKSB7fQorKworK3ZvaWQgQTo6ZnVu Y0QgKGNsYXNzIEUgKmUsIGNsYXNzIEQgKmQpIHt9Cisrdm9pZCBBOjpmdW5jRSAoRSAqZSwgRCAq ZCkge30KKyt2b2lkIEE6OmZ1bmNGICh1bnNpZ25lZCBsb25nIHgsIEQgKmQpIHt9CistLSAKKzIu MTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy1tYXBwaW5nLXplcm8taW5vZGUtdGVzdC5wYXRj aCBiL2dkYi02LjMtbWFwcGluZy16ZXJvLWlub2RlLXRlc3QucGF0Y2gKaW5kZXggODUzODFhZC4u YmU0NmYyOCAxMDA2NDQKLS0tIGEvZ2RiLTYuMy1tYXBwaW5nLXplcm8taW5vZGUtdGVzdC5wYXRj aAorKysgYi9nZGItNi4zLW1hcHBpbmctemVyby1pbm9kZS10ZXN0LnBhdGNoCkBAIC0xLDEyMCAr MSwyNCBAQAorRnJvbSA3ZDgyYWJjYmE5NTQ3MzhkNTFkNzM0OTNjZTUyYWMwMDZiMjZlNDIwIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlk QGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1Ympl Y3Q6IGdkYi02LjMtbWFwcGluZy16ZXJvLWlub2RlLXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdk Yi02LjMtbWFwcGluZy16ZXJvLWlub2RlLXRlc3QucGF0Y2gKIAorOzsgVGVzdCBHQ09SRSBmb3Ig c2htaWQgMCBzaGFyZWQgbWVtb3J5IG1hcHBpbmdzLgorOzs9ZmVkb3JhdGVzdDogQnV0IGl0IGlz IGJyb2tlbiBhbnl3YXksIHNvbWV0aW1lcyB0aGUgY2FzZSBiZWluZyB0ZXN0ZWQgaXMgbm90IHJl cHJvZHVjaWJsZS4KKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmMg ICB8IDEyOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZ2NvcmUtc2htaWQwLmV4cCB8IDEwMSArKysrKysrKysrKysrKysrKysrKysrKysr CisgMiBmaWxlcyBjaGFuZ2VkLCAyMjkgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlLXNobWlkMC5jCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmV4cAogCi1JbmRleDogZ2Ri LTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1zaG1pZDAu ZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCi0rKysgZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9nY29yZS1zaG1pZDAuZXhwCTIwMTMtMDgtMDIgMjI6MjQ6MDQuNzQ3NzQ1MTMzICswMjAw Ci1AQCAtMCwwICsxLDEwMSBAQAotKyMgQ29weXJpZ2h0IDIwMDcsIDIwMDkgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsj IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExp Y2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMgCi0r IyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKLSsjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCi0rIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgotKyMgCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlz IHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSsjIEZvdW5kYXRp b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0x MzA3LCBVU0EuICAKLSsKLSsjIFRlc3QgR0RCJ3MgaGFuZGxpbmcgb2YgZ2NvcmUgZm9yIG1hcHBp bmcgd2l0aCBhIG5hbWUgYnV0IHplcm8gaW5vZGUuCi0rCi0raWYgeyBbcHJlcGFyZV9mb3JfdGVz dGluZyBnY29yZS1zaG1pZDAuZXhwIGdjb3JlLXNobWlkMF0gfSB7Ci0rICAgIHJldHVybiAtMQot K30KLSsKLSsjIERvZXMgdGhpcyBnZGIgc3VwcG9ydCBnY29yZT8KLStzZXQgdGVzdCAiaGVscCBn Y29yZSIKLStnZGJfdGVzdF9tdWx0aXBsZSAkdGVzdCAkdGVzdCB7Ci0rICAgIC1yZSAiVW5kZWZp bmVkIGNvbW1hbmQ6IC5nY29yZS4qJGdkYl9wcm9tcHQgJCIgewotKwkjIGdjb3JlIGNvbW1hbmQg bm90IHN1cHBvcnRlZCAtLSBub3RoaW5nIHRvIHRlc3QgaGVyZS4KLSsJdW5zdXBwb3J0ZWQgImdk YiBkb2VzIG5vdCBzdXBwb3J0IGdjb3JlIG9uIHRoaXMgdGFyZ2V0IgotKwlyZXR1cm4gLTE7Ci0r ICAgIH0KLSsgICAgLXJlICJTYXZlIGEgY29yZSBmaWxlIC4qJGdkYl9wcm9tcHQgJCIgewotKwlw YXNzICR0ZXN0Ci0rICAgIH0KLSt9Ci0rCi0raWYgeyAhIFsgcnVudG9fbWFpbiBdIH0gdGhlbiB7 Ci0rICAgIHVudGVzdGVkIGdjb3JlLXNobWlkMC5leHAKLSsgICAgcmV0dXJuIC0xCi0rfQotKwot K2dkYl9icmVha3BvaW50ICJpbml0aWFsaXplZCIKLStnZGJfYnJlYWtwb2ludCAidW5yZXNvbHZl ZCIKLSsKLStzZXQgb2xkdGltZW91dCAkdGltZW91dAotK3NldCB0aW1lb3V0IFtleHByICRvbGR0 aW1lb3V0ICsgMTIwXQotKwotK3NldCB0ZXN0ICJDb250aW51ZSB0byBpbml0aWFsaXplZC4iCi0r Z2RiX3Rlc3RfbXVsdGlwbGUgImNvbnRpbnVlIiAkdGVzdCB7Ci0rICAgIC1yZSAiQnJlYWtwb2lu dCAuKiwgaW5pdGlhbGl6ZWQgLiogYXQgLipcclxuJGdkYl9wcm9tcHQgJCIgewotKwlwYXNzICR0 ZXN0Ci0rICAgIH0KLSsgICAgLXJlICJCcmVha3BvaW50IC4qLCB1bnJlc29sdmVkIC4qIGF0IC4q XHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsJc2V0IHRpbWVvdXQgJG9sZHRpbWVvdXQKLSsJdW5zdXBw b3J0ZWQgJHRlc3QKLSsJcmV0dXJuIC0xCi0rICAgIH0KLSt9Ci0rc2V0IHRpbWVvdXQgJG9sZHRp bWVvdXQKLSsKLStzZXQgZXNjYXBlZGZpbGVuYW1lIFtzdHJpbmdfdG9fcmVnZXhwIFtzdGFuZGFy ZF9vdXRwdXRfZmlsZSBnY29yZS1zaG1pZDAudGVzdF1dCi0rCi0rc2V0IHRlc3QgInNhdmUgYSBj b3JlZmlsZSIKLStnZGJfdGVzdF9tdWx0aXBsZSAiZ2NvcmUgW3N0YW5kYXJkX291dHB1dF9maWxl IGdjb3JlLXNobWlkMC50ZXN0XSIgJHRlc3QgewotKyAgICAtcmUgIlNhdmVkIGNvcmVmaWxlICR7 ZXNjYXBlZGZpbGVuYW1lfVxbXHJcblxdKyRnZGJfcHJvbXB0ICQiIHsKLSsJcGFzcyAkdGVzdAot KyAgICB9Ci0rICAgIC1yZSAiQ2FuJ3QgY3JlYXRlIGEgY29yZWZpbGVcW1xyXG5cXSskZ2RiX3By b21wdCAkIiB7Ci0rCXVuc3VwcG9ydGVkICR0ZXN0Ci0rICAgIH0KLSt9Ci0rCi0rIyBCZSBzdXJl IHRvIHJlbW92ZSB0aGUgaGFuZGxlIGZpcnN0LgotKyMgQnV0IGl0IHdvdWxkIGdldCByZW1vdmVk IGV2ZW4gb24gYSBraWxsIGJ5IEdEQiBhcyB0aGUgaGFuZGxlIGlzIGFscmVhZHkKLSsjIGRlbGV0 ZWQsIGp1c3QgaXQgaXMgc3RpbGwgYXR0YWNoZWQuCi0rZ2RiX2NvbnRpbnVlX3RvX2VuZCAiZmlu aXNoIgotKwotK3NldCB0ZXN0ICJjb3JlLWZpbGUgY29tbWFuZCIKLStnZGJfdGVzdF9tdWx0aXBs ZSAiY29yZS1maWxlIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSBnY29yZS1zaG1pZDAudGVzdF0iICR0 ZXN0IHsKLSsgICAgLXJlICIuKiBwcm9ncmFtIGlzIGJlaW5nIGRlYnVnZ2VkIGFscmVhZHkuKnkg b3Igbi4gJCIgewotKwkjIGdkYl9sb2FkIG1heSBjb25uZWN0IHVzIHRvIGEgZ2Ric2VydmVyLgot KwlzZW5kX2dkYiAieVxuIgotKwlleHBfY29udGludWU7Ci0rICAgIH0KLSsgICAgLXJlICJDb3Jl IHdhcyBnZW5lcmF0ZWQgYnkgLipcclxuXCMwICAuKlxcXChcXFwpLipcclxuJGdkYl9wcm9tcHQg JCIgewotKwkjIFRoZSBmaWxlbmFtZSBkb2VzIG5vdCBmaXQgdGhlcmUgYW55d2F5IHNvIGRvIG5v dCBjaGVjayBpdC4KLSsJcGFzcyAkdGVzdAotKyAgICB9Ci0rICAgIC1yZSAiLipyZWdpc3RlcnMg ZnJvbSBjb3JlIGZpbGU6IEZpbGUgaW4gd3JvbmcgZm9ybWF0LiogJCIgewotKwlmYWlsICJjb3Jl LWZpbGUgY29tbWFuZCAoY291bGQgbm90IHJlYWQgcmVnaXN0ZXJzIGZyb20gY29yZSBmaWxlKSIK LSsgICAgfQotK30KLSsKLStzZXQgdGVzdCAiYmFja3RyYWNlIgotK2dkYl90ZXN0X211bHRpcGxl ICJidCIgJHRlc3QgewotKyAgICAtcmUgIiMwICppbml0aWFsaXplZCBcXFwoXFxcKSBhdCAuKiMx IC4qIG1haW4gXFxcKC4qJGdkYl9wcm9tcHQgJCIgewotKwlwYXNzICR0ZXN0Ci0rICAgIH0KLSsg ICAgLXJlICIjMCAqaW5pdGlhbGl6ZWQgXFxcKFxcXCkgYXQgLipDYW5ub3QgYWNjZXNzIG1lbW9y eSBhdCBhZGRyZXNzIC4qJGdkYl9wcm9tcHQgJCIgewotKwlmYWlsICR0ZXN0Ci0rICAgIH0KLSt9 Ci1JbmRleDogZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9n Y29yZS1zaG1pZDAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmMJMjAxMy0wOC0wMiAyMjoyMjoxNy41NzM1OTk0 OTYgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlLXNobWlk MC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1zaG1pZDAuYworbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmJiOTcwOWE3NWMKKy0tLSAvZGV2L251bGwKKysr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmMKIEBAIC0wLDAgKzEsMTI4 IEBACiArLyogQ29weXJpZ2h0IDIwMDcsIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCiArCkBAIC0yNDQsMyArMTQ4LDExMyBAQCBJbmRleDogZ2RiLTcuNi41MC4yMDEzMDczMS1j dnMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1zaG1pZDAuYwogKwogKyAgcmV0dXJuIDA7 CiArfQorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmV4 cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmV4cAorbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmIxZmVjNjgyYWEKKy0tLSAvZGV2L251bGwKKysr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtc2htaWQwLmV4cAorQEAgLTAsMCArMSwx MDEgQEAKKysjIENvcHlyaWdodCAyMDA3LCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgorKworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMg KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjIAorKyMgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKysjIAorKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBu b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisrIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBU ZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgCisr CisrIyBUZXN0IEdEQidzIGhhbmRsaW5nIG9mIGdjb3JlIGZvciBtYXBwaW5nIHdpdGggYSBuYW1l IGJ1dCB6ZXJvIGlub2RlLgorKworK2lmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgZ2NvcmUtc2ht aWQwLmV4cCBnY29yZS1zaG1pZDBdIH0geworKyAgICByZXR1cm4gLTEKKyt9CisrCisrIyBEb2Vz IHRoaXMgZ2RiIHN1cHBvcnQgZ2NvcmU/Cisrc2V0IHRlc3QgImhlbHAgZ2NvcmUiCisrZ2RiX3Rl c3RfbXVsdGlwbGUgJHRlc3QgJHRlc3QgeworKyAgICAtcmUgIlVuZGVmaW5lZCBjb21tYW5kOiAu Z2NvcmUuKiRnZGJfcHJvbXB0ICQiIHsKKysJIyBnY29yZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQg LS0gbm90aGluZyB0byB0ZXN0IGhlcmUuCisrCXVuc3VwcG9ydGVkICJnZGIgZG9lcyBub3Qgc3Vw cG9ydCBnY29yZSBvbiB0aGlzIHRhcmdldCIKKysJcmV0dXJuIC0xOworKyAgICB9CisrICAgIC1y ZSAiU2F2ZSBhIGNvcmUgZmlsZSAuKiRnZGJfcHJvbXB0ICQiIHsKKysJcGFzcyAkdGVzdAorKyAg ICB9CisrfQorKworK2lmIHsgISBbIHJ1bnRvX21haW4gXSB9IHRoZW4geworKyAgICB1bnRlc3Rl ZCBnY29yZS1zaG1pZDAuZXhwCisrICAgIHJldHVybiAtMQorK30KKysKKytnZGJfYnJlYWtwb2lu dCAiaW5pdGlhbGl6ZWQiCisrZ2RiX2JyZWFrcG9pbnQgInVucmVzb2x2ZWQiCisrCisrc2V0IG9s ZHRpbWVvdXQgJHRpbWVvdXQKKytzZXQgdGltZW91dCBbZXhwciAkb2xkdGltZW91dCArIDEyMF0K KysKKytzZXQgdGVzdCAiQ29udGludWUgdG8gaW5pdGlhbGl6ZWQuIgorK2dkYl90ZXN0X211bHRp cGxlICJjb250aW51ZSIgJHRlc3QgeworKyAgICAtcmUgIkJyZWFrcG9pbnQgLiosIGluaXRpYWxp emVkIC4qIGF0IC4qXHJcbiRnZGJfcHJvbXB0ICQiIHsKKysJcGFzcyAkdGVzdAorKyAgICB9Cisr ICAgIC1yZSAiQnJlYWtwb2ludCAuKiwgdW5yZXNvbHZlZCAuKiBhdCAuKlxyXG4kZ2RiX3Byb21w dCAkIiB7CisrCXNldCB0aW1lb3V0ICRvbGR0aW1lb3V0CisrCXVuc3VwcG9ydGVkICR0ZXN0Cisr CXJldHVybiAtMQorKyAgICB9CisrfQorK3NldCB0aW1lb3V0ICRvbGR0aW1lb3V0CisrCisrc2V0 IGVzY2FwZWRmaWxlbmFtZSBbc3RyaW5nX3RvX3JlZ2V4cCBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUg Z2NvcmUtc2htaWQwLnRlc3RdXQorKworK3NldCB0ZXN0ICJzYXZlIGEgY29yZWZpbGUiCisrZ2Ri X3Rlc3RfbXVsdGlwbGUgImdjb3JlIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSBnY29yZS1zaG1pZDAu dGVzdF0iICR0ZXN0IHsKKysgICAgLXJlICJTYXZlZCBjb3JlZmlsZSAke2VzY2FwZWRmaWxlbmFt ZX1cW1xyXG5cXSskZ2RiX3Byb21wdCAkIiB7CisrCXBhc3MgJHRlc3QKKysgICAgfQorKyAgICAt cmUgIkNhbid0IGNyZWF0ZSBhIGNvcmVmaWxlXFtcclxuXF0rJGdkYl9wcm9tcHQgJCIgeworKwl1 bnN1cHBvcnRlZCAkdGVzdAorKyAgICB9CisrfQorKworKyMgQmUgc3VyZSB0byByZW1vdmUgdGhl IGhhbmRsZSBmaXJzdC4KKysjIEJ1dCBpdCB3b3VsZCBnZXQgcmVtb3ZlZCBldmVuIG9uIGEga2ls bCBieSBHREIgYXMgdGhlIGhhbmRsZSBpcyBhbHJlYWR5CisrIyBkZWxldGVkLCBqdXN0IGl0IGlz IHN0aWxsIGF0dGFjaGVkLgorK2dkYl9jb250aW51ZV90b19lbmQgImZpbmlzaCIKKysKKytzZXQg dGVzdCAiY29yZS1maWxlIGNvbW1hbmQiCisrZ2RiX3Rlc3RfbXVsdGlwbGUgImNvcmUtZmlsZSBb c3RhbmRhcmRfb3V0cHV0X2ZpbGUgZ2NvcmUtc2htaWQwLnRlc3RdIiAkdGVzdCB7CisrICAgIC1y ZSAiLiogcHJvZ3JhbSBpcyBiZWluZyBkZWJ1Z2dlZCBhbHJlYWR5Lip5IG9yIG4uICQiIHsKKysJ IyBnZGJfbG9hZCBtYXkgY29ubmVjdCB1cyB0byBhIGdkYnNlcnZlci4KKysJc2VuZF9nZGIgInlc biIKKysJZXhwX2NvbnRpbnVlOworKyAgICB9CisrICAgIC1yZSAiQ29yZSB3YXMgZ2VuZXJhdGVk IGJ5IC4qXHJcblwjMCAgLipcXFwoXFxcKS4qXHJcbiRnZGJfcHJvbXB0ICQiIHsKKysJIyBUaGUg ZmlsZW5hbWUgZG9lcyBub3QgZml0IHRoZXJlIGFueXdheSBzbyBkbyBub3QgY2hlY2sgaXQuCisr CXBhc3MgJHRlc3QKKysgICAgfQorKyAgICAtcmUgIi4qcmVnaXN0ZXJzIGZyb20gY29yZSBmaWxl OiBGaWxlIGluIHdyb25nIGZvcm1hdC4qICQiIHsKKysJZmFpbCAiY29yZS1maWxlIGNvbW1hbmQg KGNvdWxkIG5vdCByZWFkIHJlZ2lzdGVycyBmcm9tIGNvcmUgZmlsZSkiCisrICAgIH0KKyt9Cisr Cisrc2V0IHRlc3QgImJhY2t0cmFjZSIKKytnZGJfdGVzdF9tdWx0aXBsZSAiYnQiICR0ZXN0IHsK KysgICAgLXJlICIjMCAqaW5pdGlhbGl6ZWQgXFxcKFxcXCkgYXQgLiojMSAuKiBtYWluIFxcXCgu KiRnZGJfcHJvbXB0ICQiIHsKKysJcGFzcyAkdGVzdAorKyAgICB9CisrICAgIC1yZSAiIzAgKmlu aXRpYWxpemVkIFxcXChcXFwpIGF0IC4qQ2Fubm90IGFjY2VzcyBtZW1vcnkgYXQgYWRkcmVzcyAu KiRnZGJfcHJvbXB0ICQiIHsKKysJZmFpbCAkdGVzdAorKyAgICB9CisrfQorLS0gCisyLjE0LjMK KwoKZGlmZiAtLWdpdCBhL2dkYi02LjMtcHBjNjRkaXNwbGF5c3ltYm9sLTIwMDQxMTI0LnBhdGNo IGIvZ2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKaW5kZXggMTAwZDhj MC4uMjdkNGI0YyAxMDA2NDQKLS0tIGEvZ2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDEx MjQucGF0Y2gKKysrIGIvZ2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gK QEAgLTEsMTkgKzEsMjcgQEAKK0Zyb20gNmI2Y2RlY2U3NDY4ODViY2QwNzhlOTM4NGZiNTBkM2U1 YzlhYmZhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFuZHJldyBDYWduZXkgPGNh Z25leUBnbnUub3JnPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3Vi amVjdDogZ2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKIAogRmlsZU5h bWU6IGdkYi02LjMtcHBjNjRkaXNwbGF5c3ltYm9sLTIwMDQxMTI0LnBhdGNoCiAKKzs7IEluY2x1 ZGUgdGhlIHBjJ3Mgc2VjdGlvbiB3aGVuIGRvaW5nIGEgc3ltYm9sIGxvb2t1cCBzbyB0aGF0IHRo ZQorOzsgY29ycmVjdCBzeW1ib2wgaXMgZm91bmQuCis7Oz1wdXNoOiBXcml0ZSBuZXcgdGVzdGNh c2UuCisKIDIwMDQtMTEtMjQgIEFuZHJldyBDYWduZXkgIDxjYWduZXlAZ251Lm9yZz4KIAogCSog cHJpbnRjbWQuYyAoYnVpbGRfYWRkcmVzc19zeW1ib2xpYyk6IEZpbmQgYSBzZWN0aW9uIGZvciB0 aGUKIAlhZGRyZXNzLgorLS0tCisgZ2RiL3ByaW50Y21kLmMgfCA4ICsrKysrKysrCisgMSBmaWxl IGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQogCi1JbmRleDogZ2RiLTYuOC41MC4yMDA4MTEyOC9n ZGIvcHJpbnRjbWQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi02LjguNTAuMjAwODExMjgub3JpZy9n ZGIvcHJpbnRjbWQuYwkyMDA4LTEyLTA0IDAxOjM2OjA1LjAwMDAwMDAwMCArMDEwMAotKysrIGdk Yi02LjguNTAuMjAwODExMjgvZ2RiL3ByaW50Y21kLmMJMjAwOC0xMi0wNCAwMTozNzoxOC4wMDAw MDAwMDAgKzAxMDAKLUBAIC02MTYsNiArNjE2LDE0IEBAIGJ1aWxkX2FkZHJlc3Nfc3ltYm9saWMg KENPUkVfQUREUiBhZGRyLCAKK2RpZmYgLS1naXQgYS9nZGIvcHJpbnRjbWQuYyBiL2dkYi9wcmlu dGNtZC5jCitpbmRleCAyZTU5NmQxZjA5Li4yMGU1YmRhMTFlIDEwMDY0NAorLS0tIGEvZ2RiL3By aW50Y21kLmMKKysrKyBiL2dkYi9wcmludGNtZC5jCitAQCAtNjAyLDYgKzYwMiwxNCBAQCBidWls ZF9hZGRyZXNzX3N5bWJvbGljIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAJICBhZGRyID0g b3ZlcmxheV9tYXBwZWRfYWRkcmVzcyAoYWRkciwgc2VjdGlvbik7CiAgCX0KICAgICAgfQpAQCAt MjgsMyArMzYsNiBAQCBJbmRleDogZ2RiLTYuOC41MC4yMDA4MTEyOC9nZGIvcHJpbnRjbWQuYwog IAogICAgLyogRmlyc3QgdHJ5IHRvIGZpbmQgdGhlIGFkZHJlc3MgaW4gdGhlIHN5bWJvbCB0YWJs ZSwgdGhlbgogICAgICAgaW4gdGhlIG1pbnN5bXMuICBUYWtlIHRoZSBjbG9zZXN0IG9uZS4gICov CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy1wcGM2NHN5c2NhbGwtMjAwNDA2 MjIucGF0Y2ggYi9nZGItNi4zLXBwYzY0c3lzY2FsbC0yMDA0MDYyMi5wYXRjaAppbmRleCAyMGE1 Nzg5Li44YTU5ZTVmIDEwMDY0NAotLS0gYS9nZGItNi4zLXBwYzY0c3lzY2FsbC0yMDA0MDYyMi5w YXRjaAorKysgYi9nZGItNi4zLXBwYzY0c3lzY2FsbC0yMDA0MDYyMi5wYXRjaApAQCAtMSw5ICsx LDEzIEBACitGcm9tIDAzMmRmY2ZjMWUxMWZlNjlhYTQ5ZTc5NzQzNzkwNDNhNmMzMDQwYzMgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbmRyZXcgQ2FnbmV5IDxjYWduZXlAZ251Lm9y Zz4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02 LjMtcHBjNjRzeXNjYWxsLTIwMDQwNjIyLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi4zLXBwYzY0 c3lzY2FsbC0yMDA0MDYyMi5wYXRjaAogCis7OyBCZXR0ZXIgcGFyc2UgNjQtYml0IFBQQyBzeXN0 ZW0gY2FsbCBwcm9sb2d1ZXMuCis7Oz1wdXNoOiBXcml0ZSBuZXcgdGVzdGNhc2UuCisKIDIwMDQt MDYtMjIgIEFuZHJldyBDYWduZXkgIDxjYWduZXlAZ251Lm9yZz4KIAogCSogcnM2MDAwLXRkZXAu YyAoc3RydWN0IHJzNjAwMF9mcmFtZWRhdGEpOiBBZGQgZmllbGQgImZ1bmNfc3RhcnQiLgpAQCAt MTEsMTIgKzE1LDE1IEBAIEZpbGVOYW1lOiBnZGItNi4zLXBwYzY0c3lzY2FsbC0yMDA0MDYyMi5w YXRjaAogCSJmdW5jX3N0YXJ0Ii4gIEFkZCBsb2NhbCB2YXJpYWJsZSAibnVtX3NraXBfbGludXhf c3lzY2FsbF9pbnNuIiwKIAl1c2UgdG8gc2tpcCBvdmVyIGZpcnN0IGhhbGYgb2YgYSBHTlUvTGlu dXggc3lzY2FsbCBhbmQgdXBkYXRlCiAJImZ1bmNfc3RhcnQiLgorLS0tCisgZ2RiL3JzNjAwMC10 ZGVwLmMgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCiAKLUluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9yczYwMDAtdGRlcC5jCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMi41MC4yMDExMDExNy5vcmlnL2dkYi9yczYwMDAtdGRlcC5jCTIw MTEtMDEtMTEgMjA6MjM6MDIuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi41MC4yMDExMDEx Ny9nZGIvcnM2MDAwLXRkZXAuYwkyMDExLTAxLTE3IDE1OjQ4OjE5LjAwMDAwMDAwMCArMDEwMAot QEAgLTEyNiw2ICsxMjYsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqcG93ZXJwY192ZWN0b3JfYWJp X3N0CitkaWZmIC0tZ2l0IGEvZ2RiL3JzNjAwMC10ZGVwLmMgYi9nZGIvcnM2MDAwLXRkZXAuYwor aW5kZXggNDU2ZGJjY2NiMS4uZDI3Y2U3YjJhZiAxMDA2NDQKKy0tLSBhL2dkYi9yczYwMDAtdGRl cC5jCisrKysgYi9nZGIvcnM2MDAwLXRkZXAuYworQEAgLTEzNCw2ICsxMzQsNyBAQCBzdGF0aWMg Y29uc3QgY2hhciAqcG93ZXJwY192ZWN0b3JfYWJpX3N0cmluZyA9ICJhdXRvIjsKICAKICBzdHJ1 Y3QgcnM2MDAwX2ZyYW1lZGF0YQogICAgewpAQCAtMjQsNyArMzEsNyBAQCBJbmRleDogZ2RiLTcu Mi41MC4yMDExMDExNy9nZGIvcnM2MDAwLXRkZXAuYwogICAgICBpbnQgb2Zmc2V0OwkJCS8qIHRv dGFsIHNpemUgb2YgZnJhbWUgLS0tIHRoZSBkaXN0YW5jZQogIAkJCQkgICBieSB3aGljaCB3ZSBk ZWNyZW1lbnQgc3AgdG8gYWxsb2NhdGUKICAJCQkJICAgdGhlIGZyYW1lICovCi1AQCAtMTQ5Niw3 ICsxNDk3LDYgQEAgc3RhdGljIENPUkVfQUREUgorQEAgLTE1NzgsNyArMTU3OSw2IEBAIHN0YXRp YyBDT1JFX0FERFIKICBza2lwX3Byb2xvZ3VlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgQ09S RV9BRERSIHBjLCBDT1JFX0FERFIgbGltX3BjLAogIAkgICAgICAgc3RydWN0IHJzNjAwMF9mcmFt ZWRhdGEgKmZkYXRhKQogIHsKQEAgLTMyLDcgKzM5LDcgQEAgSW5kZXg6IGdkYi03LjIuNTAuMjAx MTAxMTcvZ2RiL3JzNjAwMC10ZGVwLmMKICAgIENPUkVfQUREUiBsYXN0X3Byb2xvZ3VlX3BjID0g cGM7CiAgICBDT1JFX0FERFIgbGlfZm91bmRfcGMgPSAwOwogICAgZ2RiX2J5dGUgYnVmWzRdOwot QEAgLTE1MTQsMTIgKzE1MTQsMTQgQEAgc2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIAorQEAgLTE1OTYsMTIgKzE1OTYsMTQgQEAgc2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIENPUkVfQUREUiBwYywgQ09SRV9BRERSIGxpbV9wYywKICAgIGludCBt aW5pbWFsX3RvY19sb2FkZWQgPSAwOwogICAgaW50IHByZXZfaW5zbl93YXNfcHJvbG9ndWVfaW5z biA9IDE7CiAgICBpbnQgbnVtX3NraXBfbm9uX3Byb2xvZ3VlX2luc25zID0gMDsKQEAgLTQ3LDcg KzU0LDcgQEAgSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL3JzNjAwMC10ZGVwLmMKICAg IGZkYXRhLT5zYXZlZF9ncHIgPSAtMTsKICAgIGZkYXRhLT5zYXZlZF9mcHIgPSAtMTsKICAgIGZk YXRhLT5zYXZlZF92ciA9IC0xOwotQEAgLTE1NTMsNiArMTU1NSw1NSBAQCBza2lwX3Byb2xvZ3Vl IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgCitAQCAtMTYzNSw2ICsxNjM3LDU1IEBAIHNraXBf cHJvbG9ndWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBDT1JFX0FERFIgcGMsIENPUkVfQURE UiBsaW1fcGMsCiAgCWJyZWFrOwogICAgICAgIG9wID0gZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2Vy IChidWYsIDQsIGJ5dGVfb3JkZXIpOwogIApAQCAtMTAzLDcgKzExMCw3IEBAIEluZGV4OiBnZGIt Ny4yLjUwLjIwMTEwMTE3L2dkYi9yczYwMDAtdGRlcC5jCiAgICAgICAgaWYgKChvcCAmIDB4ZmMx ZmZmZmYpID09IDB4N2MwODAyYTYpCiAgCXsJCQkvKiBtZmxyIFJ4ICovCiAgCSAgLyogU2luY2Ug c2hhcmVkIGxpYnJhcnkgLyBQSUMgY29kZSwgd2hpY2ggbmVlZHMgdG8gZ2V0IGl0cwotQEAgLTE3 MzQsOSArMTc4NSw5IEBAIHNraXBfcHJvbG9ndWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCAK K0BAIC0xODI2LDkgKzE4NzcsOSBAQCBza2lwX3Byb2xvZ3VlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgQ09SRV9BRERSIHBjLCBDT1JFX0FERFIgbGltX3BjLAogIAkgICAgIHdlIGhhdmUgbm8g bGluZSB0YWJsZSBpbmZvcm1hdGlvbiBvciB0aGUgbGluZSBpbmZvIHRlbGxzCiAgCSAgICAgdXMg dGhhdCB0aGUgc3Vicm91dGluZSBjYWxsIGlzIG5vdCBwYXJ0IG9mIHRoZSBsaW5lCiAgCSAgICAg YXNzb2NpYXRlZCB3aXRoIHRoZSBwcm9sb2d1ZS4gICovCkBAIC0xMTUsMyArMTIyLDYgQEAgSW5k ZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL3JzNjAwMC10ZGVwLmMKICAJICAgICAgc3RydWN0 IHN5bXRhYl9hbmRfbGluZSB0aGlzX3NhbCA9IGZpbmRfcGNfbGluZSAocGMsIDApOwogIAogIAkg ICAgICBpZiAoKHByb2xvZ3VlX3NhbC5saW5lID09IDApCistLSAKKzIuMTQuMworCgpkaWZmIC0t Z2l0IGEvZ2RiLTYuMy1yZWFkbmV2ZXItMjAwNTA5MDcucGF0Y2ggYi9nZGItNi4zLXJlYWRuZXZl ci0yMDA1MDkwNy5wYXRjaAppbmRleCA3Y2M3MTYxLi45NjcwMmJkIDEwMDY0NAotLS0gYS9nZGIt Ni4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaAorKysgYi9nZGItNi4zLXJlYWRuZXZlci0yMDA1 MDkwNy5wYXRjaApAQCAtMSw5ICsxLDEzIEBACitGcm9tIGIyNDJmZjAxM2ZlODljMTI2ZTU0NGI0 NzUzODYwOWIwZjkwNDc3MWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbmRyZXcg Q2FnbmV5IDxjYWduZXlAZ251Lm9yZz4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAg KzAyMDAKIFN1YmplY3Q6IGdkYi02LjMtcmVhZG5ldmVyLTIwMDUwOTA3LnBhdGNoCiAKIEZpbGVO YW1lOiBnZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaAogCis7OyBBZGQgcmVhZG5ldmVy IG9wdGlvbgorOzs9cHVzaAorCiAyMDA0LTExLTE4ICBBbmRyZXcgQ2FnbmV5ICA8Y2FnbmV5QGdu dS5vcmc+CiAKICAgICAgICAgKiBkd2FyZjJyZWFkLmM6IEluY2x1ZGUgInRvcC5jIi4KQEAgLTE3 LDkxICsyMSwxNSBAQCBGaWxlTmFtZTogZ2RiLTYuMy1yZWFkbmV2ZXItMjAwNTA5MDcucGF0Y2gK IAogICAgICAgICAqIGdkYi50ZXhpbmZvIChGaWxlIE9wdGlvbnMpOiBEb2N1bWVudCAtLXJlYWRu ZXZlci4KIAotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kb2MvZ2RiLnRleGluZm8K LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kb2MvZ2RiLnRl eGluZm8JMjAxNy0wNC0yMCAyMjoyOTozOS4xNzk3NDAwNzYgKzAyMDAKLSsrKyBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTctMDQtMjAgMjI6Mjk6NDAuOTI0NzUx MDk2ICswMjAwCi1AQCAtMTAzNyw2ICsxMDM3LDEyIEBACi0gdGhlIGRlZmF1bHQsIHdoaWNoIGlz IHRvIHJlYWQgaXQgaW5jcmVtZW50YWxseSBhcyBpdCBpcyBuZWVkZWQuCi0gVGhpcyBtYWtlcyBz dGFydHVwIHNsb3dlciwgYnV0IG1ha2VzIGZ1dHVyZSBvcGVyYXRpb25zIGZhc3Rlci4KLSAKLStA aXRlbSAtLXJlYWRuZXZlcgotK0BjaW5kZXggQGNvZGV7LS1yZWFkbmV2ZXJ9Ci0rRG8gbm90IHJl YWQgZWFjaCBzeW1ib2wgZmlsZSdzIHN5bWJvbGljIGRlYnVnIGluZm9ybWF0aW9uLiAgVGhpcyBt YWtlcwotK3N0YXJ0dXAgZmFzdGVyIGJ1dCBhdCB0aGUgZXhwZW5zZSBvZiBub3QgYmVpbmcgYWJs ZSB0byBwZXJmb3JtCi0rc3ltYm9saWMgZGVidWdnaW5nLgotKwotIEBlbmQgdGFibGUKLSAKLSBA bm9kZSBNb2RlIE9wdGlvbnMKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWFpbi5j Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbWFpbi5jCTIw MTctMDQtMjAgMjI6Mjk6MzkuMTgyNzQwMDk1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL21haW4uYwkyMDE3LTA0LTIwIDIyOjI5OjQwLjkyNTc1MTEwMyArMDIwMAotQEAgLTYx NSw2ICs2MTUsNyBAQAotICAgICAgIHsidHVpIiwgbm9fYXJndW1lbnQsIDAsIE9QVF9UVUl9LAot ICAgICAgIHsiZGJ4Iiwgbm9fYXJndW1lbnQsICZkYnhfY29tbWFuZHMsIDF9LAotICAgICAgIHsi cmVhZG5vdyIsIG5vX2FyZ3VtZW50LCAmcmVhZG5vd19zeW1ib2xfZmlsZXMsIDF9LAotKyAgICAg IHsicmVhZG5ldmVyIiwgbm9fYXJndW1lbnQsICZyZWFkbmV2ZXJfc3ltYm9sX2ZpbGVzLCAxfSwK LSAgICAgICB7InIiLCBub19hcmd1bWVudCwgJnJlYWRub3dfc3ltYm9sX2ZpbGVzLCAxfSwKLSAg ICAgICB7InF1aWV0Iiwgbm9fYXJndW1lbnQsICZxdWlldCwgMX0sCi0gICAgICAgeyJxIiwgbm9f YXJndW1lbnQsICZxdWlldCwgMX0sCi1AQCAtMTI1NCw2ICsxMjU1LDcgQEAKLSAgIC0tc2U9RklM RSAgICAgICAgICBVc2UgRklMRSBhcyBzeW1ib2wgZmlsZSBhbmQgZXhlY3V0YWJsZSBmaWxlLlxu XAotICAgLS1zeW1ib2xzPVNZTUZJTEUgIFJlYWQgc3ltYm9scyBmcm9tIFNZTUZJTEUuXG5cCi0g ICAtLXJlYWRub3cgICAgICAgICAgRnVsbHkgcmVhZCBzeW1ib2wgZmlsZXMgb24gZmlyc3QgYWNj ZXNzLlxuXAotKyAgLS1yZWFkbmV2ZXIgICAgICAgIERvIG5vdCByZWFkIHN5bWJvbCBmaWxlcy5c blwKLSAgIC0td3JpdGUgICAgICAgICAgICBTZXQgd3JpdGluZyBpbnRvIGV4ZWN1dGFibGUgYW5k IGNvcmUgZmlsZXMuXG5cblwKLSAiKSwgc3RyZWFtKTsKLSAgIGZwdXRzX3VuZmlsdGVyZWQgKF8o IlwKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc3ltZmlsZS5jCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvc3ltZmlsZS5jCTIwMTctMDQtMjAg MjI6Mjk6MzkuMTgzNzQwMTAxICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3N5 bWZpbGUuYwkyMDE3LTA0LTIwIDIyOjI5OjQwLjkyNjc1MTEwOSArMDIwMAotQEAgLTc5LDYgKzc5 LDcgQEAKLSAKLSAvKiBHbG9iYWwgdmFyaWFibGVzIG93bmVkIGJ5IHRoaXMgZmlsZS4gICovCi0g aW50IHJlYWRub3dfc3ltYm9sX2ZpbGVzOwkvKiBSZWFkIGZ1bGwgc3ltYm9scyBpbW1lZGlhdGVs eS4gICovCi0raW50IHJlYWRuZXZlcl9zeW1ib2xfZmlsZXM7CS8qIE5ldmVyIHJlYWQgZnVsbCBz eW1ib2xzLiAgKi8KLSAKLSAvKiBGdW5jdGlvbnMgdGhpcyBmaWxlIGRlZmluZXMuICAqLwotIAot SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0y MCAyMjoyOTozOS4xOTA3NDAxNDUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv ZHdhcmYycmVhZC5jCTIwMTctMDQtMjAgMjI6Mjk6NTcuOTczODU4NzY2ICswMjAwCi1AQCAtNzMs NiArNzMsNyBAQAotICNpbmNsdWRlICJjb21tb24vZnVuY3Rpb24tdmlldy5oIgotICNpbmNsdWRl ICJjb21tb24vZ2RiX29wdGlvbmFsLmgiCi0gI2luY2x1ZGUgImNvbW1vbi91bmRlcmx5aW5nLmgi Ci0rI2luY2x1ZGUgInRvcC5oIgotIAotICNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDxz eXMvdHlwZXMuaD4KLUBAIC0yMjA4LDcgKzIyMDksOCBAQAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHZvaWQgKikgbmFtZXMpOwotICAgICAgIGR3YXJmMl9wZXJfb2JqZmlsZS0+b2Jq ZmlsZSA9IG9iamZpbGU7Ci0gICAgIH0KLS0gIHJldHVybiAoIWR3YXJmMl9wZXJfb2JqZmlsZS0+ aW5mby5pc192aXJ0dWFsCi0rICByZXR1cm4gIXJlYWRuZXZlcl9zeW1ib2xfZmlsZXMgJiYKLSsJ ICghZHdhcmYyX3Blcl9vYmpmaWxlLT5pbmZvLmlzX3ZpcnR1YWwKLSAJICAmJiBkd2FyZjJfcGVy X29iamZpbGUtPmluZm8ucy5zZWN0aW9uICE9IE5VTEwKLSAJICAmJiAhZHdhcmYyX3Blcl9vYmpm aWxlLT5hYmJyZXYuaXNfdmlydHVhbAotIAkgICYmIGR3YXJmMl9wZXJfb2JqZmlsZS0+YWJicmV2 LnMuc2VjdGlvbiAhPSBOVUxMKTsKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdG9w LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi90b3AuaAky MDE3LTA0LTIwIDIyOjI5OjM5LjE5MTc0MDE1MiArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi90b3AuaAkyMDE3LTA0LTIwIDIyOjI5OjQwLjkzMjc1MTE0NyArMDIwMAotQEAgLTI2 OSw2ICsyNjksNyBAQAotIAotIC8qIEZyb20gcmFuZG9tIHBsYWNlcy4gICovCi0gZXh0ZXJuIGlu dCByZWFkbm93X3N5bWJvbF9maWxlczsKLStleHRlcm4gaW50IHJlYWRuZXZlcl9zeW1ib2xfZmls ZXM7Ci0gCi0gLyogUGVyZm9ybSBfaW5pdGlhbGl6ZSBpbml0aWFsaXphdGlvbi4gICovCi0gZXh0 ZXJuIHZvaWQgZ2RiX2luaXQgKGNoYXIgKik7Ci0tLS0gZ2RiLTguMC4xL2dkYi9nY29yZS5pbi1v cmlnCTIwMTctMDYtMDQgMTc6NTE6MjYuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTguMC4xL2dk Yi9nY29yZS5pbgkyMDE3LTA5LTI4IDE5OjQ2OjQ5LjMzNTQwNzgyNyArMDIwMAorUHVzaGVkIHVw c3RyZWFtOiBodHRwczovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1jdnMvMjAxNy0xMi9tc2cwMDAw Ny5odG1sCistLS0KKyBnZGIvZ2NvcmUuaW4gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nZGIvZ2NvcmUuaW4gYi9n ZGIvZ2NvcmUuaW4KK2luZGV4IDYzMmYyMWJkZmEuLjAxNmJjYjlhMjggMTAwNjQ0CistLS0gYS9n ZGIvZ2NvcmUuaW4KKysrKyBiL2dkYi9nY29yZS5pbgogQEAgLTg1LDcgKzg1LDcgQEAgZm9yIHBp ZCBpbiAkKgogIGRvCiAgCSMgYDwvZGV2L251bGwnIHRvIGF2b2lkIHRvdWNoaW5nIGludGVyYWN0 aXZlIHRlcm1pbmFsIGlmIGl0IGlzCkBAIC0xMTEsMyArMzksNiBAQCBJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3RvcC5oCiAgCSAgICAtZXggInNldCBwYWdpbmF0aW9uIG9mZiIgLWV4 ICJzZXQgaGVpZ2h0IDAiIC1leCAic2V0IHdpZHRoIDAiIFwKICAJICAgIC1leCAiYXR0YWNoICRw aWQiIC1leCAiZ2NvcmUgJG5hbWUuJHBpZCIgLWV4IGRldGFjaCAtZXggcXVpdAogIAorLS0gCisy LjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjMtcmgtZHVtbXlrZmFpbC0yMDA0MTIwMi5wYXRj aCBiL2dkYi02LjMtcmgtZHVtbXlrZmFpbC0yMDA0MTIwMi5wYXRjaAppbmRleCBiNTllMDRmLi45 NjA4OGNiIDEwMDY0NAotLS0gYS9nZGItNi4zLXJoLWR1bW15a2ZhaWwtMjAwNDEyMDIucGF0Y2gK KysrIGIvZ2RiLTYuMy1yaC1kdW1teWtmYWlsLTIwMDQxMjAyLnBhdGNoCkBAIC0xLDE2ICsxLDI1 IEBACitGcm9tIDc2MjEwMzU3ZTI2MmY3NzJjZWJhMGZmMzYyMDJkYjg4MWQ4NjFkNTUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBFbGVuYSBaYW5ub25pIDxlemFubm9uaUByZWRoYXQu Y29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2Ri LTYuMy1yaC1kdW1teWtmYWlsLTIwMDQxMjAyLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi4zLXJo LWR1bW15a2ZhaWwtMjAwNDEyMDIucGF0Y2gKIAorOzsgV29yayBhcm91bmQgb3V0LW9mLWRhdGUg ZGVqYWdudSB0aGF0IGRvZXMgbm90IGhhdmUgS0ZBSUwKKzs7PXB1c2g6IFRoYXQgZGVqYWdudSBp cyB0b28gb2xkIHRvIGJlIHN1cHBvcnRlZC4KKwogMjAwMy0wNy0xMSAgRWxlbmEgWmFubm9uaSAg PGV6YW5ub25pQHJlZGhhdC5jb20+CiAKICAgICAgICAgKiBsaWIvZ2RiLmV4cCAoc2V0dXBfa2Zh aWwsIGtmYWlsKTogUmVkZWZpbmUgcHJvY2VkdXJlcy4KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK LS0tLSAuL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAuMQkyMDA0LTExLTI0IDE1OjU5OjQ2LjEz MTM5NDcyMCAtMDUwMAotKysrIC4vZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDA0LTExLTI0 IDE2OjAxOjA2LjMwNDIwNjYwMCAtMDUwMAotQEAgLTYzLDYgKzYzLDE1IEBACistLS0KKyBnZGIv dGVzdHN1aXRlL2xpYi9nZGIuZXhwIHwgOSArKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOSBp bnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAoraW5kZXggZmMwMjc4YjlkYS4uMDE4MzY3YzE2MSAx MDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKKysrKyBiL2dkYi90ZXN0c3Vp dGUvbGliL2dkYi5leHAKK0BAIC0xMjQsNiArMTI0LDE1IEBAIHNldCB2YWxudW1fcmUgIlxcXCQk ZGVjaW1hbCIKICAKICAjIyMgT25seSBwcm9jZWR1cmVzIHNob3VsZCBjb21lIGFmdGVyIHRoaXMg cG9pbnQuCiAgCkBAIC0yNiwzICszNSw2IEBAIEZpbGVOYW1lOiBnZGItNi4zLXJoLWR1bW15a2Zh aWwtMjAwNDEyMDIucGF0Y2gKICAjCiAgIyBnZGJfdmVyc2lvbiAtLSBleHRyYWN0IGFuZCBwcmlu dCB0aGUgdmVyc2lvbiBudW1iZXIgb2YgR0RCCiAgIworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdp dCBhL2dkYi02LjMtcmgtdGVzdHZlcnNpb24tMjAwNDEyMDIucGF0Y2ggYi9nZGItNi4zLXJoLXRl c3R2ZXJzaW9uLTIwMDQxMjAyLnBhdGNoCmluZGV4IGI0MjVhYzguLmJmOGYyNTEgMTAwNjQ0Ci0t LSBhL2dkYi02LjMtcmgtdGVzdHZlcnNpb24tMjAwNDEyMDIucGF0Y2gKKysrIGIvZ2RiLTYuMy1y aC10ZXN0dmVyc2lvbi0yMDA0MTIwMi5wYXRjaApAQCAtMSwyMCArMSwyNyBAQAotRnJvbSBmNDA4 YmE4MjFmOGM4YjVhZDY1NjRiOTg4MDY2NjZkMjQ3OGY3NTk5IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbSBhYjFlNmNhMjkxYzQ2Nzk1M2Y1YTRiMzA4NTk1YTQyODc2MThiODM2IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRWxlbmEgWmFubm9uaSA8ZXphbm5vbmlAcmVkaGF0 LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdk Yi5nZGIvc2VsZnRlc3QuZXhwOiBBZGQgbWF0Y2hpbmcgb24gc3BlY2lmaWMgUmVkIEhhdCBvbmx5 IHZlcnNpb24gc3RyaW5nCitTdWJqZWN0OiBnZGIuZ2RiL3NlbGZ0ZXN0LmV4cDogQWRkIG1hdGNo aW5nIG9uIHNwZWNpZmljIFJlZCBIYXQgb25seSB2ZXJzaW9uCisgc3RyaW5nCiAKIEZpbGVOYW1l OiBnZGItNi4zLXJoLXRlc3R2ZXJzaW9uLTIwMDQxMjAyLnBhdGNoCiAKKzs7IE1hdGNoIHRoZSBG ZWRvcmEncyB2ZXJzaW9uIGluZm8uCis7Oz1mZWRvcmEKKwogMjAwMy0wMi0yNCAgRWxlbmEgWmFu bm9uaSAgPGV6YW5ub25pQHJlZGhhdC5jb20+CiAKICAgICAgICAgKiBnZGIuZ2RiL3NlbGZ0ZXN0 LmV4cDogQWRkIG1hdGNoaW5nIG9uIHNwZWNpZmljIFJlZCBIYXQgb25seSB2ZXJzaW9uCiAgICAg ICAgIHN0cmluZy4KKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAgfCAz ICsrKworIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKIAotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9z ZWxmdGVzdC5leHAJMjAxNy0wMi0wNyAxOTo0NzowNi40NzI4NzQ2MjAgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCTIwMTct MDItMDcgMTk6NDg6MTIuNTkzMzgwNTc1ICswMTAwCi1AQCAtNTMsNiArNTMsOSBAQAorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5nZGIvc2VsZnRlc3QuZXhwCitpbmRleCA3MTIwNjBjOWFlLi5hNGE0NDZmOWRmIDEwMDY0 NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAorKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAorQEAgLTUzLDYgKzUzLDkgQEAgcHJvYyB0ZXN0 X3dpdGhfc2VsZiB7IH0gewogIAktcmUgIi5cWzAtOVxdKyA9ICsuKyArMHguKlxbMC05LlxdKy4q JGdkYl9wcm9tcHQgJCIgewogIAkgICAgcGFzcyAicHJpbnRlZCB2ZXJzaW9uIHdpdGggY2FzdCIK ICAJfQpAQCAtMjQsMyArMzEsNiBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rl c3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAogICAgICB9CiAgCiAgICAgICMgc3RhcnQgdGhl ICJ4Z2RiIiBwcm9jZXNzCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy10ZXN0 LWR0b3JmaXgtMjAwNTAxMjEucGF0Y2ggYi9nZGItNi4zLXRlc3QtZHRvcmZpeC0yMDA1MDEyMS5w YXRjaAppbmRleCAzYTVkMzAzLi40MWU5YTVlIDEwMDY0NAotLS0gYS9nZGItNi4zLXRlc3QtZHRv cmZpeC0yMDA1MDEyMS5wYXRjaAorKysgYi9nZGItNi4zLXRlc3QtZHRvcmZpeC0yMDA1MDEyMS5w YXRjaApAQCAtMSwxNCArMSwyNCBAQAotRnJvbSBmNDA4YmE4MjFmOGM4YjVhZDY1NjRiOTg4MDY2 NjZkMjQ3OGY3NTk5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBkMTI5YTI4MDdjMzFh NDBjNWVhZWExYTdlMGQ4NTM2NDlhMWU0YWJlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJv bTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcg T2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjMtdGVzdC1kdG9yZml4LTIw MDUwMTIxLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi4zLXRlc3QtZHRvcmZpeC0yMDA1MDEyMS5w YXRjaAogCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Av Y29uc3RydWN0b3J0ZXN0LmNjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvY29uc3RydWN0b3J0ZXN0LmNjCTIwMTYtMDItMTYgMDk6NDk6MDguNjgx ODg2MjAxICswMTAwCis7OyBUZXN0IHN1cHBvcnQgb2YgbXVsdGlwbGUgZGVzdHJ1Y3RvcnMganVz dCBsaWtlIG11bHRpcGxlIGNvbnN0cnVjdG9ycworOzs9ZmVkb3JhdGVzdAorLS0tCisgZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvY29uc3RydWN0b3J0ZXN0LmNjICB8ICA5OSArKysrKysrKysrKysrKysr KysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmNwL2NvbnN0cnVjdG9ydGVzdC5leHAgfCAxMzAg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMjI5IGlu c2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvY29u c3RydWN0b3J0ZXN0LmNjCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNw L2NvbnN0cnVjdG9ydGVzdC5leHAKKworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNw L2NvbnN0cnVjdG9ydGVzdC5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2NvbnN0cnVjdG9ydGVz dC5jYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjlhYzg3OTNlNTAK Ky0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2NvbnN0cnVjdG9ydGVz dC5jYwogQEAgLTAsMCArMSw5OSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIs IHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMDksMTAgKzExOSwxMSBAQCBJbmRleDogZ2RiLTcu MTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvY29uc3RydWN0b3J0ZXN0LmNjCiAr ewogKyAgIHkgPSAyOyAvKiBGaXJzdCBsaW5lIEQgKi8KICt9Ci1JbmRleDogZ2RiLTcuMTAuOTAu MjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvY29uc3RydWN0b3J0ZXN0LmV4cAotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2NvbnN0cnVjdG9y dGVzdC5leHAJMjAxNi0wMi0xNiAwOTo1MjoxMi42MDkxMzA3NzkgKzAxMDAKK2RpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9jb25zdHJ1Y3RvcnRlc3QuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuY3AvY29uc3RydWN0b3J0ZXN0LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAwMDAuLjM0MWY2Yzk5YWQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmNwL2NvbnN0cnVjdG9ydGVzdC5leHAKIEBAIC0wLDAgKzEsMTMwIEBACiArIyBUaGlz IHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMjQ0LDMg KzI1NSw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5j cC9jb25zdHJ1Y3RvcnRlc3QuZXhwCiArfQogKwogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50 ICJGaXJzdCBsaW5lIH5DIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjMtdGVz dC1tb3ZlZGlyLTIwMDUwMTI1LnBhdGNoIGIvZ2RiLTYuMy10ZXN0LW1vdmVkaXItMjAwNTAxMjUu cGF0Y2gKaW5kZXggODUxMDgxZi4uY2Y0ZmQ5YSAxMDA2NDQKLS0tIGEvZ2RiLTYuMy10ZXN0LW1v dmVkaXItMjAwNTAxMjUucGF0Y2gKKysrIGIvZ2RiLTYuMy10ZXN0LW1vdmVkaXItMjAwNTAxMjUu cGF0Y2gKQEAgLTEsMTkgKzEsMzIgQEAKK0Zyb20gZmEwMWE3YzY2NTZlYWRiYzZkZDNmZjExMjhm YjBiMmVjOTg4ZjZjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEVsZW5hIFphbm5v bmkgPGV6YW5ub25pQHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUw ICswMjAwCiBTdWJqZWN0OiBnZGItNi4zLXRlc3QtbW92ZWRpci0yMDA1MDEyNS5wYXRjaAogCiBG aWxlTmFtZTogZ2RiLTYuMy10ZXN0LW1vdmVkaXItMjAwNTAxMjUucGF0Y2gKIAorOzsgRml4IHRv IHN1cHBvcnQgZXhlY3V0YWJsZSBtb3ZpbmcKKzs7PWZlZG9yYXRlc3QKKwogMjAwNS0wMS0yNSAg RWxlbmEgWmFubm9uaSAgPGV6YW5ub25pQHJlZGhhdC5jb20+CiAKICAgICAgICAgKiBnZGIuYmFz ZS9tb3ZlLWRpci5leHA6IE5ldyB0ZXN0LgogICAgICAgICAqIGdkYi5iYXNlL21vdmUtZGlyLmM6 IERpdHRvLgogICAgICAgICAqIGdkYi5iYXNlL21vdmUtZGlyLmg6IERpdHRvLgorLS0tCisgZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9tb3ZlLWRpci5jICAgfCAxMCArKysrKysrCisgZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9tb3ZlLWRpci5leHAgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9tb3ZlLWRpci5oICAgfCAgNyAr KysrKworIDMgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEw MDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmMKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9tb3ZlLWRpci5leHAKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9tb3ZlLWRpci5oCiAKLUluZGV4OiBnZGItNy4xMC45 MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmMJMjAx Ni0wMi0xNSAyMzoyMzowMi44OTI0OTkyODggKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL21vdmUtZGlyLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGly LmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi44OWI2NWI0YjZhCist LS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmMKIEBA IC0wLDAgKzEsMTAgQEAKICsjaW5jbHVkZSA8c3RkaW8uaD4KICsjaW5jbHVkZSA8c3RkbGliLmg+ CkBAIC0yNSwxMCArMzgsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvbW92ZS1kaXIuYwogKyAgIG90aGVyKCk7CiArfQogKwotSW5kZXg6IGdk Yi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbW92ZS1kaXIuZXhwCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9tb3Zl LWRpci5leHAJMjAxNi0wMi0xNSAyMzoyOTo1OC43Njg0NjE0MDYgKzAxMDAKK2RpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvbW92ZS1kaXIuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAw MC4uZjE4OWVhNzdiOQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9tb3ZlLWRpci5leHAKIEBAIC0wLDAgKzEsNTcgQEAKICsjICAgQ29weXJpZ2h0IDIwMDUKICsj ICAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC04NywxMCArMTAxLDExIEBAIElu ZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGly LmV4cAogKwogK3NldCB0aW1lb3V0ICRvbGR0aW1lb3V0CiArcmV0dXJuIDAKLUluZGV4OiBnZGIt Ny4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmgKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGly LmgJMjAxNi0wMi0xNSAyMzoyMzowMi44OTI0OTkyODggKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGlyLmggYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21v dmUtZGlyLmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi40YTk5NzI1 YTAwCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21vdmUtZGly LmgKIEBAIC0wLDAgKzEsNyBAQAogKyNpbmNsdWRlIDxzdGRsaWIuaD4KICsKQEAgLTk5LDMgKzEx NCw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L21vdmUtZGlyLmgKICsgIHByaW50ZiAoIiVzXG4iLCBvc3RyaW5nKTs7CiArfQogKworLS0gCisy LjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0Y2ggYi9n ZGItNi4zLXRlc3QtcGllLTIwMDUwMTA3LnBhdGNoCmluZGV4IDdiMjg5ZmUuLjEzNGQ2YmEgMTAw NjQ0Ci0tLSBhL2dkYi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0Y2gKKysrIGIvZ2RiLTYuMy10 ZXN0LXBpZS0yMDA1MDEwNy5wYXRjaApAQCAtMSwxNCArMSwzNiBAQAorRnJvbSA0NzEwOGU3MDNh YzZiNzZhMTJlZTMxMDUxMmI2MDM0MmQ0NjBmNjgwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQog RnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwg MjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjMtdGVzdC1waWUtMjAw NTAxMDcucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0Y2gK IAorOzsgVlNZU0NBTEwgYW5kIFBJRQorOzs9ZmVkb3JhdGVzdAorLS0tCisgZ2RiL3Rlc3RzdWl0 ZS9nZGIucGllL2F0dGFjaC5jICAgICB8ICAyMCArCisgZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0 dGFjaC5leHAgICB8IDQxNiArKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIucGll L2F0dGFjaDIuYyAgICB8ICAyNCArCisgZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrLmMgICAg ICB8IDE0NiArKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsuZXhwICAgIHwgOTU0 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dk Yi5waWUvYnJlYWsxLmMgICAgIHwgIDQ0ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2NvcmVm aWxlLmV4cCB8IDIzMyArKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZW1ha2Vy LmMgIHwgMTQyICsrKysrKworIDggZmlsZXMgY2hhbmdlZCwgMTk3OSBpbnNlcnRpb25zKCspCisg Y3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRhY2guYworIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmV4cAorIGNyZWF0ZSBt b2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoMi5jCisgY3JlYXRlIG1vZGUg MTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVhay5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGdkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVhay5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Ri L3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrMS5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0 c3VpdGUvZ2RiLnBpZS9jb3JlZmlsZS5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3Rz dWl0ZS9nZGIucGllL2NvcmVtYWtlci5jCiAKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9n ZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2 MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmMJMjAxNi0wMi0xNSAyMzoyMzowMi44 NDM0OTg5MzYgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNo LmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwMDAwLi4wMDQxYjQ3MzJkCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoLmMKIEBAIC0wLDAgKzEsMjAgQEAKICsvKiBUaGlzIHBy b2dyYW0gaXMgaW50ZW5kZWQgdG8gYmUgc3RhcnRlZCBvdXRzaWRlIG9mIGdkYiwgYW5kIHRoZW4K ICsgICBhdHRhY2hlZCB0byBieSBnZGIuICBUaHVzLCBpdCBzaW1wbHkgc3BpbnMgaW4gYSBsb29w LiAgVGhlIGxvb3AKQEAgLTMwLDM4NiArNTIsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYw MjExL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRhY2guYwogKyAgICB9CiArICByZXR1cm4gMDsK ICt9Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0 dGFjaDIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2Ri LnBpZS9hdHRhY2gyLmMJMjAxNi0wMi0xNSAyMzoyMzowMi44NDM0OTg5MzYgKzAxMDAKLUBAIC0w LDAgKzEsMjQgQEAKLSsvKiBUaGlzIHByb2dyYW0gaXMgaW50ZW5kZWQgdG8gYmUgc3RhcnRlZCBv dXRzaWRlIG9mIGdkYiwgYW5kIHRoZW4KLSsgICBhdHRhY2hlZCB0byBieSBnZGIuICBUaHVzLCBp dCBzaW1wbHkgc3BpbnMgaW4gYSBsb29wLiAgVGhlIGxvb3AKLSsgICBpcyBleGl0ZWQgd2hlbiAm IGlmIHRoZSB2YXJpYWJsZSAnc2hvdWxkX2V4aXQnIGlzIG5vbi16ZXJvLiAgKEl0Ci0rICAgaXMg aW5pdGlhbGl6ZWQgdG8gemVybyBpbiB0aGlzIHByb2dyYW0sIHNvIHRoZSBsb29wIHdpbGwgbmV2 ZXIKLSsgICBleGl0IHVubGVzcy91bnRpbCBnZGIgc2V0cyB0aGUgdmFyaWFibGUgdG8gbm9uLXpl cm8uKQotKyAgICovCi0rI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rI2luY2x1ZGUgPHN0ZGxpYi5oPgot KyNpbmNsdWRlIDx1bmlzdGQuaD4KLSsKLStpbnQgIHNob3VsZF9leGl0ID0gMDsKLSsKLStpbnQg bWFpbiAoKQotK3sKLSsgIGludCAgbG9jYWxfaSA9IDA7Ci0rCi0rICBzbGVlcCggMTAgKTsgLyog U3lzdGVtIGNhbGwgY2F1c2VzIHJlZ2lzdGVyIGZldGNoIHRvIGZhaWwgKi8KLSsgICAgICAgICAg ICAgICAvKiBUaGlzIGlzIGEga25vd24gSFBVWCAiZmVhdHVyZSIgICAgICAgICAgICAqLwotKyAg d2hpbGUgKCEgc2hvdWxkX2V4aXQpCi0rICAgIHsKLSsgICAgICBsb2NhbF9pKys7Ci0rICAgIH0K LSsgIHJldHVybiAoMCk7Ci0rfQotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0 c3VpdGUvZ2RiLnBpZS9icmVhay5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2Ri L3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrLmMJMjAxNi0wMi0xNSAyMzoyMzowMi44NDQ0OTg5NDMg KzAxMDAKLUBAIC0wLDAgKzEsMTQ2IEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdE QiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwg MTk5NSwgMTk5OSwgMjAwMiwgMjAwMyBGcmVlIFNvZnR3YXJlCi0rICAgRm91bmRhdGlvbiwgSW5j LgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAg IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KLSsgCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsg aWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotKyAgIEZvdW5kYXRpb24sIEluYy4s IDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0Eu Ci0rCi0rICAgUGxlYXNlIGVtYWlsIGFueSBidWdzLCBjb21tZW50cywgYW5kL29yIGFkZGl0aW9u cyB0byB0aGlzIGZpbGUgdG86Ci0rICAgYnVnLWdkYkBwcmVwLmFpLm1pdC5lZHUgICovCi0rCi0r I2lmZGVmIHZ4d29ya3MKLSsKLSsjICBpbmNsdWRlIDxzdGRpby5oPgotKwotKy8qIFZ4V29ya3Mg ZG9lcyBub3Qgc3VwcGx5IGF0b2kuICAqLwotK3N0YXRpYyBpbnQKLSthdG9pICh6KQotKyAgICAg Y2hhciAqejsKLSt7Ci0rICBpbnQgaSA9IDA7Ci0rCi0rICB3aGlsZSAoKnogPj0gJzAnICYmICp6 IDw9ICc5JykKLSsgICAgaSA9IGkgKiAxMCArICgqeisrIC0gJzAnKTsKLSsgIHJldHVybiBpOwot K30KLSsKLSsvKiBJIGRvbid0IGtub3cgb2YgYW55IHdheSB0byBwYXNzIGFuIGFycmF5IHRvIFZ4 V29ya3MuICBUaGlzIGZ1bmN0aW9uCi0rICAgY2FuIGJlIGNhbGxlZCBkaXJlY3RseSBmcm9tIGdk Yi4gICovCi0rCi0rdnhtYWluIChhcmcpCi0rY2hhciAqYXJnOwotK3sKLSsgIGNoYXIgKmFyZ3Zb Ml07Ci0rCi0rICBhcmd2WzBdID0gIiI7Ci0rICBhcmd2WzFdID0gYXJnOwotKyAgbWFpbiAoMiwg YXJndiwgKGNoYXIgKiopIDApOwotK30KLSsKLSsjZWxzZSAvKiAhIHZ4d29ya3MgKi8KLSsjICBp bmNsdWRlIDxzdGRpby5oPgotKyMgIGluY2x1ZGUgPHN0ZGxpYi5oPgotKyNlbmRpZiAvKiAhIHZ4 d29ya3MgKi8KLSsKLSsjaWZkZWYgUFJPVE9UWVBFUwotK2V4dGVybiBpbnQgbWFya2VyMSAodm9p ZCk7Ci0rZXh0ZXJuIGludCBtYXJrZXIyIChpbnQgYSk7Ci0rZXh0ZXJuIHZvaWQgbWFya2VyMyAo Y2hhciAqYSwgY2hhciAqYik7Ci0rZXh0ZXJuIHZvaWQgbWFya2VyNCAobG9uZyBkKTsKLSsjZWxz ZQotK2V4dGVybiBpbnQgbWFya2VyMSAoKTsKLStleHRlcm4gaW50IG1hcmtlcjIgKCk7Ci0rZXh0 ZXJuIHZvaWQgbWFya2VyMyAoKTsKLStleHRlcm4gdm9pZCBtYXJrZXI0ICgpOwotKyNlbmRpZgot KwotKy8qCi0rICoJVGhpcyBzaW1wbGUgY2xhc3NpY2FsIGV4YW1wbGUgb2YgcmVjdXJzaW9uIGlz IHVzZWZ1bCBmb3IKLSsgKgl0ZXN0aW5nIHN0YWNrIGJhY2t0cmFjZXMgYW5kIHN1Y2guCi0rICov Ci0rCi0rI2lmZGVmIFBST1RPVFlQRVMKLStpbnQgZmFjdG9yaWFsKGludCk7Ci0rCi0raW50Ci0r bWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBjaGFyICoqZW52cCkKLSsjZWxzZQotK2ludAot K21haW4gKGFyZ2MsIGFyZ3YsIGVudnApCi0raW50IGFyZ2M7Ci0rY2hhciAqYXJndltdLCAqKmVu dnA7Ci0rI2VuZGlmCi0rewotKyNpZmRlZiB1c2VzdHVicwotKyAgICBzZXRfZGVidWdfdHJhcHMo KTsgIC8qIHNldCBicmVha3BvaW50IDUgaGVyZSAqLwotKyAgICBicmVha3BvaW50KCk7Ci0rI2Vu ZGlmCi0rICAgIGlmIChhcmdjID09IDEyMzQ1KSB7ICAvKiBhbiB1bmxpa2VseSB2YWx1ZSA8IDJe MTYsIGluIGNhc2UgdW5pbml0ZWQgKi8gLyogc2V0IGJyZWFrcG9pbnQgNiBoZXJlICovCi0rCWZw cmludGYgKHN0ZGVyciwgInVzYWdlOiAgZmFjdG9yaWFsIDxudW1iZXI+XG4iKTsKLSsJcmV0dXJu IDE7Ci0rICAgIH0KLSsgICAgcHJpbnRmICgiJWRcbiIsIGZhY3RvcmlhbCAoYXRvaSAoIjYiKSkp OyAgLyogc2V0IGJyZWFrcG9pbnQgMSBoZXJlICovCi0rICAgIC8qIHNldCBicmVha3BvaW50IDEy IGhlcmUgKi8KLSsgICAgbWFya2VyMSAoKTsgIC8qIHNldCBicmVha3BvaW50IDExIGhlcmUgKi8K LSsgICAgbWFya2VyMiAoNDMpOyAvKiBzZXQgYnJlYWtwb2ludCAyMCBoZXJlICovCi0rICAgIG1h cmtlcjMgKCJzdGFjayIsICJ0cmFjZSIpOyAvKiBzZXQgYnJlYWtwb2ludCAyMSBoZXJlICovCi0r ICAgIG1hcmtlcjQgKDE3NzYwMTk3NkwpOwotKyAgICBhcmdjID0gKGFyZ2MgPT0gMTIzNDUpOyAv KiBUaGlzIGlzIHNpbGx5LCBidXQgd2UgY2FuIHN0ZXAgb2ZmIG9mIGl0ICovIC8qIHNldCBicmVh a3BvaW50IDIgaGVyZSAqLwotKyAgICByZXR1cm4gYXJnYzsgIC8qIHNldCBicmVha3BvaW50IDEw IGhlcmUgKi8KLSt9Ci0rCi0rI2lmZGVmIFBST1RPVFlQRVMKLStpbnQgZmFjdG9yaWFsIChpbnQg dmFsdWUpCi0rI2Vsc2UKLStpbnQgZmFjdG9yaWFsICh2YWx1ZSkKLStpbnQgdmFsdWU7Ci0rI2Vu ZGlmCi0rewotKyAgaWYgKHZhbHVlID4gMSkgeyAgLyogc2V0IGJyZWFrcG9pbnQgNyBoZXJlICov Ci0rCXZhbHVlICo9IGZhY3RvcmlhbCAodmFsdWUgLSAxKTsKLSsgICAgfQotKyAgICByZXR1cm4g KHZhbHVlKTsgLyogc2V0IGJyZWFrcG9pbnQgMTkgaGVyZSAqLwotK30KLSsKLSsjaWZkZWYgUFJP VE9UWVBFUwotK2ludCBtdWx0aV9saW5lX2lmX2NvbmRpdGlvbmFsIChpbnQgYSwgaW50IGIsIGlu dCBjKQotKyNlbHNlCi0raW50IG11bHRpX2xpbmVfaWZfY29uZGl0aW9uYWwgKGEsIGIsIGMpCi0r ICBpbnQgYSwgYiwgYzsKLSsjZW5kaWYKLSt7Ci0rICBpZiAoYSAgICAvKiBzZXQgYnJlYWtwb2lu dCAzIGhlcmUgKi8KLSsgICAgICAmJiBiCi0rICAgICAgJiYgYykKLSsgICAgcmV0dXJuIDA7Ci0r ICBlbHNlCi0rICAgIHJldHVybiAxOwotK30KLSsKLSsjaWZkZWYgUFJPVE9UWVBFUwotK2ludCBt dWx0aV9saW5lX3doaWxlX2NvbmRpdGlvbmFsIChpbnQgYSwgaW50IGIsIGludCBjKQotKyNlbHNl Ci0raW50IG11bHRpX2xpbmVfd2hpbGVfY29uZGl0aW9uYWwgKGEsIGIsIGMpCi0rICBpbnQgYSwg YiwgYzsKLSsjZW5kaWYKLSt7Ci0rICB3aGlsZSAoYSAvKiBzZXQgYnJlYWtwb2ludCA0IGhlcmUg Ki8KLSsgICAgICAmJiBiCi0rICAgICAgJiYgYykKLSsgICAgewotKyAgICAgIGEtLSwgYi0tLCBj LS07Ci0rICAgIH0KLSsgIHJldHVybiAwOwotK30KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIx MS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsxLmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4y MDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsxLmMJMjAxNi0wMi0xNSAyMzoyMzow Mi44NDQ0OTg5NDMgKzAxMDAKLUBAIC0wLDAgKzEsNDQgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlz IHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAxOTkyLCAx OTkzLCAxOTk0LCAxOTk1LCAxOTk5LCAyMDAyLCAyMDAzIEZyZWUgU29mdHdhcmUKLSsgICBGb3Vu ZGF0aW9uLCBJbmMuCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu c2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKLSsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgotKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgotKyAKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0rICAgRm91bmRh dGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTEx LTEzMDcsIFVTQS4KLSsKLSsgICBQbGVhc2UgZW1haWwgYW55IGJ1Z3MsIGNvbW1lbnRzLCBhbmQv b3IgYWRkaXRpb25zIHRvIHRoaXMgZmlsZSB0bzoKLSsgICBidWctZ2RiQHByZXAuYWkubWl0LmVk dSAgKi8KLSsKLSsvKiBUaGUgY29kZSBmb3IgdGhpcyBmaWxlIHdhcyBleHRyYWN0ZWQgZnJvbSB0 aGUgZ2RiIHRlc3RzdWl0ZQotKyAgIHRlc3RjYXNlICJicmVhay5jIi4gKi8KLSsKLSsvKiBUaGUg Zm9sbG93aW5nIGZ1bmN0aW9ucyBkbyBub3RoaW5nIHVzZWZ1bC4gIFRoZXkgYXJlIGluY2x1ZGVk Ci0rICAgc2ltcGx5IGFzIHBsYWNlcyB0byB0cnkgc2V0dGluZyBicmVha3BvaW50cyBhdC4gIFRo ZXkgYXJlCi0rICAgZXhwbGljaXRseSAib25lLWxpbmUgZnVuY3Rpb25zIiB0byB2ZXJpZnkgdGhh dCB0aGlzIGNhc2Ugd29ya3MKLSsgICAoc29tZSB2ZXJzaW9ucyBvZiBnY2MgaGF2ZSBvciBoYXZl IGhhZCBwcm9ibGVtcyB3aXRoIHRoaXMpLgotKyAgCi0rICAgVGhlc2UgZnVuY3Rpb25zIGFyZSBp biBhIHNlcGFyYXRlIHNvdXJjZSBmaWxlIHRvIHByZXZlbnQgYW4KLSsgICBvcHRpbWl6aW5nIGNv bXBpbGVyIGZyb20gaW5saW5pbmcgdGhlbSBhbmQgb3B0aW1pemluZyB0aGVtIGF3YXkuICovCi0r Ci0rI2lmZGVmIFBST1RPVFlQRVMKLStpbnQgbWFya2VyMSAodm9pZCkgeyByZXR1cm4gKDApOyB9 CS8qIHNldCBicmVha3BvaW50IDE1IGhlcmUgKi8KLStpbnQgbWFya2VyMiAoaW50IGEpIHsgcmV0 dXJuICgxKTsgfQkvKiBzZXQgYnJlYWtwb2ludCA4IGhlcmUgKi8KLSt2b2lkIG1hcmtlcjMgKGNo YXIgKmEsIGNoYXIgKmIpIHt9CS8qIHNldCBicmVha3BvaW50IDE3IGhlcmUgKi8KLSt2b2lkIG1h cmtlcjQgKGxvbmcgZCkge30JCS8qIHNldCBicmVha3BvaW50IDE0IGhlcmUgKi8KLSsjZWxzZQot K2ludCBtYXJrZXIxICgpIHsgcmV0dXJuICgwKTsgfQkJLyogc2V0IGJyZWFrcG9pbnQgMTYgaGVy ZSAqLwotK2ludCBtYXJrZXIyIChhKSBpbnQgYTsgeyByZXR1cm4gKDEpOyB9CS8qIHNldCBicmVh a3BvaW50IDkgaGVyZSAqLwotK3ZvaWQgbWFya2VyMyAoYSwgYikgY2hhciAqYSwgKmI7IHt9CS8q IHNldCBicmVha3BvaW50IDE4IGhlcmUgKi8KLSt2b2lkIG1hcmtlcjQgKGQpIGxvbmcgZDsge30J CS8qIHNldCBicmVha3BvaW50IDEzIGhlcmUgKi8KLSsjZW5kaWYKLUluZGV4OiBnZGItNy4xMC45 MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZW1ha2VyLmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZW1ha2VyLmMJMjAx Ni0wMi0xNSAyMzoyMzowMi44NDQ0OTg5NDMgKzAxMDAKLUBAIC0wLDAgKzEsMTQyIEBACi0rLyog Q29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTkKLSsgICBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIu Ci0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAot KyAgIHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Ci0r ICAgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgotKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUgR05VCi0rICAgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgotKwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlm IG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSsgICBGb3VuZGF0aW9uLCBJbmMuLCA1 OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0rICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBV U0EuICAqLwotKwotKy8qIFNpbXBsZSBsaXR0bGUgcHJvZ3JhbSB0aGF0IGp1c3QgZ2VuZXJhdGVz IGEgY29yZSBkdW1wIGZyb20gaW5zaWRlIHNvbWUKLSsgICBuZXN0ZWQgZnVuY3Rpb24gY2FsbHMu ICovCi0rCi0rI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotKyNp bmNsdWRlIDxmY250bC5oPgotKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgotKyNpbmNsdWRlIDxzaWdu YWwuaD4KLSsjaW5jbHVkZSA8c3RkbGliLmg+Ci0rI2luY2x1ZGUgPHVuaXN0ZC5oPgotKwotKyNp Zm5kZWYgX19TVERDX18KLSsjZGVmaW5lCWNvbnN0CS8qKi8KLSsjZW5kaWYKLSsKLSsjZGVmaW5l IE1BUFNJWkUgKDggKiAxMDI0KQotKwotKy8qIERvbid0IG1ha2UgdGhlc2UgYXV0b21hdGljIHZh cnMgb3Igd2Ugd2lsbCBoYXZlIHRvIHdhbGsgYmFjayB1cCB0aGUKLSsgICBzdGFjayB0byBhY2Nl c3MgdGhlbS4gKi8KLSsKLStjaGFyICpidWYxOwotK2NoYXIgKmJ1ZjI7Ci0rCi0raW50IGNvcmVt YWtlcl9kYXRhID0gMTsJLyogSW4gRGF0YSBzZWN0aW9uICovCi0raW50IGNvcmVtYWtlcl9ic3M7 CS8qIEluIEJTUyBzZWN0aW9uICovCi0rCi0rY29uc3QgaW50IGNvcmVtYWtlcl9ybyA9IDIwMTsJ LyogSW4gUmVhZC1Pbmx5IERhdGEgc2VjdGlvbiAqLwotKwotKy8qIE5vdGUgdGhhdCBpZiB0aGUg bWFwcGluZyBmYWlscyBmb3IgYW55IHJlYXNvbiwgd2Ugc2V0IGJ1ZjIKLSsgICB0byAtMSBhbmQg dGhlIHRlc3RzdWl0ZSBub3RpY2VzIHRoaXMgYW5kIHJlcG9ydHMgaXQgYXMKLSsgICBhIGZhaWx1 cmUgZHVlIHRvIGEgbWFwcGluZyBlcnJvci4gIFRoaXMgd2F5IHdlIGRvbid0IGhhdmUKLSsgICB0 byB0ZXN0IGZvciBzcGVjaWZpYyBlcnJvcnMgd2hlbiBydW5uaW5nIHRoZSBjb3JlIG1ha2VyLiAq LwotKwotK3ZvaWQKLSttbWFwZGF0YSAoKQotK3sKLSsgIGludCBqLCBmZDsKLSsKLSsgIC8qIEFs bG9jYXRlIGFuZCBpbml0aWFsaXplIGEgYnVmZmVyIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHdyaXRl Ci0rICAgICB0aGUgZmlsZSB0aGF0IGlzIGxhdGVyIG1hcHBlZCBpbi4gKi8KLSsKLSsgIGJ1ZjEg PSAoY2hhciAqKSBtYWxsb2MgKE1BUFNJWkUpOwotKyAgZm9yIChqID0gMDsgaiA8IE1BUFNJWkU7 ICsraikKLSsgICAgewotKyAgICAgIGJ1ZjFbal0gPSBqOwotKyAgICB9Ci0rCi0rICAvKiBXcml0 ZSB0aGUgZmlsZSB0byBtYXAgaW4gKi8KLSsKLSsgIGZkID0gb3BlbiAoImNvcmVtbWFwLmRhdGEi LCBPX0NSRUFUIHwgT19SRFdSLCAwNjY2KTsKLSsgIGlmIChmZCA9PSAtMSkKLSsgICAgewotKyAg ICAgIHBlcnJvciAoImNvcmVtbWFwLmRhdGEgb3BlbiBmYWlsZWQiKTsKLSsgICAgICBidWYyID0g KGNoYXIgKikgLTE7Ci0rICAgICAgcmV0dXJuOwotKyAgICB9Ci0rICB3cml0ZSAoZmQsIGJ1ZjEs IE1BUFNJWkUpOwotKwotKyAgLyogTm93IG1hcCB0aGUgZmlsZSBpbnRvIG91ciBhZGRyZXNzIHNw YWNlIGFzIGJ1ZjIgKi8KLSsKLSsgIGJ1ZjIgPSAoY2hhciAqKSBtbWFwICgwLCBNQVBTSVpFLCBQ Uk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBNQVBfUFJJVkFURSwgZmQsIDApOwotKyAgaWYgKGJ1ZjIg PT0gKGNoYXIgKikgLTEpCi0rICAgIHsKLSsgICAgICBwZXJyb3IgKCJtbWFwIGZhaWxlZCIpOwot KyAgICAgIHJldHVybjsKLSsgICAgfQotKwotKyAgLyogVmVyaWZ5IHRoYXQgdGhlIG9yaWdpbmFs IGRhdGEgYW5kIHRoZSBtYXBwZWQgZGF0YSBhcmUgaWRlbnRpY2FsLgotKyAgICAgSWYgbm90LCB3 ZSdkIHJhdGhlciBmYWlsIG5vdyB0aGFuIHdoZW4gdHJ5aW5nIHRvIGFjY2VzcyB0aGUgbWFwcGVk Ci0rICAgICBkYXRhIGZyb20gdGhlIGNvcmUgZmlsZS4gKi8KLSsKLSsgIGZvciAoaiA9IDA7IGog PCBNQVBTSVpFOyArK2opCi0rICAgIHsKLSsgICAgICBpZiAoYnVmMVtqXSAhPSBidWYyW2pdKQot Kwl7Ci0rCSAgZnByaW50ZiAoc3RkZXJyLCAibWFwcGVkIGRhdGEgaXMgaW5jb3JyZWN0Iik7Ci0r CSAgYnVmMiA9IChjaGFyICopIC0xOwotKwkgIHJldHVybjsKLSsJfQotKyAgICB9Ci0rfQotKwot K3ZvaWQKLStmdW5jMiAoKQotK3sKLSsgIGludCBjb3JlbWFrZXJfbG9jYWxbNV07Ci0rICBpbnQg aTsKLSsKLSsjaWZkZWYgU0FfRlVMTERVTVAKLSsgIC8qIEZvcmNlIGEgY29yZWZpbGUgdGhhdCBp bmNsdWRlcyB0aGUgZGF0YSBzZWN0aW9uIGZvciBBSVguICAqLwotKyAgewotKyAgICBzdHJ1Y3Qg c2lnYWN0aW9uIHNhOwotKwotKyAgICBzaWdhY3Rpb24gKFNJR0FCUlQsIChzdHJ1Y3Qgc2lnYWN0 aW9uICopMCwgJnNhKTsKLSsgICAgc2Euc2FfZmxhZ3MgfD0gU0FfRlVMTERVTVA7Ci0rICAgIHNp Z2FjdGlvbiAoU0lHQUJSVCwgJnNhLCAoc3RydWN0IHNpZ2FjdGlvbiAqKTApOwotKyAgfQotKyNl bmRpZgotKwotKyAgLyogTWFrZSBzdXJlIHRoYXQgY29yZW1ha2VyX2xvY2FsIGRvZXNuJ3QgZ2V0 IG9wdGltaXplZCBhd2F5LiAqLwotKyAgZm9yIChpID0gMDsgaSA8IDU7IGkrKykKLSsgICAgY29y ZW1ha2VyX2xvY2FsW2ldID0gaTsKLSsgIGNvcmVtYWtlcl9ic3MgPSAwOwotKyAgZm9yIChpID0g MDsgaSA8IDU7IGkrKykKLSsgICAgY29yZW1ha2VyX2JzcyArPSBjb3JlbWFrZXJfbG9jYWxbaV07 Ci0rICBjb3JlbWFrZXJfZGF0YSA9IGNvcmVtYWtlcl9ybyArIDE7Ci0rICBhYm9ydCAoKTsKLSt9 Ci0rCi0rdm9pZAotK2Z1bmMxICgpCi0rewotKyAgZnVuYzIgKCk7Ci0rfQotKwotK2ludCBtYWlu ICgpCi0rewotKyAgbW1hcGRhdGEgKCk7Ci0rICBmdW5jMSAoKTsKLSsgIHJldHVybiAwOwotK30K LSsKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0 YWNoLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2Ri LnBpZS9hdHRhY2guZXhwCTIwMTYtMDItMTUgMjM6Mzc6MTUuMTkwNTYwMDQ4ICswMTAwCitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0dGFjaC5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5waWUvYXR0YWNoLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAw MDAuLjY0OGM5MjYwOGMKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnBp ZS9hdHRhY2guZXhwCiBAQCAtMCwwICsxLDQxNiBAQAogKyMgICBDb3B5cmlnaHQgMTk5NywgMTk5 OSwgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTgwNywzMCArNDU0 LDIxMyBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIucGll L2F0dGFjaC5leHAKICt9CiArCiArCi0rIyBTdGFydCB3aXRoIGEgZnJlc2ggZ2RiCi0rIwotK2dk Yl9leGl0Ci0rZ2RiX3N0YXJ0Ci0rZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGly Ci0rZ2RiX2xvYWQgJHtiaW5maWxlfQotKwotKyMgVGhpcyBpcyBhIHRlc3Qgb2YgZ2RiJ3MgYWJp bGl0eSB0byBhdHRhY2ggdG8gYSBydW5uaW5nIHByb2Nlc3MuCi0rIwotK2RvX2F0dGFjaF90ZXN0 cwotKwotKyMgVGVzdCBhdHRhY2hpbmcgd2hlbiB0aGUgdGFyZ2V0IGlzIGluc2lkZSBhIHN5c3Rl bSBjYWxsCi0rIwotK2dkYl9leGl0Ci0rZ2RiX3N0YXJ0Ci0rCi0rZ2RiX3JlaW5pdGlhbGl6ZV9k aXIgJHNyY2Rpci8kc3ViZGlyCi0rZG9fY2FsbF9hdHRhY2hfdGVzdHMKKysjIFN0YXJ0IHdpdGgg YSBmcmVzaCBnZGIKKysjCisrZ2RiX2V4aXQKKytnZGJfc3RhcnQKKytnZGJfcmVpbml0aWFsaXpl X2RpciAkc3JjZGlyLyRzdWJkaXIKKytnZGJfbG9hZCAke2JpbmZpbGV9CisrCisrIyBUaGlzIGlz IGEgdGVzdCBvZiBnZGIncyBhYmlsaXR5IHRvIGF0dGFjaCB0byBhIHJ1bm5pbmcgcHJvY2Vzcy4K KysjCisrZG9fYXR0YWNoX3Rlc3RzCisrCisrIyBUZXN0IGF0dGFjaGluZyB3aGVuIHRoZSB0YXJn ZXQgaXMgaW5zaWRlIGEgc3lzdGVtIGNhbGwKKysjCisrZ2RiX2V4aXQKKytnZGJfc3RhcnQKKysK KytnZGJfcmVpbml0aWFsaXplX2RpciAkc3JjZGlyLyRzdWJkaXIKKytkb19jYWxsX2F0dGFjaF90 ZXN0cworKworK3JldHVybiAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2F0 dGFjaDIuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9hdHRhY2gyLmMKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5hNzgwMzdlZDM4CistLS0gL2Rldi9udWxsCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYXR0YWNoMi5jCitAQCAtMCwwICsxLDI0IEBACisrLyog VGhpcyBwcm9ncmFtIGlzIGludGVuZGVkIHRvIGJlIHN0YXJ0ZWQgb3V0c2lkZSBvZiBnZGIsIGFu ZCB0aGVuCisrICAgYXR0YWNoZWQgdG8gYnkgZ2RiLiAgVGh1cywgaXQgc2ltcGx5IHNwaW5zIGlu IGEgbG9vcC4gIFRoZSBsb29wCisrICAgaXMgZXhpdGVkIHdoZW4gJiBpZiB0aGUgdmFyaWFibGUg J3Nob3VsZF9leGl0JyBpcyBub24temVyby4gIChJdAorKyAgIGlzIGluaXRpYWxpemVkIHRvIHpl cm8gaW4gdGhpcyBwcm9ncmFtLCBzbyB0aGUgbG9vcCB3aWxsIG5ldmVyCisrICAgZXhpdCB1bmxl c3MvdW50aWwgZ2RiIHNldHMgdGhlIHZhcmlhYmxlIHRvIG5vbi16ZXJvLikKKysgICAqLworKyNp bmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKysjaW5jbHVkZSA8dW5pc3Rk Lmg+CisrCisraW50ICBzaG91bGRfZXhpdCA9IDA7CisrCisraW50IG1haW4gKCkKKyt7CisrICBp bnQgIGxvY2FsX2kgPSAwOworKworKyAgc2xlZXAoIDEwICk7IC8qIFN5c3RlbSBjYWxsIGNhdXNl cyByZWdpc3RlciBmZXRjaCB0byBmYWlsICovCisrICAgICAgICAgICAgICAgLyogVGhpcyBpcyBh IGtub3duIEhQVVggImZlYXR1cmUiICAgICAgICAgICAgKi8KKysgIHdoaWxlICghIHNob3VsZF9l eGl0KQorKyAgICB7CisrICAgICAgbG9jYWxfaSsrOworKyAgICB9CisrICByZXR1cm4gKDApOwor K30KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsuYyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLnBpZS9icmVhay5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MDAwMC4uYmYzOThmY2NhOQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu cGllL2JyZWFrLmMKK0BAIC0wLDAgKzEsMTQ2IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0 IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMTk5MiwgMTk5Mywg MTk5NCwgMTk5NSwgMTk5OSwgMjAwMiwgMjAwMyBGcmVlIFNvZnR3YXJlCisrICAgRm91bmRhdGlv biwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv cgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws CisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKysgCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorKyAgIEZvdW5kYXRpb24s IEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3 LCBVU0EuCisrCisrICAgUGxlYXNlIGVtYWlsIGFueSBidWdzLCBjb21tZW50cywgYW5kL29yIGFk ZGl0aW9ucyB0byB0aGlzIGZpbGUgdG86CisrICAgYnVnLWdkYkBwcmVwLmFpLm1pdC5lZHUgICov CisrCisrI2lmZGVmIHZ4d29ya3MKKysKKysjICBpbmNsdWRlIDxzdGRpby5oPgorKworKy8qIFZ4 V29ya3MgZG9lcyBub3Qgc3VwcGx5IGF0b2kuICAqLworK3N0YXRpYyBpbnQKKythdG9pICh6KQor KyAgICAgY2hhciAqejsKKyt7CisrICBpbnQgaSA9IDA7CisrCisrICB3aGlsZSAoKnogPj0gJzAn ICYmICp6IDw9ICc5JykKKysgICAgaSA9IGkgKiAxMCArICgqeisrIC0gJzAnKTsKKysgIHJldHVy biBpOworK30KKysKKysvKiBJIGRvbid0IGtub3cgb2YgYW55IHdheSB0byBwYXNzIGFuIGFycmF5 IHRvIFZ4V29ya3MuICBUaGlzIGZ1bmN0aW9uCisrICAgY2FuIGJlIGNhbGxlZCBkaXJlY3RseSBm cm9tIGdkYi4gICovCisrCisrdnhtYWluIChhcmcpCisrY2hhciAqYXJnOworK3sKKysgIGNoYXIg KmFyZ3ZbMl07CisrCisrICBhcmd2WzBdID0gIiI7CisrICBhcmd2WzFdID0gYXJnOworKyAgbWFp biAoMiwgYXJndiwgKGNoYXIgKiopIDApOworK30KKysKKysjZWxzZSAvKiAhIHZ4d29ya3MgKi8K KysjICBpbmNsdWRlIDxzdGRpby5oPgorKyMgIGluY2x1ZGUgPHN0ZGxpYi5oPgorKyNlbmRpZiAv KiAhIHZ4d29ya3MgKi8KKysKKysjaWZkZWYgUFJPVE9UWVBFUworK2V4dGVybiBpbnQgbWFya2Vy MSAodm9pZCk7CisrZXh0ZXJuIGludCBtYXJrZXIyIChpbnQgYSk7CisrZXh0ZXJuIHZvaWQgbWFy a2VyMyAoY2hhciAqYSwgY2hhciAqYik7CisrZXh0ZXJuIHZvaWQgbWFya2VyNCAobG9uZyBkKTsK KysjZWxzZQorK2V4dGVybiBpbnQgbWFya2VyMSAoKTsKKytleHRlcm4gaW50IG1hcmtlcjIgKCk7 CisrZXh0ZXJuIHZvaWQgbWFya2VyMyAoKTsKKytleHRlcm4gdm9pZCBtYXJrZXI0ICgpOworKyNl bmRpZgorKworKy8qCisrICoJVGhpcyBzaW1wbGUgY2xhc3NpY2FsIGV4YW1wbGUgb2YgcmVjdXJz aW9uIGlzIHVzZWZ1bCBmb3IKKysgKgl0ZXN0aW5nIHN0YWNrIGJhY2t0cmFjZXMgYW5kIHN1Y2gu CisrICovCisrCisrI2lmZGVmIFBST1RPVFlQRVMKKytpbnQgZmFjdG9yaWFsKGludCk7CisrCisr aW50CisrbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBjaGFyICoqZW52cCkKKysjZWxzZQor K2ludAorK21haW4gKGFyZ2MsIGFyZ3YsIGVudnApCisraW50IGFyZ2M7CisrY2hhciAqYXJndltd LCAqKmVudnA7CisrI2VuZGlmCisreworKyNpZmRlZiB1c2VzdHVicworKyAgICBzZXRfZGVidWdf dHJhcHMoKTsgIC8qIHNldCBicmVha3BvaW50IDUgaGVyZSAqLworKyAgICBicmVha3BvaW50KCk7 CisrI2VuZGlmCisrICAgIGlmIChhcmdjID09IDEyMzQ1KSB7ICAvKiBhbiB1bmxpa2VseSB2YWx1 ZSA8IDJeMTYsIGluIGNhc2UgdW5pbml0ZWQgKi8gLyogc2V0IGJyZWFrcG9pbnQgNiBoZXJlICov CisrCWZwcmludGYgKHN0ZGVyciwgInVzYWdlOiAgZmFjdG9yaWFsIDxudW1iZXI+XG4iKTsKKysJ cmV0dXJuIDE7CisrICAgIH0KKysgICAgcHJpbnRmICgiJWRcbiIsIGZhY3RvcmlhbCAoYXRvaSAo IjYiKSkpOyAgLyogc2V0IGJyZWFrcG9pbnQgMSBoZXJlICovCisrICAgIC8qIHNldCBicmVha3Bv aW50IDEyIGhlcmUgKi8KKysgICAgbWFya2VyMSAoKTsgIC8qIHNldCBicmVha3BvaW50IDExIGhl cmUgKi8KKysgICAgbWFya2VyMiAoNDMpOyAvKiBzZXQgYnJlYWtwb2ludCAyMCBoZXJlICovCisr ICAgIG1hcmtlcjMgKCJzdGFjayIsICJ0cmFjZSIpOyAvKiBzZXQgYnJlYWtwb2ludCAyMSBoZXJl ICovCisrICAgIG1hcmtlcjQgKDE3NzYwMTk3NkwpOworKyAgICBhcmdjID0gKGFyZ2MgPT0gMTIz NDUpOyAvKiBUaGlzIGlzIHNpbGx5LCBidXQgd2UgY2FuIHN0ZXAgb2ZmIG9mIGl0ICovIC8qIHNl dCBicmVha3BvaW50IDIgaGVyZSAqLworKyAgICByZXR1cm4gYXJnYzsgIC8qIHNldCBicmVha3Bv aW50IDEwIGhlcmUgKi8KKyt9CisrCisrI2lmZGVmIFBST1RPVFlQRVMKKytpbnQgZmFjdG9yaWFs IChpbnQgdmFsdWUpCisrI2Vsc2UKKytpbnQgZmFjdG9yaWFsICh2YWx1ZSkKKytpbnQgdmFsdWU7 CisrI2VuZGlmCisreworKyAgaWYgKHZhbHVlID4gMSkgeyAgLyogc2V0IGJyZWFrcG9pbnQgNyBo ZXJlICovCisrCXZhbHVlICo9IGZhY3RvcmlhbCAodmFsdWUgLSAxKTsKKysgICAgfQorKyAgICBy ZXR1cm4gKHZhbHVlKTsgLyogc2V0IGJyZWFrcG9pbnQgMTkgaGVyZSAqLworK30KKysKKysjaWZk ZWYgUFJPVE9UWVBFUworK2ludCBtdWx0aV9saW5lX2lmX2NvbmRpdGlvbmFsIChpbnQgYSwgaW50 IGIsIGludCBjKQorKyNlbHNlCisraW50IG11bHRpX2xpbmVfaWZfY29uZGl0aW9uYWwgKGEsIGIs IGMpCisrICBpbnQgYSwgYiwgYzsKKysjZW5kaWYKKyt7CisrICBpZiAoYSAgICAvKiBzZXQgYnJl YWtwb2ludCAzIGhlcmUgKi8KKysgICAgICAmJiBiCisrICAgICAgJiYgYykKKysgICAgcmV0dXJu IDA7CisrICBlbHNlCisrICAgIHJldHVybiAxOworK30KICsKLStyZXR1cm4gMAotSW5kZXg6IGdk Yi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVhay5leHAKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsuZXhw CTIwMTYtMDItMTUgMjM6Mzc6MTUuMTkxNTYwMDU1ICswMTAwCisrI2lmZGVmIFBST1RPVFlQRVMK KytpbnQgbXVsdGlfbGluZV93aGlsZV9jb25kaXRpb25hbCAoaW50IGEsIGludCBiLCBpbnQgYykK KysjZWxzZQorK2ludCBtdWx0aV9saW5lX3doaWxlX2NvbmRpdGlvbmFsIChhLCBiLCBjKQorKyAg aW50IGEsIGIsIGM7CisrI2VuZGlmCisreworKyAgd2hpbGUgKGEgLyogc2V0IGJyZWFrcG9pbnQg NCBoZXJlICovCisrICAgICAgJiYgYgorKyAgICAgICYmIGMpCisrICAgIHsKKysgICAgICBhLS0s IGItLSwgYy0tOworKyAgICB9CisrICByZXR1cm4gMDsKKyt9CitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIucGllL2JyZWFrLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVhay5l eHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi45N2I4NzM5N2MyCist LS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvYnJlYWsuZXhwCiBAQCAt MCwwICsxLDk1NCBAQAogKyMgICBDb3B5cmlnaHQgMTk4OCwgMTk5MCwgMTk5MSwgMTk5MiwgMTk5 NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwKICsjICAgMjAwMCwgMjAwMiwgMjAwMywg MjAwNApAQCAtMTc4NiwxMCArMTYxNiw2MSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEv Z2RiL3Rlc3RzdWl0ZS9nZGIucGllL2JyZWFrLmV4cAogKyAgICBzZW5kX2dkYiAic2V0IGFyZ3Mg bWFpblxuIgogKyAgICBnZGJfZXhwZWN0IC1yZSAiLiokZ2RiX3Byb21wdCAkIiB7fQogK30KLUlu ZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZWZpbGUu ZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIucGll L2NvcmVmaWxlLmV4cAkyMDE2LTAyLTE1IDIzOjM3OjE1LjE5MTU2MDA1NSArMDEwMAorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVhazEuYyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LnBpZS9icmVhazEuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjJl ZDhiMmE0YTAKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnBpZS9icmVh azEuYworQEAgLTAsMCArMSw0NCBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIs IHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQsIDE5 OTUsIDE5OTksIDIwMDIsIDIwMDMgRnJlZSBTb2Z0d2FyZQorKyAgIEZvdW5kYXRpb24sIEluYy4K KysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCisrIAorKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlm IG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKysgICBGb3VuZGF0aW9uLCBJbmMuLCA1 OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgor KworKyAgIFBsZWFzZSBlbWFpbCBhbnkgYnVncywgY29tbWVudHMsIGFuZC9vciBhZGRpdGlvbnMg dG8gdGhpcyBmaWxlIHRvOgorKyAgIGJ1Zy1nZGJAcHJlcC5haS5taXQuZWR1ICAqLworKworKy8q IFRoZSBjb2RlIGZvciB0aGlzIGZpbGUgd2FzIGV4dHJhY3RlZCBmcm9tIHRoZSBnZGIgdGVzdHN1 aXRlCisrICAgdGVzdGNhc2UgImJyZWFrLmMiLiAqLworKworKy8qIFRoZSBmb2xsb3dpbmcgZnVu Y3Rpb25zIGRvIG5vdGhpbmcgdXNlZnVsLiAgVGhleSBhcmUgaW5jbHVkZWQKKysgICBzaW1wbHkg YXMgcGxhY2VzIHRvIHRyeSBzZXR0aW5nIGJyZWFrcG9pbnRzIGF0LiAgVGhleSBhcmUKKysgICBl eHBsaWNpdGx5ICJvbmUtbGluZSBmdW5jdGlvbnMiIHRvIHZlcmlmeSB0aGF0IHRoaXMgY2FzZSB3 b3JrcworKyAgIChzb21lIHZlcnNpb25zIG9mIGdjYyBoYXZlIG9yIGhhdmUgaGFkIHByb2JsZW1z IHdpdGggdGhpcykuCisrICAKKysgICBUaGVzZSBmdW5jdGlvbnMgYXJlIGluIGEgc2VwYXJhdGUg c291cmNlIGZpbGUgdG8gcHJldmVudCBhbgorKyAgIG9wdGltaXppbmcgY29tcGlsZXIgZnJvbSBp bmxpbmluZyB0aGVtIGFuZCBvcHRpbWl6aW5nIHRoZW0gYXdheS4gKi8KKysKKysjaWZkZWYgUFJP VE9UWVBFUworK2ludCBtYXJrZXIxICh2b2lkKSB7IHJldHVybiAoMCk7IH0JLyogc2V0IGJyZWFr cG9pbnQgMTUgaGVyZSAqLworK2ludCBtYXJrZXIyIChpbnQgYSkgeyByZXR1cm4gKDEpOyB9CS8q IHNldCBicmVha3BvaW50IDggaGVyZSAqLworK3ZvaWQgbWFya2VyMyAoY2hhciAqYSwgY2hhciAq Yikge30JLyogc2V0IGJyZWFrcG9pbnQgMTcgaGVyZSAqLworK3ZvaWQgbWFya2VyNCAobG9uZyBk KSB7fQkJLyogc2V0IGJyZWFrcG9pbnQgMTQgaGVyZSAqLworKyNlbHNlCisraW50IG1hcmtlcjEg KCkgeyByZXR1cm4gKDApOyB9CQkvKiBzZXQgYnJlYWtwb2ludCAxNiBoZXJlICovCisraW50IG1h cmtlcjIgKGEpIGludCBhOyB7IHJldHVybiAoMSk7IH0JLyogc2V0IGJyZWFrcG9pbnQgOSBoZXJl ICovCisrdm9pZCBtYXJrZXIzIChhLCBiKSBjaGFyICphLCAqYjsge30JLyogc2V0IGJyZWFrcG9p bnQgMTggaGVyZSAqLworK3ZvaWQgbWFya2VyNCAoZCkgbG9uZyBkOyB7fQkJLyogc2V0IGJyZWFr cG9pbnQgMTMgaGVyZSAqLworKyNlbmRpZgorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LnBpZS9jb3JlZmlsZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZWZpbGUuZXhwCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uY2E0YjAxYmUzZQorLS0tIC9k ZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucGllL2NvcmVmaWxlLmV4cAogQEAgLTAs MCArMSwyMzMgQEAKICsjIENvcHlyaWdodCAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2LCAx OTk3LCAxOTk4LCAxOTk5LCAyMDAwCiArIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K QEAgLTIwMjQsMyArMTkwNSwxNTQgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90 ZXN0c3VpdGUvZ2RiLnBpZS9jb3JlZmlsZS5leHAKICtnZGJfdGVzdCAidXAiICIjXFswLTlcXSog KlxbMC05eGEtZkgnXF0qIGluIC4qIFxcKC4qXFwpLioiICJ1cCBpbiBjb3JlZmlsZS5leHAgKHJl aW5pdCkiCiArCiArZ2RiX3Rlc3QgImNvcmUiICJObyBjb3JlIGZpbGUgbm93LiIKK2RpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5waWUvY29yZW1ha2VyLmMgYi9nZGIvdGVzdHN1aXRlL2dk Yi5waWUvY29yZW1ha2VyLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw Li5hN2ZiZDk0MTQxCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5waWUv Y29yZW1ha2VyLmMKK0BAIC0wLDAgKzEsMTQyIEBACisrLyogQ29weXJpZ2h0IDE5OTIsIDE5OTMs IDE5OTQsIDE5OTUsIDE5OTYsIDE5OTkKKysgICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KKysKKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisrCisrICAgVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK KysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAorKyAgIHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisrICAgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisr ICAgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy ZWUgU29mdHdhcmUKKysgICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0 ZSAzMzAsCisrICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuICAqLworKworKy8qIFNpbXBs ZSBsaXR0bGUgcHJvZ3JhbSB0aGF0IGp1c3QgZ2VuZXJhdGVzIGEgY29yZSBkdW1wIGZyb20gaW5z aWRlIHNvbWUKKysgICBuZXN0ZWQgZnVuY3Rpb24gY2FsbHMuICovCisrCisrI2luY2x1ZGUgPHN0 ZGlvLmg+CisrI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorKyNpbmNsdWRlIDxmY250bC5oPgorKyNp bmNsdWRlIDxzeXMvbW1hbi5oPgorKyNpbmNsdWRlIDxzaWduYWwuaD4KKysjaW5jbHVkZSA8c3Rk bGliLmg+CisrI2luY2x1ZGUgPHVuaXN0ZC5oPgorKworKyNpZm5kZWYgX19TVERDX18KKysjZGVm aW5lCWNvbnN0CS8qKi8KKysjZW5kaWYKKysKKysjZGVmaW5lIE1BUFNJWkUgKDggKiAxMDI0KQor KworKy8qIERvbid0IG1ha2UgdGhlc2UgYXV0b21hdGljIHZhcnMgb3Igd2Ugd2lsbCBoYXZlIHRv IHdhbGsgYmFjayB1cCB0aGUKKysgICBzdGFjayB0byBhY2Nlc3MgdGhlbS4gKi8KKysKKytjaGFy ICpidWYxOworK2NoYXIgKmJ1ZjI7CisrCisraW50IGNvcmVtYWtlcl9kYXRhID0gMTsJLyogSW4g RGF0YSBzZWN0aW9uICovCisraW50IGNvcmVtYWtlcl9ic3M7CS8qIEluIEJTUyBzZWN0aW9uICov CisrCisrY29uc3QgaW50IGNvcmVtYWtlcl9ybyA9IDIwMTsJLyogSW4gUmVhZC1Pbmx5IERhdGEg c2VjdGlvbiAqLworKworKy8qIE5vdGUgdGhhdCBpZiB0aGUgbWFwcGluZyBmYWlscyBmb3IgYW55 IHJlYXNvbiwgd2Ugc2V0IGJ1ZjIKKysgICB0byAtMSBhbmQgdGhlIHRlc3RzdWl0ZSBub3RpY2Vz IHRoaXMgYW5kIHJlcG9ydHMgaXQgYXMKKysgICBhIGZhaWx1cmUgZHVlIHRvIGEgbWFwcGluZyBl cnJvci4gIFRoaXMgd2F5IHdlIGRvbid0IGhhdmUKKysgICB0byB0ZXN0IGZvciBzcGVjaWZpYyBl cnJvcnMgd2hlbiBydW5uaW5nIHRoZSBjb3JlIG1ha2VyLiAqLworKworK3ZvaWQKKyttbWFwZGF0 YSAoKQorK3sKKysgIGludCBqLCBmZDsKKysKKysgIC8qIEFsbG9jYXRlIGFuZCBpbml0aWFsaXpl IGEgYnVmZmVyIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHdyaXRlCisrICAgICB0aGUgZmlsZSB0aGF0 IGlzIGxhdGVyIG1hcHBlZCBpbi4gKi8KKysKKysgIGJ1ZjEgPSAoY2hhciAqKSBtYWxsb2MgKE1B UFNJWkUpOworKyAgZm9yIChqID0gMDsgaiA8IE1BUFNJWkU7ICsraikKKysgICAgeworKyAgICAg IGJ1ZjFbal0gPSBqOworKyAgICB9CisrCisrICAvKiBXcml0ZSB0aGUgZmlsZSB0byBtYXAgaW4g Ki8KKysKKysgIGZkID0gb3BlbiAoImNvcmVtbWFwLmRhdGEiLCBPX0NSRUFUIHwgT19SRFdSLCAw NjY2KTsKKysgIGlmIChmZCA9PSAtMSkKKysgICAgeworKyAgICAgIHBlcnJvciAoImNvcmVtbWFw LmRhdGEgb3BlbiBmYWlsZWQiKTsKKysgICAgICBidWYyID0gKGNoYXIgKikgLTE7CisrICAgICAg cmV0dXJuOworKyAgICB9CisrICB3cml0ZSAoZmQsIGJ1ZjEsIE1BUFNJWkUpOworKworKyAgLyog Tm93IG1hcCB0aGUgZmlsZSBpbnRvIG91ciBhZGRyZXNzIHNwYWNlIGFzIGJ1ZjIgKi8KKysKKysg IGJ1ZjIgPSAoY2hhciAqKSBtbWFwICgwLCBNQVBTSVpFLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRF LCBNQVBfUFJJVkFURSwgZmQsIDApOworKyAgaWYgKGJ1ZjIgPT0gKGNoYXIgKikgLTEpCisrICAg IHsKKysgICAgICBwZXJyb3IgKCJtbWFwIGZhaWxlZCIpOworKyAgICAgIHJldHVybjsKKysgICAg fQorKworKyAgLyogVmVyaWZ5IHRoYXQgdGhlIG9yaWdpbmFsIGRhdGEgYW5kIHRoZSBtYXBwZWQg ZGF0YSBhcmUgaWRlbnRpY2FsLgorKyAgICAgSWYgbm90LCB3ZSdkIHJhdGhlciBmYWlsIG5vdyB0 aGFuIHdoZW4gdHJ5aW5nIHRvIGFjY2VzcyB0aGUgbWFwcGVkCisrICAgICBkYXRhIGZyb20gdGhl IGNvcmUgZmlsZS4gKi8KKysKKysgIGZvciAoaiA9IDA7IGogPCBNQVBTSVpFOyArK2opCisrICAg IHsKKysgICAgICBpZiAoYnVmMVtqXSAhPSBidWYyW2pdKQorKwl7CisrCSAgZnByaW50ZiAoc3Rk ZXJyLCAibWFwcGVkIGRhdGEgaXMgaW5jb3JyZWN0Iik7CisrCSAgYnVmMiA9IChjaGFyICopIC0x OworKwkgIHJldHVybjsKKysJfQorKyAgICB9CisrfQorKworK3ZvaWQKKytmdW5jMiAoKQorK3sK KysgIGludCBjb3JlbWFrZXJfbG9jYWxbNV07CisrICBpbnQgaTsKKysKKysjaWZkZWYgU0FfRlVM TERVTVAKKysgIC8qIEZvcmNlIGEgY29yZWZpbGUgdGhhdCBpbmNsdWRlcyB0aGUgZGF0YSBzZWN0 aW9uIGZvciBBSVguICAqLworKyAgeworKyAgICBzdHJ1Y3Qgc2lnYWN0aW9uIHNhOworKworKyAg ICBzaWdhY3Rpb24gKFNJR0FCUlQsIChzdHJ1Y3Qgc2lnYWN0aW9uICopMCwgJnNhKTsKKysgICAg c2Euc2FfZmxhZ3MgfD0gU0FfRlVMTERVTVA7CisrICAgIHNpZ2FjdGlvbiAoU0lHQUJSVCwgJnNh LCAoc3RydWN0IHNpZ2FjdGlvbiAqKTApOworKyAgfQorKyNlbmRpZgorKworKyAgLyogTWFrZSBz dXJlIHRoYXQgY29yZW1ha2VyX2xvY2FsIGRvZXNuJ3QgZ2V0IG9wdGltaXplZCBhd2F5LiAqLwor KyAgZm9yIChpID0gMDsgaSA8IDU7IGkrKykKKysgICAgY29yZW1ha2VyX2xvY2FsW2ldID0gaTsK KysgIGNvcmVtYWtlcl9ic3MgPSAwOworKyAgZm9yIChpID0gMDsgaSA8IDU7IGkrKykKKysgICAg Y29yZW1ha2VyX2JzcyArPSBjb3JlbWFrZXJfbG9jYWxbaV07CisrICBjb3JlbWFrZXJfZGF0YSA9 IGNvcmVtYWtlcl9ybyArIDE7CisrICBhYm9ydCAoKTsKKyt9CisrCisrdm9pZAorK2Z1bmMxICgp CisreworKyAgZnVuYzIgKCk7CisrfQorKworK2ludCBtYWluICgpCisreworKyAgbW1hcGRhdGEg KCk7CisrICBmdW5jMSAoKTsKKysgIHJldHVybiAwOworK30KKysKKy0tIAorMi4xNC4zCisKCmRp ZmYgLS1naXQgYS9nZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaCBiL2dkYi02LjMtdGVz dC1zZWxmLTIwMDUwMTEwLnBhdGNoCmluZGV4IDQ2N2Y4MDQuLjljZmI4OWQgMTAwNjQ0Ci0tLSBh L2dkYi02LjMtdGVzdC1zZWxmLTIwMDUwMTEwLnBhdGNoCisrKyBiL2dkYi02LjMtdGVzdC1zZWxm LTIwMDUwMTEwLnBhdGNoCkBAIC0xLDkgKzEsMTMgQEAKK0Zyb20gN2YzMWI4YzE5NDBjNzNhMmNh ODViYzkyNWQ2YjYxYTEwMTE3Y2QyYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEVs ZW5hIFphbm5vbmkgPGV6YW5ub25pQHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3 IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRj aAogCiBGaWxlTmFtZTogZ2RiLTYuMy10ZXN0LXNlbGYtMjAwNTAxMTAucGF0Y2gKIAorOzsgR2V0 IHNlbGZ0ZXN0IHdvcmtpbmcgd2l0aCBzZXAtZGVidWctaW5mbworOzs9ZmVkb3JhdGVzdAorCiAy MDA0LTAyLTIzICBFbGVuYSBaYW5ub25pICA8ZXphbm5vbmlAcmVkaGF0LmNvbT4KIAogICAgICAg ICAqIGdkYi5nZGIvc2VsZnRlc3QuZXhwOiBNYWtlIHN1cmUgdGhhdCB0aGUgZGVidWcgZGlyZWN0 b3J5IGlzCkBAIC0xMSwxMiArMTUsMTUgQEAgRmlsZU5hbWU6IGdkYi02LjMtdGVzdC1zZWxmLTIw MDUwMTEwLnBhdGNoCiAgICAgICAgICogZ2RiLmdkYi9jb21wbGFpbnRzLmV4cDogRGl0dG8uCiAg ICAgICAgICogZ2RiLmdkYi94ZnVsbHBhdGguZXhwOiBEaXR0by4KICAgICAgICAgKiBnZGIuZ2Ri L29ic2VydmVyLmV4cDogRGl0dG8uCistLS0KKyBnZGIvdGVzdHN1aXRlL2xpYi9zZWxmdGVzdC1z dXBwb3J0LmV4cCB8IDggKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQogCi1JbmRleDogZ2RiLTcuNi45MC4yMDE0MDEyNy9nZGIvdGVzdHN1 aXRlL2xpYi9zZWxmdGVzdC1zdXBwb3J0LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjYuOTAu MjAxNDAxMjcub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9zZWxmdGVzdC1zdXBwb3J0LmV4cAkyMDE0 LTAxLTI3IDIyOjQyOjA0LjAyMjUzNTk2NiArMDEwMAotKysrIGdkYi03LjYuOTAuMjAxNDAxMjcv Z2RiL3Rlc3RzdWl0ZS9saWIvc2VsZnRlc3Qtc3VwcG9ydC5leHAJMjAxNC0wMS0yNyAyMjo0Mjo0 Mi42MzA1NjU2NzUgKzAxMDAKLUBAIC0xMzYsMTggKzEzNiwxOCBAQCBwcm9jIGRvX3NlbGZfdGVz dHMge2Z1bmN0aW9uIGJvZHl9IHsKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9zZWxm dGVzdC1zdXBwb3J0LmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL3NlbGZ0ZXN0LXN1cHBvcnQuZXhw CitpbmRleCA3OThkMTlkZDg5Li5lMjZlMDk1YjE3IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0 ZS9saWIvc2VsZnRlc3Qtc3VwcG9ydC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvbGliL3NlbGZ0 ZXN0LXN1cHBvcnQuZXhwCitAQCAtMTU2LDE4ICsxNTYsMTggQEAgcHJvYyBkb19zZWxmX3Rlc3Rz IHtmdW5jdGlvbiBib2R5fSB7CiAgICAgIH0KICAKICAgICAgIyBSZW1vdmUgYW55IG9sZCBjb3B5 IGx5aW5nIGFyb3VuZC4KQEAgLTM5LDMgKzQ2LDYgQEAgSW5kZXg6IGdkYi03LjYuOTAuMjAxNDAx MjcvZ2RiL3Rlc3RzdWl0ZS9saWIvc2VsZnRlc3Qtc3VwcG9ydC5leHAKICAKICAgICAgaWYgeyRy ZXN1bHQgPCAwfSB0aGVuIHsKICAJd2FybmluZyAiQ291bGRuJ3QgdGVzdCBzZWxmIgorLS0gCisy LjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjMtdGhyZWFkZWQtd2F0Y2hwb2ludHMyLTIwMDUw MjI1LnBhdGNoIGIvZ2RiLTYuMy10aHJlYWRlZC13YXRjaHBvaW50czItMjAwNTAyMjUucGF0Y2gK aW5kZXggZTNhYjk5NS4uMGZmYWFkMyAxMDA2NDQKLS0tIGEvZ2RiLTYuMy10aHJlYWRlZC13YXRj aHBvaW50czItMjAwNTAyMjUucGF0Y2gKKysrIGIvZ2RiLTYuMy10aHJlYWRlZC13YXRjaHBvaW50 czItMjAwNTAyMjUucGF0Y2gKQEAgLTEsOSArMSwxMyBAQAorRnJvbSBhYTJiODY1NjAwNGIyOGY4 ZTI3NDk2N2IyZTA3YjdhYzlkYTQxOTE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTog SmVmZiBKb2huc3RvbiA8ampvaG5zdG5AcmVkaGF0LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIw MTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjMtdGhyZWFkZWQtd2F0Y2hwb2ludHMy LTIwMDUwMjI1LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi4zLXRocmVhZGVkLXdhdGNocG9pbnRz Mi0yMDA1MDIyNS5wYXRjaAogCis7OyBUZXN0IHNpYmxpbmcgdGhyZWFkcyB0byBzZXQgdGhyZWFk ZWQgd2F0Y2hwb2ludHMgZm9yIHg4NiBhbmQgeDg2LTY0Cis7Oz1mZWRvcmF0ZXN0CisKIDIwMDUt MDItMjggIEplZmYgSm9obnN0b24gIDxqam9obnN0bkByZWRoYXQuY29tPgogCiAJKiBjb25maWcv aTM4Ni9ubS1saW51eC5oOiBDaGFuZ2UgZHIgcmVnaXN0ZXIgcm91dGluZXMgdG8KQEAgLTQ3LDEx ICs1MSwxOCBAQCBGaWxlTmFtZTogZ2RiLTYuMy10aHJlYWRlZC13YXRjaHBvaW50czItMjAwNTAy MjUucGF0Y2gKICAgdGVzdGNhc2Ugb2YgdGhlIHNhbWUgbmFtZS4gIF0KIAogRklYTUU6IFRoZSB0 ZXN0Y2FzZSBkb2VzIG5vdCBleHBlY3RzIG11bHRpcGxlIHdhdGNocG9pbnRzIGhpdHMgcGVyIG9u ZSBzdG9wLgorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHRocmVhZHMtdGhy ZWFkZWQuYyAgfCAgNjYgKysrKysrKysrKysKKyAuLi4vZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRz LXRocmVhZGVkLmV4cCAgICAgICAgICB8IDEyNiArKysrKysrKysrKysrKysrKysrKysKKyAyIGZp bGVzIGNoYW5nZWQsIDE5MiBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90 ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVkLmMKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHRocmVhZHMtdGhyZWFkZWQu ZXhwCiAKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJl YWRzL3dhdGNodGhyZWFkcy10aHJlYWRlZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5 NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAy MTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHRocmVhZHMtdGhyZWFkZWQuYwkyMDE2 LTAyLTE1IDIzOjM3OjM5Ljc2NjczNDU0MSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVkLmMgYi9nZGIvdGVzdHN1aXRlL2dk Yi50aHJlYWRzL3dhdGNodGhyZWFkcy10aHJlYWRlZC5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMDAwMC4uMTQwMjY0MGNjZgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHRocmVhZHMtdGhyZWFkZWQuYwogQEAgLTAsMCArMSw2 NiBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIu CiArCkBAIC0xMTksMTAgKzEzMCwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHRocmVhZHMtdGhyZWFkZWQuYwogKyAgICBwdGhy ZWFkX2V4aXQoTlVMTCk7CiArfQogKwotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90 ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVkLmV4cAotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJl YWRzLXRocmVhZGVkLmV4cAkyMDE2LTAyLTE1IDIzOjQwOjMyLjQ4NDk2MDg1OCArMDEwMAorZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVk LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRzLXRocmVhZGVkLmV4 cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmU5Y2RkNTk3NzEKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJlYWRz LXRocmVhZGVkLmV4cAogQEAgLTAsMCArMSwxMjYgQEAKICsjIFRoaXMgdGVzdGNhc2UgaXMgcGFy dCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0yNTAsMyArMjYyLDYgQEAgSW5kZXg6 IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2h0aHJl YWRzLXRocmVhZGVkLmV4cAogK30gZWxzZSB7CiArICBmYWlsICRtZXNzYWdlIAogK30KKy0tIAor Mi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi41LUJFQS10ZXN0c3VpdGUucGF0Y2ggYi9nZGIt Ni41LUJFQS10ZXN0c3VpdGUucGF0Y2gKaW5kZXggZDNhNWFkYS4uYTM5MTYzOSAxMDA2NDQKLS0t IGEvZ2RiLTYuNS1CRUEtdGVzdHN1aXRlLnBhdGNoCisrKyBiL2dkYi02LjUtQkVBLXRlc3RzdWl0 ZS5wYXRjaApAQCAtMSwxMyArMSwyOCBAQAorRnJvbSAyYjFmYjllZDE3MDJkNjljODk3YTA1OWY4 ZTVmZGJkZWJjZTg1MzNiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdE QiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6 MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjUtQkVBLXRlc3RzdWl0ZS5wYXRjaAogCiBGaWxl TmFtZTogZ2RiLTYuNS1CRUEtdGVzdHN1aXRlLnBhdGNoCiAKLUluZGV4OiBnZGItNy4xMC45MC4y MDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLmMKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsr KyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNy YXNoLmMJMjAxNi0wMi0xNSAyMzozNzozOS44ODQ3MzUzNzkgKzAxMDAKKzs7IEltcHJvdmVkIHRl c3RzdWl0ZSByZXN1bHRzIGJ5IHRoZSB0ZXN0c3VpdGUgcHJvdmlkZWQgYnkgdGhlIGNvdXJ0ZXN5 IG9mIEJFQS4KKzs7PWZlZG9yYXRlc3Q6IEZvciB1cHN0cmVhbSBpdCBzaG91bGQgYmUgcmV3cml0 dGVuIGFzIGEgZGVqYWdudSB0ZXN0LCB0aGUgdGVzdCBvZiBubyAiPz8iIHdhcyB1c2VmdWwuCist LS0KKyBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLmMgICAgICAgfCAzMDEg KysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJl YWRjcmFzaC5leHAgICAgIHwgIDM3ICsrKworIGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhy ZWFkY3Jhc2guc2ggICAgICB8IDMyNCArKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90 ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2guc2gtb3JpZyB8IDI0OCArKysrKysrKysr KysrKysrKysrKworIDQgZmlsZXMgY2hhbmdlZCwgOTEwIGluc2VydGlvbnMoKykKKyBjcmVhdGUg bW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRjcmFzaC5jCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2guZXhw CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jh c2guc2gKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJl YWRjcmFzaC5zaC1vcmlnCisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRz L3RocmVhZGNyYXNoLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLmMK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi44MGM1OTlkMGZiCistLS0g L2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLmMK IEBAIC0wLDAgKzEsMzAxIEBACiArLyoKICsgKiBUaGUgcG9pbnQgb2YgdGhpcyBwcm9ncmFtIGlz IHRvIGNyYXNoIGluIGEgbXVsdGktdGhyZWFkZWQgYXBwLgpAQCAtMzEwLDEwICszMjUsMTEgQEAg SW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhy ZWFkY3Jhc2guYwogKyAgIAogKyAgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4xMC45MC4y MDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLmV4cAotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFk Y3Jhc2guZXhwCTIwMTYtMDItMTUgMjM6Mzg6NTguNDg2MjkzNDU4ICswMTAwCitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRjcmFzaC5leHAgYi9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLmFmNmI5MTlmNTgKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2guZXhwCiBAQCAtMCwwICsxLDM3IEBACiArIyB0 aHJlYWRjcmFzaC5leHAgLSBUaGUgcG9pbnQgb2YgdGhpcyBwcm9ncmFtIGlzIHRvIGNyYXNoIGlu IGEgbXVsdGktdGhyZWFkZWQgYXBwLgogKwpAQCAtMzUyLDEwICszNjgsMTEgQEAgSW5kZXg6IGdk Yi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2gu ZXhwCiArfQogKwogK3JldHVybiAwCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rl c3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRjcmFzaC5zaAotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkw LjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkY3Jhc2guc2gJMjAxNi0w Mi0xNSAyMzozNzozOS44ODU3MzUzODYgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLnNoIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90 aHJlYWRjcmFzaC5zaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjdm N2U2NTIwZDYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv dGhyZWFkY3Jhc2guc2gKIEBAIC0wLDAgKzEsMzI0IEBACiArIyEgL2Jpbi9iYXNoCiArCkBAIC02 ODEsMTAgKzY5OCwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0 ZS9nZGIudGhyZWFkcy90aHJlYWRjcmFzaC5zaAogK3JtIC1yZiAkV09SS0RJUgogKwogK2V4aXQg JEZBSUxVUkVTCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIu dGhyZWFkcy90aHJlYWRjcmFzaC5zaC1vcmlnCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5 NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAy MTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRjcmFzaC5zaC1vcmlnCTIwMTYtMDIt MTUgMjM6Mzc6MzkuODg1NzM1Mzg2ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy90aHJlYWRjcmFzaC5zaC1vcmlnIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFk cy90aHJlYWRjcmFzaC5zaC1vcmlnCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MDAwMC4uZWI2MDIwMzZjMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu dGhyZWFkcy90aHJlYWRjcmFzaC5zaC1vcmlnCiBAQCAtMCwwICsxLDI0OCBAQAogKyMhIC9iaW4v YmFzaAogKwpAQCAtOTM0LDMgKzk1Miw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGNyYXNoLnNoLW9yaWcKICtybSAtcmYgJFdP UktESVIKICsKICtleGl0ICRGQUlMVVJFUworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dk Yi02LjUtYnoxMDk5MjEtRFdfQVRfZGVjbF9maWxlLXRlc3QucGF0Y2ggYi9nZGItNi41LWJ6MTA5 OTIxLURXX0FUX2RlY2xfZmlsZS10ZXN0LnBhdGNoCmluZGV4IGIyMGQzYzUuLmI0MzkzYmUgMTAw NjQ0Ci0tLSBhL2dkYi02LjUtYnoxMDk5MjEtRFdfQVRfZGVjbF9maWxlLXRlc3QucGF0Y2gKKysr IGIvZ2RiLTYuNS1iejEwOTkyMS1EV19BVF9kZWNsX2ZpbGUtdGVzdC5wYXRjaApAQCAtMSw5ICsx LDEyIEBACitGcm9tIGQzZmNmODJhNjJkODIwZjI1YjQyMzk4YTRmNjYyM2M3YWQ3ZWE0ZDEgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2 aWxAcmVkaGF0LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1 YmplY3Q6IGdkYi02LjUtYnoxMDk5MjEtRFdfQVRfZGVjbF9maWxlLXRlc3QucGF0Y2gKIAogRmls ZU5hbWU6IGdkYi02LjUtYnoxMDk5MjEtRFdfQVRfZGVjbF9maWxlLXRlc3QucGF0Y2gKIAorOzsg RmluZCBzeW1ib2xzIHByb3Blcmx5IGF0IHRoZWlyIG9yaWdpbmFsIChpbmNsdWRlZCkgZmlsZSAo QlogMTA5OTIxKS4KKzs7PWZlZG9yYXRlc3QKIAogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29t L2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMDk5MjEKIApAQCAtMjIsMTEgKzI1LDIwIEBAIGh0 dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDA3LTAxL21zZzAwNDM0Lmh0bWwK IAogCSogZ2RiLmR3YXJmMi9kdzItaW5jbHVkZWQuZXhwLCBnZGIuZHdhcmYyL2R3Mi1pbmNsdWRl ZC5jLAogCWdkYi5kd2FyZjIvZHcyLWluY2x1ZGVkLmg6IE5ldyBmaWxlcy4KKy0tLQorIGdkYi90 ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItaW5jbHVkZWQuYyAgIHwgMjYgKysrKysrKysrKysrKysr KysKKyBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWluY2x1ZGVkLmV4cCB8IDQ3ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcy LWluY2x1ZGVkLmggICB8IDIwICsrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDkzIGlu c2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1pbmNsdWRlZC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItaW5jbHVkZWQuZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItaW5jbHVkZWQuaAogCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRlZC5jCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu MTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRlZC5jCTIw MTYtMDItMTYgMDk6NTI6MjkuODYxMjQ3NTM0ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRlZC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1pbmNsdWRlZC5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4u MjhlNTRmYjkzMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1pbmNsdWRlZC5jCiBAQCAtMCwwICsxLDI2IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBw YXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTU0LDEwICs2NiwxMSBAQCBJbmRl eDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1pbmNs dWRlZC5jCiArewogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjEx L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItaW5jbHVkZWQuZXhwCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRlZC5l eHAJMjAxNi0wMi0xNiAwOTo1MjozNi40ODEyOTIzMzAgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWluY2x1ZGVkLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmR3YXJmMi9kdzItaW5jbHVkZWQuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMDAwMC4uOWFhZjhlOTc3MgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2R3Mi1pbmNsdWRlZC5leHAKIEBAIC0wLDAgKzEsNDcgQEAKICsjIENvcHlyaWdo dCAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTA2LDEwICsxMTks MTEgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItaW5jbHVkZWQuZXhwCiArZ2RiX3Rlc3QgInB0eXBlIGludGVnZXIiICJ0eXBlID0gaW50 XHIiCiArIyBQYXRoIHZhcmllcyBkZXBlbmRpbmcgb24gdGhlIGJ1aWxkIGxvY2F0aW9uLgogK2dk Yl90ZXN0ICJpbmZvIHZhcmlhYmxlcyBpbnRlZ2VyIiAiXHJcbkZpbGUgXFteXHJcblxdKi9nZGIu ZHdhcmYyL2R3Mi1pbmNsdWRlZC5oOlxyXG5pbnQgaW50ZWdlcjtcciIKLUluZGV4OiBnZGItNy4x MC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWluY2x1ZGVkLmgKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcy LWluY2x1ZGVkLmgJMjAxNi0wMi0xNiAwOTo1MjoyOS44NjIyNDc1NDEgKzAxMDAKK2RpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWluY2x1ZGVkLmggYi9nZGIvdGVzdHN1 aXRlL2dkYi5kd2FyZjIvZHcyLWluY2x1ZGVkLmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwMDAwLi5mMzEzNDhhYjRmCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5kd2FyZjIvZHcyLWluY2x1ZGVkLmgKIEBAIC0wLDAgKzEsMjAgQEAKICsvKiBUaGlz IHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTMxLDMg KzE0NSw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5k d2FyZjIvZHcyLWluY2x1ZGVkLmgKICsgICBVU0EuICAqLwogKwogK2ludCBpbnRlZ2VyOworLS0g CisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0 aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2ggYi9nZGItNi41LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdp dGhvdXQtZGVidWdpbmZvLXYyLnBhdGNoCmluZGV4IDFkZmFlZDEuLmRmNmFmODYgMTAwNjQ0Ci0t LSBhL2dkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1Z2luZm8tdjIucGF0 Y2gKKysrIGIvZ2RiLTYuNS1iejE4NTMzNy1yZXNvbHZlLXRscy13aXRob3V0LWRlYnVnaW5mby12 Mi5wYXRjaApAQCAtMSw5ICsxLDEzIEBACitGcm9tIDU5OWJlNTg3YmI1ZWVkOGE4YzM5MDhmNTJk NzVjMWU5MzU0M2VlNWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKYW4gS3JhdG9j aHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcg MjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0 aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjUtYnoxODUzMzctcmVz b2x2ZS10bHMtd2l0aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKIAorOzsgU3VwcG9ydCBUTFMgc3lt Ym9scyAoK2BlcnJubycgc3VnZ2VzdGlvbiBpZiBubyBwdGhyZWFkIGlzIGZvdW5kKSAoQlogMTg1 MzM3KS4KKzs7PXB1c2gramFuOiBJdCBzaG91bGQgYmUgcmVwbGFjZWQgYnkgSW5maW5pdHkgcHJv amVjdC4KKwogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNn aT9pZD0xODUzMzcKIAogMjAwOC0wMi0yNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZp bEByZWRoYXQuY29tPgpAQCAtMzAsNyArMzQsNiBAQCBjYWxsIGludmFsaWRhdGVzIGBzdHJ1Y3Qg ZnJhbWUgKicgaW4gdGhlIGNhbGxlcnMgLSBSSCBCWiA2OTA5MDguCiAKIGh0dHBzOi8vYnVnemls bGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTE2NjU0OQogCi0KIDIwMDctMTEtMDMgIEph biBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIAogCSogLi9nZGIvZHdh cmYycmVhZC5jIChyZWFkX3BhcnRpYWxfZGllLCBkd2FyZjJfbGlua2FnZV9uYW1lKTogUHJlZmVy CkBAIC0zOSwxMiArNDIsMjMgQEAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVn LmNnaT9pZD0xMTY2NTQ5CiBnbGliYy1kZWJ1Z2luZm8tMi43LTIueDg2XzY0OiAvdXNyL2xpYi9k ZWJ1Zy9saWI2NC9saWJjLnNvLjYuZGVidWc6CiAgIDw4MWEyPiAgICAgRFdfQVRfbmFtZSAgICAg ICAgOiAoaW5kaXJlY3Qgc3RyaW5nLCBvZmZzZXQ6IDB4MjgwZSk6IF9fZXJybm9fbG9jYXRpb24K ICAgPDgxYTg+ICAgICBEV19BVF9NSVBTX2xpbmthZ2VfbmFtZTogKGluZGlyZWN0IHN0cmluZywg b2Zmc2V0OiAweDI4MDgpOiAqX19HSV9fX2Vycm5vX2xvY2F0aW9uCistLS0KKyBnZGIvcHJpbnRj bWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKworIGdkYi90ZXN0c3VpdGUvZ2Ri LmR3YXJmMi9kdzItZXJybm8uYyAgICB8IDI4ICsrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvZHcyLWVycm5vLmV4cCAgfCA2MCArKysrKysrKysrKysrKysrKysrKysrKysr KysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1lcnJubzIuYyAgIHwgMjggKysrKysr KysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8yLmV4cCB8IDcxICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDUgZmlsZXMgY2hhbmdlZCwgMTkxIGlu c2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1lcnJuby5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItZXJybm8uZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItZXJybm8yLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1lcnJubzIuZXhwCiAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv cHJpbnRjbWQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2Ri L3ByaW50Y21kLmMJMjAxNy0wMi0wNyAyMTowNjoyMC4xOTY1OTM4ODQgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDIwNy9nZGIvcHJpbnRjbWQuYwkyMDE3LTAyLTA3IDIxOjA3OjEwLjIzMDk3 MzkwNiArMDEwMAotQEAgLTEyNTgsNiArMTI1OCwxMCBAQAorZGlmZiAtLWdpdCBhL2dkYi9wcmlu dGNtZC5jIGIvZ2RiL3ByaW50Y21kLmMKK2luZGV4IDIwZTViZGExMWUuLjM4NjQyNjQxYjkgMTAw NjQ0CistLS0gYS9nZGIvcHJpbnRjbWQuYworKysrIGIvZ2RiL3ByaW50Y21kLmMKK0BAIC0xMjEw LDYgKzEyMTAsMTAgQEAgcHJpbnRfY29tbWFuZF8xIChjb25zdCBjaGFyICpleHAsIGludCB2b2lk cHJpbnQpCiAgCiAgICBpZiAoZXhwICYmICpleHApCiAgICAgIHsKQEAgLTU1LDEwICs2OSwxMSBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3ByaW50Y21kLmMKICAgICAgICBleHBy ZXNzaW9uX3VwIGV4cHIgPSBwYXJzZV9leHByZXNzaW9uIChleHApOwogICAgICAgIHZhbCA9IGV2 YWx1YXRlX2V4cHJlc3Npb24gKGV4cHIuZ2V0ICgpKTsKICAgICAgfQotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8uYwotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJy bm8uYwkyMDE3LTAyLTA3IDIxOjA2OjIwLjE5NjU5Mzg4NCArMDEwMAorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8uYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItZXJybm8uYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAu LjdiZDEwZDA5NzgKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItZXJybm8uYwogQEAgLTAsMCArMSwyOCBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFy dCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC04OCwxMCArMTAzLDExIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5v LmMKICsKICsgIHJldHVybiAwOwkvKiBicmVha3BvaW50ICovCiArfQotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8uZXhwCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1l cnJuby5leHAJMjAxNy0wMi0wNyAyMTowNjoyMC4xOTY1OTM4ODQgKzAxMDAKK2RpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItZXJybm8uZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMDAwMC4uMWYxM2NjMTMyMworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2R3Mi1lcnJuby5leHAKIEBAIC0wLDAgKzEsNjAgQEAKICsjIENvcHlyaWdodCAy MDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTUzLDEwICsxNjksMTEg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItZXJybm8uZXhwCiArCiArIyBUT0RPOiBUZXN0IHRoZSBlcnJvciBvbiByZXNvbHZpbmcgRVJS Tk8gd2l0aCBvbmx5IGxpYmMgbG9hZGVkLgogKyMgSnVzdCBob3cgdG8gZmluZCB0aGUgY3VycmVu dCBsaWJjIGZpbGVuYW1lPwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3Vp dGUvZ2RiLmR3YXJmMi9kdzItZXJybm8yLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5jCTIwMTctMDItMDcgMjE6MDY6 MjAuMTk2NTkzODg0ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1lcnJubzIuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItZXJybm8yLmMKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi43YmQxMGQwOTc4CistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5jCiBAQCAt MCwwICsxLDI4IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBk ZWJ1Z2dlci4KICsKQEAgLTE4NiwxMCArMjAzLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5jCiArCiArICByZXR1cm4g MDsJLyogYnJlYWtwb2ludCAqLwogK30KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv dGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5leHAKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5leHAJMjAxNy0w Mi0wNyAyMTowNjoyMC4xOTc1OTM4OTIgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvZHcyLWVycm5vMi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcy LWVycm5vMi5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4wZjZl NjY4NzBiCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcy LWVycm5vMi5leHAKIEBAIC0wLDAgKzEsNzEgQEAKICsjIENvcHlyaWdodCAyMDA3IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMjMxLDcgKzI0OSw3IEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vMi5leHAK ICsgICAgaWYgJGRvX3hmYWlsIHsKICsJc2V0dXBfeGZhaWwgIiotKi0qIgogKyAgICB9Ci0rICAg IGdkYl90ZXN0ICJwcmludCBlcnJubyIgIi4qID0gNDIiICJwcmludCBlcnJubyBmb3IgY29yZSIK KysgICAgZ2RiX3Rlc3QgInByaW50IChpbnQpIGVycm5vIiAiLiogPSA0MiIgInByaW50IGVycm5v IGZvciBjb3JlIgogK319CiArCiArc2V0IHZhcmlhbnQgZzJ0aHJOCkBAIC0yNjIsMyArMjgwLDYg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItZXJybm8yLmV4cAogKwogKyMgVE9ETzogVGVzdCB0aGUgZXJyb3Igb24gcmVzb2x2aW5nIEVS Uk5PIHdpdGggb25seSBsaWJjIGxvYWRlZC4KICsjIEp1c3QgaG93IHRvIGZpbmQgdGhlIGN1cnJl bnQgbGliYyBmaWxlbmFtZT8KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi41LWJ6 MjAzNjYxLWVtaXQtcmVsb2NzLnBhdGNoIGIvZ2RiLTYuNS1iejIwMzY2MS1lbWl0LXJlbG9jcy5w YXRjaAppbmRleCBkZWYwODFhLi4xYzgxNjk4IDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MjAzNjYx LWVtaXQtcmVsb2NzLnBhdGNoCisrKyBiL2dkYi02LjUtYnoyMDM2NjEtZW1pdC1yZWxvY3MucGF0 Y2gKQEAgLTEsMTQgKzEsMjEgQEAKK0Zyb20gZTQxMTBkNDBiODBiZjM3NTk1YzlmMTg5YWY3M2Q2 ZGVkYjExMzI1OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0 Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUw ICswMjAwCiBTdWJqZWN0OiBnZGItNi41LWJ6MjAzNjYxLWVtaXQtcmVsb2NzLnBhdGNoCiAKIEZp bGVOYW1lOiBnZGItNi41LWJ6MjAzNjYxLWVtaXQtcmVsb2NzLnBhdGNoCiAKLUluZGV4OiBnZGIt Ny40LjUwLjIwMTIwNjAyL2dkYi9zeW1maWxlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUw LjIwMTIwNjAyLm9yaWcvZ2RiL3N5bWZpbGUuYwkyMDEyLTA2LTAyIDE4OjI1OjIwLjAwMDAwMDAw MCArMDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL3N5bWZpbGUuYwkyMDEyLTA2LTAy IDE4OjI2OjM2LjE0NTIzMjA1NyArMDIwMAotQEAgLTM2MzAsNiArMzYzMCwxMiBAQCBkZWZhdWx0 X3N5bWZpbGVfcmVsb2NhdGUgKHN0cnVjdCBvYmpmaWxlCis7OyBGaXggZGVidWdpbmZvIGFkZHJl c3NlcyByZXNvbHZpbmcgZm9yIC0tZW1pdC1yZWxvY3MgTGludXgga2VybmVscyAoQlogMjAzNjYx KS4KKzs7PXB1c2gramFuOiBUaGVyZSB3YXMgc29tZSBtYWlsIHRocmVhZCBhYm91dCBpdCwgdGhp cyBwYXRjaCBtYXkgYmUgYSBoYWNrLgorLS0tCisgZ2RiL3N5bWZpbGUuYyB8IDYgKysrKysrCisg MSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZ2RiL3N5bWZp bGUuYyBiL2dkYi9zeW1maWxlLmMKK2luZGV4IDhmNDVkNDVkODUuLjM3YTMxOTUwYTIgMTAwNjQ0 CistLS0gYS9nZGIvc3ltZmlsZS5jCisrKysgYi9nZGIvc3ltZmlsZS5jCitAQCAtMzYzNCw2ICsz NjM0LDEyIEBAIGRlZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSAoc3RydWN0IG9iamZpbGUgKm9iamZp bGUsIGFzZWN0aW9uICpzZWN0cCwKICAgICAgIERXTyBmaWxlLiAgKi8KICAgIGJmZCAqYWJmZCA9 IHNlY3RwLT5vd25lcjsKICAKQEAgLTIxLDMgKzI4LDYgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAx MjA2MDIvZ2RiL3N5bWZpbGUuYwogICAgLyogV2UncmUgb25seSBpbnRlcmVzdGVkIGluIHNlY3Rp b25zIHdpdGggcmVsb2NhdGlvbgogICAgICAgaW5mb3JtYXRpb24uICAqLwogICAgaWYgKChzZWN0 cC0+ZmxhZ3MgJiBTRUNfUkVMT0MpID09IDApCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEv Z2RiLTYuNS1iejIxNjcxMS1jbG9uZS1pcy1vdXRlcm1vc3QucGF0Y2ggYi9nZGItNi41LWJ6MjE2 NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaAppbmRleCBjYzYzZjZlLi5hZGNlZjIwIDEwMDY0 NAotLS0gYS9nZGItNi41LWJ6MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaAorKysgYi9n ZGItNi41LWJ6MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaApAQCAtMSw5ICsxLDEyIEBA CitGcm9tIGMwZjc1ODQzYWM3YjMxMWJjOGUwZmFlZjFkN2QzZDVlMmU1NDlkZjMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCiBGcm9tOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6 IGdkYi02LjUtYnoyMTY3MTEtY2xvbmUtaXMtb3V0ZXJtb3N0LnBhdGNoCiAKIEZpbGVOYW1lOiBn ZGItNi41LWJ6MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaAogCis7OyBGaXggYm9ndXMg MHgwIHVud2luZCBvZiB0aGUgdGhyZWFkJ3MgdG9wbW9zdCBmdW5jdGlvbiBjbG9uZSgzKSAoQlog MjE2NzExKS4KKzs7PWZlZG9yYQogCiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYnVnemls bGEvc2hvd19idWcuY2dpP2lkPTIxNjcxMQogCkBAIC0yOSwxMiArMzIsMjIgQEAgaW5zdGVhZC4K IDIwMDctMTAtMTYgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4K IAogCVBvcnQgdG8gR0RCLTYuNy4KKy0tLQorIGdkYi9hbWQ2NC1saW51eC10ZGVwLmMgICAgICAg ICAgICAgICAgICAgICAgfCA3NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi9h bWQ2NC10ZGVwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKworIGdkYi9p Mzg2LXRkZXAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKworIGdkYi9pMzg2 LXRkZXAuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKworIGdkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvYnQtY2xvbmUtc3RvcC5jICAgfCAzOSArKysrKysrKysrKysrKysKKyBn ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2J0LWNsb25lLXN0b3AuZXhwIHwgNjEgKysrKysrKysr KysrKysrKysrKysrKysKKyA2IGZpbGVzIGNoYW5nZWQsIDE5MyBpbnNlcnRpb25zKCspCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYnQtY2xvbmUtc3RvcC5j CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYnQtY2xvbmUt c3RvcC5leHAKIAotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi9hbWQ2NC1saW51eC10 ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC45MC4yMDE2MDIxMS5vcmlnL2dkYi9hbWQ2 NC1saW51eC10ZGVwLmMJMjAxNi0wMi0xNSAyMzozNzowNi45MzY1MDE0NDMgKzAxMDAKLSsrKyBn ZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvYW1kNjQtbGludXgtdGRlcC5jCTIwMTYtMDItMTUgMjM6 Mzc6MzkuOTI4NzM1NjkxICswMTAwCi1AQCAtMjkyLDYgKzI5Miw4MCBAQAorZGlmZiAtLWdpdCBh L2dkYi9hbWQ2NC1saW51eC10ZGVwLmMgYi9nZGIvYW1kNjQtbGludXgtdGRlcC5jCitpbmRleCA4 N2YwOWE0NTQyLi4yYTcwNWVhNDFhIDEwMDY0NAorLS0tIGEvZ2RiL2FtZDY0LWxpbnV4LXRkZXAu YworKysrIGIvZ2RiL2FtZDY0LWxpbnV4LXRkZXAuYworQEAgLTI5MSw2ICsyOTEsODAgQEAgYW1k NjRfbGludXhfcmVnaXN0ZXJfcmVnZ3JvdXBfcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGlu dCByZWdudW0sCiAgCiAgLyogU2V0IHRoZSBwcm9ncmFtIGNvdW50ZXIgZm9yIHByb2Nlc3MgUFRJ RCB0byBQQy4gICovCiAgCkBAIC0xMTUsNyArMTI4LDcgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIw MTYwMjExL2dkYi9hbWQ2NC1saW51eC10ZGVwLmMKICBzdGF0aWMgdm9pZAogIGFtZDY0X2xpbnV4 X3dyaXRlX3BjIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBDT1JFX0FERFIgcGMpCiAgewot QEAgLTE4MDAsNiArMTg3NCw4IEBACitAQCAtMTgwMiw2ICsxODc2LDggQEAgYW1kNjRfbGludXhf aW5pdF9hYmlfY29tbW9uKHN0cnVjdCBnZGJhcmNoX2luZm8gaW5mbywgc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gpCiAgCiAgICB0ZGVwLT54c2F2ZV94Y3IwX29mZnNldCA9IEkzODZfTElOVVhfWFNB VkVfWENSMF9PRkZTRVQ7CiAgCkBAIC0xMjQsMTEgKzEzNywxMSBAQCBJbmRleDogZ2RiLTcuMTAu OTAuMjAxNjAyMTEvZ2RiL2FtZDY0LWxpbnV4LXRkZXAuYwogICAgLyogQWRkIHRoZSAlb3JpZ19y YXggcmVnaXN0ZXIgdXNlZCBmb3Igc3lzY2FsbCByZXN0YXJ0aW5nLiAgKi8KICAgIHNldF9nZGJh cmNoX3dyaXRlX3BjIChnZGJhcmNoLCBhbWQ2NF9saW51eF93cml0ZV9wYyk7CiAgCi1JbmRleDog Z2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL2FtZDY0LXRkZXAuYwotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjEwLjkwLjIwMTYwMjExLm9yaWcvZ2RiL2FtZDY0LXRkZXAuYwkyMDE2LTAyLTE1IDIzOjM3 OjA2LjkzNjUwMTQ0MyArMDEwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi9hbWQ2NC10 ZGVwLmMJMjAxNi0wMi0xNSAyMzozNzozOS45Mjk3MzU2OTggKzAxMDAKLUBAIC0yNDk0LDYgKzI0 OTQsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9hbWQ2NC10ZGVwLmMgYi9nZGIvYW1kNjQtdGRlcC5j CitpbmRleCBiY2QzN2VmMDQ4Li44MWZiZTUyNzk1IDEwMDY0NAorLS0tIGEvZ2RiL2FtZDY0LXRk ZXAuYworKysrIGIvZ2RiL2FtZDY0LXRkZXAuYworQEAgLTI1NTUsNiArMjU1NSw3IEBAIGFtZDY0 X2ZyYW1lX3Vud2luZF9zdG9wX3JlYXNvbiAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUs CiAgewogICAgc3RydWN0IGFtZDY0X2ZyYW1lX2NhY2hlICpjYWNoZSA9CiAgICAgIGFtZDY0X2Zy YW1lX2NhY2hlICh0aGlzX2ZyYW1lLCB0aGlzX2NhY2hlKTsKQEAgLTEzNiw3ICsxNDksNyBAQCBJ bmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL2FtZDY0LXRkZXAuYwogIAogICAgaWYgKCFj YWNoZS0+YmFzZV9wKQogICAgICByZXR1cm4gVU5XSU5EX1VOQVZBSUxBQkxFOwotQEAgLTI1MDIs NiArMjUwMywxMCBAQAorQEAgLTI1NjMsNiArMjU2NCwxMCBAQCBhbWQ2NF9mcmFtZV91bndpbmRf c3RvcF9yZWFzb24gKHN0cnVjdCBmcmFtZV9pbmZvICp0aGlzX2ZyYW1lLAogICAgaWYgKGNhY2hl LT5iYXNlID09IDApCiAgICAgIHJldHVybiBVTldJTkRfT1VURVJNT1NUOwogIApAQCAtMTQ3LDcg KzE2MCw3IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvYW1kNjQtdGRlcC5jCiAg ICByZXR1cm4gVU5XSU5EX05PX1JFQVNPTjsKICB9CiAgCi1AQCAtMjYzNiw2ICsyNjQxLDcgQEAK K0BAIC0yNjk3LDYgKzI3MDIsNyBAQCBhbWQ2NF9zaWd0cmFtcF9mcmFtZV90aGlzX2lkIChzdHJ1 Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSwKICB7CiAgICBzdHJ1Y3QgYW1kNjRfZnJhbWVfY2Fj aGUgKmNhY2hlID0KICAgICAgYW1kNjRfc2lndHJhbXBfZnJhbWVfY2FjaGUgKHRoaXNfZnJhbWUs IHRoaXNfY2FjaGUpOwpAQCAtMTU1LDcgKzE2OCw3IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2 MDIxMS9nZGIvYW1kNjQtdGRlcC5jCiAgCiAgICBpZiAoIWNhY2hlLT5iYXNlX3ApCiAgICAgICgq dGhpc19pZCkgPSBmcmFtZV9pZF9idWlsZF91bmF2YWlsYWJsZV9zdGFjayAoZ2V0X2ZyYW1lX3Bj ICh0aGlzX2ZyYW1lKSk7Ci1AQCAtMjY0NCw2ICsyNjUwLDExIEBACitAQCAtMjcwNSw2ICsyNzEx LDExIEBAIGFtZDY0X3NpZ3RyYW1wX2ZyYW1lX3RoaXNfaWQgKHN0cnVjdCBmcmFtZV9pbmZvICp0 aGlzX2ZyYW1lLAogICAgICAgIC8qIFRoaXMgbWFya3MgdGhlIG91dGVybW9zdCBmcmFtZS4gICov CiAgICAgICAgcmV0dXJuOwogICAgICB9CkBAIC0xNjcsMTEgKzE4MCwxMSBAQCBJbmRleDogZ2Ri LTcuMTAuOTAuMjAxNjAyMTEvZ2RiL2FtZDY0LXRkZXAuYwogICAgZWxzZQogICAgICAoKnRoaXNf aWQpID0gZnJhbWVfaWRfYnVpbGQgKGNhY2hlLT5iYXNlICsgMTYsIGdldF9mcmFtZV9wYyAodGhp c19mcmFtZSkpOwogIH0KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvaTM4Ni10ZGVw LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC45MC4yMDE2MDIxMS5vcmlnL2dkYi9pMzg2LXRk ZXAuYwkyMDE2LTAyLTE1IDIzOjM3OjA2LjkzNjUwMTQ0MyArMDEwMAotKysrIGdkYi03LjEwLjkw LjIwMTYwMjExL2dkYi9pMzg2LXRkZXAuYwkyMDE2LTAyLTE1IDIzOjM3OjM5LjkzMTczNTcxMyAr MDEwMAotQEAgLTgzMDUsNiArODMwNSw5IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2kzODYtdGRlcC5j IGIvZ2RiL2kzODYtdGRlcC5jCitpbmRleCA4MTA0ODA4MWFkLi4yOTBiMWM4MzY4IDEwMDY0NAor LS0tIGEvZ2RiL2kzODYtdGRlcC5jCisrKysgYi9nZGIvaTM4Ni10ZGVwLmMKK0BAIC04NDAxLDYg Kzg0MDEsOSBAQCBpMzg2X2dkYmFyY2hfaW5pdCAoc3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLCBz dHJ1Y3QgZ2RiYXJjaF9saXN0ICphcmNoZXMpCiAgCiAgICB0ZGVwLT54c2F2ZV94Y3IwX29mZnNl dCA9IC0xOwogIApAQCAtMTgxLDExICsxOTQsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYw MjExL2dkYi9pMzg2LXRkZXAuYwogICAgdGRlcC0+cmVjb3JkX3JlZ21hcCA9IGkzODZfcmVjb3Jk X3JlZ21hcDsKICAKICAgIHNldF9nZGJhcmNoX2xvbmdfbG9uZ19hbGlnbl9iaXQgKGdkYmFyY2gs IDMyKTsKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvaTM4Ni10ZGVwLmgKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4xMC45MC4yMDE2MDIxMS5vcmlnL2dkYi9pMzg2LXRkZXAuaAkyMDE2 LTAyLTE1IDIzOjM3OjA2LjkzNjUwMTQ0MyArMDEwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjEx L2dkYi9pMzg2LXRkZXAuaAkyMDE2LTAyLTE1IDIzOjM3OjM5LjkzMjczNTcyMCArMDEwMAotQEAg LTI0MCw2ICsyNDAsOSBAQAorZGlmZiAtLWdpdCBhL2dkYi9pMzg2LXRkZXAuaCBiL2dkYi9pMzg2 LXRkZXAuaAoraW5kZXggZjE5MGJiMzAwMi4uNmZiNDVjYTU5YyAxMDA2NDQKKy0tLSBhL2dkYi9p Mzg2LXRkZXAuaAorKysrIGIvZ2RiL2kzODYtdGRlcC5oCitAQCAtMjUxLDYgKzI1MSw5IEBAIHN0 cnVjdCBnZGJhcmNoX3RkZXAKICAKICAgIC8qIFJlZ3NldHMuICovCiAgICBjb25zdCBzdHJ1Y3Qg cmVnc2V0ICpmcHJlZ3NldDsKQEAgLTE5NSwxMCArMjA4LDExIEBAIEluZGV4OiBnZGItNy4xMC45 MC4yMDE2MDIxMS9nZGIvaTM4Ni10ZGVwLmgKICB9OwogIAogIC8qIEZsb2F0aW5nLXBvaW50IHJl Z2lzdGVycy4gICovCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy9idC1jbG9uZS1zdG9wLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIx MS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2J0LWNsb25lLXN0b3AuYwkyMDE2LTAyLTE1IDIz OjM3OjM5LjkzMjczNTcyMCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvYnQtY2xvbmUtc3RvcC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9idC1jbG9u ZS1zdG9wLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4yYWM5M2Y4 NjY0CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2J0LWNs b25lLXN0b3AuYwogQEAgLTAsMCArMSwzOSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0yMzksMTAgKzI1MywxMSBAQCBJbmRleDog Z2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9idC1jbG9uZS1z dG9wLmMKICsJZm9yICg7OykKICsJCXBhdXNlKCk7CiArfQotSW5kZXg6IGdkYi03LjEwLjkwLjIw MTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYnQtY2xvbmUtc3RvcC5leHAKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2J0LWNs b25lLXN0b3AuZXhwCTIwMTYtMDItMTUgMjM6Mzc6NTYuMTk3ODUxMjA0ICswMTAwCitkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9idC1jbG9uZS1zdG9wLmV4cCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYnQtY2xvbmUtc3RvcC5leHAKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwMDAwLi4wMjcyOGUwNWI5CistLS0gL2Rldi9udWxsCisrKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2J0LWNsb25lLXN0b3AuZXhwCiBAQCAtMCwwICsxLDYx IEBACiArIyBDb3B5cmlnaHQgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsK QEAgLTMwNSwzICszMjAsNiBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy9idC1jbG9uZS1zdG9wLmV4cAogKyAgICAJcGFzcyAiMHgwIGVudHJ5 IG5vdCBmb3VuZCIKICsgICAgfQogK30KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGIt Ni41LWJ6MjE4Mzc5LXBwYy1zb2xpYi10cmFtcG9saW5lLXRlc3QucGF0Y2ggYi9nZGItNi41LWJ6 MjE4Mzc5LXBwYy1zb2xpYi10cmFtcG9saW5lLXRlc3QucGF0Y2gKaW5kZXggOWU3ODE0Ni4uZDA1 NGE4NSAxMDA2NDQKLS0tIGEvZ2RiLTYuNS1iejIxODM3OS1wcGMtc29saWItdHJhbXBvbGluZS10 ZXN0LnBhdGNoCisrKyBiL2dkYi02LjUtYnoyMTgzNzktcHBjLXNvbGliLXRyYW1wb2xpbmUtdGVz dC5wYXRjaApAQCAtMSwxNyArMSw2MCBAQAorRnJvbSA1YzBhZTAwM2U0NDEyZjI1YmZhZmE1YWIw MDczODUyYmI2YzI5NWJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdE QiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6 MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjUtYnoyMTgzNzktcHBjLXNvbGliLXRyYW1wb2xp bmUtdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNS1iejIxODM3OS1wcGMtc29saWItdHJh bXBvbGluZS10ZXN0LnBhdGNoCiAKKzs7IFRlc3Qgc2lkZWVmZmVjdHMgb2Ygc2tpcHBpbmcgcHBj IC5zbyBsaWJzIHRyYW1wb2xpbmVzIChCWiAyMTgzNzkpLgorOzs9ZmVkb3JhdGVzdAogCiBodHRw czovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTIxODM3OQor LS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBvbGluZS5jICAgfCAy OCArKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBv bGluZS5leHAgfCA1NCArKysrKysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2Vk LCA4MiBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2Ri LmJhc2Uvc3RlcC1vdmVyLXRyYW1wb2xpbmUuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3N0ZXAtb3Zlci10cmFtcG9saW5lLmV4cAogCi0KLUluZGV4OiBnZGIt Ny4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3N0ZXAtb3Zlci10cmFtcG9s aW5lLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2Uvc3RlcC1vdmVyLXRyYW1wb2xpbmUuZXhwCTIwMTYtMDItMTUgMjM6MzE6NDcuMzEyMjMy MDc4ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXIt dHJhbXBvbGluZS5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBvbGlu ZS5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYTAxMmRhMTAzMQor LS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJh bXBvbGluZS5jCitAQCAtMCwwICsxLDI4IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9m IEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAwNiBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0 aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor KworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIAorKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcg d2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKysg ICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3Rvbiwg TUEgMDIxMTEtMTMwNywgVVNBLgorKworKyAgIFBsZWFzZSBlbWFpbCBhbnkgYnVncywgY29tbWVu dHMsIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhpcyBmaWxlIHRvOgorKyAgIGJ1Zy1nZGJAcHJlcC5h aS5taXQuZWR1ICAqLworKworKyNpbmNsdWRlIDxzdGRpby5oPgorKworK2ludCBtYWluICh2b2lk KQorK3sKKysJcHV0cyAoImhlbGxvIHdvcmxkIik7CisrCXJldHVybiAwOworK30KK2RpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3N0ZXAtb3Zlci10cmFtcG9saW5lLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RlcC1vdmVyLXRyYW1wb2xpbmUuZXhwCituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYTE4M2UzNjI2MworLS0tIC9kZXYvbnVsbAor KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBvbGluZS5leHAKIEBA IC0wLDAgKzEsNTQgQEAKICsjIENvcHlyaWdodCAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgogKwpAQCAtNjcsMzYgKzExMCw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIx MS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3N0ZXAtb3Zlci10cmFtcG9saW5lLmV4cAogKwkJZmFp bCAic3RlcHBlZCBpbnRvIHRyYW1wb2xpbmUiCiArCX0KICt9Ci1JbmRleDogZ2RiLTcuMTAuOTAu MjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVwLW92ZXItdHJhbXBvbGluZS5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGVw LW92ZXItdHJhbXBvbGluZS5jCTIwMTYtMDItMTUgMjM6MzA6NTQuNjk4ODU4NTE4ICswMTAwCi1A QCAtMCwwICsxLDI4IEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdO VSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg b3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCi0rIAotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSsgICBGb3VuZGF0aW9u LCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMw NywgVVNBLgotKwotKyAgIFBsZWFzZSBlbWFpbCBhbnkgYnVncywgY29tbWVudHMsIGFuZC9vciBh ZGRpdGlvbnMgdG8gdGhpcyBmaWxlIHRvOgotKyAgIGJ1Zy1nZGJAcHJlcC5haS5taXQuZWR1ICAq LwotKwotKyNpbmNsdWRlIDxzdGRpby5oPgotKwotK2ludCBtYWluICh2b2lkKQotK3sKLSsJcHV0 cyAoImhlbGxvIHdvcmxkIik7Ci0rCXJldHVybiAwOwotK30KKy0tIAorMi4xNC4zCisKCmRpZmYg LS1naXQgYS9nZGItNi41LWJ6MjE4Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4 LnBhdGNoIGIvZ2RiLTYuNS1iejIxODM3OS1zb2xpYi10cmFtcG9saW5lLWxvb2t1cC1sb2NrLWZp eC5wYXRjaAppbmRleCBlY2Q5ZWJmLi5kZGEyYzZlIDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MjE4 Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBhdGNoCisrKyBiL2dkYi02LjUt YnoyMTgzNzktc29saWItdHJhbXBvbGluZS1sb29rdXAtbG9jay1maXgucGF0Y2gKQEAgLTEsMTgg KzEsMjMgQEAKK0Zyb20gYWE0YTVkMmY1N2I3NDhhODAxOThjMjAxNWFhYWU4MWU2ZDRmZjgwZCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxp ZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJq ZWN0OiBnZGItNi41LWJ6MjE4Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBh dGNoCiAKIEZpbGVOYW1lOiBnZGItNi41LWJ6MjE4Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9va3Vw LWxvY2stZml4LnBhdGNoCiAKKzs7IEZpeCBsb2NrdXAgb24gdHJhbXBvbGluZSB2cy4gaXRzIGZ1 bmN0aW9uIGxvb2t1cDsgdW5yZXByb2R1Y2libGUgKEJaIDIxODM3OSkuCis7Oz1mZWRvcmEKIAog aHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMTgz NzkKKy0tLQorIGdkYi9zeW10YWIuYyB8IDcgKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA3IGlu c2VydGlvbnMoKykKIAotCi1JbmRleDogZ2RiLTcuNy45MC4yMDE0MDYxMy9nZGIvc3ltdGFiLmMK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy43LjkwLjIwMTQwNjEzLm9yaWcvZ2RiL3N5bXRhYi5jCTIw MTQtMDYtMTMgMjE6NTI6MDYuMjE5MzM4NDAxICswMjAwCi0rKysgZ2RiLTcuNy45MC4yMDE0MDYx My9nZGIvc3ltdGFiLmMJMjAxNC0wNi0xMyAyMTo1NTowMi43NTM1MzE4ODUgKzAyMDAKLUBAIC0y Mzk0LDYgKzIzOTQsMTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENPUkVfQUREUiBwYywgc3RydWN0 CitkaWZmIC0tZ2l0IGEvZ2RiL3N5bXRhYi5jIGIvZ2RiL3N5bXRhYi5jCitpbmRleCBkZDc0MzRl ZDUwLi5kNzMxYTU0MjFiIDEwMDY0NAorLS0tIGEvZ2RiL3N5bXRhYi5jCisrKysgYi9nZGIvc3lt dGFiLmMKK0BAIC0zMTQxLDYgKzMxNDEsMTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENPUkVfQURE UiBwYywgc3RydWN0IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90Y3VycmVudCkKICAJICAg ICBTWU1CT0xfTElOS0FHRV9OQU1FIChtc3ltYm9sKSk7ICovCiAgCSAgOwogIAkvKiBmYWxsIHRo cm91Z2ggKi8KQEAgLTI2LDMgKzMxLDYgQEAgSW5kZXg6IGdkYi03LjcuOTAuMjAxNDA2MTMvZ2Ri L3N5bXRhYi5jCiAgCWVsc2UKICAJICByZXR1cm4gZmluZF9wY19saW5lIChCTVNZTUJPTF9WQUxV RV9BRERSRVNTIChtZnVuc3ltKSwgMCk7CiAgICAgICAgfQorLS0gCisyLjE0LjMKKwoKZGlmZiAt LWdpdCBhL2dkYi02LjUtYnoyNDM4NDUtc3RhbGUtdGVzdGluZy16b21iaWUtdGVzdC5wYXRjaCBi L2dkYi02LjUtYnoyNDM4NDUtc3RhbGUtdGVzdGluZy16b21iaWUtdGVzdC5wYXRjaAppbmRleCAz N2M3YWE4Li5hNDgzNjEyIDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MjQzODQ1LXN0YWxlLXRlc3Rp bmctem9tYmllLXRlc3QucGF0Y2gKKysrIGIvZ2RiLTYuNS1iejI0Mzg0NS1zdGFsZS10ZXN0aW5n LXpvbWJpZS10ZXN0LnBhdGNoCkBAIC0xLDEzICsxLDIyIEBACitGcm9tIGUxZjE3YzJmZDY0ZGVh MmVlZDgxMGNhNDJjZjY4N2ZiYTNmZDg1MTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9t OiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBP Y3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuNS1iejI0Mzg0NS1zdGFsZS10 ZXN0aW5nLXpvbWJpZS10ZXN0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi41LWJ6MjQzODQ1LXN0 YWxlLXRlc3Rpbmctem9tYmllLXRlc3QucGF0Y2gKIAorOzsgVGVzdCBsZWZ0b3ZlciB6b21iaWUg cHJvY2VzcyAoQlogMjQzODQ1KS4KKzs7PWZlZG9yYXRlc3QKKy0tLQorIGdkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdHJhY2Vmb3JrLXpvbWJpZS5leHAgfCA3NSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUg MTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdHJhY2Vmb3JrLXpvbWJpZS5leHAKIAotZGlm ZiAtdSAtcnVOcCBnZGItNi4zLXVucGF0Y2hlZC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3RyYWNl Zm9yay16b21iaWUuZXhwIGdkYi02LjMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS90cmFjZWZvcmst em9tYmllLmV4cAotLS0tIGdkYi02LjMtdW5wYXRjaGVkL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv dHJhY2Vmb3JrLXpvbWJpZS5leHAJMTk2OS0xMi0zMSAxOTowMDowMC4wMDAwMDAwMDAgLTA1MDAK LSsrKyBnZGItNi4zL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdHJhY2Vmb3JrLXpvbWJpZS5leHAJ MjAwNy0wNy0zMSAxMzowNDoxMi4wMDAwMDAwMDAgLTA0MDAKK2RpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3RyYWNlZm9yay16b21iaWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS90cmFjZWZvcmstem9tYmllLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAwMDAuLjU4MDcwNDA4NDAKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdHJhY2Vmb3JrLXpvbWJpZS5leHAKIEBAIC0wLDAgKzEsNzUgQEAKICsjIENvcHly aWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtODQsMyArOTMs NiBAQCBkaWZmIC11IC1ydU5wIGdkYi02LjMtdW5wYXRjaGVkL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvdHJhY2Vmb3JrLXpvbWJpZS5leHAgZ2RiLQogK30gZWxzZSB7CiArICAgIGZhaWwgJHRlc3QK ICt9CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNS1nY29yZS1idWZmZXItbGlt aXQtdGVzdC5wYXRjaCBiL2dkYi02LjUtZ2NvcmUtYnVmZmVyLWxpbWl0LXRlc3QucGF0Y2gKaW5k ZXggMWNmYjcyOC4uNWFlZjM4MiAxMDA2NDQKLS0tIGEvZ2RiLTYuNS1nY29yZS1idWZmZXItbGlt aXQtdGVzdC5wYXRjaAorKysgYi9nZGItNi41LWdjb3JlLWJ1ZmZlci1saW1pdC10ZXN0LnBhdGNo CkBAIC0xLDE0ICsxLDI0IEBACitGcm9tIGUzMTY4MGJjZjFjZmQwZmJmYWQwMGU5MmNkYjUwMjlh MzE3YzA5M2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNo ZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCAr MDIwMAogU3ViamVjdDogZ2RiLTYuNS1nY29yZS1idWZmZXItbGltaXQtdGVzdC5wYXRjaAogCiBG aWxlTmFtZTogZ2RiLTYuNS1nY29yZS1idWZmZXItbGltaXQtdGVzdC5wYXRjaAogCis7OyBUZXN0 IGdjb3JlIG1lbW9yeSBhbmQgdGltZSByZXF1aXJlbWVudHMgZm9yIGxhcmdlIGluZmVyaW9ycy4K Kzs7PWZlZG9yYXRlc3QKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtZXhjZXNz aXZlLW1lbW9yeS5jICAgfCAzNyArKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dj b3JlLWV4Y2Vzc2l2ZS1tZW1vcnkuZXhwIHwgOTQgKysrKysrKysrKysrKysrKysrKysrKysKKyAy IGZpbGVzIGNoYW5nZWQsIDEzMSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtZXhjZXNzaXZlLW1lbW9yeS5jCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtZXhjZXNzaXZlLW1lbW9yeS5l eHAKIAotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Z2NvcmUtZXhjZXNzaXZlLW1lbW9yeS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1leGNlc3NpdmUtbWVtb3J5LmMJMjAxNi0wMi0x NSAyMzoyODoxNS45NDM3MzEzNDAgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2djb3JlLWV4Y2Vzc2l2ZS1tZW1vcnkuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Z2NvcmUtZXhjZXNzaXZlLW1lbW9yeS5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMDAwMC4uNTZiNGQzYTYzYQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9nY29yZS1leGNlc3NpdmUtbWVtb3J5LmMKIEBAIC0wLDAgKzEsMzcgQEAKICsvKiBU aGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtNDcs MTAgKzU3LDExIEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2djb3JlLWV4Y2Vzc2l2ZS1tZW1vcnkuYwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5k ZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtZXhj ZXNzaXZlLW1lbW9yeS5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2djb3JlLWV4Y2Vzc2l2ZS1tZW1vcnkuZXhwCTIwMTYtMDItMTUgMjM6 Mjg6MjIuNzIwNzc5NDU4ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9nY29yZS1leGNlc3NpdmUtbWVtb3J5LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2Nv cmUtZXhjZXNzaXZlLW1lbW9yeS5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwLi40ZTcxYjU1MzRlCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2djb3JlLWV4Y2Vzc2l2ZS1tZW1vcnkuZXhwCiBAQCAtMCwwICsxLDk0IEBACiArIyBD b3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE0Niwz ICsxNTcsNiBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9nY29yZS1leGNlc3NpdmUtbWVtb3J5LmV4cAogKwogKyMgQ2xlYW51cC4KICtleGVjIGtp bGwgLTkgJHBpZF9vZl9iaW4KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi41LWlh NjQtbGlidW53aW5kLWxlYWstdGVzdC5wYXRjaCBiL2dkYi02LjUtaWE2NC1saWJ1bndpbmQtbGVh ay10ZXN0LnBhdGNoCmluZGV4IGQ1YmU5YTcuLjA2NzRiZjQgMTAwNjQ0Ci0tLSBhL2dkYi02LjUt aWE2NC1saWJ1bndpbmQtbGVhay10ZXN0LnBhdGNoCisrKyBiL2dkYi02LjUtaWE2NC1saWJ1bndp bmQtbGVhay10ZXN0LnBhdGNoCkBAIC0xLDE0ICsxLDI0IEBACitGcm9tIDU0MmZkODg0MzhhM2I5 NjZiZjE4ZDRiNDBiZjczZmUxMDcyNjIxM2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9t OiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBP Y3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuNS1pYTY0LWxpYnVud2luZC1s ZWFrLXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjUtaWE2NC1saWJ1bndpbmQtbGVhay10 ZXN0LnBhdGNoCiAKKzs7IFRlc3QgaWE2NCBtZW1vcnkgbGVha3Mgb2YgdGhlIGNvZGUgdXNpbmcg bGlidW53aW5kLgorOzs9ZmVkb3JhdGVzdAorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91 bndpbmQtbGVhay5jICAgfCAyOSArKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNl L3Vud2luZC1sZWFrLmV4cCB8IDgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK KyAyIGZpbGVzIGNoYW5nZWQsIDExMiBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdW53aW5kLWxlYWsuYworIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3Vud2luZC1sZWFrLmV4cAogCi1JbmRleDogZ2RiLTcu MTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQtbGVhay5jCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQt bGVhay5jCTIwMTYtMDItMTUgMjM6MzI6MTEuMzA3NDAyNDQ2ICswMTAwCitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQtbGVhay5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS91bndpbmQtbGVhay5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAw MC4uNThlMzRmYjI2NAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS91bndpbmQtbGVhay5jCiBAQCAtMCwwICsxLDI5IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBw YXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTM5LDEwICs0OSwxMSBAQCBJbmRl eDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQtbGVh ay5jCiArICAgIGFsYXJtICgwKTsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4xMC45 MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3Vud2luZC1sZWFrLmV4cAotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdW53aW5kLWxl YWsuZXhwCTIwMTYtMDItMTUgMjM6MzI6MTguNTU5NDUzOTM3ICswMTAwCitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQtbGVhay5leHAgYi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3Vud2luZC1sZWFrLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAwMDAuLjA5ODk2MmE1N2MKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvdW53aW5kLWxlYWsuZXhwCiBAQCAtMCwwICsxLDgzIEBACiArIyBDb3B5cmlnaHQgMjAw NyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEyNywzICsxMzgsNiBAQCBJ bmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS91bndpbmQt bGVhay5leHAKICsJZmFpbCAkdGVzdAogKyAgICB9CiArfQorLS0gCisyLjE0LjMKKwoKZGlmZiAt LWdpdCBhL2dkYi02LjUtbGFzdC1hZGRyZXNzLXNwYWNlLWJ5dGUtdGVzdC5wYXRjaCBiL2dkYi02 LjUtbGFzdC1hZGRyZXNzLXNwYWNlLWJ5dGUtdGVzdC5wYXRjaAppbmRleCBmNzA3MWUyLi5mYmU4 Mzk4IDEwMDY0NAotLS0gYS9nZGItNi41LWxhc3QtYWRkcmVzcy1zcGFjZS1ieXRlLXRlc3QucGF0 Y2gKKysrIGIvZ2RiLTYuNS1sYXN0LWFkZHJlc3Mtc3BhY2UtYnl0ZS10ZXN0LnBhdGNoCkBAIC0x LDE1ICsxLDIyIEBACitGcm9tIDk1MzE5YzE0YjBjYzVmNGY0NGNhMDA4OGRlNWZkZDQ0YzRkYjVk NWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGlu dmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAog U3ViamVjdDogZ2RiLTYuNS1sYXN0LWFkZHJlc3Mtc3BhY2UtYnl0ZS10ZXN0LnBhdGNoCiAKIEZp bGVOYW1lOiBnZGItNi41LWxhc3QtYWRkcmVzcy1zcGFjZS1ieXRlLXRlc3QucGF0Y2gKIAotSW5k ZXg6IC4vZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sYXJnZWNvcmUtbGFzdC1hZGRyZXNzLWxvY2su ZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci1SQ1MgZmlsZTogLi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xhcmdl Y29yZS1sYXN0LWFkZHJlc3MtbG9jay5leHAKLWRpZmYgLU4gLi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2xhcmdlY29yZS1sYXN0LWFkZHJlc3MtbG9jay5leHAKLS0tLSAvZGV2L251bGwJMSBKYW4g MTk3MCAwMDowMDowMCAtMDAwMAotKysrIC4vZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sYXJnZWNv cmUtbGFzdC1hZGRyZXNzLWxvY2suZXhwCTE1IE5vdiAyMDA2IDIxOjQzOjI0IC0wMDAwCis7OyBU ZXN0Y2FzZSBmb3IgZGVhZGxvY2tpbmcgb24gbGFzdCBhZGRyZXNzIHNwYWNlIGJ5dGU7IGZvciBj b3JydXB0ZWQgYmFja3RyYWNlcy4KKzs7PWZlZG9yYXRlc3QKKy0tLQorIC4uLi9nZGIuYmFzZS9s YXJnZWNvcmUtbGFzdC1hZGRyZXNzLWxvY2suZXhwICAgICAgIHwgNDkgKysrKysrKysrKysrKysr KysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUg MTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGFyZ2Vjb3JlLWxhc3QtYWRkcmVzcy1sb2Nr LmV4cAorCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sYXJnZWNvcmUtbGFz dC1hZGRyZXNzLWxvY2suZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sYXJnZWNvcmUtbGFz dC1hZGRyZXNzLWxvY2suZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAw MC4uOGE1OTdlOWIxNQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9sYXJnZWNvcmUtbGFzdC1hZGRyZXNzLWxvY2suZXhwCiBAQCAtMCwwICsxLDQ5IEBACiArIyBD b3B5cmlnaHQgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTYwLDMg KzY3LDYgQEAgZGlmZiAtTiAuL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGFyZ2Vjb3JlLWxhc3Qt YWRkcmVzcy1sb2NrLmV4cAogKyAgICAgICAgICJSZWFkIHRoZSBsYXN0IGFkZHJlc3Mgc3BhY2Ug Ynl0ZSIKICsKICtzZXQgdGltZW91dCAke3RpbWVvdXRvbGR9CistLSAKKzIuMTQuMworCgpkaWZm IC0tZ2l0IGEvZ2RiLTYuNS1taXNzZWQtdHJhcC1vbi1zdGVwLXRlc3QucGF0Y2ggYi9nZGItNi41 LW1pc3NlZC10cmFwLW9uLXN0ZXAtdGVzdC5wYXRjaAppbmRleCA3NzZkODA2Li5jZWE5NDUwIDEw MDY0NAotLS0gYS9nZGItNi41LW1pc3NlZC10cmFwLW9uLXN0ZXAtdGVzdC5wYXRjaAorKysgYi9n ZGItNi41LW1pc3NlZC10cmFwLW9uLXN0ZXAtdGVzdC5wYXRjaApAQCAtMSwxNyArMSw2MyBAQAor RnJvbSAxMjAzY2IwMGIzYWMyZDNmMTRmOTYwMWUyZWU3NDk5NzY2MTdmMDA1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNv bT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02 LjUtbWlzc2VkLXRyYXAtb24tc3RlcC10ZXN0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi41LW1p c3NlZC10cmFwLW9uLXN0ZXAtdGVzdC5wYXRjaAogCis7OyBUZXN0IGhpZGluZyB1bmV4cGVjdGVk IGJyZWFrcG9pbnRzIG9uIGludGVudGlvbmFsIHN0ZXAgY29tbWFuZHMuCis7Oz1mZWRvcmF0ZXN0 CiAKIEZpeCBoYXMgYmVlbiBjb21taXR0ZWQgdG86CiAJZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2lu Zy1zdGVwLXN3LXdhdGNocG9pbnRzMi5wYXRjaAorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS93YXRjaHBvaW50LWR1cmluZy1zdGVwLmMgICB8IDMwICsrKysrKysrKysrKysrKysKKyBnZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtZHVyaW5nLXN0ZXAuZXhwIHwgNDQgKysrKysr KysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKykKKyBj cmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWR1cmlu Zy1zdGVwLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRj aHBvaW50LWR1cmluZy1zdGVwLmV4cAogCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWR1cmluZy1zdGVwLmV4cAotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1k dXJpbmctc3RlcC5leHAJMjAxNi0wMi0xNSAyMzozNDoxMC40NTUyNDg0MDggKzAxMDAKK2RpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtZHVyaW5nLXN0ZXAuYyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1kdXJpbmctc3RlcC5jCituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMTA3ZWFlNDVhMAorLS0tIC9kZXYvbnVs bAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWR1cmluZy1zdGVwLmMK K0BAIC0wLDAgKzEsMzAgQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUg R05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl LCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KKysgCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMg cHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorKyAgIEZvdW5kYXRp b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0x MzA3LCBVU0EuCisrCisrICAgUGxlYXNlIGVtYWlsIGFueSBidWdzLCBjb21tZW50cywgYW5kL29y IGFkZGl0aW9ucyB0byB0aGlzIGZpbGUgdG86CisrICAgYnVnLWdkYkBwcmVwLmFpLm1pdC5lZHUg ICovCisrCisrc3RhdGljIGludCB2YXI7CisrCisraW50IG1haW4oKQorK3sKKysgIHZhciA9IDE7 CisrICB2YXIgPSAyOworKyAgdmFyID0gMzsKKysgIHJldHVybiAwOworK30KK2RpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtZHVyaW5nLXN0ZXAuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWR1cmluZy1zdGVwLmV4cAorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjEyYmE5OWYxYTkKKy0tLSAvZGV2L251bGwK KysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1kdXJpbmctc3RlcC5leHAK IEBAIC0wLDAgKzEsNDQgQEAKICsjIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKwpAQCAtNTcsMzggKzEwMyw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2 MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtZHVyaW5nLXN0ZXAuZXhwCiAr IyB3ZSBzdGVwIGZyb20gYXMgaW4gdGhpcyBjYXNlIGl0IGlzIGEgdmFsaWQgdXBzdHJlYW0gS0ZB SUwgZ2RiLzM4CiArCiArZ2RiX3Rlc3QgInN0ZXAiICIuKk9sZCB2YWx1ZSA9IDIuKk5ldyB2YWx1 ZSA9IDMuKiIgIkNhdGNoIHRoZSB3YXRjaHBvaW50IgotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYw MjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1kdXJpbmctc3RlcC5jCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBv aW50LWR1cmluZy1zdGVwLmMJMjAxNi0wMi0xNSAyMzozMjo1MS44NDY2OTAyNzkgKzAxMDAKLUBA IC0wLDAgKzEsMzAgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05V IGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv cgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Ci0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KLSsgCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotKyAgIEZvdW5kYXRpb24s IEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3 LCBVU0EuCi0rCi0rICAgUGxlYXNlIGVtYWlsIGFueSBidWdzLCBjb21tZW50cywgYW5kL29yIGFk ZGl0aW9ucyB0byB0aGlzIGZpbGUgdG86Ci0rICAgYnVnLWdkYkBwcmVwLmFpLm1pdC5lZHUgICov Ci0rCi0rc3RhdGljIGludCB2YXI7Ci0rCi0raW50IG1haW4oKQotK3sKLSsgIHZhciA9IDE7Ci0r ICB2YXIgPSAyOwotKyAgdmFyID0gMzsKLSsgIHJldHVybiAwOwotK30KKy0tIAorMi4xNC4zCisK CmRpZmYgLS1naXQgYS9nZGItNi41LXJlYWRsaW5lLWxvbmctbGluZS1jcmFzaC10ZXN0LnBhdGNo IGIvZ2RiLTYuNS1yZWFkbGluZS1sb25nLWxpbmUtY3Jhc2gtdGVzdC5wYXRjaAppbmRleCBiYTgz NDMxLi5jN2Y2MGI0IDEwMDY0NAotLS0gYS9nZGItNi41LXJlYWRsaW5lLWxvbmctbGluZS1jcmFz aC10ZXN0LnBhdGNoCisrKyBiL2dkYi02LjUtcmVhZGxpbmUtbG9uZy1saW5lLWNyYXNoLXRlc3Qu cGF0Y2gKQEAgLTEsMTcgKzEsMjQgQEAKK0Zyb20gMmI0ZmYzMmI4YzE0Mzg4Nzc0N2M0OWE2N2Qz MmY5NDU0MTIyNzhiOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIg cGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3 OjUwICswMjAwCiBTdWJqZWN0OiBnZGItNi41LXJlYWRsaW5lLWxvbmctbGluZS1jcmFzaC10ZXN0 LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi41LXJlYWRsaW5lLWxvbmctbGluZS1jcmFzaC10ZXN0 LnBhdGNoCiAKKzs7IEZpeCByZWFkbGluZSBzZWdmYXVsdCBvbiBleGNlc3NpdmVseSBsb25nIGhh bmQtdHlwZWQgbGluZXMuCis7Oz1mZWRvcmF0ZXN0CiAKIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0 LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjE0MTk2CistLS0KKyBnZGIvdGVzdHN1aXRl L2dkYi5iYXNlL3JlYWRsaW5lLW92ZXJmbG93LmV4cCB8IDEyNiArKysrKysrKysrKysrKysrKysr KysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yZWFkbGluZS1vdmVyZmxvdy5leHAKIAot Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yZWFk bGluZS1vdmVyZmxvdy5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3JlYWRsaW5lLW92ZXJmbG93LmV4cAkyMDE2LTAyLTE1IDIzOjMwOjI5 LjE5MTY3NzQxNCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvcmVh ZGxpbmUtb3ZlcmZsb3cuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yZWFkbGluZS1vdmVy Zmxvdy5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi41ZTQ2ODE2 ZDIxCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JlYWRsaW5l LW92ZXJmbG93LmV4cAogQEAgLTAsMCArMSwxMjYgQEAKICsjIENvcHlyaWdodCAyMDA2IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTM5LDMgKzE0Niw2IEBAIEluZGV4OiBn ZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JlYWRsaW5lLW92ZXJm bG93LmV4cAogK30KICtzZXQgdGltZW91dCAkb2xkdGltZW91dDEKICsKKy0tIAorMi4xNC4zCisK CmRpZmYgLS1naXQgYS9nZGItNi41LXNlY3Rpb24tbnVtLWZpeHVwLXRlc3QucGF0Y2ggYi9nZGIt Ni41LXNlY3Rpb24tbnVtLWZpeHVwLXRlc3QucGF0Y2gKaW5kZXggMTE1NzQyNS4uMjFlYmM2NiAx MDA2NDQKLS0tIGEvZ2RiLTYuNS1zZWN0aW9uLW51bS1maXh1cC10ZXN0LnBhdGNoCisrKyBiL2dk Yi02LjUtc2VjdGlvbi1udW0tZml4dXAtdGVzdC5wYXRjaApAQCAtMSwxNCArMSwyNiBAQAorRnJv bSA4OTA5MDE4ZmExODE1ZjAzMjM5NzA2MTZjYjM0MDM2NTEyMDk1YTVkIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4K IERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjUt c2VjdGlvbi1udW0tZml4dXAtdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNS1zZWN0aW9u LW51bS1maXh1cC10ZXN0LnBhdGNoCiAKKzs7IFRlc3QgYSBjcmFzaCBvbiBsaWJyYXJpZXMgbWlz c2luZyB0aGUgLnRleHQgc2VjdGlvbi4KKzs7PWZlZG9yYXRlc3QKKy0tLQorIGdkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvZGF0YWxpYi1saWIuYyAgfCAyMiArKysrKysrKysrKysrKysKKyBnZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2RhdGFsaWItbWFpbi5jIHwgMjYgKysrKysrKysrKysrKysrKysrCisg Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kYXRhbGliLmV4cCAgICB8IDUxICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCsp CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi1saWIu YworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RhdGFsaWItbWFp bi5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi5l eHAKIAotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv ZGF0YWxpYi1saWIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvZGF0YWxpYi1saWIuYwkyMDE2LTAyLTE1IDIzOjI3OjE5LjY1NDMzMTY4MCAr MDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi1saWIuYyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi1saWIuYworbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAuLmRkMzllMjM3NDYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi1saWIuYwogQEAgLTAsMCArMSwyMiBAQAogKy8q IFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0z MiwxMCArNDQsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZGF0YWxpYi1saWIuYwogKyAgIGJ1Zy1nZGJAcHJlcC5haS5taXQuZWR1ICAqLwog KwogK2ludCB2YXI7Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9kYXRhbGliLW1haW4uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi1tYWluLmMJMjAxNi0wMi0xNSAyMzoyNzoxOS42 NTQzMzE2ODAgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RhdGFs aWItbWFpbi5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kYXRhbGliLW1haW4uYworbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjRlMGI4MGQyZDYKKy0tLSAvZGV2L251 bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi1tYWluLmMKIEBAIC0wLDAg KzEsMjYgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVn Z2VyLgogKwpAQCAtNjMsMTAgKzc2LDExIEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RhdGFsaWItbWFpbi5jCiArewogKyAgcmV0dXJuIDA7CiAr fQotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGF0 YWxpYi5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2RhdGFsaWIuZXhwCTIwMTYtMDItMTUgMjM6Mjc6MjUuOTY4Mzc2NTEwICswMTAwCitk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kYXRhbGliLmV4cCBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZGF0YWxpYi5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwMDAwLi4zODU3MTZkOTAxCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2RhdGFsaWIuZXhwCiBAQCAtMCwwICsxLDUxIEBACiArIyBDb3B5cmlnaHQgMjAw OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTExOSwzICsxMzMsNiBAQCBJ bmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kYXRhbGli LmV4cAogK2dkYl90ZXN0ICJzdGFydCIgXAogKyAgICAgICAgICJtYWluIFxcKFxcKSBhdCAuKiR7 c3JjZmlsZW1haW59LioiIFwKICsgICAgICAgICAic3RhcnQiCistLSAKKzIuMTQuMworCgpkaWZm IC0tZ2l0IGEvZ2RiLTYuNS1zaGFyZWRsaWJyYXJ5LXBhdGgucGF0Y2ggYi9nZGItNi41LXNoYXJl ZGxpYnJhcnktcGF0aC5wYXRjaAppbmRleCBmOWI1OTc3Li4zYzE3YTY3IDEwMDY0NAotLS0gYS9n ZGItNi41LXNoYXJlZGxpYnJhcnktcGF0aC5wYXRjaAorKysgYi9nZGItNi41LXNoYXJlZGxpYnJh cnktcGF0aC5wYXRjaApAQCAtMSwyMSArMSwyMyBAQAorRnJvbSA5MjljZWNhMDk3YmVjNWE1ZjUx ODJlODVjNWFiOWE3ZWYzOGZlMzllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSmFu IEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDI3IE9j dCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItNi41LXNoYXJlZGxpYnJhcnktcGF0 aC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNS1zaGFyZWRsaWJyYXJ5LXBhdGgucGF0Y2gKIAor OzsgRml4IFRMUyBzeW1ib2xzIHJlc29sdmluZyBmb3Igc2hhcmVkIGxpYnJhcmllcyB3aXRoIGEg cmVsYXRpdmUgcGF0aG5hbWUuCis7OyBUaGUgdGVzdHN1aXRlIG5lZWRzIGBnZGItNi41LXRscy1v Zi1zZXBhcmF0ZS1kZWJ1Z2luZm8ucGF0Y2gnLgorOzs9ZmVkb3JhdGVzdDogT25lIHNob3VsZCBy ZWNoZWNrIGlmIGl0IGlzIHJlYWxseSBmaXhlZCB1cHN0cmVhbS4KKwogSWYgeW91IHByb3ZpZGVk IHNvbWUgcmVsYXRpdmUgcGF0aCB0byB0aGUgc2hhcmVkIGxpYnJhcnksIHN1Y2ggYXMgd2l0aAog CWV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9LgogdGhlbiBnZGIgd291bGQgZmFpbCB0byBtYXRjaCB0 aGUgc2hhcmVkIGxpYnJhcnkgbmFtZSBkdXJpbmcgdGhlIFRMUyBsb29rdXAuCiAKLQogRHJvcHBl ZCB0aGUgd29ya2Fyb3VuZC9maXggZm9yIGdkYi02LjguNTAuMjAwODExMjggLSBpcyBpdCBzdGls bCBuZWVkZWQ/CiAKLQogVGhlIHRlc3RzdWl0ZSBuZWVkcyBgZ2RiLTYuMy1iejE0NjgxMC1zb2xp Yl9hYnNvbHV0ZV9wcmVmaXhfaXNfZW1wdHkucGF0Y2gnLgogVGhlIHRlc3RzdWl0ZSBuZWVkcyBg Z2RiLTYuNS10bHMtb2Ytc2VwYXJhdGUtZGVidWdpbmZvLnBhdGNoJy4KIAotCiAyMDA2LTA5LTAx ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiAKIAkqIHNvbGli LXN2cjQuYyAoc3ZyNF9mZXRjaF9vYmpmaWxlX2xpbmtfbWFwKTogTWF0Y2ggZXZlbiBhYnNvbHV0 ZQpAQCAtMjgsMTEgKzMwLDIwIEBAIFRoZSB0ZXN0c3VpdGUgbmVlZHMgYGdkYi02LjUtdGxzLW9m LXNlcGFyYXRlLWRlYnVnaW5mby5wYXRjaCcuCiAyMDA4LTAyLTI3ICBKYW4gS3JhdG9jaHZpbCAg PGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiAKIAlQb3J0IHRvIGdkYi02LjcuNTAuMjAwODAy MjcuCistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy1tYWluLmMg ICB8IDI1ICsrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy1z aGFyZWQuYyB8IDIyICsrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBk ZWJ1Zy5leHAgICAgICB8IDg3ICsrKysrKysrKysrKysrKysrKysrKysrKysKKyAzIGZpbGVzIGNo YW5nZWQsIDEzNCBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvdGxzLXNlcGRlYnVnLW1haW4uYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBn ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy1zaGFyZWQuYworIGNyZWF0ZSBt b2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy5leHAKIAot SW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxz LXNlcGRlYnVnLW1haW4uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0 c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXNlcGRlYnVnLW1haW4uYwkyMDE2LTAyLTE2IDEwOjE2OjEy LjYyOTg3NTA3MyArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv dGxzLXNlcGRlYnVnLW1haW4uYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXNlcGRl YnVnLW1haW4uYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmVhNWQw MTc0ZDYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxz LXNlcGRlYnVnLW1haW4uYwogQEAgLTAsMCArMSwyNSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMg cGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC01OSwxMCArNzAsMTEgQEAgSW5k ZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXNl cGRlYnVnLW1haW4uYwogK3sKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4xMC45MC4y MDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy1zaGFyZWQuYwot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv dGxzLXNlcGRlYnVnLXNoYXJlZC5jCTIwMTYtMDItMTYgMTA6MTY6MTIuNjMwODc1MDgwICswMTAw CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtc2VwZGVidWctc2hh cmVkLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1zZXBkZWJ1Zy1zaGFyZWQuYwor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjYxYjQ5MjUxYmEKKy0tLSAv ZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXNlcGRlYnVnLXNo YXJlZC5jCiBAQCAtMCwwICsxLDIyIEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdE QiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTg2LDEwICs5OCwxMSBAQCBJbmRleDogZ2RiLTcu MTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtc2VwZGVidWctc2hh cmVkLmMKICsgICBidWctZ2RiQHByZXAuYWkubWl0LmVkdSAgKi8KICsKICtfX3RocmVhZCBpbnQg dmFyID0gNDI7Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIu dGhyZWFkcy90bHMtc2VwZGVidWcuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEv Z2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtc2VwZGVidWcuZXhwCTIwMTYtMDItMTYgMTA6 MTY6MzEuMjQxMDAxMDEwICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy90bHMtc2VwZGVidWcuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtc2Vw ZGVidWcuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMDA3NzNm NzhmMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMt c2VwZGVidWcuZXhwCiBAQCAtMCwwICsxLDg3IEBACiArIyBDb3B5cmlnaHQgMjAwNiBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE3OCwzICsxOTEsNiBAQCBJbmRleDogZ2Ri LTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtc2VwZGVidWcu ZXhwCiArICAgICAgICAgICAgICJcXFwkMSA9IFxbMC05XF0uKiIgXAogKyAgICAgICAgICAgICAi cHJpbnQgVExTIHZhcmlhYmxlIGZyb20gYSBzaGFyZWQgbGlicmFyeSB3aXRoICRuYW1lLWRpcmVj dG9yeSBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGZpbGUiCiArfQorLS0gCisyLjE0LjMKKwoKZGlmZiAt LWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2ggYi9nZGItNi42 LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBhdGNoCmluZGV4IDQzODFlYjAuLjNhZDJjZDUg MTAwNjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gKKysr IGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1jb3JlLWFzLWFyZy5wYXRjaApAQCAtMSw5ICsxLDEx IEBACitGcm9tIGMzOTYzZjI5ZWY5YmU2ZTQ4ZGVlOGIwNThkYTY0Njg2Nzc1NzgxMGMgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1h aWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDog UmU6IFtwYXRjaF0gcHJpbnQgYSBtb3JlIHVzZWZ1bCBlcnJvciBtZXNzYWdlIGZvciAiZ2RiIGNv cmUiCitTdWJqZWN0OiBwcmludCBhIG1vcmUgdXNlZnVsIGVycm9yIG1lc3NhZ2UgZm9yICJnZGIg Y29yZSIKIAogRmlsZU5hbWU6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0 Y2gKIAorOzs9cHVzaCtqYW4KIAogaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVz LzIwMTAtMDEvbXNnMDA1NTguaHRtbAogCkBAIC0zNywxNiArMzksMTMgQEAgYXV0b2RldGVjdGlv bnMuICBUaGUgc2Vjb25kIGNvbW1hbmQgbGluZSBhcmd1bWVudAogKGNhcHR1cmVkX21haW4tPnBp ZF9vcl9jb3JlX2FyZykgaXMgYWxzbyBhdXRvZGV0ZWN0ZWQgKGZvciBQSUQgb3IgQ09SRSkgYnV0 CiBuZWl0aGVyICJhdHRhY2giIGFjY2VwdHMgYSBjb3JlIGZpbGUgbm9yICJjb3JlLWZpbGUiIGFj Y2VwdHMgYSBQSUQuCiAKLQogVGhlIHBhdGNoIG1ha2VzIHNlbnNlIG9ubHkgd2l0aCB0aGUgYnVp bGQtaWQgcGF0Y2hzZXQgc28gdGhpcyBpcyBub3Qgc3VibWl0CiBmb3IgRlNGIEdEQiBpbmNsdXNp b24geWV0LiAgSSBhbSBmaW5lIHdpdGggeW91ciBwYXRjaCAoKy8tIEh1aSBaaHUncyBwZW5kaW5n CiBiZmRfY2hlY2tfZm9ybWF0X21hdGNoZXMpIGFzIHRoZSBwYXRjaCBiZWxvdyBpcyBpdHMgbmF0 dXJhbCBleHRlbnNpb24uCiAKLQogU29ycnkgZm9yIHRoZSBkZWxheSwKIEphbgogCi0KIDIwMTAt MDEtMjUgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIAogCSog ZXhjZXB0aW9ucy5oIChlbnVtIGVycm9ycyA8SVNfQ09SRV9FUlJPUj4pOiBOZXcuCkBAIC02Mywx MSArNjIsMzAgQEAgSHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTAtMDEv bXNnMDA1MTcuaHRtbAogCiAJKiBleGVjLmMgKGV4ZWNfZmlsZV9hdHRhY2gpOiBQcmludCBhIG1v cmUgdXNlZnVsIGVycm9yIG1lc3NhZ2UgaWYgdGhlCiAJdXNlciBkaWQgImdkYiBjb3JlIi4KLQot SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9leGVjLmMKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9leGVjLmMJMjAxNy0wMi0yNyAyMjoxODowMC45 NDUwMjYyMTEgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvZXhlYy5jCTIwMTct MDItMjcgMjI6MTg6MDguMTExMDc2MzUwICswMTAwCistLS0KKyBnZGIvY29tbW9uL2NvbW1vbi1l eGNlcHRpb25zLmggfCAgMyArKysKKyBnZGIvZXhlYy5jICAgICAgICAgICAgICAgICAgICAgfCAy MiArKysrKysrKysrKysrKystLS0KKyBnZGIvbWFpbi5jICAgICAgICAgICAgICAgICAgICAgfCA1 MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KKyAzIGZpbGVzIGNo YW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9n ZGIvY29tbW9uL2NvbW1vbi1leGNlcHRpb25zLmggYi9nZGIvY29tbW9uL2NvbW1vbi1leGNlcHRp b25zLmgKK2luZGV4IDk5YWE4NzZkZmMuLjNiOWVkM2VlNzEgMTAwNjQ0CistLS0gYS9nZGIvY29t bW9uL2NvbW1vbi1leGNlcHRpb25zLmgKKysrKyBiL2dkYi9jb21tb24vY29tbW9uLWV4Y2VwdGlv bnMuaAorQEAgLTEwNCw2ICsxMDQsOSBAQCBlbnVtIGVycm9ycyB7CisgICAgICAiX0VSUk9SIiBp cyBhcHBlbmRlZCB0byB0aGUgbmFtZS4gICovCisgICBNQVhfQ09NUExFVElPTlNfUkVBQ0hFRF9F UlJPUiwKKyAKKysgIC8qIEF0dGVtcHQgdG8gbG9hZCBhIGNvcmUgZmlsZSBhcyBleGVjdXRhYmxl LiAgKi8KKysgIElTX0NPUkVfRVJST1IsCisrCisgICAvKiBBZGQgbW9yZSBlcnJvcnMgaGVyZS4g ICovCisgICBOUl9FUlJPUlMKKyB9OworZGlmZiAtLWdpdCBhL2dkYi9leGVjLmMgYi9nZGIvZXhl Yy5jCitpbmRleCA0ZmJlOWRkNjM1Li5hNzhhYjk5ZmM3IDEwMDY0NAorLS0tIGEvZ2RiL2V4ZWMu YworKysrIGIvZ2RiL2V4ZWMuYwogQEAgLTM1LDYgKzM1LDcgQEAKICAjaW5jbHVkZSAicHJvZ3Nw YWNlLmgiCiAgI2luY2x1ZGUgImdkYl9iZmQuaCIKQEAgLTc2LDcgKzk0LDcgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9leGVjLmMKICAKICAjaW5jbHVkZSA8ZmNudGwuaD4KICAj aW5jbHVkZSAicmVhZGxpbmUvcmVhZGxpbmUuaCIKLUBAIC0zNTksMTIgKzM2MCwyNyBAQAorQEAg LTM0NiwxMiArMzQ3LDI3IEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNvbnN0IGNoYXIgKmZpbGVuYW1l LCBpbnQgZnJvbV90dHkpCiAgCiAgICAgICAgaWYgKCFiZmRfY2hlY2tfZm9ybWF0X21hdGNoZXMg KGV4ZWNfYmZkLCBiZmRfb2JqZWN0LCAmbWF0Y2hpbmcpKQogIAl7CkBAIC0xMDcsMTEgKzEyNSwx MSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2V4ZWMuYwogIAl9CiAgCiAgICAg ICAgaWYgKGJ1aWxkX3NlY3Rpb25fdGFibGUgKGV4ZWNfYmZkLCAmc2VjdGlvbnMsICZzZWN0aW9u c19lbmQpKQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9tYWluLmMKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9tYWluLmMJMjAxNy0wMi0yNyAy MjoxODowMC45NDUwMjYyMTEgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbWFp bi5jCTIwMTctMDItMjcgMjI6MTg6MDguMTEyMDc2MzU3ICswMTAwCi1AQCAtNDU5LDYgKzQ1OSwz NyBAQAorZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCitpbmRleCA4ZjA0ZGEx MDdhLi5kNWI0YzNhZGI5IDEwMDY0NAorLS0tIGEvZ2RiL21haW4uYworKysrIGIvZ2RiL21haW4u YworQEAgLTQ0Niw2ICs0NDYsMzcgQEAgc3RydWN0IGNtZGFyZwogICAgY2hhciAqc3RyaW5nOwog IH07CiAgCkBAIC0xNDcsOSArMTY1LDkgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dk Yi9tYWluLmMKICt9CiArCiAgc3RhdGljIHZvaWQKLSBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBj YXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQsIGludCAmcHl0aG9uX3NjcmlwdCkKKyBjYXB0dXJl ZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgewotQEAgLTkx MCw2ICs5NDEsOCBAQAorQEAgLTg4MSw2ICs5MTIsOCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVj dCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgCXsKICAJICBzeW1hcmcgPSBhcmd2W29w dGluZF07CiAgCSAgZXhlY2FyZyA9IGFyZ3Zbb3B0aW5kXTsKQEAgLTE1OCw3ICsxNzYsNyBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL21haW4uYwogIAkgIG9wdGluZCsrOwogIAl9 CiAgCi1AQCAtMTA2MCwxMSArMTA5MywyNSBAQAorQEAgLTEwMzEsMTEgKzEwNjQsMjUgQEAgY2Fw dHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQogICAgICAg ICYmIHN5bWFyZyAhPSBOVUxMCiAgICAgICAgJiYgc3RyY21wIChleGVjYXJnLCBzeW1hcmcpID09 IDApCiAgICAgIHsKQEAgLTE3NywyNyArMTk1LDE2IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvbWFpbi5jCiAgICAgICAgLyogVGhlIGV4ZWMgZmlsZSBhbmQgdGhlIHN5bWJvbC1m aWxlIGFyZSB0aGUgc2FtZS4gIElmIHdlIGNhbid0CiAgICAgICAgICAgb3BlbiBpdCwgYmV0dGVy IG9ubHkgcHJpbnQgb25lIGVycm9yIG1lc3NhZ2UuCiAtICAgICAgICAgY2F0Y2hfY29tbWFuZF9l cnJvcnMgcmV0dXJucyBub24temVybyBvbiBzdWNjZXNzISAgKi8KLS0gICAgICBpZiAoY2F0Y2hf Y29tbWFuZF9lcnJvcnNfY29uc3QgKGV4ZWNfZmlsZV9hdHRhY2gsIGV4ZWNhcmcsCi0tCQkJCSAg ICAgICFiYXRjaF9mbGFnKSkKKy0gICAgICBpZiAoY2F0Y2hfY29tbWFuZF9lcnJvcnMgKGV4ZWNf ZmlsZV9hdHRhY2gsIGV4ZWNhcmcsCistCQkJCSFiYXRjaF9mbGFnKSkKICsgICAgICAgICBjYXRj aF9jb21tYW5kX2Vycm9ycyByZXR1cm5zIG5vbi16ZXJvIG9uIHN1Y2Nlc3MhCiArCSBEbyBub3Qg bG9hZCBFWEVDQVJHIGFzIGEgc3ltYm9sIGZpbGUgaWYgaXQgaGFzIGJlZW4gYWxyZWFkeSBwcm9j ZXNzZWQKICsJIGFzIGEgY29yZSBmaWxlLiAgKi8KLSsgICAgICBpZiAoY2F0Y2hfY29tbWFuZF9l cnJvcnNfY29uc3QgKGZ1bmMsIGV4ZWNhcmcsICFiYXRjaF9mbGFnKQorKyAgICAgIGlmIChjYXRj aF9jb21tYW5kX2Vycm9ycyAoZnVuYywgZXhlY2FyZywgIWJhdGNoX2ZsYWcpCiArCSAgJiYgY29y ZV9iZmQgPT0gTlVMTCkKLSAJY2F0Y2hfY29tbWFuZF9lcnJvcnNfY29uc3QgKHN5bWJvbF9maWxl X2FkZF9tYWluX2FkYXB0ZXIsIHN5bWFyZywKLSAJCQkJICAgICFiYXRjaF9mbGFnKTsKKyAJY2F0 Y2hfY29tbWFuZF9lcnJvcnMgKHN5bWJvbF9maWxlX2FkZF9tYWluX2FkYXB0ZXIsIHN5bWFyZywK KyAJCQkgICAgICAhYmF0Y2hfZmxhZyk7CiAgICAgIH0KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIyNi9nZGIvY29tbW9uL2NvbW1vbi1leGNlcHRpb25zLmgKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9jb21tb24vY29tbW9uLWV4Y2VwdGlvbnMuaAkyMDE3 LTAyLTI3IDIyOjE4OjAwLjk0NjAyNjIxOCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2 L2dkYi9jb21tb24vY29tbW9uLWV4Y2VwdGlvbnMuaAkyMDE3LTAyLTI3IDIyOjE4OjA4LjExMjA3 NjM1NyArMDEwMAotQEAgLTEwNiw2ICsxMDYsOSBAQAotICAgICAgIl9FUlJPUiIgaXMgYXBwZW5k ZWQgdG8gdGhlIG5hbWUuICAqLwotICAgTUFYX0NPTVBMRVRJT05TX1JFQUNIRURfRVJST1IsCi0g Ci0rICAvKiBBdHRlbXB0IHRvIGxvYWQgYSBjb3JlIGZpbGUgYXMgZXhlY3V0YWJsZS4gICovCi0r ICBJU19DT1JFX0VSUk9SLAotKwotICAgLyogQWRkIG1vcmUgZXJyb3JzIGhlcmUuICAqLwotICAg TlJfRVJST1JTCi0gfTsKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxk aWQtbG9jYXRlLW1pc2xlYWRpbmctd2FybmluZy1taXNzaW5nLWRlYnVnaW5mby1yaGJ6OTgxMTU0 LnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1taXNsZWFkaW5nLXdhcm5pbmctbWlzc2lu Zy1kZWJ1Z2luZm8tcmhiejk4MTE1NC5wYXRjaAppbmRleCAzZGM4NWE2Li5jMTBlOGYxIDEwMDY0 NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLW1pc2xlYWRpbmctd2FybmluZy1taXNzaW5n LWRlYnVnaW5mby1yaGJ6OTgxMTU0LnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUt bWlzbGVhZGluZy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKQEAg LTEsOSArMSwxNSBAQAorRnJvbSBlZTk1ZjFlMTY1ODk2Zjg2MDI2OGI0NmUwNGZjMTcxMTM3NGFm MDE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxp bnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAK LVN1YmplY3Q6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3Np bmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKK1N1YmplY3Q6IAorIGdkYi02LjYtYnVpbGRp ZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQu cGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJu aW5nLW1pc3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKIAorOzsgRml4ICdnZGIgZ2l2 ZXMgaGlnaGx5IG1pc2xlYWRpbmcgZXJyb3Igd2hlbiBkZWJ1Z2luZm8gcGtnIGlzIHByZXNlbnQs Cis7OyBidXQgbm90IGNvcnJlc3BvbmRpbmcgYmluYXJ5IHBrZycgKFJIIEJaIDk4MTE1NCkuCis7 Oz1wdXNoK2phbgorCiBDb21tZW50cyBieSBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgPHNlcmdpb2Rq QHJlZGhhdC5jb20+OgogCiAgIFRoaXMgaXMgdGhlIGZpeCBmb3IgUkggQlogIzk4MTE1NApAQCAt MjAsMTEgKzI2LDMzIEBAIENvbW1lbnRzIGJ5IFNlcmdpbyBEdXJpZ2FuIEp1bmlvciA8c2VyZ2lv ZGpAcmVkaGF0LmNvbT46CiAgIGFuZCBoYWQgYSBsaXR0bGUgdGhpbmtvIHRoZXJlLiAgVGhlIHZh cmlhYmxlICdmaWxlbmFtZScgbmVlZHMgdG8gYmUgc2V0IHRvCiAgIE5VTEwgYWZ0ZXIgaXQgaXMg ZnJlZSdkLCBvdGhlcndpc2UgdGhlIGNvZGUgYmVsb3cgdGhpbmtzIHRoYXQgaXQgaXMgc3RpbGwK ICAgdmFsaWQgYW5kIGRvZXNuJ3QgcHJpbnQgdGhlIG5lY2Vzc2FyeSB3YXJuaW5nICgiVHJ5OiB5 dW0gaW5zdGFsbCAuLi4iKS4KKy0tLQorIGdkYi9idWlsZC1pZC5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDUgKy0KKyAuLi4vcmhiejk4MTE1NC1taXNsZWFkaW5nLXl1 bS1pbnN0YWxsLXdhcm5pbmcuZXhwICB8IDk3ICsrKysrKysrKysrKysrKysrKysrKysKKyAyIGZp bGVzIGNoYW5nZWQsIDEwMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvcmhiejk4MTE1NC1taXNsZWFkaW5nLXl1 bS1pbnN0YWxsLXdhcm5pbmcuZXhwCiAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3JoYno5ODExNTQtbWlzbGVhZGluZy15dW0taW5zdGFsbC13YXJu aW5nLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2Uvcmhiejk4MTE1NC1taXNsZWFkaW5nLXl1bS1pbnN0YWxsLXdhcm5pbmcuZXhwCTIwMTct MDItMjYgMTk6MTQ6NTguNDkyNjA5NjU5ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlk LmMgYi9nZGIvYnVpbGQtaWQuYworaW5kZXggYTFmZDNiZmFhYi4uODMxZjE2NDU5ZiAxMDA2NDQK Ky0tLSBhL2dkYi9idWlsZC1pZC5jCisrKysgYi9nZGIvYnVpbGQtaWQuYworQEAgLTU5Miw3ICs1 OTIsMTAgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChzaXplX3QgYnVpbGRfaWRfbGVuLCBjb25z dCBiZmRfYnl0ZSAqYnVpbGRfaWQsCisgCSAgZG9fY2xlYW51cHMgKGlubmVyKTsKKyAKKyAJICBp ZiAoYWJmZCA9PSBOVUxMKQorLQkgICAgY29udGludWU7CisrCSAgICB7CisrCSAgICAgIGZpbGVu YW1lID0gTlVMTDsKKysJICAgICAgY29udGludWU7CisrCSAgICB9CisgCisgCSAgaWYgKGJ1aWxk X2lkX3ZlcmlmeSAoYWJmZC5nZXQoKSwgYnVpbGRfaWRfbGVuLCBidWlsZF9pZCkpCisgCSAgICBi cmVhazsKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JoYno5ODExNTQtbWlz bGVhZGluZy15dW0taW5zdGFsbC13YXJuaW5nLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv cmhiejk4MTE1NC1taXNsZWFkaW5nLXl1bS1pbnN0YWxsLXdhcm5pbmcuZXhwCituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYmI3MGM1Y2Y0NAorLS0tIC9kZXYvbnVsbAor KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yaGJ6OTgxMTU0LW1pc2xlYWRpbmcteXVtLWlu c3RhbGwtd2FybmluZy5leHAKIEBAIC0wLDAgKzEsOTcgQEAKICsjICAgQ29weXJpZ2h0IChDKSAy MDE0ICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEyMywxOSArMTUxLDYg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvcmhi ejk4MTE1NC1taXNsZWFkaW5nLXl1bS1pbnMKICsKICsjIExlYXZpbmcgdGhlIGxpbmsgdGhlcmUg d2lsbCBjYXVzZSBicmVha2FnZSBpbiB0aGUgbmV4dCBydW4uCiArcmVtb3RlX2V4ZWMgYnVpbGQg InJtIC1mIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAke2J1aWxkX2lkX3dpdGhvdXRfZGVidWd9XSIK LUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYnVpbGQtaWQuYwotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2J1aWxkLWlkLmMJMjAxNy0wMi0yNiAx OToxNDo1MS45NDM1NjI3OTkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYnVp bGQtaWQuYwkyMDE3LTAyLTI2IDE5OjE0OjU4LjQ5MjYwOTY1OSArMDEwMAotQEAgLTU4OSw3ICs1 ODksMTAgQEAKLSAJICBkb19jbGVhbnVwcyAoaW5uZXIpOwotIAotIAkgIGlmIChhYmZkID09IE5V TEwpCi0tCSAgICBjb250aW51ZTsKLSsJICAgIHsKLSsJICAgICAgZmlsZW5hbWUgPSBOVUxMOwot KwkgICAgICBjb250aW51ZTsKLSsJICAgIH0KLSAKLSAJICBpZiAoYnVpbGRfaWRfdmVyaWZ5IChh YmZkLmdldCgpLCBidWlsZF9pZF9sZW4sIGJ1aWxkX2lkKSkKLSAJICAgIGJyZWFrOworLS0gCisy LjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxpYnJwbS13 b3JrYXJvdW5kLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmth cm91bmQucGF0Y2gKaW5kZXggYWVkMWZmZi4uZjM4ZWFkMyAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKKysrIGIvZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKQEAgLTEsMjcgKzEsMjIg QEAKK0Zyb20gZjE5M2M0MTc1N2FhYjgxMGQxMTMzOWMxYTAwMWI2ZWEzM2I5NTc1ZiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFp bC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBn ZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3VuZC5wYXRjaAogCiBGaWxl TmFtZTogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gK IAorOzsgV29ya2Fyb3VuZCBsaWJycG0gQlogNjQzMDMxIGR1ZSB0byBpdHMgdW5leHBlY3RlZCBl eGl0KCkgY2FsbHMgKEJaIDY0Mjg3OSkuCis7Oz1wdXNoK2phbgorLS0tCisgZ2RiL2J1aWxkLWlk LmMgICAgICAgIHwgMTMgKysrKysrKysrKysrKworIGdkYi9wcm9jLXNlcnZpY2UubGlzdCB8ICAz ICsrKworIDIgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogZ2RiLTcu Ni45MC4yMDE0MDEyNy9nZGIvcHJvYy1zZXJ2aWNlLmxpc3QKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny42LjkwLjIwMTQwMTI3Lm9yaWcvZ2RiL3Byb2Mtc2VydmljZS5saXN0CTIwMTQtMDItMDYgMTc6 MzI6NDIuODEwNjQwMzIwICswMTAwCi0rKysgZ2RiLTcuNi45MC4yMDE0MDEyNy9nZGIvcHJvYy1z ZXJ2aWNlLmxpc3QJMjAxNC0wMi0wNiAxNzozMzozNS40MDY2OTY5NjQgKzAxMDAKLUBAIC0zNyw0 ICszNyw3IEBACi0gICBwc19wc3RvcDsKLSAgIHBzX3B0cmVhZDsKLSAgIHBzX3B0d3JpdGU7Ci0r Ci0rICAvKiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaCAqLwotKyAgcnBtc3FFbmFi bGU7Ci0gfTsKLUluZGV4OiBnZGItNy42LjkwLjIwMTQwMTI3L2dkYi9idWlsZC1pZC5jCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuNi45MC4yMDE0MDEyNy5vcmlnL2dkYi9idWlsZC1pZC5jCTIwMTQt MDItMDYgMTc6MzA6MTQuMjMwNDgwMjY0ICswMTAwCi0rKysgZ2RiLTcuNi45MC4yMDE0MDEyNy9n ZGIvYnVpbGQtaWQuYwkyMDE0LTAyLTA2IDE3OjM0OjI4Ljg0Njc1NDI4MyArMDEwMAotQEAgLTY3 Nyw2ICs2NzcsMTkgQEAgYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGNvbnN0IHN0cnVjdCBlbGZfYgor ZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKK2luZGV4IGQ0MjBl M2Y5ZTcuLmExZmQzYmZhYWIgMTAwNjQ0CistLS0gYS9nZGIvYnVpbGQtaWQuYworKysrIGIvZ2Ri L2J1aWxkLWlkLmMKK0BAIC02NzgsNiArNjc4LDE5IEBAIGJ1aWxkX2lkX3RvX2ZpbGVuYW1lIChj b25zdCBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCwgY2hhciAqKmxpbmtfcmV0dXJuKQog ICNpbmNsdWRlIDxkbGZjbi5oPgogICNlbmRpZgogIApAQCAtNDEsMyArMzYsMTggQEAgSW5kZXg6 IGdkYi03LjYuOTAuMjAxNDAxMjcvZ2RiL2J1aWxkLWlkLmMKICAvKiBUaGlzIE1JU1NJTkdfUlBN X0hBU0ggdHJhY2tlciBpcyB1c2VkIHRvIGNvbGxlY3QgYWxsIHRoZSBtaXNzaW5nIHJwbSBmaWxl cwogICAgIGFuZCBhdm9pZCB0aGVpciBkdXBsaWNpdGllcyBkdXJpbmcgYSBzaW5nbGUgaW5mZXJp b3IgcnVuLiAgKi8KICAKK2RpZmYgLS1naXQgYS9nZGIvcHJvYy1zZXJ2aWNlLmxpc3QgYi9nZGIv cHJvYy1zZXJ2aWNlLmxpc3QKK2luZGV4IDc5YzJlNWI3ZmMuLmFjODM2NDkyOGMgMTAwNjQ0Cist LS0gYS9nZGIvcHJvYy1zZXJ2aWNlLmxpc3QKKysrKyBiL2dkYi9wcm9jLXNlcnZpY2UubGlzdAor QEAgLTM3LDQgKzM3LDcgQEAKKyAgIHBzX3BzdG9wOworICAgcHNfcHRyZWFkOworICAgcHNfcHR3 cml0ZTsKKysKKysgIC8qIGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoICovCisrICBy cG1zcUVuYWJsZTsKKyB9OworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVp bGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNj bC5wYXRjaAppbmRleCBmMzc1MmViLi43M2Y2OTAwIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxk aWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0t c2NsLnBhdGNoCkBAIC0xLDE2ICsxLDI1IEBACitGcm9tIDFlZGMxOTkwN2EzZmY2NjEzMmNjYTY5 YzU0YjBjZGZlYWYyMWEyYjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEg R0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAy MTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tc2NsLnBh dGNoCiAKIEZpbGVOYW1lOiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKIAor OzsgW1NDTF0gU2tpcCBkZXByZWNhdGVkIC5nZGJfaW5kZXggd2FybmluZyBmb3IgUmVkIEhhdCBi dWlsdCBmaWxlcyAoQlogOTUzNTg1KS4KKzs7PXB1c2gramFuCisKIHdhcm5pbmc6IFNraXBwaW5n IGRlcHJlY2F0ZWQgLmdkYl9pbmRleCBzZWN0aW9uCiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5j b20vc2hvd19idWcuY2dpP2lkPTk1MzU4NQorLS0tCisgZ2RiL2J1aWxkLWlkLmMgICB8IDU0ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdk Yi9kd2FyZjJyZWFkLmMgfCAxNCArKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgNjgg aW5zZXJ0aW9ucygrKQogCi1kaWZmIC1kdXAgLXJ1cCBnZGItNy4xMC41MC4yMDE2MDEwNi1vcmln L2dkYi9idWlsZC1pZC5jIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9idWlsZC1pZC5jCi0tLS0g Z2RiLTcuMTAuNTAuMjAxNjAxMDYtb3JpZy9nZGIvYnVpbGQtaWQuYwkyMDE2LTAxLTA5IDE0OjQw OjM5LjQyMDM4NTI0MSArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9idWlsZC1p ZC5jCTIwMTYtMDEtMDkgMTQ6NDE6MDUuOTQ0NTQ5MzkzICswMTAwCi1AQCAtNzEzLDcgKzcxMywx MSBAQCBzdGF0aWMgaW50IG1pc3NpbmdfcnBtX2xpc3RfZW50cmllczsKK2RpZmYgLS1naXQgYS9n ZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCitpbmRleCA4MzFmMTY0NTlmLi41MzFlNjUy ZTc1IDEwMDY0NAorLS0tIGEvZ2RiL2J1aWxkLWlkLmMKKysrKyBiL2dkYi9idWlsZC1pZC5jCitA QCAtNzE1LDcgKzcxNSwxMSBAQCBzdGF0aWMgaW50IG1pc3NpbmdfcnBtX2xpc3RfZW50cmllczsK ICAvKiBSZXR1cm5zIHRoZSBjb3VudCBvZiBuZXdseSBhZGRlZCBycG1zLiAgKi8KICAKICBzdGF0 aWMgaW50CkBAIC0yMiw3ICszMSw3IEBAIGRpZmYgLWR1cCAtcnVwIGdkYi03LjEwLjUwLjIwMTYw MTA2LW9yaWcvZ2RiL2J1aWxkLWlkLmMgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiCiAgewogICAg c3RhdGljIGludCBycG1faW5pdF9kb25lID0gMDsKICAgIHJwbXRzIHRzOwotQEAgLTgxNyw3ICs4 MjEsMTEgQEAgbWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxlbmFtZQorQEAgLTgy Miw3ICs4MjYsMTEgQEAgbWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxlbmFtZSkK ICAgIG1pID0gcnBtdHNJbml0SXRlcmF0b3JfcCAodHMsIFJQTVRBR19CQVNFTkFNRVMsIGZpbGVu YW1lLCAwKTsKICAgIGlmIChtaSAhPSBOVUxMKQogICAgICB7CkBAIC0zNCw3ICs0Myw3IEBAIGRp ZmYgLWR1cCAtcnVwIGdkYi03LjEwLjUwLjIwMTYwMTA2LW9yaWcvZ2RiL2J1aWxkLWlkLmMgZ2Ri LTcuMTAuNTAuMjAxNjAxMDYvZ2RiCiAgCXsKICAJICBIZWFkZXIgaDsKICAJICBjaGFyICpkZWJ1 Z2luZm8sICoqc2xvdCwgKnMsICpzMjsKLUBAIC05MzUsNiArOTQzLDM3IEBAIG1pc3NpbmdfcnBt X2VubGlzdCAoY29uc3QgY2hhciAqZmlsZW5hbWUKK0BAIC05NDAsNiArOTQ4LDM3IEBAIG1pc3Np bmdfcnBtX2VubGlzdCAoY29uc3QgY2hhciAqZmlsZW5hbWUpCiAgCSAgICB4ZnJlZSAoZGVidWdp bmZvKTsKICAJICBjb3VudCsrOwogIAl9CkBAIC03Miw3ICs4MSw3IEBAIGRpZmYgLWR1cCAtcnVw IGdkYi03LjEwLjUwLjIwMTYwMTA2LW9yaWcvZ2RiL2J1aWxkLWlkLmMgZ2RiLTcuMTAuNTAuMjAx NjAxMDYvZ2RiCiAgCiAgICAgICAgcnBtZGJGcmVlSXRlcmF0b3JfcCAobWkpOwogICAgICB9Ci1A QCAtOTQ1LDYgKzk4NCwyMSBAQCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIgKmZpbGVu YW1lCitAQCAtOTUwLDYgKzk4OSwyMSBAQCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIg KmZpbGVuYW1lKQogIH0KICAKICBzdGF0aWMgaW50CkBAIC05NCwxMCArMTAzLDExIEBAIGRpZmYg LWR1cCAtcnVwIGdkYi03LjEwLjUwLjIwMTYwMTA2LW9yaWcvZ2RiL2J1aWxkLWlkLmMgZ2RiLTcu MTAuNTAuMjAxNjAxMDYvZ2RiCiAgbWlzc2luZ19ycG1fbGlzdF9jb21wYXIgKGNvbnN0IGNoYXIg KmNvbnN0ICphcCwgY29uc3QgY2hhciAqY29uc3QgKmJwKQogIHsKICAgIHJldHVybiBzdHJjb2xs ICgqYXAsICpicCk7Ci1kaWZmIC1kdXAgLXJ1cCBnZGItNy4xMC41MC4yMDE2MDEwNi1vcmlnL2dk Yi9kd2FyZjJyZWFkLmMgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL2R3YXJmMnJlYWQuYwotLS0t IGdkYi03LjEwLjUwLjIwMTYwMTA2LW9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDE2LTAxLTA5IDE0 OjQwOjM5LjQxNjM4NTIxNiArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi9kd2Fy ZjJyZWFkLmMJMjAxNi0wMS0wOSAxNDo0MTowNS45NDI1NDkzODEgKzAxMDAKLUBAIC0zMTExLDYg KzMxMTEsMTYgQEAgcmVhZF9pbmRleF9mcm9tX3NlY3Rpb24gKHN0cnVjdCBvYmpmaWxlCitkaWZm IC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKK2luZGV4IDQ5YjI2 NThhZGUuLmU0NDg0NGZiZDcgMTAwNjQ0CistLS0gYS9nZGIvZHdhcmYycmVhZC5jCisrKysgYi9n ZGIvZHdhcmYycmVhZC5jCitAQCAtMzM3Myw2ICszMzczLDE2IEBAIHJlYWRfaW5kZXhfZnJvbV9z ZWN0aW9uIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAgICAgICJzZXQgdXNlLWRlcHJlY2F0 ZWQtaW5kZXgtc2VjdGlvbnMgb24iLiAgKi8KICAgIGlmICh2ZXJzaW9uIDwgNiAmJiAhZGVwcmVj YXRlZF9vaykKICAgICAgewpAQCAtMTE0LDcgKzEyNCw3IEBAIGRpZmYgLWR1cCAtcnVwIGdkYi03 LjEwLjUwLjIwMTYwMTA2LW9yaWcvZ2RiL2R3YXJmMnJlYWQuYyBnZGItNy4xMC41MC4yMDE2MDEw Ni9nCiAgICAgICAgc3RhdGljIGludCB3YXJuaW5nX3ByaW50ZWQgPSAwOwogICAgICAgIGlmICgh d2FybmluZ19wcmludGVkKQogIAl7Ci1AQCAtMzEyMiw2ICszMTMyLDEwIEBAIHRvIHVzZSB0aGUg c2VjdGlvbiBhbnl3YXkuIiksCitAQCAtMzM4NCw2ICszMzk0LDEwIEBAIHRvIHVzZSB0aGUgc2Vj dGlvbiBhbnl3YXkuIiksCiAgCSAgd2FybmluZ19wcmludGVkID0gMTsKICAJfQogICAgICAgIHJl dHVybiAwOwpAQCAtMTI1LDMgKzEzNSw2IEBAIGRpZmYgLWR1cCAtcnVwIGdkYi03LjEwLjUwLjIw MTYwMTA2LW9yaWcvZ2RiL2R3YXJmMnJlYWQuYyBnZGItNy4xMC41MC4yMDE2MDEwNi9nCiAgICAg IH0KICAgIC8qIFZlcnNpb24gNyBpbmRpY2VzIGdlbmVyYXRlZCBieSBnb2xkIHJlZmVyIHRvIHRo ZSBDVSBmb3IgYSBzeW1ib2wgaW5zdGVhZAogICAgICAgb2YgdGhlIFRVIChmb3Igc3ltYm9scyBj b21pbmcgZnJvbSBUVXMpLAorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVp bGRpZC1sb2NhdGUtcnBtLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gK aW5kZXggZGE4NDgzNi4uZjEwNjdiZCAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0 ZS1ycG0ucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKQEAgLTEs NjEgKzEsMjcgQEAKK0Zyb20gODg4MjcxNjUxMmEyYTY1NmVkZjhhNjAwYWY3OWY1MzYzMGU1NjMy YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52 YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBT dWJqZWN0OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaAogCiBGaWxlTmFtZTogZ2Ri LTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKIAorOzs9cHVzaCtqYW4KKy0tLQorIGdkYi9h Y2xvY2FsLm00ICAgfCAyMTUgKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvYnVpbGQtaWQu YyAgIHwgNDA3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCisg Z2RiL2NvbmZpZy5pbiAgICB8ICAgNiArCisgZ2RiL2NvbmZpZ3VyZSAgICB8IDUwOCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL2Nv bmZpZ3VyZS5hYyB8IDE5MyArKysrKysrKysrKysrKysrKysrKysKKyBnZGIvY29yZWxvdy5jICAg IHwgICAyICstCisgZ2RiL2V2ZW50LXRvcC5jICB8ICAgOCArLQorIGdkYi9zeW1maWxlLmggICAg fCAgIDIgKworIDggZmlsZXMgY2hhbmdlZCwgMTMzMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlv bnMoLSkKIAotSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNjMwL2dkYi9ldmVudC10b3AuYwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjExLjUwLjIwMTYwNjMwLm9yaWcvZ2RiL2V2ZW50LXRvcC5jCTIw MTYtMDctMDIgMjM6NDM6MjQuMDg1MjE0MTQ0ICswMjAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2 MzAvZ2RiL2V2ZW50LXRvcC5jCTIwMTYtMDctMDMgMTQ6Mzc6MTIuNTcyMTMwNzM0ICswMjAwCi1A QCAtNDAsNiArNDAsNyBAQAotICNpbmNsdWRlICJidWZmZXIuaCIKLSAjaW5jbHVkZSAic2VyLWV2 ZW50LmgiCi0gI2luY2x1ZGUgImdkYl9zZWxlY3QuaCIKLSsjaW5jbHVkZSAic3ltZmlsZS5oIgot IAotIC8qIHJlYWRsaW5lIGluY2x1ZGUgZmlsZXMuICAqLwotICNpbmNsdWRlICJyZWFkbGluZS9y ZWFkbGluZS5oIgotQEAgLTM0Nyw2ICszNDgsOCBAQAotICAgLyogUmVzZXQgdGhlIG5lc3Rpbmcg ZGVwdGggdXNlZCB3aGVuIHRyYWNlLWNvbW1hbmRzIGlzIHNldC4gICovCi0gICByZXNldF9jb21t YW5kX25lc3RfZGVwdGggKCk7Ci0gCi0rICBkZWJ1Z19mbHVzaF9taXNzaW5nICgpOwotKwotICAg b2xkX2NoYWluID0gbWFrZV9jbGVhbnVwIChmcmVlX2N1cnJlbnRfY29udGVudHMsICZhY3R1YWxf Z2RiX3Byb21wdCk7Ci0gCi0gICAvKiBEbyBub3QgY2FsbCB0aGUgcHl0aG9uIGhvb2sgb24gYW4g ZXhwbGljaXQgcHJvbXB0IGNoYW5nZSBhcwotQEAgLTc5NCw3ICs3OTcsMTAgQEAKLSAgICAgICBj b21tYW5kX2hhbmRsZXIgKGNtZCk7Ci0gCi0gICAgICAgaWYgKHVpLT5wcm9tcHRfc3RhdGUgIT0g UFJPTVBURUQpCi0tCWRpc3BsYXlfZ2RiX3Byb21wdCAoMCk7Ci0rCXsKLSsJICBkZWJ1Z19mbHVz aF9taXNzaW5nICgpOwotKwkgIGRpc3BsYXlfZ2RiX3Byb21wdCAoMCk7Ci0rCX0KLSAgICAgfQot IH0KLSAKLUluZGV4OiBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvc3ltZmlsZS5oCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTEuNTAuMjAxNjA2MzAub3JpZy9nZGIvc3ltZmlsZS5oCTIwMTYtMDct MDMgMTQ6MzQ6MzIuMDMyNzUzNjY4ICswMjAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2Ri L3N5bWZpbGUuaAkyMDE2LTA3LTAzIDE0OjM3OjEyLjU3MzEzMDc0MiArMDIwMAotQEAgLTU5Miw2 ICs1OTIsOCBAQAotIC8qIGJ1aWxkLWlkIHN1cHBvcnQuICAqLwotIGV4dGVybiBzdHJ1Y3QgYmZk X2J1aWxkX2lkICpidWlsZF9pZF9hZGRyX2dldCAoQ09SRV9BRERSIGFkZHIpOwotIGV4dGVybiB2 b2lkIGRlYnVnX3ByaW50X21pc3NpbmcgKGNvbnN0IGNoYXIgKmJpbmFyeSwgY29uc3QgY2hhciAq ZGVidWcpOwotK2V4dGVybiB2b2lkIGRlYnVnX2ZsdXNoX21pc3NpbmcgKHZvaWQpOwotKyNkZWZp bmUgQlVJTERfSURfTUFJTl9FWEVDVVRBQkxFX0ZJTEVOQU1FIF8oInRoZSBtYWluIGV4ZWN1dGFi bGUgZmlsZSIpCi0gCi0gLyogRnJvbSBkd2FyZjJyZWFkLmMgKi8KLSAKLUluZGV4OiBnZGItNy4x MS41MC4yMDE2MDYzMC9nZGIvYWNsb2NhbC5tNAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjExLjUw LjIwMTYwNjMwLm9yaWcvZ2RiL2FjbG9jYWwubTQJMjAxNi0wNy0wMiAyMzo0MzoyNC4wODUyMTQx NDQgKzAyMDAKLSsrKyBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvYWNsb2NhbC5tNAkyMDE2LTA3 LTAzIDE0OjM3OjEyLjU3NjEzMDc2OCArMDIwMAotQEAgLTExLDYgKzExLDIyMSBAQAorZGlmZiAt LWdpdCBhL2dkYi9hY2xvY2FsLm00IGIvZ2RiL2FjbG9jYWwubTQKK2luZGV4IGUwZDM4ZWEyNjcu LmRhNWFjMzEzZTMgMTAwNjQ0CistLS0gYS9nZGIvYWNsb2NhbC5tNAorKysrIGIvZ2RiL2FjbG9j YWwubTQKK0BAIC0xMiw2ICsxMiwyMjEgQEAKICAjIGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEKICAjIFBBUlRJQ1VMQVIgUFVSUE9T RS4KICAKQEAgLTI3Niw1OTIgKzI0Miw1MzkgQEAgSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNjMw L2dkYi9hY2xvY2FsLm00CiArCiAgIyBBTV9BVVhfRElSX0VYUEFORCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQogIAotICMgQ29weXJpZ2h0 IChDKSAyMDAxLCAyMDAzLCAyMDA1ICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLUlu ZGV4OiBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvY29uZmlnLmluCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTEuNTAuMjAxNjA2MzAub3JpZy9nZGIvY29uZmlnLmluCTIwMTYtMDctMDIgMjM6NDM6 MjQuMDg1MjE0MTQ0ICswMjAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2NvbmZpZy5p bgkyMDE2LTA3LTAzIDE0OjM3OjEyLjU3NjEzMDc2OCArMDIwMAotQEAgLTMzLDYgKzMzLDkgQEAK LSAvKiBEZWZpbmUgdG8gQkZEJ3MgZGVmYXVsdCB0YXJnZXQgdmVjdG9yLiAqLwotICN1bmRlZiBE RUZBVUxUX0JGRF9WRUMKKyAjIENvcHlyaWdodCAoQykgMjAwMSwgMjAwMywgMjAwNSwgMjAxMSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KK2RpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQu YyBiL2dkYi9idWlsZC1pZC5jCitpbmRleCAxMWQzNzc0ZDllLi5kNDIwZTNmOWU3IDEwMDY0NAor LS0tIGEvZ2RiL2J1aWxkLWlkLmMKKysrKyBiL2dkYi9idWlsZC1pZC5jCitAQCAtMzUsNiArMzUs OCBAQAorICNpbmNsdWRlICJlbGYvY29tbW9uLmgiCisgI2luY2x1ZGUgImVsZi1iZmQuaCIKKyAj aW5jbHVkZSA8c3lzL3N0YXQuaD4KKysjaW5jbHVkZSAiZWxmL2V4dGVybmFsLmgiCisrI2luY2x1 ZGUgImluZmVyaW9yLmgiCiAgCi0rLyogbGlicnBtIHZlcnNpb24gc3BlY2lmaWMgbGlicmFyeSBu YW1lIHRvIGRsb3Blbi4gKi8KLSsjdW5kZWYgRExPUEVOX0xJQlJQTQotKwotIC8qIERlZmluZSB0 byAxIGlmIHRyYW5zbGF0aW9uIG9mIHByb2dyYW0gbWVzc2FnZXMgdG8gdGhlIHVzZXIncyBuYXRp dmUKLSAgICBsYW5ndWFnZSBpcyByZXF1ZXN0ZWQuICovCi0gI3VuZGVmIEVOQUJMRV9OTFMKLUBA IC0yNjEsNiArMjY0LDkgQEAKLSAvKiBEZWZpbmUgaWYgUHl0aG9uIDIuNyBpcyBiZWluZyB1c2Vk LiAqLwotICN1bmRlZiBIQVZFX0xJQlBZVEhPTjJfNworICNkZWZpbmUgQlVJTERfSURfVkVSQk9T RV9OT05FIDAKKyAjZGVmaW5lIEJVSUxEX0lEX1ZFUkJPU0VfRklMRU5BTUVTIDEKK0BAIC02NjYs OCArNjY4LDM2NiBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGJmZF9idWls ZF9pZCAqYnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikKKyAgIHJldHVybiByZXN1bHQ7Cisg fQogIAotKy8qIERlZmluZSBpZiBsaWJycG0gbGlicmFyeSBpcyBiZWluZyB1c2VkLiAqLwotKyN1 bmRlZiBIQVZFX0xJQlJQTQorKyNpZmRlZiBIQVZFX0xJQlJQTQogKwotIC8qIERlZmluZSB0byAx IGlmIHlvdSBoYXZlIHRoZSA8bGlidW53aW5kLWlhNjQuaD4gaGVhZGVyIGZpbGUuICovCi0gI3Vu ZGVmIEhBVkVfTElCVU5XSU5EX0lBNjRfSAotIAotSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNjMw L2dkYi9jb25maWd1cmUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMS41MC4yMDE2MDYzMC5vcmln L2dkYi9jb25maWd1cmUJMjAxNi0wNy0wMiAyMzo0MzoyNC4wODUyMTQxNDQgKzAyMDAKLSsrKyBn ZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvY29uZmlndXJlCTIwMTYtMDctMDMgMTQ6Mzc6MTIuNTgx MTMwODExICswMjAwCi1AQCAtNzA1LDYgKzcwNSwxMSBAQAotIEhBVkVfTkFUSVZFX0dDT1JFX1RB UkdFVAotIFRBUkdFVF9PQlMKLSBzdWJkaXJzCi0rUlBNX0xJQlMKLStSUE1fQ0ZMQUdTCi0rUEtH X0NPTkZJR19MSUJESVIKLStQS0dfQ09ORklHX1BBVEgKLStQS0dfQ09ORklHCi0gR0RCX0RBVEFE SVIKLSBERUJVR0RJUgotIE1BS0VJTkZPX0VYVFJBX0ZMQUdTCi1AQCAtODE0LDYgKzgxOSw3IEBA Ci0gd2l0aF9yZWxvY2F0ZWRfc291cmNlcwotIHdpdGhfYXV0b19sb2FkX2RpcgotIHdpdGhfYXV0 b19sb2FkX3NhZmVfcGF0aAotK3dpdGhfcnBtCi0gZW5hYmxlX3RhcmdldHMKLSBlbmFibGVfNjRf Yml0X2JmZAotIGVuYWJsZV9nZGJjbGkKLUBAIC04NzAsNiArODc2LDExIEBACi0gQ1BQCi0gTUFL RUlORk8KLSBNQUtFSU5GT0ZMQUdTCi0rUEtHX0NPTkZJRwotK1BLR19DT05GSUdfUEFUSAotK1BL R19DT05GSUdfTElCRElSCi0rUlBNX0NGTEFHUwotK1JQTV9MSUJTCi0gWUFDQwotIFlGTEFHUwot IFhNS01GJwotQEAgLTE1NDEsNiArMTU1Miw4IEBACi0gICAgICAgICAgICAgICAgICAgICAgICAg ICBbLS13aXRoLWF1dG8tbG9hZC1kaXJdCi0gICAtLXdpdGhvdXQtYXV0by1sb2FkLXNhZmUtcGF0 aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IGF1dG8tbG9hZGVk IGZpbGVzIGxvY2F0aW9ucwotKyAgLS13aXRoLXJwbSAgICAgICAgICAgICAgcXVlcnkgcnBtIGRh dGFiYXNlIGZvciBtaXNzaW5nIGRlYnVnaW5mb3MgKHllcy9ubywKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgIGRlZi4gYXV0bz1saWJycG0uc28pCi0gICAtLXdpdGgtbGlidW53aW5kLWlhNjQg ICB1c2UgbGlidW53aW5kIGZyYW1lIHVud2luZGluZyBmb3IgaWE2NCB0YXJnZXRzCi0gICAtLXdp dGgtY3Vyc2VzICAgICAgICAgICB1c2UgdGhlIGN1cnNlcyBsaWJyYXJ5IGluc3RlYWQgb2YgdGhl IHRlcm1jYXAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnkKLUBAIC0xNTk1LDYg KzE2MDgsMTMgQEAKLSAgIE1BS0VJTkZPICAgIFBhcmVudCBjb25maWd1cmUgZGV0ZWN0cyBpZiBp dCBpcyBvZiBzdWZmaWNpZW50IHZlcnNpb24uCi0gICBNQUtFSU5GT0ZMQUdTCi0gICAgICAgICAg ICAgICBQYXJhbWV0ZXJzIGZvciBNQUtFSU5GTy4KLSsgIFBLR19DT05GSUcgIHBhdGggdG8gcGtn LWNvbmZpZyB1dGlsaXR5Ci0rICBQS0dfQ09ORklHX1BBVEgKLSsgICAgICAgICAgICAgIGRpcmVj dG9yaWVzIHRvIGFkZCB0byBwa2ctY29uZmlnJ3Mgc2VhcmNoIHBhdGgKLSsgIFBLR19DT05GSUdf TElCRElSCi0rICAgICAgICAgICAgICBwYXRoIG92ZXJyaWRpbmcgcGtnLWNvbmZpZydzIGJ1aWx0 LWluIHNlYXJjaCBwYXRoCi0rICBSUE1fQ0ZMQUdTICBDIGNvbXBpbGVyIGZsYWdzIGZvciBSUE0s IG92ZXJyaWRpbmcgcGtnLWNvbmZpZwotKyAgUlBNX0xJQlMgICAgbGlua2VyIGZsYWdzIGZvciBS UE0sIG92ZXJyaWRpbmcgcGtnLWNvbmZpZwotICAgWUFDQyAgICAgICAgVGhlIGBZZXQgQW5vdGhl ciBDIENvbXBpbGVyJyBpbXBsZW1lbnRhdGlvbiB0byB1c2UuIERlZmF1bHRzIHRvCi0gICAgICAg ICAgICAgICB0aGUgZmlyc3QgcHJvZ3JhbSBmb3VuZCBvdXQgb2Y6IGBiaXNvbiAteScsIGBieWFj YycsIGB5YWNjJy4KLSAgIFlGTEFHUyAgICAgIFRoZSBsaXN0IG9mIGFyZ3VtZW50cyB0aGF0IHdp bGwgYmUgcGFzc2VkIGJ5IGRlZmF1bHQgdG8gJFlBQ0MuCi1AQCAtNTYxMyw2ICs1NjMzLDQ5NCBA QAotIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkd2l0 aF9hdXRvX2xvYWRfc2FmZV9wYXRoIiA+JjUKLSAkYXNfZWNobyAiJHdpdGhfYXV0b19sb2FkX3Nh ZmVfcGF0aCIgPiY2OyB9Ci0gCi0rIyBJbnRlZ3JhdGlvbiB3aXRoIHJwbSBsaWJyYXJ5IHRvIHN1 cHBvcnQgbWlzc2luZyBkZWJ1Z2luZm8gc3VnZ2VzdGlvbnMuCi0rIyAtLXdpdGhvdXQtcnBtOiBE aXNhYmxlIGFueSBycG0gc3VwcG9ydC4KLSsjIC0td2l0aC1ycG09bGlibmFtZS5zbzogVHJ5IHRv IGR5bmFtaWNhbGx5IG9wZW4gYGxpYm5hbWUuc28nIGR1cmluZyBydW50aW1lLgotKyMgICBFdmVu IHdpdGggcnVudGltZSBtaXNzaW5nIGBsaWJuYW1lLnNvJyBHREIgd2lsbCBzdGlsbCBvdGhlciBy dW4gY29ycmVjdGx5LgotKyMgICBNaXNzaW5nIGBsaWJuYW1lLnNvJyBkdXJpbmcgLi9jb25maWd1 cmUgd2lsbCBhYm9ydCB0aGUgY29uZmlndXJhdGlvbi4KLSsjIC0td2l0aC1ycG09bGlicnBtLnNv OiBMaWtlIGAtLXdpdGgtcnBtPWxpYm5hbWUuc28nIGJ1dCB0cnkgdG8gZmluZCBzcGVjaWZpYwot KyMgICBtaW5vciB2ZXJzaW9uIGZpcnN0IHN1Y2ggYXMgYGxpYnJwbS00LjYuc28nIGFzIG1pbm9y IHZlcnNpb24gZGlmZmVyZW5jZXMKLSsjICAgbWVhbiBBUEkrQUJJIGluY29tcGF0aWJpbGl0eS4g IElmIHRoZSBzcGVjaWZpYyBtYXRjaCB2ZXJzaW9uZWQgbGlicmFyeSBuYW1lCi0rIyAgIGNvdWxk IG5vdCBiZSBmb3VuZCBzdGlsbCBvcGVuIGR5bmFtaWNhbGx5IGF0IGxlYXN0IGBsaWJycG0uc28n LgotKyMgLS13aXRoLXJwbTogTGlrZSBgLS13aXRoLXJwbT1saWJycG0uc28nIGJ1dCBpZiBhbnkg b2YgaXRzIGRldGVjdGlvbiBmYWlscyB0cnkKLSsjICAgdG8gZmluZCBsaWJycG0gZm9yIGNvbXBp bGF0aW9uLXRpbWUgbGlua2luZyBieSBwa2ctY29uZmlnLiAgR0RCIGJpbmFyeSB3aWxsCi0rIyAg IGJlIHByb2JhYmx5IGxpbmtlZCB3aXRoIHRoZSB2ZXJzaW9uIHNwZWNpZmljIGxpYnJhcnkgKGFz IGBsaWJycG0tNC42LnNvJykuCi0rIyAgIEZhaWx1cmUgdG8gZmluZCBsaWJycG0gYnkgcGtnLWNv bmZpZyB3aWxsIGFib3J0IHRoZSBjb25maWd1cmF0aW9uLgotKyMgKGRlZmF1bHQpIC0td2l0aC1y cG09YXV0bzogTGlrZSBgLS13aXRoLXJwbT1saWJycG0uc28nIGJ1dCBpZiBldmVuIHBrZy1jb25m aWcKLSsjICAgY2Fubm90IGZpbmQgbGlicnBtIHVzZSB0byB0aGUgcnBtbGVzcyBjb21waWxhdGlv biAobGlrZSBgLS13aXRob3V0LXJwbScpLgorKyNpbmNsdWRlIDxycG0vcnBtbGliLmg+CisrI2lu Y2x1ZGUgPHJwbS9ycG10cy5oPgorKyNpbmNsdWRlIDxycG0vcnBtZGIuaD4KKysjaW5jbHVkZSA8 cnBtL2hlYWRlci5oPgorKyNpZmRlZiBETE9QRU5fTElCUlBNCisrI2luY2x1ZGUgPGRsZmNuLmg+ CisrI2VuZGlmCiArCisrLyogVGhpcyBNSVNTSU5HX1JQTV9IQVNIIHRyYWNrZXIgaXMgdXNlZCB0 byBjb2xsZWN0IGFsbCB0aGUgbWlzc2luZyBycG0gZmlsZXMKKysgICBhbmQgYXZvaWQgdGhlaXIg ZHVwbGljaXRpZXMgZHVyaW5nIGEgc2luZ2xlIGluZmVyaW9yIHJ1bi4gICovCiArCi0rIyBDaGVj ayB3aGV0aGVyIC0td2l0aC1ycG0gd2FzIGdpdmVuLgotK2lmIHRlc3QgIiR7d2l0aF9ycG0rc2V0 fSIgPSBzZXQ7IHRoZW4gOgotKyAgd2l0aHZhbD0kd2l0aF9ycG07Ci0rZWxzZQotKyAgd2l0aF9y cG09ImF1dG8iCi0rZmkKKytzdGF0aWMgc3RydWN0IGh0YWIgKm1pc3NpbmdfcnBtX2hhc2g7CiAr CisrLyogVGhpcyBNSVNTSU5HX1JQTV9MSVNUIHRyYWNrZXIgaXMgdXNlZCB0byBjb2xsZWN0IGFu ZCBwcmludCBhcyBhIHNpbmdsZSBsaW5lCisrICAgYWxsIHRoZSBycG1zIHJpZ2h0IGJlZm9yZSB0 aGUgbmVhcmVzdCBHREIgcHJvbXB0LiAgSXQgZ2V0cyBjbGVhcmVkIGFmdGVyCisrICAgZWFjaCBz dWNoIHByaW50IChpdCBpcyBxdWVzdGlvbmFibGUgaWYgd2Ugc2hvdWxkIGNsZWFyIGl0IGFmdGVy IHRoZSBwcmludCkuCisrICAgKi8KICsKKytzdHJ1Y3QgbWlzc2luZ19ycG0KKysgIHsKKysgICAg c3RydWN0IG1pc3NpbmdfcnBtICpuZXh0OworKyAgICBjaGFyIHJwbVsxXTsKKysgIH07Cisrc3Rh dGljIHN0cnVjdCBtaXNzaW5nX3JwbSAqbWlzc2luZ19ycG1fbGlzdDsKKytzdGF0aWMgaW50IG1p c3NpbmdfcnBtX2xpc3RfZW50cmllczsKICsKKysvKiBSZXR1cm5zIHRoZSBjb3VudCBvZiBuZXds eSBhZGRlZCBycG1zLiAgKi8KICsKLStpZiB0ZXN0ICJ4JHdpdGhfcnBtIiAhPSAieG5vIjsgdGhl bgotKyAgaWYgdGVzdCAieCR3aXRoX3JwbSIgPSAieHllcyI7IHRoZW4KLSsgICAgTElCUlBNPSJs aWJycG0uc28iCi0rICAgIFJQTV9SRVFVSVJFPXRydWUKLSsgICAgRExPUEVOX1JFUVVJUkU9ZmFs c2UKLSsgIGVsaWYgdGVzdCAieCR3aXRoX3JwbSIgPSAieGF1dG8iOyB0aGVuCi0rICAgIExJQlJQ TT0ibGlicnBtLnNvIgotKyAgICBSUE1fUkVRVUlSRT1mYWxzZQotKyAgICBETE9QRU5fUkVRVUlS RT1mYWxzZQotKyAgZWxzZQotKyAgICBMSUJSUE09IiR3aXRoX3JwbSIKLSsgICAgUlBNX1JFUVVJ UkU9dHJ1ZQotKyAgICBETE9QRU5fUkVRVUlSRT10cnVlCi0rICBmaQotKyAgTElCUlBNX1NUUklO Rz0nIiciJExJQlJQTSInIicKKytzdGF0aWMgaW50CisrbWlzc2luZ19ycG1fZW5saXN0IChjb25z dCBjaGFyICpmaWxlbmFtZSkKKyt7CisrICBzdGF0aWMgaW50IHJwbV9pbml0X2RvbmUgPSAwOwor KyAgcnBtdHMgdHM7CisrICBycG1kYk1hdGNoSXRlcmF0b3IgbWk7CisrICBpbnQgY291bnQgPSAw OwogKwotKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2lu ZyBzcGVjaWZpYyBsaWJycG0gdmVyc2lvbiIgPiY1Ci0rJGFzX2VjaG9fbiAiY2hlY2tpbmcgc3Bl Y2lmaWMgbGlicnBtIHZlcnNpb24uLi4gIiA+JjY7IH0KLSsgIEhBVkVfRExPUEVOX0xJQlJQTT1m YWxzZQotKyAgc2F2ZV9MSUJTPSIkTElCUyIKLSsgIExJQlM9IiRMSUJTIC1sZGwiCi0rICBpZiB0 ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbiA6Ci0rICB7IHsgJGFzX2VjaG8gIiRh c19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKLSsk YXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9Ci0rYXNfZm5fZXJy b3IgImNhbm5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZwotK1NlZSBc YGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiAiJExJTkVOTyIgNTsgfQotK2Vsc2UKLSsg IGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKLSsvKiBlbmQgY29u ZmRlZnMuaC4gICovCisrI2lmZGVmIERMT1BFTl9MSUJSUE0KKysgIC8qIER1cGxpY2F0ZSBoZXJl IHRoZSBkZWNsYXJhdGlvbnMgdG8gdmVyaWZ5IHRoZXkgbWF0Y2guICBUaGUgc2FtZSBzYW5pdHkK KysgICAgIGNoZWNrIGlzIHByZXNlbnQgYWxzbyBpbiBgY29uZmlndXJlLmFjJy4gICovCisrICBl eHRlcm4gY2hhciAqIGhlYWRlckZvcm1hdChIZWFkZXIgaCwgY29uc3QgY2hhciAqIGZtdCwgZXJy bXNnX3QgKiBlcnJtc2cpOworKyAgc3RhdGljIGNoYXIgKigqaGVhZGVyRm9ybWF0X3ApIChIZWFk ZXIgaCwgY29uc3QgY2hhciAqIGZtdCwgZXJybXNnX3QgKmVycm1zZyk7CisrICBleHRlcm4gaW50 IHJwbVJlYWRDb25maWdGaWxlcyhjb25zdCBjaGFyICogZmlsZSwgY29uc3QgY2hhciAqIHRhcmdl dCk7CisrICBzdGF0aWMgaW50ICgqcnBtUmVhZENvbmZpZ0ZpbGVzX3ApIChjb25zdCBjaGFyICog ZmlsZSwgY29uc3QgY2hhciAqIHRhcmdldCk7CisrICBleHRlcm4gcnBtZGJNYXRjaEl0ZXJhdG9y IHJwbWRiRnJlZUl0ZXJhdG9yKHJwbWRiTWF0Y2hJdGVyYXRvciBtaSk7CisrICBzdGF0aWMgcnBt ZGJNYXRjaEl0ZXJhdG9yICgqcnBtZGJGcmVlSXRlcmF0b3JfcCkgKHJwbWRiTWF0Y2hJdGVyYXRv ciBtaSk7CisrICBleHRlcm4gSGVhZGVyIHJwbWRiTmV4dEl0ZXJhdG9yKHJwbWRiTWF0Y2hJdGVy YXRvciBtaSk7CisrICBzdGF0aWMgSGVhZGVyICgqcnBtZGJOZXh0SXRlcmF0b3JfcCkgKHJwbWRi TWF0Y2hJdGVyYXRvciBtaSk7CisrICBleHRlcm4gcnBtdHMgcnBtdHNDcmVhdGUodm9pZCk7Cisr ICBzdGF0aWMgcnBtdHMgKCpycG10c0NyZWF0ZV9wKSAodm9pZCk7CisrICBleHRlcm4gcnBtdHMg cnBtdHNGcmVlKHJwbXRzIHRzKTsKKysgIHN0YXRpYyBycG10cyAoKnJwbXRzRnJlZV9wKSAocnBt dHMgdHMpOworKyAgZXh0ZXJuIHJwbWRiTWF0Y2hJdGVyYXRvciBycG10c0luaXRJdGVyYXRvcihj b25zdCBycG10cyB0cywgcnBtVGFnIHJwbXRhZywKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqIGtleXAsIHNpemVfdCBrZXlsZW4pOwor KyAgc3RhdGljIHJwbWRiTWF0Y2hJdGVyYXRvciAoKnJwbXRzSW5pdEl0ZXJhdG9yX3ApIChjb25z dCBycG10cyB0cywKKysJCQkJCQkgICAgcnBtVGFnIHJwbXRhZywKKysJCQkJCQkgICAgY29uc3Qg dm9pZCAqa2V5cCwKKysJCQkJCQkgICAgc2l6ZV90IGtleWxlbik7CisrI2Vsc2UJLyogIURMT1BF Tl9MSUJSUE0gKi8KKysjIGRlZmluZSBoZWFkZXJGb3JtYXRfcCBoZWFkZXJGb3JtYXQKKysjIGRl ZmluZSBycG1SZWFkQ29uZmlnRmlsZXNfcCBycG1SZWFkQ29uZmlnRmlsZXMKKysjIGRlZmluZSBy cG1kYkZyZWVJdGVyYXRvcl9wIHJwbWRiRnJlZUl0ZXJhdG9yCisrIyBkZWZpbmUgcnBtZGJOZXh0 SXRlcmF0b3JfcCBycG1kYk5leHRJdGVyYXRvcgorKyMgZGVmaW5lIHJwbXRzQ3JlYXRlX3AgcnBt dHNDcmVhdGUKKysjIGRlZmluZSBycG10c0ZyZWVfcCBycG10c0ZyZWUKKysjIGRlZmluZSBycG10 c0luaXRJdGVyYXRvcl9wIHJwbXRzSW5pdEl0ZXJhdG9yCisrI2VuZGlmCS8qICFETE9QRU5fTElC UlBNICovCiArCi0rI2luY2x1ZGUgPHJwbS9ycG1saWIuaD4KLSsjaW5jbHVkZSA8ZGxmY24uaD4K LSsjaW5jbHVkZSA8ZXJybm8uaD4KKysgIGdkYl9hc3NlcnQgKGZpbGVuYW1lICE9IE5VTEwpOwog KwotK2ludAotK21haW4gKCkKLSt7CisrICBpZiAoc3RyY21wIChmaWxlbmFtZSwgQlVJTERfSURf TUFJTl9FWEVDVVRBQkxFX0ZJTEVOQU1FKSA9PSAwKQorKyAgICByZXR1cm4gMDsKICsKLSsgICAg dm9pZCAqaDsKLSsgICAgY29uc3QgY2hhciAqY29uc3QgKnJwbXZlcnA7Ci0rICAgIEZJTEUgKmY7 CisrICBpZiAoaXNfdGFyZ2V0X2ZpbGVuYW1lIChmaWxlbmFtZSkpCisrICAgIHJldHVybiAwOwog KwotKyAgICBmID0gZm9wZW4gKCJjb25mdGVzdC5vdXQiLCAidyIpOwotKyAgICBpZiAoIWYpCisr ICBpZiAoZmlsZW5hbWVbMF0gIT0gJy8nKQorKyAgICB7CisrICAgICAgd2FybmluZyAoXygiSWdu b3Jpbmcgbm9uLWFic29sdXRlIGZpbGVuYW1lOiA8JXM+IiksIGZpbGVuYW1lKTsKKysgICAgICBy ZXR1cm4gMDsKKysgICAgfQorKworKyAgaWYgKCFycG1faW5pdF9kb25lKQorKyAgICB7CisrICAg ICAgc3RhdGljIGludCBpbml0X3RyaWVkOworKworKyAgICAgIC8qIEFscmVhZHkgZmFpbGVkIHRo ZSBpbml0aWFsaXphdGlvbiBiZWZvcmU/ICAqLworKyAgICAgIGlmIChpbml0X3RyaWVkKQorKyAg ICAgIAlyZXR1cm4gMDsKKysgICAgICBpbml0X3RyaWVkID0gMTsKKysKKysjaWZkZWYgRExPUEVO X0xJQlJQTQogKyAgICAgIHsKLSsJZnByaW50ZiAoc3RkZXJyLCAiQ2Fubm90IHdyaXRlIFwiJXNc IjogJXNcbiIsICJjb25mdGVzdC5vdXQiLAotKwkJIHN0cmVycm9yIChlcnJubykpOwotKwlyZXR1 cm4gMTsKLSsgICAgICB9Ci0rICAgIGggPSBkbG9wZW4gKCRMSUJSUE1fU1RSSU5HLCBSVExEX0xB WlkpOwotKyAgICBpZiAoIWgpCi0rICAgICAgewotKwlmcHJpbnRmIChzdGRlcnIsICJkbG9wZW4g KFwiJXNcIik6ICVzXG4iLCAkTElCUlBNX1NUUklORywgZGxlcnJvciAoKSk7Ci0rCXJldHVybiAx OwotKyAgICAgIH0KLSsgICAgcnBtdmVycCA9IGRsc3ltIChoLCAiUlBNVkVSU0lPTiIpOwotKyAg ICBpZiAoIXJwbXZlcnApCi0rICAgICAgewotKwlmcHJpbnRmIChzdGRlcnIsICJkbHN5bSAoXCJS UE1WRVJTSU9OXCIpOiAlc1xuIiwgZGxlcnJvciAoKSk7Ci0rCXJldHVybiAxOwotKyAgICAgIH0K LSsgICAgZnByaW50ZiAoc3RkZXJyLCAiUlBNVkVSU0lPTiBpczogXCIiKTsKLSsgICAgZnByaW50 ZiAoc3RkZXJyLCAiJXNcIlxuIiwgKnJwbXZlcnApOwotKwotKyAgICAvKiBUcnkgdG8gZmluZCB0 aGUgc3BlY2lmaWMgbGlicnBtIHZlcnNpb24gb25seSBmb3IgImxpYnJwbS5zbyIgYXMgd2UgZG8K LSsgICAgICAgbm90IGtub3cgaG93IHRvIGFzc2VtYmxlIHRoZSB2ZXJzaW9uIHN0cmluZyBvdGhl cndpc2UuICAqLwotKwotKyAgICBpZiAoc3RyY21wICgibGlicnBtLnNvIiwgJExJQlJQTV9TVFJJ TkcpICE9IDApCi0rICAgICAgewotKwlmcHJpbnRmIChmLCAiJXNcbiIsICRMSUJSUE1fU1RSSU5H KTsKLSsJcmV0dXJuIDA7Ci0rICAgICAgfQotKyAgICBlbHNlCi0rICAgICAgewotKwljaGFyICpo Ml9uYW1lOwotKwl2b2lkICpoMjsKLSsJaW50IG1ham9yLCBtaW5vcjsKKysJdm9pZCAqaDsKICsK LSsJaWYgKHNzY2FuZiAoKnJwbXZlcnAsICIlZC4lZCIsICZtYWpvciwgJm1pbm9yKSAhPSAyKQot KwkgIHsKLSsJICAgIGZwcmludGYgKHN0ZGVyciwgIlVuYWJsZSB0byBwYXJzZSBSUE1WRVJTSU9O LlxuIik7Ci0rCSAgICBmcHJpbnRmIChmLCAiJXNcbiIsICRMSUJSUE1fU1RSSU5HKTsKLSsJICAg IHJldHVybiAwOwotKwkgIH0KLSsJLyogQXZvaWQgdGhlIHNxdWFyZSBicmFja2V0cyBieSBtYWxs b2MuICAqLwotKwloMl9uYW1lID0gbWFsbG9jICg2NCk7Ci0rCXNwcmludGYgKGgyX25hbWUsICJs aWJycG0tJWQuJWQuc28iLCBtYWpvciwgbWlub3IpOwotKwloMiA9IGRsb3BlbiAoaDJfbmFtZSwg UlRMRF9MQVpZKTsKLSsJaWYgKCFoMikKKysJaCA9IGRsb3BlbiAoRExPUEVOX0xJQlJQTSwgUlRM RF9MQVpZKTsKKysJaWYgKCFoKQogKwkgIHsKLSsJICAgIGZwcmludGYgKHN0ZGVyciwgImRsb3Bl biAoXCIlc1wiKTogJXNcbiIsIGgyX25hbWUsIGRsZXJyb3IgKCkpOwotKwkgICAgZnByaW50ZiAo ZiwgIiVzXG4iLCAkTElCUlBNX1NUUklORyk7CisrCSAgICB3YXJuaW5nIChfKCJVbmFibGUgdG8g b3BlbiBcIiVzXCIgKCVzKSwgIgorKwkJICAgICAgIm1pc3NpbmcgZGVidWdpbmZvcyBub3RpZmlj YXRpb25zIHdpbGwgbm90IGJlIGRpc3BsYXllZCIpLAorKwkJICAgICBETE9QRU5fTElCUlBNLCBk bGVycm9yICgpKTsKICsJICAgIHJldHVybiAwOwogKwkgIH0KLSsJaWYgKGgyICE9IGgpCisrCisr CWlmICghKChoZWFkZXJGb3JtYXRfcCA9IChjaGFyICooKikgKEhlYWRlciBoLCBjb25zdCBjaGFy ICogZm10LCBlcnJtc2dfdCAqZXJybXNnKSkgZGxzeW0gKGgsICJoZWFkZXJGb3JtYXQiKSkKKysJ ICAgICAgJiYgKHJwbVJlYWRDb25maWdGaWxlc19wID0gKGludCAoKikgKGNvbnN0IGNoYXIgKiBm aWxlLCBjb25zdCBjaGFyICogdGFyZ2V0KSkgZGxzeW0gKGgsICJycG1SZWFkQ29uZmlnRmlsZXMi KSkKKysJICAgICAgJiYgKHJwbWRiRnJlZUl0ZXJhdG9yX3AgPSAocnBtZGJNYXRjaEl0ZXJhdG9y ICgqKSAocnBtZGJNYXRjaEl0ZXJhdG9yIG1pKSkgZGxzeW0gKGgsICJycG1kYkZyZWVJdGVyYXRv ciIpKQorKwkgICAgICAmJiAocnBtZGJOZXh0SXRlcmF0b3JfcCA9IChIZWFkZXIgKCopIChycG1k Yk1hdGNoSXRlcmF0b3IgbWkpKSBkbHN5bSAoaCwgInJwbWRiTmV4dEl0ZXJhdG9yIikpCisrCSAg ICAgICYmIChycG10c0NyZWF0ZV9wID0gKHJwbXRzICgqKSAodm9pZCkpIGRsc3ltIChoLCAicnBt dHNDcmVhdGUiKSkKKysJICAgICAgJiYgKHJwbXRzRnJlZV9wID0gKHJwbXRzICgqKSAocnBtdHMg dHMpKSBkbHN5bSAoaCwgInJwbXRzRnJlZSIpKQorKwkgICAgICAmJiAocnBtdHNJbml0SXRlcmF0 b3JfcCA9IChycG1kYk1hdGNoSXRlcmF0b3IgKCopIChjb25zdCBycG10cyB0cywgcnBtVGFnIHJw bXRhZywgY29uc3Qgdm9pZCAqa2V5cCwgc2l6ZV90IGtleWxlbikpIGRsc3ltIChoLCAicnBtdHNJ bml0SXRlcmF0b3IiKSkpKQogKwkgIHsKLSsJICAgIGZwcmludGYgKHN0ZGVyciwgImRsb3BlbiBv ZiBcIiVzXCIgYW5kIFwiJXNcIiBhcmUgZGlmZmVyZW50LlxuIiwKLSsJCSAgICAgJExJQlJQTV9T VFJJTkcsIGgyX25hbWUpOwotKwkgICAgZnByaW50ZiAoZiwgIiVzXG4iLCAkTElCUlBNX1NUUklO Ryk7CisrCSAgICB3YXJuaW5nIChfKCJPcGVuZWQgbGlicmFyeSBcIiVzXCIgaXMgaW5jb21wYXRp YmxlICglcyksICIKKysJCSAgICAgICJtaXNzaW5nIGRlYnVnaW5mb3Mgbm90aWZpY2F0aW9ucyB3 aWxsIG5vdCBiZSBkaXNwbGF5ZWQiKSwKKysJCSAgICAgRExPUEVOX0xJQlJQTSwgZGxlcnJvciAo KSk7CisrCSAgICBpZiAoZGxjbG9zZSAoaCkpCisrCSAgICAgIHdhcm5pbmcgKF8oIkVycm9yIGNs b3NpbmcgbGlicmFyeSBcIiVzXCI6ICVzXG4iKSwgRExPUEVOX0xJQlJQTSwKKysJCSAgICAgICBk bGVycm9yICgpKTsKICsJICAgIHJldHVybiAwOwogKwkgIH0KLSsJLyogRm91bmQgdGhlIHZhbGlk IC5zbyBuYW1lIHdpdGggYSBzcGVjaWZpYyB2ZXJzaW9uLiAgKi8KLSsJZnByaW50ZiAoZiwgIiVz XG4iLCBoMl9uYW1lKTsKLSsJcmV0dXJuIDA7CiArICAgICAgfQorKyNlbmRpZgkvKiBETE9QRU5f TElCUlBNICovCiArCi0rICA7Ci0rICByZXR1cm4gMDsKLSt9Ci0rX0FDRU9GCi0raWYgYWNfZm5f Y190cnlfcnVuICIkTElORU5PIjsgdGhlbiA6CisrICAgICAgaWYgKHJwbVJlYWRDb25maWdGaWxl c19wIChOVUxMLCBOVUxMKSAhPSAwKQorKwl7CisrCSAgd2FybmluZyAoXygiRXJyb3IgcmVhZGlu ZyB0aGUgcnBtIGNvbmZpZ3VyYXRpb24gZmlsZXMiKSk7CisrCSAgcmV0dXJuIDA7CisrCX0KICsK LSsgICAgRExPUEVOX0xJQlJQTT0iYGNhdCBjb25mdGVzdC5vdXRgIgotKyAgICBpZiB0ZXN0ICJ4 JERMT1BFTl9MSUJSUE0iICE9ICJ4IjsgdGhlbgotKyAgICAgIEhBVkVfRExPUEVOX0xJQlJQTT10 cnVlCi0rICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1 bHQ6ICRETE9QRU5fTElCUlBNIiA+JjUKLSskYXNfZWNobyAiJERMT1BFTl9MSUJSUE0iID4mNjsg fQotKyAgICBmaQorKyAgICAgIHJwbV9pbml0X2RvbmUgPSAxOworKyAgICB9CiArCi0rZmkKLSty bSAtZiBjb3JlICouY29yZSBjb3JlLmNvbmZ0ZXN0LiogZ21vbi5vdXQgYmIub3V0IGNvbmZ0ZXN0 JGFjX2V4ZWV4dCBcCi0rICBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LmJlYW0gY29uZnRl c3QuJGFjX2V4dAotK2ZpCisrICB0cyA9IHJwbXRzQ3JlYXRlX3AgKCk7CiArCi0rICBybSAtZiBj b25mdGVzdC5vdXQKKysgIG1pID0gcnBtdHNJbml0SXRlcmF0b3JfcCAodHMsIFJQTVRBR19CQVNF TkFNRVMsIGZpbGVuYW1lLCAwKTsKKysgIGlmIChtaSAhPSBOVUxMKQorKyAgICB7CisrICAgICAg Zm9yICg7OykKKysJeworKwkgIEhlYWRlciBoOworKwkgIGNoYXIgKmRlYnVnaW5mbywgKipzbG90 LCAqcywgKnMyOworKwkgIGVycm1zZ190IGVycjsKKysJICBzaXplX3Qgc3JjcnBtbGVuID0gc2l6 ZW9mICgiLnNyYy5ycG0iKSAtIDE7CisrCSAgc2l6ZV90IGRlYnVnaW5mb2xlbiA9IHNpemVvZiAo Ii1kZWJ1Z2luZm8iKSAtIDE7CisrCSAgcnBtZGJNYXRjaEl0ZXJhdG9yIG1pX2RlYnVnaW5mbzsK ICsKKysJICBoID0gcnBtZGJOZXh0SXRlcmF0b3JfcCAobWkpOworKwkgIGlmIChoID09IE5VTEwp CisrCSAgICBicmVhazsKICsKKysJICAvKiBWZXJpZnkgdGhlIGRlYnVnaW5mbyBmaWxlIGlzIG5v dCBhbHJlYWR5IGluc3RhbGxlZC4gICovCiArCi0rICBpZiAkSEFWRV9ETE9QRU5fTElCUlBNOyB0 aGVuCisrCSAgZGVidWdpbmZvID0gaGVhZGVyRm9ybWF0X3AgKGgsICIle3NvdXJjZXJwbX0tZGVi dWdpbmZvLiV7YXJjaH0iLAorKwkJCQkgICAgICAmZXJyKTsKKysJICBpZiAoIWRlYnVnaW5mbykK KysJICAgIHsKKysJICAgICAgd2FybmluZyAoXygiRXJyb3IgcXVlcnlpbmcgdGhlIHJwbSBmaWxl IGAlcyc6ICVzIiksIGZpbGVuYW1lLAorKwkgICAgICAgICAgICAgICBlcnIpOworKwkgICAgICBj b250aW51ZTsKKysJICAgIH0KKysJICAvKiBzID0gYC5zcmMucnBtLWRlYnVnaW5mby4le2FyY2h9 JyAqLworKwkgIHMgPSBzdHJyY2hyIChkZWJ1Z2luZm8sICctJykgLSBzcmNycG1sZW47CisrCSAg czIgPSBOVUxMOworKwkgIGlmIChzID4gZGVidWdpbmZvICYmIG1lbWNtcCAocywgIi5zcmMucnBt Iiwgc3JjcnBtbGVuKSA9PSAwKQorKwkgICAgeworKwkgICAgICAvKiBzMiA9IGAtJXtyZWxlYXNl fS5zcmMucnBtLWRlYnVnaW5mby4le2FyY2h9JyAqLworKwkgICAgICBzMiA9IChjaGFyICopIG1l bXJjaHIgKGRlYnVnaW5mbywgJy0nLCBzIC0gZGVidWdpbmZvKTsKKysJICAgIH0KKysJICBpZiAo czIpCisrCSAgICB7CisrCSAgICAgIC8qIHMyID0gYC0le3ZlcnNpb259LSV7cmVsZWFzZX0uc3Jj LnJwbS1kZWJ1Z2luZm8uJXthcmNofScgKi8KKysJICAgICAgczIgPSAoY2hhciAqKSBtZW1yY2hy IChkZWJ1Z2luZm8sICctJywgczIgLSBkZWJ1Z2luZm8pOworKwkgICAgfQorKwkgIGlmICghczIp CisrCSAgICB7CisrCSAgICAgIHdhcm5pbmcgKF8oIkVycm9yIHF1ZXJ5aW5nIHRoZSBycG0gZmls ZSBgJXMnOiAlcyIpLCBmaWxlbmFtZSwKKysJICAgICAgICAgICAgICAgZGVidWdpbmZvKTsKKysJ ICAgICAgeGZyZWUgKGRlYnVnaW5mbyk7CisrCSAgICAgIGNvbnRpbnVlOworKwkgICAgfQorKwkg IC8qIHMgPSBgLnNyYy5ycG0tZGVidWdpbmZvLiV7YXJjaH0nICovCisrCSAgLyogczIgPSBgLSV7 dmVyc2lvbn0tJXtyZWxlYXNlfS5zcmMucnBtLWRlYnVnaW5mby4le2FyY2h9JyAqLworKwkgIG1l bW1vdmUgKHMyICsgZGVidWdpbmZvbGVuLCBzMiwgcyAtIHMyKTsKKysJICBtZW1jcHkgKHMyLCAi LWRlYnVnaW5mbyIsIGRlYnVnaW5mb2xlbik7CisrCSAgLyogcyA9IGBYWFhYLiV7YXJjaH0nICov CisrCSAgLyogc3RybGVuICgiWFhYWCIpID09IHNyY3JwbWxlbiArIGRlYnVnaW5mb2xlbiAqLwor KwkgIC8qIHMyID0gYC1kZWJ1Z2luZm8tJXt2ZXJzaW9ufS0le3JlbGVhc2V9WFguJXthcmNofScg Ki8KKysJICAvKiBzdHJsZW4gKCJYWCIpID09IHNyY3JwbWxlbiAqLworKwkgIG1lbW1vdmUgKHMg KyBkZWJ1Z2luZm9sZW4sIHMgKyBzcmNycG1sZW4gKyBkZWJ1Z2luZm9sZW4sCisrCQkgICBzdHJs ZW4gKHMgKyBzcmNycG1sZW4gKyBkZWJ1Z2luZm9sZW4pICsgMSk7CisrCSAgLyogcyA9IGAtZGVi dWdpbmZvLSV7dmVyc2lvbn0tJXtyZWxlYXNlfS4le2FyY2h9JyAqLwogKwotKyAgICB7ICRhc19l Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHJwbSBsaWJyYXJ5IEFQ SSBjb21wYXRpYmlsaXR5IiA+JjUKLSskYXNfZWNob19uICJjaGVja2luZyBycG0gbGlicmFyeSBB UEkgY29tcGF0aWJpbGl0eS4uLiAiID4mNjsgfQotKyAgICAjIFRoZSBjb21waWxhdGlvbiByZXF1 aXJlcyAtV2Vycm9yIHRvIHZlcmlmeSBhbnl0aGluZy4KLSsgICAgc2F2ZV9DRkxBR1M9IiRDRkxB R1MiCi0rICAgIENGTEFHUz0iJENGTEFHUyAtV2Vycm9yIgotKyAgICBjYXQgY29uZmRlZnMuaCAt IDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0rLyogZW5kIGNvbmZkZWZzLmguICAqLworKwkg IC8qIFJQTURCSV9QQUNLQUdFUyByZXF1aXJlcyBrZXlsZW4gPT0gc2l6ZW9mIChpbnQpLiAgKi8K KysJICAvKiBSUE1EQklfTEFCRUwgaXMgYW4gaW50ZXJmYWNlIGZvciBOVlItYmFzZWQgZGJpRmlu ZEJ5TGFiZWwoKS4gICovCisrCSAgbWlfZGVidWdpbmZvID0gcnBtdHNJbml0SXRlcmF0b3JfcCAo dHMsIChycG1UYWcpIFJQTURCSV9MQUJFTCwgZGVidWdpbmZvLCAwKTsKKysJICB4ZnJlZSAoZGVi dWdpbmZvKTsKKysJICBpZiAobWlfZGVidWdpbmZvKQorKwkgICAgeworKwkgICAgICBycG1kYkZy ZWVJdGVyYXRvcl9wIChtaV9kZWJ1Z2luZm8pOworKwkgICAgICBjb3VudCA9IDA7CisrCSAgICAg IGJyZWFrOworKwkgICAgfQogKwotKy8qIER1cGxpY2F0ZSBoZXJlIHRoZSBkZWNsYXJhdGlvbnMg dG8gdmVyaWZ5IHRoZXkgbWF0Y2ggImVsZnJlYWQuYyIuICAqLwotKyNpbmNsdWRlIDxycG0vcnBt bGliLmg+Ci0rI2luY2x1ZGUgPHJwbS9ycG10cy5oPgotKyNpbmNsdWRlIDxycG0vcnBtZGIuaD4K LSsjaW5jbHVkZSA8cnBtL2hlYWRlci5oPgotK2V4dGVybiBjaGFyICogaGVhZGVyRm9ybWF0KEhl YWRlciBoLCBjb25zdCBjaGFyICogZm10LCBlcnJtc2dfdCAqIGVycm1zZyk7Ci0rZXh0ZXJuIGlu dCBycG1SZWFkQ29uZmlnRmlsZXMoY29uc3QgY2hhciAqIGZpbGUsIGNvbnN0IGNoYXIgKiB0YXJn ZXQpOwotK2V4dGVybiBycG1kYk1hdGNoSXRlcmF0b3IgcnBtZGJGcmVlSXRlcmF0b3IocnBtZGJN YXRjaEl0ZXJhdG9yIG1pKTsKLStleHRlcm4gSGVhZGVyIHJwbWRiTmV4dEl0ZXJhdG9yKHJwbWRi TWF0Y2hJdGVyYXRvciBtaSk7Ci0rZXh0ZXJuIHJwbXRzIHJwbXRzQ3JlYXRlKHZvaWQpOwotK2V4 dGVybiBycG10cyBycG10c0ZyZWUocnBtdHMgdHMpOwotK2V4dGVybiBycG1kYk1hdGNoSXRlcmF0 b3IgcnBtdHNJbml0SXRlcmF0b3IoY29uc3QgcnBtdHMgdHMsIHJwbVRhZyBycG10YWcsCi0rCQkJ CQkgICAgY29uc3Qgdm9pZCAqIGtleXAsIHNpemVfdCBrZXlsZW4pOworKwkgIC8qIFRoZSBhbGxv Y2F0ZWQgbWVtb3J5IGdldHMgdXRpbGl6ZWQgYmVsb3cgZm9yIE1JU1NJTkdfUlBNX0hBU0guICAq LworKwkgIGRlYnVnaW5mbyA9IGhlYWRlckZvcm1hdF9wIChoLAorKwkJCQkgICAgICAiJXtuYW1l fS0le3ZlcnNpb259LSV7cmVsZWFzZX0uJXthcmNofSIsCisrCQkJCSAgICAgICZlcnIpOworKwkg IGlmICghZGVidWdpbmZvKQorKwkgICAgeworKwkgICAgICB3YXJuaW5nIChfKCJFcnJvciBxdWVy eWluZyB0aGUgcnBtIGZpbGUgYCVzJzogJXMiKSwgZmlsZW5hbWUsCisrCSAgICAgICAgICAgICAg IGVycik7CisrCSAgICAgIGNvbnRpbnVlOworKwkgICAgfQogKwotK2ludAotK21haW4gKCkKLSt7 CisrCSAgLyogQmFzZSBwYWNrYWdlIG5hbWUgZm9yIGBkZWJ1Z2luZm8taW5zdGFsbCcuICBXZSBk byBub3QgdXNlIHRoZQorKwkgICAgIGB5dW0nIGNvbW1hbmQgZGlyZWN0bHkgYXMgdGhlIGxpbmUK KysJCSB5dW0gLS1lbmFibGVyZXBvPScqZGVidWcqJyBpbnN0YWxsIE5BTUUtZGVidWdpbmZvLkFS Q0gKKysJICAgICB3b3VsZCBiZSBtb3JlIGNvbXBsaWNhdGVkIHRoYW4ganVzdDoKKysJCSBkZWJ1 Z2luZm8taW5zdGFsbCBOQU1FLVZFUlNJT04tUkVMRUFTRS5BUkNICisrCSAgICAgRG8gbm90IHN1 cHBseSB0aGUgcnBtIGJhc2UgbmFtZSAoZGVyaXZlZCBmcm9tIC5zcmMucnBtIG5hbWUpIGFzCisr CSAgICAgZGVidWdpbmZvLWluc3RhbGwgaXMgdW5hYmxlIHRvIGluc3RhbGwgdGhlIGRlYnVnaW5m byBwYWNrYWdlIGlmCisrCSAgICAgdGhlIGJhc2UgbmFtZSBQS0cgYmluYXJ5IHJwbSBpcyBub3Qg aW5zdGFsbGVkIHdoaWxlIGZvciBleGFtcGxlCisrCSAgICAgUEtHLWxpYnMgd291bGQgYmUgaW5z dGFsbGVkIChSSCBCdWcgNDY3OTAxKS4KKysJICAgICBGVVRVUkU6IEFmdGVyIG11bHRpcGxlIGRl YnVnaW5mbyB2ZXJzaW9ucyBzaW11bHRhbmVvdXNseSBpbnN0YWxsZWQKKysJICAgICBnZXQgc3Vw cG9ydGVkIHRoZSBzdXBwb3J0IGZvciB0aGUgVkVSU0lPTi1SRUxFQVNFIHRhZ3MgaGFuZGxpbmcK KysJICAgICBtYXkgbmVlZCBhbiB1cGRhdGUuICAqLwogKwotKyAgOwotKyAgcmV0dXJuIDA7Ci0r fQotK19BQ0VPRgotK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKysJ ICBpZiAobWlzc2luZ19ycG1faGFzaCA9PSBOVUxMKQorKwkgICAgeworKwkgICAgICAvKiBERUxf RiBpcyBwYXNzZWQgTlVMTCBhcyBNSVNTSU5HX1JQTV9MSVNUJ3MgSFRBQl9ERUxFVEUKKysJCSBz aG91bGQgbm90IGRlYWxsb2NhdGUgdGhlIGVudHJpZXMuICAqLwogKwotKyAgICAgIExJQlJQTV9D T01QQVQ9dHJ1ZQotKyAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P fTogcmVzdWx0OiB5ZXMiID4mNQotKyRhc19lY2hvICJ5ZXMiID4mNjsgfQorKwkgICAgICBtaXNz aW5nX3JwbV9oYXNoID0gaHRhYl9jcmVhdGVfYWxsb2MgKDY0LCBodGFiX2hhc2hfc3RyaW5nLAor KwkJCSAgICAgICAoaW50ICgqKSAoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopKSBzdHJlcSwK KysJCQkJCQkgICAgTlVMTCwgeGNhbGxvYywgeGZyZWUpOworKwkgICAgfQorKwkgIHNsb3QgPSAo Y2hhciAqKikgaHRhYl9maW5kX3Nsb3QgKG1pc3NpbmdfcnBtX2hhc2gsIGRlYnVnaW5mbywgSU5T RVJUKTsKKysJICAvKiBYQ0FMTE9DIG5ldmVyIHJldHVybnMgTlVMTC4gICovCisrCSAgZ2RiX2Fz c2VydCAoc2xvdCAhPSBOVUxMKTsKKysJICBpZiAoKnNsb3QgPT0gTlVMTCkKKysJICAgIHsKKysJ ICAgICAgc3RydWN0IG1pc3NpbmdfcnBtICptaXNzaW5nX3JwbTsKICsKLStlbHNlCisrCSAgICAg ICpzbG90ID0gZGVidWdpbmZvOwogKwotKyAgICAgIExJQlJQTV9DT01QQVQ9ZmFsc2UKLSsgICAg ICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4m NQotKyRhc19lY2hvICJubyIgPiY2OyB9CisrCSAgICAgIG1pc3NpbmdfcnBtID0gKHN0cnVjdCBt aXNzaW5nX3JwbSAqKSB4bWFsbG9jIChzaXplb2YgKCptaXNzaW5nX3JwbSkgKyBzdHJsZW4gKGRl YnVnaW5mbykpOworKwkgICAgICBzdHJjcHkgKG1pc3NpbmdfcnBtLT5ycG0sIGRlYnVnaW5mbyk7 CisrCSAgICAgIG1pc3NpbmdfcnBtLT5uZXh0ID0gbWlzc2luZ19ycG1fbGlzdDsKKysJICAgICAg bWlzc2luZ19ycG1fbGlzdCA9IG1pc3NpbmdfcnBtOworKwkgICAgICBtaXNzaW5nX3JwbV9saXN0 X2VudHJpZXMrKzsKKysJICAgIH0KKysJICBlbHNlCisrCSAgICB4ZnJlZSAoZGVidWdpbmZvKTsK KysJICBjb3VudCsrOworKwl9CiArCi0rZmkKLStybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25m dGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLSsgICAgQ0ZMQUdTPSIkc2F2ZV9DRkxB R1MiCisrICAgICAgcnBtZGJGcmVlSXRlcmF0b3JfcCAobWkpOworKyAgICB9CiArCi0rICAgIGlm ICEgJExJQlJQTV9DT01QQVQ7IHRoZW4KLSsgICAgICBIQVZFX0RMT1BFTl9MSUJSUE09ZmFsc2UK LSsgICAgZmkKLSsgIGZpCisrICBycG10c0ZyZWVfcCAodHMpOwogKwotKyAgaWYgJEhBVkVfRExP UEVOX0xJQlJQTTsgdGhlbgotKyAgICBETE9QRU5fTElCUlBNX1NUUklORz0nIiciJERMT1BFTl9M SUJSUE0iJyInCisrICByZXR1cm4gY291bnQ7CisrfQogKwotK2NhdCA+PmNvbmZkZWZzLmggPDxf QUNFT0YKLSsjZGVmaW5lIERMT1BFTl9MSUJSUE0gJERMT1BFTl9MSUJSUE1fU1RSSU5HCi0rX0FD RU9GCi0rCi0rCi0rJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MSUJSUE0gMSIgPj5jb25mZGVmcy5o Ci0rCi0rICBlbHNlCi0rICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P fTogcmVzdWx0OiBubyIgPiY1Ci0rJGFzX2VjaG8gIm5vIiA+JjY7IH0KLSsgICAgTElCUz0iJHNh dmVfTElCUyIKLSsgICAgaWYgJERMT1BFTl9SRVFVSVJFOyB0aGVuCi0rICAgICAgYXNfZm5fZXJy b3IgIlNwZWNpZmljIG5hbWUgJExJQlJQTSB3YXMgcmVxdWVzdGVkIGJ1dCBpdCBjb3VsZCBub3Qg YmUgb3BlbmVkLiIgIiRMSU5FTk8iIDUKLSsgICAgZmkKLSsKLSsKLSsKLSsKLSsKLSsKLSsKLStp ZiB0ZXN0ICJ4JGFjX2N2X2Vudl9QS0dfQ09ORklHX3NldCIgIT0gInhzZXQiOyB0aGVuCi0rCWlm IHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KLSsgICMgRXh0cmFjdCB0aGUgZmlyc3Qg d29yZCBvZiAiJHthY190b29sX3ByZWZpeH1wa2ctY29uZmlnIiwgc28gaXQgY2FuIGJlIGEgcHJv Z3JhbSBuYW1lIHdpdGggYXJncy4KLStzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1wa2ctY29u ZmlnOyBhY193b3JkPSQyCi0reyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99 OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQotKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAk YWNfd29yZC4uLiAiID4mNjsgfQotK2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9QS0dfQ09ORklHK3Nl dH0iID0gc2V0OyB0aGVuIDoKLSsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Ci0rZWxzZQot KyAgY2FzZSAkUEtHX0NPTkZJRyBpbgotKyAgW1xcL10qIHwgPzpbXFwvXSopCi0rICBhY19jdl9w YXRoX1BLR19DT05GSUc9IiRQS0dfQ09ORklHIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUg dGVzdCB3aXRoIGEgcGF0aC4KLSsgIDs7Ci0rICAqKQotKyAgYXNfc2F2ZV9JRlM9JElGUzsgSUZT PSRQQVRIX1NFUEFSQVRPUgotK2ZvciBhc19kaXIgaW4gJFBBVEgKLStkbwotKyAgSUZTPSRhc19z YXZlX0lGUwotKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KLSsgICAgZm9yIGFjX2V4 ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0rICBpZiB7IHRlc3Qg LWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIv JGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0rICAgIGFjX2N2X3BhdGhfUEtHX0NPTkZJ Rz0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKLSsgICAgJGFzX2VjaG8gIiRhc19tZTok e2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIg PiY1Ci0rICAgIGJyZWFrIDIKLSsgIGZpCi0rZG9uZQotKyAgZG9uZQotK0lGUz0kYXNfc2F2ZV9J RlMKLSsKLSsgIDs7Ci0rZXNhYwotK2ZpCi0rUEtHX0NPTkZJRz0kYWNfY3ZfcGF0aF9QS0dfQ09O RklHCi0raWYgdGVzdCAtbiAiJFBLR19DT05GSUciOyB0aGVuCi0rICB7ICRhc19lY2hvICIkYXNf bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJFBLR19DT05GSUciID4mNQotKyRhc19l Y2hvICIkUEtHX0NPTkZJRyIgPiY2OyB9Ci0rZWxzZQotKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7 YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSskYXNfZWNobyAibm8iID4mNjsg fQotK2ZpCi0rCi0rCi0rZmkKLStpZiB0ZXN0IC16ICIkYWNfY3ZfcGF0aF9QS0dfQ09ORklHIjsg dGhlbgotKyAgYWNfcHRfUEtHX0NPTkZJRz0kUEtHX0NPTkZJRwotKyAgIyBFeHRyYWN0IHRoZSBm aXJzdCB3b3JkIG9mICJwa2ctY29uZmlnIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdp dGggYXJncy4KLStzZXQgZHVtbXkgcGtnLWNvbmZpZzsgYWNfd29yZD0kMgotK3sgJGFzX2VjaG8g IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUK LSskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLStpZiB0ZXN0 ICIke2FjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJRytzZXR9IiA9IHNldDsgdGhlbiA6Ci0rICAk YXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotK2Vsc2UKLSsgIGNhc2UgJGFjX3B0X1BLR19DT05G SUcgaW4KLSsgIFtcXC9dKiB8ID86W1xcL10qKQotKyAgYWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09O RklHPSIkYWNfcHRfUEtHX0NPTkZJRyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qg d2l0aCBhIHBhdGguCi0rICA7OwotKyAgKikKLSsgIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFU SF9TRVBBUkFUT1IKLStmb3IgYXNfZGlyIGluICRQQVRICi0rZG8KLSsgIElGUz0kYXNfc2F2ZV9J RlMKLSsgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0rICAgIGZvciBhY19leGVjX2V4 dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotKyAgaWYgeyB0ZXN0IC1mICIk YXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193 b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgotKyAgICBhY19jdl9wYXRoX2FjX3B0X1BLR19DT05G SUc9IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCi0rICAgICRhc19lY2hvICIkYXNfbWU6 JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQi ID4mNQotKyAgICBicmVhayAyCi0rICBmaQotK2RvbmUKLSsgIGRvbmUKLStJRlM9JGFzX3NhdmVf SUZTCi0rCi0rICA7OwotK2VzYWMKLStmaQotK2FjX3B0X1BLR19DT05GSUc9JGFjX2N2X3BhdGhf YWNfcHRfUEtHX0NPTkZJRwotK2lmIHRlc3QgLW4gIiRhY19wdF9QS0dfQ09ORklHIjsgdGhlbgot KyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19w dF9QS0dfQ09ORklHIiA+JjUKLSskYXNfZWNobyAiJGFjX3B0X1BLR19DT05GSUciID4mNjsgfQot K2Vsc2UKLSsgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0 OiBubyIgPiY1Ci0rJGFzX2VjaG8gIm5vIiA+JjY7IH0KLStmaQotKwotKyAgaWYgdGVzdCAieCRh Y19wdF9QS0dfQ09ORklHIiA9IHg7IHRoZW4KLSsgICAgUEtHX0NPTkZJRz0iIgotKyAgZWxzZQot KyAgICBjYXNlICRjcm9zc19jb21waWxpbmc6JGFjX3Rvb2xfd2FybmVkIGluCi0reWVzOikKLSt7 ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNy b3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1Ci0rJGFzX2VjaG8g IiRhc19tZTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9z dCB0cmlwbGV0IiA+JjI7fQotK2FjX3Rvb2xfd2FybmVkPXllcyA7OwotK2VzYWMKLSsgICAgUEtH X0NPTkZJRz0kYWNfcHRfUEtHX0NPTkZJRwotKyAgZmkKLStlbHNlCi0rICBQS0dfQ09ORklHPSIk YWNfY3ZfcGF0aF9QS0dfQ09ORklHIgotK2ZpCi0rCi0rZmkKLStpZiB0ZXN0IC1uICIkUEtHX0NP TkZJRyI7IHRoZW4KLSsJX3BrZ19taW5fdmVyc2lvbj0wLjkuMAotKwl7ICRhc19lY2hvICIkYXNf bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHBrZy1jb25maWcgaXMgYXQgbGVhc3Qg dmVyc2lvbiAkX3BrZ19taW5fdmVyc2lvbiIgPiY1Ci0rJGFzX2VjaG9fbiAiY2hlY2tpbmcgcGtn LWNvbmZpZyBpcyBhdCBsZWFzdCB2ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uLi4uICIgPiY2OyB9 Ci0rCWlmICRQS0dfQ09ORklHIC0tYXRsZWFzdC1wa2djb25maWctdmVyc2lvbiAkX3BrZ19taW5f dmVyc2lvbjsgdGhlbgotKwkJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99 OiByZXN1bHQ6IHllcyIgPiY1Ci0rJGFzX2VjaG8gInllcyIgPiY2OyB9Ci0rCWVsc2UKLSsJCXsg JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0r JGFzX2VjaG8gIm5vIiA+JjY7IH0KLSsJCVBLR19DT05GSUc9IiIKLSsJZmkKLStmaQotKwotK3Br Z19mYWlsZWQ9bm8KLSt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNo ZWNraW5nIGZvciBSUE0iID4mNQotKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBSUE0uLi4gIiA+ JjY7IH0KKytzdGF0aWMgaW50CisrbWlzc2luZ19ycG1fbGlzdF9jb21wYXIgKGNvbnN0IGNoYXIg KmNvbnN0ICphcCwgY29uc3QgY2hhciAqY29uc3QgKmJwKQorK3sKKysgIHJldHVybiBzdHJjb2xs ICgqYXAsICpicCk7CisrfQogKwotK2lmIHRlc3QgLW4gIiRSUE1fQ0ZMQUdTIjsgdGhlbgotKyAg ICBwa2dfY3ZfUlBNX0NGTEFHUz0iJFJQTV9DRkxBR1MiCi0rIGVsaWYgdGVzdCAtbiAiJFBLR19D T05GSUciOyB0aGVuCi0rICAgIGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIiAmJiBcCi0rICAgIHsg eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcJFBLR19DT05GSUcgLS1l eGlzdHMgLS1wcmludC1lcnJvcnMgXCJycG1cIiI7IH0gPiY1Ci0rICAoJFBLR19DT05GSUcgLS1l eGlzdHMgLS1wcmludC1lcnJvcnMgInJwbSIpIDI+JjUKLSsgIGFjX3N0YXR1cz0kPwotKyAgJGFz X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1 Ci0rICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9OyB0aGVuCi0rICBwa2dfY3ZfUlBNX0NGTEFHUz1g JFBLR19DT05GSUcgLS1jZmxhZ3MgInJwbSIgMj4vZGV2L251bGxgCi0rCQkgICAgICB0ZXN0ICJ4 JD8iICE9ICJ4MCIgJiYgcGtnX2ZhaWxlZD15ZXMKLStlbHNlCi0rICBwa2dfZmFpbGVkPXllcwot K2ZpCi0rIGVsc2UKLSsgICAgcGtnX2ZhaWxlZD11bnRyaWVkCi0rZmkKLStpZiB0ZXN0IC1uICIk UlBNX0xJQlMiOyB0aGVuCi0rICAgIHBrZ19jdl9SUE1fTElCUz0iJFJQTV9MSUJTIgotKyBlbGlm IHRlc3QgLW4gIiRQS0dfQ09ORklHIjsgdGhlbgotKyAgICBpZiB0ZXN0IC1uICIkUEtHX0NPTkZJ RyIgJiYgXAotKyAgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog XCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzIFwicnBtXCIiOyB9ID4mNQotKyAg KCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJycG0iKSAyPiY1Ci0rICBhY19z dGF0dXM9JD8KLSsgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9 ICRhY19zdGF0dXMiID4mNQotKyAgdGVzdCAkYWNfc3RhdHVzID0gMDsgfTsgdGhlbgotKyAgcGtn X2N2X1JQTV9MSUJTPWAkUEtHX0NPTkZJRyAtLWxpYnMgInJwbSIgMj4vZGV2L251bGxgCi0rCQkg ICAgICB0ZXN0ICJ4JD8iICE9ICJ4MCIgJiYgcGtnX2ZhaWxlZD15ZXMKLStlbHNlCi0rICBwa2df ZmFpbGVkPXllcwotK2ZpCi0rIGVsc2UKLSsgICAgcGtnX2ZhaWxlZD11bnRyaWVkCi0rZmkKKysv KiBJdCByZXR1cm5zIGEgTlVMTC10ZXJtaW5hdGVkIGFycmF5IG9mIHN0cmluZ3MgbmVlZGluZyB0 byBiZSBGUkVFZC4gIEl0IG1heQorKyAgIGFsc28gcmV0dXJuIG9ubHkgTlVMTC4gICovCiArCisr c3RhdGljIHZvaWQKKyttaXNzaW5nX3JwbV9saXN0X3ByaW50ICh2b2lkKQorK3sKKysgIGNoYXIg KiphcnJheSwgKiphcnJheV9pdGVyOworKyAgc3RydWN0IG1pc3NpbmdfcnBtICpsaXN0X2l0ZXI7 CisrICBzdHJ1Y3QgY2xlYW51cCAqY2xlYW51cHM7CiArCisrICBpZiAobWlzc2luZ19ycG1fbGlz dF9lbnRyaWVzID09IDApCisrICAgIHJldHVybjsKICsKLStpZiB0ZXN0ICRwa2dfZmFpbGVkID0g eWVzOyB0aGVuCi0rICAgCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog cmVzdWx0OiBubyIgPiY1Ci0rJGFzX2VjaG8gIm5vIiA+JjY7IH0KKysgIGFycmF5ID0gKGNoYXIg KiopIHhtYWxsb2MgKHNpemVvZiAoKmFycmF5KSAqIG1pc3NpbmdfcnBtX2xpc3RfZW50cmllcyk7 CisrICBjbGVhbnVwcyA9IG1ha2VfY2xlYW51cCAoeGZyZWUsIGFycmF5KTsKICsKLStpZiAkUEtH X0NPTkZJRyAtLWF0bGVhc3QtcGtnY29uZmlnLXZlcnNpb24gMC4yMDsgdGhlbgotKyAgICAgICAg X3BrZ19zaG9ydF9lcnJvcnNfc3VwcG9ydGVkPXllcwotK2Vsc2UKLSsgICAgICAgIF9wa2dfc2hv cnRfZXJyb3JzX3N1cHBvcnRlZD1ubwotK2ZpCi0rICAgICAgICBpZiB0ZXN0ICRfcGtnX3Nob3J0 X2Vycm9yc19zdXBwb3J0ZWQgPSB5ZXM7IHRoZW4KLSsJICAgICAgICBSUE1fUEtHX0VSUk9SUz1g JFBLR19DT05GSUcgLS1zaG9ydC1lcnJvcnMgLS1wcmludC1lcnJvcnMgLS1jZmxhZ3MgLS1saWJz ICJycG0iIDI+JjFgCi0rICAgICAgICBlbHNlCi0rCSAgICAgICAgUlBNX1BLR19FUlJPUlM9YCRQ S0dfQ09ORklHIC0tcHJpbnQtZXJyb3JzIC0tY2ZsYWdzIC0tbGlicyAicnBtIiAyPiYxYAotKyAg ICAgICAgZmkKLSsJIyBQdXQgdGhlIG5hc3R5IGVycm9yIG1lc3NhZ2UgaW4gY29uZmlnLmxvZyB3 aGVyZSBpdCBiZWxvbmdzCi0rCWVjaG8gIiRSUE1fUEtHX0VSUk9SUyIgPiY1CisrICBhcnJheV9p dGVyID0gYXJyYXk7CisrICBmb3IgKGxpc3RfaXRlciA9IG1pc3NpbmdfcnBtX2xpc3Q7IGxpc3Rf aXRlciAhPSBOVUxMOworKyAgICAgICBsaXN0X2l0ZXIgPSBsaXN0X2l0ZXItPm5leHQpCisrICAg IHsKKysgICAgICAqYXJyYXlfaXRlcisrID0gbGlzdF9pdGVyLT5ycG07CisrICAgIH0KKysgIGdk Yl9hc3NlcnQgKGFycmF5X2l0ZXIgPT0gYXJyYXkgKyBtaXNzaW5nX3JwbV9saXN0X2VudHJpZXMp OwogKwotKwlIQVZFX0xJQlJQTT1mYWxzZQotK2VsaWYgdGVzdCAkcGtnX2ZhaWxlZCA9IHVudHJp ZWQ7IHRoZW4KLSsgICAgIAl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306 IHJlc3VsdDogbm8iID4mNQotKyRhc19lY2hvICJubyIgPiY2OyB9Ci0rCUhBVkVfTElCUlBNPWZh bHNlCi0rZWxzZQotKwlSUE1fQ0ZMQUdTPSRwa2dfY3ZfUlBNX0NGTEFHUwotKwlSUE1fTElCUz0k cGtnX2N2X1JQTV9MSUJTCi0rICAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t JExJTkVOT306IHJlc3VsdDogeWVzIiA+JjUKLSskYXNfZWNobyAieWVzIiA+JjY7IH0KLSsJSEFW RV9MSUJSUE09dHJ1ZQotK2ZpCisrICBxc29ydCAoYXJyYXksIG1pc3NpbmdfcnBtX2xpc3RfZW50 cmllcywgc2l6ZW9mICgqYXJyYXkpLAorKwkgKGludCAoKikgKGNvbnN0IHZvaWQgKiwgY29uc3Qg dm9pZCAqKSkgbWlzc2luZ19ycG1fbGlzdF9jb21wYXIpOwogKwotKyAgICBpZiAkSEFWRV9MSUJS UE07IHRoZW4KKysgIHByaW50Zl91bmZpbHRlcmVkIChfKCJNaXNzaW5nIHNlcGFyYXRlIGRlYnVn aW5mb3MsIHVzZTogJXMiKSwKKysjaWZkZWYgRE5GX0RFQlVHSU5GT19JTlNUQUxMCisrCQkgICAg ICJkbmYgIgorKyNlbmRpZgorKwkJICAgICAiZGVidWdpbmZvLWluc3RhbGwiKTsKKysgIGZvciAo YXJyYXlfaXRlciA9IGFycmF5OyBhcnJheV9pdGVyIDwgYXJyYXkgKyBtaXNzaW5nX3JwbV9saXN0 X2VudHJpZXM7CisrICAgICAgIGFycmF5X2l0ZXIrKykKKysgICAgeworKyAgICAgIHB1dGNoYXJf dW5maWx0ZXJlZCAoJyAnKTsKKysgICAgICBwdXRzX3VuZmlsdGVyZWQgKCphcnJheV9pdGVyKTsK KysgICAgfQorKyAgcHV0Y2hhcl91bmZpbHRlcmVkICgnXG4nKTsKICsKLSsgICAgeyAkYXNfZWNo byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBycG0gbGlicmFyeSBBUEkg Y29tcGF0aWJpbGl0eSIgPiY1Ci0rJGFzX2VjaG9fbiAiY2hlY2tpbmcgcnBtIGxpYnJhcnkgQVBJ IGNvbXBhdGliaWxpdHkuLi4gIiA+JjY7IH0KLSsgICAgIyBUaGUgY29tcGlsYXRpb24gcmVxdWly ZXMgLVdlcnJvciB0byB2ZXJpZnkgYW55dGhpbmcuCi0rICAgIHNhdmVfQ0ZMQUdTPSIkQ0ZMQUdT IgotKyAgICBDRkxBR1M9IiRDRkxBR1MgLVdlcnJvciIKLSsgICAgY2F0IGNvbmZkZWZzLmggLSA8 PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKysgIHdo aWxlIChtaXNzaW5nX3JwbV9saXN0ICE9IE5VTEwpCisrICAgIHsKKysgICAgICBsaXN0X2l0ZXIg PSBtaXNzaW5nX3JwbV9saXN0OworKyAgICAgIG1pc3NpbmdfcnBtX2xpc3QgPSBsaXN0X2l0ZXIt Pm5leHQ7CisrICAgICAgeGZyZWUgKGxpc3RfaXRlcik7CisrICAgIH0KKysgIG1pc3NpbmdfcnBt X2xpc3RfZW50cmllcyA9IDA7CiArCi0rLyogRHVwbGljYXRlIGhlcmUgdGhlIGRlY2xhcmF0aW9u cyB0byB2ZXJpZnkgdGhleSBtYXRjaCAiZWxmcmVhZC5jIi4gICovCi0rI2luY2x1ZGUgPHJwbS9y cG1saWIuaD4KLSsjaW5jbHVkZSA8cnBtL3JwbXRzLmg+Ci0rI2luY2x1ZGUgPHJwbS9ycG1kYi5o PgotKyNpbmNsdWRlIDxycG0vaGVhZGVyLmg+Ci0rZXh0ZXJuIGNoYXIgKiBoZWFkZXJGb3JtYXQo SGVhZGVyIGgsIGNvbnN0IGNoYXIgKiBmbXQsIGVycm1zZ190ICogZXJybXNnKTsKLStleHRlcm4g aW50IHJwbVJlYWRDb25maWdGaWxlcyhjb25zdCBjaGFyICogZmlsZSwgY29uc3QgY2hhciAqIHRh cmdldCk7Ci0rZXh0ZXJuIHJwbWRiTWF0Y2hJdGVyYXRvciBycG1kYkZyZWVJdGVyYXRvcihycG1k Yk1hdGNoSXRlcmF0b3IgbWkpOwotK2V4dGVybiBIZWFkZXIgcnBtZGJOZXh0SXRlcmF0b3IocnBt ZGJNYXRjaEl0ZXJhdG9yIG1pKTsKLStleHRlcm4gcnBtdHMgcnBtdHNDcmVhdGUodm9pZCk7Ci0r ZXh0ZXJuIHJwbXRzIHJwbXRzRnJlZShycG10cyB0cyk7Ci0rZXh0ZXJuIHJwbWRiTWF0Y2hJdGVy YXRvciBycG10c0luaXRJdGVyYXRvcihjb25zdCBycG10cyB0cywgcnBtVGFnIHJwbXRhZywKLSsJ CQkJCSAgICBjb25zdCB2b2lkICoga2V5cCwgc2l6ZV90IGtleWxlbik7CisrICBkb19jbGVhbnVw cyAoY2xlYW51cHMpOworK30KICsKLStpbnQKLSttYWluICgpCisrc3RhdGljIHZvaWQKKyttaXNz aW5nX3JwbV9jaGFuZ2UgKHZvaWQpCiAreworKyAgZGVidWdfZmx1c2hfbWlzc2luZyAoKTsKICsK LSsgIDsKLSsgIHJldHVybiAwOworKyAgZ2RiX2Fzc2VydCAobWlzc2luZ19ycG1fbGlzdCA9PSBO VUxMKTsKKysgIGlmIChtaXNzaW5nX3JwbV9oYXNoICE9IE5VTEwpCisrICAgIHsKKysgICAgICBo dGFiX2RlbGV0ZSAobWlzc2luZ19ycG1faGFzaCk7CisrICAgICAgbWlzc2luZ19ycG1faGFzaCA9 IE5VTEw7CisrICAgIH0KICt9Ci0rX0FDRU9GCi0raWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJ TkVOTyI7IHRoZW4gOgogKwotKyAgICAgIExJQlJQTV9DT01QQVQ9dHJ1ZQotKyAgICAgIHsgJGFz X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQotKyRh c19lY2hvICJ5ZXMiID4mNjsgfQotKwotK2Vsc2UKLSsKLSsgICAgICBMSUJSUE1fQ09NUEFUPWZh bHNlCi0rICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1 bHQ6IG5vIiA+JjUKLSskYXNfZWNobyAibm8iID4mNjsgfQotKwotK2ZpCi0rcm0gLWYgY29yZSBj b25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Ci0rICAgIENG TEFHUz0iJHNhdmVfQ0ZMQUdTIgorK2VudW0gbWlzc2luZ19leGVjCisrICB7CisrICAgIC8qIElu aXQgc3RhdGUuICBFWEVDX0JGRCBhbHNvIHN0aWxsIGNvdWxkIGJlIE5VTEwuICAqLworKyAgICBN SVNTSU5HX0VYRUNfTk9UX1RSSUVELAorKyAgICAvKiBXZSBzYXcgYSBub24tTlVMTCBFWEVDX0JG RCBidXQgUlBNIGhhcyBubyBpbmZvIGFib3V0IGl0LiAgKi8KKysgICAgTUlTU0lOR19FWEVDX05P VF9GT1VORCwKKysgICAgLyogV2UgZm91bmQgRVhFQ19CRkQgYnkgUlBNIGFuZCB3ZSBlaXRoZXIg aGF2ZSBpdHMgc3ltYm9scyAoZWl0aGVyIGVtYmVkZGVkCisrICAgICAgIG9yIHNlcGFyYXRlKSBv ciB0aGUgbWFpbiBleGVjdXRhYmxlJ3MgUlBNIGlzIG5vdyBjb250YWluZWQgaW4KKysgICAgICAg TUlTU0lOR19SUE1fSEFTSC4gICovCisrICAgIE1JU1NJTkdfRVhFQ19FTkxJU1RFRAorKyAgfTsK KytzdGF0aWMgZW51bSBtaXNzaW5nX2V4ZWMgbWlzc2luZ19leGVjID0gTUlTU0lOR19FWEVDX05P VF9UUklFRDsKICsKLSsgICAgICBpZiAhICRMSUJSUE1fQ09NUEFUOyB0aGVuCi0rCUhBVkVfTElC UlBNPWZhbHNlCi0rCVJQTV9QS0dfRVJST1JTPSJGb3VuZCAkTElCUlBNIEFQSSBpcyBpbmNvbXBh dGliaWxlIHdpdGggdGhpcyBHREIiCi0rICAgICAgZmkKLSsgICAgZmkKKysjZW5kaWYJLyogSEFW RV9MSUJSUE0gKi8KICsKLSsgICAgaWYgJEhBVkVfTElCUlBNOyB0aGVuCisrdm9pZAorK2RlYnVn X2ZsdXNoX21pc3NpbmcgKHZvaWQpCisreworKyNpZmRlZiBIQVZFX0xJQlJQTQorKyAgbWlzc2lu Z19ycG1fbGlzdF9wcmludCAoKTsKKysjZW5kaWYKKyt9CiArCi0rJGFzX2VjaG8gIiNkZWZpbmUg SEFWRV9MSUJSUE0gMSIgPj5jb25mZGVmcy5oCisgLyogVGhpcyBNSVNTSU5HX0ZJTEVQQUlSX0hB U0ggdHJhY2tlciBpcyB1c2VkIG9ubHkgZm9yIHRoZSBkdXBsaWNpdGUgbWVzc2FnZXMKKy0gICAg IFRyeSB0byBpbnN0YWxsIHRoZSBoYXNoIGZpbGUgLi4uCisrICAgICB5dW0gLS1lbmFibGVyZXBv PScqZGVidWcqJyBpbnN0YWxsIC4uLgorICAgIGF2b2lkYW5jZS4gICovCisgCisgc3RydWN0IG1p c3NpbmdfZmlsZXBhaXIKK0BAIC03MjEsMTEgKzEwODEsMTcgQEAgbWlzc2luZ19maWxlcGFpcl9j aGFuZ2UgKHZvaWQpCisgICAgICAgLyogQWxsIHRoZWlyIG1lbW9yeSBjYW1lIGp1c3QgZnJvbSBt aXNzaW5nX2ZpbGVwYWlyX09CU1RBQ0suICAqLworICAgICAgIG1pc3NpbmdfZmlsZXBhaXJfaGFz aCA9IE5VTEw7CisgICAgIH0KKysjaWZkZWYgSEFWRV9MSUJSUE0KKysgIG1pc3NpbmdfZXhlYyA9 IE1JU1NJTkdfRVhFQ19OT1RfVFJJRUQ7CisrI2VuZGlmCisgfQorIAorIHN0YXRpYyB2b2lkCisg ZGVidWdfcHJpbnRfZXhlY3V0YWJsZV9jaGFuZ2VkICh2b2lkKQorIHsKKysjaWZkZWYgSEFWRV9M SUJSUE0KKysgIG1pc3NpbmdfcnBtX2NoYW5nZSAoKTsKKysjZW5kaWYKKyAgIG1pc3NpbmdfZmls ZXBhaXJfY2hhbmdlICgpOworIH0KKyAKK0BAIC03OTIsMTQgKzExNTgsMzkgQEAgZGVidWdfcHJp bnRfbWlzc2luZyAoY29uc3QgY2hhciAqYmluYXJ5LCBjb25zdCBjaGFyICpkZWJ1ZykKKyAKKyAg ICpzbG90ID0gbWlzc2luZ19maWxlcGFpcjsKKyAKKy0gIC8qIFdlIGRvIG5vdCBjb2xsZWN0IGFu ZCBmbHVzaCB0aGVzZSBtZXNzYWdlcyBhcyBlYWNoIHN1Y2ggbWVzc2FnZQorLSAgICAgYWxyZWFk eSByZXF1aXJlcyBpdHMgb3duIHNlcGFyYXRlIGxpbmVzLiAgKi8KKysjaWZkZWYgSEFWRV9MSUJS UE0KKysgIGlmIChtaXNzaW5nX2V4ZWMgPT0gTUlTU0lOR19FWEVDX05PVF9UUklFRCkKKysgICAg eworKyAgICAgIGNoYXIgKmV4ZWNmaWxlbmFtZTsKKyAKKy0gIGZwcmludGZfdW5maWx0ZXJlZCAo Z2RiX3N0ZGxvZywKKy0JCSAgICAgIF8oIk1pc3Npbmcgc2VwYXJhdGUgZGVidWdpbmZvIGZvciAl c1xuIiksIGJpbmFyeSk7CistICBpZiAoZGVidWcgIT0gTlVMTCkKKy0gICAgZnByaW50Zl91bmZp bHRlcmVkIChnZGJfc3RkbG9nLCBfKCJUcnkgdG8gaW5zdGFsbCB0aGUgaGFzaCBmaWxlICVzXG4i KSwKKy0JCQlkZWJ1Zyk7CisrICAgICAgZXhlY2ZpbGVuYW1lID0gZ2V0X2V4ZWNfZmlsZSAoMCk7 CisrICAgICAgaWYgKGV4ZWNmaWxlbmFtZSAhPSBOVUxMKQorKwl7CisrCSAgaWYgKG1pc3Npbmdf cnBtX2VubGlzdCAoZXhlY2ZpbGVuYW1lKSA9PSAwKQorKwkgICAgbWlzc2luZ19leGVjID0gTUlT U0lOR19FWEVDX05PVF9GT1VORDsKKysJICBlbHNlCisrCSAgICBtaXNzaW5nX2V4ZWMgPSBNSVNT SU5HX0VYRUNfRU5MSVNURUQ7CisrCX0KKysgICAgfQorKyAgaWYgKG1pc3NpbmdfZXhlYyAhPSBN SVNTSU5HX0VYRUNfRU5MSVNURUQpCisrICAgIGlmICgoYmluYXJ5WzBdID09IDAgfHwgbWlzc2lu Z19ycG1fZW5saXN0IChiaW5hcnkpID09IDApCisrCSYmIChkZWJ1ZyA9PSBOVUxMIHx8IG1pc3Np bmdfcnBtX2VubGlzdCAoZGVidWcpID09IDApKQorKyNlbmRpZgkvKiBIQVZFX0xJQlJQTSAqLwor KyAgICAgIHsKKysJLyogV2UgZG8gbm90IGNvbGxlY3QgYW5kIGZsdXNoIHRoZXNlIG1lc3NhZ2Vz IGFzIGVhY2ggc3VjaCBtZXNzYWdlCisrCSAgIGFscmVhZHkgcmVxdWlyZXMgaXRzIG93biBzZXBh cmF0ZSBsaW5lcy4gICovCiArCi0rICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTICRSUE1fQ0ZMQUdTIgot KyAgICAgIExJQlM9IiRMSUJTICRSUE1fTElCUyIKLSsgICAgZWxzZQotKyAgICAgIGlmICRSUE1f UkVRVUlSRTsgdGhlbgotKwlhc19mbl9lcnJvciAiJFJQTV9QS0dfRVJST1JTIiAiJExJTkVOTyIg NQotKyAgICAgIGVsc2UKLSsJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99 OiBXQVJOSU5HOiAkUlBNX1BLR19FUlJPUlMiID4mNQotKyRhc19lY2hvICIkYXNfbWU6IFdBUk5J Tkc6ICRSUE1fUEtHX0VSUk9SUyIgPiYyO30KLSsgICAgICBmaQotKyAgICBmaQotKyAgZmkKLStm aQorKwlmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCisrCQkJICAgIF8oIk1pc3Npbmcg c2VwYXJhdGUgZGVidWdpbmZvIGZvciAlc1xuIiksIGJpbmFyeSk7CisrICAgICAgICBpZiAoZGVi dWcgIT0gTlVMTCkKKysJICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csIF8oIlRyeTog JXMgJXNcbiIpLAorKyNpZmRlZiBETkZfREVCVUdJTkZPX0lOU1RBTEwKKysJCQkgICAgICAiZG5m IgorKyNlbHNlCisrCQkJICAgICAgInl1bSIKKysjZW5kaWYKKysJCQkgICAgICAiIC0tZW5hYmxl cmVwbz0nKmRlYnVnKicgaW5zdGFsbCIsIGRlYnVnKTsKKysgICAgICB9CisgfQorIAorIC8qIFNl ZSBidWlsZC1pZC5oLiAgKi8KK2RpZmYgLS1naXQgYS9nZGIvY29uZmlnLmluIGIvZ2RiL2NvbmZp Zy5pbgoraW5kZXggMWQxMWE5NzA4MC4uZWRkNzAyOGY3NiAxMDA2NDQKKy0tLSBhL2dkYi9jb25m aWcuaW4KKysrKyBiL2dkYi9jb25maWcuaW4KK0BAIC0zMyw2ICszMyw5IEBACisgLyogRGVmaW5l IHRvIEJGRCdzIGRlZmF1bHQgdGFyZ2V0IHZlY3Rvci4gKi8KKyAjdW5kZWYgREVGQVVMVF9CRkRf VkVDCisgCisrLyogbGlicnBtIHZlcnNpb24gc3BlY2lmaWMgbGlicmFyeSBuYW1lIHRvIGRsb3Bl bi4gKi8KKysjdW5kZWYgRExPUEVOX0xJQlJQTQogKworIC8qIERlZmluZSB0byAxIGlmIHRyYW5z bGF0aW9uIG9mIHByb2dyYW0gbWVzc2FnZXMgdG8gdGhlIHVzZXIncyBuYXRpdmUKKyAgICBsYW5n dWFnZSBpcyByZXF1ZXN0ZWQuICovCisgI3VuZGVmIEVOQUJMRV9OTFMKK0BAIC0yNjQsNiArMjY3 LDkgQEAKKyAvKiBEZWZpbmUgaWYgUHl0aG9uIDIuNyBpcyBiZWluZyB1c2VkLiAqLworICN1bmRl ZiBIQVZFX0xJQlBZVEhPTjJfNwogIAorKy8qIERlZmluZSBpZiBsaWJycG0gbGlicmFyeSBpcyBi ZWluZyB1c2VkLiAqLworKyN1bmRlZiBIQVZFX0xJQlJQTQorKworIC8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSA8bGlidW53aW5kLWlhNjQuaD4gaGVhZGVyIGZpbGUuICovCisgI3VuZGVm IEhBVkVfTElCVU5XSU5EX0lBNjRfSAogIAotIHN1YmRpcnM9IiRzdWJkaXJzIHRlc3RzdWl0ZSIK LUluZGV4OiBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvY29uZmlndXJlLmFjCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMTEuNTAuMjAxNjA2MzAub3JpZy9nZGIvY29uZmlndXJlLmFjCTIwMTYtMDct MDIgMjM6NDM6MjQuMDg1MjE0MTQ0ICswMjAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2Ri L2NvbmZpZ3VyZS5hYwkyMDE2LTA3LTAzIDE0OjM3OjEyLjU4MjEzMDgxOSArMDIwMAotQEAgLTE3 Nyw2ICsxNzcsMTk5IEBACi0gCSAgICAgIFtEaXJlY3RvcmllcyBzYWZlIHRvIGhvbGQgYXV0by1s b2FkZWQgZmlsZXMuXSkKLSBBQ19NU0dfUkVTVUxUKFskd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRo XSkKK2RpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQoraW5kZXggN2Iy NTAwNzlkZS4uZTMxNGUyOGZmMyAxMDA3NTUKKy0tLSBhL2dkYi9jb25maWd1cmUKKysrKyBiL2dk Yi9jb25maWd1cmUKK0BAIC03MTYsNiArNzE2LDExIEBAIFBLR1ZFUlNJT04KKyBIQVZFX05BVElW RV9HQ09SRV9UQVJHRVQKKyBUQVJHRVRfT0JTCisgc3ViZGlycworK1JQTV9MSUJTCisrUlBNX0NG TEFHUworK1BLR19DT05GSUdfTElCRElSCisrUEtHX0NPTkZJR19QQVRICisrUEtHX0NPTkZJRwor IEdEQl9EQVRBRElSCisgREVCVUdESVIKKyBNQUtFSU5GT19FWFRSQV9GTEFHUworQEAgLTgyMCw2 ICs4MjUsNyBAQCB3aXRoX2dkYl9kYXRhZGlyCisgd2l0aF9yZWxvY2F0ZWRfc291cmNlcworIHdp dGhfYXV0b19sb2FkX2RpcgorIHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0aAorK3dpdGhfcnBtCisg ZW5hYmxlX3RhcmdldHMKKyBlbmFibGVfNjRfYml0X2JmZAorIGVuYWJsZV9nZGJjbGkKK0BAIC04 NzgsNiArODg0LDExIEBAIENDQworIENQUAorIE1BS0VJTkZPCisgTUFLRUlORk9GTEFHUworK1BL R19DT05GSUcKKytQS0dfQ09ORklHX1BBVEgKKytQS0dfQ09ORklHX0xJQkRJUgorK1JQTV9DRkxB R1MKKytSUE1fTElCUworIFlBQ0MKKyBZRkxBR1MKKyBYTUtNRicKK0BAIC0xNTQ4LDYgKzE1NTks OCBAQCBPcHRpb25hbCBQYWNrYWdlczoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFstLXdp dGgtYXV0by1sb2FkLWRpcl0KKyAgIC0td2l0aG91dC1hdXRvLWxvYWQtc2FmZS1wYXRoCisgICAg ICAgICAgICAgICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgYXV0by1sb2FkZWQgZmlsZXMg bG9jYXRpb25zCisrICAtLXdpdGgtcnBtICAgICAgICAgICAgICBxdWVyeSBycG0gZGF0YWJhc2Ug Zm9yIG1pc3NpbmcgZGVidWdpbmZvcyAoeWVzL25vLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgZGVmLiBhdXRvPWxpYnJwbS5zbykKKyAgIC0td2l0aC1saWJ1bndpbmQtaWE2NCAgIHVzZSBs aWJ1bndpbmQgZnJhbWUgdW53aW5kaW5nIGZvciBpYTY0IHRhcmdldHMKKyAgIC0td2l0aC1jdXJz ZXMgICAgICAgICAgIHVzZSB0aGUgY3Vyc2VzIGxpYnJhcnkgaW5zdGVhZCBvZiB0aGUgdGVybWNh cAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeQorQEAgLTE2MDUsNiArMTYxOCwx MyBAQCBTb21lIGluZmx1ZW50aWFsIGVudmlyb25tZW50IHZhcmlhYmxlczoKKyAgIE1BS0VJTkZP ICAgIFBhcmVudCBjb25maWd1cmUgZGV0ZWN0cyBpZiBpdCBpcyBvZiBzdWZmaWNpZW50IHZlcnNp b24uCisgICBNQUtFSU5GT0ZMQUdTCisgICAgICAgICAgICAgICBQYXJhbWV0ZXJzIGZvciBNQUtF SU5GTy4KKysgIFBLR19DT05GSUcgIHBhdGggdG8gcGtnLWNvbmZpZyB1dGlsaXR5CisrICBQS0df Q09ORklHX1BBVEgKKysgICAgICAgICAgICAgIGRpcmVjdG9yaWVzIHRvIGFkZCB0byBwa2ctY29u ZmlnJ3Mgc2VhcmNoIHBhdGgKKysgIFBLR19DT05GSUdfTElCRElSCisrICAgICAgICAgICAgICBw YXRoIG92ZXJyaWRpbmcgcGtnLWNvbmZpZydzIGJ1aWx0LWluIHNlYXJjaCBwYXRoCisrICBSUE1f Q0ZMQUdTICBDIGNvbXBpbGVyIGZsYWdzIGZvciBSUE0sIG92ZXJyaWRpbmcgcGtnLWNvbmZpZwor KyAgUlBNX0xJQlMgICAgbGlua2VyIGZsYWdzIGZvciBSUE0sIG92ZXJyaWRpbmcgcGtnLWNvbmZp ZworICAgWUFDQyAgICAgICAgVGhlIGBZZXQgQW5vdGhlciBDIENvbXBpbGVyJyBpbXBsZW1lbnRh dGlvbiB0byB1c2UuIERlZmF1bHRzIHRvCisgICAgICAgICAgICAgICB0aGUgZmlyc3QgcHJvZ3Jh bSBmb3VuZCBvdXQgb2Y6IGBiaXNvbiAteScsIGBieWFjYycsIGB5YWNjJy4KKyAgIFlGTEFHUyAg ICAgIFRoZSBsaXN0IG9mIGFyZ3VtZW50cyB0aGF0IHdpbGwgYmUgcGFzc2VkIGJ5IGRlZmF1bHQg dG8gJFlBQ0MuCitAQCAtNjQ4Niw2ICs2NTA2LDQ5NCBAQCBfQUNFT0YKKyB7ICRhc19lY2hvICIk YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHdpdGhfYXV0b19sb2FkX3NhZmVf cGF0aCIgPiY1CisgJGFzX2VjaG8gIiR3aXRoX2F1dG9fbG9hZF9zYWZlX3BhdGgiID4mNjsgfQog IAogKyMgSW50ZWdyYXRpb24gd2l0aCBycG0gbGlicmFyeSB0byBzdXBwb3J0IG1pc3NpbmcgZGVi dWdpbmZvIHN1Z2dlc3Rpb25zLgogKyMgLS13aXRob3V0LXJwbTogRGlzYWJsZSBhbnkgcnBtIHN1 cHBvcnQuCkBAIC04NzksMTIgKzc5MiwxNyBAQCBJbmRleDogZ2RiLTcuMTEuNTAuMjAxNjA2MzAv Z2RiL2NvbmZpZ3VyZS5hYwogKyMgKGRlZmF1bHQpIC0td2l0aC1ycG09YXV0bzogTGlrZSBgLS13 aXRoLXJwbT1saWJycG0uc28nIGJ1dCBpZiBldmVuIHBrZy1jb25maWcKICsjICAgY2Fubm90IGZp bmQgbGlicnBtIHVzZSB0byB0aGUgcnBtbGVzcyBjb21waWxhdGlvbiAobGlrZSBgLS13aXRob3V0 LXJwbScpLgogKwotK0FDX0FSR19XSVRIKFtycG1dLAotKyAgW0FTX0hFTFBfU1RSSU5HKFstLXdp dGgtcnBtXSwKLSsgICAgICAgICAgICAgICAgICBbcXVlcnkgcnBtIGRhdGFiYXNlIGZvciBtaXNz aW5nIGRlYnVnaW5mb3MgKHllcy9ubywgZGVmLiBhdXRvPWxpYnJwbS5zbyldKV0sIFtdLCBbd2l0 aF9ycG09ImF1dG8iXSkKICsKLSttNF9wYXR0ZXJuX2FsbG93KFteQUNfTVNHX0VSUk9SJF0pCi0r bTRfcGF0dGVybl9hbGxvdyhbXkFDX01TR19XQVJOJF0pCisrIyBDaGVjayB3aGV0aGVyIC0td2l0 aC1ycG0gd2FzIGdpdmVuLgorK2lmIHRlc3QgIiR7d2l0aF9ycG0rc2V0fSIgPSBzZXQ7IHRoZW4g OgorKyAgd2l0aHZhbD0kd2l0aF9ycG07CisrZWxzZQorKyAgd2l0aF9ycG09ImF1dG8iCisrZmkK KysKKysKKysKKysKICtpZiB0ZXN0ICJ4JHdpdGhfcnBtIiAhPSAieG5vIjsgdGhlbgogKyAgaWYg dGVzdCAieCR3aXRoX3JwbSIgPSAieHllcyI7IHRoZW4KICsgICAgTElCUlBNPSJsaWJycG0uc28i CkBAIC05MDEsMTUgKzgxOSwyOCBAQCBJbmRleDogZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2Nv bmZpZ3VyZS5hYwogKyAgZmkKICsgIExJQlJQTV9TVFJJTkc9JyInIiRMSUJSUE0iJyInCiArCi0r ICBBQ19NU0dfQ0hFQ0tJTkcoW3NwZWNpZmljIGxpYnJwbSB2ZXJzaW9uXSkKKysgIHsgJGFzX2Vj aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgc3BlY2lmaWMgbGlicnBt IHZlcnNpb24iID4mNQorKyRhc19lY2hvX24gImNoZWNraW5nIHNwZWNpZmljIGxpYnJwbSB2ZXJz aW9uLi4uICIgPiY2OyB9CiArICBIQVZFX0RMT1BFTl9MSUJSUE09ZmFsc2UKICsgIHNhdmVfTElC Uz0iJExJQlMiCiArICBMSUJTPSIkTElCUyAtbGRsIgotKyAgQUNfUlVOX0lGRUxTRShBQ19MQU5H X1BST0dSQU0oW1sKKysgIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoK KysgIHsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4g XGAkYWNfcHdkJzoiID4mNQorKyRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2Qn OiIgPiYyO30KKythc19mbl9lcnJvciAiY2Fubm90IHJ1biB0ZXN0IHByb2dyYW0gd2hpbGUgY3Jv c3MgY29tcGlsaW5nCisrU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iICIkTElO RU5PIiA1OyB9CisrZWxzZQorKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3Qu JGFjX2V4dAorKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKysKICsjaW5jbHVkZSA8cnBtL3JwbWxp Yi5oPgogKyNpbmNsdWRlIDxkbGZjbi5oPgogKyNpbmNsdWRlIDxlcnJuby5oPgotKyAgXV0sIFtb CisrCisraW50CisrbWFpbiAoKQorK3sKKysKICsgICAgdm9pZCAqaDsKICsgICAgY29uc3QgY2hh ciAqY29uc3QgKnJwbXZlcnA7CiArICAgIEZJTEUgKmY7CkBAIC05NzcsMjEgKzkwOCwzOSBAQCBJ bmRleDogZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2NvbmZpZ3VyZS5hYwogKwlmcHJpbnRmIChm LCAiJXNcbiIsIGgyX25hbWUpOwogKwlyZXR1cm4gMDsKICsgICAgICB9Ci0rICBdXSksIFsKKysK KysgIDsKKysgIHJldHVybiAwOworK30KKytfQUNFT0YKKytpZiBhY19mbl9jX3RyeV9ydW4gIiRM SU5FTk8iOyB0aGVuIDoKKysKICsgICAgRExPUEVOX0xJQlJQTT0iYGNhdCBjb25mdGVzdC5vdXRg IgogKyAgICBpZiB0ZXN0ICJ4JERMT1BFTl9MSUJSUE0iICE9ICJ4IjsgdGhlbgogKyAgICAgIEhB VkVfRExPUEVOX0xJQlJQTT10cnVlCi0rICAgICAgQUNfTVNHX1JFU1VMVCgkRExPUEVOX0xJQlJQ TSkKKysgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3Vs dDogJERMT1BFTl9MSUJSUE0iID4mNQorKyRhc19lY2hvICIkRExPUEVOX0xJQlJQTSIgPiY2OyB9 CiArICAgIGZpCi0rICBdKQorKworK2ZpCisrcm0gLWYgY29yZSAqLmNvcmUgY29yZS5jb25mdGVz dC4qIGdtb24ub3V0IGJiLm91dCBjb25mdGVzdCRhY19leGVleHQgXAorKyAgY29uZnRlc3QuJGFj X29iamV4dCBjb25mdGVzdC5iZWFtIGNvbmZ0ZXN0LiRhY19leHQKKytmaQorKwogKyAgcm0gLWYg Y29uZnRlc3Qub3V0CiArCi0rICBtNF9kZWZpbmUoW0NIRUNLX0xJQlJQTV9DT01QQVRdLCBbCi0r ICAgIEFDX01TR19DSEVDS0lORyhbcnBtIGxpYnJhcnkgQVBJIGNvbXBhdGliaWxpdHldKQorKwor KworKyAgaWYgJEhBVkVfRExPUEVOX0xJQlJQTTsgdGhlbgorKworKyAgICB7ICRhc19lY2hvICIk YXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHJwbSBsaWJyYXJ5IEFQSSBjb21w YXRpYmlsaXR5IiA+JjUKKyskYXNfZWNob19uICJjaGVja2luZyBycG0gbGlicmFyeSBBUEkgY29t cGF0aWJpbGl0eS4uLiAiID4mNjsgfQogKyAgICAjIFRoZSBjb21waWxhdGlvbiByZXF1aXJlcyAt V2Vycm9yIHRvIHZlcmlmeSBhbnl0aGluZy4KICsgICAgc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCiAr ICAgIENGTEFHUz0iJENGTEFHUyAtV2Vycm9yIgotKyAgICBBQ19DT01QSUxFX0lGRUxTRShBQ19M QU5HX1BST0dSQU0oW1sKKysgICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3Qu JGFjX2V4dAorKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKysKICsvKiBEdXBsaWNhdGUgaGVyZSB0 aGUgZGVjbGFyYXRpb25zIHRvIHZlcmlmeSB0aGV5IG1hdGNoICJlbGZyZWFkLmMiLiAgKi8KICsj aW5jbHVkZSA8cnBtL3JwbWxpYi5oPgogKyNpbmNsdWRlIDxycG0vcnBtdHMuaD4KQEAgLTEwMDUs MTggKzk1NCwzMSBAQCBJbmRleDogZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2NvbmZpZ3VyZS5h YwogK2V4dGVybiBycG10cyBycG10c0ZyZWUocnBtdHMgdHMpOwogK2V4dGVybiBycG1kYk1hdGNo SXRlcmF0b3IgcnBtdHNJbml0SXRlcmF0b3IoY29uc3QgcnBtdHMgdHMsIHJwbVRhZyBycG10YWcs CiArCQkJCQkgICAgY29uc3Qgdm9pZCAqIGtleXAsIHNpemVfdCBrZXlsZW4pOwotKyAgICBdXSks IFsKKysKKytpbnQKKyttYWluICgpCisreworKworKyAgOworKyAgcmV0dXJuIDA7CisrfQorK19B Q0VPRgorK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKysKICsgICAg ICBMSUJSUE1fQ09NUEFUPXRydWUKLSsgICAgICBBQ19NU0dfUkVTVUxUKHllcykKLSsgICAgXSwg WworKyAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0 OiB5ZXMiID4mNQorKyRhc19lY2hvICJ5ZXMiID4mNjsgfQorKworK2Vsc2UKKysKICsgICAgICBM SUJSUE1fQ09NUEFUPWZhbHNlCi0rICAgICAgQUNfTVNHX1JFU1VMVChubykKLSsgICAgXSkKKysg ICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8i ID4mNQorKyRhc19lY2hvICJubyIgPiY2OyB9CisrCisrZmkKKytybSAtZiBjb3JlIGNvbmZ0ZXN0 LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKICsgICAgQ0ZMQUdTPSIk c2F2ZV9DRkxBR1MiCi0rICBdKQogKwotKyAgaWYgJEhBVkVfRExPUEVOX0xJQlJQTTsgdGhlbgot KyAgICBDSEVDS19MSUJSUE1fQ09NUEFUCiArICAgIGlmICEgJExJQlJQTV9DT01QQVQ7IHRoZW4K ICsgICAgICBIQVZFX0RMT1BFTl9MSUJSUE09ZmFsc2UKICsgICAgZmkKQEAgLTEwMjQsNDk2ICs5 ODYsNTUwIEBAIEluZGV4OiBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvY29uZmlndXJlLmFjCiAr CiArICBpZiAkSEFWRV9ETE9QRU5fTElCUlBNOyB0aGVuCiArICAgIERMT1BFTl9MSUJSUE1fU1RS SU5HPSciJyIkRExPUEVOX0xJQlJQTSInIicKLSsgICAgQUNfREVGSU5FX1VOUVVPVEVEKERMT1BF Tl9MSUJSUE0sICRETE9QRU5fTElCUlBNX1NUUklORywgW2xpYnJwbSB2ZXJzaW9uIHNwZWNpZmlj IGxpYnJhcnkgbmFtZSB0byBkbG9wZW4uXSkKLSsgICAgQUNfREVGSU5FKEhBVkVfTElCUlBNLCAx LCBbRGVmaW5lIGlmIGxpYnJwbSBsaWJyYXJ5IGlzIGJlaW5nIHVzZWQuXSkKLSsgIGVsc2UKLSsg ICAgQUNfTVNHX1JFU1VMVChubykKLSsgICAgTElCUz0iJHNhdmVfTElCUyIKLSsgICAgaWYgJERM T1BFTl9SRVFVSVJFOyB0aGVuCi0rICAgICAgQUNfTVNHX0VSUk9SKFtTcGVjaWZpYyBuYW1lICRM SUJSUE0gd2FzIHJlcXVlc3RlZCBidXQgaXQgY291bGQgbm90IGJlIG9wZW5lZC5dKQotKyAgICBm aQotKyAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhSUE0sIHJwbSwgW0hBVkVfTElCUlBNPXRydWVdLCBb SEFWRV9MSUJSUE09ZmFsc2VdKQotKwotKyAgICBpZiAkSEFWRV9MSUJSUE07IHRoZW4KLSsgICAg ICBDSEVDS19MSUJSUE1fQ09NUEFUCi0rICAgICAgaWYgISAkTElCUlBNX0NPTVBBVDsgdGhlbgot KwlIQVZFX0xJQlJQTT1mYWxzZQotKwlSUE1fUEtHX0VSUk9SUz0iRm91bmQgJExJQlJQTSBBUEkg aXMgaW5jb21wYXRpYmlsZSB3aXRoIHRoaXMgR0RCIgotKyAgICAgIGZpCi0rICAgIGZpCi0rCi0r ICAgIGlmICRIQVZFX0xJQlJQTTsgdGhlbgotKyAgICAgIEFDX0RFRklORShIQVZFX0xJQlJQTSwg MSwgW0RlZmluZSBpZiBsaWJycG0gbGlicmFyeSBpcyBiZWluZyB1c2VkLl0pCi0rICAgICAgQ0ZM QUdTPSIkQ0ZMQUdTICRSUE1fQ0ZMQUdTIgotKyAgICAgIExJQlM9IiRMSUJTICRSUE1fTElCUyIK LSsgICAgZWxzZQotKyAgICAgIGlmICRSUE1fUkVRVUlSRTsgdGhlbgotKwlBQ19NU0dfRVJST1Io JFJQTV9QS0dfRVJST1JTKQotKyAgICAgIGVsc2UKLSsJQUNfTVNHX1dBUk4oJFJQTV9QS0dfRVJS T1JTKQotKyAgICAgIGZpCi0rICAgIGZpCi0rICBmaQotK2ZpCi0rIAotIEFDX0NPTkZJR19TVUJE SVJTKHRlc3RzdWl0ZSkKLSAKLSAjIENoZWNrIHdoZXRoZXIgdG8gc3VwcG9ydCBhbHRlcm5hdGl2 ZSB0YXJnZXQgY29uZmlndXJhdGlvbnMKLUluZGV4OiBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIv Y29yZWxvdy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuNTAuMjAxNjA2MzAub3JpZy9nZGIv Y29yZWxvdy5jCTIwMTYtMDctMDMgMTQ6MzQ6MzIuMDIyNzUzNTgyICswMjAwCi0rKysgZ2RiLTcu MTEuNTAuMjAxNjA2MzAvZ2RiL2NvcmVsb3cuYwkyMDE2LTA3LTAzIDE0OjM3OjEyLjU4MjEzMDgx OSArMDIwMAotQEAgLTMxMCw3ICszMTAsNyBAQAotICAgICAgICAgc3ltZmlsZV9vYmpmaWxlLT5m bGFncyB8PSBPQkpGX0JVSUxEX0lEX0NPUkVfTE9BREVEOwotICAgICB9Ci0gICBlbHNlCi0tICAg IGRlYnVnX3ByaW50X21pc3NpbmcgKF8oInRoZSBtYWluIGV4ZWN1dGFibGUgZmlsZSIpLCBidWls ZF9pZF9maWxlbmFtZSk7Ci0rICAgIGRlYnVnX3ByaW50X21pc3NpbmcgKEJVSUxEX0lEX01BSU5f RVhFQ1VUQUJMRV9GSUxFTkFNRSwgYnVpbGRfaWRfZmlsZW5hbWUpOwotIAotICAgZG9fY2xlYW51 cHMgKGJhY2tfdG8pOwotIAotSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNjMwL2dkYi9idWlsZC1p ZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuNTAuMjAxNjA2MzAub3JpZy9nZGIvYnVpbGQt aWQuYwkyMDE2LTA3LTAzIDE0OjM2OjUwLjEyNDkzODE4NyArMDIwMAotKysrIGdkYi03LjExLjUw LjIwMTYwNjMwL2dkYi9idWlsZC1pZC5jCTIwMTYtMDctMDMgMTQ6NDI6MjUuMTcxODEyMTM0ICsw MjAwCi1AQCAtMzUsNiArMzUsNyBAQAotICNpbmNsdWRlICJlbGYvY29tbW9uLmgiCi0gI2luY2x1 ZGUgImVsZi1iZmQuaCIKLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSsjaW5jbHVkZSAiZWxmL2V4 dGVybmFsLmgiCi0gCi0gI2RlZmluZSBCVUlMRF9JRF9WRVJCT1NFX05PTkUgMAotICNkZWZpbmUg QlVJTERfSURfVkVSQk9TRV9GSUxFTkFNRVMgMQotQEAgLTY2NSw4ICs2NjYsMzY2IEBACi0gICBy ZXR1cm4gcmVzdWx0OwotIH0KLSAKLSsjaWZkZWYgSEFWRV9MSUJSUE0KLSsKLSsjaW5jbHVkZSA8 cnBtL3JwbWxpYi5oPgotKyNpbmNsdWRlIDxycG0vcnBtdHMuaD4KLSsjaW5jbHVkZSA8cnBtL3Jw bWRiLmg+Ci0rI2luY2x1ZGUgPHJwbS9oZWFkZXIuaD4KLSsjaWZkZWYgRExPUEVOX0xJQlJQTQot KyNpbmNsdWRlIDxkbGZjbi5oPgotKyNlbmRpZgotKwotKy8qIFRoaXMgTUlTU0lOR19SUE1fSEFT SCB0cmFja2VyIGlzIHVzZWQgdG8gY29sbGVjdCBhbGwgdGhlIG1pc3NpbmcgcnBtIGZpbGVzCi0r ICAgYW5kIGF2b2lkIHRoZWlyIGR1cGxpY2l0aWVzIGR1cmluZyBhIHNpbmdsZSBpbmZlcmlvciBy dW4uICAqLwotKwotK3N0YXRpYyBzdHJ1Y3QgaHRhYiAqbWlzc2luZ19ycG1faGFzaDsKLSsKLSsv KiBUaGlzIE1JU1NJTkdfUlBNX0xJU1QgdHJhY2tlciBpcyB1c2VkIHRvIGNvbGxlY3QgYW5kIHBy aW50IGFzIGEgc2luZ2xlIGxpbmUKLSsgICBhbGwgdGhlIHJwbXMgcmlnaHQgYmVmb3JlIHRoZSBu ZWFyZXN0IEdEQiBwcm9tcHQuICBJdCBnZXRzIGNsZWFyZWQgYWZ0ZXIKLSsgICBlYWNoIHN1Y2gg cHJpbnQgKGl0IGlzIHF1ZXN0aW9uYWJsZSBpZiB3ZSBzaG91bGQgY2xlYXIgaXQgYWZ0ZXIgdGhl IHByaW50KS4KLSsgICAqLwotKwotK3N0cnVjdCBtaXNzaW5nX3JwbQotKyAgewotKyAgICBzdHJ1 Y3QgbWlzc2luZ19ycG0gKm5leHQ7Ci0rICAgIGNoYXIgcnBtWzFdOwotKyAgfTsKLStzdGF0aWMg c3RydWN0IG1pc3NpbmdfcnBtICptaXNzaW5nX3JwbV9saXN0OwotK3N0YXRpYyBpbnQgbWlzc2lu Z19ycG1fbGlzdF9lbnRyaWVzOwotKwotKy8qIFJldHVybnMgdGhlIGNvdW50IG9mIG5ld2x5IGFk ZGVkIHJwbXMuICAqLwogKwotK3N0YXRpYyBpbnQKLSttaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0 IGNoYXIgKmZpbGVuYW1lKQotK3sKLSsgIHN0YXRpYyBpbnQgcnBtX2luaXRfZG9uZSA9IDA7Ci0r ICBycG10cyB0czsKLSsgIHJwbWRiTWF0Y2hJdGVyYXRvciBtaTsKLSsgIGludCBjb3VudCA9IDA7 CisrY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorKyNkZWZpbmUgRExPUEVOX0xJQlJQTSAkRExP UEVOX0xJQlJQTV9TVFJJTkcKKytfQUNFT0YKICsKLSsjaWZkZWYgRExPUEVOX0xJQlJQTQotKyAg LyogRHVwbGljYXRlIGhlcmUgdGhlIGRlY2xhcmF0aW9ucyB0byB2ZXJpZnkgdGhleSBtYXRjaC4g IFRoZSBzYW1lIHNhbml0eQotKyAgICAgY2hlY2sgaXMgcHJlc2VudCBhbHNvIGluIGBjb25maWd1 cmUuYWMnLiAgKi8KLSsgIGV4dGVybiBjaGFyICogaGVhZGVyRm9ybWF0KEhlYWRlciBoLCBjb25z dCBjaGFyICogZm10LCBlcnJtc2dfdCAqIGVycm1zZyk7Ci0rICBzdGF0aWMgY2hhciAqKCpoZWFk ZXJGb3JtYXRfcCkgKEhlYWRlciBoLCBjb25zdCBjaGFyICogZm10LCBlcnJtc2dfdCAqZXJybXNn KTsKLSsgIGV4dGVybiBpbnQgcnBtUmVhZENvbmZpZ0ZpbGVzKGNvbnN0IGNoYXIgKiBmaWxlLCBj b25zdCBjaGFyICogdGFyZ2V0KTsKLSsgIHN0YXRpYyBpbnQgKCpycG1SZWFkQ29uZmlnRmlsZXNf cCkgKGNvbnN0IGNoYXIgKiBmaWxlLCBjb25zdCBjaGFyICogdGFyZ2V0KTsKLSsgIGV4dGVybiBy cG1kYk1hdGNoSXRlcmF0b3IgcnBtZGJGcmVlSXRlcmF0b3IocnBtZGJNYXRjaEl0ZXJhdG9yIG1p KTsKLSsgIHN0YXRpYyBycG1kYk1hdGNoSXRlcmF0b3IgKCpycG1kYkZyZWVJdGVyYXRvcl9wKSAo cnBtZGJNYXRjaEl0ZXJhdG9yIG1pKTsKLSsgIGV4dGVybiBIZWFkZXIgcnBtZGJOZXh0SXRlcmF0 b3IocnBtZGJNYXRjaEl0ZXJhdG9yIG1pKTsKLSsgIHN0YXRpYyBIZWFkZXIgKCpycG1kYk5leHRJ dGVyYXRvcl9wKSAocnBtZGJNYXRjaEl0ZXJhdG9yIG1pKTsKLSsgIGV4dGVybiBycG10cyBycG10 c0NyZWF0ZSh2b2lkKTsKLSsgIHN0YXRpYyBycG10cyAoKnJwbXRzQ3JlYXRlX3ApICh2b2lkKTsK LSsgIGV4dGVybiBycG10cyBycG10c0ZyZWUocnBtdHMgdHMpOwotKyAgc3RhdGljIHJwbXRzICgq cnBtdHNGcmVlX3ApIChycG10cyB0cyk7Ci0rICBleHRlcm4gcnBtZGJNYXRjaEl0ZXJhdG9yIHJw bXRzSW5pdEl0ZXJhdG9yKGNvbnN0IHJwbXRzIHRzLCBycG1UYWcgcnBtdGFnLAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICoga2V5cCwg c2l6ZV90IGtleWxlbik7Ci0rICBzdGF0aWMgcnBtZGJNYXRjaEl0ZXJhdG9yICgqcnBtdHNJbml0 SXRlcmF0b3JfcCkgKGNvbnN0IHJwbXRzIHRzLAotKwkJCQkJCSAgICBycG1UYWcgcnBtdGFnLAot KwkJCQkJCSAgICBjb25zdCB2b2lkICprZXlwLAotKwkJCQkJCSAgICBzaXplX3Qga2V5bGVuKTsK LSsjZWxzZQkvKiAhRExPUEVOX0xJQlJQTSAqLwotKyMgZGVmaW5lIGhlYWRlckZvcm1hdF9wIGhl YWRlckZvcm1hdAotKyMgZGVmaW5lIHJwbVJlYWRDb25maWdGaWxlc19wIHJwbVJlYWRDb25maWdG aWxlcwotKyMgZGVmaW5lIHJwbWRiRnJlZUl0ZXJhdG9yX3AgcnBtZGJGcmVlSXRlcmF0b3IKLSsj IGRlZmluZSBycG1kYk5leHRJdGVyYXRvcl9wIHJwbWRiTmV4dEl0ZXJhdG9yCi0rIyBkZWZpbmUg cnBtdHNDcmVhdGVfcCBycG10c0NyZWF0ZQotKyMgZGVmaW5lIHJwbXRzRnJlZV9wIHJwbXRzRnJl ZQotKyMgZGVmaW5lIHJwbXRzSW5pdEl0ZXJhdG9yX3AgcnBtdHNJbml0SXRlcmF0b3IKLSsjZW5k aWYJLyogIURMT1BFTl9MSUJSUE0gKi8KICsKLSsgIGdkYl9hc3NlcnQgKGZpbGVuYW1lICE9IE5V TEwpOworKyRhc19lY2hvICIjZGVmaW5lIEhBVkVfTElCUlBNIDEiID4+Y29uZmRlZnMuaAogKwot KyAgaWYgKHN0cmNtcCAoZmlsZW5hbWUsIEJVSUxEX0lEX01BSU5fRVhFQ1VUQUJMRV9GSUxFTkFN RSkgPT0gMCkKLSsgICAgcmV0dXJuIDA7CisrICBlbHNlCisrICAgIHsgJGFzX2VjaG8gIiRhc19t ZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CisrJGFzX2VjaG8gIm5vIiA+ JjY7IH0KKysgICAgTElCUz0iJHNhdmVfTElCUyIKKysgICAgaWYgJERMT1BFTl9SRVFVSVJFOyB0 aGVuCisrICAgICAgYXNfZm5fZXJyb3IgIlNwZWNpZmljIG5hbWUgJExJQlJQTSB3YXMgcmVxdWVz dGVkIGJ1dCBpdCBjb3VsZCBub3QgYmUgb3BlbmVkLiIgIiRMSU5FTk8iIDUKKysgICAgZmkKICsK LSsgIGlmIChpc190YXJnZXRfZmlsZW5hbWUgKGZpbGVuYW1lKSkKLSsgICAgcmV0dXJuIDA7CiAr Ci0rICBpZiAoZmlsZW5hbWVbMF0gIT0gJy8nKQotKyAgICB7Ci0rICAgICAgd2FybmluZyAoXygi SWdub3Jpbmcgbm9uLWFic29sdXRlIGZpbGVuYW1lOiA8JXM+IiksIGZpbGVuYW1lKTsKLSsgICAg ICByZXR1cm4gMDsKLSsgICAgfQogKwotKyAgaWYgKCFycG1faW5pdF9kb25lKQotKyAgICB7Ci0r ICAgICAgc3RhdGljIGludCBpbml0X3RyaWVkOwogKwotKyAgICAgIC8qIEFscmVhZHkgZmFpbGVk IHRoZSBpbml0aWFsaXphdGlvbiBiZWZvcmU/ICAqLwotKyAgICAgIGlmIChpbml0X3RyaWVkKQot KyAgICAgIAlyZXR1cm4gMDsKLSsgICAgICBpbml0X3RyaWVkID0gMTsKICsKLSsjaWZkZWYgRExP UEVOX0xJQlJQTQotKyAgICAgIHsKLSsJdm9pZCAqaDsKICsKLSsJaCA9IGRsb3BlbiAoRExPUEVO X0xJQlJQTSwgUlRMRF9MQVpZKTsKLSsJaWYgKCFoKQotKwkgIHsKLSsJICAgIHdhcm5pbmcgKF8o IlVuYWJsZSB0byBvcGVuIFwiJXNcIiAoJXMpLCAiCi0rCQkgICAgICAibWlzc2luZyBkZWJ1Z2lu Zm9zIG5vdGlmaWNhdGlvbnMgd2lsbCBub3QgYmUgZGlzcGxheWVkIiksCi0rCQkgICAgIERMT1BF Tl9MSUJSUE0sIGRsZXJyb3IgKCkpOwotKwkgICAgcmV0dXJuIDA7Ci0rCSAgfQogKwotKwlpZiAo ISgoaGVhZGVyRm9ybWF0X3AgPSAoY2hhciAqKCopIChIZWFkZXIgaCwgY29uc3QgY2hhciAqIGZt dCwgZXJybXNnX3QgKmVycm1zZykpIGRsc3ltIChoLCAiaGVhZGVyRm9ybWF0IikpCi0rCSAgICAg ICYmIChycG1SZWFkQ29uZmlnRmlsZXNfcCA9IChpbnQgKCopIChjb25zdCBjaGFyICogZmlsZSwg Y29uc3QgY2hhciAqIHRhcmdldCkpIGRsc3ltIChoLCAicnBtUmVhZENvbmZpZ0ZpbGVzIikpCi0r CSAgICAgICYmIChycG1kYkZyZWVJdGVyYXRvcl9wID0gKHJwbWRiTWF0Y2hJdGVyYXRvciAoKikg KHJwbWRiTWF0Y2hJdGVyYXRvciBtaSkpIGRsc3ltIChoLCAicnBtZGJGcmVlSXRlcmF0b3IiKSkK LSsJICAgICAgJiYgKHJwbWRiTmV4dEl0ZXJhdG9yX3AgPSAoSGVhZGVyICgqKSAocnBtZGJNYXRj aEl0ZXJhdG9yIG1pKSkgZGxzeW0gKGgsICJycG1kYk5leHRJdGVyYXRvciIpKQotKwkgICAgICAm JiAocnBtdHNDcmVhdGVfcCA9IChycG10cyAoKikgKHZvaWQpKSBkbHN5bSAoaCwgInJwbXRzQ3Jl YXRlIikpCi0rCSAgICAgICYmIChycG10c0ZyZWVfcCA9IChycG10cyAoKikgKHJwbXRzIHRzKSkg ZGxzeW0gKGgsICJycG10c0ZyZWUiKSkKLSsJICAgICAgJiYgKHJwbXRzSW5pdEl0ZXJhdG9yX3Ag PSAocnBtZGJNYXRjaEl0ZXJhdG9yICgqKSAoY29uc3QgcnBtdHMgdHMsIHJwbVRhZyBycG10YWcs IGNvbnN0IHZvaWQgKmtleXAsIHNpemVfdCBrZXlsZW4pKSBkbHN5bSAoaCwgInJwbXRzSW5pdEl0 ZXJhdG9yIikpKSkKLSsJICB7Ci0rCSAgICB3YXJuaW5nIChfKCJPcGVuZWQgbGlicmFyeSBcIiVz XCIgaXMgaW5jb21wYXRpYmxlICglcyksICIKLSsJCSAgICAgICJtaXNzaW5nIGRlYnVnaW5mb3Mg bm90aWZpY2F0aW9ucyB3aWxsIG5vdCBiZSBkaXNwbGF5ZWQiKSwKLSsJCSAgICAgRExPUEVOX0xJ QlJQTSwgZGxlcnJvciAoKSk7Ci0rCSAgICBpZiAoZGxjbG9zZSAoaCkpCi0rCSAgICAgIHdhcm5p bmcgKF8oIkVycm9yIGNsb3NpbmcgbGlicmFyeSBcIiVzXCI6ICVzXG4iKSwgRExPUEVOX0xJQlJQ TSwKLSsJCSAgICAgICBkbGVycm9yICgpKTsKLSsJICAgIHJldHVybiAwOwotKwkgIH0KLSsgICAg ICB9Ci0rI2VuZGlmCS8qIERMT1BFTl9MSUJSUE0gKi8KKytpZiB0ZXN0ICJ4JGFjX2N2X2Vudl9Q S0dfQ09ORklHX3NldCIgIT0gInhzZXQiOyB0aGVuCisrCWlmIHRlc3QgLW4gIiRhY190b29sX3By ZWZpeCI7IHRoZW4KKysgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3By ZWZpeH1wa2ctY29uZmlnIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4K KytzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1wa2ctY29uZmlnOyBhY193b3JkPSQyCisreyAk YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dv cmQiID4mNQorKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQor K2lmIHRlc3QgIiR7YWNfY3ZfcGF0aF9QS0dfQ09ORklHK3NldH0iID0gc2V0OyB0aGVuIDoKKysg ICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CisrZWxzZQorKyAgY2FzZSAkUEtHX0NPTkZJRyBp bgorKyAgW1xcL10qIHwgPzpbXFwvXSopCisrICBhY19jdl9wYXRoX1BLR19DT05GSUc9IiRQS0df Q09ORklHIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4KKysg IDs7CisrICAqKQorKyAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorK2Zv ciBhc19kaXIgaW4gJFBBVEgKKytkbworKyAgSUZTPSRhc19zYXZlX0lGUworKyAgdGVzdCAteiAi JGFzX2RpciIgJiYgYXNfZGlyPS4KKysgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVj dXRhYmxlX2V4dGVuc2lvbnM7IGRvCisrICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQk YWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQi OyB9OyB0aGVuCisrICAgIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz0iJGFzX2Rpci8kYWNfd29yZCRh Y19leGVjX2V4dCIKKysgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog Zm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisrICAgIGJyZWFrIDIKKysg IGZpCisrZG9uZQorKyAgZG9uZQorK0lGUz0kYXNfc2F2ZV9JRlMKICsKLSsgICAgICBpZiAocnBt UmVhZENvbmZpZ0ZpbGVzX3AgKE5VTEwsIE5VTEwpICE9IDApCi0rCXsKLSsJICB3YXJuaW5nIChf KCJFcnJvciByZWFkaW5nIHRoZSBycG0gY29uZmlndXJhdGlvbiBmaWxlcyIpKTsKLSsJICByZXR1 cm4gMDsKLSsJfQorKyAgOzsKKytlc2FjCisrZmkKKytQS0dfQ09ORklHPSRhY19jdl9wYXRoX1BL R19DT05GSUcKKytpZiB0ZXN0IC1uICIkUEtHX0NPTkZJRyI7IHRoZW4KKysgIHsgJGFzX2VjaG8g IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkUEtHX0NPTkZJRyIgPiY1Cisr JGFzX2VjaG8gIiRQS0dfQ09ORklHIiA+JjY7IH0KKytlbHNlCisrICB7ICRhc19lY2hvICIkYXNf bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorKyRhc19lY2hvICJubyIg PiY2OyB9CisrZmkKICsKLSsgICAgICBycG1faW5pdF9kb25lID0gMTsKLSsgICAgfQogKwotKyAg dHMgPSBycG10c0NyZWF0ZV9wICgpOworK2ZpCisraWYgdGVzdCAteiAiJGFjX2N2X3BhdGhfUEtH X0NPTkZJRyI7IHRoZW4KKysgIGFjX3B0X1BLR19DT05GSUc9JFBLR19DT05GSUcKKysgICMgRXh0 cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAicGtnLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dy YW0gbmFtZSB3aXRoIGFyZ3MuCisrc2V0IGR1bW15IHBrZy1jb25maWc7IGFjX3dvcmQ9JDIKKyt7 ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNf d29yZCIgPiY1CisrJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9 CisraWYgdGVzdCAiJHthY19jdl9wYXRoX2FjX3B0X1BLR19DT05GSUcrc2V0fSIgPSBzZXQ7IHRo ZW4gOgorKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKKytlbHNlCisrICBjYXNlICRhY19w dF9QS0dfQ09ORklHIGluCisrICBbXFwvXSogfCA/OltcXC9dKikKKysgIGFjX2N2X3BhdGhfYWNf cHRfUEtHX0NPTkZJRz0iJGFjX3B0X1BLR19DT05GSUciICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRl IHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorKyAgOzsKKysgICopCisrICBhc19zYXZlX0lGUz0kSUZT OyBJRlM9JFBBVEhfU0VQQVJBVE9SCisrZm9yIGFzX2RpciBpbiAkUEFUSAorK2RvCisrICBJRlM9 JGFzX3NhdmVfSUZTCisrICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorKyAgICBmb3Ig YWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKysgIGlmIHsg dGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFz X2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KKysgICAgYWNfY3ZfcGF0aF9hY19w dF9QS0dfQ09ORklHPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IgorKyAgICAkYXNfZWNo byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFj X2V4ZWNfZXh0IiA+JjUKKysgICAgYnJlYWsgMgorKyAgZmkKKytkb25lCisrICBkb25lCisrSUZT PSRhc19zYXZlX0lGUwogKwotKyAgbWkgPSBycG10c0luaXRJdGVyYXRvcl9wICh0cywgUlBNVEFH X0JBU0VOQU1FUywgZmlsZW5hbWUsIDApOwotKyAgaWYgKG1pICE9IE5VTEwpCi0rICAgIHsKLSsg ICAgICBmb3IgKDs7KQotKwl7Ci0rCSAgSGVhZGVyIGg7Ci0rCSAgY2hhciAqZGVidWdpbmZvLCAq KnNsb3QsICpzLCAqczI7Ci0rCSAgZXJybXNnX3QgZXJyOwotKwkgIHNpemVfdCBzcmNycG1sZW4g PSBzaXplb2YgKCIuc3JjLnJwbSIpIC0gMTsKLSsJICBzaXplX3QgZGVidWdpbmZvbGVuID0gc2l6 ZW9mICgiLWRlYnVnaW5mbyIpIC0gMTsKLSsJICBycG1kYk1hdGNoSXRlcmF0b3IgbWlfZGVidWdp bmZvOworKyAgOzsKKytlc2FjCisrZmkKKythY19wdF9QS0dfQ09ORklHPSRhY19jdl9wYXRoX2Fj X3B0X1BLR19DT05GSUcKKytpZiB0ZXN0IC1uICIkYWNfcHRfUEtHX0NPTkZJRyI7IHRoZW4KKysg IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfcHRf UEtHX0NPTkZJRyIgPiY1CisrJGFzX2VjaG8gIiRhY19wdF9QS0dfQ09ORklHIiA+JjY7IH0KKytl bHNlCisrICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog bm8iID4mNQorKyRhc19lY2hvICJubyIgPiY2OyB9CisrZmkKICsKLSsJICBoID0gcnBtZGJOZXh0 SXRlcmF0b3JfcCAobWkpOwotKwkgIGlmIChoID09IE5VTEwpCi0rCSAgICBicmVhazsKKysgIGlm IHRlc3QgIngkYWNfcHRfUEtHX0NPTkZJRyIgPSB4OyB0aGVuCisrICAgIFBLR19DT05GSUc9IiIK KysgIGVsc2UKKysgICAgY2FzZSAkY3Jvc3NfY29tcGlsaW5nOiRhY190b29sX3dhcm5lZCBpbgor K3llczopCisreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5H OiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mNQor KyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhl ZCB3aXRoIGhvc3QgdHJpcGxldCIgPiYyO30KKythY190b29sX3dhcm5lZD15ZXMgOzsKKytlc2Fj CisrICAgIFBLR19DT05GSUc9JGFjX3B0X1BLR19DT05GSUcKKysgIGZpCisrZWxzZQorKyAgUEtH X0NPTkZJRz0iJGFjX2N2X3BhdGhfUEtHX0NPTkZJRyIKKytmaQogKwotKwkgIC8qIFZlcmlmeSB0 aGUgZGVidWdpbmZvIGZpbGUgaXMgbm90IGFscmVhZHkgaW5zdGFsbGVkLiAgKi8KKytmaQorK2lm IHRlc3QgLW4gIiRQS0dfQ09ORklHIjsgdGhlbgorKwlfcGtnX21pbl92ZXJzaW9uPTAuOS4wCisr CXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgcGtnLWNv bmZpZyBpcyBhdCBsZWFzdCB2ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uIiA+JjUKKyskYXNfZWNo b19uICJjaGVja2luZyBwa2ctY29uZmlnIGlzIGF0IGxlYXN0IHZlcnNpb24gJF9wa2dfbWluX3Zl cnNpb24uLi4gIiA+JjY7IH0KKysJaWYgJFBLR19DT05GSUcgLS1hdGxlYXN0LXBrZ2NvbmZpZy12 ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uOyB0aGVuCisrCQl7ICRhc19lY2hvICIkYXNfbWU6JHth c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+JjUKKyskYXNfZWNobyAieWVzIiA+JjY7 IH0KKysJZWxzZQorKwkJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy ZXN1bHQ6IG5vIiA+JjUKKyskYXNfZWNobyAibm8iID4mNjsgfQorKwkJUEtHX0NPTkZJRz0iIgor KwlmaQorK2ZpCiArCi0rCSAgZGVidWdpbmZvID0gaGVhZGVyRm9ybWF0X3AgKGgsICIle3NvdXJj ZXJwbX0tZGVidWdpbmZvLiV7YXJjaH0iLAotKwkJCQkgICAgICAmZXJyKTsKLSsJICBpZiAoIWRl YnVnaW5mbykKLSsJICAgIHsKLSsJICAgICAgd2FybmluZyAoXygiRXJyb3IgcXVlcnlpbmcgdGhl IHJwbSBmaWxlIGAlcyc6ICVzIiksIGZpbGVuYW1lLAotKwkgICAgICAgICAgICAgICBlcnIpOwot KwkgICAgICBjb250aW51ZTsKLSsJICAgIH0KLSsJICAvKiBzID0gYC5zcmMucnBtLWRlYnVnaW5m by4le2FyY2h9JyAqLwotKwkgIHMgPSBzdHJyY2hyIChkZWJ1Z2luZm8sICctJykgLSBzcmNycG1s ZW47Ci0rCSAgczIgPSBOVUxMOwotKwkgIGlmIChzID4gZGVidWdpbmZvICYmIG1lbWNtcCAocywg Ii5zcmMucnBtIiwgc3JjcnBtbGVuKSA9PSAwKQotKwkgICAgewotKwkgICAgICAvKiBzMiA9IGAt JXtyZWxlYXNlfS5zcmMucnBtLWRlYnVnaW5mby4le2FyY2h9JyAqLwotKwkgICAgICBzMiA9IChj aGFyICopIG1lbXJjaHIgKGRlYnVnaW5mbywgJy0nLCBzIC0gZGVidWdpbmZvKTsKLSsJICAgIH0K LSsJICBpZiAoczIpCi0rCSAgICB7Ci0rCSAgICAgIC8qIHMyID0gYC0le3ZlcnNpb259LSV7cmVs ZWFzZX0uc3JjLnJwbS1kZWJ1Z2luZm8uJXthcmNofScgKi8KLSsJICAgICAgczIgPSAoY2hhciAq KSBtZW1yY2hyIChkZWJ1Z2luZm8sICctJywgczIgLSBkZWJ1Z2luZm8pOwotKwkgICAgfQotKwkg IGlmICghczIpCi0rCSAgICB7Ci0rCSAgICAgIHdhcm5pbmcgKF8oIkVycm9yIHF1ZXJ5aW5nIHRo ZSBycG0gZmlsZSBgJXMnOiAlcyIpLCBmaWxlbmFtZSwKLSsJICAgICAgICAgICAgICAgZGVidWdp bmZvKTsKLSsJICAgICAgeGZyZWUgKGRlYnVnaW5mbyk7Ci0rCSAgICAgIGNvbnRpbnVlOwotKwkg ICAgfQotKwkgIC8qIHMgPSBgLnNyYy5ycG0tZGVidWdpbmZvLiV7YXJjaH0nICovCi0rCSAgLyog czIgPSBgLSV7dmVyc2lvbn0tJXtyZWxlYXNlfS5zcmMucnBtLWRlYnVnaW5mby4le2FyY2h9JyAq LwotKwkgIG1lbW1vdmUgKHMyICsgZGVidWdpbmZvbGVuLCBzMiwgcyAtIHMyKTsKLSsJICBtZW1j cHkgKHMyLCAiLWRlYnVnaW5mbyIsIGRlYnVnaW5mb2xlbik7Ci0rCSAgLyogcyA9IGBYWFhYLiV7 YXJjaH0nICovCi0rCSAgLyogc3RybGVuICgiWFhYWCIpID09IHNyY3JwbWxlbiArIGRlYnVnaW5m b2xlbiAqLwotKwkgIC8qIHMyID0gYC1kZWJ1Z2luZm8tJXt2ZXJzaW9ufS0le3JlbGVhc2V9WFgu JXthcmNofScgKi8KLSsJICAvKiBzdHJsZW4gKCJYWCIpID09IHNyY3JwbWxlbiAqLwotKwkgIG1l bW1vdmUgKHMgKyBkZWJ1Z2luZm9sZW4sIHMgKyBzcmNycG1sZW4gKyBkZWJ1Z2luZm9sZW4sCi0r CQkgICBzdHJsZW4gKHMgKyBzcmNycG1sZW4gKyBkZWJ1Z2luZm9sZW4pICsgMSk7Ci0rCSAgLyog cyA9IGAtZGVidWdpbmZvLSV7dmVyc2lvbn0tJXtyZWxlYXNlfS4le2FyY2h9JyAqLworK3BrZ19m YWlsZWQ9bm8KKyt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNr aW5nIGZvciBSUE0iID4mNQorKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBSUE0uLi4gIiA+JjY7 IH0KKysKKytpZiB0ZXN0IC1uICIkUlBNX0NGTEFHUyI7IHRoZW4KKysgICAgcGtnX2N2X1JQTV9D RkxBR1M9IiRSUE1fQ0ZMQUdTIgorKyBlbGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIjsgdGhlbgor KyAgICBpZiB0ZXN0IC1uICIkUEtHX0NPTkZJRyIgJiYgXAorKyAgICB7IHsgJGFzX2VjaG8gIiRh c19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQt ZXJyb3JzIFwicnBtXCIiOyB9ID4mNQorKyAgKCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQt ZXJyb3JzICJycG0iKSAyPiY1CisrICBhY19zdGF0dXM9JD8KKysgICRhc19lY2hvICIkYXNfbWU6 JHthc19saW5lbm8tJExJTkVOT306IFwkPyA9ICRhY19zdGF0dXMiID4mNQorKyAgdGVzdCAkYWNf c3RhdHVzID0gMDsgfTsgdGhlbgorKyAgcGtnX2N2X1JQTV9DRkxBR1M9YCRQS0dfQ09ORklHIC0t Y2ZsYWdzICJycG0iIDI+L2Rldi9udWxsYAorKwkJICAgICAgdGVzdCAieCQ/IiAhPSAieDAiICYm IHBrZ19mYWlsZWQ9eWVzCisrZWxzZQorKyAgcGtnX2ZhaWxlZD15ZXMKKytmaQorKyBlbHNlCisr ICAgIHBrZ19mYWlsZWQ9dW50cmllZAorK2ZpCisraWYgdGVzdCAtbiAiJFJQTV9MSUJTIjsgdGhl bgorKyAgICBwa2dfY3ZfUlBNX0xJQlM9IiRSUE1fTElCUyIKKysgZWxpZiB0ZXN0IC1uICIkUEtH X0NPTkZJRyI7IHRoZW4KKysgICAgaWYgdGVzdCAtbiAiJFBLR19DT05GSUciICYmIFwKKysgICAg eyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFwkUEtHX0NPTkZJRyAt LWV4aXN0cyAtLXByaW50LWVycm9ycyBcInJwbVwiIjsgfSA+JjUKKysgICgkUEtHX0NPTkZJRyAt LWV4aXN0cyAtLXByaW50LWVycm9ycyAicnBtIikgMj4mNQorKyAgYWNfc3RhdHVzPSQ/CisrICAk YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcJD8gPSAkYWNfc3RhdHVzIiA+ JjUKKysgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH07IHRoZW4KKysgIHBrZ19jdl9SUE1fTElCUz1g JFBLR19DT05GSUcgLS1saWJzICJycG0iIDI+L2Rldi9udWxsYAorKwkJICAgICAgdGVzdCAieCQ/ IiAhPSAieDAiICYmIHBrZ19mYWlsZWQ9eWVzCisrZWxzZQorKyAgcGtnX2ZhaWxlZD15ZXMKKytm aQorKyBlbHNlCisrICAgIHBrZ19mYWlsZWQ9dW50cmllZAorK2ZpCiArCi0rCSAgLyogUlBNREJJ X1BBQ0tBR0VTIHJlcXVpcmVzIGtleWxlbiA9PSBzaXplb2YgKGludCkuICAqLwotKwkgIC8qIFJQ TURCSV9MQUJFTCBpcyBhbiBpbnRlcmZhY2UgZm9yIE5WUi1iYXNlZCBkYmlGaW5kQnlMYWJlbCgp LiAgKi8KLSsJICBtaV9kZWJ1Z2luZm8gPSBycG10c0luaXRJdGVyYXRvcl9wICh0cywgKHJwbVRh ZykgUlBNREJJX0xBQkVMLCBkZWJ1Z2luZm8sIDApOwotKwkgIHhmcmVlIChkZWJ1Z2luZm8pOwot KwkgIGlmIChtaV9kZWJ1Z2luZm8pCi0rCSAgICB7Ci0rCSAgICAgIHJwbWRiRnJlZUl0ZXJhdG9y X3AgKG1pX2RlYnVnaW5mbyk7Ci0rCSAgICAgIGNvdW50ID0gMDsKLSsJICAgICAgYnJlYWs7Ci0r CSAgICB9CiArCi0rCSAgLyogVGhlIGFsbG9jYXRlZCBtZW1vcnkgZ2V0cyB1dGlsaXplZCBiZWxv dyBmb3IgTUlTU0lOR19SUE1fSEFTSC4gICovCi0rCSAgZGVidWdpbmZvID0gaGVhZGVyRm9ybWF0 X3AgKGgsCi0rCQkJCSAgICAgICIle25hbWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNlfS4le2FyY2h9 IiwKLSsJCQkJICAgICAgJmVycik7Ci0rCSAgaWYgKCFkZWJ1Z2luZm8pCi0rCSAgICB7Ci0rCSAg ICAgIHdhcm5pbmcgKF8oIkVycm9yIHF1ZXJ5aW5nIHRoZSBycG0gZmlsZSBgJXMnOiAlcyIpLCBm aWxlbmFtZSwKLSsJICAgICAgICAgICAgICAgZXJyKTsKLSsJICAgICAgY29udGludWU7Ci0rCSAg ICB9CiArCi0rCSAgLyogQmFzZSBwYWNrYWdlIG5hbWUgZm9yIGBkZWJ1Z2luZm8taW5zdGFsbCcu ICBXZSBkbyBub3QgdXNlIHRoZQotKwkgICAgIGB5dW0nIGNvbW1hbmQgZGlyZWN0bHkgYXMgdGhl IGxpbmUKLSsJCSB5dW0gLS1lbmFibGVyZXBvPScqZGVidWcqJyBpbnN0YWxsIE5BTUUtZGVidWdp bmZvLkFSQ0gKLSsJICAgICB3b3VsZCBiZSBtb3JlIGNvbXBsaWNhdGVkIHRoYW4ganVzdDoKLSsJ CSBkZWJ1Z2luZm8taW5zdGFsbCBOQU1FLVZFUlNJT04tUkVMRUFTRS5BUkNICi0rCSAgICAgRG8g bm90IHN1cHBseSB0aGUgcnBtIGJhc2UgbmFtZSAoZGVyaXZlZCBmcm9tIC5zcmMucnBtIG5hbWUp IGFzCi0rCSAgICAgZGVidWdpbmZvLWluc3RhbGwgaXMgdW5hYmxlIHRvIGluc3RhbGwgdGhlIGRl YnVnaW5mbyBwYWNrYWdlIGlmCi0rCSAgICAgdGhlIGJhc2UgbmFtZSBQS0cgYmluYXJ5IHJwbSBp cyBub3QgaW5zdGFsbGVkIHdoaWxlIGZvciBleGFtcGxlCi0rCSAgICAgUEtHLWxpYnMgd291bGQg YmUgaW5zdGFsbGVkIChSSCBCdWcgNDY3OTAxKS4KLSsJICAgICBGVVRVUkU6IEFmdGVyIG11bHRp cGxlIGRlYnVnaW5mbyB2ZXJzaW9ucyBzaW11bHRhbmVvdXNseSBpbnN0YWxsZWQKLSsJICAgICBn ZXQgc3VwcG9ydGVkIHRoZSBzdXBwb3J0IGZvciB0aGUgVkVSU0lPTi1SRUxFQVNFIHRhZ3MgaGFu ZGxpbmcKLSsJICAgICBtYXkgbmVlZCBhbiB1cGRhdGUuICAqLworK2lmIHRlc3QgJHBrZ19mYWls ZWQgPSB5ZXM7IHRoZW4KKysgICAJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F Tk99OiByZXN1bHQ6IG5vIiA+JjUKKyskYXNfZWNobyAibm8iID4mNjsgfQogKwotKwkgIGlmICht aXNzaW5nX3JwbV9oYXNoID09IE5VTEwpCi0rCSAgICB7Ci0rCSAgICAgIC8qIERFTF9GIGlzIHBh c3NlZCBOVUxMIGFzIE1JU1NJTkdfUlBNX0xJU1QncyBIVEFCX0RFTEVURQotKwkJIHNob3VsZCBu b3QgZGVhbGxvY2F0ZSB0aGUgZW50cmllcy4gICovCisraWYgJFBLR19DT05GSUcgLS1hdGxlYXN0 LXBrZ2NvbmZpZy12ZXJzaW9uIDAuMjA7IHRoZW4KKysgICAgICAgIF9wa2dfc2hvcnRfZXJyb3Jz X3N1cHBvcnRlZD15ZXMKKytlbHNlCisrICAgICAgICBfcGtnX3Nob3J0X2Vycm9yc19zdXBwb3J0 ZWQ9bm8KKytmaQorKyAgICAgICAgaWYgdGVzdCAkX3BrZ19zaG9ydF9lcnJvcnNfc3VwcG9ydGVk ID0geWVzOyB0aGVuCisrCSAgICAgICAgUlBNX1BLR19FUlJPUlM9YCRQS0dfQ09ORklHIC0tc2hv cnQtZXJyb3JzIC0tcHJpbnQtZXJyb3JzIC0tY2ZsYWdzIC0tbGlicyAicnBtIiAyPiYxYAorKyAg ICAgICAgZWxzZQorKwkgICAgICAgIFJQTV9QS0dfRVJST1JTPWAkUEtHX0NPTkZJRyAtLXByaW50 LWVycm9ycyAtLWNmbGFncyAtLWxpYnMgInJwbSIgMj4mMWAKKysgICAgICAgIGZpCisrCSMgUHV0 IHRoZSBuYXN0eSBlcnJvciBtZXNzYWdlIGluIGNvbmZpZy5sb2cgd2hlcmUgaXQgYmVsb25ncwor KwllY2hvICIkUlBNX1BLR19FUlJPUlMiID4mNQogKwotKwkgICAgICBtaXNzaW5nX3JwbV9oYXNo ID0gaHRhYl9jcmVhdGVfYWxsb2MgKDY0LCBodGFiX2hhc2hfc3RyaW5nLAotKwkJCSAgICAgICAo aW50ICgqKSAoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopKSBzdHJlcSwKLSsJCQkJCQkgICAg TlVMTCwgeGNhbGxvYywgeGZyZWUpOwotKwkgICAgfQotKwkgIHNsb3QgPSAoY2hhciAqKikgaHRh Yl9maW5kX3Nsb3QgKG1pc3NpbmdfcnBtX2hhc2gsIGRlYnVnaW5mbywgSU5TRVJUKTsKLSsJICAv KiBYQ0FMTE9DIG5ldmVyIHJldHVybnMgTlVMTC4gICovCi0rCSAgZ2RiX2Fzc2VydCAoc2xvdCAh PSBOVUxMKTsKLSsJICBpZiAoKnNsb3QgPT0gTlVMTCkKLSsJICAgIHsKLSsJICAgICAgc3RydWN0 IG1pc3NpbmdfcnBtICptaXNzaW5nX3JwbTsKKysJSEFWRV9MSUJSUE09ZmFsc2UKKytlbGlmIHRl c3QgJHBrZ19mYWlsZWQgPSB1bnRyaWVkOyB0aGVuCisrICAgICAJeyAkYXNfZWNobyAiJGFzX21l OiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyskYXNfZWNobyAibm8iID4m NjsgfQorKwlIQVZFX0xJQlJQTT1mYWxzZQorK2Vsc2UKKysJUlBNX0NGTEFHUz0kcGtnX2N2X1JQ TV9DRkxBR1MKKysJUlBNX0xJQlM9JHBrZ19jdl9SUE1fTElCUworKyAgICAgICAgeyAkYXNfZWNo byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHllcyIgPiY1CisrJGFzX2Vj aG8gInllcyIgPiY2OyB9CisrCUhBVkVfTElCUlBNPXRydWUKKytmaQogKwotKwkgICAgICAqc2xv dCA9IGRlYnVnaW5mbzsKKysgICAgaWYgJEhBVkVfTElCUlBNOyB0aGVuCiArCi0rCSAgICAgIG1p c3NpbmdfcnBtID0gKHN0cnVjdCBtaXNzaW5nX3JwbSAqKSB4bWFsbG9jIChzaXplb2YgKCptaXNz aW5nX3JwbSkgKyBzdHJsZW4gKGRlYnVnaW5mbykpOwotKwkgICAgICBzdHJjcHkgKG1pc3Npbmdf cnBtLT5ycG0sIGRlYnVnaW5mbyk7Ci0rCSAgICAgIG1pc3NpbmdfcnBtLT5uZXh0ID0gbWlzc2lu Z19ycG1fbGlzdDsKLSsJICAgICAgbWlzc2luZ19ycG1fbGlzdCA9IG1pc3NpbmdfcnBtOwotKwkg ICAgICBtaXNzaW5nX3JwbV9saXN0X2VudHJpZXMrKzsKLSsJICAgIH0KLSsJICBlbHNlCi0rCSAg ICB4ZnJlZSAoZGVidWdpbmZvKTsKLSsJICBjb3VudCsrOwotKwl9CisrICAgIHsgJGFzX2VjaG8g IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgcnBtIGxpYnJhcnkgQVBJIGNv bXBhdGliaWxpdHkiID4mNQorKyRhc19lY2hvX24gImNoZWNraW5nIHJwbSBsaWJyYXJ5IEFQSSBj b21wYXRpYmlsaXR5Li4uICIgPiY2OyB9CisrICAgICMgVGhlIGNvbXBpbGF0aW9uIHJlcXVpcmVz IC1XZXJyb3IgdG8gdmVyaWZ5IGFueXRoaW5nLgorKyAgICBzYXZlX0NGTEFHUz0iJENGTEFHUyIK KysgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1XZXJyb3IiCisrICAgIGNhdCBjb25mZGVmcy5oIC0gPDxf QUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKysvKiBlbmQgY29uZmRlZnMuaC4gICovCiArCi0rICAg ICAgcnBtZGJGcmVlSXRlcmF0b3JfcCAobWkpOwotKyAgICB9CisrLyogRHVwbGljYXRlIGhlcmUg dGhlIGRlY2xhcmF0aW9ucyB0byB2ZXJpZnkgdGhleSBtYXRjaCAiZWxmcmVhZC5jIi4gICovCisr I2luY2x1ZGUgPHJwbS9ycG1saWIuaD4KKysjaW5jbHVkZSA8cnBtL3JwbXRzLmg+CisrI2luY2x1 ZGUgPHJwbS9ycG1kYi5oPgorKyNpbmNsdWRlIDxycG0vaGVhZGVyLmg+CisrZXh0ZXJuIGNoYXIg KiBoZWFkZXJGb3JtYXQoSGVhZGVyIGgsIGNvbnN0IGNoYXIgKiBmbXQsIGVycm1zZ190ICogZXJy bXNnKTsKKytleHRlcm4gaW50IHJwbVJlYWRDb25maWdGaWxlcyhjb25zdCBjaGFyICogZmlsZSwg Y29uc3QgY2hhciAqIHRhcmdldCk7CisrZXh0ZXJuIHJwbWRiTWF0Y2hJdGVyYXRvciBycG1kYkZy ZWVJdGVyYXRvcihycG1kYk1hdGNoSXRlcmF0b3IgbWkpOworK2V4dGVybiBIZWFkZXIgcnBtZGJO ZXh0SXRlcmF0b3IocnBtZGJNYXRjaEl0ZXJhdG9yIG1pKTsKKytleHRlcm4gcnBtdHMgcnBtdHND cmVhdGUodm9pZCk7CisrZXh0ZXJuIHJwbXRzIHJwbXRzRnJlZShycG10cyB0cyk7CisrZXh0ZXJu IHJwbWRiTWF0Y2hJdGVyYXRvciBycG10c0luaXRJdGVyYXRvcihjb25zdCBycG10cyB0cywgcnBt VGFnIHJwbXRhZywKKysJCQkJCSAgICBjb25zdCB2b2lkICoga2V5cCwgc2l6ZV90IGtleWxlbik7 CiArCi0rICBycG10c0ZyZWVfcCAodHMpOworK2ludAorK21haW4gKCkKKyt7CiArCi0rICByZXR1 cm4gY291bnQ7CisrICA7CisrICByZXR1cm4gMDsKICt9CisrX0FDRU9GCisraWYgYWNfZm5fY190 cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgogKwotK3N0YXRpYyBpbnQKLSttaXNzaW5nX3Jw bV9saXN0X2NvbXBhciAoY29uc3QgY2hhciAqY29uc3QgKmFwLCBjb25zdCBjaGFyICpjb25zdCAq YnApCi0rewotKyAgcmV0dXJuIHN0cmNvbGwgKCphcCwgKmJwKTsKLSt9CisrICAgICAgTElCUlBN X0NPTVBBVD10cnVlCisrICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F Tk99OiByZXN1bHQ6IHllcyIgPiY1CisrJGFzX2VjaG8gInllcyIgPiY2OyB9CiArCi0rLyogSXQg cmV0dXJucyBhIE5VTEwtdGVybWluYXRlZCBhcnJheSBvZiBzdHJpbmdzIG5lZWRpbmcgdG8gYmUg RlJFRWQuICBJdCBtYXkKLSsgICBhbHNvIHJldHVybiBvbmx5IE5VTEwuICAqLworK2Vsc2UKICsK LStzdGF0aWMgdm9pZAotK21pc3NpbmdfcnBtX2xpc3RfcHJpbnQgKHZvaWQpCi0rewotKyAgY2hh ciAqKmFycmF5LCAqKmFycmF5X2l0ZXI7Ci0rICBzdHJ1Y3QgbWlzc2luZ19ycG0gKmxpc3RfaXRl cjsKLSsgIHN0cnVjdCBjbGVhbnVwICpjbGVhbnVwczsKKysgICAgICBMSUJSUE1fQ09NUEFUPWZh bHNlCisrICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1 bHQ6IG5vIiA+JjUKKyskYXNfZWNobyAibm8iID4mNjsgfQogKwotKyAgaWYgKG1pc3NpbmdfcnBt X2xpc3RfZW50cmllcyA9PSAwKQotKyAgICByZXR1cm47CisrZmkKKytybSAtZiBjb3JlIGNvbmZ0 ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKysgICAgQ0ZMQUdT PSIkc2F2ZV9DRkxBR1MiCiArCi0rICBhcnJheSA9IChjaGFyICoqKSB4bWFsbG9jIChzaXplb2Yg KCphcnJheSkgKiBtaXNzaW5nX3JwbV9saXN0X2VudHJpZXMpOwotKyAgY2xlYW51cHMgPSBtYWtl X2NsZWFudXAgKHhmcmVlLCBhcnJheSk7CisrICAgICAgaWYgISAkTElCUlBNX0NPTVBBVDsgdGhl bgorKwlIQVZFX0xJQlJQTT1mYWxzZQorKwlSUE1fUEtHX0VSUk9SUz0iRm91bmQgJExJQlJQTSBB UEkgaXMgaW5jb21wYXRpYmlsZSB3aXRoIHRoaXMgR0RCIgorKyAgICAgIGZpCisrICAgIGZpCiAr Ci0rICBhcnJheV9pdGVyID0gYXJyYXk7Ci0rICBmb3IgKGxpc3RfaXRlciA9IG1pc3NpbmdfcnBt X2xpc3Q7IGxpc3RfaXRlciAhPSBOVUxMOwotKyAgICAgICBsaXN0X2l0ZXIgPSBsaXN0X2l0ZXIt Pm5leHQpCi0rICAgIHsKLSsgICAgICAqYXJyYXlfaXRlcisrID0gbGlzdF9pdGVyLT5ycG07Ci0r ICAgIH0KLSsgIGdkYl9hc3NlcnQgKGFycmF5X2l0ZXIgPT0gYXJyYXkgKyBtaXNzaW5nX3JwbV9s aXN0X2VudHJpZXMpOworKyAgICBpZiAkSEFWRV9MSUJSUE07IHRoZW4KICsKLSsgIHFzb3J0IChh cnJheSwgbWlzc2luZ19ycG1fbGlzdF9lbnRyaWVzLCBzaXplb2YgKCphcnJheSksCi0rCSAoaW50 ICgqKSAoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopKSBtaXNzaW5nX3JwbV9saXN0X2NvbXBh cik7CisrJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MSUJSUE0gMSIgPj5jb25mZGVmcy5oCiArCi0r ICBwcmludGZfdW5maWx0ZXJlZCAoXygiTWlzc2luZyBzZXBhcmF0ZSBkZWJ1Z2luZm9zLCB1c2U6 ICVzIiksCi0rI2lmZGVmIERORl9ERUJVR0lORk9fSU5TVEFMTAotKwkJICAgICAiZG5mICIKLSsj ZW5kaWYKLSsJCSAgICAgImRlYnVnaW5mby1pbnN0YWxsIik7Ci0rICBmb3IgKGFycmF5X2l0ZXIg PSBhcnJheTsgYXJyYXlfaXRlciA8IGFycmF5ICsgbWlzc2luZ19ycG1fbGlzdF9lbnRyaWVzOwot KyAgICAgICBhcnJheV9pdGVyKyspCi0rICAgIHsKLSsgICAgICBwdXRjaGFyX3VuZmlsdGVyZWQg KCcgJyk7Ci0rICAgICAgcHV0c191bmZpbHRlcmVkICgqYXJyYXlfaXRlcik7Ci0rICAgIH0KLSsg IHB1dGNoYXJfdW5maWx0ZXJlZCAoJ1xuJyk7CisrICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTICRSUE1f Q0ZMQUdTIgorKyAgICAgIExJQlM9IiRMSUJTICRSUE1fTElCUyIKKysgICAgZWxzZQorKyAgICAg IGlmICRSUE1fUkVRVUlSRTsgdGhlbgorKwlhc19mbl9lcnJvciAiJFJQTV9QS0dfRVJST1JTIiAi JExJTkVOTyIgNQorKyAgICAgIGVsc2UKKysJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v LSRMSU5FTk99OiBXQVJOSU5HOiAkUlBNX1BLR19FUlJPUlMiID4mNQorKyRhc19lY2hvICIkYXNf bWU6IFdBUk5JTkc6ICRSUE1fUEtHX0VSUk9SUyIgPiYyO30KKysgICAgICBmaQorKyAgICBmaQor KyAgZmkKKytmaQorKworIAorIAorIHN1YmRpcnM9IiRzdWJkaXJzIHRlc3RzdWl0ZSIKK2RpZmYg LS1naXQgYS9nZGIvY29uZmlndXJlLmFjIGIvZ2RiL2NvbmZpZ3VyZS5hYworaW5kZXggOGU3MDZi NmUyNy4uOWRlNDQxZmU3OSAxMDA2NDQKKy0tLSBhL2dkYi9jb25maWd1cmUuYWMKKysrKyBiL2dk Yi9jb25maWd1cmUuYWMKK0BAIC0xNjcsNiArMTY3LDE5OSBAQCBBQ19ERUZJTkVfRElSKEFVVE9f TE9BRF9TQUZFX1BBVEgsIGVzY2FwZV9kaXIsCisgCSAgICAgIFtEaXJlY3RvcmllcyBzYWZlIHRv IGhvbGQgYXV0by1sb2FkZWQgZmlsZXMuXSkKKyBBQ19NU0dfUkVTVUxUKFskd2l0aF9hdXRvX2xv YWRfc2FmZV9wYXRoXSkKKyAKKysjIEludGVncmF0aW9uIHdpdGggcnBtIGxpYnJhcnkgdG8gc3Vw cG9ydCBtaXNzaW5nIGRlYnVnaW5mbyBzdWdnZXN0aW9ucy4KKysjIC0td2l0aG91dC1ycG06IERp c2FibGUgYW55IHJwbSBzdXBwb3J0LgorKyMgLS13aXRoLXJwbT1saWJuYW1lLnNvOiBUcnkgdG8g ZHluYW1pY2FsbHkgb3BlbiBgbGlibmFtZS5zbycgZHVyaW5nIHJ1bnRpbWUuCisrIyAgIEV2ZW4g d2l0aCBydW50aW1lIG1pc3NpbmcgYGxpYm5hbWUuc28nIEdEQiB3aWxsIHN0aWxsIG90aGVyIHJ1 biBjb3JyZWN0bHkuCisrIyAgIE1pc3NpbmcgYGxpYm5hbWUuc28nIGR1cmluZyAuL2NvbmZpZ3Vy ZSB3aWxsIGFib3J0IHRoZSBjb25maWd1cmF0aW9uLgorKyMgLS13aXRoLXJwbT1saWJycG0uc286 IExpa2UgYC0td2l0aC1ycG09bGlibmFtZS5zbycgYnV0IHRyeSB0byBmaW5kIHNwZWNpZmljCisr IyAgIG1pbm9yIHZlcnNpb24gZmlyc3Qgc3VjaCBhcyBgbGlicnBtLTQuNi5zbycgYXMgbWlub3Ig dmVyc2lvbiBkaWZmZXJlbmNlcworKyMgICBtZWFuIEFQSStBQkkgaW5jb21wYXRpYmlsaXR5LiAg SWYgdGhlIHNwZWNpZmljIG1hdGNoIHZlcnNpb25lZCBsaWJyYXJ5IG5hbWUKKysjICAgY291bGQg bm90IGJlIGZvdW5kIHN0aWxsIG9wZW4gZHluYW1pY2FsbHkgYXQgbGVhc3QgYGxpYnJwbS5zbycu CisrIyAtLXdpdGgtcnBtOiBMaWtlIGAtLXdpdGgtcnBtPWxpYnJwbS5zbycgYnV0IGlmIGFueSBv ZiBpdHMgZGV0ZWN0aW9uIGZhaWxzIHRyeQorKyMgICB0byBmaW5kIGxpYnJwbSBmb3IgY29tcGls YXRpb24tdGltZSBsaW5raW5nIGJ5IHBrZy1jb25maWcuICBHREIgYmluYXJ5IHdpbGwKKysjICAg YmUgcHJvYmFibHkgbGlua2VkIHdpdGggdGhlIHZlcnNpb24gc3BlY2lmaWMgbGlicmFyeSAoYXMg YGxpYnJwbS00LjYuc28nKS4KKysjICAgRmFpbHVyZSB0byBmaW5kIGxpYnJwbSBieSBwa2ctY29u ZmlnIHdpbGwgYWJvcnQgdGhlIGNvbmZpZ3VyYXRpb24uCisrIyAoZGVmYXVsdCkgLS13aXRoLXJw bT1hdXRvOiBMaWtlIGAtLXdpdGgtcnBtPWxpYnJwbS5zbycgYnV0IGlmIGV2ZW4gcGtnLWNvbmZp ZworKyMgICBjYW5ub3QgZmluZCBsaWJycG0gdXNlIHRvIHRoZSBycG1sZXNzIGNvbXBpbGF0aW9u IChsaWtlIGAtLXdpdGhvdXQtcnBtJykuCisrCisrQUNfQVJHX1dJVEgoW3JwbV0sCisrICBbQVNf SEVMUF9TVFJJTkcoWy0td2l0aC1ycG1dLAorKyAgICAgICAgICAgICAgICAgIFtxdWVyeSBycG0g ZGF0YWJhc2UgZm9yIG1pc3NpbmcgZGVidWdpbmZvcyAoeWVzL25vLCBkZWYuIGF1dG89bGlicnBt LnNvKV0pXSwgW10sIFt3aXRoX3JwbT0iYXV0byJdKQorKworK200X3BhdHRlcm5fYWxsb3coW15B Q19NU0dfRVJST1IkXSkKKyttNF9wYXR0ZXJuX2FsbG93KFteQUNfTVNHX1dBUk4kXSkKKytpZiB0 ZXN0ICJ4JHdpdGhfcnBtIiAhPSAieG5vIjsgdGhlbgorKyAgaWYgdGVzdCAieCR3aXRoX3JwbSIg PSAieHllcyI7IHRoZW4KKysgICAgTElCUlBNPSJsaWJycG0uc28iCisrICAgIFJQTV9SRVFVSVJF PXRydWUKKysgICAgRExPUEVOX1JFUVVJUkU9ZmFsc2UKKysgIGVsaWYgdGVzdCAieCR3aXRoX3Jw bSIgPSAieGF1dG8iOyB0aGVuCisrICAgIExJQlJQTT0ibGlicnBtLnNvIgorKyAgICBSUE1fUkVR VUlSRT1mYWxzZQorKyAgICBETE9QRU5fUkVRVUlSRT1mYWxzZQorKyAgZWxzZQorKyAgICBMSUJS UE09IiR3aXRoX3JwbSIKKysgICAgUlBNX1JFUVVJUkU9dHJ1ZQorKyAgICBETE9QRU5fUkVRVUlS RT10cnVlCisrICBmaQorKyAgTElCUlBNX1NUUklORz0nIiciJExJQlJQTSInIicKKysKKysgIEFD X01TR19DSEVDS0lORyhbc3BlY2lmaWMgbGlicnBtIHZlcnNpb25dKQorKyAgSEFWRV9ETE9QRU5f TElCUlBNPWZhbHNlCisrICBzYXZlX0xJQlM9IiRMSUJTIgorKyAgTElCUz0iJExJQlMgLWxkbCIK KysgIEFDX1JVTl9JRkVMU0UoQUNfTEFOR19QUk9HUkFNKFtbCisrI2luY2x1ZGUgPHJwbS9ycG1s aWIuaD4KKysjaW5jbHVkZSA8ZGxmY24uaD4KKysjaW5jbHVkZSA8ZXJybm8uaD4KKysgIF1dLCBb WworKyAgICB2b2lkICpoOworKyAgICBjb25zdCBjaGFyICpjb25zdCAqcnBtdmVycDsKKysgICAg RklMRSAqZjsKKysKKysgICAgZiA9IGZvcGVuICgiY29uZnRlc3Qub3V0IiwgInciKTsKKysgICAg aWYgKCFmKQorKyAgICAgIHsKKysJZnByaW50ZiAoc3RkZXJyLCAiQ2Fubm90IHdyaXRlIFwiJXNc IjogJXNcbiIsICJjb25mdGVzdC5vdXQiLAorKwkJIHN0cmVycm9yIChlcnJubykpOworKwlyZXR1 cm4gMTsKKysgICAgICB9CisrICAgIGggPSBkbG9wZW4gKCRMSUJSUE1fU1RSSU5HLCBSVExEX0xB WlkpOworKyAgICBpZiAoIWgpCisrICAgICAgeworKwlmcHJpbnRmIChzdGRlcnIsICJkbG9wZW4g KFwiJXNcIik6ICVzXG4iLCAkTElCUlBNX1NUUklORywgZGxlcnJvciAoKSk7CisrCXJldHVybiAx OworKyAgICAgIH0KKysgICAgcnBtdmVycCA9IGRsc3ltIChoLCAiUlBNVkVSU0lPTiIpOworKyAg ICBpZiAoIXJwbXZlcnApCisrICAgICAgeworKwlmcHJpbnRmIChzdGRlcnIsICJkbHN5bSAoXCJS UE1WRVJTSU9OXCIpOiAlc1xuIiwgZGxlcnJvciAoKSk7CisrCXJldHVybiAxOworKyAgICAgIH0K KysgICAgZnByaW50ZiAoc3RkZXJyLCAiUlBNVkVSU0lPTiBpczogXCIiKTsKKysgICAgZnByaW50 ZiAoc3RkZXJyLCAiJXNcIlxuIiwgKnJwbXZlcnApOwogKwotKyAgd2hpbGUgKG1pc3NpbmdfcnBt X2xpc3QgIT0gTlVMTCkKLSsgICAgewotKyAgICAgIGxpc3RfaXRlciA9IG1pc3NpbmdfcnBtX2xp c3Q7Ci0rICAgICAgbWlzc2luZ19ycG1fbGlzdCA9IGxpc3RfaXRlci0+bmV4dDsKLSsgICAgICB4 ZnJlZSAobGlzdF9pdGVyKTsKLSsgICAgfQotKyAgbWlzc2luZ19ycG1fbGlzdF9lbnRyaWVzID0g MDsKKysgICAgLyogVHJ5IHRvIGZpbmQgdGhlIHNwZWNpZmljIGxpYnJwbSB2ZXJzaW9uIG9ubHkg Zm9yICJsaWJycG0uc28iIGFzIHdlIGRvCisrICAgICAgIG5vdCBrbm93IGhvdyB0byBhc3NlbWJs ZSB0aGUgdmVyc2lvbiBzdHJpbmcgb3RoZXJ3aXNlLiAgKi8KICsKLSsgIGRvX2NsZWFudXBzIChj bGVhbnVwcyk7Ci0rfQorKyAgICBpZiAoc3RyY21wICgibGlicnBtLnNvIiwgJExJQlJQTV9TVFJJ TkcpICE9IDApCisrICAgICAgeworKwlmcHJpbnRmIChmLCAiJXNcbiIsICRMSUJSUE1fU1RSSU5H KTsKKysJcmV0dXJuIDA7CisrICAgICAgfQorKyAgICBlbHNlCisrICAgICAgeworKwljaGFyICpo Ml9uYW1lOworKwl2b2lkICpoMjsKKysJaW50IG1ham9yLCBtaW5vcjsKICsKLStzdGF0aWMgdm9p ZAotK21pc3NpbmdfcnBtX2NoYW5nZSAodm9pZCkKLSt7Ci0rICBkZWJ1Z19mbHVzaF9taXNzaW5n ICgpOworKwlpZiAoc3NjYW5mICgqcnBtdmVycCwgIiVkLiVkIiwgJm1ham9yLCAmbWlub3IpICE9 IDIpCisrCSAgeworKwkgICAgZnByaW50ZiAoc3RkZXJyLCAiVW5hYmxlIHRvIHBhcnNlIFJQTVZF UlNJT04uXG4iKTsKKysJICAgIGZwcmludGYgKGYsICIlc1xuIiwgJExJQlJQTV9TVFJJTkcpOwor KwkgICAgcmV0dXJuIDA7CisrCSAgfQorKwkvKiBBdm9pZCB0aGUgc3F1YXJlIGJyYWNrZXRzIGJ5 IG1hbGxvYy4gICovCisrCWgyX25hbWUgPSBtYWxsb2MgKDY0KTsKKysJc3ByaW50ZiAoaDJfbmFt ZSwgImxpYnJwbS0lZC4lZC5zbyIsIG1ham9yLCBtaW5vcik7CisrCWgyID0gZGxvcGVuIChoMl9u YW1lLCBSVExEX0xBWlkpOworKwlpZiAoIWgyKQorKwkgIHsKKysJICAgIGZwcmludGYgKHN0ZGVy ciwgImRsb3BlbiAoXCIlc1wiKTogJXNcbiIsIGgyX25hbWUsIGRsZXJyb3IgKCkpOworKwkgICAg ZnByaW50ZiAoZiwgIiVzXG4iLCAkTElCUlBNX1NUUklORyk7CisrCSAgICByZXR1cm4gMDsKKysJ ICB9CisrCWlmIChoMiAhPSBoKQorKwkgIHsKKysJICAgIGZwcmludGYgKHN0ZGVyciwgImRsb3Bl biBvZiBcIiVzXCIgYW5kIFwiJXNcIiBhcmUgZGlmZmVyZW50LlxuIiwKKysJCSAgICAgJExJQlJQ TV9TVFJJTkcsIGgyX25hbWUpOworKwkgICAgZnByaW50ZiAoZiwgIiVzXG4iLCAkTElCUlBNX1NU UklORyk7CisrCSAgICByZXR1cm4gMDsKKysJICB9CisrCS8qIEZvdW5kIHRoZSB2YWxpZCAuc28g bmFtZSB3aXRoIGEgc3BlY2lmaWMgdmVyc2lvbi4gICovCisrCWZwcmludGYgKGYsICIlc1xuIiwg aDJfbmFtZSk7CisrCXJldHVybiAwOworKyAgICAgIH0KKysgIF1dKSwgWworKyAgICBETE9QRU5f TElCUlBNPSJgY2F0IGNvbmZ0ZXN0Lm91dGAiCisrICAgIGlmIHRlc3QgIngkRExPUEVOX0xJQlJQ TSIgIT0gIngiOyB0aGVuCisrICAgICAgSEFWRV9ETE9QRU5fTElCUlBNPXRydWUKKysgICAgICBB Q19NU0dfUkVTVUxUKCRETE9QRU5fTElCUlBNKQorKyAgICBmaQorKyAgXSkKKysgIHJtIC1mIGNv bmZ0ZXN0Lm91dAogKwotKyAgZ2RiX2Fzc2VydCAobWlzc2luZ19ycG1fbGlzdCA9PSBOVUxMKTsK LSsgIGlmIChtaXNzaW5nX3JwbV9oYXNoICE9IE5VTEwpCi0rICAgIHsKLSsgICAgICBodGFiX2Rl bGV0ZSAobWlzc2luZ19ycG1faGFzaCk7Ci0rICAgICAgbWlzc2luZ19ycG1faGFzaCA9IE5VTEw7 Ci0rICAgIH0KLSt9CisrICBtNF9kZWZpbmUoW0NIRUNLX0xJQlJQTV9DT01QQVRdLCBbCisrICAg IEFDX01TR19DSEVDS0lORyhbcnBtIGxpYnJhcnkgQVBJIGNvbXBhdGliaWxpdHldKQorKyAgICAj IFRoZSBjb21waWxhdGlvbiByZXF1aXJlcyAtV2Vycm9yIHRvIHZlcmlmeSBhbnl0aGluZy4KKysg ICAgc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCisrICAgIENGTEFHUz0iJENGTEFHUyAtV2Vycm9yIgor KyAgICBBQ19DT01QSUxFX0lGRUxTRShBQ19MQU5HX1BST0dSQU0oW1sKKysvKiBEdXBsaWNhdGUg aGVyZSB0aGUgZGVjbGFyYXRpb25zIHRvIHZlcmlmeSB0aGV5IG1hdGNoICJlbGZyZWFkLmMiLiAg Ki8KKysjaW5jbHVkZSA8cnBtL3JwbWxpYi5oPgorKyNpbmNsdWRlIDxycG0vcnBtdHMuaD4KKysj aW5jbHVkZSA8cnBtL3JwbWRiLmg+CisrI2luY2x1ZGUgPHJwbS9oZWFkZXIuaD4KKytleHRlcm4g Y2hhciAqIGhlYWRlckZvcm1hdChIZWFkZXIgaCwgY29uc3QgY2hhciAqIGZtdCwgZXJybXNnX3Qg KiBlcnJtc2cpOworK2V4dGVybiBpbnQgcnBtUmVhZENvbmZpZ0ZpbGVzKGNvbnN0IGNoYXIgKiBm aWxlLCBjb25zdCBjaGFyICogdGFyZ2V0KTsKKytleHRlcm4gcnBtZGJNYXRjaEl0ZXJhdG9yIHJw bWRiRnJlZUl0ZXJhdG9yKHJwbWRiTWF0Y2hJdGVyYXRvciBtaSk7CisrZXh0ZXJuIEhlYWRlciBy cG1kYk5leHRJdGVyYXRvcihycG1kYk1hdGNoSXRlcmF0b3IgbWkpOworK2V4dGVybiBycG10cyBy cG10c0NyZWF0ZSh2b2lkKTsKKytleHRlcm4gcnBtdHMgcnBtdHNGcmVlKHJwbXRzIHRzKTsKKytl eHRlcm4gcnBtZGJNYXRjaEl0ZXJhdG9yIHJwbXRzSW5pdEl0ZXJhdG9yKGNvbnN0IHJwbXRzIHRz LCBycG1UYWcgcnBtdGFnLAorKwkJCQkJICAgIGNvbnN0IHZvaWQgKiBrZXlwLCBzaXplX3Qga2V5 bGVuKTsKKysgICAgXV0pLCBbCisrICAgICAgTElCUlBNX0NPTVBBVD10cnVlCisrICAgICAgQUNf TVNHX1JFU1VMVCh5ZXMpCisrICAgIF0sIFsKKysgICAgICBMSUJSUE1fQ09NUEFUPWZhbHNlCisr ICAgICAgQUNfTVNHX1JFU1VMVChubykKKysgICAgXSkKKysgICAgQ0ZMQUdTPSIkc2F2ZV9DRkxB R1MiCisrICBdKQogKwotK2VudW0gbWlzc2luZ19leGVjCi0rICB7Ci0rICAgIC8qIEluaXQgc3Rh dGUuICBFWEVDX0JGRCBhbHNvIHN0aWxsIGNvdWxkIGJlIE5VTEwuICAqLwotKyAgICBNSVNTSU5H X0VYRUNfTk9UX1RSSUVELAotKyAgICAvKiBXZSBzYXcgYSBub24tTlVMTCBFWEVDX0JGRCBidXQg UlBNIGhhcyBubyBpbmZvIGFib3V0IGl0LiAgKi8KLSsgICAgTUlTU0lOR19FWEVDX05PVF9GT1VO RCwKLSsgICAgLyogV2UgZm91bmQgRVhFQ19CRkQgYnkgUlBNIGFuZCB3ZSBlaXRoZXIgaGF2ZSBp dHMgc3ltYm9scyAoZWl0aGVyIGVtYmVkZGVkCi0rICAgICAgIG9yIHNlcGFyYXRlKSBvciB0aGUg bWFpbiBleGVjdXRhYmxlJ3MgUlBNIGlzIG5vdyBjb250YWluZWQgaW4KLSsgICAgICAgTUlTU0lO R19SUE1fSEFTSC4gICovCi0rICAgIE1JU1NJTkdfRVhFQ19FTkxJU1RFRAotKyAgfTsKLStzdGF0 aWMgZW51bSBtaXNzaW5nX2V4ZWMgbWlzc2luZ19leGVjID0gTUlTU0lOR19FWEVDX05PVF9UUklF RDsKKysgIGlmICRIQVZFX0RMT1BFTl9MSUJSUE07IHRoZW4KKysgICAgQ0hFQ0tfTElCUlBNX0NP TVBBVAorKyAgICBpZiAhICRMSUJSUE1fQ09NUEFUOyB0aGVuCisrICAgICAgSEFWRV9ETE9QRU5f TElCUlBNPWZhbHNlCisrICAgIGZpCisrICBmaQogKwotKyNlbmRpZgkvKiBIQVZFX0xJQlJQTSAq LworKyAgaWYgJEhBVkVfRExPUEVOX0xJQlJQTTsgdGhlbgorKyAgICBETE9QRU5fTElCUlBNX1NU UklORz0nIiciJERMT1BFTl9MSUJSUE0iJyInCisrICAgIEFDX0RFRklORV9VTlFVT1RFRChETE9Q RU5fTElCUlBNLCAkRExPUEVOX0xJQlJQTV9TVFJJTkcsIFtsaWJycG0gdmVyc2lvbiBzcGVjaWZp YyBsaWJyYXJ5IG5hbWUgdG8gZGxvcGVuLl0pCisrICAgIEFDX0RFRklORShIQVZFX0xJQlJQTSwg MSwgW0RlZmluZSBpZiBsaWJycG0gbGlicmFyeSBpcyBiZWluZyB1c2VkLl0pCisrICBlbHNlCisr ICAgIEFDX01TR19SRVNVTFQobm8pCisrICAgIExJQlM9IiRzYXZlX0xJQlMiCisrICAgIGlmICRE TE9QRU5fUkVRVUlSRTsgdGhlbgorKyAgICAgIEFDX01TR19FUlJPUihbU3BlY2lmaWMgbmFtZSAk TElCUlBNIHdhcyByZXF1ZXN0ZWQgYnV0IGl0IGNvdWxkIG5vdCBiZSBvcGVuZWQuXSkKKysgICAg ZmkKKysgICAgUEtHX0NIRUNLX01PRFVMRVMoUlBNLCBycG0sIFtIQVZFX0xJQlJQTT10cnVlXSwg W0hBVkVfTElCUlBNPWZhbHNlXSkKICsKLSt2b2lkCi0rZGVidWdfZmx1c2hfbWlzc2luZyAodm9p ZCkKLSt7Ci0rI2lmZGVmIEhBVkVfTElCUlBNCi0rICBtaXNzaW5nX3JwbV9saXN0X3ByaW50ICgp OwotKyNlbmRpZgotK30KKysgICAgaWYgJEhBVkVfTElCUlBNOyB0aGVuCisrICAgICAgQ0hFQ0tf TElCUlBNX0NPTVBBVAorKyAgICAgIGlmICEgJExJQlJQTV9DT01QQVQ7IHRoZW4KKysJSEFWRV9M SUJSUE09ZmFsc2UKKysJUlBNX1BLR19FUlJPUlM9IkZvdW5kICRMSUJSUE0gQVBJIGlzIGluY29t cGF0aWJpbGUgd2l0aCB0aGlzIEdEQiIKKysgICAgICBmaQorKyAgICBmaQogKwotIC8qIFRoaXMg TUlTU0lOR19GSUxFUEFJUl9IQVNIIHRyYWNrZXIgaXMgdXNlZCBvbmx5IGZvciB0aGUgZHVwbGlj aXRlIG1lc3NhZ2VzCi0tICAgICBUcnkgdG8gaW5zdGFsbCB0aGUgaGFzaCBmaWxlIC4uLgotKyAg ICAgeXVtIC0tZW5hYmxlcmVwbz0nKmRlYnVnKicgaW5zdGFsbCAuLi4KLSAgICBhdm9pZGFuY2Uu ICAqLworKyAgICBpZiAkSEFWRV9MSUJSUE07IHRoZW4KKysgICAgICBBQ19ERUZJTkUoSEFWRV9M SUJSUE0sIDEsIFtEZWZpbmUgaWYgbGlicnBtIGxpYnJhcnkgaXMgYmVpbmcgdXNlZC5dKQorKyAg ICAgIENGTEFHUz0iJENGTEFHUyAkUlBNX0NGTEFHUyIKKysgICAgICBMSUJTPSIkTElCUyAkUlBN X0xJQlMiCisrICAgIGVsc2UKKysgICAgICBpZiAkUlBNX1JFUVVJUkU7IHRoZW4KKysJQUNfTVNH X0VSUk9SKCRSUE1fUEtHX0VSUk9SUykKKysgICAgICBlbHNlCisrCUFDX01TR19XQVJOKCRSUE1f UEtHX0VSUk9SUykKKysgICAgICBmaQorKyAgICBmaQorKyAgZmkKKytmaQorKyAKKyBBQ19DT05G SUdfU1VCRElSUyh0ZXN0c3VpdGUpCiAgCi0gc3RydWN0IG1pc3NpbmdfZmlsZXBhaXIKLUBAIC03 MjAsMTEgKzEwNzksMTcgQEAKLSAgICAgICAvKiBBbGwgdGhlaXIgbWVtb3J5IGNhbWUganVzdCBm cm9tIG1pc3NpbmdfZmlsZXBhaXJfT0JTVEFDSy4gICovCi0gICAgICAgbWlzc2luZ19maWxlcGFp cl9oYXNoID0gTlVMTDsKKyAjIENoZWNrIHdoZXRoZXIgdG8gc3VwcG9ydCBhbHRlcm5hdGl2ZSB0 YXJnZXQgY29uZmlndXJhdGlvbnMKK2RpZmYgLS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2Nv cmVsb3cuYworaW5kZXggYjZlOWRkYzY1Mi4uNTQ3MzEzYzRiNSAxMDA2NDQKKy0tLSBhL2dkYi9j b3JlbG93LmMKKysrKyBiL2dkYi9jb3JlbG93LmMKK0BAIC0zMDksNyArMzA5LDcgQEAgYnVpbGRf aWRfbG9jYXRlX2V4ZWMgKGludCBmcm9tX3R0eSkKKyAgICAgICAgIHN5bWZpbGVfb2JqZmlsZS0+ ZmxhZ3MgfD0gT0JKRl9CVUlMRF9JRF9DT1JFX0xPQURFRDsKICAgICAgfQotKyNpZmRlZiBIQVZF X0xJQlJQTQotKyAgbWlzc2luZ19leGVjID0gTUlTU0lOR19FWEVDX05PVF9UUklFRDsKLSsjZW5k aWYKLSB9CisgICBlbHNlCistICAgIGRlYnVnX3ByaW50X21pc3NpbmcgKF8oInRoZSBtYWluIGV4 ZWN1dGFibGUgZmlsZSIpLCBidWlsZF9pZF9maWxlbmFtZSk7CisrICAgIGRlYnVnX3ByaW50X21p c3NpbmcgKEJVSUxEX0lEX01BSU5fRVhFQ1VUQUJMRV9GSUxFTkFNRSwgYnVpbGRfaWRfZmlsZW5h bWUpOwogIAotIHN0YXRpYyB2b2lkCi0gZGVidWdfcHJpbnRfZXhlY3V0YWJsZV9jaGFuZ2VkICh2 b2lkKQotIHsKLSsjaWZkZWYgSEFWRV9MSUJSUE0KLSsgIG1pc3NpbmdfcnBtX2NoYW5nZSAoKTsK LSsjZW5kaWYKLSAgIG1pc3NpbmdfZmlsZXBhaXJfY2hhbmdlICgpOwotIH0KKyAgIGRvX2NsZWFu dXBzIChiYWNrX3RvKTsKICAKLUBAIC03OTEsMTQgKzExNTYsMzkgQEAKK2RpZmYgLS1naXQgYS9n ZGIvZXZlbnQtdG9wLmMgYi9nZGIvZXZlbnQtdG9wLmMKK2luZGV4IDg5OTM2OTY1YTkuLmExODY2 ZjBjODggMTAwNjQ0CistLS0gYS9nZGIvZXZlbnQtdG9wLmMKKysrKyBiL2dkYi9ldmVudC10b3Au YworQEAgLTQwLDYgKzQwLDcgQEAKKyAjaW5jbHVkZSAiYnVmZmVyLmgiCisgI2luY2x1ZGUgInNl ci1ldmVudC5oIgorICNpbmNsdWRlICJnZGJfc2VsZWN0LmgiCisrI2luY2x1ZGUgInN5bWZpbGUu aCIKICAKLSAgICpzbG90ID0gbWlzc2luZ19maWxlcGFpcjsKKyAvKiByZWFkbGluZSBpbmNsdWRl IGZpbGVzLiAgKi8KKyAjaW5jbHVkZSAicmVhZGxpbmUvcmVhZGxpbmUuaCIKK0BAIC0zNTksNiAr MzYwLDggQEAgZGlzcGxheV9nZGJfcHJvbXB0IChjb25zdCBjaGFyICpuZXdfcHJvbXB0KQorICAg LyogUmVzZXQgdGhlIG5lc3RpbmcgZGVwdGggdXNlZCB3aGVuIHRyYWNlLWNvbW1hbmRzIGlzIHNl dC4gICovCisgICByZXNldF9jb21tYW5kX25lc3RfZGVwdGggKCk7CiAgCi0tICAvKiBXZSBkbyBu b3QgY29sbGVjdCBhbmQgZmx1c2ggdGhlc2UgbWVzc2FnZXMgYXMgZWFjaCBzdWNoIG1lc3NhZ2UK LS0gICAgIGFscmVhZHkgcmVxdWlyZXMgaXRzIG93biBzZXBhcmF0ZSBsaW5lcy4gICovCi0rI2lm ZGVmIEhBVkVfTElCUlBNCi0rICBpZiAobWlzc2luZ19leGVjID09IE1JU1NJTkdfRVhFQ19OT1Rf VFJJRUQpCi0rICAgIHsKLSsgICAgICBjaGFyICpleGVjZmlsZW5hbWU7CisrICBkZWJ1Z19mbHVz aF9taXNzaW5nICgpOworKworICAgLyogRG8gbm90IGNhbGwgdGhlIHB5dGhvbiBob29rIG9uIGFu IGV4cGxpY2l0IHByb21wdCBjaGFuZ2UgYXMKKyAgICAgIHBhc3NlZCB0byB0aGlzIGZ1bmN0aW9u LCBhcyB0aGlzIGZvcm1zIGEgc2Vjb25kYXJ5L2xvY2FsIHByb21wdCwKKyAgICAgIElFLCBkaXNw bGF5ZWQgYnV0IG5vdCBzZXQuICAqLworQEAgLTc3Myw3ICs3NzYsMTAgQEAgY29tbWFuZF9saW5l X2hhbmRsZXIgKGNoYXIgKnJsKQorICAgICAgIGNvbW1hbmRfaGFuZGxlciAoY21kKTsKICAKLS0g IGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywKLS0JCSAgICAgIF8oIk1pc3Npbmcgc2Vw YXJhdGUgZGVidWdpbmZvIGZvciAlc1xuIiksIGJpbmFyeSk7Ci0tICBpZiAoZGVidWcgIT0gTlVM TCkKLS0gICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLCBfKCJUcnkgdG8gaW5zdGFs bCB0aGUgaGFzaCBmaWxlICVzXG4iKSwKLS0JCQlkZWJ1Zyk7Ci0rICAgICAgZXhlY2ZpbGVuYW1l ID0gZ2V0X2V4ZWNfZmlsZSAoMCk7Ci0rICAgICAgaWYgKGV4ZWNmaWxlbmFtZSAhPSBOVUxMKQor ICAgICAgIGlmICh1aS0+cHJvbXB0X3N0YXRlICE9IFBST01QVEVEKQorLQlkaXNwbGF5X2dkYl9w cm9tcHQgKDApOwogKwl7Ci0rCSAgaWYgKG1pc3NpbmdfcnBtX2VubGlzdCAoZXhlY2ZpbGVuYW1l KSA9PSAwKQotKwkgICAgbWlzc2luZ19leGVjID0gTUlTU0lOR19FWEVDX05PVF9GT1VORDsKLSsJ ICBlbHNlCi0rCSAgICBtaXNzaW5nX2V4ZWMgPSBNSVNTSU5HX0VYRUNfRU5MSVNURUQ7CisrCSAg ZGVidWdfZmx1c2hfbWlzc2luZyAoKTsKKysJICBkaXNwbGF5X2dkYl9wcm9tcHQgKDApOwogKwl9 Ci0rICAgIH0KLSsgIGlmIChtaXNzaW5nX2V4ZWMgIT0gTUlTU0lOR19FWEVDX0VOTElTVEVEKQot KyAgICBpZiAoKGJpbmFyeVswXSA9PSAwIHx8IG1pc3NpbmdfcnBtX2VubGlzdCAoYmluYXJ5KSA9 PSAwKQotKwkmJiAoZGVidWcgPT0gTlVMTCB8fCBtaXNzaW5nX3JwbV9lbmxpc3QgKGRlYnVnKSA9 PSAwKSkKLSsjZW5kaWYJLyogSEFWRV9MSUJSUE0gKi8KLSsgICAgICB7Ci0rCS8qIFdlIGRvIG5v dCBjb2xsZWN0IGFuZCBmbHVzaCB0aGVzZSBtZXNzYWdlcyBhcyBlYWNoIHN1Y2ggbWVzc2FnZQot KwkgICBhbHJlYWR5IHJlcXVpcmVzIGl0cyBvd24gc2VwYXJhdGUgbGluZXMuICAqLwotKwotKwlm cHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCi0rCQkJICAgIF8oIk1pc3Npbmcgc2VwYXJh dGUgZGVidWdpbmZvIGZvciAlc1xuIiksIGJpbmFyeSk7Ci0rICAgICAgICBpZiAoZGVidWcgIT0g TlVMTCkKLSsJICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csIF8oIlRyeTogJXMgJXNc biIpLAotKyNpZmRlZiBETkZfREVCVUdJTkZPX0lOU1RBTEwKLSsJCQkgICAgICAiZG5mIgotKyNl bHNlCi0rCQkJICAgICAgInl1bSIKLSsjZW5kaWYKLSsJCQkgICAgICAiIC0tZW5hYmxlcmVwbz0n KmRlYnVnKicgaW5zdGFsbCIsIGRlYnVnKTsKLSsgICAgICB9CisgICAgIH0KICB9CiAgCi0gLyog U2VlIGJ1aWxkLWlkLmguICAqLworZGlmZiAtLWdpdCBhL2dkYi9zeW1maWxlLmggYi9nZGIvc3lt ZmlsZS5oCitpbmRleCA0NWJiZTBhMjI5Li42OWVlYWQyMGQ5IDEwMDY0NAorLS0tIGEvZ2RiL3N5 bWZpbGUuaAorKysrIGIvZ2RiL3N5bWZpbGUuaAorQEAgLTU0Niw2ICs1NDYsOCBAQCB2b2lkIG1h cF9zeW1ib2xfZmlsZW5hbWVzIChzeW1ib2xfZmlsZW5hbWVfZnR5cGUgKmZ1biwgdm9pZCAqZGF0 YSwKKyAvKiBidWlsZC1pZCBzdXBwb3J0LiAgKi8KKyBleHRlcm4gc3RydWN0IGJmZF9idWlsZF9p ZCAqYnVpbGRfaWRfYWRkcl9nZXQgKENPUkVfQUREUiBhZGRyKTsKKyBleHRlcm4gdm9pZCBkZWJ1 Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKTsK KytleHRlcm4gdm9pZCBkZWJ1Z19mbHVzaF9taXNzaW5nICh2b2lkKTsKKysjZGVmaW5lIEJVSUxE X0lEX01BSU5fRVhFQ1VUQUJMRV9GSUxFTkFNRSBfKCJ0aGUgbWFpbiBleGVjdXRhYmxlIGZpbGUi KQorIAorIC8qIEZyb20gZHdhcmYycmVhZC5jICovCisgCistLSAKKzIuMTQuMworCgpkaWZmIC0t Z2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaCBiL2dk Yi02LjYtYnVpbGRpZC1sb2NhdGUtc29saWItbWlzc2luZy1pZHMucGF0Y2gKaW5kZXggMDhkOTAx ZS4uNzJhNTc0YiAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNz aW5nLWlkcy5wYXRjaAorKysgYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3Npbmct aWRzLnBhdGNoCkBAIC0xLDE4ICsxLDMyIEBACitGcm9tIGQyNzk2M2Y4MWQwOTU2NDhkNDljNjIz ZDU1NjdkYzFhYTk2NDI5ZTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEg R0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAy MTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNz aW5nLWlkcy5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1t aXNzaW5nLWlkcy5wYXRjaAogCis7OyBGaXggbG9hZGluZyBvZiBjb3JlIGZpbGVzIHdpdGhvdXQg YnVpbGQtaWRzIGJ1dCB3aXRoIGJ1aWxkLWlkcyBpbiBleGVjdXRhYmxlcy4KKzs7IExvYWQgc3Ry aWN0bHkgYnVpbGQtaWQtY2hlY2tlZCBjb3JlIGZpbGVzIG9ubHkgaWYgbm8gZXhlY3V0YWJsZSBp cyBzcGVjaWZpZWQKKzs7IChKYW4gS3JhdG9jaHZpbCwgUkggQlogMTMzOTg2MikuCis7Oz1wdXNo K2phbgogCiBnZGIgcmV0dXJucyBhbiBpbmNvcnJlY3QgYmFjayB0cmFjZSB3aGVuIGFwcGx5aW5n IGEgZGVidWdpbmZvCiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lk PTEzMzk4NjIKKy0tLQorIGdkYi9zb2xpYi1zdnI0LmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDM1ICsrKystLS0KKyAuLi4vZ2NvcmUtYnVpbGRpZC1leGVjLWJ1dC1ub3Qt c29saWItbGliLmMgICAgICAgICB8ICAyMSArKysrKworIC4uLi9nY29yZS1idWlsZGlkLWV4ZWMt YnV0LW5vdC1zb2xpYi1tYWluLmMgICAgICAgIHwgIDI1ICsrKysrCisgLi4uL2dkYi5iYXNlL2dj b3JlLWJ1aWxkaWQtZXhlYy1idXQtbm90LXNvbGliLmV4cCAgfCAxMDUgKysrKysrKysrKysrKysr KysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAxNjcgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25z KC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtYnVp bGRpZC1leGVjLWJ1dC1ub3Qtc29saWItbGliLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1idWlsZGlkLWV4ZWMtYnV0LW5vdC1zb2xpYi1tYWluLmMK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1idWlsZGlk LWV4ZWMtYnV0LW5vdC1zb2xpYi5leHAKIAotSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2Ri L3NvbGliLXN2cjQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuOTAuMjAxNTA3MDkub3JpZy9n ZGIvc29saWItc3ZyNC5jCTIwMTUtMDctMDkgMTg6MTg6NTQuNTI2NDE3NzY2ICswMjAwCi0rKysg Z2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvc29saWItc3ZyNC5jCTIwMTUtMDctMDkgMTg6MTk6MzMu MDc0NzQ2NTg2ICswMjAwCi1AQCAtMTM4MSwxNCArMTM4MSwyNyBAQCBzdnI0X3JlYWRfc29fbGlz dCAoQ09SRV9BRERSIGxtLCBDT1JFX0FECitkaWZmIC0tZ2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBi L2dkYi9zb2xpYi1zdnI0LmMKK2luZGV4IDA4Nzg4MDkyZGMuLjEyMjA3YWM2ZTkgMTAwNjQ0Cist LS0gYS9nZGIvc29saWItc3ZyNC5jCisrKysgYi9nZGIvc29saWItc3ZyNC5jCitAQCAtMTM4Nywx NCArMTM4NywyNyBAQCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JFX0FERFIg cHJldl9sbSwKICAJfQogIAogICAgICAgIHsKQEAgLTM4LDExICs1MiwxMSBAQCBJbmRleDogZ2Ri LTcuOS45MC4yMDE1MDcwOS9nZGIvc29saWItc3ZyNC5jCiArCSAgIHRvIHRoZSBvbmx5IGV4aXN0 aW5nIGZpbGUgbG9hZGVkIHRoYXQgdGltZSAtIHRoZSBleGVjdXRhYmxlLiAgKi8KICsJaWYgKHN5 bWZpbGVfb2JqZmlsZSAhPSBOVUxMCiArCSAgICAmJiAoc3ltZmlsZV9vYmpmaWxlLT5mbGFncyAm IE9CSkZfQlVJTERfSURfQ09SRV9MT0FERUQpICE9IDApCi0rCSAgYnVpbGRfaWQgPSBidWlsZF9p ZF9hZGRyX2dldCAobmV3b2JqLT5sbV9pbmZvLT5sX2xkKTsKKysJICBidWlsZF9pZCA9IGJ1aWxk X2lkX2FkZHJfZ2V0IChsaS0+bF9sZCk7CiAgCWlmIChidWlsZF9pZCAhPSBOVUxMKQogIAkgIHsK ICAJICAgIGNoYXIgKm5hbWUsICpidWlsZF9pZF9maWxlbmFtZTsKLUBAIC0xNDAzLDIzICsxNDE2 LDcgQEAgc3ZyNF9yZWFkX3NvX2xpc3QgKENPUkVfQUREUiBsbSwgQ09SRV9BRAorQEAgLTE0MDks MjMgKzE0MjIsNyBAQCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JFX0FERFIg cHJldl9sbSwKICAJCXhmcmVlIChuYW1lKTsKICAJICAgICAgfQogIAkgICAgZWxzZQpAQCAtNjcs OCArODEsNjkgQEAgSW5kZXg6IGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL3NvbGliLXN2cjQuYwog IAogIAkgICAgeGZyZWUgKGJ1aWxkX2lkX2ZpbGVuYW1lKTsKICAJICAgIHhmcmVlIChidWlsZF9p ZCk7Ci0tLS0gL2Rldi9udWxsCTIwMTYtMDctMDIgMjA6Mjk6MDEuNjc5NDA0OTQzICswMjAwCi0r KysgZ2RiLTcuMTEuNTAuMjAxNjA3MjEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1idWls ZGlkLWV4ZWMtYnV0LW5vdC1zb2xpYi5leHAJMjAxNi0wNy0zMSAyMzowNDo0OS4wNjI3NTM3MjIg KzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlLWJ1aWxkaWQt ZXhlYy1idXQtbm90LXNvbGliLWxpYi5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1i dWlsZGlkLWV4ZWMtYnV0LW5vdC1zb2xpYi1saWIuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLmQ3NGI2OTBjNzMKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtYnVpbGRpZC1leGVjLWJ1dC1ub3Qtc29saWItbGliLmMKK0BA IC0wLDAgKzEsMjEgQEAKKysvKiBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KKysKKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisrCisrICAgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK KysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAg IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworK3ZvaWQKKytsaWIgKHZvaWQpCisr eworK30KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlLWJ1aWxkaWQt ZXhlYy1idXQtbm90LXNvbGliLW1haW4uYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUt YnVpbGRpZC1leGVjLWJ1dC1ub3Qtc29saWItbWFpbi5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMDAwMC4uNDZiOWRmZTE2MQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1idWlsZGlkLWV4ZWMtYnV0LW5vdC1zb2xpYi1tYWluLmMK K0BAIC0wLDAgKzEsMjUgQEAKKysvKiBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KKysKKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisrCisrICAgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKwor KyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworK2V4dGVybiB2b2lkIGxpYiAo dm9pZCk7CisrCisraW50CisrbWFpbiAodm9pZCkKKyt7CisrICBsaWIgKCk7CisrICByZXR1cm4g MDsKKyt9CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZS1idWlsZGlk LWV4ZWMtYnV0LW5vdC1zb2xpYi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlLWJ1 aWxkaWQtZXhlYy1idXQtbm90LXNvbGliLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAwMDAuLjBjNDY0ODlmMzEKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvZ2NvcmUtYnVpbGRpZC1leGVjLWJ1dC1ub3Qtc29saWIuZXhwCiBAQCAtMCww ICsxLDEwNSBAQAogKyMgQ29weXJpZ2h0IDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCiArCkBAIC0xNzUsNTUgKzI1MCw2IEBAIEluZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dk Yi9zb2xpYi1zdnI0LmMKICsKICtnZGJfdGVzdCAiYnQiCiArZ2RiX3Rlc3QgImluZm8gc2hhcmVk IgotLS0tIC9kZXYvbnVsbAkyMDE2LTA3LTAyIDIwOjI5OjAxLjY3OTQwNDk0MyArMDIwMAotKysr IGdkYi03LjExLjUwLjIwMTYwNzIxL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtYnVpbGRp ZC1leGVjLWJ1dC1ub3Qtc29saWItbWFpbi5jCTIwMTYtMDctMjggMjE6MDY6NDAuOTc3Nzg2OTIy ICswMjAwCi1AQCAtMCwwICsxLDI1IEBACi0rLyogQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0RCLgotKwot KyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK LSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90 LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLStleHRlcm4gdm9p ZCBsaWIgKHZvaWQpOwotKwotK2ludAotK21haW4gKHZvaWQpCi0rewotKyAgbGliICgpOwotKyAg cmV0dXJuIDA7Ci0rfQotLS0tIC9kZXYvbnVsbAkyMDE2LTA3LTAyIDIwOjI5OjAxLjY3OTQwNDk0 MyArMDIwMAotKysrIGdkYi03LjExLjUwLjIwMTYwNzIxL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Z2NvcmUtYnVpbGRpZC1leGVjLWJ1dC1ub3Qtc29saWItbGliLmMJMjAxNi0wNy0yOCAyMTowNjo0 MC45Nzc3ODY5MjIgKzAyMDAKLUBAIC0wLDAgKzEsMjEgQEAKLSsvKiBDb3B5cmlnaHQgMjAxMCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIGZpbGUgaXMgcGFydCBv ZiBHREIuCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y Ci0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK LSsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgotKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgotKwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlzIHByb2dy YW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwotKwot K3ZvaWQKLStsaWIgKHZvaWQpCi0rewotK30KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9n ZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRj aAppbmRleCAwYTY1NDYyLi40NjA1OTRjIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9j YXRlLnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKQEAgLTEsMzU5ICsx LDM0IEBACitGcm9tIGIzOGQ4NjMwZWNjZTI4MzliMzVlMThlYzg0MjBmY2U2YWFjYzA0ZTUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRA ZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVj dDogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNi1idWls ZGlkLWxvY2F0ZS5wYXRjaAogCis7OyBOZXcgbG9jYXRpbmcgb2YgdGhlIG1hdGNoaW5nIGJpbmFy aWVzIGZyb20gdGhlIHB1cmUgY29yZSBmaWxlIChidWlsZC1pZCkuCis7Oz1wdXNoK2phbgorLS0t CisgZ2RiL2J1aWxkLWlkLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA3NTMg KysrKysrKysrKysrKysrKysrKysrKystCisgZ2RiL2J1aWxkLWlkLmggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMTUgKy0KKyBnZGIvY29mZnJlYWQuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQorIGdkYi9jb3JlbG93LmMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDY3ICsrKworIGdkYi9kb2MvZ2RiLnRleGluZm8gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIxICsKKyBnZGIvZHdhcmYycmVhZC5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQorIGdkYi9lbGZyZWFkLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICstCisgZ2RiL29iamZpbGVzLmggICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKworIGdkYi9weXRob24vcHktb2Jq ZmlsZS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICstCisgZ2RiL3NvbGliLXN2cjQu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNTAgKy0KKyBnZGIvc3ltZmlsZS5o ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArCisgZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAgICAgICAgICAgICAgfCAgMzAgKworIGdkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvbmV3LXVpLXBlbmRpbmctaW5wdXQuZXhwIHwgICAxICsKKyBnZGIvdGVzdHN1 aXRlL2xpYi9nZGIuZXhwICAgICAgICAgICAgICAgICAgICAgICB8ICAxMCArCisgZ2RiL3Rlc3Rz dWl0ZS9saWIvbWktc3VwcG9ydC5leHAgICAgICAgICAgICAgICAgfCAgMTAgKworIDE1IGZpbGVz IGNoYW5nZWQsIDk0MCBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jb3JlbG93LmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45 OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9jb3JlbG93LmMJMjAxNy0wNC0yMCAyMzowMDozNS40MTU1 ODQ0MjYgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvY29yZWxvdy5jCTIwMTct MDQtMjAgMjM6MDA6NDMuMzU4NjI5MTgzICswMjAwCi1AQCAtNDUsNiArNDUsMTAgQEAKLSAjaW5j bHVkZSAiZ2RiX2JmZC5oIgotICNpbmNsdWRlICJjb21wbGV0ZXIuaCIKLSAjaW5jbHVkZSAiZmls ZXN0dWZmLmgiCi0rI2luY2x1ZGUgImF1eHYuaCIKLSsjaW5jbHVkZSAiZWxmL2NvbW1vbi5oIgot KyNpbmNsdWRlICJnZGJjbWQuaCIKLSsjaW5jbHVkZSAiYnVpbGQtaWQuaCIKLSAKLSAjaWZuZGVm IE9fTEFSR0VGSUxFCi0gI2RlZmluZSBPX0xBUkdFRklMRSAwCi1AQCAtMjY2LDYgKzI3MCw1NCBA QAotICAgICBpbmZlcmlvcl9wdGlkID0gcHRpZDsJCQkvKiBZZXMsIG1ha2UgaXQgY3VycmVudC4g ICovCi0gfQotIAotK3N0YXRpYyBpbnQgYnVpbGRfaWRfY29yZV9sb2FkcyA9IDE7Ci0rCi0rc3Rh dGljIHZvaWQKLStidWlsZF9pZF9sb2NhdGVfZXhlYyAoaW50IGZyb21fdHR5KQotK3sKLSsgIENP UkVfQUREUiBhdF9lbnRyeTsKLSsgIHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkOwotKyAg Y2hhciAqZXhlY2ZpbGVuYW1lLCAqZGVidWdfZmlsZW5hbWU7Ci0rICBjaGFyICpidWlsZF9pZF9m aWxlbmFtZTsKLSsgIHN0cnVjdCBjbGVhbnVwICpiYWNrX3RvOwotKwotKyAgaWYgKGV4ZWNfYmZk ICE9IE5VTEwgfHwgc3ltZmlsZV9vYmpmaWxlICE9IE5VTEwpCi0rICAgIHJldHVybjsKLSsKLSsg IGlmICh0YXJnZXRfYXV4dl9zZWFyY2ggKCZjdXJyZW50X3RhcmdldCwgQVRfRU5UUlksICZhdF9l bnRyeSkgPD0gMCkKLSsgICAgcmV0dXJuOwotKwotKyAgYnVpbGRfaWQgPSBidWlsZF9pZF9hZGRy X2dldCAoYXRfZW50cnkpOwotKyAgaWYgKGJ1aWxkX2lkID09IE5VTEwpCi0rICAgIHJldHVybjsK LSsgIGJhY2tfdG8gPSBtYWtlX2NsZWFudXAgKHhmcmVlLCBidWlsZF9pZCk7Ci0rCi0rICAvKiBT WU1GSUxFX09CSkZJTEUgc2hvdWxkIHJlZmVyIHRvIHRoZSBtYWluIGV4ZWN1dGFibGUgKG5vdCBv bmx5IHRvIGl0cwotKyAgICAgc2VwYXJhdGUgZGVidWcgaW5mbyBmaWxlKS4gIGdjYzQ0KyBrZWVw cyAuZWhfZnJhbWUgb25seSBpbiB0aGUgbWFpbgotKyAgICAgZXhlY3V0YWJsZSB3aXRob3V0IGl0 cyBkdXBsaWNhdGUgLmRlYnVnX2ZyYW1lIGluIHRoZSBzZXBhcmF0ZSBkZWJ1ZyBpbmZvCi0rICAg ICBmaWxlIC0gc3VjaCAuZWhfZnJhbWUgd291bGQgbm90IGJlIGZvdW5kIGlmIFNZTUZJTEVfT0JK RklMRSB3b3VsZCByZWZlcgotKyAgICAgZGlyZWN0bHkgdG8gdGhlIHNlcGFyYXRlIGRlYnVnIGlu Zm8gZmlsZS4gICovCi0rCi0rICBleGVjZmlsZW5hbWUgPSBidWlsZF9pZF90b19maWxlbmFtZSAo YnVpbGRfaWQsICZidWlsZF9pZF9maWxlbmFtZSk7Ci0rICBtYWtlX2NsZWFudXAgKHhmcmVlLCBi dWlsZF9pZF9maWxlbmFtZSk7Ci0rCi0rICBpZiAoZXhlY2ZpbGVuYW1lICE9IE5VTEwpCi0rICAg IHsKLSsgICAgICBtYWtlX2NsZWFudXAgKHhmcmVlLCBleGVjZmlsZW5hbWUpOwotKyAgICAgIGV4 ZWNfZmlsZV9hdHRhY2ggKGV4ZWNmaWxlbmFtZSwgZnJvbV90dHkpOwotKyAgICAgIHN5bWJvbF9m aWxlX2FkZF9tYWluIChleGVjZmlsZW5hbWUsCi0rCQkJICAgIHN5bWZpbGVfYWRkX2ZsYWcgKCFm cm9tX3R0eSA/IDAgOiBTWU1GSUxFX1ZFUkJPU0UpKTsKLSsgICAgICBpZiAoc3ltZmlsZV9vYmpm aWxlICE9IE5VTEwpCi0rICAgICAgICBzeW1maWxlX29iamZpbGUtPmZsYWdzIHw9IE9CSkZfQlVJ TERfSURfQ09SRV9MT0FERUQ7Ci0rICAgIH0KLSsgIGVsc2UKLSsgICAgZGVidWdfcHJpbnRfbWlz c2luZyAoXygidGhlIG1haW4gZXhlY3V0YWJsZSBmaWxlIiksIGJ1aWxkX2lkX2ZpbGVuYW1lKTsK LSsKLSsgIGRvX2NsZWFudXBzIChiYWNrX3RvKTsKLSsKLSsgIC8qIE5vIGF1dG9tYXRpYyBTT0xJ Ql9BREQgYXMgdGhlIGxpYnJhcmllcyB3b3VsZCBnZXQgcmVhZCB0d2ljZS4gICovCi0rfQotKwot IC8qIFRoaXMgcm91dGluZSBvcGVucyBhbmQgc2V0cyB1cCB0aGUgY29yZSBmaWxlIGJmZC4gICov Ci0gCi0gc3RhdGljIHZvaWQKLUBAIC00MDIsNiArNDU0LDE0IEBACi0gCXN3aXRjaF90b190aHJl YWQgKHRocmVhZC0+cHRpZCk7Ci0gICAgIH0KLSAKLSsgIC8qIEZpbmQgdGhlIGJ1aWxkX2lkIGlk ZW50aWZpZXJzLiAgSWYgaXQgZ2V0cyBleGVjdXRlZCBhZnRlcgotKyAgICAgUE9TVF9DUkVBVEVf SU5GRVJJT1Igd2Ugd291bGQgY2xhc2ggd2l0aCBhc2tpbmcgdG8gZGlzY2FyZCB0aGUgYWxyZWFk eQotKyAgICAgbG9hZGVkIFZEU08gc3ltYm9scy4gIElmIGl0IGdldHMgZXhlY3V0ZWQgYmVmb3Jl IGJmZF9tYXBfb3Zlcl9zZWN0aW9ucwotKyAgICAgSU5GRVJJT1JfUFRJRCBpcyBzdGlsbCBub3Qg c2V0IGFuZCBsaWJ0aHJlYWRfZGIgaW5pdGlhbGl6YXRpb24gY3Jhc2hlcyBvbgotKyAgICAgUElE ID09IDAgaW4gcHNfcGdsb2JhbF9sb29rdXAuICAqLwotKyAgaWYgKGJ1aWxkX2lkX2NvcmVfbG9h ZHMgIT0gMCkKLSsgICAgYnVpbGRfaWRfbG9jYXRlX2V4ZWMgKGZyb21fdHR5KTsKLSsKLSAgIHBv c3RfY3JlYXRlX2luZmVyaW9yICgmY29yZV9vcHMsIGZyb21fdHR5KTsKLSAKLSAgIC8qIE5vdyBn byB0aHJvdWdoIHRoZSB0YXJnZXQgc3RhY2sgbG9va2luZyBmb3IgdGhyZWFkcyBzaW5jZSB0aGVy ZQotQEAgLTEwNzksNCArMTEzOSwxMSBAQAotICAgaW5pdF9jb3JlX29wcyAoKTsKLSAKLSAgIGFk ZF90YXJnZXRfd2l0aF9jb21wbGV0ZXIgKCZjb3JlX29wcywgZmlsZW5hbWVfY29tcGxldGVyKTsK LSsKLSsgIGFkZF9zZXRzaG93X2Jvb2xlYW5fY21kICgiYnVpbGQtaWQtY29yZS1sb2FkcyIsIGNs YXNzX2ZpbGVzLAotKwkJCSAgICZidWlsZF9pZF9jb3JlX2xvYWRzLCBfKCJcCi0rU2V0IHdoZXRo ZXIgQ09SRS1GSUxFIGxvYWRzIHRoZSBidWlsZC1pZCBhc3NvY2lhdGVkIGZpbGVzIGF1dG9tYXRp Y2FsbHkuIiksIF8oIlwKLStTaG93IHdoZXRoZXIgQ09SRS1GSUxFIGxvYWRzIHRoZSBidWlsZC1p ZCBhc3NvY2lhdGVkIGZpbGVzIGF1dG9tYXRpY2FsbHkuIiksCi0rCQkJICAgTlVMTCwgTlVMTCwg TlVMTCwKLSsJCQkgICAmc2V0bGlzdCwgJnNob3dsaXN0KTsKLSB9Ci1JbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2RvYy9nZGIudGV4aW5mbwotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5 LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDE3LTA0LTIwIDIzOjAwOjM1 LjQxNTU4NDQyNiArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kb2MvZ2RiLnRl eGluZm8JMjAxNy0wNC0yMCAyMzowMDo0My4zNjY2MjkyMjggKzAyMDAKLUBAIC0xODk4Nyw2ICsx ODk4NywyNyBAQAotIAotIEBlbmQgdGFibGUKLSAKLStZb3UgY2FuIGFsc28gYWRqdXN0IHRoZSBj dXJyZW50IHZlcmJvc2l0eSBvZiB0aGUgQGRmbntidWlsZCBpZH0gbG9jYXRpbmcuCi0rCi0rQHRh YmxlIEBjb2RlCi0rCi0rQGtpbmRleCBzZXQgYnVpbGQtaWQtdmVyYm9zZQotK0BpdGVtIHNldCBi dWlsZC1pZC12ZXJib3NlIDAKLStObyBhZGRpdGlvbmFsIG1lc3NhZ2VzIGFyZSBwcmludGVkLgot KwotK0BpdGVtIHNldCBidWlsZC1pZC12ZXJib3NlIDEKLStNaXNzaW5nIHNlcGFyYXRlIGRlYnVn IGZpbGVuYW1lcyBhcmUgcHJpbnRlZC4KLSsKLStAaXRlbSBzZXQgYnVpbGQtaWQtdmVyYm9zZSAy Ci0rTWlzc2luZyBzZXBhcmF0ZSBkZWJ1ZyBmaWxlbmFtZXMgYXJlIHByaW50ZWQgYW5kIGFsc28g YWxsIHRoZSBwYXJzaW5nIG9mIHRoZQotK2JpbmFyaWVzIHRvIGZpbmQgdGhlaXIgQGRmbntidWls ZCBpZH0gY29udGVudCBpcyBwcmludGVkLgotKwotK0BraW5kZXggc2hvdyBidWlsZC1pZC12ZXJi b3NlCi0rQGl0ZW0gc2hvdyBidWlsZC1pZC12ZXJib3NlCi0rU2hvdyB0aGUgY3VycmVudCB2ZXJi b3NpdHkgdmFsdWUgZm9yIHRoZSBAZGZue2J1aWxkIGlkfSBjb250ZW50IGxvY2F0aW5nLgotKwot K0BlbmQgdGFibGUKLSsKLSBAY2luZGV4IEBjb2Rley5nbnVfZGVidWdsaW5rfSBzZWN0aW9ucwot IEBjaW5kZXggZGVidWcgbGluayBzZWN0aW9ucwotIEEgZGVidWcgbGluayBpcyBhIHNwZWNpYWwg c2VjdGlvbiBvZiB0aGUgZXhlY3V0YWJsZSBmaWxlIG5hbWVkCi1JbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL3NvbGliLXN2cjQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIw MTcwNDIwLm9yaWcvZ2RiL3NvbGliLXN2cjQuYwkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQy NiArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zb2xpYi1zdnI0LmMJMjAxNy0w NC0yMCAyMzowMDo0My4zNjc2MjkyMzQgKzAyMDAKLUBAIC00NSw2ICs0NSw3IEBACi0gI2luY2x1 ZGUgImF1eHYuaCIKLSAjaW5jbHVkZSAiZ2RiX2JmZC5oIgotICNpbmNsdWRlICJwcm9iZS5oIgot KyNpbmNsdWRlICJidWlsZC1pZC5oIgotIAotIHN0YXRpYyBzdHJ1Y3QgbGlua19tYXBfb2Zmc2V0 cyAqc3ZyNF9mZXRjaF9saW5rX21hcF9vZmZzZXRzICh2b2lkKTsKLSBzdGF0aWMgaW50IHN2cjRf aGF2ZV9saW5rX21hcF9vZmZzZXRzICh2b2lkKTsKLUBAIC0xNDIwLDkgKzE0MjEsNTIgQEAKLSAJ ICBjb250aW51ZTsKLSAJfQotIAotLSAgICAgIHN0cm5jcHkgKG5ld29iai0+c29fbmFtZSwgYnVm ZmVyLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKLS0gICAgICBuZXdvYmotPnNvX25hbWVb U09fTkFNRV9NQVhfUEFUSF9TSVpFIC0gMV0gPSAnXDAnOwotLSAgICAgIHN0cmNweSAobmV3b2Jq LT5zb19vcmlnaW5hbF9uYW1lLCBuZXdvYmotPnNvX25hbWUpOwotKyAgICAgIHsKLSsJc3RydWN0 IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQ7Ci0rCi0rCXN0cm5jcHkgKG5ld29iai0+c29fb3JpZ2lu YWxfbmFtZSwgYnVmZmVyLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKLSsJbmV3b2JqLT5z b19vcmlnaW5hbF9uYW1lW1NPX05BTUVfTUFYX1BBVEhfU0laRSAtIDFdID0gJ1wwJzsKLSsJLyog TWF5IGdldCBvdmVyd3JpdHRlbiBiZWxvdy4gICovCi0rCXN0cmNweSAobmV3b2JqLT5zb19uYW1l LCBuZXdvYmotPnNvX29yaWdpbmFsX25hbWUpOwotKwotKwlidWlsZF9pZCA9IGJ1aWxkX2lkX2Fk ZHJfZ2V0IChuZXdvYmotPmxtX2luZm8tPmxfbGQpOwotKwlpZiAoYnVpbGRfaWQgIT0gTlVMTCkK LSsJICB7Ci0rCSAgICBjaGFyICpuYW1lLCAqYnVpbGRfaWRfZmlsZW5hbWU7Ci0rCi0rCSAgICAv KiBNaXNzaW5nIHRoZSBidWlsZC1pZCBtYXRjaGluZyBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGZpbGUK LSsJICAgICAgIHdvdWxkIGJlIGhhbmRsZWQgd2hpbGUgU09fTkFNRSBnZXRzIGxvYWRlZC4gICov Ci0rCSAgICBuYW1lID0gYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGJ1aWxkX2lkLCAmYnVpbGRfaWRf ZmlsZW5hbWUpOwotKwkgICAgaWYgKG5hbWUgIT0gTlVMTCkKLSsJICAgICAgewotKwkJc3RybmNw eSAobmV3b2JqLT5zb19uYW1lLCBuYW1lLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKLSsJ CW5ld29iai0+c29fbmFtZVtTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxXSA9ICdcMCc7Ci0rCQl4 ZnJlZSAobmFtZSk7Ci0rCSAgICAgIH0KLSsJICAgIGVsc2UKLSsJICAgICAgewotKwkJZGVidWdf cHJpbnRfbWlzc2luZyAobmV3b2JqLT5zb19uYW1lLCBidWlsZF9pZF9maWxlbmFtZSk7Ci0rCi0r CQkvKiBJbiB0aGUgY2FzZSB0aGUgbWFpbiBleGVjdXRhYmxlIHdhcyBmb3VuZCBhY2NvcmRpbmcg dG8KLSsJCSAgIGl0cyBidWlsZC1pZCAoZnJvbSBhIGNvcmUgZmlsZSkgcHJldmVudCBsb2FkaW5n Ci0rCQkgICBhIGRpZmZlcmVudCBidWlsZCBvZiBhIGxpYnJhcnkgd2l0aCBhY2NpZGVudGFsbHkg dGhlCi0rCQkgICBzYW1lIFNPX05BTUUuCi0rCi0rCQkgICBJdCBzdXBwcmVzc2VzIGJvZ3VzIGJh Y2t0cmFjZXMgKGFuZCBwcmludHMgIj8/IiB0aGVyZQotKwkJICAgaW5zdGVhZCkgaWYgdGhlIG9u LWRpc2sgZmlsZXMgbm8gbG9uZ2VyIG1hdGNoIHRoZQotKwkJICAgcnVubmluZyBwcm9ncmFtIHZl cnNpb24uICAqLwotKwotKwkJaWYgKHN5bWZpbGVfb2JqZmlsZSAhPSBOVUxMCi0rCQkgICAgJiYg KHN5bWZpbGVfb2JqZmlsZS0+ZmxhZ3MKLSsJCQkmIE9CSkZfQlVJTERfSURfQ09SRV9MT0FERUQp ICE9IDApCi0rCQkgIG5ld29iai0+c29fbmFtZVswXSA9IDA7Ci0rCSAgICAgIH0KLSsKLSsJICAg IHhmcmVlIChidWlsZF9pZF9maWxlbmFtZSk7Ci0rCSAgICB4ZnJlZSAoYnVpbGRfaWQpOwotKwkg IH0KLSsgICAgICB9Ci0rCi0gICAgICAgeGZyZWUgKGJ1ZmZlcik7Ci0gCi0gICAgICAgLyogSWYg dGhpcyBlbnRyeSBoYXMgbm8gbmFtZSwgb3IgaXRzIG5hbWUgbWF0Y2hlcyB0aGUgbmFtZQotSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9lbGZyZWFkLmMKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9lbGZyZWFkLmMJMjAxNy0wNC0yMCAyMzowMDoz NS40MTU1ODQ0MjYgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZWxmcmVhZC5j CTIwMTctMDQtMjAgMjM6MDA6NDMuMzY3NjI5MjM0ICswMjAwCi1AQCAtMTI2NSw4ICsxMjY1LDkg QEAKLSAJICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZSA9PSBOVUxMCi0gCSAg ICYmIG9iamZpbGUtPnNlcGFyYXRlX2RlYnVnX29iamZpbGVfYmFja2xpbmsgPT0gTlVMTCkKLSAg ICAgewotKyAgICAgIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+IGJ1aWxkX2lkX2ZpbGVu YW1lOwotICAgICAgIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNoYXI+IGRlYnVnZmlsZQotLQko ZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUpKTsKLSsJKGZpbmRf c2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChvYmpmaWxlLCAmYnVpbGRfaWRfZmlsZW5h bWUpKTsKLSAKLSAgICAgICBpZiAoZGVidWdmaWxlID09IE5VTEwpCi0gCWRlYnVnZmlsZS5yZXNl dCAoZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2RlYnVnbGluayAob2JqZmlsZSkpOwotQEAg LTEyNzgsNiArMTI3OSwxMCBAQAotIAkgIHN5bWJvbF9maWxlX2FkZF9zZXBhcmF0ZSAoYWJmZC5n ZXQgKCksIGRlYnVnZmlsZS5nZXQgKCksCi0gCQkJCSAgICBzeW1maWxlX2ZsYWdzLCBvYmpmaWxl KTsKLSAJfQotKyAgICAgIC8qIENoZWNrIGlmIGFueSBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGhhcyBi ZWVuIGV4dHJhY3RlZCBvdXQuICAqLwotKyAgICAgIGVsc2UgaWYgKGJmZF9nZXRfc2VjdGlvbl9i eV9uYW1lIChvYmpmaWxlLT5vYmZkLCAiLmdudV9kZWJ1Z2xpbmsiKQotKwkgICAgICAgIT0gTlVM TCkKLSsJZGVidWdfcHJpbnRfbWlzc2luZyAob2JqZmlsZV9uYW1lIChvYmpmaWxlKSwgYnVpbGRf aWRfZmlsZW5hbWUuZ2V0ICgpKTsKLSAgICAgfQotIH0KLSAKLUluZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvc3ltZmlsZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvc3ltZmlsZS5oCTIwMTctMDQtMjAgMjM6MDA6MzUuNDE1NTg0NDI2ICswMjAw Ci0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3N5bWZpbGUuaAkyMDE3LTA0LTIwIDIzOjAw OjQzLjM2ODYyOTI0MCArMDIwMAotQEAgLTU2Nyw2ICs1NjcsMTAgQEAKLSB2b2lkIG1hcF9zeW1i b2xfZmlsZW5hbWVzIChzeW1ib2xfZmlsZW5hbWVfZnR5cGUgKmZ1biwgdm9pZCAqZGF0YSwKLSAJ CQkgICBpbnQgbmVlZF9mdWxsbmFtZSk7Ci0gCi0rLyogYnVpbGQtaWQgc3VwcG9ydC4gICovCi0r ZXh0ZXJuIHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkX2FkZHJfZ2V0IChDT1JFX0FERFIg YWRkcik7Ci0rZXh0ZXJuIHZvaWQgZGVidWdfcHJpbnRfbWlzc2luZyAoY29uc3QgY2hhciAqYmlu YXJ5LCBjb25zdCBjaGFyICpkZWJ1Zyk7Ci0rCi0gLyogRnJvbSBkd2FyZjJyZWFkLmMgKi8KLSAK LSAvKiBOYW1lcyBmb3IgYSBkd2FyZjIgZGVidWdnaW5nIHNlY3Rpb24uICBUaGUgZmllbGQgTk9S TUFMIGlzIHRoZSBub3JtYWwKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1 aXRlL2xpYi9nZGIuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3Jp Zy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTctMDQtMjAgMjM6MDA6MzUuNDE1NTg0NDI2 ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4 cAkyMDE3LTA0LTIwIDIzOjAwOjQzLjM2OTYyOTI0NSArMDIwMAotQEAgLTE2NDYsNiArMTY0Niwx NiBAQAotIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAwLiIKLSAJfQot ICAgICB9Ci0rICAgICMgVHVybiBvZmYgdGhlIG1pc3Npbmcgd2FybmluZ3MgYXMgdGhlIHRlc3Rz dWl0ZSBkb2VzIG5vdCBleHBlY3QgaXQuCi0rICAgIHNlbmRfZ2RiICJzZXQgYnVpbGQtaWQtdmVy Ym9zZSAwXG4iCi0rICAgIGdkYl9leHBlY3QgMTAgewotKwktcmUgIiRnZGJfcHJvbXB0ICQiIHsK LSsJICAgIHZlcmJvc2UgIkRpc2FibGVkIHRoZSBtaXNzaW5nIGRlYnVnIGluZm9zIHdhcm5pbmdz LiIgMgotKwl9Ci0rCXRpbWVvdXQgewotKwkgICAgd2FybmluZyAiQ291bGQgbm90IGRpc2FibGUg dGhlIG1pc3NpbmcgZGVidWcgaW5mb3Mgd2FybmluZ3MuLiIKLSsJfQotKyAgICB9Ci0gICAgIHJl dHVybiAwCi0gfQotIAotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUv bGliL21pLXN1cHBvcnQuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAu b3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDE3LTA0LTIwIDIzOjAwOjM1 LjQxNTU4NDQyNiArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUv bGliL21pLXN1cHBvcnQuZXhwCTIwMTctMDQtMjAgMjM6MDA6NDMuMzY5NjI5MjQ1ICswMjAwCi1A QCAtMzA5LDYgKzMwOSwxNiBAQAotIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0 aCB0byAwLiIKLSAJfQotICAgICB9Ci0rICAgICMgVHVybiBvZmYgdGhlIG1pc3Npbmcgd2Fybmlu Z3MgYXMgdGhlIHRlc3RzdWl0ZSBkb2VzIG5vdCBleHBlY3QgaXQuCi0rICAgIHNlbmRfZ2RiICIx OTAtZ2RiLXNldCBidWlsZC1pZC12ZXJib3NlIDBcbiIKLSsgICAgZ2RiX2V4cGVjdCAxMCB7Ci0r CS1yZSAiLioxOTAtZ2RiLXNldCBidWlsZC1pZC12ZXJib3NlIDBcclxuMTkwXFxcXmRvbmVcclxu JG1pX2dkYl9wcm9tcHQkIiB7Ci0rCSAgICB2ZXJib3NlICJEaXNhYmxlZCB0aGUgbWlzc2luZyBk ZWJ1ZyBpbmZvcyB3YXJuaW5ncy4iIDIKLSsJfQotKwl0aW1lb3V0IHsKLSsJICAgIHdhcm5pbmcg IkNvdWxkIG5vdCBkaXNhYmxlIHRoZSBtaXNzaW5nIGRlYnVnIGluZm9zIHdhcm5pbmdzLi4iCi0r CX0KLSsgICAgfQotIAotICAgICBpZiB7ICRzZXBhcmF0ZV9pbmZlcmlvcl9wdHkgfSB7Ci0gCW1p X2NyZWF0ZV9pbmZlcmlvcl9wdHkKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL25ldy11aS1wZW5kaW5nLWlucHV0LmV4cAotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9uZXctdWkt cGVuZGluZy1pbnB1dC5leHAJMjAxNy0wNC0yMCAyMzowMDozNS40MTU1ODQ0MjYgKzAyMDAKLSsr KyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL25ldy11aS1wZW5k aW5nLWlucHV0LmV4cAkyMDE3LTA0LTIwIDIzOjAwOjQzLjM2OTYyOTI0NSArMDIwMAotQEAgLTYy LDYgKzYyLDcgQEAKLSAgICAgc2V0IG9wdGlvbnMgIiIKLSAgICAgYXBwZW5kIG9wdGlvbnMgIiAt aWV4IFwic2V0IGhlaWdodCAwXCIiCi0gICAgIGFwcGVuZCBvcHRpb25zICIgLWlleCBcInNldCB3 aWR0aCAwXCIiCi0rICAgIGFwcGVuZCBvcHRpb25zICIgLWlleCBcInNldCBidWlsZC1pZC12ZXJi b3NlIDBcIiIKLSAgICAgYXBwZW5kIG9wdGlvbnMgIiAtaWV4IFwibmV3LXVpIGNvbnNvbGUgJGV4 dHJhX3R0eV9uYW1lXCIiCi0gICAgIGFwcGVuZCBvcHRpb25zICIgLWV4IFwiYiAkYnBsaW5lXCIi Ci0gICAgIGFwcGVuZCBvcHRpb25zICIgLWV4IFwicnVuXCIiCi1JbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL29iamZpbGVzLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3 MDQyMC5vcmlnL2dkYi9vYmpmaWxlcy5oCTIwMTctMDQtMjAgMjM6MDA6MzUuNDE1NTg0NDI2ICsw MjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL29iamZpbGVzLmgJMjAxNy0wNC0yMCAy MzowMDo0My4zNzA2MjkyNTEgKzAyMDAKLUBAIC00NDQsNiArNDQ0LDEwIEBACi0gICBodGFiX3Qg c3RhdGljX2xpbmtzOwotIH07Ci0gCi0rLyogVGhpcyBmaWxlIHdhcyBsb2FkZWQgYWNjb3JkaW5n IHRvIHRoZSBCVUlMRF9JRF9DT1JFX0xPQURTIHJ1bGVzLiAgKi8KLSsKLSsjZGVmaW5lIE9CSkZf QlVJTERfSURfQ09SRV9MT0FERUQgc3RhdGljX2Nhc3Q8ZW51bSBvYmpmaWxlX2ZsYWc+KDEgPDwg MTIpCi0rCi0gLyogRGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgZGVmaW5lZCBpbiBvYmpmaWxl cy5jICovCi0gCi0gZXh0ZXJuIHN0cnVjdCBvYmpmaWxlICphbGxvY2F0ZV9vYmpmaWxlIChiZmQg KiwgY29uc3QgY2hhciAqbmFtZSwKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5Ljkw LjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAJMjAxNy0w NC0yMCAyMzowMDozNS40MTU1ODQ0MjYgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAkyMDE3LTA0LTIwIDIzOjAwOjQzLjM3 MDYyOTI1MSArMDIwMAotQEAgLTI5MywzICsyOTMsMzMgQEAKLSAJcGFzcyAkdGVzdAotICAgICB9 Ci0gfQotKwotKwotKyMgVGVzdCBhdXRvLWxvYWRpbmcgb2YgYmluYXJ5IGZpbGVzIHRocm91Z2gg YnVpbGQtaWQgZnJvbSB0aGUgY29yZSBmaWxlLgotK3NldCBidWlsZGlkIFtidWlsZF9pZF9kZWJ1 Z19maWxlbmFtZV9nZXQgJGJpbmZpbGVdCi0rc2V0IHdob2xldGVzdCAiYmluZmlsZSBmb3VuZCBi eSBidWlsZC1pZCIKLStpZiB7JGJ1aWxkaWQgPT0gIiJ9IHsKLSsgICAgdW50ZXN0ZWQgIiR3aG9s ZXRlc3QgKGJpbmFyeSBoYXMgbm8gYnVpbGQtaWQpIgotK30gZWxzZSB7Ci0rICAgIGdkYl9leGl0 Ci0rICAgIGdkYl9zdGFydAotKwotKyAgICByZWdzdWIge1wuZGVidWckfSAkYnVpbGRpZCB7fSBi dWlsZGlkCi0rICAgIHNldCBkZWJ1Z2RpciBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHt0ZXN0Zmls ZX0tZGVidWdkaXJdCi0rICAgIGZpbGUgZGVsZXRlIC1mb3JjZSAtLSAkZGVidWdkaXIKLSsgICAg ZmlsZSBta2RpciAkZGVidWdkaXIvW2ZpbGUgZGlybmFtZSAkYnVpbGRpZF0KLSsgICAgZmlsZSBj b3B5ICRiaW5maWxlICRkZWJ1Z2Rpci8kYnVpbGRpZAotKwotKyAgICBzZXQgdGVzdCAic2hvdyBk ZWJ1Zy1maWxlLWRpcmVjdG9yeSIKLSsgICAgZ2RiX3Rlc3RfbXVsdGlwbGUgJHRlc3QgJHRlc3Qg ewotKwktcmUgIlRoZSBkaXJlY3Rvcnkgd2hlcmUgc2VwYXJhdGUgZGVidWcgc3ltYm9scyBhcmUg c2VhcmNoZWQgZm9yIGlzIFwiKC4qKVwiXFwuXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsJICAgIHNl dCBkZWJ1Z2Rpcl9vcmlnICRleHBlY3Rfb3V0KDEsc3RyaW5nKQotKwkgICAgcGFzcyAkdGVzdAot Kwl9Ci0rICAgIH0KLSsgICAgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgZGVidWctZmlsZS1kaXJl Y3RvcnkgJGRlYnVnZGlyOiRkZWJ1Z2Rpcl9vcmlnIiAic2V0IGRlYnVnLWZpbGUtZGlyZWN0b3J5 IgotKyAgICBnZGJfdGVzdCAic2hvdyBidWlsZC1pZC1jb3JlLWxvYWRzIiB7V2hldGhlciBDT1JF LUZJTEUgbG9hZHMgdGhlIGJ1aWxkLWlkIGFzc29jaWF0ZWQgZmlsZXMgYXV0b21hdGljYWxseSBp cyBvblwufQotKyAgICBnZGJfdGVzdCAiY29yZS1maWxlICRjb3JlZmlsZSIgIlxyXG5Qcm9ncmFt IHRlcm1pbmF0ZWQgd2l0aCAuKiIgImNvcmUtZmlsZSB3aXRob3V0IGV4ZWN1dGFibGUiCi0rICAg IGdkYl90ZXN0ICJpbmZvIGZpbGVzIiAiTG9jYWwgZXhlYyBmaWxlOlxyXG5cWyBcdFxdKmBbc3Ry aW5nX3RvX3JlZ2V4cCAkZGVidWdkaXIvJGJ1aWxkaWRdJywgZmlsZSB0eXBlIC4qIgotKyAgICBw YXNzICR3aG9sZXRlc3QKLSt9Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2J1aWxk LWlkLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9idWls ZC1pZC5jCTIwMTctMDQtMjAgMjM6MDA6MzUuNDE1NTg0NDI2ICswMjAwCi0rKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2J1aWxkLWlkLmMJMjAxNy0wNC0yMCAyMzowMzowMC4wNjAzOTk0NzQg KzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCitpbmRl eCA0YjJiNjNlY2I0Li4xMWQzNzc0ZDllIDEwMDY0NAorLS0tIGEvZ2RiL2J1aWxkLWlkLmMKKysr KyBiL2dkYi9idWlsZC1pZC5jCiBAQCAtMjYsMTEgKzI2LDY3IEBACiAgI2luY2x1ZGUgIm9iamZp bGVzLmgiCiAgI2luY2x1ZGUgImZpbGVuYW1lcy5oIgpAQCAtNDIzLDcgKzk4LDcgQEAgSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9idWlsZC1pZC5jCiAgewogICAgaWYgKCFiZmRfY2hl Y2tfZm9ybWF0IChhYmZkLCBiZmRfb2JqZWN0KSkKICAgICAgcmV0dXJuIE5VTEw7Ci1AQCAtNDIs NiArOTgsMzQ4IEBACitAQCAtNDIsNiArOTgsMzQ4IEBAIGJ1aWxkX2lkX2JmZF9nZXQgKGJmZCAq YWJmZCkKICAgIHJldHVybiBOVUxMOwogIH0KICAKQEAgLTc3Miw3ICs0NDcsNyBAQCBJbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2J1aWxkLWlkLmMKICAvKiBTZWUgYnVpbGQtaWQuaC4g ICovCiAgCiAgaW50Ci1AQCAtNTAsNyArNDQ4LDcgQEAKK0BAIC01MCw3ICs0NDgsNyBAQCBidWls ZF9pZF92ZXJpZnkgKGJmZCAqYWJmZCwgc2l6ZV90IGNoZWNrX2xlbiwgY29uc3QgYmZkX2J5dGUg KmNoZWNrKQogICAgY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqZm91bmQ7CiAgICBpbnQgcmV0 dmFsID0gMDsKICAKQEAgLTc4MSw3ICs0NTYsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2J1aWxkLWlkLmMKICAKICAgIGlmIChmb3VuZCA9PSBOVUxMKQogICAgICB3YXJuaW5n IChfKCJGaWxlIFwiJXNcIiBoYXMgbm8gYnVpbGQtaWQsIGZpbGUgc2tpcHBlZCIpLAotQEAgLTY1 LDIzICs0NjMsNTQgQEAKK0BAIC02NSwyMyArNDYzLDU0IEBAIGJ1aWxkX2lkX3ZlcmlmeSAoYmZk ICphYmZkLCBzaXplX3QgY2hlY2tfbGVuLCBjb25zdCBiZmRfYnl0ZSAqY2hlY2spCiAgICByZXR1 cm4gcmV0dmFsOwogIH0KICAKQEAgLTg0Myw3ICs1MTgsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL2J1aWxkLWlkLmMKICAKICAgIC8qIEtlZXAgYmFja3dhcmQgY29tcGF0aWJp bGl0eSBzbyB0aGF0IERFQlVHX0ZJTEVfRElSRUNUT1JZIGJlaW5nICIiIHdpbGwKICAgICAgIGNh dXNlICIvLmJ1aWxkLWlkLy4uLiIgbG9va3Vwcy4gICovCi1AQCAtOTQsOSArNTIzLDEyIEBACitA QCAtOTQsOSArNTIzLDEyIEBAIGJ1aWxkX2lkX3RvX2RlYnVnX2JmZCAoc2l6ZV90IGJ1aWxkX2lk X2xlbiwgY29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lkKQogICAgICAgIHNpemVfdCBkZWJ1Z2Rpcl9s ZW4gPSBzdHJsZW4gKGRlYnVnZGlyKTsKICAgICAgICBjb25zdCBnZGJfYnl0ZSAqZGF0YSA9IGJ1 aWxkX2lkOwogICAgICAgIHNpemVfdCBzaXplID0gYnVpbGRfaWRfbGVuOwpAQCAtODU3LDE4ICs1 MzIsMjIgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9idWlsZC1pZC5jCiAgCiAg ICAgICAgbWVtY3B5IChsaW5rLCBkZWJ1Z2RpciwgZGVidWdkaXJfbGVuKTsKICAgICAgICBzID0g JmxpbmtbZGVidWdkaXJfbGVuXTsKLUBAIC0xMTAsNDUgKzU0MiwyOTAgQEAKK0BAIC0xMTAsNTIg KzU0MiwyOTkgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChzaXplX3QgYnVpbGRfaWRfbGVuLCBj b25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQpCiAgCSpzKysgPSAnLyc7CiAgICAgICAgd2hpbGUgKHNp emUtLSA+IDApCiAgCXMgKz0gc3ByaW50ZiAocywgIiUwMngiLCAodW5zaWduZWQpICpkYXRhKysp OwogLSAgICAgIHN0cmNweSAocywgIi5kZWJ1ZyIpOwotKyAgICAgIGZvciAoc2Vxbm8gPSAwOzsg c2Vxbm8rKykKLSsJewotKwkgIGNoYXIgKnMyOworIAorICAgICAgIGlmIChzZXBhcmF0ZV9kZWJ1 Z19maWxlX2RlYnVnKQorIAlwcmludGZfdW5maWx0ZXJlZCAoXygiICBUcnlpbmcgJXNcbiIpLCBs aW5rKTsKICAKIC0gICAgICAvKiBscmVhbHBhdGgoKSBpcyBleHBlbnNpdmUgZXZlbiBmb3IgdGhl IHVzdWFsbHkgbm9uLWV4aXN0ZW50IGZpbGVzLiAgKi8KIC0gICAgICBpZiAoYWNjZXNzIChsaW5r LCBGX09LKSA9PSAwKQogLQlmaWxlbmFtZSA9IGxyZWFscGF0aCAobGluayk7CisrICAgICAgZm9y IChzZXFubyA9IDA7OyBzZXFubysrKQorKwl7CisrCSAgY2hhciAqczI7CisrCiArCSAgaWYgKHNl cW5vKQogKwkgICAgewogKwkgICAgICAvKiBUaGVyZSBjYW4gYmUgbXVsdGlwbGUgYnVpbGQtaWQg c3ltbGlua3MgcG9pbnRpbmcgdG8gcmVhbCBmaWxlcwpAQCAtOTEwLDI1ICs1ODksMTcgQEAgSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9idWlsZC1pZC5jCiArCiArCSAgaWYgKGFiZmQg PT0gTlVMTCkKICsJICAgIGNvbnRpbnVlOwotIAotLSAgICAgIGlmIChmaWxlbmFtZSA9PSBOVUxM KQotLQljb250aW51ZTsKKysKICsJICBpZiAoYnVpbGRfaWRfdmVyaWZ5IChhYmZkLmdldCgpLCBi dWlsZF9pZF9sZW4sIGJ1aWxkX2lkKSkKICsJICAgIGJyZWFrOwotIAotLSAgICAgIC8qIFdlIGV4 cGVjdCB0byBiZSBzaWxlbnQgb24gdGhlIG5vbi1leGlzdGluZyBmaWxlcy4gICovCi0tICAgICAg aW5uZXIgPSBtYWtlX2NsZWFudXAgKHhmcmVlLCBmaWxlbmFtZSk7Ci0tICAgICAgYWJmZCA9IGdk Yl9iZmRfb3BlbiAoZmlsZW5hbWUsIGdudXRhcmdldCwgLTEpOwotLSAgICAgIGRvX2NsZWFudXBz IChpbm5lcik7CisrCiArCSAgYWJmZC5yZWxlYXNlICgpOwotIAotLSAgICAgIGlmIChhYmZkID09 IE5VTEwpCi0tCWNvbnRpbnVlOworKwogKwkgIGZpbGVuYW1lID0gTlVMTDsKICsJfQogIAotLSAg ICAgIGlmIChidWlsZF9pZF92ZXJpZnkgKGFiZmQuZ2V0KCksIGJ1aWxkX2lkX2xlbiwgYnVpbGRf aWQpKQotLQlicmVhazsKKy0gICAgICBpZiAoZmlsZW5hbWUgPT0gTlVMTCkKKy0JY29udGludWU7 CiArICAgICAgaWYgKGZpbGVuYW1lICE9IE5VTEwpCiArCXsKICsJICAvKiBMSU5LX0FMTCBpcyBu b3QgdXNlZCBiZWxvdyBpbiB0aGlzIG5vbi1OVUxMIEZJTEVOQU1FIGNhc2UuICAqLwpAQCAtOTM2 LDIyICs2MDcsMzAgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9idWlsZC1pZC5j CiArCSAgYnJlYWs7CiArCX0KICAKLS0gICAgICBhYmZkLnJlbGVhc2UgKCk7CistICAgICAgLyog V2UgZXhwZWN0IHRvIGJlIHNpbGVudCBvbiB0aGUgbm9uLWV4aXN0aW5nIGZpbGVzLiAgKi8KKy0g ICAgICBpbm5lciA9IG1ha2VfY2xlYW51cCAoeGZyZWUsIGZpbGVuYW1lKTsKKy0gICAgICBhYmZk ID0gZ2RiX2JmZF9vcGVuIChmaWxlbmFtZSwgZ251dGFyZ2V0LCAtMSk7CistICAgICAgZG9fY2xl YW51cHMgKGlubmVyKTsKICsgICAgICAvKiBJZiB0aGUgc3ltbGluayBoYXMgdGFyZ2V0IHJlcXVl c3QgdG8gaW5zdGFsbCB0aGUgdGFyZ2V0LgogKyAgICAgICAgIEJBU0UtZGVidWdpbmZvLnJwbSBj b250YWlucyB0aGUgc3ltbGluayBidXQgQkFTRS5ycG0gbWF5IGJlIG1pc3NpbmcuCiArICAgICAg ICAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD05ODExNTQgICov CiArICAgICAgbGluazBfcmVzb2x2ZWQgPSBsaW5rX3Jlc29sdmUgKGxpbmswLCAwKTsKICsgICAg ICB4ZnJlZSAobGluazApOwotKworIAorLSAgICAgIGlmIChhYmZkID09IE5VTEwpCistCWNvbnRp bnVlOwogKyAgICAgIGlmIChsaW5rX2FsbCA9PSBOVUxMKQogKwlsaW5rX2FsbCA9IGxpbmswX3Jl c29sdmVkOwogKyAgICAgIGVsc2UKICsJewogKwkgIHNpemVfdCBsZW5fb3JpZyA9IHN0cmxlbiAo bGlua19hbGwpOwotKworIAorLSAgICAgIGlmIChidWlsZF9pZF92ZXJpZnkgKGFiZmQuZ2V0KCks IGJ1aWxkX2lkX2xlbiwgYnVpbGRfaWQpKQorLQlicmVhazsKICsJICBsaW5rX2FsbCA9IChjaGFy ICopIHhyZWFsbG9jIChsaW5rX2FsbCwKICsJCQkJCWxlbl9vcmlnICsgMSArIHN0cmxlbiAobGlu azBfcmVzb2x2ZWQpICsgMSk7Ci0rCisgCistICAgICAgYWJmZC5yZWxlYXNlICgpOwogKwkgIC8q IFVzZSB3aGl0ZXNwYWNlIGluc3RlYWQgb2YgRElSTkFNRV9TRVBBUkFUT1IgdG8gYmUgY29tcGF0 aWJsZSB3aXRoCiArCSAgICAgaXRzIHBvc3NpYmxlIHVzZSBhcyBhbiBhcmd1bWVudCBmb3IgaW5z dGFsbGF0aW9uIGNvbW1hbmQuICAqLwogKwkgIGxpbmtfYWxsW2xlbl9vcmlnXSA9ICcgJzsKQEAg LTExNDgsNiArODI3LDEwIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYnVpbGQt aWQuYwogKyAgYnVpbGRfaWQgPSBidWlsZF9pZF9iZmRfc2hkcl9nZXQgKG9iamZpbGUtPm9iZmQp OwogICAgaWYgKGJ1aWxkX2lkICE9IE5VTEwpCiAgICAgIHsKKyAgICAgICBpZiAoc2VwYXJhdGVf ZGVidWdfZmlsZV9kZWJ1ZykKKyAJcHJpbnRmX3VuZmlsdGVyZWQgKF8oIlxuTG9va2luZyBmb3Ig c2VwYXJhdGUgZGVidWcgaW5mbyAoYnVpbGQtaWQpIGZvciAiCisgCQkJICAgICAiJXNcbiIpLCBv YmpmaWxlX25hbWUgKG9iamZpbGUpKTsKKyAKICsgICAgICBjaGFyICpidWlsZF9pZF9maWxlbmFt ZV9jc3RyID0gTlVMTDsKICAgICAgICBnZGJfYmZkX3JlZl9wdHIgYWJmZCAoYnVpbGRfaWRfdG9f ZGVidWdfYmZkIChidWlsZF9pZC0+c2l6ZSwKIC0JCQkJCQkgICBidWlsZF9pZC0+ZGF0YSkpOwpA QCAtMTE2MywxMCArODQ2LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYnVp bGQtaWQuYwogKwkgICAgICBidWlsZF9pZF9maWxlbmFtZV9jc3RyID0gTlVMTDsKICsJICAgIH0K ICsJfQorKwogICAgICAgIC8qIFByZXZlbnQgbG9vcGluZyBvbiBhIHN0cmlwcGVkIC5kZWJ1ZyBm aWxlLiAgKi8KICAgICAgICBpZiAoYWJmZCAhPSBOVUxMCiAgCSAgJiYgZmlsZW5hbWVfY21wIChi ZmRfZ2V0X2ZpbGVuYW1lIChhYmZkLmdldCAoKSksCi1AQCAtMTYwLDMgKzgzNywyMSBAQAorQEAg LTE2NywzICs4NDYsMjEgQEAgZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKHN0 cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogICAgICB9CiAgICByZXR1cm4gTlVMTDsKICB9CkBAIC0x MTg2LDUyICs4NzAsMTk0IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYnVpbGQt aWQuYwogKwkJCSAgICBzaG93X2J1aWxkX2lkX3ZlcmJvc2UsCiArCQkJICAgICZzZXRsaXN0LCAm c2hvd2xpc3QpOwogKwotKyAgb2JzZXJ2ZXJfYXR0YWNoX2V4ZWN1dGFibGVfY2hhbmdlZCAoZGVi dWdfcHJpbnRfZXhlY3V0YWJsZV9jaGFuZ2VkKTsKKysgIG9ic2VydmVyX2F0dGFjaF9leGVjdXRh YmxlX2NoYW5nZWQgKGRlYnVnX3ByaW50X2V4ZWN1dGFibGVfY2hhbmdlZCk7CisrfQorZGlmZiAt LWdpdCBhL2dkYi9idWlsZC1pZC5oIGIvZ2RiL2J1aWxkLWlkLmgKK2luZGV4IDEzN2Q5ZTE4YzUu LmM5MDQ3MmQ2M2EgMTAwNjQ0CistLS0gYS9nZGIvYnVpbGQtaWQuaAorKysrIGIvZ2RiL2J1aWxk LWlkLmgKK0BAIC0yMiw5ICsyMiwxMCBAQAorIAorICNpbmNsdWRlICJnZGJfYmZkLmgiCisgCist LyogTG9jYXRlIE5UX0dOVV9CVUlMRF9JRCBmcm9tIEFCRkQgYW5kIHJldHVybiBpdHMgY29udGVu dC4gICovCisrLyogU2VwYXJhdGUgZGVidWdpbmZvIGZpbGVzIGhhdmUgY29ycnVwdGVkIFBIRFIg YnV0IFNIRFIgaXMgY29ycmVjdCB0aGVyZS4KKysgICBMb2NhdGUgTlRfR05VX0JVSUxEX0lEIGZy b20gQUJGRCBhbmQgcmV0dXJuIGl0cyBjb250ZW50LiAgKi8KKyAKKy1leHRlcm4gY29uc3Qgc3Ry dWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKTsKKytleHRlcm4g Y29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWRfYmZkX3NoZHJfZ2V0IChiZmQgKmFi ZmQpOworIAorIC8qIFJldHVybiB0cnVlIGlmIEFCRkQgaGFzIE5UX0dOVV9CVUlMRF9JRCBtYXRj aGluZyB0aGUgQ0hFQ0sgdmFsdWUuCisgICAgT3RoZXJ3aXNlLCBpc3N1ZSBhIHdhcm5pbmcgYW5k IHJldHVybiBmYWxzZS4gICovCitAQCAtMzgsMTMgKzM5LDE5IEBAIGV4dGVybiBpbnQgYnVpbGRf aWRfdmVyaWZ5IChiZmQgKmFiZmQsCisgICAgdGhlIGNhbGxlci4gICovCisgCisgZXh0ZXJuIGdk Yl9iZmRfcmVmX3B0ciBidWlsZF9pZF90b19kZWJ1Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sZW4s CistCQkJCQkgICAgICBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQpOworKwkJCQkJICAgICAgY29u c3QgYmZkX2J5dGUgKmJ1aWxkX2lkLAorKwkJCQkJICAgICAgY2hhciAqKmxpbmtfcmV0dXJuLAor KwkJCQkJICAgICAgaW50IGFkZF9kZWJ1Z19zdWZmaXgpOworKworK2V4dGVybiBjaGFyICpidWls ZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQsCisr CQkJCSAgIGNoYXIgKipsaW5rX3JldHVybik7CisgCisgLyogRmluZCB0aGUgc2VwYXJhdGUgZGVi dWcgZmlsZSBmb3IgT0JKRklMRSwgYnkgdXNpbmcgdGhlIGJ1aWxkLWlkCisgICAgYXNzb2NpYXRl ZCB3aXRoIE9CSkZJTEUncyBCRkQuICBJZiBzdWNjZXNzZnVsLCByZXR1cm5zIGEgbWFsbG9jJ2QK KyAgICBmaWxlIG5hbWUgZm9yIHRoZSBzZXBhcmF0ZSBkZWJ1ZyBmaWxlLiAgVGhlIGNhbGxlciBt dXN0IGZyZWUgdGhpcy4KKyAgICBPdGhlcndpc2UsIHJldHVybnMgTlVMTC4gICovCisgCistZXh0 ZXJuIGNoYXIgKmZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSk7CisrZXh0ZXJuIGNoYXIgKmZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9i eV9idWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKKysJCSAgICAgICBnZGI6OnVuaXF1 ZV94bWFsbG9jX3B0cjxjaGFyPiAqYnVpbGRfaWRfZmlsZW5hbWVfcmV0dXJuKTsKKyAKKyAjZW5k aWYgLyogQlVJTERfSURfSCAqLworZGlmZiAtLWdpdCBhL2dkYi9jb2ZmcmVhZC5jIGIvZ2RiL2Nv ZmZyZWFkLmMKK2luZGV4IDk4ZjZlZWM4MjAuLmYyMmIyYjdkZjEgMTAwNjQ0CistLS0gYS9nZGIv Y29mZnJlYWQuYworKysrIGIvZ2RiL2NvZmZyZWFkLmMKK0BAIC03MzUsNyArNzM1LDcgQEAgY29m Zl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBzeW1maWxlX2FkZF9mbGFn cyBzeW1maWxlX2ZsYWdzKQorICAgICB7CisgICAgICAgY2hhciAqZGVidWdmaWxlOworIAorLSAg ICAgIGRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChvYmpm aWxlKTsKKysgICAgICBkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVp bGRpZCAob2JqZmlsZSwgTlVMTCk7CisgCisgICAgICAgaWYgKGRlYnVnZmlsZSA9PSBOVUxMKQor IAlkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfZGVidWdsaW5rIChvYmpm aWxlKTsKK2RpZmYgLS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYworaW5kZXgg NjgwMDkwNTRhMC4uYjZlOWRkYzY1MiAxMDA2NDQKKy0tLSBhL2dkYi9jb3JlbG93LmMKKysrKyBi L2dkYi9jb3JlbG93LmMKK0BAIC00NSw2ICs0NSwxMCBAQAorICNpbmNsdWRlICJnZGJfYmZkLmgi CisgI2luY2x1ZGUgImNvbXBsZXRlci5oIgorICNpbmNsdWRlICJmaWxlc3R1ZmYuaCIKKysjaW5j bHVkZSAiYXV4di5oIgorKyNpbmNsdWRlICJlbGYvY29tbW9uLmgiCisrI2luY2x1ZGUgImdkYmNt ZC5oIgorKyNpbmNsdWRlICJidWlsZC1pZC5oIgorIAorICNpZm5kZWYgT19MQVJHRUZJTEUKKyAj ZGVmaW5lIE9fTEFSR0VGSUxFIDAKK0BAIC0yNjQsNiArMjY4LDU0IEBAIGFkZF90b190aHJlYWRf bGlzdCAoYmZkICphYmZkLCBhc2VjdGlvbiAqYXNlY3QsIHZvaWQgKnJlZ19zZWN0X2FyZykKKyAg ICAgaW5mZXJpb3JfcHRpZCA9IHB0aWQ7CQkJLyogWWVzLCBtYWtlIGl0IGN1cnJlbnQuICAqLwor IH0KKyAKKytzdGF0aWMgaW50IGJ1aWxkX2lkX2NvcmVfbG9hZHMgPSAxOworKworK3N0YXRpYyB2 b2lkCisrYnVpbGRfaWRfbG9jYXRlX2V4ZWMgKGludCBmcm9tX3R0eSkKKyt7CisrICBDT1JFX0FE RFIgYXRfZW50cnk7CisrICBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZDsKKysgIGNoYXIg KmV4ZWNmaWxlbmFtZSwgKmRlYnVnX2ZpbGVuYW1lOworKyAgY2hhciAqYnVpbGRfaWRfZmlsZW5h bWU7CisrICBzdHJ1Y3QgY2xlYW51cCAqYmFja190bzsKKysKKysgIGlmIChleGVjX2JmZCAhPSBO VUxMIHx8IHN5bWZpbGVfb2JqZmlsZSAhPSBOVUxMKQorKyAgICByZXR1cm47CisrCisrICBpZiAo dGFyZ2V0X2F1eHZfc2VhcmNoICgmY3VycmVudF90YXJnZXQsIEFUX0VOVFJZLCAmYXRfZW50cnkp IDw9IDApCisrICAgIHJldHVybjsKKysKKysgIGJ1aWxkX2lkID0gYnVpbGRfaWRfYWRkcl9nZXQg KGF0X2VudHJ5KTsKKysgIGlmIChidWlsZF9pZCA9PSBOVUxMKQorKyAgICByZXR1cm47CisrICBi YWNrX3RvID0gbWFrZV9jbGVhbnVwICh4ZnJlZSwgYnVpbGRfaWQpOworKworKyAgLyogU1lNRklM RV9PQkpGSUxFIHNob3VsZCByZWZlciB0byB0aGUgbWFpbiBleGVjdXRhYmxlIChub3Qgb25seSB0 byBpdHMKKysgICAgIHNlcGFyYXRlIGRlYnVnIGluZm8gZmlsZSkuICBnY2M0NCsga2VlcHMgLmVo X2ZyYW1lIG9ubHkgaW4gdGhlIG1haW4KKysgICAgIGV4ZWN1dGFibGUgd2l0aG91dCBpdHMgZHVw bGljYXRlIC5kZWJ1Z19mcmFtZSBpbiB0aGUgc2VwYXJhdGUgZGVidWcgaW5mbworKyAgICAgZmls ZSAtIHN1Y2ggLmVoX2ZyYW1lIHdvdWxkIG5vdCBiZSBmb3VuZCBpZiBTWU1GSUxFX09CSkZJTEUg d291bGQgcmVmZXIKKysgICAgIGRpcmVjdGx5IHRvIHRoZSBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGZp bGUuICAqLworKworKyAgZXhlY2ZpbGVuYW1lID0gYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGJ1aWxk X2lkLCAmYnVpbGRfaWRfZmlsZW5hbWUpOworKyAgbWFrZV9jbGVhbnVwICh4ZnJlZSwgYnVpbGRf aWRfZmlsZW5hbWUpOworKworKyAgaWYgKGV4ZWNmaWxlbmFtZSAhPSBOVUxMKQorKyAgICB7Cisr ICAgICAgbWFrZV9jbGVhbnVwICh4ZnJlZSwgZXhlY2ZpbGVuYW1lKTsKKysgICAgICBleGVjX2Zp bGVfYXR0YWNoIChleGVjZmlsZW5hbWUsIGZyb21fdHR5KTsKKysgICAgICBzeW1ib2xfZmlsZV9h ZGRfbWFpbiAoZXhlY2ZpbGVuYW1lLAorKwkJCSAgICBzeW1maWxlX2FkZF9mbGFnICghZnJvbV90 dHkgPyAwIDogU1lNRklMRV9WRVJCT1NFKSk7CisrICAgICAgaWYgKHN5bWZpbGVfb2JqZmlsZSAh PSBOVUxMKQorKyAgICAgICAgc3ltZmlsZV9vYmpmaWxlLT5mbGFncyB8PSBPQkpGX0JVSUxEX0lE X0NPUkVfTE9BREVEOworKyAgICB9CisrICBlbHNlCisrICAgIGRlYnVnX3ByaW50X21pc3Npbmcg KF8oInRoZSBtYWluIGV4ZWN1dGFibGUgZmlsZSIpLCBidWlsZF9pZF9maWxlbmFtZSk7CisrCisr ICBkb19jbGVhbnVwcyAoYmFja190byk7CisrCisrICAvKiBObyBhdXRvbWF0aWMgU09MSUJfQURE IGFzIHRoZSBsaWJyYXJpZXMgd291bGQgZ2V0IHJlYWQgdHdpY2UuICAqLwogK30KLUluZGV4OiBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYnVpbGQtaWQuaAotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2J1aWxkLWlkLmgJMjAxNy0wNC0yMCAyMzowMDozNS40 MTU1ODQ0MjYgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYnVpbGQtaWQuaAky MDE3LTA0LTIwIDIzOjAwOjQzLjM3MTYyOTI1NyArMDIwMAotQEAgLTIyLDkgKzIyLDEwIEBACi0g Ci0gI2luY2x1ZGUgImdkYl9iZmQuaCIKKysKKyAvKiBUaGlzIHJvdXRpbmUgb3BlbnMgYW5kIHNl dHMgdXAgdGhlIGNvcmUgZmlsZSBiZmQuICAqLwogIAotLS8qIExvY2F0ZSBOVF9HTlVfQlVJTERf SUQgZnJvbSBBQkZEIGFuZCByZXR1cm4gaXRzIGNvbnRlbnQuICAqLwotKy8qIFNlcGFyYXRlIGRl YnVnaW5mbyBmaWxlcyBoYXZlIGNvcnJ1cHRlZCBQSERSIGJ1dCBTSERSIGlzIGNvcnJlY3QgdGhl cmUuCi0rICAgTG9jYXRlIE5UX0dOVV9CVUlMRF9JRCBmcm9tIEFCRkQgYW5kIHJldHVybiBpdHMg Y29udGVudC4gICovCisgc3RhdGljIHZvaWQKK0BAIC0zOTIsNiArNDQ0LDE0IEBAIGNvcmVfb3Bl biAoY29uc3QgY2hhciAqYXJnLCBpbnQgZnJvbV90dHkpCisgCXN3aXRjaF90b190aHJlYWQgKHRo cmVhZC0+cHRpZCk7CisgICAgIH0KICAKLS1leHRlcm4gY29uc3Qgc3RydWN0IGJmZF9idWlsZF9p ZCAqYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKTsKLStleHRlcm4gY29uc3Qgc3RydWN0IGJm ZF9idWlsZF9pZCAqYnVpbGRfaWRfYmZkX3NoZHJfZ2V0IChiZmQgKmFiZmQpOworKyAgLyogRmlu ZCB0aGUgYnVpbGRfaWQgaWRlbnRpZmllcnMuICBJZiBpdCBnZXRzIGV4ZWN1dGVkIGFmdGVyCisr ICAgICBQT1NUX0NSRUFURV9JTkZFUklPUiB3ZSB3b3VsZCBjbGFzaCB3aXRoIGFza2luZyB0byBk aXNjYXJkIHRoZSBhbHJlYWR5CisrICAgICBsb2FkZWQgVkRTTyBzeW1ib2xzLiAgSWYgaXQgZ2V0 cyBleGVjdXRlZCBiZWZvcmUgYmZkX21hcF9vdmVyX3NlY3Rpb25zCisrICAgICBJTkZFUklPUl9Q VElEIGlzIHN0aWxsIG5vdCBzZXQgYW5kIGxpYnRocmVhZF9kYiBpbml0aWFsaXphdGlvbiBjcmFz aGVzIG9uCisrICAgICBQSUQgPT0gMCBpbiBwc19wZ2xvYmFsX2xvb2t1cC4gICovCisrICBpZiAo YnVpbGRfaWRfY29yZV9sb2FkcyAhPSAwKQorKyAgICBidWlsZF9pZF9sb2NhdGVfZXhlYyAoZnJv bV90dHkpOworKworICAgcG9zdF9jcmVhdGVfaW5mZXJpb3IgKCZjb3JlX29wcywgZnJvbV90dHkp OwogIAotIC8qIFJldHVybiB0cnVlIGlmIEFCRkQgaGFzIE5UX0dOVV9CVUlMRF9JRCBtYXRjaGlu ZyB0aGUgQ0hFQ0sgdmFsdWUuCi0gICAgT3RoZXJ3aXNlLCBpc3N1ZSBhIHdhcm5pbmcgYW5kIHJl dHVybiBmYWxzZS4gICovCi1AQCAtMzgsMTMgKzM5LDE5IEBACi0gICAgdGhlIGNhbGxlci4gICov CisgICAvKiBOb3cgZ28gdGhyb3VnaCB0aGUgdGFyZ2V0IHN0YWNrIGxvb2tpbmcgZm9yIHRocmVh ZHMgc2luY2UgdGhlcmUKK0BAIC0xMDQxLDQgKzExMDEsMTEgQEAgX2luaXRpYWxpemVfY29yZWxv dyAodm9pZCkKKyAgIGluaXRfY29yZV9vcHMgKCk7CiAgCi0gZXh0ZXJuIGdkYl9iZmRfcmVmX3B0 ciBidWlsZF9pZF90b19kZWJ1Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sZW4sCi0tCQkJCQkgICAg ICBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQpOwotKwkJCQkJICAgICAgY29uc3QgYmZkX2J5dGUg KmJ1aWxkX2lkLAotKwkJCQkJICAgICAgY2hhciAqKmxpbmtfcmV0dXJuLAotKwkJCQkJICAgICAg aW50IGFkZF9kZWJ1Z19zdWZmaXgpOworICAgYWRkX3RhcmdldF93aXRoX2NvbXBsZXRlciAoJmNv cmVfb3BzLCBmaWxlbmFtZV9jb21wbGV0ZXIpOwogKwotK2V4dGVybiBjaGFyICpidWlsZF9pZF90 b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQsCi0rCQkJCSAg IGNoYXIgKipsaW5rX3JldHVybik7Ci0gCi0gLyogRmluZCB0aGUgc2VwYXJhdGUgZGVidWcgZmls ZSBmb3IgT0JKRklMRSwgYnkgdXNpbmcgdGhlIGJ1aWxkLWlkCi0gICAgYXNzb2NpYXRlZCB3aXRo IE9CSkZJTEUncyBCRkQuICBJZiBzdWNjZXNzZnVsLCByZXR1cm5zIGEgbWFsbG9jJ2QKLSAgICBm aWxlIG5hbWUgZm9yIHRoZSBzZXBhcmF0ZSBkZWJ1ZyBmaWxlLiAgVGhlIGNhbGxlciBtdXN0IGZy ZWUgdGhpcy4KLSAgICBPdGhlcndpc2UsIHJldHVybnMgTlVMTC4gICovCisrICBhZGRfc2V0c2hv d19ib29sZWFuX2NtZCAoImJ1aWxkLWlkLWNvcmUtbG9hZHMiLCBjbGFzc19maWxlcywKKysJCQkg ICAmYnVpbGRfaWRfY29yZV9sb2FkcywgXygiXAorK1NldCB3aGV0aGVyIENPUkUtRklMRSBsb2Fk cyB0aGUgYnVpbGQtaWQgYXNzb2NpYXRlZCBmaWxlcyBhdXRvbWF0aWNhbGx5LiIpLCBfKCJcCisr U2hvdyB3aGV0aGVyIENPUkUtRklMRSBsb2FkcyB0aGUgYnVpbGQtaWQgYXNzb2NpYXRlZCBmaWxl cyBhdXRvbWF0aWNhbGx5LiIpLAorKwkJCSAgIE5VTEwsIE5VTEwsIE5VTEwsCisrCQkJICAgJnNl dGxpc3QsICZzaG93bGlzdCk7CisgfQorZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRleGluZm8g Yi9nZGIvZG9jL2dkYi50ZXhpbmZvCitpbmRleCAwMDVmZWQ4OWM1Li5kMTgxYWViMWMwIDEwMDY0 NAorLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbworKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwor QEAgLTE5MjcxLDYgKzE5MjcxLDI3IEBAIGluZm9ybWF0aW9uIGZpbGVzLgogIAotLWV4dGVybiBj aGFyICpmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RydWN0IG9iamZpbGUg Km9iamZpbGUpOwotK2V4dGVybiBjaGFyICpmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVp bGRpZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCi0rCQkgICAgICAgZ2RiOjp1bmlxdWVfeG1h bGxvY19wdHI8Y2hhcj4gKmJ1aWxkX2lkX2ZpbGVuYW1lX3JldHVybik7CisgQGVuZCB0YWJsZQog IAotICNlbmRpZiAvKiBCVUlMRF9JRF9IICovCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2R3YXJmMnJlYWQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9y aWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAot KysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wNC0yMCAyMzow MDo0My4zNzU2MjkyNzkgKzAyMDAKLUBAIC0yNjcxLDcgKzI2NzEsNyBAQAorK1lvdSBjYW4gYWxz byBhZGp1c3QgdGhlIGN1cnJlbnQgdmVyYm9zaXR5IG9mIHRoZSBAZGZue2J1aWxkIGlkfSBsb2Nh dGluZy4KKysKKytAdGFibGUgQGNvZGUKKysKKytAa2luZGV4IHNldCBidWlsZC1pZC12ZXJib3Nl CisrQGl0ZW0gc2V0IGJ1aWxkLWlkLXZlcmJvc2UgMAorK05vIGFkZGl0aW9uYWwgbWVzc2FnZXMg YXJlIHByaW50ZWQuCisrCisrQGl0ZW0gc2V0IGJ1aWxkLWlkLXZlcmJvc2UgMQorK01pc3Npbmcg c2VwYXJhdGUgZGVidWcgZmlsZW5hbWVzIGFyZSBwcmludGVkLgorKworK0BpdGVtIHNldCBidWls ZC1pZC12ZXJib3NlIDIKKytNaXNzaW5nIHNlcGFyYXRlIGRlYnVnIGZpbGVuYW1lcyBhcmUgcHJp bnRlZCBhbmQgYWxzbyBhbGwgdGhlIHBhcnNpbmcgb2YgdGhlCisrYmluYXJpZXMgdG8gZmluZCB0 aGVpciBAZGZue2J1aWxkIGlkfSBjb250ZW50IGlzIHByaW50ZWQuCisrCisrQGtpbmRleCBzaG93 IGJ1aWxkLWlkLXZlcmJvc2UKKytAaXRlbSBzaG93IGJ1aWxkLWlkLXZlcmJvc2UKKytTaG93IHRo ZSBjdXJyZW50IHZlcmJvc2l0eSB2YWx1ZSBmb3IgdGhlIEBkZm57YnVpbGQgaWR9IGNvbnRlbnQg bG9jYXRpbmcuCisrCisrQGVuZCB0YWJsZQorKworIEBjaW5kZXggQGNvZGV7LmdudV9kZWJ1Z2xp bmt9IHNlY3Rpb25zCisgQGNpbmRleCBkZWJ1ZyBsaW5rIHNlY3Rpb25zCisgQSBkZWJ1ZyBsaW5r IGlzIGEgc3BlY2lhbCBzZWN0aW9uIG9mIHRoZSBleGVjdXRhYmxlIGZpbGUgbmFtZWQKK2RpZmYg LS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYworaW5kZXggZmRkMWQ5 ZDY4OC4uZWY2MjRhZGEzMyAxMDA2NDQKKy0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKKysrKyBiL2dk Yi9kd2FyZjJyZWFkLmMKK0BAIC0yNzg3LDcgKzI3ODcsNyBAQCBkd2FyZjJfZ2V0X2R3el9maWxl ICh2b2lkKQogICAgICB9CiAgCiAgICBpZiAoZHd6X2JmZCA9PSBOVUxMKQpAQCAtMTI0MCwxMSAr MTA2Niw1MiBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQuYwog IAogICAgaWYgKGR3el9iZmQgPT0gTlVMTCkKICAgICAgZXJyb3IgKF8oImNvdWxkIG5vdCBmaW5k ICcuZ251X2RlYnVnYWx0bGluaycgZmlsZSBmb3IgJXMiKSwKLUluZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5 LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3B5dGhvbi9weS1vYmpmaWxlLmMJMjAxNy0wNC0yMCAyMzow MDozNS40MTU1ODQ0MjYgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcHl0aG9u L3B5LW9iamZpbGUuYwkyMDE3LTA0LTIwIDIzOjAwOjQzLjM3NTYyOTI3OSArMDIwMAotQEAgLTEz Nyw3ICsxMzcsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9lbGZyZWFkLmMgYi9nZGIvZWxmcmVhZC5j CitpbmRleCBiODA2Y2EzYjQwLi45Nzg0YTQ0YjVhIDEwMDY0NAorLS0tIGEvZ2RiL2VsZnJlYWQu YworKysrIGIvZ2RiL2VsZnJlYWQuYworQEAgLTEyNDgsOCArMTI0OCw5IEBAIGVsZl9zeW1maWxl X3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBzeW1maWxlX2FkZF9mbGFncyBzeW1maWxl X2ZsYWdzKQorIAkgICAmJiBvYmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19vYmpmaWxlID09IE5VTEwK KyAJICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9PSBOVUxM KQorICAgICB7CisrICAgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gYnVpbGRfaWRf ZmlsZW5hbWU7CisgICAgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gZGVidWdmaWxl CistCShmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAob2JqZmlsZSkpOworKwko ZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUsICZidWlsZF9pZF9m aWxlbmFtZSkpOworIAorICAgICAgIGlmIChkZWJ1Z2ZpbGUgPT0gTlVMTCkKKyAJZGVidWdmaWxl LnJlc2V0IChmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfZGVidWdsaW5rIChvYmpmaWxlKSk7 CitAQCAtMTI2MSw2ICsxMjYyLDEwIEBAIGVsZl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxl ICpvYmpmaWxlLCBzeW1maWxlX2FkZF9mbGFncyBzeW1maWxlX2ZsYWdzKQorIAkgIHN5bWJvbF9m aWxlX2FkZF9zZXBhcmF0ZSAoYWJmZC5nZXQgKCksIGRlYnVnZmlsZS5nZXQgKCksCisgCQkJCSAg ICBzeW1maWxlX2ZsYWdzLCBvYmpmaWxlKTsKKyAJfQorKyAgICAgIC8qIENoZWNrIGlmIGFueSBz ZXBhcmF0ZSBkZWJ1ZyBpbmZvIGhhcyBiZWVuIGV4dHJhY3RlZCBvdXQuICAqLworKyAgICAgIGVs c2UgaWYgKGJmZF9nZXRfc2VjdGlvbl9ieV9uYW1lIChvYmpmaWxlLT5vYmZkLCAiLmdudV9kZWJ1 Z2xpbmsiKQorKwkgICAgICAgIT0gTlVMTCkKKysJZGVidWdfcHJpbnRfbWlzc2luZyAob2JqZmls ZV9uYW1lIChvYmpmaWxlKSwgYnVpbGRfaWRfZmlsZW5hbWUuZ2V0ICgpKTsKKyAgICAgfQorIH0K KyAKK2RpZmYgLS1naXQgYS9nZGIvb2JqZmlsZXMuaCBiL2dkYi9vYmpmaWxlcy5oCitpbmRleCA2 MmJkNDU0MDBkLi44MWNmMGY1NDJiIDEwMDY0NAorLS0tIGEvZ2RiL29iamZpbGVzLmgKKysrKyBi L2dkYi9vYmpmaWxlcy5oCitAQCAtNDcwLDYgKzQ3MCwxMCBAQCBzdHJ1Y3Qgb2JqZmlsZQorICAg aHRhYl90IHN0YXRpY19saW5rcyB7fTsKKyB9OworIAorKy8qIFRoaXMgZmlsZSB3YXMgbG9hZGVk IGFjY29yZGluZyB0byB0aGUgQlVJTERfSURfQ09SRV9MT0FEUyBydWxlcy4gICovCisrCisrI2Rl ZmluZSBPQkpGX0JVSUxEX0lEX0NPUkVfTE9BREVEIHN0YXRpY19jYXN0PGVudW0gb2JqZmlsZV9m bGFnPigxIDw8IDEyKQorKworIC8qIERlY2xhcmF0aW9ucyBmb3IgZnVuY3Rpb25zIGRlZmluZWQg aW4gb2JqZmlsZXMuYyAqLworIAorIGV4dGVybiBzdHJ1Y3QgZ2RiYXJjaCAqZ2V0X29iamZpbGVf YXJjaCAoY29uc3Qgc3RydWN0IG9iamZpbGUgKik7CitkaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9w eS1vYmpmaWxlLmMgYi9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYworaW5kZXggNTJmMmUxZjc5Mi4u NDE4MDg2ZmE4YiAxMDA2NDQKKy0tLSBhL2dkYi9weXRob24vcHktb2JqZmlsZS5jCisrKysgYi9n ZGIvcHl0aG9uL3B5LW9iamZpbGUuYworQEAgLTEzNyw3ICsxMzcsNyBAQCBvYmpmcHlfZ2V0X2J1 aWxkX2lkIChQeU9iamVjdCAqc2VsZiwgdm9pZCAqY2xvc3VyZSkKICAKICAgIFRSWQogICAgICB7 CkBAIC0xMjUzLDcgKzExMjAsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3B5 dGhvbi9weS1vYmpmaWxlLmMKICAgICAgfQogICAgQ0FUQ0ggKGV4Y2VwdCwgUkVUVVJOX01BU0tf QUxMKQogICAgICB7Ci1AQCAtNTQ0LDcgKzU0NCw3IEBACitAQCAtNTQ0LDcgKzU0NCw3IEBAIG9i amZweV9sb29rdXBfb2JqZmlsZV9ieV9idWlsZF9pZCAoY29uc3QgY2hhciAqYnVpbGRfaWQpCiAg ICAgICAgLyogRG9uJ3QgcmV0dXJuIHNlcGFyYXRlIGRlYnVnIGZpbGVzLiAgKi8KICAgICAgICBp ZiAob2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayAhPSBOVUxMKQogIAlj b250aW51ZTsKQEAgLTEyNjIsMTYgKzExMjksMTgxIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwogICAgICAgIGlmIChvYmZkX2J1aWxkX2lkID09 IE5VTEwpCiAgCWNvbnRpbnVlOwogICAgICAgIGlmIChvYmpmcHlfYnVpbGRfaWRfbWF0Y2hlcyAo b2JmZF9idWlsZF9pZCwgYnVpbGRfaWQpKQotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9jb2ZmcmVhZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9n ZGIvY29mZnJlYWQuYwkyMDE3LTA0LTIwIDIzOjAwOjM1LjQxNTU4NDQyNiArMDIwMAotKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9jb2ZmcmVhZC5jCTIwMTctMDQtMjAgMjM6MDA6NDMuMzc2 NjI5Mjg1ICswMjAwCi1AQCAtNzM0LDcgKzczNCw3IEBACi0gICAgIHsKLSAgICAgICBjaGFyICpk ZWJ1Z2ZpbGU7CitkaWZmIC0tZ2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBiL2dkYi9zb2xpYi1zdnI0 LmMKK2luZGV4IDZlODM0ZmI1ZDcuLjA4Nzg4MDkyZGMgMTAwNjQ0CistLS0gYS9nZGIvc29saWIt c3ZyNC5jCisrKysgYi9nZGIvc29saWItc3ZyNC5jCitAQCAtNDUsNiArNDUsNyBAQAorICNpbmNs dWRlICJhdXh2LmgiCisgI2luY2x1ZGUgImdkYl9iZmQuaCIKKyAjaW5jbHVkZSAicHJvYmUuaCIK KysjaW5jbHVkZSAiYnVpbGQtaWQuaCIKICAKLS0gICAgICBkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFy YXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAob2JqZmlsZSk7Ci0rICAgICAgZGVidWdmaWxlID0g ZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUsIE5VTEwpOworIHN0 YXRpYyBzdHJ1Y3QgbGlua19tYXBfb2Zmc2V0cyAqc3ZyNF9mZXRjaF9saW5rX21hcF9vZmZzZXRz ICh2b2lkKTsKKyBzdGF0aWMgaW50IHN2cjRfaGF2ZV9saW5rX21hcF9vZmZzZXRzICh2b2lkKTsK K0BAIC0xMzg1LDkgKzEzODYsNTIgQEAgc3ZyNF9yZWFkX3NvX2xpc3QgKENPUkVfQUREUiBsbSwg Q09SRV9BRERSIHByZXZfbG0sCisgCSAgY29udGludWU7CisgCX0KICAKLSAgICAgICBpZiAoZGVi dWdmaWxlID09IE5VTEwpCi0gCWRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9i eV9kZWJ1Z2xpbmsgKG9iamZpbGUpOworLSAgICAgIHN0cm5jcHkgKG5ld29iai0+c29fbmFtZSwg YnVmZmVyLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKKy0gICAgICBuZXdvYmotPnNvX25h bWVbU09fTkFNRV9NQVhfUEFUSF9TSVpFIC0gMV0gPSAnXDAnOworLSAgICAgIHN0cmNweSAobmV3 b2JqLT5zb19vcmlnaW5hbF9uYW1lLCBuZXdvYmotPnNvX25hbWUpOworKyAgICAgIHsKKysJc3Ry dWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQ7CisrCisrCXN0cm5jcHkgKG5ld29iai0+c29fb3Jp Z2luYWxfbmFtZSwgYnVmZmVyLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKKysJbmV3b2Jq LT5zb19vcmlnaW5hbF9uYW1lW1NPX05BTUVfTUFYX1BBVEhfU0laRSAtIDFdID0gJ1wwJzsKKysJ LyogTWF5IGdldCBvdmVyd3JpdHRlbiBiZWxvdy4gICovCisrCXN0cmNweSAobmV3b2JqLT5zb19u YW1lLCBuZXdvYmotPnNvX29yaWdpbmFsX25hbWUpOworKworKwlidWlsZF9pZCA9IGJ1aWxkX2lk X2FkZHJfZ2V0IChuZXdvYmotPmxtX2luZm8tPmxfbGQpOworKwlpZiAoYnVpbGRfaWQgIT0gTlVM TCkKKysJICB7CisrCSAgICBjaGFyICpuYW1lLCAqYnVpbGRfaWRfZmlsZW5hbWU7CisrCisrCSAg ICAvKiBNaXNzaW5nIHRoZSBidWlsZC1pZCBtYXRjaGluZyBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGZp bGUKKysJICAgICAgIHdvdWxkIGJlIGhhbmRsZWQgd2hpbGUgU09fTkFNRSBnZXRzIGxvYWRlZC4g ICovCisrCSAgICBuYW1lID0gYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGJ1aWxkX2lkLCAmYnVpbGRf aWRfZmlsZW5hbWUpOworKwkgICAgaWYgKG5hbWUgIT0gTlVMTCkKKysJICAgICAgeworKwkJc3Ry bmNweSAobmV3b2JqLT5zb19uYW1lLCBuYW1lLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsK KysJCW5ld29iai0+c29fbmFtZVtTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxXSA9ICdcMCc7Cisr CQl4ZnJlZSAobmFtZSk7CisrCSAgICAgIH0KKysJICAgIGVsc2UKKysJICAgICAgeworKwkJZGVi dWdfcHJpbnRfbWlzc2luZyAobmV3b2JqLT5zb19uYW1lLCBidWlsZF9pZF9maWxlbmFtZSk7Cisr CisrCQkvKiBJbiB0aGUgY2FzZSB0aGUgbWFpbiBleGVjdXRhYmxlIHdhcyBmb3VuZCBhY2NvcmRp bmcgdG8KKysJCSAgIGl0cyBidWlsZC1pZCAoZnJvbSBhIGNvcmUgZmlsZSkgcHJldmVudCBsb2Fk aW5nCisrCQkgICBhIGRpZmZlcmVudCBidWlsZCBvZiBhIGxpYnJhcnkgd2l0aCBhY2NpZGVudGFs bHkgdGhlCisrCQkgICBzYW1lIFNPX05BTUUuCisrCisrCQkgICBJdCBzdXBwcmVzc2VzIGJvZ3Vz IGJhY2t0cmFjZXMgKGFuZCBwcmludHMgIj8/IiB0aGVyZQorKwkJICAgaW5zdGVhZCkgaWYgdGhl IG9uLWRpc2sgZmlsZXMgbm8gbG9uZ2VyIG1hdGNoIHRoZQorKwkJICAgcnVubmluZyBwcm9ncmFt IHZlcnNpb24uICAqLworKworKwkJaWYgKHN5bWZpbGVfb2JqZmlsZSAhPSBOVUxMCisrCQkgICAg JiYgKHN5bWZpbGVfb2JqZmlsZS0+ZmxhZ3MKKysJCQkmIE9CSkZfQlVJTERfSURfQ09SRV9MT0FE RUQpICE9IDApCisrCQkgIG5ld29iai0+c29fbmFtZVswXSA9IDA7CisrCSAgICAgIH0KKysKKysJ ICAgIHhmcmVlIChidWlsZF9pZF9maWxlbmFtZSk7CisrCSAgICB4ZnJlZSAoYnVpbGRfaWQpOwor KwkgIH0KKysgICAgICB9CisrCisgICAgICAgeGZyZWUgKGJ1ZmZlcik7CisgCisgICAgICAgLyog SWYgdGhpcyBlbnRyeSBoYXMgbm8gbmFtZSwgb3IgaXRzIG5hbWUgbWF0Y2hlcyB0aGUgbmFtZQor ZGlmZiAtLWdpdCBhL2dkYi9zeW1maWxlLmggYi9nZGIvc3ltZmlsZS5oCitpbmRleCBmYTM4YWJm NDk2Li40NWJiZTBhMjI5IDEwMDY0NAorLS0tIGEvZ2RiL3N5bWZpbGUuaAorKysrIGIvZ2RiL3N5 bWZpbGUuaAorQEAgLTU0Myw2ICs1NDMsMTAgQEAgdm9pZCBleHBhbmRfc3ltdGFic19tYXRjaGlu ZworIHZvaWQgbWFwX3N5bWJvbF9maWxlbmFtZXMgKHN5bWJvbF9maWxlbmFtZV9mdHlwZSAqZnVu LCB2b2lkICpkYXRhLAorIAkJCSAgIGludCBuZWVkX2Z1bGxuYW1lKTsKKyAKKysvKiBidWlsZC1p ZCBzdXBwb3J0LiAgKi8KKytleHRlcm4gc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWRfYWRk cl9nZXQgKENPUkVfQUREUiBhZGRyKTsKKytleHRlcm4gdm9pZCBkZWJ1Z19wcmludF9taXNzaW5n IChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKTsKKysKKyAvKiBGcm9tIGR3 YXJmMnJlYWQuYyAqLworIAorIC8qIE5hbWVzIGZvciBhIGR3YXJmMiBkZWJ1Z2dpbmcgc2VjdGlv bi4gIFRoZSBmaWVsZCBOT1JNQUwgaXMgdGhlIG5vcm1hbAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3Jl ZmlsZS5leHAKK2luZGV4IDliZTRhZWY3ZjQuLjU0Y2I1ZDBkNDIgMTAwNjQ0CistLS0gYS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9jb3JlZmlsZS5leHAKK0BAIC0zMTEsMyArMzExLDMzIEBAIGdkYl90ZXN0X211bHRpcGxl ICJjb3JlLWZpbGUgJGNvcmVmaWxlIiAkdGVzdCB7CisgCXBhc3MgJHRlc3QKKyAgICAgfQorIH0K KysKKysKKysjIFRlc3QgYXV0by1sb2FkaW5nIG9mIGJpbmFyeSBmaWxlcyB0aHJvdWdoIGJ1aWxk LWlkIGZyb20gdGhlIGNvcmUgZmlsZS4KKytzZXQgYnVpbGRpZCBbYnVpbGRfaWRfZGVidWdfZmls ZW5hbWVfZ2V0ICRiaW5maWxlXQorK3NldCB3aG9sZXRlc3QgImJpbmZpbGUgZm91bmQgYnkgYnVp bGQtaWQiCisraWYgeyRidWlsZGlkID09ICIifSB7CisrICAgIHVudGVzdGVkICIkd2hvbGV0ZXN0 IChiaW5hcnkgaGFzIG5vIGJ1aWxkLWlkKSIKKyt9IGVsc2UgeworKyAgICBnZGJfZXhpdAorKyAg ICBnZGJfc3RhcnQKKysKKysgICAgcmVnc3ViIHtcLmRlYnVnJH0gJGJ1aWxkaWQge30gYnVpbGRp ZAorKyAgICBzZXQgZGVidWdkaXIgW3N0YW5kYXJkX291dHB1dF9maWxlICR7dGVzdGZpbGV9LWRl YnVnZGlyXQorKyAgICBmaWxlIGRlbGV0ZSAtZm9yY2UgLS0gJGRlYnVnZGlyCisrICAgIGZpbGUg bWtkaXIgJGRlYnVnZGlyL1tmaWxlIGRpcm5hbWUgJGJ1aWxkaWRdCisrICAgIGZpbGUgY29weSAk YmluZmlsZSAkZGVidWdkaXIvJGJ1aWxkaWQKKysKKysgICAgc2V0IHRlc3QgInNob3cgZGVidWct ZmlsZS1kaXJlY3RvcnkiCisrICAgIGdkYl90ZXN0X211bHRpcGxlICR0ZXN0ICR0ZXN0IHsKKysJ LXJlICJUaGUgZGlyZWN0b3J5IHdoZXJlIHNlcGFyYXRlIGRlYnVnIHN5bWJvbHMgYXJlIHNlYXJj aGVkIGZvciBpcyBcIiguKilcIlxcLlxyXG4kZ2RiX3Byb21wdCAkIiB7CisrCSAgICBzZXQgZGVi dWdkaXJfb3JpZyAkZXhwZWN0X291dCgxLHN0cmluZykKKysJICAgIHBhc3MgJHRlc3QKKysJfQor KyAgICB9CisrICAgIGdkYl90ZXN0X25vX291dHB1dCAic2V0IGRlYnVnLWZpbGUtZGlyZWN0b3J5 ICRkZWJ1Z2RpcjokZGVidWdkaXJfb3JpZyIgInNldCBkZWJ1Zy1maWxlLWRpcmVjdG9yeSIKKysg ICAgZ2RiX3Rlc3QgInNob3cgYnVpbGQtaWQtY29yZS1sb2FkcyIge1doZXRoZXIgQ09SRS1GSUxF IGxvYWRzIHRoZSBidWlsZC1pZCBhc3NvY2lhdGVkIGZpbGVzIGF1dG9tYXRpY2FsbHkgaXMgb25c Ln0KKysgICAgZ2RiX3Rlc3QgImNvcmUtZmlsZSAkY29yZWZpbGUiICJcclxuUHJvZ3JhbSB0ZXJt aW5hdGVkIHdpdGggLioiICJjb3JlLWZpbGUgd2l0aG91dCBleGVjdXRhYmxlIgorKyAgICBnZGJf dGVzdCAiaW5mbyBmaWxlcyIgIkxvY2FsIGV4ZWMgZmlsZTpcclxuXFsgXHRcXSpgW3N0cmluZ190 b19yZWdleHAgJGRlYnVnZGlyLyRidWlsZGlkXScsIGZpbGUgdHlwZSAuKiIKKysgICAgcGFzcyAk d2hvbGV0ZXN0CisrfQorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbmV3LXVp LXBlbmRpbmctaW5wdXQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9uZXctdWktcGVuZGlu Zy1pbnB1dC5leHAKK2luZGV4IDM3ZDZlNGE2NzAuLjM4NzA2ZWQzNDEgMTAwNjQ0CistLS0gYS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL25ldy11aS1wZW5kaW5nLWlucHV0LmV4cAorKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9uZXctdWktcGVuZGluZy1pbnB1dC5leHAKK0BAIC02Miw2ICs2 Miw3IEBAIHByb2MgdGVzdF9jb21tYW5kX2xpbmVfbmV3X3VpX3BlbmRpbmdfaW5wdXQge30gewor ICAgICBzZXQgb3B0aW9ucyAiIgorICAgICBhcHBlbmQgb3B0aW9ucyAiIC1pZXggXCJzZXQgaGVp Z2h0IDBcIiIKKyAgICAgYXBwZW5kIG9wdGlvbnMgIiAtaWV4IFwic2V0IHdpZHRoIDBcIiIKKysg ICAgYXBwZW5kIG9wdGlvbnMgIiAtaWV4IFwic2V0IGJ1aWxkLWlkLXZlcmJvc2UgMFwiIgorICAg ICBhcHBlbmQgb3B0aW9ucyAiIC1pZXggXCJuZXctdWkgY29uc29sZSAkZXh0cmFfdHR5X25hbWVc IiIKKyAgICAgYXBwZW5kIG9wdGlvbnMgIiAtZXggXCJiICRicGxpbmVcIiIKKyAgICAgYXBwZW5k IG9wdGlvbnMgIiAtZXggXCJydW5cIiIKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9n ZGIuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAoraW5kZXggMDE4MzY3YzE2MS4uZmY4 MjE4YmYzZCAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKKysrKyBiL2dk Yi90ZXN0c3VpdGUvbGliL2dkYi5leHAKK0BAIC0xNzAzLDYgKzE3MDMsMTYgQEAgcHJvYyBkZWZh dWx0X2dkYl9zdGFydCB7IH0geworIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0 aCB0byAwLiIKKyAJfQorICAgICB9CisrICAgICMgVHVybiBvZmYgdGhlIG1pc3Npbmcgd2Fybmlu Z3MgYXMgdGhlIHRlc3RzdWl0ZSBkb2VzIG5vdCBleHBlY3QgaXQuCisrICAgIHNlbmRfZ2RiICJz ZXQgYnVpbGQtaWQtdmVyYm9zZSAwXG4iCisrICAgIGdkYl9leHBlY3QgMTAgeworKwktcmUgIiRn ZGJfcHJvbXB0ICQiIHsKKysJICAgIHZlcmJvc2UgIkRpc2FibGVkIHRoZSBtaXNzaW5nIGRlYnVn IGluZm9zIHdhcm5pbmdzLiIgMgorKwl9CisrCXRpbWVvdXQgeworKwkgICAgd2FybmluZyAiQ291 bGQgbm90IGRpc2FibGUgdGhlIG1pc3NpbmcgZGVidWcgaW5mb3Mgd2FybmluZ3MuLiIKKysJfQor KyAgICB9CisgICAgIHJldHVybiAwCisgfQorIAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv bGliL21pLXN1cHBvcnQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAKK2lu ZGV4IDU2ODJiN2UyZTEuLjYwZTRmN2RiNTUgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2xp Yi9taS1zdXBwb3J0LmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAK K0BAIC0zMDksNiArMzA5LDE2IEBAIHByb2MgZGVmYXVsdF9taV9nZGJfc3RhcnQgeyBhcmdzIH0g eworIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAwLiIKKyAJfQorICAg ICB9CisrICAgICMgVHVybiBvZmYgdGhlIG1pc3Npbmcgd2FybmluZ3MgYXMgdGhlIHRlc3RzdWl0 ZSBkb2VzIG5vdCBleHBlY3QgaXQuCisrICAgIHNlbmRfZ2RiICIxOTAtZ2RiLXNldCBidWlsZC1p ZC12ZXJib3NlIDBcbiIKKysgICAgZ2RiX2V4cGVjdCAxMCB7CisrCS1yZSAiLioxOTAtZ2RiLXNl dCBidWlsZC1pZC12ZXJib3NlIDBcclxuMTkwXFxcXmRvbmVcclxuJG1pX2dkYl9wcm9tcHQkIiB7 CisrCSAgICB2ZXJib3NlICJEaXNhYmxlZCB0aGUgbWlzc2luZyBkZWJ1ZyBpbmZvcyB3YXJuaW5n cy4iIDIKKysJfQorKwl0aW1lb3V0IHsKKysJICAgIHdhcm5pbmcgIkNvdWxkIG5vdCBkaXNhYmxl IHRoZSBtaXNzaW5nIGRlYnVnIGluZm9zIHdhcm5pbmdzLi4iCisrCX0KKysgICAgfQorIAorICAg ICBpZiB7ICRzZXBhcmF0ZV9pbmZlcmlvcl9wdHkgfSB7CisgCW1pX2NyZWF0ZV9pbmZlcmlvcl9w dHkKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ6MjI5NTE3LWdjb3JlLXdp dGhvdXQtdGVybWluYWwucGF0Y2ggYi9nZGItNi42LWJ6MjI5NTE3LWdjb3JlLXdpdGhvdXQtdGVy bWluYWwucGF0Y2gKaW5kZXggYzI5NGM0MS4uNjcwYmMxNCAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1i ejIyOTUxNy1nY29yZS13aXRob3V0LXRlcm1pbmFsLnBhdGNoCisrKyBiL2dkYi02LjYtYnoyMjk1 MTctZ2NvcmUtd2l0aG91dC10ZXJtaW5hbC5wYXRjaApAQCAtMSw5ICsxLDEyIEBACitGcm9tIDhi N2RkNGZmMGZjZmIxMTYxMTQzZmIzOWYzNjM1NTMzMzY3NGY5MDQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCiBGcm9tOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4K IERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjYt YnoyMjk1MTctZ2NvcmUtd2l0aG91dC10ZXJtaW5hbC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYu Ni1iejIyOTUxNy1nY29yZS13aXRob3V0LXRlcm1pbmFsLnBhdGNoCiAKKzs7IEFsbG93IHJ1bm5p bmcgYC91c3IvYmluL2djb3JlJyB3aXRoIHByb3ZpZGVkIGJ1dCBpbmFjY2Vzc2libGUgdHR5IChC WiAyMjk1MTcpLgorOzs9ZmVkb3JhdGVzdAogCiAyMDA3LTA0LTIyICBKYW4gS3JhdG9jaHZpbCA8 amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIApAQCAtMTIsMTIgKzE1LDE4IEBAIEZpbGVOYW1l OiBnZGItNi42LWJ6MjI5NTE3LWdjb3JlLXdpdGhvdXQtdGVybWluYWwucGF0Y2gKIDIwMDctMDQt MjIgIEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogCiAJKiBnZGIu YmFzZS9nY29yZWJnLmV4cCwgZ2RiLmJhc2UvZ2NvcmViZy5jOiBOZXcgZmlsZXMuCistLS0KKyBn ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlYmcuYyAgIHwgIDQ5ICsrKysrKysrKysrKysrKysK KyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlYmcuZXhwIHwgMTEzICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDE2MiBpbnNlcnRpb25z KCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmViZy5j CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmViZy5leHAK IAotCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9n Y29yZWJnLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2djb3JlYmcuYwkyMDE2LTAyLTE2IDEwOjQ0OjQ4Ljk5ODUyNzI1OSArMDEwMAorZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmViZy5jIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9nY29yZWJnLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwLi40MjdlYmU5YjRmCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2djb3JlYmcuYwogQEAgLTAsMCArMSw0OSBAQAogKyNpbmNsdWRlIDxzdGRpby5oPgogKyNp bmNsdWRlIDxzeXMvdHlwZXMuaD4KQEAgLTY4LDEwICs3NywxMSBAQCBJbmRleDogZ2RiLTcuMTAu OTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nY29yZWJnLmMKICsKICsgIHJldHVy biAwOwogK30KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2djb3JlYmcuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6 MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9nY29yZWJnLmV4cAkyMDE2LTAyLTE2IDEwOjQ0OjQ4Ljk5OTUyNzI2NSAr MDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2NvcmViZy5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2djb3JlYmcuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMDAwMC4uYTU0NzFiYTVkZgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9nY29yZWJnLmV4cAogQEAgLTAsMCArMSwxMTMgQEAKICsjIENvcHly aWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTg2LDMgKzE5 Niw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2djb3JlYmcuZXhwCiArCiArc2V0IGVudihQQVRIKSAkb2xkcGF0aAogK3JlbW90ZV9maWxlIHRh cmdldCBkZWxldGUgIi4vZ2RiIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02LjYt YnoyMzAwMDAtcG93ZXI2LWRpc2Fzc2VtYmx5LXRlc3QucGF0Y2ggYi9nZGItNi42LWJ6MjMwMDAw LXBvd2VyNi1kaXNhc3NlbWJseS10ZXN0LnBhdGNoCmluZGV4IGRjMGMxMDEuLjdhODdjMGUgMTAw NjQ0Ci0tLSBhL2dkYi02LjYtYnoyMzAwMDAtcG93ZXI2LWRpc2Fzc2VtYmx5LXRlc3QucGF0Y2gK KysrIGIvZ2RiLTYuNi1iejIzMDAwMC1wb3dlcjYtZGlzYXNzZW1ibHktdGVzdC5wYXRjaApAQCAt MSwyMSArMSwzMCBAQAorRnJvbSAyMDI3ODMyNzMyYmIxZGJhNTYwZTE3MzQ4YzhkZjJmYzA5YjZj Njk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxp bnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAK IFN1YmplY3Q6IGdkYi02LjYtYnoyMzAwMDAtcG93ZXI2LWRpc2Fzc2VtYmx5LXRlc3QucGF0Y2gK IAogRmlsZU5hbWU6IGdkYi02LjYtYnoyMzAwMDAtcG93ZXI2LWRpc2Fzc2VtYmx5LXRlc3QucGF0 Y2gKIAorOzsgVGVzdGNhc2UgZm9yIFBQQyBQb3dlcjYvREZQIGluc3RydWN0aW9ucyBkaXNhc3Nl bWJseSAoQlogMjMwMDAwKS4KKzs7PWZlZG9yYXRlc3QKIAogaHR0cHM6Ly9idWd6aWxsYS5yZWRo YXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMzAwMDAKIAogVGhlIG9yaWdpbmFsIHRl c3RjYXNlCiAJaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNn aT9pZD0yMzAwMDAjYzEKIHJlcXVpcmVzIHRvbyByZWNlbnQgR0NDLgorLS0tCisgZ2RiL3Rlc3Rz dWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5leHAgfCA1NCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5zICAg fCAxNiArKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKykKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5leHAK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2Vy Ni5zCiAKLQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9wb3dlcnBjLXBvd2VyNi5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0w MSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1wb3dlcjYuZXhwCTIwMTMtMDItMjUgMTQ6MzE6MDYu NjU4ODI3MTc3ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dl cnBjLXBvd2VyNi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtcG93ZXI2LmV4 cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjA4MmE0Yjc4MDIKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1wb3dlcjYu ZXhwCiBAQCAtMCwwICsxLDU0IEBACiArIyBDb3B5cmlnaHQgMjAwNyBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KICsKQEAgLTcxLDEwICs4MCwxMSBAQCBJbmRleDogZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtcG93ZXI2LmV4cAogK2dkYl90 ZXN0ICJkaXNhc3MgZnVuYyIgIjpcdGRkaXZxICAqZjAsZjIsZjBcclxuLioiICJQb3dlcjYgZGlz YXNzZW1ibHkgZGRpdnEiCiArZ2RiX3Rlc3QgImRpc2FzcyBmdW5jIiAiOlx0ZGNtcHUgICpjcjEs ZjIsZjFcclxuLioiICJQb3dlcjYgZGlzYXNzZW1ibHkgZGNtcHUiCiArZ2RiX3Rlc3QgImRpc2Fz cyBmdW5jIiAiOlx0ZGNtcHVxICAqY3IxLGYyLGYwXHJcbi4qIiAiUG93ZXI2IGRpc2Fzc2VtYmx5 IGRjbXB1cSIKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gvcG93ZXJwYy1wb3dlcjYucwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5zCTIwMTMtMDItMjUgMTQ6MzE6MDYuNjU5 ODI3MTc4ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBj LXBvd2VyNi5zIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5zCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNjY5NGIyMzdhYgorLS0tIC9kZXYv bnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyNi5zCiBAQCAt MCwwICsxLDE2IEBACiArCS50ZXh0CiArCS5nbG9ibAlmdW5jCkBAIC05MiwzICsxMDIsNiBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMt cG93ZXI2LnMKICsJLmxvbmcJMHhmYzAyMDQ0NAkvKiBkZGl2cQlmMCxmMixmMAkqLwogKwkubG9u ZwkweGVjODIwZDA0CS8qIGRjbXB1CWNyMSxmMixmMQkqLwogKwkubG9uZwkweGZjODIwNTA0CS8q IGRjbXB1cQljcjEsZjIsZjAJKi8KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi42 LWJ6MjM1MTk3LWZvcmstZGV0YWNoLWluZm8ucGF0Y2ggYi9nZGItNi42LWJ6MjM1MTk3LWZvcmst ZGV0YWNoLWluZm8ucGF0Y2gKaW5kZXggNDBiYWYwMC4uYWU2NzJkMiAxMDA2NDQKLS0tIGEvZ2Ri LTYuNi1iejIzNTE5Ny1mb3JrLWRldGFjaC1pbmZvLnBhdGNoCisrKyBiL2dkYi02LjYtYnoyMzUx OTctZm9yay1kZXRhY2gtaW5mby5wYXRjaApAQCAtMSwxOSArMSw2NiBAQAorRnJvbSA1N2U2YjE0 YWJjM2FjZGUzMzIxMDExYjEyYTNiYTA0NDgzMTE5YWJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQogRnJvbTogSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiBEYXRl OiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItNi42LWJ6MjM1 MTk3LWZvcmstZGV0YWNoLWluZm8ucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjYtYnoyMzUxOTct Zm9yay1kZXRhY2gtaW5mby5wYXRjaAogCis7OyBOb3RpZnkgdXNlciBvZiBhIGNoaWxkIGZvcmtl ZCBwcm9jZXNzIGJlaW5nIGRldGFjaGVkIChCWiAyMzUxOTcpLgorOzs9cHVzaCtqYW46IFRoaXMg aXMgbW9yZSBhYm91dCBkaXNjdXNzaW9uIGlmL3doYXQgc2hvdWxkIGJlIHByaW50ZWQuCiAKIDIw MDgtMDMtMDEgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIAog CVBvcnQgdG8gR0RCLTYuOHByZS4KIAlSZW1vdmUgdGhlIGBbJyBjaGFyYWN0ZXIgZnJvbSB0aGUg R0RCLTYuOCBkZWZhdWx0IG1lc3NhZ2UuCistLS0KKyBnZGIvaW5mcnVuLmMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NhdGNoLXN5 c2NhbGwuZXhwIHwgIDQgKy0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb3JrLWRldGFjaC5j ICAgICB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9mb3JrLWRldGFjaC5leHAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrCisg NCBmaWxlcyBjaGFuZ2VkLCA5NiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0YWNoLmMKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb3JrLWRldGFjaC5leHAKIAot SW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9yay1k ZXRhY2guYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvZm9yay1kZXRhY2guYwkyMDE2LTAyLTE1IDIzOjI1OjM2LjY4NjYwMDU5OCArMDEwMAor ZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYworaW5kZXggZDdkZjNjN2Q1 Ny4uYThhMjZmYzM2ZCAxMDA2NDQKKy0tLSBhL2dkYi9pbmZydW4uYworKysrIGIvZ2RiL2luZnJ1 bi5jCitAQCAtNDYxLDcgKzQ2MSw3IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkg XCJzZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCisgCSAgICAgIHJlbW92ZV9icmVha3BvaW50c19w aWQgKHB0aWRfZ2V0X3BpZCAoaW5mZXJpb3JfcHRpZCkpOworIAkgICAgfQorIAorLQkgIGlmIChp bmZvX3ZlcmJvc2UgfHwgZGVidWdfaW5mcnVuKQorKwkgIGlmICgxIC8qIEZlZG9yYSBCdWcgMjM1 MTk3ICovIHx8IGluZm9fdmVyYm9zZSB8fCBkZWJ1Z19pbmZydW4pCisgCSAgICB7CisgCSAgICAg IC8qIEVuc3VyZSB0aGF0IHdlIGhhdmUgYSBwcm9jZXNzIHB0aWQuICAqLworIAkgICAgICBwdGlk X3QgcHJvY2Vzc19wdGlkID0gcGlkX3RvX3B0aWQgKHB0aWRfZ2V0X3BpZCAoY2hpbGRfcHRpZCkp OworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2F0Y2gtc3lzY2FsbC5leHAg Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NhdGNoLXN5c2NhbGwuZXhwCitpbmRleCA1OTVjY2Jl YWUwLi5jOWRiYzNhYmEyIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRj aC1zeXNjYWxsLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRjaC1zeXNjYWxs LmV4cAorQEAgLTE3OSw3ICsxNzksNyBAQCBwcm9jIGNoZWNrX2Zvcl9wcm9ncmFtX2VuZCB7fSB7 CisgICAgICMgRGVsZXRpbmcgdGhlIGNhdGNocG9pbnRzCisgICAgIGRlbGV0ZV9icmVha3BvaW50 cworIAorLSAgICBnZGJfY29udGludWVfdG9fZW5kCisrICAgIGdkYl9jb250aW51ZV90b19lbmQg IiIgY29udGludWUgMQorIH0KKyAKKyBwcm9jIHRlc3RfY2F0Y2hfc3lzY2FsbF93aXRob3V0X2Fy Z3Mge30geworQEAgLTI1MCw3ICsyNTAsNyBAQCBwcm9jIHRlc3RfY2F0Y2hfc3lzY2FsbF93aXRo X3dyb25nX2FyZ3Mge30geworIAkjIElmIGl0IGRvZXNuJ3QsIGV2ZXJ5dGhpbmcgaXMgcmlnaHQg KHNpbmNlIHdlIGRvbid0IGhhdmUKKyAJIyBhIHN5c2NhbGwgbmFtZWQgIm1sb2NrIiBpbiBpdCku ICBPdGhlcndpc2UsIHRoaXMgaXMgYSBmYWlsdXJlLgorIAlzZXQgdGhpc3Rlc3QgImNhdGNoIHN5 c2NhbGwgd2l0aCB1bnVzZWQgc3lzY2FsbCAoJHN5c2NhbGxfbmFtZSkiCistCWdkYl9jb250aW51 ZV90b19lbmQgJHRoaXN0ZXN0CisrCWdkYl9jb250aW51ZV90b19lbmQgJHRoaXN0ZXN0IGNvbnRp bnVlIDEKKyAgICAgfQorIH0KKyAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2ZvcmstZGV0YWNoLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0YWNoLmMKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4wYmE4ZjQ2NWYzCistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0YWNoLmMKIEBAIC0w LDAgKzEsNTcgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRl YnVnZ2VyLgogKwpAQCAtNzIsMTAgKzExOSwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAy MTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb3JrLWRldGFjaC5jCiArICAgIH0KICsgIHJldHVy biAwOwogK30KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2ZvcmstZGV0YWNoLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvZm9yay1kZXRhY2guZXhwCTIwMTYtMDItMTUgMjM6Mjc6NTUuNzky NTg4MjY1ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb3JrLWRl dGFjaC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0YWNoLmV4cAorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjFmMWZjZWY2YzQKKy0tLSAvZGV2L251 bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9yay1kZXRhY2guZXhwCiBAQCAtMCww ICsxLDM2IEBACiArIyBDb3B5cmlnaHQgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICsKQEAgLTExMywzOCArMTYxLDYgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9yay1kZXRhY2guZXhwCiArZ2RiX3Rlc3QgIiIgXAogKyAg ICAgICAgICJEZXRhY2hpbmcgYWZ0ZXIgZm9yayBmcm9tIGNoaWxkIHByb2Nlc3MuKlxcXFtJbmZl cmlvciAuKiBleGl0ZWQgbm9ybWFsbHlcXFxdIiBcCiArICAgICAgICAgIkluZm8gbWVzc2FnZSBj YXVnaHQiCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL2luZnJ1bi5jCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTAuOTAuMjAxNjAyMTEub3JpZy9nZGIvaW5mcnVuLmMJMjAxNi0wMi0x NSAyMzoyNTowMS40MzIzNTAyODkgKzAxMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIv aW5mcnVuLmMJMjAxNi0wMi0xNSAyMzoyNzo0OS4yNzQ1NDE5ODYgKzAxMDAKLUBAIC00NzgsNyAr NDc4LDcgQEAKLSAJICAgICAgcmVtb3ZlX2JyZWFrcG9pbnRzX3BpZCAocHRpZF9nZXRfcGlkIChp bmZlcmlvcl9wdGlkKSk7Ci0gCSAgICB9Ci0gCi0tCSAgaWYgKGluZm9fdmVyYm9zZSB8fCBkZWJ1 Z19pbmZydW4pCi0rCSAgaWYgKDEgLyogRmVkb3JhIEJ1ZyAyMzUxOTcgKi8gfHwgaW5mb192ZXJi b3NlIHx8IGRlYnVnX2luZnJ1bikKLSAJICAgIHsKLSAJICAgICAgLyogRW5zdXJlIHRoYXQgd2Ug aGF2ZSBhIHByb2Nlc3MgcHRpZC4gICovCi0gCSAgICAgIHB0aWRfdCBwcm9jZXNzX3B0aWQgPSBw aWRfdG9fcHRpZCAocHRpZF9nZXRfcGlkIChjaGlsZF9wdGlkKSk7Ci1JbmRleDogZ2RiLTcuMTAu OTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRjaC1zeXNjYWxsLmV4cAotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjEwLjkwLjIwMTYwMjExLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9jYXRjaC1zeXNjYWxsLmV4cAkyMDE2LTAyLTE1IDIzOjI1OjAxLjQzMjM1MDI4OSArMDEw MAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2F0Y2gt c3lzY2FsbC5leHAJMjAxNi0wMi0xNSAyMzoyNTozNi42ODk2MDA2MTkgKzAxMDAKLUBAIC0xNjUs NyArMTY1LDcgQEAKLSAgICAgIyBEZWxldGluZyB0aGUgY2F0Y2hwb2ludHMKLSAgICAgZGVsZXRl X2JyZWFrcG9pbnRzCi0gCi0tICAgIGdkYl9jb250aW51ZV90b19lbmQKLSsgICAgZ2RiX2NvbnRp bnVlX3RvX2VuZCAiIiBjb250aW51ZSAxCi0gfQotIAotIHByb2MgdGVzdF9jYXRjaF9zeXNjYWxs X3dpdGhvdXRfYXJncyB7fSB7Ci1AQCAtMjM2LDcgKzIzNiw3IEBACi0gCSMgSWYgaXQgZG9lc24n dCwgZXZlcnl0aGluZyBpcyByaWdodCAoc2luY2Ugd2UgZG9uJ3QgaGF2ZQotIAkjIGEgc3lzY2Fs bCBuYW1lZCAibWxvY2siIGluIGl0KS4gIE90aGVyd2lzZSwgdGhpcyBpcyBhIGZhaWx1cmUuCi0g CXNldCB0aGlzdGVzdCAiY2F0Y2ggc3lzY2FsbCB3aXRoIHVudXNlZCBzeXNjYWxsICgkc3lzY2Fs bF9uYW1lKSIKLS0JZ2RiX2NvbnRpbnVlX3RvX2VuZCAkdGhpc3Rlc3QKLSsJZ2RiX2NvbnRpbnVl X3RvX2VuZCAkdGhpc3Rlc3QgY29udGludWUgMQotICAgICB9Ci0gfQotIAorLS0gCisyLjE0LjMK KwoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnoyMzc1NzItcHBjLWF0b21pYy1zZXF1ZW5jZS10ZXN0 LnBhdGNoIGIvZ2RiLTYuNi1iejIzNzU3Mi1wcGMtYXRvbWljLXNlcXVlbmNlLXRlc3QucGF0Y2gK aW5kZXggMGMzNDJjZi4uZTFjYzY5MCAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1iejIzNzU3Mi1wcGMt YXRvbWljLXNlcXVlbmNlLXRlc3QucGF0Y2gKKysrIGIvZ2RiLTYuNi1iejIzNzU3Mi1wcGMtYXRv bWljLXNlcXVlbmNlLXRlc3QucGF0Y2gKQEAgLTEsMTkgKzEsMjkgQEAKK0Zyb20gNzQxMzU1M2Jj YzgwM2ZkNmM5YWMxZDY0N2RmMmU0Zjg3MjE0YTY5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK IEZyb206IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogRGF0ZTog RnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuNi1iejIzNzU3 Mi1wcGMtYXRvbWljLXNlcXVlbmNlLXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjYtYnoy Mzc1NzItcHBjLWF0b21pYy1zZXF1ZW5jZS10ZXN0LnBhdGNoCiAKKzs7IFN1cHBvcnQgZm9yIHN0 ZXBwaW5nIG92ZXIgUFBDIGF0b21pYyBpbnN0cnVjdGlvbiBzZXF1ZW5jZXMgKEJaIDIzNzU3Miku Cis7Oz1mZWRvcmF0ZXN0CiAKIDIwMDctMDYtMjUgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRv Y2h2aWxAcmVkaGF0LmNvbT4KIAogCSogZ2RiLnRocmVhZHMvYXRvbWljLXNlcS10aHJlYWRlZC5j LAogCWdkYi50aHJlYWRzL2F0b21pYy1zZXEtdGhyZWFkZWQuZXhwOiBOZXcgZmlsZXMuCistLS0K KyBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0b21pYy1zZXEtdGhyZWFkZWQuYyAgIHwgMTcx ICsrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0b21p Yy1zZXEtdGhyZWFkZWQuZXhwIHwgIDg0ICsrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAy NTUgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi50 aHJlYWRzL2F0b21pYy1zZXEtdGhyZWFkZWQuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVz dHN1aXRlL2dkYi50aHJlYWRzL2F0b21pYy1zZXEtdGhyZWFkZWQuZXhwCiAKLUluZGV4OiBnZGIt Ni44LjUwLjIwMDgxMTI4L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXRvbWljLXNlcS10aHJl YWRlZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTYuOC41MC4yMDA4MTEyOC9nZGIvdGVzdHN1aXRlL2dkYi50 aHJlYWRzL2F0b21pYy1zZXEtdGhyZWFkZWQuYwkyMDA4LTEyLTA4IDIyOjI3OjAxLjAwMDAwMDAw MCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXRvbWljLXNl cS10aHJlYWRlZC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdG9taWMtc2VxLXRocmVh ZGVkLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4wNGY5OThiZmE2 CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0b21pYy1z ZXEtdGhyZWFkZWQuYwogQEAgLTAsMCArMSwxNzEgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTg2LDEwICsxOTYsMTEgQEAgSW5k ZXg6IGdkYi02LjguNTAuMjAwODExMjgvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdG9taWMt c2VxLXRocmVhZGVkLmMKICsKICsgIHJldHVybiAwOwkJCQkJCS8qIF9leGl0XyAqLwogK30KLUlu ZGV4OiBnZGItNi44LjUwLjIwMDgxMTI4L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXRvbWlj LXNlcS10aHJlYWRlZC5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNi44LjUwLjIwMDgxMTI4L2dkYi90ZXN0 c3VpdGUvZ2RiLnRocmVhZHMvYXRvbWljLXNlcS10aHJlYWRlZC5leHAJMjAwOC0xMi0wOCAyMjoz MTowMS4wMDAwMDAwMDAgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJl YWRzL2F0b21pYy1zZXEtdGhyZWFkZWQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9h dG9taWMtc2VxLXRocmVhZGVkLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAwMDAuLmViNDlkYjUwNmUKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvYXRvbWljLXNlcS10aHJlYWRlZC5leHAKIEBAIC0wLDAgKzEsODQgQEAKICsjIGF0 b21pYy1zZXEtdGhyZWFkZWQuZXhwIC0tIFRlc3QgY2FzZSBmb3Igc3RlcHBpbmcgb3ZlciBSSVND IGF0b21pYyBjb2RlIHNlcXMuCiArIyBUaGlzIHZhcmlhbnQgdGVzdGNhc2VzIHRoZSBjb2RlIGZv ciBzdGVwcGluZyBhbm90aGVyIHRocmVhZCB3aGlsZSBza2lwcGluZwpAQCAtMjc1LDMgKzI4Niw2 IEBAIEluZGV4OiBnZGItNi44LjUwLjIwMDgxMTI4L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv YXRvbWljLXNlcS10aHJlYWRlZC5leHAKICtnZGJfdGVzdCAiYyIgXAogKwkgIi4qUHJvZ3JhbSBl eGl0ZWQgbm9ybWFsbHlcXC4uKiIgXAogKwkgInJ1biB0aWxsIHByb2dyYW0gZXhpdCIKKy0tIAor Mi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi42LXNjaGVkdWxlcl9sb2NraW5nLXN0ZXAtaXMt ZGVmYXVsdC5wYXRjaCBiL2dkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3RlcC1pcy1kZWZhdWx0 LnBhdGNoCmluZGV4IGQxYmIzYTEuLjc4ZTNjZDkgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtc2NoZWR1 bGVyX2xvY2tpbmctc3RlcC1pcy1kZWZhdWx0LnBhdGNoCisrKyBiL2dkYi02LjYtc2NoZWR1bGVy X2xvY2tpbmctc3RlcC1pcy1kZWZhdWx0LnBhdGNoCkBAIC0xLDE1ICsxLDI1IEBACitGcm9tIDBi YmE3MjAzNjg1ZmVmOGM1YzE5YjhjOWY1NDg2MTFiNzgxMzhmMWEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0 ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuNi1zY2hl ZHVsZXJfbG9ja2luZy1zdGVwLWlzLWRlZmF1bHQucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi02LjYt c2NoZWR1bGVyX2xvY2tpbmctc3RlcC1pcy1kZWZhdWx0LnBhdGNoCiAKKzs7IE1ha2UgdXBzdHJl YW0gYHNldCBzY2hlZHVsZXItbG9ja2luZyBzdGVwJyBhcyBkZWZhdWx0LgorOzs9cHVzaCtqYW46 IEhvdyBtdWNoIGlzIHNjaGVkdWxlci1sb2NraW5nIHJlbGV2YW50IGFmdGVyIG5vbi1zdG9wPwor LS0tCisgZ2RiL2luZnJ1bi5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBnZGIv dGVzdHN1aXRlL2dkYi5taS9taS1jbGkuZXhwICAgICAgIHwgMiArLQorIGdkYi90ZXN0c3VpdGUv Z2RiLm1pL21pLWNvbnNvbGUuZXhwICAgfCAzICsrKworIGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21p LWxvZ2dpbmcuZXhwICAgfCA0ICsrLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5vcHQvaW5saW5lLWNt ZHMuZXhwIHwgMiArLQorIDUgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0 aW9ucygtKQogCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2luZnJ1bi5jCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvaW5mcnVuLmMJMjAxNy0w Mi0wNyAyMTowNzo0MC4zMjEyMDI0NDggKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvaW5mcnVuLmMJMjAxNy0wMi0wNyAyMTowNzo0Mi42ODAyMjAzNjUgKzAxMDAKLUBAIC0yMjE4 LDcgKzIyMTgsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYwor aW5kZXggYThhMjZmYzM2ZC4uZGI3NDJmNzM5OCAxMDA2NDQKKy0tLSBhL2dkYi9pbmZydW4uYwor KysrIGIvZ2RiL2luZnJ1bi5jCitAQCAtMjIwMiw3ICsyMjAyLDcgQEAgc3RhdGljIGNvbnN0IGNo YXIgKmNvbnN0IHNjaGVkdWxlcl9lbnVtc1tdID0gewogICAgc2NoZWRsb2NrX3JlcGxheSwKICAg IE5VTEwKICB9OwpAQCAtMTgsMTEgKzI4LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvaW5mcnVuLmMKICBzdGF0aWMgdm9pZAogIHNob3dfc2NoZWR1bGVyX21vZGUgKHN0cnVj dCB1aV9maWxlICpmaWxlLCBpbnQgZnJvbV90dHksCiAgCQkgICAgIHN0cnVjdCBjbWRfbGlzdF9l bGVtZW50ICpjLCBjb25zdCBjaGFyICp2YWx1ZSkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1jbGkuZXhwCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu MTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1jbGkuZXhwCTIwMTct MDItMDcgMjE6MDc6NDAuMzIyMjAyNDU1ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcv Z2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktY2xpLmV4cAkyMDE3LTAyLTA3IDIxOjA3OjQyLjY4MDIy MDM2NSArMDEwMAotQEAgLTE5OSw3ICsxOTksNyBAQAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLm1pL21pLWNsaS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1jbGkuZXhwCitp bmRleCAzYTllMWMzNTRmLi4wZjM5ODI3NmU5IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIubWkvbWktY2xpLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktY2xpLmV4cAor QEAgLTE5OSw3ICsxOTksNyBAQCBtaV9leHBlY3Rfc3RvcCAiYnJlYWtwb2ludC1oaXQiICJtYWlu IiAiIiAiLipiYXNpY3MuYyIgXAogICMgVGVzdCB0aGF0IHRoZSB0b2tlbiBpcyBvdXRwdXQgZXZl biBmb3IgQ0xJIGNvbW1hbmRzCiAgIyBBbHNvIHRlc3QgdGhhdCAqc3RvcHBlZCBpbmNsdWRlcyBm cmFtZSBpbmZvcm1hdGlvbi4KICBtaV9nZGJfdGVzdCAiMzQgbmV4dCIgXApAQCAtMzEsMTEgKzQx LDI1IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5taS9t aS1jbGkuZXhwCiAgICAgICIzNCBuZXh0OiBydW4iCiAgCiAgIyBUZXN0IHRoYXQgdGhlIG5ldyBj dXJyZW50IHNvdXJjZSBsaW5lIGlzIG91dHB1dCB0byB0aGUgY29uc29sZQotSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLWxvZ2dpbmcuZXhwCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5t aS9taS1sb2dnaW5nLmV4cAkyMDE3LTAyLTA3IDIxOjA3OjQyLjY4MTIyMDM3MiArMDEwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLWxvZ2dpbmcuZXhw CTIwMTctMDItMDcgMjE6MDk6MzYuOTUwMDg4MjY5ICswMTAwCi1AQCAtNTMsNyArNTMsNyBAQAor ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLWNvbnNvbGUuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIubWkvbWktY29uc29sZS5leHAKK2luZGV4IGFlOTljOTNiOGEuLjM3OGEyNzQ5 ZTQgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1jb25zb2xlLmV4cAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktY29uc29sZS5leHAKK0BAIC02MCw2ICs2MCw5IEBA IGlmICB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHti aW5maWxlfSIgZXhlY3V0YWJsZSB7ZGViCisgCisgbWlfcnVuX3RvX21haW4KKyAKKysjIHRocmVh ZC1pZD1cImFsbFwiIHZzLiB0aHJlYWQtaWQ9XCIxXCIgYmVsb3c6CisrbWlfZ2RiX3Rlc3QgIjIx MC1nZGItc2V0IHNjaGVkdWxlci1sb2NraW5nIG9mZiIgIjIxMFxcXmRvbmUiICJzZXQgc2NoZWR1 bGVyLWxvY2tpbmcgb2ZmIgorKworICMgVGhlIG91dHB1dCB3ZSBnZXQgZnJvbSB0aGUgdGFyZ2V0 IGRlcGVuZHMgb24gaG93IGl0IGlzIGhvc3RlZC4gIElmCisgIyB3ZSBhcmUgc2VtaWhvc3RlZCAo ZS5nLiwgdGhlIHNpbSBvciBhIHJlbW90ZSB0YXJnZXQgdGhhdCBzdXBwb3J0cworICMgdGhlIEZp bGUgSS9PIHJlbW90ZSBwcm90b2NvbCBleHRlbnNpb24pLCB3ZSBzZWUgdGhlIHRhcmdldCBJL08K K2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS1sb2dnaW5nLmV4cCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLm1pL21pLWxvZ2dpbmcuZXhwCitpbmRleCAwN2VhZmY5MGQxLi5hZTFhMGMx YjQxIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktbG9nZ2luZy5leHAKKysr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLWxvZ2dpbmcuZXhwCitAQCAtNTMsNyArNTMsNyBA QCBjbG9zZSAkY2hhbgogIAogIHNldCBtaV9sb2dfcHJvbXB0ICJcWyhcXWdkYlxbKVxdIFxbXHJc blxdKyIKICAKQEAgLTQ0LDcgKzY4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi90ZXN0c3VpdGUvZ2RiLm1pL21pLWxvZ2dpbmcuZXhwCiAgICAgIHBhc3MgImxvZyBmaWxlIGNv bnRlbnRzIgogIH0gZWxzZSB7CiAgICAgIGZhaWwgImxvZyBmaWxlIGNvbnRlbnRzIgotQEAgLTc2 LDcgKzc2LDcgQEAKK0BAIC03Niw3ICs3Niw3IEBAIHNldCBjaGFuIFtvcGVuICRtaWxvZ2ZpbGVd CiAgc2V0IGxvZ2NvbnRlbnQgW3JlYWQgJGNoYW5dCiAgY2xvc2UgJGNoYW4KICAKQEAgLTUzLDI1 ICs3NywxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu bWkvbWktbG9nZ2luZy5leHAKICAgICAgcGFzcyAicmVkaXJlY3QgbG9nIGZpbGUgY29udGVudHMi CiAgfSBlbHNlIHsKICAgICAgZmFpbCAicmVkaXJlY3QgbG9nIGZpbGUgY29udGVudHMiCi1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktY29uc29sZS5l eHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi90ZXN0c3Vp dGUvZ2RiLm1pL21pLWNvbnNvbGUuZXhwCTIwMTctMDItMDcgMjE6MDc6NDAuMzIzMjAyNDYzICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktY29u c29sZS5leHAJMjAxNy0wMi0wNyAyMTowNzo0Mi42ODEyMjAzNzIgKzAxMDAKLUBAIC02MCw2ICs2 MCw5IEBACi0gCi0gbWlfcnVuX3RvX21haW4KLSAKLSsjIHRocmVhZC1pZD1cImFsbFwiIHZzLiB0 aHJlYWQtaWQ9XCIxXCIgYmVsb3c6Ci0rbWlfZ2RiX3Rlc3QgIjIxMC1nZGItc2V0IHNjaGVkdWxl ci1sb2NraW5nIG9mZiIgIjIxMFxcXmRvbmUiICJzZXQgc2NoZWR1bGVyLWxvY2tpbmcgb2ZmIgot KwotICMgVGhlIG91dHB1dCB3ZSBnZXQgZnJvbSB0aGUgdGFyZ2V0IGRlcGVuZHMgb24gaG93IGl0 IGlzIGhvc3RlZC4gIElmCi0gIyB3ZSBhcmUgc2VtaWhvc3RlZCAoZS5nLiwgdGhlIHNpbSBvciBh IHJlbW90ZSB0YXJnZXQgdGhhdCBzdXBwb3J0cwotICMgdGhlIEZpbGUgSS9PIHJlbW90ZSBwcm90 b2NvbCBleHRlbnNpb24pLCB3ZSBzZWUgdGhlIHRhcmdldCBJL08KLUluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvaW5saW5lLWNtZHMuZXhwCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5vcHQv aW5saW5lLWNtZHMuZXhwCTIwMTctMDItMDcgMjE6MDc6NDAuMzIzMjAyNDYzICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2lubGluZS1jbWRzLmV4 cAkyMDE3LTAyLTA3IDIxOjA3OjQyLjY4MTIyMDM3MiArMDEwMAotQEAgLTMzMSw3ICszMzEsNyBA QAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9pbmxpbmUtY21kcy5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5vcHQvaW5saW5lLWNtZHMuZXhwCitpbmRleCA4YmQ5MmMyZDU5Li5l NjlmM2Q0YmJmIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2lubGluZS1jbWRz LmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2lubGluZS1jbWRzLmV4cAorQEAgLTMz MSw3ICszMzEsNyBAQCBwcm9jIG1pX2NsaV9zdGVwIHtjbGlfb3V0cHV0X3JlIG1lc3NhZ2V9IHsK ICAKICAgICAgc2VuZF9nZGIgImludGVycHJldGVyLWV4ZWMgY29uc29sZSBcInN0ZXBcIlxuIgog ICAgICBnZGJfZXhwZWN0IHsKQEAgLTgwLDMgKzkwLDYgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9pbmxpbmUtY21kcy5leHAKICAJICAgIHBhc3Mg JG1lc3NhZ2UKICAJfQogIAl0aW1lb3V0IHsKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9n ZGItNi42LXRlc3RzdWl0ZS10aW1lb3V0cy5wYXRjaCBiL2dkYi02LjYtdGVzdHN1aXRlLXRpbWVv dXRzLnBhdGNoCmluZGV4IGUzNmJkYTUuLjYzOTI0YzUgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtdGVz dHN1aXRlLXRpbWVvdXRzLnBhdGNoCisrKyBiL2dkYi02LjYtdGVzdHN1aXRlLXRpbWVvdXRzLnBh dGNoCkBAIC0xLDE1ICsxLDIyIEBACitGcm9tIGM3MDZkNDExMTliNmU4ZmY4NDE0YTU2Zjc1Mjhl OGVjNTMxN2ViZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBh dGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1 MCArMDIwMAogU3ViamVjdDogZ2RiLTYuNi10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2gKIAogRmls ZU5hbWU6IGdkYi02LjYtdGVzdHN1aXRlLXRpbWVvdXRzLnBhdGNoCiAKKzs7IEF2b2lkIHRvbyBs b25nIHRpbWVvdXRzIG9uIGZhaWxpbmcgY2FzZXMgb2YgImFubm90YTEuZXhwIGFubm90YTMuZXhw Ii4KKzs7PWZlZG9yYXRlc3QKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMS5l eHAgfCAyICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGEzLmV4cCB8IDIgKysKKyAy IGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogZ2RiLTcuNi41MC4yMDEz MDczMS1jdnMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGExLmV4cAotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9h bm5vdGExLmV4cAkyMDEzLTA4LTAyIDE2OjIzOjI2LjU1OTkzNjI1OCArMDIwMAotKysrIGdkYi03 LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMS5leHAJMjAx My0wOC0wMiAxNjoyMzo1Ni41OTA5NzY0MTggKzAyMDAKLUBAIC00MSw2ICs0MSw4IEBAIGlmICB7 IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8KK2RpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2Fubm90YTEuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5v dGExLmV4cAoraW5kZXggYmIzZGMyZmZhZS4uNzA4MGYyNjRmYyAxMDA2NDQKKy0tLSBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMS5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYW5ub3RhMS5leHAKK0BAIC0zOSw2ICszOSw4IEBAIGlmICB7IFtnZGJfY29tcGlsZSAiJHtz cmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSB7ZGVi CiAgCiAgY2xlYW5fcmVzdGFydCAke2JpbmZpbGV9CiAgCkBAIC0xOCwxMSArMjUsMTEgQEAgSW5k ZXg6IGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3Rh MS5leHAKICAjIFRoZSBjb21tYW5kcyB3ZSB0ZXN0IGhlcmUgcHJvZHVjZSBtYW55IGxpbmVzIG9m IG91dHB1dDsgZGlzYWJsZSAicHJlc3MgCiAgIyA8cmV0dXJuPiB0byBjb250aW51ZSIgcHJvbXB0 cy4KICBnZGJfdGVzdF9ub19vdXRwdXQgInNldCBoZWlnaHQgMCIKLUluZGV4OiBnZGItNy42LjUw LjIwMTMwNzMxLWN2cy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Fubm90YTMuZXhwCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuNi41MC4yMDEzMDczMS1jdnMub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2Fubm90YTMuZXhwCTIwMTMtMDgtMDIgMTY6MjM6MjYuNTYwOTM2MjU5ICswMjAwCi0rKysg Z2RiLTcuNi41MC4yMDEzMDczMS1jdnMvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGEzLmV4 cAkyMDEzLTA4LTAyIDE2OjI0OjExLjY1NDk5NjI2NyArMDIwMAotQEAgLTQwLDYgKzQwLDggQEAg aWYgIHsgW2dkYl9jb21waWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9LworZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2Fubm90YTMuZXhwCitpbmRleCA1YTk3MWYwMDE4Li4wZWU1YzM1NWRiIDEwMDY0NAorLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGEzLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9hbm5vdGEzLmV4cAorQEAgLTM4LDYgKzM4LDggQEAgaWYgIHsgW2dkYl9jb21waWxl ICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7c3JjZmlsZX0iICIke2JpbmZpbGV9IiBleGVjdXRhYmxl IHtkZWIKICAKICBjbGVhbl9yZXN0YXJ0ICR7YmluZmlsZX0KICAKQEAgLTMxLDMgKzM4LDYgQEAg SW5kZXg6IGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5u b3RhMy5leHAKICAjIFRoZSBjb21tYW5kcyB3ZSB0ZXN0IGhlcmUgcHJvZHVjZSBtYW55IGxpbmVz IG9mIG91dHB1dDsgZGlzYWJsZSAicHJlc3MgCiAgIyA8cmV0dXJuPiB0byBjb250aW51ZSIgcHJv bXB0cy4KICBnZGJfdGVzdF9ub19vdXRwdXQgInNldCBoZWlnaHQgMCIKKy0tIAorMi4xNC4zCisK CmRpZmYgLS1naXQgYS9nZGItNi42LXRocmVhZHMtc3RhdGljLXRlc3QucGF0Y2ggYi9nZGItNi42 LXRocmVhZHMtc3RhdGljLXRlc3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDlkZTg1ODcuLjAwMDAwMDAKLS0tIGEvZ2RiLTYuNi10aHJlYWRzLXN0YXRpYy10ZXN0LnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVz IDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAy MDAKLVN1YmplY3Q6IGdkYi02LjYtdGhyZWFkcy1zdGF0aWMtdGVzdC5wYXRjaAotCi1GaWxlTmFt ZTogZ2RiLTYuNi10aHJlYWRzLXN0YXRpYy10ZXN0LnBhdGNoCi0KLQotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc3RhdGljdGhyZWFkcy5leHAK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi90ZXN0c3VpdGUv Z2RiLnRocmVhZHMvc3RhdGljdGhyZWFkcy5leHAJMjAxNy0wMi0yNiAxNzoyNDo0OC4zOTIzMTYw NDUgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi50aHJl YWRzL3N0YXRpY3RocmVhZHMuZXhwCTIwMTctMDItMjYgMTc6MjU6MzguNjQ5Njc3NTk1ICswMTAw Ci1AQCAtNDEsNiArNDEsMTMgQEAKLSAjIFNlZSBpZiB0aGUgc3RhdGljIG11bHRpLXRocmVhZGVk IHByb2dyYW0gcnVucy4KLSAKLSBydW50b19tYWluCi0rCi0rIyBTZWUgaWYgd2UgZ2V0IGV4Y2Vz c2l2ZSBMV1AgdGhlcmUgKHBhdGNoZWQgZ2xpYmMgd2l0aCB1bnBhdGNoZWQgR0RCKToKLSsjICog MiBUaHJlYWQgMTM1NjYxNjY0IChMV1AgMzg1NikgIG1haW4gKCkgYXQgdGhyZWFkbG9vcC5jOjQx Ci0rIyAgIDEgcHJvY2VzcyAzODU2ICBtYWluICgpIGF0IHRocmVhZGxvb3AuYzo0MQotKwotK2dk Yl90ZXN0ICJpbmZvIHRocmVhZHMiICJeaW5mbyB0aHJlYWRzXHJcblxbIFx0XF0qSWRcWyBcdFxd K1RhcmdldCBJZFxbIFx0XF0rRnJhbWVcWyBcdFxdKlxyXG5cW15cclxuXF0qIFRocmVhZCBcW15c clxuXF0qIiAiaW5mbyB0aHJlYWRzIG9uIHN0YXJ0IgotKwotIGdkYl90ZXN0ICJicmVhayBzZW1f cG9zdCIKLSBzZXQgdGVzdCAiY29udGludWUgdG8gbWFpbidzIGNhbGwgb2Ygc2VtX3Bvc3QiCi0g Z2RiX3Rlc3RfbXVsdGlwbGUgImNvbnRpbnVlIiAiJHRlc3QiIHsKCmRpZmYgLS1naXQgYS9nZGIt Ni43LWNoYXJzaWduLXRlc3QucGF0Y2ggYi9nZGItNi43LWNoYXJzaWduLXRlc3QucGF0Y2gKaW5k ZXggMDliZDkyMy4uZDc4NzAxMiAxMDA2NDQKLS0tIGEvZ2RiLTYuNy1jaGFyc2lnbi10ZXN0LnBh dGNoCisrKyBiL2dkYi02LjctY2hhcnNpZ24tdGVzdC5wYXRjaApAQCAtMSw5ICsxLDEzIEBACitG cm9tIDc3ODE0YWI0NmEwYjc3YTQ1YTY4ZjJmZWZlMzAwZWJjODk3ZjAzMjMgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCiBGcm9tOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdk Yi02LjctY2hhcnNpZ24tdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNy1jaGFyc2lnbi10 ZXN0LnBhdGNoCiAKKzs7IEZpeCBkaXNwbGF5aW5nIG9mIG51bWVyaWMgY2hhciBhcnJheXMgYXMg c3RyaW5ncyAoQlogMjI0MTI4KS4KKzs7PWZlZG9yYXRlc3Q6IEJ1dCBpdCBpcyBmYWlsaW5nIGFu eXdheSwgb25lIHNob3VsZCBjaGVjayB0aGUgYmVoYXZpb3IgbW9yZS4KKwogaHR0cHM6Ly9idWd6 aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMjQxMjgKIAogMjAwNy0w MS0yNSAgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CkBAIC0xNSwx MSArMTksMTggQEAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVn LmNnaT9pZD0yMjQxMjgKIAogCVBvcnQgdG8gR0RCLTYuNyAtIG9ubHkgdGhlIHRlc3RjYXNlIGxl ZnQsIHBhdGNoIGhhcyBiZWVuIHJldmVydGVkLAogCWNoYXItdmVjdG9ycyByZXN0cmljdGVkLgor LS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jaGFyc2lnbi5jICAgfCAzNyArKysrKysrKysr KysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jaGFyc2lnbi5leHAgfCA2MyAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAx MDAgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2NoYXJzaWduLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9jaGFyc2lnbi5leHAKIAotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvY2hhcnNpZ24uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2hhcnNpZ24uYwkyMDE2LTAyLTE1IDIzOjI2OjA2LjQyOTgx MTc3OCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2hhcnNpZ24u YyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2hhcnNpZ24uYworbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAuLjQxZDE3NWZmOWQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2hhcnNpZ24uYwogQEAgLTAsMCArMSwzNyBAQAogKy8qIFRo aXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC01OCwx MCArNjksMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvY2hhcnNpZ24uYwogK2NoYXJfbiBuX3R5cGVkW109IkEiOwogK2NoYXJfcyBzX3R5cGVk W109IkEiOwogK2NoYXJfdSB1X3R5cGVkW109IkEiOwotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYw MjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2hhcnNpZ24uZXhwCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu MTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jaGFyc2lnbi5leHAJMjAxNi0w Mi0xNSAyMzoyNjoxMi40MDk4NTQyMzcgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2NoYXJzaWduLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2hhcnNpZ24u ZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYjVmYTU4MDQ5MAor LS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jaGFyc2lnbi5leHAK IEBAIC0wLDAgKzEsNjMgQEAKICsjIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKwpAQCAtMTI2LDMgKzEzOCw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2 MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NoYXJzaWduLmV4cAogK2RvX3Rlc3Qge30KICtk b190ZXN0IHstZnNpZ25lZC1jaGFyfQogK2RvX3Rlc3Qgey1mdW5zaWduZWQtY2hhcn0KKy0tIAor Mi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi43LXBwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8y LXRlc3QucGF0Y2ggYi9nZGItNi43LXBwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8yLXRlc3QucGF0 Y2gKaW5kZXggZWIzNmFhNC4uMjRjMTZhOCAxMDA2NDQKLS0tIGEvZ2RiLTYuNy1wcGMtY2xvYmJl cmVkLXJlZ2lzdGVycy1PMi10ZXN0LnBhdGNoCisrKyBiL2dkYi02LjctcHBjLWNsb2JiZXJlZC1y ZWdpc3RlcnMtTzItdGVzdC5wYXRjaApAQCAtMSw5ICsxLDEyIEBACitGcm9tIGUxOTQwNjk1ZGIw ZTE4NWZmOWU2Njk2YWVjYWU1NzUxMGY5M2QwOWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBG cm9tOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIERhdGU6IEZy aSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjctcHBjLWNsb2Ji ZXJlZC1yZWdpc3RlcnMtTzItdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuNy1wcGMtY2xv YmJlcmVkLXJlZ2lzdGVycy1PMi10ZXN0LnBhdGNoCiAKKzs7IFRlc3QgUFBDIGhpZGluZyBvZiBj YWxsLXZvbGF0aWxlIHBhcmFtZXRlciByZWdpc3Rlci4KKzs7PWZlZG9yYXRlc3QKIAogMjAwNy0x MS0wNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogCkBAIC0x OSw5ICsyMiwxOCBAQCBodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAwNy0w OS9tc2cwMDIyOC5odG1sCiAJKiByczYwMDAtdGRlcC5jIChwcGNfZHdhcmYyX2ZyYW1lX2luaXRf cmVnKTogTmV3IGZ1bmN0aW9uLgogCSogKHJzNjAwMF9nZGJhcmNoX2luaXQpOiBJbnN0YWxsIHBw Y19kd2FyZjJfZnJhbWVfaW5pdF9yZWcgYXMKIAlkZWZhdWx0IGR3YXJmMl9mcmFtZV9zZXRfaW5p dF9yZWcgZnVuY3Rpb24uCistLS0KKyAuLi4vZ2RiLmFyY2gvcHBjLWNsb2JiZXJlZC1yZWdpc3Rl cnMtTzIuYyAgICAgICAgICB8IDIxICsrKysrKysrKworIC4uLi9nZGIuYXJjaC9wcGMtY2xvYmJl cmVkLXJlZ2lzdGVycy1PMi5leHAgICAgICAgIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKwor IDIgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBn ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8yLmMKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wcGMtY2xvYmJlcmVkLXJlZ2lz dGVycy1PMi5leHAKIAotLS0tIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCi0r KysgLi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8yLmMJ MyBOb3YgMjAwNyAyMjoyMjoyOCAtMDAwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvcHBjLWNsb2JiZXJlZC1yZWdpc3RlcnMtTzIuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gvcHBjLWNsb2JiZXJlZC1yZWdpc3RlcnMtTzIuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLjY5OGZmOGEwYjUKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gvcHBjLWNsb2JiZXJlZC1yZWdpc3RlcnMtTzIuYwogQEAgLTAsMCArMSwy MSBAQAogKwogK3Vuc2lnbmVkICogX19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKQpAQCAtNDQsOCAr NTYsMTEgQEAgaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMDctMDkvbXNn MDAyMjguaHRtbAogKyAgeSA9IDE0OwogKyAgcmV0dXJuIChpbnQpZ2VuX21vdnNkICgmeCwgJnkp OwogK30KLS0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAotKysrIC4vZ2Ri L3Rlc3RzdWl0ZS9nZGIuYXJjaC9wcGMtY2xvYmJlcmVkLXJlZ2lzdGVycy1PMi5leHAJMyBOb3Yg MjAwNyAyMjoyMjoyOCAtMDAwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv cHBjLWNsb2JiZXJlZC1yZWdpc3RlcnMtTzIuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9w cGMtY2xvYmJlcmVkLXJlZ2lzdGVycy1PMi5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwMDAwLi5jOWViZDBlNTIyCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL3BwYy1jbG9iYmVyZWQtcmVnaXN0ZXJzLU8yLmV4cAogQEAgLTAsMCArMSw1 NCBAQAogKyMgQ29weXJpZ2h0IDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAr IwpAQCAtMTAxLDMgKzExNiw2IEBAIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hl cy8yMDA3LTA5L21zZzAwMjI4Lmh0bWwKICsKICtnZGJfdGVzdCBiYWNrdHJhY2UgIi4qb3BlcmFu ZDA9PHZhbHVlIG9wdGltaXplZCBvdXQ+LipvcGVyYW5kMT08dmFsdWUgb3B0aW1pemVkIG91dD4u KiIgXAogKyAgIkNoZWNrIHZhbHVlIG9mIGNhbGwgY2xvYmJlcmVkIHJlZ2lzdGVycyIKKy0tIAor Mi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi43LXRlc3RzdWl0ZS1zdGFibGUtcmVzdWx0cy5w YXRjaCBiL2dkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRzLnBhdGNoCmluZGV4IDkwNDM5 NGQuLjQxNWY1OWIgMTAwNjQ0Ci0tLSBhL2dkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRz LnBhdGNoCisrKyBiL2dkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRzLnBhdGNoCkBAIC0x LDkgKzEsMTIgQEAKK0Zyb20gNGZiYWMyMDM5ODM2NTMyYjYyMWExYTBhYTY4NjE4NmUwZGI0YTBi YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEphbiBLcmF0b2NodmlsIDxqYW4ua3Jh dG9jaHZpbEByZWRoYXQuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIw MAogU3ViamVjdDogZ2RiLTYuNy10ZXN0c3VpdGUtc3RhYmxlLXJlc3VsdHMucGF0Y2gKIAogRmls ZU5hbWU6IGdkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRzLnBhdGNoCiAKKzs7IFRlc3Rz dWl0ZSBmaXhlcyBmb3IgbW9yZSBzdGFibGUvY29tcGFyYWJsZSByZXN1bHRzLgorOzs9ZmVkb3Jh dGVzdAogCiBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZpbGVpby5jOgogZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9maWxlaW8uZXhwOgpAQCAtMTUsMjMgKzE4LDI0IEBAIGdkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvZmlsZWlvLmV4cDoKIAkqIGdkYi5iYXNlL2ZpbGVpby5leHA6IENoYW5nZSB0aGUgc3Rh cnR1cCBhbmQgZmluaXNoIGNsZWFudXAuCiAJQ2hhbmdlIHRoZSB0ZXN0IGZpbGUgcmVmZXJlbmNl IHRvIGJlIGludG8gdGhlIGBmaWxlaW8uZGlyJyBkaXJlY3RvcnkuCiAKLQogc291cmNlcy9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2R1bXAuZXhwOgogRm91bmQgb24gUkhFTC01LnMzOTB4LgogCi0K IGdkYi02LjguNTAuMjAwOTAyMDkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdXh2LmV4cDoKIHJh bmRvbSBGQUlMOiBnZGIuYmFzZS9hdXh2LmV4cDogbWF0Y2hpbmcgYXV4diBkYXRhIGZyb20gbGl2 ZSBhbmQgZ2NvcmUKIAotCiBnZGItNi44LjUwLjIwMDkwMjA5L2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYW5ub3RhMS5leHA6CiBmcmFtZXMtaW52YWxpZCBjYW4gaGFwcGVuIGFzeW5jaHJvbm91c2x5 LgorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9maWxlaW8uYyAgIHwgMjIgKysrKysrKysr KysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmlsZWlvLmV4cCB8IDEzICsr KysrKy0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDcgZGVsZXRp b25zKC0pCiAKLUluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZpbGVpby5j Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Zp bGVpby5jCTIwMTYtMDgtMDEgMTc6NTA6MjEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMTIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9maWxlaW8uYwkyMDE2LTEwLTA3IDIyOjQ5OjIwLjY4OTM0 NjkxNCArMDIwMAotQEAgLTU1Niw2ICs1NTYsMjggQEAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2ZpbGVpby5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9maWxlaW8uYwor aW5kZXggN2Y0ODJhMzRkMy4uMWNhYWRiYWU4NCAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZmlsZWlvLmMKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmlsZWlvLmMK K0BAIC01NjAsNiArNTYwLDI4IEBAIHN0cmVycm5vIChpbnQgZXJyKQogIGludAogIG1haW4gKCkK ICB7CkBAIC02MCwxMSArNjQsMTEgQEAgSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvZmlsZWlvLmMKICAgIC8qIERvbid0IGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhlIGNhbGxz LiAgVGhleSBwYXJ0bHkgZGVwZW5kIG9uIGVhY2ggb3RoZXIgKi8KICAgIHRlc3Rfb3BlbiAoKTsK ICAgIHRlc3Rfd3JpdGUgKCk7Ci1JbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9maWxlaW8uZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIub3JpZy9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2ZpbGVpby5leHAJMjAxNi0wOC0wMSAxNzo1MDoyMS4wMDAwMDAwMDAgKzAyMDAK LSsrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZpbGVpby5leHAJMjAxNi0xMC0w NyAyMjo1NDo0NC42ODAwNzE5MDYgKzAyMDAKLUBAIC0yNCw5ICsyNCw5IEBACitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9maWxlaW8uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9maWxlaW8uZXhwCitpbmRleCA5OWFmYWZmYjA1Li45MmU5NzQzYzc5IDEwMDY0NAorLS0t IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9maWxlaW8uZXhwCisrKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2ZpbGVpby5leHAKK0BAIC0yNCw5ICsyNCw5IEBAIGlmIFt0YXJnZXRfaW5mbyBl eGlzdHMgZ2RiLG5vZmlsZWlvXSB7CiAgc3RhbmRhcmRfdGVzdGZpbGUKICAKICBpZiB7W2lzX3Jl bW90ZSBob3N0XX0gewpAQCAtNzYsNyArODAsNyBAQCBJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9maWxlaW8uZXhwCiAgfQogIAogIGlmICB7IFtnZGJfY29tcGlsZSAiJHtz cmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgXAotQEAgLTQ3LDcgKzQ3 LDggQEAKK0BAIC00Nyw3ICs0Nyw4IEBAIHNldCBkaXIyIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSBk aXIyLmZpbGVpby50ZXN0XQogIGlmIHtbZmlsZSBleGlzdHMgJGRpcjJdICYmICFbZmlsZSB3cml0 YWJsZSAkZGlyMl19IHsKICAgICAgc3lzdGVtICJjaG1vZCArdyAkZGlyMiIKICB9CkBAIC04Niw3 ICs5MCw3IEBAIEluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZpbGVpby5l eHAKICAKICBzZXQgb2xkdGltZW91dCAkdGltZW91dAogIHNldCB0aW1lb3V0IFtleHByICIkdGlt ZW91dCArIDYwIl0KLUBAIC04OSw3ICs5MCw3IEBACitAQCAtODksNyArOTAsNyBAQCBnZGJfdGVz dCBjb250aW51ZSBcCiAgCiAgZ2RiX3Rlc3QgImNvbnRpbnVlIiAiLioiICIiCiAgCkBAIC05NSw3 ICs5OSw3IEBAIEluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZpbGVpby5l eHAKICAKICBnZGJfdGVzdCBjb250aW51ZSBcCiAgIkNvbnRpbnVpbmdcXC4uKm9wZW4gNTouKkVB Q0NFUyRzdG9wX21zZyIgXAotQEAgLTI3Niw5ICsyNzcsNyBAQAorQEAgLTI3Niw5ICsyNzcsNyBA QCBnZGJfdGVzdCBjb250aW51ZSBcCiAgZ2RiX2V4aXQKICAKICAjIE1ha2UgZGlyMiB3cml0YWJs ZSBhZ2FpbiBzbyBybSAtcmYgb2YgYSBidWlsZCB0cmVlIEp1c3QgV29ya3MuCkBAIC0xMDYsMyAr MTEwLDYgQEAgSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZmlsZWlvLmV4 cAogIAogIHNldCB0aW1lb3V0ICRvbGR0aW1lb3V0CiAgcmV0dXJuIDAKKy0tIAorMi4xNC4zCisK CmRpZmYgLS1naXQgYS9nZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0 Y2ggYi9nZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gKaW5kZXgg NGQ3N2IxMS4uZmE4OGM5MSAxMDA2NDQKLS0tIGEvZ2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRl dGFjaC1zdG9wcGVkLnBhdGNoCisrKyBiL2dkYi02LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRhY2gt c3RvcHBlZC5wYXRjaApAQCAtMSwxNCArMSwyNCBAQAorRnJvbSAyZTRlZmJiYzg2MTE4NmU1Zjg3 YzdiMjYxOWIxNzFiODdhOTRjYTljIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVk b3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIw MTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRh Y2gtc3RvcHBlZC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRl dGFjaC1zdG9wcGVkLnBhdGNoCiAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaW5m cnVuLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9pbmZy dW4uYwkyMDE3LTA0LTIwIDIzOjE5OjE2LjA1NjQzNDMwOSArMDIwMAotKysrIGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9pbmZydW4uYwkyMDE3LTA0LTIwIDIzOjE5OjIyLjkzMjQ4MDM2NyArMDIw MAotQEAgLTYyMCw2ICs2MjAsMTMgQEAKKzs7IFtSSEVMNSxSSEVMNl0gRml4IGF0dGFjaGluZyB0 byBzdG9wcGVkIHByb2Nlc3Nlcy4KKzs7IFtSSEVMNV0gV29ya2Fyb3VuZCBrZXJuZWwgZm9yIGRl dGFjaGluZyBTSUdTVE9QcGVkIHByb2Nlc3NlcyAoQlogODA5MzgyKS4KKzs7PWZlZG9yYQorLS0t CisgZ2RiL2luZnJ1bi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysr CisgZ2RiL2xpbnV4LW5hdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0NSArKysr KysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9w cGVkLmV4cCB8IDYwICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyAzIGZpbGVzIGNoYW5n ZWQsIDExMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nZGIv aW5mcnVuLmMgYi9nZGIvaW5mcnVuLmMKK2luZGV4IGMyMGEwMmU2MDAuLjI5OTU4NWYzNTAgMTAw NjQ0CistLS0gYS9nZGIvaW5mcnVuLmMKKysrKyBiL2dkYi9pbmZydW4uYworQEAgLTYwNiw2ICs2 MDYsMTMgQEAgaG9sZGluZyB0aGUgY2hpbGQgc3RvcHBlZC4gIFRyeSBcInNldCBkZXRhY2gtb24t Zm9ya1wiIG9yIFwKICAJCQkJdGFyZ2V0X3BpZF90b19zdHIgKHByb2Nlc3NfcHRpZCkpOwogIAkg ICAgfQogIApAQCAtMjIsMTEgKzMyLDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvaW5mcnVuLmMKICAJICB0YXJnZXRfZGV0YWNoIChOVUxMLCAwKTsKICAJfQogIAotSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9saW51eC1uYXQuYwotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2xpbnV4LW5hdC5jCTIwMTctMDQtMjAgMjM6MTk6 MTYuMDU4NDM0MzIyICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2xpbnV4LW5h dC5jCTIwMTctMDQtMjAgMjM6MTk6MjIuOTMzNDgwMzczICswMjAwCi1AQCAtMTk0LDYgKzE5NCwx MSBAQAorZGlmZiAtLWdpdCBhL2dkYi9saW51eC1uYXQuYyBiL2dkYi9saW51eC1uYXQuYworaW5k ZXggNjA0MGMxZjEyOS4uNjY3ZTYxZTcwMSAxMDA2NDQKKy0tLSBhL2dkYi9saW51eC1uYXQuYwor KysrIGIvZ2RiL2xpbnV4LW5hdC5jCitAQCAtMTk0LDYgKzE5NCwxMSBAQCBlbnVtIHRyaWJvb2wg aGF2ZV9wdHJhY2VfZ2V0cmVnc2V0ID0gVFJJQk9PTF9VTktOT1dOOwogIHN0YXRpYyBzdHJ1Y3Qg dGFyZ2V0X29wcyAqbGludXhfb3BzOwogIHN0YXRpYyBzdHJ1Y3QgdGFyZ2V0X29wcyBsaW51eF9v cHNfc2F2ZWQ7CiAgCkBAIC0zOCw3ICs0OCw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvbGludXgtbmF0LmMKICAvKiBUaGUgbWV0aG9kIHRvIGNhbGwsIGlmIGFueSwgd2hlbiBh IG5ldyB0aHJlYWQgaXMgYXR0YWNoZWQuICAqLwogIHN0YXRpYyB2b2lkICgqbGludXhfbmF0X25l d190aHJlYWQpIChzdHJ1Y3QgbHdwX2luZm8gKik7CiAgCi1AQCAtMTA1NSw2ICsxMDYwLDkgQEAK K0BAIC0xMDY1LDYgKzEwNzAsOSBAQCBsaW51eF9uYXRfcG9zdF9hdHRhY2hfd2FpdCAocHRpZF90 IHB0aWQsIGludCAqc2lnbmFsbGVkKQogICAgICAgIGlmIChkZWJ1Z19saW51eF9uYXQpCiAgCWZw cmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywKICAJCQkgICAgIkxOUEFXOiBBdHRhY2hpbmcg dG8gYSBzdG9wcGVkIHByb2Nlc3NcbiIpOwpAQCAtNDgsNyArNTgsNyBAQCBJbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL2xpbnV4LW5hdC5jCiAgCiAgICAgICAgLyogVGhlIHByb2Nlc3Mg aXMgZGVmaW5pdGVseSBzdG9wcGVkLiAgSXQgaXMgaW4gYSBqb2IgY29udHJvbAogIAkgc3RvcCwg dW5sZXNzIHRoZSBrZXJuZWwgcHJlZGF0ZXMgdGhlIFRBU0tfU1RPUFBFRCAvCi1AQCAtMTQxMiw2 ICsxNDIwLDI1IEBACitAQCAtMTQyMCw2ICsxNDI4LDI1IEBAIGdldF9kZXRhY2hfc2lnbmFsIChz dHJ1Y3QgbHdwX2luZm8gKmxwKQogICAgICAgIHJldHVybiBnZGJfc2lnbmFsX3RvX2hvc3QgKHNp Z25vKTsKICAgICAgfQogIApAQCAtNzQsNyArODQsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL2xpbnV4LW5hdC5jCiAgICByZXR1cm4gMDsKICB9CiAgCi1AQCAtMTU3MCw2ICsx NTk3LDEwIEBACitAQCAtMTU3OCw2ICsxNjA1LDEwIEBAIGxpbnV4X25hdF9kZXRhY2ggKHN0cnVj dCB0YXJnZXRfb3BzICpvcHMsIGNvbnN0IGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0eSkKICAgICAg ICBkZXRhY2hfb25lX2x3cCAobWFpbl9sd3AsICZzaWdubyk7CiAgCiAgICAgICAgaW5mX3B0cmFj ZV9kZXRhY2hfc3VjY2VzcyAob3BzKTsKQEAgLTg1LDcgKzk1LDcgQEAgSW5kZXg6IGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9saW51eC1uYXQuYwogICAgICB9CiAgfQogIAotQEAgLTE4MzAsNiAr MTg2MSwxNiBAQAorQEAgLTE4MzgsNiArMTg2OSwxNiBAQCBsaW51eF9uYXRfcmVzdW1lIChzdHJ1 Y3QgdGFyZ2V0X29wcyAqb3BzLAogICAgICAgIHJldHVybjsKICAgICAgfQogIApAQCAtMTAyLDcg KzExMiw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbGludXgtbmF0LmMKICAg IGlmIChyZXN1bWVfbWFueSkKICAgICAgaXRlcmF0ZV9vdmVyX2x3cHMgKHB0aWQsIGxpbnV4X25h dF9yZXN1bWVfY2FsbGJhY2ssIGxwKTsKICAKLUBAIC0zODI2LDYgKzM4NjcsMTAgQEAKK0BAIC0z ODMwLDYgKzM4NzEsMTAgQEAgbGludXhfbmF0X21vdXJuX2luZmVyaW9yIChzdHJ1Y3QgdGFyZ2V0 X29wcyAqb3BzKQogIAogICAgLyogTGV0IHRoZSBhcmNoLXNwZWNpZmljIG5hdGl2ZSBjb2RlIGtu b3cgdGhpcyBwcm9jZXNzIGlzIGdvbmUuICAqLwogICAgbGludXhfbmF0X2ZvcmdldF9wcm9jZXNz IChwaWQpOwpAQCAtMTEzLDExICsxMjMsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9saW51eC1uYXQuYwogIH0KICAKICAvKiBDb252ZXJ0IGEgbmF0aXZlL2hvc3Qgc2lnaW5m byBvYmplY3QsIGludG8vZnJvbSB0aGUgc2lnaW5mbyBpbiB0aGUKLUluZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy9hdHRhY2gtc3RvcHBlZC5leHAJMjAxNy0wNC0yMCAyMzoxOToxNi4wNTk0MzQz MjkgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi50aHJl YWRzL2F0dGFjaC1zdG9wcGVkLmV4cAkyMDE3LTA0LTIwIDIzOjE5OjIyLjkzMzQ4MDM3MyArMDIw MAotQEAgLTU2LDcgKzU2LDY1IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy9hdHRhY2gtc3RvcHBlZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFj aC1zdG9wcGVkLmV4cAoraW5kZXggMTVhMDM1MmZjNy4uMzBkZWU5OTg5MyAxMDA2NDQKKy0tLSBh L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXR0YWNoLXN0b3BwZWQuZXhwCisrKysgYi9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAorQEAgLTU2LDcgKzU2LDY1 IEBAIHByb2MgY29yZWZ1bmMgeyB0aHJlYWR0eXBlIH0gewogICAgICBnZGJfcmVpbml0aWFsaXpl X2RpciAkc3JjZGlyLyRzdWJkaXIKICAgICAgZ2RiX2xvYWQgJHtiaW5maWxlfQogIApAQCAtMTg0 LDMgKzE5NCw2IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dk Yi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAogICAgICAgICAKICAgICAgc2V0IHRlc3QgIiR0 aHJlYWR0eXBlOiBhdHRhY2gyIHRvIHN0b3BwZWQsIGFmdGVyIHNldHRpbmcgZmlsZSIKICAgICAg Z2RiX3Rlc3RfbXVsdGlwbGUgImF0dGFjaCAkdGVzdHBpZCIgIiR0ZXN0IiB7CistLSAKKzIuMTQu MworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuOC1iejQzNjAzNy1yZWctbm8tbG9uZ2VyLWFjdGl2ZS5w YXRjaCBiL2dkYi02LjgtYno0MzYwMzctcmVnLW5vLWxvbmdlci1hY3RpdmUucGF0Y2gKaW5kZXgg Zjg5ZGRjYS4uMWFmOTcxNyAxMDA2NDQKLS0tIGEvZ2RiLTYuOC1iejQzNjAzNy1yZWctbm8tbG9u Z2VyLWFjdGl2ZS5wYXRjaAorKysgYi9nZGItNi44LWJ6NDM2MDM3LXJlZy1uby1sb25nZXItYWN0 aXZlLnBhdGNoCkBAIC0xLDE1ICsxLDIxIEBACitGcm9tIGYzYzEzY2JkMjAxMGY5MDY1NTRjODQw NjNlM2E0YTEzOGMyYmU4NDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEg R0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAy MTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuOC1iejQzNjAzNy1yZWctbm8tbG9uZ2VyLWFj dGl2ZS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuOC1iejQzNjAzNy1yZWctbm8tbG9uZ2VyLWFj dGl2ZS5wYXRjaAogCis7OyBGaXggcmVnaXN0ZXIgYXNzaWdubWVudHMgd2l0aCBubyBHREIgc3Rh Y2sgZnJhbWVzIChCWiA0MzYwMzcpLgorOzs9cHVzaCtqYW46IFRoaXMgZml4IGlzIGluY29ycmVj dC4KKy0tLQorIGdkYi92YWxvcHMuYyB8IDEyICsrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2Vk LCAxMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3ZhbG9wcy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAy MDcub3JpZy9nZGIvdmFsb3BzLmMJMjAxNy0wMi0yNiAxNzoyNjo0My44MzkxNDY1NjUgKzAxMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdmFsb3BzLmMJMjAxNy0wMi0yNiAxNzoyODo0 MC44NDA5ODgyNzIgKzAxMDAKLUBAIC0xMTEyLDYgKzExMTIsOCBAQAorZGlmZiAtLWdpdCBhL2dk Yi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYworaW5kZXggNGVjZmE5ZmQ5Ni4uMzA2MjNlZmM2ZSAx MDA2NDQKKy0tLSBhL2dkYi92YWxvcHMuYworKysrIGIvZ2RiL3ZhbG9wcy5jCitAQCAtMTEwMyw2 ICsxMTAzLDggQEAgdmFsdWVfYXNzaWduIChzdHJ1Y3QgdmFsdWUgKnRvdmFsLCBzdHJ1Y3QgdmFs dWUgKmZyb212YWwpCiAgCXN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOwogIAlpbnQgdmFsdWVfcmVn OwogIApAQCAtMTgsNyArMjQsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Zh bG9wcy5jCiAgCS8qIEZpZ3VyZSBvdXQgd2hpY2ggZnJhbWUgdGhpcyBpcyBpbiBjdXJyZW50bHku CiAgCQogIAkgICBXZSB1c2UgVkFMVUVfRlJBTUVfSUQgZm9yIG9idGFpbmluZyB0aGUgdmFsdWUn cyBmcmFtZSBpZCBpbnN0ZWFkIG9mCi1AQCAtMTEyMSw4ICsxMTIzLDE0IEBACitAQCAtMTExMiw4 ICsxMTE0LDE0IEBAIHZhbHVlX2Fzc2lnbiAoc3RydWN0IHZhbHVlICp0b3ZhbCwgc3RydWN0IHZh bHVlICpmcm9tdmFsKQogIAkgICBmcmFtZS4gICovCiAgCWZyYW1lID0gZnJhbWVfZmluZF9ieV9p ZCAoVkFMVUVfRlJBTUVfSUQgKHRvdmFsKSk7CiAgCkBAIC0zNSwzICs0MSw2IEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdmFsb3BzLmMKICAJaWYgKCFmcmFtZSkKICAJICBlcnJv ciAoXygiVmFsdWUgYmVpbmcgYXNzaWduZWQgdG8gaXMgbm8gbG9uZ2VyIGFjdGl2ZS4iKSk7CiAg CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuOC1iejQ0Mjc2NS10aHJlYWRlZC1l eGVjLXRlc3QucGF0Y2ggYi9nZGItNi44LWJ6NDQyNzY1LXRocmVhZGVkLWV4ZWMtdGVzdC5wYXRj aAppbmRleCBhZjZjYjM4Li44YmU1YWQ5IDEwMDY0NAotLS0gYS9nZGItNi44LWJ6NDQyNzY1LXRo cmVhZGVkLWV4ZWMtdGVzdC5wYXRjaAorKysgYi9nZGItNi44LWJ6NDQyNzY1LXRocmVhZGVkLWV4 ZWMtdGVzdC5wYXRjaApAQCAtMSwxNiArMSwyMyBAQAorRnJvbSBmYmM2MTU4Yzc2ZDgwOWFhYWZk NDNhMDgzMDExZjEzM2Y2YmM2NGY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVk b3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIw MTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02LjgtYno0NDI3NjUtdGhyZWFkZWQtZXhl Yy10ZXN0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi44LWJ6NDQyNzY1LXRocmVhZGVkLWV4ZWMt dGVzdC5wYXRjaAogCis7OyBUZXN0IHZhcmlvdXMgZm9ybXMgb2YgdGhyZWFkcyB0cmFja2luZyBh Y3Jvc3MgZXhlYygpIChCWiA0NDI3NjUpLgorOzs9ZmVkb3JhdGVzdAogCiBUZXN0IHZhcmlvdXMg Zm9ybXMgb2YgdGhyZWFkcyB0cmFja2luZyBhY3Jvc3MgZXhlYygyKS4KKy0tLQorIGdkYi90ZXN0 c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQtZXhlYy5jICAgfCAxMTEgKysrKysrKysrKysrKysr KysrKysrKysrKystLQorIGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFkZWQtZXhlYy5l eHAgfCAgMTMgKysrLQorIDIgZmlsZXMgY2hhbmdlZCwgMTE1IGluc2VydGlvbnMoKyksIDkgZGVs ZXRpb25zKC0pCiAKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dk Yi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjkwLjIw MTYwMjExLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmMJMjAx Ni0wMi0xNiAwOTo1NDo0NS4xNTcxNjMwNDkgKzAxMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIx MS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuYwkyMDE2LTAyLTE2IDA5 OjU0OjQ2LjIxMDE3MDE3NSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvdGhyZWFkZWQtZXhlYy5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRl ZC1leGVjLmMKK2luZGV4IDUyMmIyNDY3MWQuLjcwNzkzMTdkM2EgMTAwNjQ0CistLS0gYS9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuYworKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmMKIEBAIC0xOCwyMSArMTgsOTUgQEAKICAgICBC b3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4gICovCiAgCkBAIC0xMTAsNyArMTE3LDcgQEAgSW5k ZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGhyZWFk ZWQtZXhlYy5jCiAgCXB0aHJlYWRfdCB0MTsKICAJaW50IGk7CiAgCi1AQCAtNDAsNyArMTE0LDM0 IEBACitAQCAtNDAsNyArMTE0LDM0IEBAIG1haW4gKHZvaWQpCiAgCWFzc2VydCAoaSA9PSAwKTsK ICAJaSA9IHB0aHJlYWRfam9pbiAodDEsIE5VTEwpOwogIAlhc3NlcnQgKGkgPT0gMCk7CkBAIC0x NDcsMTAgKzE1NCwxMCBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0 ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmMKICsgIGV4ZWNsIChjbWQsIGNtZCwgZXhlY19u b3RocmVhZHMsIGV4ZWNfdGhyZWFkcywgcGhhc2VfcywgTlVMTCk7CiArICBhc3NlcnQgKDApOwog IH0KLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRz L3RocmVhZGVkLWV4ZWMuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuOTAuMjAxNjAyMTEu b3JpZy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGVkLWV4ZWMuZXhwCTIwMTYtMDIt MTYgMDk6NTQ6NDUuMTU3MTYzMDQ5ICswMTAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmV4cAkyMDE2LTAyLTE2IDA5OjU1 OjI3LjM5NzQ0ODg3OSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvdGhyZWFkZWQtZXhlYy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3RocmVhZGVk LWV4ZWMuZXhwCitpbmRleCA3N2M4YTdkYzg1Li44YzQzMTYyYjM2IDEwMDY0NAorLS0tIGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmV4cAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmV4cAogQEAgLTIwLDkgKzIwLDE0IEBACiAg CiAgc2V0IHRlc3RmaWxlIHRocmVhZGVkLWV4ZWMKQEAgLTE2OCw3ICsxNzUsNyBAQCBJbmRleDog Z2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1l eGVjLmV4cAogICAgICByZXR1cm4gLTEKICB9CiAgCi1AQCAtMzAsOSArMzUsOSBAQAorQEAgLTMw LDkgKzM1LDkgQEAgZ2RiX2V4aXQKICBnZGJfc3RhcnQKICBnZGJfcmVpbml0aWFsaXplX2RpciAk c3JjZGlyLyRzdWJkaXIKICAKQEAgLTE4MCwzICsxODcsNiBAQCBJbmRleDogZ2RiLTcuMTAuOTAu MjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRlZC1leGVjLmV4cAogIAog IGdkYl90ZXN0X211bHRpcGxlIHt9ICJQcm9ncmFtIGV4aXRlZCIgewogICAgIC1yZSAiXHJcblxc XFtJbmZlcmlvciAuKiBleGl0ZWQgbm9ybWFsbHlcXFxdXHJcbiRnZGJfcHJvbXB0ICQiIHsKKy0t IAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi44LWJ6NDY2OTAxLWJhY2t0cmFjZS1mdWxs LXByZWxpbmtlZC5wYXRjaCBiL2dkYi02LjgtYno0NjY5MDEtYmFja3RyYWNlLWZ1bGwtcHJlbGlu a2VkLnBhdGNoCmluZGV4IDQzMzc4ZmQuLjAxMzdhMGEgMTAwNjQ0Ci0tLSBhL2dkYi02LjgtYno0 NjY5MDEtYmFja3RyYWNlLWZ1bGwtcHJlbGlua2VkLnBhdGNoCisrKyBiL2dkYi02LjgtYno0NjY5 MDEtYmFja3RyYWNlLWZ1bGwtcHJlbGlua2VkLnBhdGNoCkBAIC0xLDE1NCArMSwyOCBAQAorRnJv bSBhM2MzZTJhMjcxMWFjMGQ3ZGVkMzczNTk3MzQ4YTFlODg5Yjg0NzhhIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4K IERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02Ljgt Yno0NjY5MDEtYmFja3RyYWNlLWZ1bGwtcHJlbGlua2VkLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGIt Ni44LWJ6NDY2OTAxLWJhY2t0cmFjZS1mdWxsLXByZWxpbmtlZC5wYXRjaAogCis7OyBGaXggcmVz b2x2aW5nIG9mIHZhcmlhYmxlcyBhdCBsb2NhdGlvbnMgbGlzdHMgaW4gcHJlbGlua2VkIGxpYnMg KEJaIDQ2NjkwMSkuCis7Oz1mZWRvcmF0ZXN0CiAKIEZpeCByZXNvbHZpbmcgb2YgdmFyaWFibGVz IGF0IGxvY2F0aW9ucyBsaXN0cyBpbiBwcmVsaW5rZWQgbGlicyAoQlogNDY2OTAxKS4KKy0tLQor IC4uLi9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1mdW5jLlMgICAgICAgIHwgMzI4 ICsrKysrKysrKysrKysrKysrKysrKworIC4uLi9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxp bmtlZC1tYWluLmMgICAgICAgIHwgIDI2ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1sb2NsaXN0LXByZWxpbmtlZC5leHAgfCAxMDIgKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwg NDU2IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1mdW5jLlMKKyBjcmVhdGUgbW9kZSAxMDA2NDQg Z2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1tYWluLmMKKyBj cmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXBy ZWxpbmtlZC5leHAKIAotSW5kZXg6IGdkYi02LjguNTAuMjAwOTA5MDkvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC5leHAKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNi44LjUw LjIwMDkwOTA5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItbG9jbGlzdC1wcmVsaW5rZWQu ZXhwCTIwMDktMDktMDkgMjA6MTA6MzUuMDAwMDAwMDAwICswMjAwCi1AQCAtMCwwICsxLDEwMiBA QAotKyMgQ29weXJpZ2h0IDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0r IyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMgCi0rIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsjIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCi0rIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKyMg Ci0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUg dG8gdGhlIEZyZWUgU29mdHdhcmUKLSsjIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj ZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0rCi0rIyBNaW5pbWFs IERXQVJGLTIgdW5pdCB0ZXN0Ci0rCi0rIyBUaGlzIHRlc3QgY2FuIG9ubHkgYmUgcnVuIG9uIGkz ODYveDg2XzY0IHRhcmdldHMgd2hpY2ggc3VwcG9ydCBEV0FSRi0yLgotKyMgRm9yIG5vdyBwaWNr IGEgc2FtcGxpbmcgb2YgbGlrZWx5IHRhcmdldHMuCi0raWYgeyghW2lzdGFyZ2V0ICotKi1saW51 eCpdCi0rICAgICAmJiAhW2lzdGFyZ2V0ICotKi1nbnUqXQotKyAgICAgJiYgIVtpc3RhcmdldCAq LSotZWxmKl0KLSsgICAgICYmICFbaXN0YXJnZXQgKi0qLW9wZW5ic2QqXSkKLSsgICAgfHwgKCFb aXN0YXJnZXQgImk/ODYtKi0qIl0gJiYgIVtpc3RhcmdldCAieDg2XzY0LSotKiJdKX0gewotKyAg ICByZXR1cm4gMCAgCi0rfQotKwotK3NldCB0ZXN0ZmlsZSAiZHcyLWxvY2xpc3QtcHJlbGlua2Vk IgotK3NldCBzcmNmdW5jZmlsZSAke3Rlc3RmaWxlfS1mdW5jLlMKLStzZXQgYmluc2hhcmVkZnVu Y2ZpbGUgW3N0YW5kYXJkX291dHB1dF9maWxlICR7dGVzdGZpbGV9LnNvXQotK3NldCBzcmNtYWlu ZmlsZSAke3Rlc3RmaWxlfS1tYWluLmMKLStzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2Zp bGUgJHt0ZXN0ZmlsZX1dCi0rCi0rcmVtb3RlX2V4ZWMgYnVpbGQgInJtIC1mICR7YmluZmlsZX0i Ci0rCi0rIyBnZXQgdGhlIHZhbHVlIG9mIGdjY19jb21waWxlZAotK2lmIFtnZXRfY29tcGlsZXJf aW5mbyAke2JpbmZpbGV9XSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLSsjIFRoaXMgdGVzdCBj YW4gb25seSBiZSBydW4gb24gZ2NjIGFzIHdlIHVzZSBhZGRpdGlvbmFsX2ZsYWdzPUZJWE1FCi0r aWYgeyRnY2NfY29tcGlsZWQgPT0gMH0gewotKyAgICByZXR1cm4gMAotK30KLSsKLStpZiAgeyBb Z2RiX2NvbXBpbGVfc2hsaWIgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmdW5jZmlsZX0iICIk e2JpbnNoYXJlZGZ1bmNmaWxlfSIge2RlYnVnIGFkZGl0aW9uYWxfZmxhZ3M9LW0zMn1dICE9ICIi IH0gewotKyAgICB1bnRlc3RlZCAiQ291bGRuJ3QgY29tcGlsZSB0ZXN0IGxpYnJhcnkiCi0rICAg IHJldHVybiAtMQotK30KLSsKLSsjIFRoZSBuZXcgc2VwYXJhdGUgZGVidWcgaW5mbyBmaWxlIHdp bGwgYmUgc3RvcmVkIGluIHRoZSAuZGVidWcgc3ViZGlyZWN0b3J5LgotKwotK2lmIFtnZGJfZ251 X3N0cmlwX2RlYnVnICR7Ymluc2hhcmVkZnVuY2ZpbGV9XSB7Ci0rICAgICMgY2hlY2sgdGhhdCB5 b3UgaGF2ZSBhIHJlY2VudCB2ZXJzaW9uIG9mIHN0cmlwIGFuZCBvYmpjb3B5IGluc3RhbGxlZAot KyAgICB1bnN1cHBvcnRlZCAiY2Fubm90IHByb2R1Y2Ugc2VwYXJhdGUgZGVidWcgaW5mbyBmaWxl cyIKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2lmIHtbY2F0Y2ggInN5c3RlbSBcIi91c3Ivc2Jp bi9wcmVsaW5rIC1xTlIgLS1uby1leGVjLXNoaWVsZCAke2JpbnNoYXJlZGZ1bmNmaWxlfVwiIl0g IT0gMH0gewotKyAgICAjIE1heWJlIHdlIGRvbid0IGhhdmUgcHJlbGluay4KLSsgICAgcmV0dXJu IC0xCi0rfQotKwotK2lmICB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3Ny Y21haW5maWxlfSIgXAotKwkJICAgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUgW2xpc3QgZGVidWcg YWRkaXRpb25hbF9mbGFncz0tbTMyIHNobGliPSR7Ymluc2hhcmVkZnVuY2ZpbGV9XV0gIT0gIiIg fSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLStnZGJfZXhpdAotK2dkYl9zdGFydAotK2dkYl9y ZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgotK2dkYl9sb2FkICR7YmluZmlsZX0KLSsK LStnZGJfcnVuX2NtZAotKwotK2dkYl90ZXN0ICIiICJQcm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBT SUdBQlJULCBBYm9ydGVkLi4qIiAiRW50ZXIgYWJvcnQoKSIKLSsKLSsjIEluY29ycmVjdDoKLSsj ICMwICAweDAwMTEwNDMwIGluIF9fa2VybmVsX3ZzeXNjYWxsICgpCi0rIyBObyBzeW1ib2wgdGFi bGUgaW5mbyBhdmFpbGFibGUuCi0rIyAjMSAgMHgwMDNkNDRjMCBpbiByYWlzZSAoKSBmcm9tIC9s aWIvbGliYy5zby42Ci0rIyBObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCi0rIyAjMiAg MHgwMDNkNWU4OCBpbiBhYm9ydCAoKSBmcm9tIC9saWIvbGliYy5zby42Ci0rIyBObyBzeW1ib2wg dGFibGUgaW5mbyBhdmFpbGFibGUuCi0rIyAjMyAgMHg0NGYxMDQzNyBpbiBmdW5jICgpIGF0IGR3 Mi1sb2NsaXN0LXByZWxpbmtlZC5jOjgKLSsjIAlpID0gQ291bGQgbm90IGZpbmQgdGhlIGZyYW1l IGJhc2UgZm9yICJmdW5jIi4KLSsKLSsjIENvcnJlY3Q6Ci0rIyAjMCAgMHgwMDExMDQzMCBpbiBf X2tlcm5lbF92c3lzY2FsbCAoKQotKyMgTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgot KyMgIzEgIDB4MDAzZDQ0YzAgaW4gcmFpc2UgKCkgZnJvbSAvbGliL2xpYmMuc28uNgotKyMgTm8g c3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgotKyMgIzIgIDB4MDAzZDVlODggaW4gYWJvcnQg KCkgZnJvbSAvbGliL2xpYmMuc28uNgotKyMgTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxl LgotKyMgIzMgIDB4NGFlMzY0MzcgaW4gZnVuYyAoKSBhdCBkdzItbG9jbGlzdC1wcmVsaW5rZWQu Yzo4Ci0rIyAJaSA9IDM4MjcyODgKLSsjICM0ICAweDA4MDQ4NTFhIGluIG1haW4gKCkgYXQgLi4v Li4vLi4vZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1tYWlu LmM6MjQKLSsjIE5vIGxvY2Fscy4KLSsKLSsjIGBhYm9ydCcgY2FuIGdldCBleHByZXNzZWQgYXMg YCpfX0dJX2Fib3J0Jy4KLStnZGJfdGVzdCAiYnQgZnVsbCIgImluIFxbXiBcXSphYm9ydCBcXCgu KmluIGZ1bmMgXFwoLipcclxuXFtcdCBcXStpID0gLT9cWzAtOVxdLippbiBtYWluIFxcKC4qIiAi QmFja3RyYWNlIGFmdGVyIGFib3J0KCkiCi1JbmRleDogZ2RiLTYuOC41MC4yMDA5MDkwOS9nZGIv dGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWxvY2xpc3QtcHJlbGlua2VkLW1haW4uYwotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi02LjguNTAuMjAwOTA5MDkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1sb2Ns aXN0LXByZWxpbmtlZC1tYWluLmMJMjAwOS0wOS0wOSAyMDoxMDozNS4wMDAwMDAwMDAgKzAyMDAK LUBAIC0wLDAgKzEsMjYgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUg R05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8K LSsKLSsvKiBkdzItbG9jbGlzdC1wcmVsaW5rZWQtZnVuYy5TICovCi0rZXh0ZXJuIHZvaWQgZnVu YyAodm9pZCk7Ci0rCi0raW50Ci0rbWFpbiAodm9pZCkKLSt7Ci0rICBmdW5jICgpOwotKyAgcmV0 dXJuIDA7Ci0rfQotSW5kZXg6IGdkYi02LjguNTAuMjAwOTA5MDkvZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1mdW5jLlMKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNi44LjUw LjIwMDkwOTA5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItbG9jbGlzdC1wcmVsaW5rZWQt ZnVuYy5TCTIwMDktMDktMDkgMjA6MTA6MzUuMDAwMDAwMDAwICswMjAwCitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1mdW5jLlMgYi9n ZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWxvY2xpc3QtcHJlbGlua2VkLWZ1bmMuUworbmV3 IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjQ0MmM0ZDAwYTEKKy0tLSAvZGV2 L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItbG9jbGlzdC1wcmVsaW5r ZWQtZnVuYy5TCiBAQCAtMCwwICsxLDMyOCBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC00NzgsMyArMzUyLDE0NiBAQCBJbmRleDog Z2RiLTYuOC41MC4yMDA5MDkwOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWxvY2xpc3Qt cHJlbGlua2VkLWZ1bmMuUwogKwkuc3RyaW5nCSJzaG9ydCBpbnQiCiArCS5pZGVudAkiR0NDOiAo R05VKSA0LjMuMiAyMDA4MTAwNyAoUmVkIEhhdCA0LjMuMi02KSIKICsJLnNlY3Rpb24JLm5vdGUu R05VLXN0YWNrLCIiLEBwcm9nYml0cworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItbG9jbGlzdC1wcmVsaW5rZWQtbWFpbi5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1tYWluLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwMDAwLi41NzM4Njk5OWNlCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLWxvY2xpc3QtcHJlbGlua2VkLW1haW4uYworQEAgLTAsMCAr MSwyNiBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdn ZXIuCisrCisrICAgQ29weXJpZ2h0IDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAg KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJ ZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKy8qIGR3 Mi1sb2NsaXN0LXByZWxpbmtlZC1mdW5jLlMgKi8KKytleHRlcm4gdm9pZCBmdW5jICh2b2lkKTsK KysKKytpbnQKKyttYWluICh2b2lkKQorK3sKKysgIGZ1bmMgKCk7CisrICByZXR1cm4gMDsKKyt9 CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxp bmtlZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWxvY2xpc3QtcHJlbGlua2Vk LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjMwZDA0NzMzMzYK Ky0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItbG9jbGlz dC1wcmVsaW5rZWQuZXhwCitAQCAtMCwwICsxLDEwMiBAQAorKyMgQ29weXJpZ2h0IDIwMDggRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorKyMgCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMgCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcg d2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKysj IEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBN QSAwMjExMS0xMzA3LCBVU0EuCisrCisrIyBNaW5pbWFsIERXQVJGLTIgdW5pdCB0ZXN0CisrCisr IyBUaGlzIHRlc3QgY2FuIG9ubHkgYmUgcnVuIG9uIGkzODYveDg2XzY0IHRhcmdldHMgd2hpY2gg c3VwcG9ydCBEV0FSRi0yLgorKyMgRm9yIG5vdyBwaWNrIGEgc2FtcGxpbmcgb2YgbGlrZWx5IHRh cmdldHMuCisraWYgeyghW2lzdGFyZ2V0ICotKi1saW51eCpdCisrICAgICAmJiAhW2lzdGFyZ2V0 ICotKi1nbnUqXQorKyAgICAgJiYgIVtpc3RhcmdldCAqLSotZWxmKl0KKysgICAgICYmICFbaXN0 YXJnZXQgKi0qLW9wZW5ic2QqXSkKKysgICAgfHwgKCFbaXN0YXJnZXQgImk/ODYtKi0qIl0gJiYg IVtpc3RhcmdldCAieDg2XzY0LSotKiJdKX0geworKyAgICByZXR1cm4gMCAgCisrfQorKworK3Nl dCB0ZXN0ZmlsZSAiZHcyLWxvY2xpc3QtcHJlbGlua2VkIgorK3NldCBzcmNmdW5jZmlsZSAke3Rl c3RmaWxlfS1mdW5jLlMKKytzZXQgYmluc2hhcmVkZnVuY2ZpbGUgW3N0YW5kYXJkX291dHB1dF9m aWxlICR7dGVzdGZpbGV9LnNvXQorK3NldCBzcmNtYWluZmlsZSAke3Rlc3RmaWxlfS1tYWluLmMK KytzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHt0ZXN0ZmlsZX1dCisrCisrcmVt b3RlX2V4ZWMgYnVpbGQgInJtIC1mICR7YmluZmlsZX0iCisrCisrIyBnZXQgdGhlIHZhbHVlIG9m IGdjY19jb21waWxlZAorK2lmIFtnZXRfY29tcGlsZXJfaW5mbyAke2JpbmZpbGV9XSB7CisrICAg IHJldHVybiAtMQorK30KKysKKysjIFRoaXMgdGVzdCBjYW4gb25seSBiZSBydW4gb24gZ2NjIGFz IHdlIHVzZSBhZGRpdGlvbmFsX2ZsYWdzPUZJWE1FCisraWYgeyRnY2NfY29tcGlsZWQgPT0gMH0g eworKyAgICByZXR1cm4gMAorK30KKysKKytpZiAgeyBbZ2RiX2NvbXBpbGVfc2hsaWIgIiR7c3Jj ZGlyfS8ke3N1YmRpcn0vJHtzcmNmdW5jZmlsZX0iICIke2JpbnNoYXJlZGZ1bmNmaWxlfSIge2Rl YnVnIGFkZGl0aW9uYWxfZmxhZ3M9LW0zMn1dICE9ICIiIH0geworKyAgICB1bnRlc3RlZCAiQ291 bGRuJ3QgY29tcGlsZSB0ZXN0IGxpYnJhcnkiCisrICAgIHJldHVybiAtMQorK30KKysKKysjIFRo ZSBuZXcgc2VwYXJhdGUgZGVidWcgaW5mbyBmaWxlIHdpbGwgYmUgc3RvcmVkIGluIHRoZSAuZGVi dWcgc3ViZGlyZWN0b3J5LgorKworK2lmIFtnZGJfZ251X3N0cmlwX2RlYnVnICR7Ymluc2hhcmVk ZnVuY2ZpbGV9XSB7CisrICAgICMgY2hlY2sgdGhhdCB5b3UgaGF2ZSBhIHJlY2VudCB2ZXJzaW9u IG9mIHN0cmlwIGFuZCBvYmpjb3B5IGluc3RhbGxlZAorKyAgICB1bnN1cHBvcnRlZCAiY2Fubm90 IHByb2R1Y2Ugc2VwYXJhdGUgZGVidWcgaW5mbyBmaWxlcyIKKysgICAgcmV0dXJuIC0xCisrfQor KworK2lmIHtbY2F0Y2ggInN5c3RlbSBcIi91c3Ivc2Jpbi9wcmVsaW5rIC1xTlIgLS1uby1leGVj LXNoaWVsZCAke2JpbnNoYXJlZGZ1bmNmaWxlfVwiIl0gIT0gMH0geworKyAgICAjIE1heWJlIHdl IGRvbid0IGhhdmUgcHJlbGluay4KKysgICAgcmV0dXJuIC0xCisrfQorKworK2lmICB7IFtnZGJf Y29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY21haW5maWxlfSIgXAorKwkJICAgIiR7 YmluZmlsZX0iIGV4ZWN1dGFibGUgW2xpc3QgZGVidWcgYWRkaXRpb25hbF9mbGFncz0tbTMyIHNo bGliPSR7Ymluc2hhcmVkZnVuY2ZpbGV9XV0gIT0gIiIgfSB7CisrICAgIHJldHVybiAtMQorK30K KysKKytnZGJfZXhpdAorK2dkYl9zdGFydAorK2dkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIv JHN1YmRpcgorK2dkYl9sb2FkICR7YmluZmlsZX0KKysKKytnZGJfcnVuX2NtZAorKworK2dkYl90 ZXN0ICIiICJQcm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdBQlJULCBBYm9ydGVkLi4qIiAiRW50 ZXIgYWJvcnQoKSIKKysKKysjIEluY29ycmVjdDoKKysjICMwICAweDAwMTEwNDMwIGluIF9fa2Vy bmVsX3ZzeXNjYWxsICgpCisrIyBObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCisrIyAj MSAgMHgwMDNkNDRjMCBpbiByYWlzZSAoKSBmcm9tIC9saWIvbGliYy5zby42CisrIyBObyBzeW1i b2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCisrIyAjMiAgMHgwMDNkNWU4OCBpbiBhYm9ydCAoKSBm cm9tIC9saWIvbGliYy5zby42CisrIyBObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuCisr IyAjMyAgMHg0NGYxMDQzNyBpbiBmdW5jICgpIGF0IGR3Mi1sb2NsaXN0LXByZWxpbmtlZC5jOjgK KysjIAlpID0gQ291bGQgbm90IGZpbmQgdGhlIGZyYW1lIGJhc2UgZm9yICJmdW5jIi4KKysKKysj IENvcnJlY3Q6CisrIyAjMCAgMHgwMDExMDQzMCBpbiBfX2tlcm5lbF92c3lzY2FsbCAoKQorKyMg Tm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgorKyMgIzEgIDB4MDAzZDQ0YzAgaW4gcmFp c2UgKCkgZnJvbSAvbGliL2xpYmMuc28uNgorKyMgTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxh YmxlLgorKyMgIzIgIDB4MDAzZDVlODggaW4gYWJvcnQgKCkgZnJvbSAvbGliL2xpYmMuc28uNgor KyMgTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLgorKyMgIzMgIDB4NGFlMzY0MzcgaW4g ZnVuYyAoKSBhdCBkdzItbG9jbGlzdC1wcmVsaW5rZWQuYzo4CisrIyAJaSA9IDM4MjcyODgKKysj ICM0ICAweDA4MDQ4NTFhIGluIG1haW4gKCkgYXQgLi4vLi4vLi4vZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1sb2NsaXN0LXByZWxpbmtlZC1tYWluLmM6MjQKKysjIE5vIGxvY2Fscy4KKysK KysjIGBhYm9ydCcgY2FuIGdldCBleHByZXNzZWQgYXMgYCpfX0dJX2Fib3J0Jy4KKytnZGJfdGVz dCAiYnQgZnVsbCIgImluIFxbXiBcXSphYm9ydCBcXCguKmluIGZ1bmMgXFwoLipcclxuXFtcdCBc XStpID0gLT9cWzAtOVxdLippbiBtYWluIFxcKC4qIiAiQmFja3RyYWNlIGFmdGVyIGFib3J0KCki CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0cy5w YXRjaCBiL2dkYi02LjgtcXVpdC1uZXZlci1hYm9ydHMucGF0Y2gKaW5kZXggZTBiOGU2Ny4uZTRk NTdkZCAxMDA2NDQKLS0tIGEvZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0cy5wYXRjaAorKysgYi9n ZGItNi44LXF1aXQtbmV2ZXItYWJvcnRzLnBhdGNoCkBAIC0xLDIxICsxLDMxIEBACitGcm9tIDZm OTU2MGFkODMwZGJhZDgzNDI5ODU5YjIzOTI4MzE0NjNmMGZjOTYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0 ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuOC1xdWl0 LW5ldmVyLWFib3J0cy5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0 cy5wYXRjaAogCis7OyBNYWtlIHRoZSBHREIgcXVpdCBwcm9jZXNzaW5nIG5vbi1hYm9ydGFibGUg dG8gY2xlYW51cCBldmVyeXRoaW5nIHByb3Blcmx5LgorOzs9ZmVkb3JhOiBJdCB3YXMgdXNlZnVs IG9ubHkgYWZ0ZXIgZ2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRldGFjaC1zdG9wcGVkLnBhdGNo IC4KKwogV2UgbWF5IGFib3J0IHRoZSBwcm9jZXNzIG9mIGRldGFjaGluZyB0aHJlYWRzIHdpdGgg bXVsdGlwbGUgU0lHSU5UcyAtIHdoaWNoIGFyZQogYmVpbmcgc2VudCBkdXJpbmcgYSB0ZXN0Y2Fz ZSB0ZXJtaW5hdGluZyBpdHMgY2hpbGQgR0RCLgogCiBTb21lIG9mIHRoZSB0aHJlYWRzIG1heSBu b3QgYmUgcHJvcGVybHkgUFRSQUNFX0RFVEFDSGVkIHdoaWNoIGh1cnRzIGlmIHRoZXkKIHNob3Vs ZCBoYXZlIGJlZW4gZGV0YWNoZWQgd2l0aCBTSUdTVE9QIChhcyB0aGV5IGFyZSBhY2NpZGVudGFs bHkgbGVmdCBydW5uaW5nCiBvbiB0aGUgZGVidWdnZXIgdGVybWluYXRpb24pLgorLS0tCisgZ2Ri L2RlZnMuaCAgICAgIHwgNCArKysrCisgZ2RiL2V4dGVuc2lvbi5jIHwgNSArKysrKworIGdkYi90 b3AuYyAgICAgICB8IDYgKysrKysrCisgZ2RiL3V0aWxzLmMgICAgIHwgNyArKysrKysrCisgNCBm aWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvZGVmcy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3Jp Zy9nZGIvZGVmcy5oCTIwMTctMDItMjYgMjE6MTE6MzUuNjU0MzUwNTgwICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2RlZnMuaAkyMDE3LTAyLTI2IDIxOjExOjUyLjkzMjQ3MzEy OSArMDEwMAotQEAgLTE2OSw2ICsxNjksMTAgQEAKK2RpZmYgLS1naXQgYS9nZGIvZGVmcy5oIGIv Z2RiL2RlZnMuaAoraW5kZXggMjdmM2JlY2FiMC4uOTUzOTViNDFhMyAxMDA2NDQKKy0tLSBhL2dk Yi9kZWZzLmgKKysrKyBiL2dkYi9kZWZzLmgKK0BAIC0xNjgsNiArMTY4LDEwIEBAIGV4dGVybiB2 b2lkIGRlZmF1bHRfcXVpdF9oYW5kbGVyICh2b2lkKTsKICAvKiBGbGFnIHRoYXQgZnVuY3Rpb24g cXVpdCBzaG91bGQgY2FsbCBxdWl0X2ZvcmNlLiAgKi8KICBleHRlcm4gdm9sYXRpbGUgaW50IHN5 bmNfcXVpdF9mb3JjZV9ydW47CiAgCkBAIC0yNiwxMSArMzYsMTEgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9kZWZzLmgKICBleHRlcm4gdm9pZCBxdWl0ICh2b2lkKTsKICAKICAv KiBIZWxwZXIgZm9yIHRoZSBRVUlUIG1hY3JvLiAgKi8KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvZXh0ZW5zaW9uLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIw Ny5vcmlnL2dkYi9leHRlbnNpb24uYwkyMDE3LTAyLTI2IDIxOjExOjM1LjY1NTM1MDU4NyArMDEw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9leHRlbnNpb24uYwkyMDE3LTAyLTI2IDIx OjExOjUyLjkzMzQ3MzEzNiArMDEwMAotQEAgLTgzMCw2ICs4MzAsMTEgQEAKK2RpZmYgLS1naXQg YS9nZGIvZXh0ZW5zaW9uLmMgYi9nZGIvZXh0ZW5zaW9uLmMKK2luZGV4IDRmZmFkMDM4YzkuLmQw MjlhMmYyM2QgMTAwNjQ0CistLS0gYS9nZGIvZXh0ZW5zaW9uLmMKKysrKyBiL2dkYi9leHRlbnNp b24uYworQEAgLTgzMCw2ICs4MzAsMTEgQEAgY2hlY2tfcXVpdF9mbGFnICh2b2lkKQogICAgaW50 IGksIHJlc3VsdCA9IDA7CiAgICBjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4g KmV4dGxhbmc7CiAgCkBAIC00MiwxMSArNTIsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi9leHRlbnNpb24uYwogICAgQUxMX0VOQUJMRURfRVhURU5TSU9OX0xBTkdVQUdFUyAo aSwgZXh0bGFuZykKICAgICAgewogICAgICAgIGlmIChleHRsYW5nLT5vcHMtPmNoZWNrX3F1aXRf ZmxhZyAhPSBOVUxMKQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90b3AuYwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3RvcC5jCTIwMTctMDIt MjYgMjE6MTE6MzUuNjU1MzUwNTg3ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3RvcC5jCTIwMTctMDItMjYgMjE6MTE6NTIuOTMzNDczMTM2ICswMTAwCi1AQCAtMTYxOSw3ICsx NjE5LDEzIEBACitkaWZmIC0tZ2l0IGEvZ2RiL3RvcC5jIGIvZ2RiL3RvcC5jCitpbmRleCA4Y2Q3 Yzk5MzQ2Li4zMjZjMjM5OWIzIDEwMDY0NAorLS0tIGEvZ2RiL3RvcC5jCisrKysgYi9nZGIvdG9w LmMKK0BAIC0xNTgzLDcgKzE1ODMsMTMgQEAgcXVpdF9mb3JjZSAoaW50ICpleGl0X2FyZywgaW50 IGZyb21fdHR5KQogICAgcXQuYXJncyA9IE5VTEw7CiAgICBxdC5mcm9tX3R0eSA9IGZyb21fdHR5 OwogIApAQCAtNjAsMTMgKzcwLDEzIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv dG9wLmMKICAKICAgIC8qIEdldCBvdXQgb2YgdGZpbmQgbW9kZSwgYW5kIGtpbGwgb3IgZGV0YWNo IGFsbCBpbmZlcmlvcnMuICAqLwogICAgVFJZCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcv Z2RiL3V0aWxzLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dk Yi91dGlscy5jCTIwMTctMDItMjYgMjE6MTE6MzUuNjU3MzUwNjAxICswMTAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL3V0aWxzLmMJMjAxNy0wMi0yNiAyMToxMTo1Mi45MzQ0NzMxNDMg KzAxMDAKLUBAIC0xMDYsNiArMTA2LDEzIEBACitkaWZmIC0tZ2l0IGEvZ2RiL3V0aWxzLmMgYi9n ZGIvdXRpbHMuYworaW5kZXggZjcyZGRhYjk5Mi4uMjZhOTIzZDhiMyAxMDA2NDQKKy0tLSBhL2dk Yi91dGlscy5jCisrKysgYi9nZGIvdXRpbHMuYworQEAgLTEwNyw2ICsxMDcsMTMgQEAgc3RhdGlj IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uIHByb21wdF9mb3JfY29udGludWVf d2FpdF90aW1lOwogIAotIGludCBqb2JfY29udHJvbDsKKyBzdGF0aWMgaW50IGRlYnVnX3RpbWVz dGFtcCA9IDA7CiAgCiArI2lmZGVmIE5FRURfREVUQUNIX1NJR1NUT1AKICsvKiBOb256ZXJvIG1l YW5zIHdlIGFyZSBhbHJlYWR5IHByb2Nlc3NpbmcgdGhlIHF1aXR0aW5nIGNsZWFudXBzIGFuZCB3 ZSBzaG91bGQKQEAgLTc4LDMgKzg4LDYgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi91dGlscy5jCiAgLyogTm9uemVybyBtZWFucyB0aGF0IHN0cmluZ3Mgd2l0aCBjaGFyYWN0ZXIg dmFsdWVzID4weDdGIHNob3VsZCBiZSBwcmludGVkCiAgICAgYXMgb2N0YWwgZXNjYXBlcy4gIFpl cm8gbWVhbnMganVzdCBwcmludCB0aGUgdmFsdWUgKGUuZy4gaXQncyBhbgogICAgIGludGVybmF0 aW9uYWwgY2hhcmFjdGVyLCBhbmQgdGhlIHRlcm1pbmFsIG9yIHdpbmRvdyBjYW4gY29wZS4pICAq LworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi02Ljgtc3BhcmM2NC1zaWxlbmNlLW1l bWNweS1jaGVjay5wYXRjaCBiL2dkYi02Ljgtc3BhcmM2NC1zaWxlbmNlLW1lbWNweS1jaGVjay5w YXRjaAppbmRleCA0Y2MzNDU0Li40M2YzZTYyIDEwMDY0NAotLS0gYS9nZGItNi44LXNwYXJjNjQt c2lsZW5jZS1tZW1jcHktY2hlY2sucGF0Y2gKKysrIGIvZ2RiLTYuOC1zcGFyYzY0LXNpbGVuY2Ut bWVtY3B5LWNoZWNrLnBhdGNoCkBAIC0xLDE1ICsxLDIxIEBACitGcm9tIDI3ZDJjYzUzN2ZkYTc2 NDBhYTQ2NTY5MWNmOThiMWJmZTQyNGYyMmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9t OiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBP Y3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTYuOC1zcGFyYzY0LXNpbGVuY2Ut bWVtY3B5LWNoZWNrLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItNi44LXNwYXJjNjQtc2lsZW5jZS1t ZW1jcHktY2hlY2sucGF0Y2gKIAorOzsgU2lsZW5jZSBtZW1jcHkgY2hlY2sgd2hpY2ggcmV0dXJu cyBmYWxzZSBwb3NpdGl2ZSAoc3BhcmM2NCkKKzs7PXB1c2g6IEJ1dCBpdCBpcyBqdXN0IGEgR0ND IHdvcmthcm91bmQsIGxvb2sgdXAgdGhlIGV4aXN0aW5nIEdDQyBQUiBmb3IgaXQuCistLS0KKyBn ZGIvc3BhcmMtdGRlcC5jIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCiAK LUluZGV4OiBnZGItNy40LjUwLjIwMTExMjE4L2dkYi9zcGFyYy10ZGVwLmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy40LjUwLjIwMTExMjE4Lm9yaWcvZ2RiL3NwYXJjLXRkZXAuYwkyMDExLTA5LTI4 IDE5OjU5OjQyLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjQuNTAuMjAxMTEyMTgvZ2RiL3Nw YXJjLXRkZXAuYwkyMDExLTEyLTE5IDAxOjI1OjI5LjI5NDA0NjE5OSArMDEwMAotQEAgLTEzMTYs NiArMTMxNiw3IEBAIHNwYXJjMzJfc3RvcmVfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgdHlwZQorZGlm ZiAtLWdpdCBhL2dkYi9zcGFyYy10ZGVwLmMgYi9nZGIvc3BhcmMtdGRlcC5jCitpbmRleCA4MDlj YjlhYzJlLi4zMjFjOTI0NGE5IDEwMDY0NAorLS0tIGEvZ2RiL3NwYXJjLXRkZXAuYworKysrIGIv Z2RiL3NwYXJjLXRkZXAuYworQEAgLTE0NDQsNiArMTQ0NCw3IEBAIHNwYXJjMzJfc3RvcmVfcmV0 dXJuX3ZhbHVlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwK ICAgIGlmIChzcGFyY19mbG9hdGluZ19wICh0eXBlKSB8fCBzcGFyY19jb21wbGV4X2Zsb2F0aW5n X3AgKHR5cGUpKQogICAgICB7CiAgICAgICAgLyogRmxvYXRpbmcgcmV0dXJuIHZhbHVlcy4gICov CkBAIC0xNywzICsyMyw2IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTExMjE4L2dkYi9zcGFyYy10 ZGVwLmMKICAgICAgICBtZW1jcHkgKGJ1ZiwgdmFsYnVmLCBsZW4pOwogICAgICAgIHJlZ2NhY2hl X2Nvb2tlZF93cml0ZSAocmVnY2FjaGUsIFNQQVJDX0YwX1JFR05VTSwgYnVmKTsKICAgICAgICBp ZiAobGVuID4gNCkKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNi44LXdhdGNocG9p bnQtY29uZGl0aW9uYWxzLXRlc3QucGF0Y2ggYi9nZGItNi44LXdhdGNocG9pbnQtY29uZGl0aW9u YWxzLXRlc3QucGF0Y2gKaW5kZXggYjI5MDJlMC4uNmQ0ZGE3MSAxMDA2NDQKLS0tIGEvZ2RiLTYu OC13YXRjaHBvaW50LWNvbmRpdGlvbmFscy10ZXN0LnBhdGNoCisrKyBiL2dkYi02Ljgtd2F0Y2hw b2ludC1jb25kaXRpb25hbHMtdGVzdC5wYXRjaApAQCAtMSwxOCArMSw2NSBAQAorRnJvbSA4ZGJk NzU3Y2IxNDRhOTVmNGM2NzZmNTYxYjk0MGFkZmE5Y2FlOTVhIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6 IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi02Ljgtd2F0Y2hw b2ludC1jb25kaXRpb25hbHMtdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLTYuOC13YXRjaHBv aW50LWNvbmRpdGlvbmFscy10ZXN0LnBhdGNoCiAKKzs7IFRlc3QgdGhlIHdhdGNocG9pbnRzIGNv bmRpdGlvbmFscyB3b3Jrcy4KKzs7PWZlZG9yYXRlc3QKIAogRm9yOgogaHR0cDovL3NvdXJjZXdh cmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMDgtMDQvbXNnMDAzNzkuaHRtbAogaHR0cDovL3NvdXJj ZXdhcmUub3JnL21sL2dkYi1jdnMvMjAwOC0wNC9tc2cwMDEwNC5odG1sCistLS0KKyBnZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtY29uZC5jICAgfCAzMSArKysrKysrKysrKysrKysr KysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWNvbmQuZXhwIHwg MzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA2OCBp bnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv d2F0Y2hwb2ludC1jb25kLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS93YXRjaHBvaW50LWNvbmQuZXhwCiAKLUluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtY29uZC5leHAKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtY29uZC5l eHAJMjAxNi0wMi0xNSAyMzozMzo0OS41MTkwOTk3NTkgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtY29uZC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS93YXRjaHBvaW50LWNvbmQuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAwMDAuLmQ0ZWM1ODE5NDYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2Uvd2F0Y2hwb2ludC1jb25kLmMKK0BAIC0wLDAgKzEsMzEgQEAKKysvKiBUaGlzIHRlc3Rj YXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdodCAy MDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cisr ICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgorKworKyAgIFBsZWFzZSBlbWFpbCBhbnkgYnVncywgY29tbWVu dHMsIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhpcyBmaWxlIHRvOgorKyAgIGJ1Zy1nZGJAcHJlcC5h aS5taXQuZWR1ICAqLworKworK2ludAorK21haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKyt7 CisrICBzdGF0aWMgaW50IGkgPSAwOyAvKiBgc3RhdGljJyB0byBzdGFydCBpbml0aWFsaXplZC4g ICovCisrICBpbnQgaiA9IDI7CisrCisrICBmb3IgKGogPSAwOyBqIDwgMzA7IGorKykKKysgICAg aSA9IDMwIC0gajsKKysKKysgIHJldHVybiAwOworK30KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtY29uZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L3dhdGNocG9pbnQtY29uZC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwLi4zMWQ1YjYwMmFhCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3dhdGNocG9pbnQtY29uZC5leHAKIEBAIC0wLDAgKzEsMzcgQEAKICsjIENvcHlyaWdodCAy MDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtNTEsMzkgKzk4LDYgQEAg SW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hw b2ludC1jb25kLmV4cAogKwogK2dkYl90ZXN0ICJ3YXRjaCBpIGlmIGkgPCAyMCIgImF0Y2hwb2lu dCBcWzAtOVxdKzogaSIKICtnZGJfdGVzdCAiY29udCIgImF0Y2hwb2ludCBcWzAtOVxdKzogaS4q T2xkIHZhbHVlID0gMjAuKk5ldyB2YWx1ZSA9IDE5LioiCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAx NjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LWNvbmQuYwotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1j b25kLmMJMjAxNi0wMi0xNSAyMzozMjo1MS45NzQ2OTExODggKzAxMDAKLUBAIC0wLDAgKzEsMzEg QEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgot KwotKyAgIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwot KyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK LSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90 LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotKyAgIFBsZWFzZSBlbWFp bCBhbnkgYnVncywgY29tbWVudHMsIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhpcyBmaWxlIHRvOgot KyAgIGJ1Zy1nZGJAcHJlcC5haS5taXQuZWR1ICAqLwotKwotK2ludAotK21haW4gKGludCBhcmdj LCBjaGFyICoqYXJndikKLSt7Ci0rICBzdGF0aWMgaW50IGkgPSAwOyAvKiBgc3RhdGljJyB0byBz dGFydCBpbml0aWFsaXplZC4gICovCi0rICBpbnQgaiA9IDI7Ci0rCi0rICBmb3IgKGogPSAwOyBq IDwgMzA7IGorKykKLSsgICAgaSA9IDMwIC0gajsKLSsKLSsgIHJldHVybiAwOwotK30KKy0tIAor Mi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItNy4yLjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRv LWJyb2tlbi1kZWJ1Zy1maWxlcy5wYXRjaCBiL2dkYi03LjIuNTAtc3BhcmMtYWRkLXdvcmthcm91 bmQtdG8tYnJva2VuLWRlYnVnLWZpbGVzLnBhdGNoCmluZGV4IGQxNDA1MmYuLmM2MzA2YzggMTAw NjQ0Ci0tLSBhL2dkYi03LjIuNTAtc3BhcmMtYWRkLXdvcmthcm91bmQtdG8tYnJva2VuLWRlYnVn LWZpbGVzLnBhdGNoCisrKyBiL2dkYi03LjIuNTAtc3BhcmMtYWRkLXdvcmthcm91bmQtdG8tYnJv a2VuLWRlYnVnLWZpbGVzLnBhdGNoCkBAIC0xLDE0ICsxLDMwIEBACitGcm9tIGU4MDNkYTk1ZWI1 ODVkMzJmOGM4Zjc5MzQ0NTk4MjgyNzI1NWY2ZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBG cm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAy NyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLTcuMi41MC1zcGFyYy1hZGQt d29ya2Fyb3VuZC10by1icm9rZW4tZGVidWctZmlsZXMucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi03 LjIuNTAtc3BhcmMtYWRkLXdvcmthcm91bmQtdG8tYnJva2VuLWRlYnVnLWZpbGVzLnBhdGNoCiAK Kzs7IFRvb2xjaGFpbiBvbiBzcGFyYyBpcyBzbGlnaHRseSBicm9rZW4gYW5kIGRlYnVnaW5mbyBm aWxlcyBhcmUgZ2VuZXJhdGVkCis7OyB3aXRoIG5vbiA2NGJpdCBhbGlnbmVkIHRhYmxlcy9vZmZz ZXRzLgorOzsgU2VlIGZvciBleGFtcGxlIHJlYWRlbGYgLVMgLi4vWHZuYy5kZWJ1Zy4KKzs7Cis7 OyBBcyBhIGNvbnNlbnF1ZW5jZSBjYWxjdWxhdGlvbiBvZiBzZWN0cC0+ZmlsZXBvcyBhcyB1c2Vk IGluCis7OyBkd2FyZjJfcmVhZF9zZWN0aW9uIChnZGIvZHdhcmYycmVhZC5jOjE1MjUpIHdpbGwg cmV0dXJuIGEgbm9uIGFsaWduZWQgYnVmZmVyCis7OyB0aGF0IGNhbm5vdCBiZSB1c2VkIGRpcmVj dGx5IGFzIGRvbmUgd2l0aCBNTUFQLgorOzsgVXNhZ2Ugd2lsbCByZXN1bHQgaW4gYSBCdXNFcnJv ci4KKzs7Cis7OyBXaGlsZSB3ZSBmaWd1cmUgb3V0IHdoYXQncyB3cm9uZyBpbiB0aGUgdG9vbGNo YWluIGFuZCBkbyBhIGZ1bGwgYXJjaGl2ZQorOzsgcmVidWlsZCB0byBmaXggaXQsIHdlIG5lZWQg dG8gYmUgYWJsZSB0byB1c2UgZ2RiIDopCis7Oz1wdXNoCistLS0KKyBnZGIvZ2RiX2JmZC5jIHwg NiArKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBnZGIt Ny45LjkwLjIwMTUwNzA5L2dkYi9nZGJfYmZkLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45Ljkw LjIwMTUwNzA5Lm9yaWcvZ2RiL2dkYl9iZmQuYwkyMDE1LTA3LTA5IDE4OjIzOjU5LjM0NDAxNzg4 MiArMDIwMAotKysrIGdkYi03LjkuOTAuMjAxNTA3MDkvZ2RiL2dkYl9iZmQuYwkyMDE1LTA3LTA5 IDE4OjI0OjA2Ljk4NjA4MzA3MSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi9nZGJfYmZkLmMgYi9n ZGIvZ2RiX2JmZC5jCitpbmRleCBjYzAyNzQwYzFhLi4yNDE1NWU3YzU1IDEwMDY0NAorLS0tIGEv Z2RiL2dkYl9iZmQuYworKysrIGIvZ2RiL2dkYl9iZmQuYwogQEAgLTI0LDEyICsyNCwxNCBAQAog ICNpbmNsdWRlICJoYXNodGFiLmgiCiAgI2luY2x1ZGUgImZpbGVzdHVmZi5oIgpAQCAtMjQsNyAr NDAsNyBAQCBJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcwOS9nZGIvZ2RiX2JmZC5jCiAgI2luY2x1 ZGUgInRhcmdldC5oIgogICNpbmNsdWRlICJnZGIvZmlsZWlvLmgiCiAgI2luY2x1ZGUgImluZmVy aW9yLmgiCi1AQCAtMzk3LDYgKzM5OSw3IEBAIGZyZWVfb25lX2JmZF9zZWN0aW9uIChiZmQgKmFi ZmQsIGFzZWN0aW8KK0BAIC00ODQsNiArNDg2LDcgQEAgZnJlZV9vbmVfYmZkX3NlY3Rpb24gKGJm ZCAqYWJmZCwgYXNlY3Rpb24gKnNlY3RwLCB2b2lkICppZ25vcmUpCiAgCiAgICBpZiAoc2VjdCAh PSBOVUxMICYmIHNlY3QtPmRhdGEgIT0gTlVMTCkKICAgICAgewpAQCAtMzIsMTUgKzQ4LDE1IEBA IEluZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9nZGJfYmZkLmMKICAjaWZkZWYgSEFWRV9N TUFQCiAgICAgICAgaWYgKHNlY3QtPm1hcF9hZGRyICE9IE5VTEwpCiAgCXsKLUBAIC00MDcsNiAr NDEwLDcgQEAgZnJlZV9vbmVfYmZkX3NlY3Rpb24gKGJmZCAqYWJmZCwgYXNlY3RpbworQEAgLTQ5 Myw2ICs0OTYsNyBAQCBmcmVlX29uZV9iZmRfc2VjdGlvbiAoYmZkICphYmZkLCBhc2VjdGlvbiAq c2VjdHAsIHZvaWQgKmlnbm9yZSkKKyAJICBnZGJfYXNzZXJ0IChyZXMgPT0gMCk7CiAgCX0KICAg ICAgICBlbHNlCi0gI2VuZGlmCiArI2VuZGlmCisgI2VuZGlmCiAgCXhmcmVlIChzZWN0LT5kYXRh KTsKICAgICAgfQotIH0KLUBAIC01NTgsNiArNTYyLDcgQEAgZ2RiX2JmZF9tYXBfc2VjdGlvbiAo YXNlY3Rpb24gKnNlY3RwLCBiZgorQEAgLTY1OSw2ICs2NjMsNyBAQCBnZGJfYmZkX21hcF9zZWN0 aW9uIChhc2VjdGlvbiAqc2VjdHAsIGJmZF9zaXplX3R5cGUgKnNpemUpCiAgICBpZiAoZGVzY3Jp cHRvci0+ZGF0YSAhPSBOVUxMKQogICAgICBnb3RvIGRvbmU7CiAgCkBAIC00OCw3ICs2NCw3IEBA IEluZGV4OiBnZGItNy45LjkwLjIwMTUwNzA5L2dkYi9nZGJfYmZkLmMKICAjaWZkZWYgSEFWRV9N TUFQCiAgICBpZiAoIWJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWQgKGFiZmQsIHNlY3RwKSkKICAg ICAgewotQEAgLTU5Miw2ICs1OTcsNyBAQCBnZGJfYmZkX21hcF9zZWN0aW9uIChhc2VjdGlvbiAq c2VjdHAsIGJmCitAQCAtNjkzLDYgKzY5OCw3IEBAIGdkYl9iZmRfbWFwX3NlY3Rpb24gKGFzZWN0 aW9uICpzZWN0cCwgYmZkX3NpemVfdHlwZSAqc2l6ZSkKICAJfQogICAgICB9CiAgI2VuZGlmIC8q IEhBVkVfTU1BUCAqLwpAQCAtNTYsMyArNzIsNiBAQCBJbmRleDogZ2RiLTcuOS45MC4yMDE1MDcw OS9nZGIvZ2RiX2JmZC5jCiAgCiAgICAvKiBIYW5kbGUgY29tcHJlc3NlZCBzZWN0aW9ucywgb3Ig b3JkaW5hcnkgdW5jb21wcmVzc2VkIHNlY3Rpb25zIGluCiAgICAgICB0aGUgbm8tbW1hcCBjYXNl LiAgKi8KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItYWRkLWluZGV4LWNobW9kLnBh dGNoIGIvZ2RiLWFkZC1pbmRleC1jaG1vZC5wYXRjaApvbGQgbW9kZSAxMDA3NTUKbmV3IG1vZGUg MTAwNjQ0CmluZGV4IGJiYTg1ZGYuLmUwYmU2NDEKLS0tIGEvZ2RiLWFkZC1pbmRleC1jaG1vZC5w YXRjaAorKysgYi9nZGItYWRkLWluZGV4LWNobW9kLnBhdGNoCkBAIC0xLDEyICsxLDE0IEBACitG cm9tIDBiZTU5NWY0Njk0NTM2YzM0OGMzN2IwZTcyMGNjYTA2NTEzYTAwMWQgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29t PgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogW3BhdGNo XSBjb250cmliL2dkYi1hZGQtaW5kZXguc2g6IGNobW9kIHUrdworU3ViamVjdDogY29udHJpYi9n ZGItYWRkLWluZGV4LnNoOiBjaG1vZCB1K3cKIAogRmlsZU5hbWU6IGdkYi1hZGQtaW5kZXgtY2ht b2QucGF0Y2gKIAotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTctMDEv bXNnMDAxMTAuaHRtbAotCis7OyBGaXggZ2RiLWFkZC1pbmRleCBmb3IgNDQ0ICouZGVidWcgZmls ZXMuCis7Oz1wdXNoK2phbgogCitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMv MjAxNy0wMS9tc2cwMDExMC5odG1sCiAKIC0tQWhobExib0xka3VnV1U0UwogQ29udGVudC1UeXBl OiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpCkBAIC0yNiw3ICsyOCw2IEBAIHRoYXQgdGlt ZSB3aGlsZSBpbiBGZWRvcmEgMjUgdGhleSBhcmUgYXBwYXJlbnRseSBubyBsb25nZXIgdy4KIAog T0sgZm9yIGNoZWNrLWluPwogCi0KIEphbgogCiAtLUFoaGxMYm9MZGt1Z1dVNFMKQEAgLTM3LDEy ICszOCwxNSBAQCBnZGIvQ2hhbmdlTG9nCiAyMDE3LTAxLTA2ICBKYW4gS3JhdG9jaHZpbCAgPGph bi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiAKIAkqIGNvbnRyaWIvZ2RiLWFkZC1pbmRleC5zaDog VXNlIGNobW9kIHUrdyBmb3IgJGZpbGUuCistLS0KKyBnZGIvY29udHJpYi9nZGItYWRkLWluZGV4 LnNoIHwgMTAgKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9nZGIvY29udHJpYi9nZGItYWRkLWluZGV4LnNo IGIvZ2RiL2NvbnRyaWIvZ2RiLWFkZC1pbmRleC5zaAotaW5kZXggMGNkNGNlMy4uNWExOTBhMCAx MDA3NTUKK2luZGV4IGMzNDA1OGQxZDYuLmJiZWMxODRiNWQgMTAwNzU1CiAtLS0gYS9nZGIvY29u dHJpYi9nZGItYWRkLWluZGV4LnNoCiArKysgYi9nZGIvY29udHJpYi9nZGItYWRkLWluZGV4LnNo Ci1AQCAtMzgsMTAgKzM4LDExIEBAIGZpCitAQCAtNDMsMTAgKzQzLDExIEBAIGZpCiAgZGlyPSIk e2ZpbGUlLyp9IgogIHRlc3QgIiRkaXIiID0gIiRmaWxlIiAmJiBkaXI9Ii4iCiAgaW5kZXg9IiR7 ZmlsZX0uZ2RiLWluZGV4IgpAQCAtNTYsNyArNjAsNyBAQCBpbmRleCAwY2Q0Y2UzLi41YTE5MGEw IDEwMDc1NQogIAogICRHREIgLS1iYXRjaCAtbnggLWlleCAnc2V0IGF1dG8tbG9hZCBubycgXAog ICAgICAtZXggImZpbGUgJGZpbGUiIC1leCAic2F2ZSBnZGItaW5kZXggJGRpciIgfHwgewotQEAg LTU4LDggKzU5LDEzIEBAICRHREIgLS1iYXRjaCAtbnggLWlleCAnc2V0IGF1dG8tbG9hZCBubycg XAorQEAgLTYzLDggKzY0LDEzIEBAICRHREIgLS1iYXRjaCAtbnggLWlleCAnc2V0IGF1dG8tbG9h ZCBubycgXAogIHN0YXR1cz0wCiAgCiAgaWYgdGVzdCAtZiAiJGluZGV4IjsgdGhlbgpAQCAtNzAs NiArNzQsNiBAQCBpbmRleCAwY2Q0Y2UzLi41YTE5MGEwIDEwMDc1NQogICAgICBzdGF0dXM9JD8K ICBlbHNlCiAgICAgIGVjaG8gIiRteW5hbWU6IE5vIGluZGV4IHdhcyBjcmVhdGVkIGZvciAkZmls ZSIgMT4mMgotCi0tLUFoaGxMYm9MZGt1Z1dVNFMtLQorLS0gCisyLjE0LjMKIAoKZGlmZiAtLWdp dCBhL2dkYi1hcmNoZXItbmV4dC1vdmVyLXRocm93LWN4eC1leGVjLnBhdGNoIGIvZ2RiLWFyY2hl ci1uZXh0LW92ZXItdGhyb3ctY3h4LWV4ZWMucGF0Y2gKaW5kZXggNTg5ZTc3OS4uZGU3MzJkMiAx MDA2NDQKLS0tIGEvZ2RiLWFyY2hlci1uZXh0LW92ZXItdGhyb3ctY3h4LWV4ZWMucGF0Y2gKKysr IGIvZ2RiLWFyY2hlci1uZXh0LW92ZXItdGhyb3ctY3h4LWV4ZWMucGF0Y2gKQEAgLTEsMTUgKzEs MjcgQEAKK0Zyb20gYmQxYzMxZmYyODM3ODZkNzU5M2EzNmEyNjI3M2I3N2QyZGIyYzZmZSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBl bWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0 OiBnZGItYXJjaGVyLW5leHQtb3Zlci10aHJvdy1jeHgtZXhlYy5wYXRjaAogCiBGaWxlTmFtZTog Z2RiLWFyY2hlci1uZXh0LW92ZXItdGhyb3ctY3h4LWV4ZWMucGF0Y2gKIAorOzsgRml4IGZvbGxv dy1leGVjIGZvciBDKysgcHJvZ3JhbXMgKGJ1Z3JlcG9ydGVkIGJ5IE1hcnRpbiBTdHJhbnNreSku Cis7Oz1mZWRvcmF0ZXN0CiAKIEFyY2hlci11cHN0cmVhbWVkOgogaHR0cDovL3NvdXJjZXdhcmUu b3JnL21sL2FyY2hlci8yMDEwLXEyL21zZzAwMDMxLmh0bWwKKy0tLQorIGdkYi90ZXN0c3VpdGUv Z2RiLmNwL2N4eGV4ZWMuY2MgIHwgMjUgKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1 aXRlL2dkYi5jcC9jeHhleGVjLmV4cCB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKykKKyBjcmVhdGUg bW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvY3h4ZXhlYy5jYworIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5jcC9jeHhleGVjLmV4cAogCi0tLS0gLi9nZGIvdGVz dHN1aXRlL2dkYi5jcC9jeHhleGVjLmNjCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICsw MTAwCi0rKysgLi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9jeHhleGVjLmNjCTIwMTAtMDUtMjkgMDE6 MTg6NTYuMDAwMDAwMDAwICswMjAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Av Y3h4ZXhlYy5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2N4eGV4ZWMuY2MKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi40OGZkNjNlOWQzCistLS0gL2Rldi9udWxsCisr KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9jeHhleGVjLmNjCiBAQCAtMCwwICsxLDI1IEBACiAr LyogVGhpcyB0ZXN0IHNjcmlwdCBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsK QEAgLTM2LDggKzQ4LDExIEBAIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9hcmNoZXIvMjAxMC1x Mi9tc2cwMDAzMS5odG1sCiArICBleGVjbHAgKCJ0cnVlIiwgInRydWUiLCBOVUxMKTsKICsgIHJl dHVybiAxOwogK30KLS0tLSAuL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2N4eGV4ZWMuZXhwCTE5NzAt MDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCi0rKysgLi9nZGIvdGVzdHN1aXRlL2dkYi5j cC9jeHhleGVjLmV4cAkyMDEwLTA1LTI5IDAxOjI5OjI1LjAwMDAwMDAwMCArMDIwMAorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2N4eGV4ZWMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3AvY3h4ZXhlYy5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw Li5jODVkZDAxMjlkCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9j eHhleGVjLmV4cAogQEAgLTAsMCArMSw1MSBAQAogKyMgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC05MCwzICsxMDUsNiBAQCBodHRwOi8vc291cmNl d2FyZS5vcmcvbWwvYXJjaGVyLzIwMTAtcTIvbXNnMDAwMzEuaHRtbAogKwogKyMgYGluZm8gaW5m ZXJpb3JzJyBjYW4gc2hvdyA8bnVsbD4gb24gb2xkZXIgR0RCcy4KICtnZGJfdGVzdCAiaW5mbyB0 aHJlYWRzIiAiaW5mbyB0aHJlYWRzIiAicHJvZ3JhbSBmaW5pc2hlZCIKKy0tIAorMi4xNC4zCisK CmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXBpZS1hZGRvbnMta2VlcC1kaXNhYmxlZC5wYXRjaCBi L2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCmluZGV4IDhiMWVkMmUu LmRkNzg3NjYgMTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVk LnBhdGNoCisrKyBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCkBA IC0xLDE4ICsxLDI2IEBACitGcm9tIGNhY2E1NjQ3NDE0YTI1MDZiMDg0ZWEwZmIxZmEwNjdkMjEy YzlmYTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMg PGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIw MAogU3ViamVjdDogZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAtZGlzYWJsZWQucGF0Y2gKIAog RmlsZU5hbWU6IGdkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCiAKKzs7 PXB1c2gramFuOiBCcmVha3BvaW50cyBkaXNhYmxpbmcgbWF0Y2hpbmcgc2hvdWxkIG5vdCBiZSBi YXNlZCBvbiBhZGRyZXNzLgorLS0tCisgZ2RiL2JyZWFrcG9pbnQuYyB8IDQ0ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL2JyZWFrcG9pbnQuaCB8ICAz ICsrKworIGdkYi9vYmpmaWxlcy5jICAgfCAgNSArKysrKworIDMgZmlsZXMgY2hhbmdlZCwgNTIg aW5zZXJ0aW9ucygrKQogCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2JyZWFrcG9p bnQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2JyZWFr cG9pbnQuYwkyMDE3LTA0LTIwIDIzOjA0OjM5LjYyNzk2MDUyMyArMDIwMAotKysrIGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9icmVha3BvaW50LmMJMjAxNy0wNC0yMCAyMzowNzoyOS44NTQ5MTk3 MjUgKzAyMDAKLUBAIC0xNjA4Niw2ICsxNjA4Niw1MCBAQAorZGlmZiAtLWdpdCBhL2dkYi9icmVh a3BvaW50LmMgYi9nZGIvYnJlYWtwb2ludC5jCitpbmRleCBkNGQwOTVkODdlLi5iYzAxMzRkYjM2 IDEwMDY0NAorLS0tIGEvZ2RiL2JyZWFrcG9pbnQuYworKysrIGIvZ2RiL2JyZWFrcG9pbnQuYwor QEAgLTE1NjA3LDYgKzE1NjA3LDUwIEBAIGluaXRpYWxpemVfYnJlYWtwb2ludF9vcHMgKHZvaWQp CisgCiAgc3RhdGljIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICplbmFibGVicmVha2xpc3QgPSBO VUxMOwogIAotIHZvaWQKKyt2b2lkCiArYnJlYWtwb2ludHNfcmVsb2NhdGUgKHN0cnVjdCBvYmpm aWxlICpvYmpmaWxlLCBzdHJ1Y3Qgc2VjdGlvbl9vZmZzZXRzICpkZWx0YSkKICt7CiArICBzdHJ1 Y3QgYnBfbG9jYXRpb24gKmJsLCAqKmJscF90bXA7CkBAIC01NiwyNyArNjQsMjggQEAgSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9icmVha3BvaW50LmMKICsJICAgYnBfbG9jYXRpb25z X2NvbXBhcmUpOwogK30KICsKLSt2b2lkCisgdm9pZAogIF9pbml0aWFsaXplX2JyZWFrcG9pbnQg KHZvaWQpCiAgewotICAgc3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKmM7Ci1JbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL2JyZWFrcG9pbnQuaAotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5 LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2JyZWFrcG9pbnQuaAkyMDE3LTA0LTIwIDIzOjA0OjM5LjYy Nzk2MDUyMyArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9icmVha3BvaW50LmgJ MjAxNy0wNC0yMCAyMzowNDo0OC4zMzEwMDk1NjMgKzAyMDAKLUBAIC0xNjQ2LDQgKzE2NDYsNyBA QAorZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmggYi9nZGIvYnJlYWtwb2ludC5oCitpbmRl eCA2NDA2YTFkMzJiLi5lZWQyYzk2OGYyIDEwMDY0NAorLS0tIGEvZ2RiL2JyZWFrcG9pbnQuaAor KysrIGIvZ2RiL2JyZWFrcG9pbnQuaAorQEAgLTE2NTYsNiArMTY1Niw5IEBAIGV4dGVybiBjb25z dCBjaGFyICplcF9wYXJzZV9vcHRpb25hbF9pZl9jbGF1c2UgKGNvbnN0IGNoYXIgKiphcmcpOwog ICAgIFVJT1VUIGlmZiBkZWJ1Z2dpbmcgbXVsdGlwbGUgdGhyZWFkcy4gICovCiAgZXh0ZXJuIHZv aWQgbWF5YmVfcHJpbnRfdGhyZWFkX2hpdF9icmVha3BvaW50IChzdHJ1Y3QgdWlfb3V0ICp1aW91 dCk7CiAgCiArZXh0ZXJuIHZvaWQgYnJlYWtwb2ludHNfcmVsb2NhdGUgKHN0cnVjdCBvYmpmaWxl ICpvYmpmaWxlLAogKwkJCQkgIHN0cnVjdCBzZWN0aW9uX29mZnNldHMgKmRlbHRhKTsKICsKLSAj ZW5kaWYgLyogIWRlZmluZWQgKEJSRUFLUE9JTlRfSCkgKi8KLUluZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvb2JqZmlsZXMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcw NDIwLm9yaWcvZ2RiL29iamZpbGVzLmMJMjAxNy0wNC0yMCAyMzowNDozOS42Mjc5NjA1MjMgKzAy MDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvb2JqZmlsZXMuYwkyMDE3LTA0LTIwIDIz OjA0OjQ4LjMzMjAwOTU2OSArMDIwMAotQEAgLTkwOSw2ICs5MDksMTEgQEAKKyAvKiBQcmludCB0 aGUgc3BlY2lmaWVkIGJyZWFrcG9pbnQuICAqLworIGV4dGVybiB2b2lkIHByaW50X2JyZWFrcG9p bnQgKGJyZWFrcG9pbnQgKmJwKTsKKyAKK2RpZmYgLS1naXQgYS9nZGIvb2JqZmlsZXMuYyBiL2dk Yi9vYmpmaWxlcy5jCitpbmRleCBlZGRlMzk5ODAyLi4xZDI0ZmE5NWJhIDEwMDY0NAorLS0tIGEv Z2RiL29iamZpbGVzLmMKKysrKyBiL2dkYi9vYmpmaWxlcy5jCitAQCAtODc5LDYgKzg3OSwxMSBA QCBvYmpmaWxlX3JlbG9jYXRlMSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCQkJCW9ial9z ZWN0aW9uX2FkZHIgKHMpKTsKICAgICAgfQogIApAQCAtODgsMyArOTcsNiBAQCBJbmRleDogZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL29iamZpbGVzLmMKICAgIC8qIERhdGEgY2hhbmdlZC4gICov CiAgICByZXR1cm4gMTsKICB9CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLWFyY2hl ci1waWUtYWRkb25zLnBhdGNoIGIvZ2RiLWFyY2hlci1waWUtYWRkb25zLnBhdGNoCmluZGV4IDNm NmFhM2EuLmI2N2VjZDggMTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXItcGllLWFkZG9ucy5wYXRjaAor KysgYi9nZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gKQEAgLTEsMTUgKzEsMjEgQEAKK0Zyb20g NTc1NmE2ZDM4NWNmYjQ1MWI3NTJjNmE3NzI1MmYyYmVmZDQzNDkzZiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBE YXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItYXJjaGVy LXBpZS1hZGRvbnMucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1hcmNoZXItcGllLWFkZG9ucy5wYXRj aAogCis7Oz1wdXNoK2phbjogTWF5IGdldCBvYnNvbGV0ZWQgYnkgVG9tJ3MgdW5yZWxvY2F0ZWQg b2JqZmlsZXMgcGF0Y2guCistLS0KKyBnZGIvZ2RidHlwZXMuaCB8IDUgKysrKysKKyBnZGIvdmFs dWUuYyAgICB8IDMgKystCisgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKIAotSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dkYnR5cGVzLmgKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy45LjUwLjIwMTUwNTIwLm9yaWcvZ2RiL2dkYnR5cGVzLmgJMjAx NS0wNS0zMSAxNjo1NToyOS43MjM0NzU0ODUgKzAyMDAKLSsrKyBnZGItNy45LjUwLjIwMTUwNTIw L2dkYi9nZGJ0eXBlcy5oCTIwMTUtMDUtMzEgMTY6NTU6NDkuNzE2NjAxNjY5ICswMjAwCi1AQCAt NDYyLDYgKzQ2Miw3IEBAIGVudW0gZmllbGRfbG9jX2tpbmQKK2RpZmYgLS1naXQgYS9nZGIvZ2Ri dHlwZXMuaCBiL2dkYi9nZGJ0eXBlcy5oCitpbmRleCBlMjZhMDliNDU2Li5kOTJmZmMyMjhiIDEw MDY0NAorLS0tIGEvZ2RiL2dkYnR5cGVzLmgKKysrKyBiL2dkYi9nZGJ0eXBlcy5oCitAQCAtNDQw LDYgKzQ0MCw3IEBAIGVudW0gZmllbGRfbG9jX2tpbmQKICAgIHsKICAgICAgRklFTERfTE9DX0tJ TkRfQklUUE9TLAkvKio8IGJpdHBvcyAqLwogICAgICBGSUVMRF9MT0NfS0lORF9FTlVNVkFMLAkv Kio8IGVudW12YWwgKi8KQEAgLTE3LDcgKzIzLDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1 MjAvZ2RiL2dkYnR5cGVzLmgKICAgICAgRklFTERfTE9DX0tJTkRfUEhZU0FERFIsCS8qKjwgcGh5 c2FkZHIgKi8KICAgICAgRklFTERfTE9DX0tJTkRfUEhZU05BTUUsCS8qKjwgcGh5c25hbWUgKi8K ICAgICAgRklFTERfTE9DX0tJTkRfRFdBUkZfQkxPQ0sJLyoqPCBkd2FyZl9ibG9jayAqLwotQEAg LTUxMyw2ICs1MTQsNyBAQCB1bmlvbiBmaWVsZF9sb2NhdGlvbgorQEAgLTQ5MSw2ICs0OTIsNyBA QCB1bmlvbiBmaWVsZF9sb2NhdGlvbgogICAgICAgZmllbGQuICBPdGhlcndpc2UsIHBoeXNuYW1l IGlzIHRoZSBtYW5nbGVkIGxhYmVsIG9mIHRoZQogICAgICAgc3RhdGljIGZpZWxkLiAgKi8KICAK QEAgLTI1LDcgKzMxLDcgQEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dkYnR5cGVz LmgKICAgIENPUkVfQUREUiBwaHlzYWRkcjsKICAgIGNvbnN0IGNoYXIgKnBoeXNuYW1lOwogIAot QEAgLTEzODYsNiArMTM4OCw3IEBAIGV4dGVybiB2b2lkIHNldF90eXBlX3ZwdHJfYmFzZXR5cGUg KHN0cnUKK0BAIC0xMzMyLDYgKzEzMzQsNyBAQCBleHRlcm4gdm9pZCBzZXRfdHlwZV92cHRyX2Jh c2V0eXBlIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlwZSAqKTsKICAjZGVmaW5lIEZJRUxEX0VO VU1WQUxfTFZBTCh0aGlzZmxkKSAoKHRoaXNmbGQpLmxvYy5lbnVtdmFsKQogICNkZWZpbmUgRklF TERfRU5VTVZBTCh0aGlzZmxkKSAoRklFTERfRU5VTVZBTF9MVkFMICh0aGlzZmxkKSArIDApCiAg I2RlZmluZSBGSUVMRF9TVEFUSUNfUEhZU05BTUUodGhpc2ZsZCkgKCh0aGlzZmxkKS5sb2MucGh5 c25hbWUpCkBAIC0zMyw3ICszOSw3IEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9n ZGJ0eXBlcy5oCiAgI2RlZmluZSBGSUVMRF9TVEFUSUNfUEhZU0FERFIodGhpc2ZsZCkgKCh0aGlz ZmxkKS5sb2MucGh5c2FkZHIpCiAgI2RlZmluZSBGSUVMRF9EV0FSRl9CTE9DSyh0aGlzZmxkKSAo KHRoaXNmbGQpLmxvYy5kd2FyZl9ibG9jaykKICAjZGVmaW5lIFNFVF9GSUVMRF9CSVRQT1ModGhp c2ZsZCwgYml0cG9zKQkJCVwKLUBAIC0xMzk3LDYgKzE0MDAsNyBAQCBleHRlcm4gdm9pZCBzZXRf dHlwZV92cHRyX2Jhc2V0eXBlIChzdHJ1CitAQCAtMTM0Myw2ICsxMzQ2LDcgQEAgZXh0ZXJuIHZv aWQgc2V0X3R5cGVfdnB0cl9iYXNldHlwZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKik7 CiAgI2RlZmluZSBTRVRfRklFTERfUEhZU05BTUUodGhpc2ZsZCwgbmFtZSkJCQlcCiAgICAoRklF TERfTE9DX0tJTkQgKHRoaXNmbGQpID0gRklFTERfTE9DX0tJTkRfUEhZU05BTUUsCQlcCiAgICAg RklFTERfU1RBVElDX1BIWVNOQU1FICh0aGlzZmxkKSA9IChuYW1lKSkKQEAgLTQxLDcgKzQ3LDcg QEAgSW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL2dkYnR5cGVzLmgKICAjZGVmaW5lIFNF VF9GSUVMRF9QSFlTQUREUih0aGlzZmxkLCBhZGRyKQkJCVwKICAgIChGSUVMRF9MT0NfS0lORCAo dGhpc2ZsZCkgPSBGSUVMRF9MT0NfS0lORF9QSFlTQUREUiwJCVwKICAgICBGSUVMRF9TVEFUSUNf UEhZU0FERFIgKHRoaXNmbGQpID0gKGFkZHIpKQotQEAgLTE0MTMsNiArMTQxNyw3IEBAIGV4dGVy biB2b2lkIHNldF90eXBlX3ZwdHJfYmFzZXR5cGUgKHN0cnUKK0BAIC0xMzU5LDYgKzEzNjMsNyBA QCBleHRlcm4gdm9pZCBzZXRfdHlwZV92cHRyX2Jhc2V0eXBlIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1 Y3QgdHlwZSAqKTsKICAjZGVmaW5lIFRZUEVfRklFTERfQklUUE9TKHRoaXN0eXBlLCBuKSBGSUVM RF9CSVRQT1MgKFRZUEVfRklFTEQgKHRoaXN0eXBlLCBuKSkKICAjZGVmaW5lIFRZUEVfRklFTERf RU5VTVZBTCh0aGlzdHlwZSwgbikgRklFTERfRU5VTVZBTCAoVFlQRV9GSUVMRCAodGhpc3R5cGUs IG4pKQogICNkZWZpbmUgVFlQRV9GSUVMRF9TVEFUSUNfUEhZU05BTUUodGhpc3R5cGUsIG4pIEZJ RUxEX1NUQVRJQ19QSFlTTkFNRSAoVFlQRV9GSUVMRCAodGhpc3R5cGUsIG4pKQpAQCAtNDksMTEg KzU1LDExIEBAIEluZGV4OiBnZGItNy45LjUwLjIwMTUwNTIwL2dkYi9nZGJ0eXBlcy5oCiAgI2Rl ZmluZSBUWVBFX0ZJRUxEX1NUQVRJQ19QSFlTQUREUih0aGlzdHlwZSwgbikgRklFTERfU1RBVElD X1BIWVNBRERSIChUWVBFX0ZJRUxEICh0aGlzdHlwZSwgbikpCiAgI2RlZmluZSBUWVBFX0ZJRUxE X0RXQVJGX0JMT0NLKHRoaXN0eXBlLCBuKSBGSUVMRF9EV0FSRl9CTE9DSyAoVFlQRV9GSUVMRCAo dGhpc3R5cGUsIG4pKQogICNkZWZpbmUgVFlQRV9GSUVMRF9BUlRJRklDSUFMKHRoaXN0eXBlLCBu KSBGSUVMRF9BUlRJRklDSUFMKFRZUEVfRklFTEQodGhpc3R5cGUsbikpCi1JbmRleDogZ2RiLTcu OS41MC4yMDE1MDUyMC9nZGIvdmFsdWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjkuNTAuMjAx NTA1MjAub3JpZy9nZGIvdmFsdWUuYwkyMDE1LTA1LTMxIDE2OjU1OjI5LjcyNTQ3NTQ5NyArMDIw MAotKysrIGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3ZhbHVlLmMJMjAxNS0wNS0zMSAxNjo1NToz MC44MjE0ODI0MTUgKzAyMDAKLUBAIC0yOTUxLDcgKzI5NTEsOCBAQCB2YWx1ZV9zdGF0aWNfZmll bGQgKHN0cnVjdCB0eXBlICp0eXBlLCBpCitkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmMgYi9nZGIv dmFsdWUuYworaW5kZXggM2UwY2EyNWZhNy4uYTYxZjcyODU1MCAxMDA2NDQKKy0tLSBhL2dkYi92 YWx1ZS5jCisrKysgYi9nZGIvdmFsdWUuYworQEAgLTI5NjYsNyArMjk2Niw4IEBAIHZhbHVlX3N0 YXRpY19maWVsZCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZG5vKQogICAgICB7CiAgICAg IGNhc2UgRklFTERfTE9DX0tJTkRfUEhZU0FERFI6CiAgICAgICAgcmV0dmFsID0gdmFsdWVfYXRf bGF6eSAoVFlQRV9GSUVMRF9UWVBFICh0eXBlLCBmaWVsZG5vKSwKQEAgLTYzLDMgKzY5LDYgQEAg SW5kZXg6IGdkYi03LjkuNTAuMjAxNTA1MjAvZ2RiL3ZhbHVlLmMKICAgICAgICBicmVhazsKICAg ICAgY2FzZSBGSUVMRF9MT0NfS0lORF9QSFlTTkFNRToKICAgICAgeworLS0gCisyLjE0LjMKKwoK ZGlmZiAtLWdpdCBhL2dkYi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoIGIvZ2RiLWFyY2hlci12bGEt dGVzdHMucGF0Y2gKaW5kZXggNWVmMDYzOS4uYTI2MGFiNSAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hl ci12bGEtdGVzdHMucGF0Y2gKKysrIGIvZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gKQEAgLTEs MTQgKzEsMTA2IEBACitGcm9tIGQ0NzI1YWEzYjNjZWM0MzA1MjcwMjEyN2NhN2NjZGQzZjM4MGFk ZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGlu dmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAog U3ViamVjdDogZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1hcmNo ZXItdmxhLXRlc3RzLnBhdGNoCiAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVz dHN1aXRlL2dkYi5hZGEvcGFja2VkX2FycmF5LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEy LjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYWRhL3BhY2tlZF9hcnJheS5leHAJ MjAxNy0wMi0yNiAxOToxNToyOC41NTI4MjQ3NTEgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5hZGEvcGFja2VkX2FycmF5LmV4cAkyMDE3LTAyLTI2IDE5 OjE1OjM2LjU5Nzg4MjMxNiArMDEwMAotQEAgLTU2LDUgKzU2LDExIEBACis7Oz1mZWRvcmF0ZXN0 CistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5hZGEvcGFja2VkX2FycmF5LmV4cCAgICAgICAgICAg ICB8ICAgNiArCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9v LlMgICAgfCAzNTggKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2 XzY0LXZsYS1wb2ludGVyLmMgICAgICAgIHwgIDQ1ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC94ODZfNjQtdmxhLXBvaW50ZXIuZXhwICAgICAgfCAgNjUgKysrCisgZ2RiL3Rlc3RzdWl0ZS9n ZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYtZm9vLlMgICAgfCA0NTUgKysrKysrKysrKysrKysr KysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYuYyAgICAg ICAgfCAgNDUgKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5l eHAgICAgICB8ICA2NCArKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMgICAg ICAgICAgICAgICAgICB8ICAgNyArCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5l eHAgICAgICAgICAgICAgICAgfCAgMTAgKy0KKyAuLi4vZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZp ZWxkLWFkZHJlc3MuYyAgICAgICAgICB8ICAyMCArCisgLi4uL2dkYi5iYXNlL2ludGVybmFsLXZh ci1maWVsZC1hZGRyZXNzLmV4cCAgICAgICAgfCAgMjYgKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3ZsYS1mcmFtZS5jICAgICAgICAgICAgICAgICB8ICAzMSArKworIGdkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdmxhLWZyYW1lLmV4cCAgICAgICAgICAgICAgIHwgIDM4ICsrCisgZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuYyAgICAgICAgICAgICAgfCAgMzAgKysKKyBnZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5leHAgICAgICAgICAgICB8IDEwOSArKysr KworIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMgICAgICAgICAgICAgICAgICAgICAgIHwg IDU1ICsrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmV4cCAgICAgICAgICAgICAgICAg ICAgIHwgIDYyICsrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYjk1OTMuY2MgICAgICAgICAg ICAgICAgICAgIHwgMTgwICsrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiOTU5My5l eHAgICAgICAgICAgICAgICAgICAgfCAxODIgKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LlMgICAgICAgfCAyNDYgKysrKysrKysrKysKKyBnZGIv dGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuZXhwICAgICB8ICA2NiArKysK KyBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmMgICAgICAgICAgICB8ICA0 MiArKworIGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuZXhwICAgICAgICAg IHwgIDc5ICsrKysKKyAuLi4vZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0 aW9uLlMgICB8ICA4MyArKysrCisgLi4uL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0 YS1sb2NhdGlvbi5leHAgfCAgMzcgKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN1 YnJhbmdlLW5vLXR5cGUuUyAgICB8IDEyMSArKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5kd2Fy ZjIvZHcyLXN1YnJhbmdlLW5vLXR5cGUuZXhwICB8ICAzOSArKworIGdkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cCAgICAgICAgIHwgIDQyICsrCisgZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkwICAgICAgICAgfCAgNDAgKysKKyBnZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhwICAgICAgICAgICAgICB8IDE1NCArKysrKysr CisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MCAgICAgICAgICAgICAgfCAg OTggKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5leHAgICAgICAgICAg ICAgICB8ICA1OSArKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5mOTAgICAg ICAgICAgICAgICB8ICAzNyArKworIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2Uu ZXhwICAgICAgICAgICAgIHwgIDcyICsrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1 YnJhbmdlLmY5MCAgICAgICAgICAgICB8ICAyOCArKworIGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21p Mi12YXItc3RhbGUtdHlwZS5jICAgICAgICAgIHwgIDI2ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIu bWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cCAgICAgICAgfCAgNTcgKysrCisgZ2RiL3Rlc3RzdWl0 ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXItZnVuYy5jICAgfCAgMjIgKworIGdkYi90ZXN0 c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMgICAgICAgIHwgIDI4ICsrCisgZ2Ri L3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwICAgICAgfCAgMzMgKysK KyBnZGIvdGVzdHN1aXRlL2dkYi5vcHQvZm9ydHJhbi1zdHJpbmcuZXhwICAgICAgICAgICB8ICAz OSArKworIGdkYi90ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5mOTAgICAgICAgICAg IHwgIDI4ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5leHAgICAgICAgICAg ICAgICAgfCAxMDQgKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBhcyAg ICAgICAgICAgICAgICB8ICA4MiArKysrCisgZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKworIGdkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5l eHAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE3ICsKKyA0NiBmaWxlcyBjaGFuZ2VkLCAzNDcx IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMKKyBjcmVhdGUgbW9kZSAx MDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYworIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5l eHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxh LXR5cGVkZWYtZm9vLlMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC94ODZfNjQtdmxhLXR5cGVkZWYuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5jCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFk ZHJlc3MuZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvdmxh LWZyYW1lLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEt ZnJhbWUuZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvdmxh LW92ZXJmbG93LmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92 bGEtb3ZlcmZsb3cuZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvdmxhLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEu ZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYjk1OTMuY2MK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiOTU5My5leHAKKyBj cmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2Ns aXN0LlMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1i b3VuZC1sb2NsaXN0LmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5k d2FyZjIvZHcyLXN0cmlwcGVkLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uUworIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXIt ZGF0YS1sb2NhdGlvbi5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1zdWJyYW5nZS1uby10eXBlLlMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rl c3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdWJyYW5nZS1uby10eXBlLmV4cAorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5leHAKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkw CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5l eHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWlj LmY5MAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmlu Zy5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJp bmcuZjkwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3Vi cmFuZ2UuZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v c3VicmFuZ2UuZjkwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21p Mi12YXItc3RhbGUtdHlwZS5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2Ri Lm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3Rz dWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXItZnVuYy5jCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMKKyBjcmVhdGUg bW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhw CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmlu Zy5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2ZvcnRyYW4t c3RyaW5nLmY5MAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwv YXJyYXlzLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwv YXJyYXlzLnBhcworCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYWRhL3BhY2tlZF9h cnJheS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5hZGEvcGFja2VkX2FycmF5LmV4cAoraW5kZXgg MzIyMmE5NWZhYS4uOGRhZmI2NWNmOSAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFk YS9wYWNrZWRfYXJyYXkuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hZGEvcGFja2VkX2Fy cmF5LmV4cAorQEAgLTU2LDUgKzU2LDExIEBAIGdkYl90ZXN0X211bHRpcGxlICIkdGVzdCIgIiR0 ZXN0IiB7CiAgICAgICAgICAjIGFyZS4gIE9ic2VydmVkIHdpdGggKEZTRiBHTlUgQWRhIDQuNS4z IDIwMTEwMTI0KS4KICAgICAgICAgIHhmYWlsICR0ZXN0CiAgICAgIH0KQEAgLTIwLDEwICsxMTIs MTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFkYS9w YWNrZWRfYXJyYXkuZXhwCiArICAgIH0KICB9CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12 bGEtcG9pbnRlci1mb28uUwkyMDE3LTAyLTI2IDE5OjE1OjM2LjU5ODg4MjMyMyArMDEwMAorZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLWZvby5T IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4zYTk4M2U2YjIyCistLS0gL2Rldi9u dWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci1mb28u UwogQEAgLTAsMCArMSwzNTggQEAKICsJLmZpbGUJIng4Nl82NC12bGEtcG9pbnRlci5jIgogKwku dGV4dApAQCAtMzgzLDEwICs0NzYsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLWZvby5TCiArCS5zdHJpbmcJ ImFycmF5IgogKwkuaWRlbnQJIkdDQzogKEdOVSkgNi4yLjEgMjAxNjA5MTYgKFJlZCBIYXQgNi4y LjEtMikiCiArCS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKLUluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9p bnRlci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwkyMDE3LTAyLTI2IDE5OjE1OjM2LjU5ODg4MjMyMyAr MDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2lu dGVyLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5jCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uOThlZTQzYmJmMgorLS0tIC9kZXYv bnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwog QEAgLTAsMCArMSw0NSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBH TlUgZGVidWdnZXIuCiArCkBAIC00MzMsMTAgKzUyNywxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwogK30K ICsKICsjZW5kaWYKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dk Yi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5leHAJMjAxNy0w Mi0yNiAxOToxNTozNi41OTg4ODIzMjMgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNo L3g4Nl82NC12bGEtcG9pbnRlci5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwLi4zZTJlNjRhNmFiCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5leHAKIEBAIC0wLDAgKzEsNjUgQEAKICsjIENvcHly aWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtNTAzLDEwICs1 OTgsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gveDg2XzY0LXZsYS1wb2ludGVyLmV4cAogK2dkYl90ZXN0ICJ3aGF0aXMgYXJyYXkiICJ0eXBl ID0gYXJyYXlfdCIgInNlY29uZDogd2hhdGlzIGFycmF5IgogK2dkYl90ZXN0ICJ3aGF0aXMgYXJy YXlfdCIgInR5cGUgPSBjaGFyIFxcXFt2YXJpYWJsZSBsZW5ndGhcXFxdIiAic2Vjb25kOiB3aGF0 aXMgYXJyYXlfdCIKICtnZGJfdGVzdCAicHR5cGUgYXJyYXkiICJ0eXBlID0gY2hhciBcXFxbNzhc XFxdIiAic2Vjb25kOiBwdHlwZSBhcnJheSIKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi1mb28uUwotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10 eXBlZGVmLWZvby5TCTIwMTctMDItMjYgMTk6MTU6MzYuNTk4ODgyMzIzICswMTAwCitkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYtZm9vLlMgYi9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi1mb28uUworbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjY2ZjdhMzk5YmYKKy0tLSAvZGV2L251bGwK KysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLWZvby5TCiBA QCAtMCwwICsxLDQ1NSBAQAogKwkuZmlsZQkieDg2XzY0LXZsYS10eXBlZGVmLmMiCiArCS5zZWN0 aW9uCS5kZWJ1Z19hYmJyZXYsIiIsQHByb2diaXRzCkBAIC05NjMsMTAgKzEwNTksMTEgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZs YS10eXBlZGVmLWZvby5TCiArCS5zdHJpbmcJIkdOVSBDIDQuMy4yIDIwMDgxMTA1IChSZWQgSGF0 IDQuMy4yLTcpIgogKwkuaWRlbnQJIkdDQzogKEdOVSkgNC4zLjIgMjAwODExMDUgKFJlZCBIYXQg NC4zLjItNykiCiArCS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKLUluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEt dHlwZWRlZi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYuYwkyMDE3LTAyLTI2IDE5OjE1OjM2LjU5OTg4MjMz MCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10 eXBlZGVmLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5jCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNDAwOTllOWQzOQorLS0tIC9k ZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYu YwogQEAgLTAsMCArMSw0NSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRo ZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMDEzLDEwICsxMTEwLDExIEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5j CiArfQogKwogKyNlbmRpZgotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3Vp dGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAky MDE3LTAyLTI2IDE5OjE1OjM2LjU5OTg4MjMzMCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAwMDAuLjRlZjYyMTQ2MjkKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAogQEAgLTAsMCArMSw2NCBAQAogKyMg Q29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMDgy LDEwICsxMTgwLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5leHAKICtnZGJfdGVzdCAid2hhdGlzIGFycmF5 IiAidHlwZSA9IGFycmF5X3QiICJzZWNvbmQ6IHdoYXRpcyBhcnJheSIKICsKICtnZGJfdGVzdCAi cHR5cGUgYXJyYXkiICJ0eXBlID0gY2hhciBcXFxbNzhcXFxdIiAic2Vjb25kOiBwdHlwZSBhcnJh eSIKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Fy cmF5aWR4LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYwkyMDE3LTAyLTI2IDE5OjE1OjI4LjU1NTgyNDc3 MiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv YXJyYXlpZHguYwkyMDE3LTAyLTI2IDE5OjE1OjM2LjU5OTg4MjMzMCArMDEwMAorZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvYXJyYXlpZHguYworaW5kZXggNTExYjg2YjcyOC4uZTExMTQ3OWJiMyAxMDA2NDQKKy0t LSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYworKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9hcnJheWlkeC5jCiBAQCAtMTcsNiArMTcsMTMgQEAKICAKICBpbnQgYXJyYXlb XSA9IHsxLCAyLCAzLCA0fTsKQEAgLTExMDAsMTEgKzExOTgsMTEgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYwogIGludAogIG1h aW4gKHZvaWQpCiAgewotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvYXJyYXlpZHguZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAy MDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAkyMDE3LTAyLTI2IDE5 OjE1OjI4LjU1NTgyNDc3MiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguZXhwCTIwMTctMDItMjYgMTk6MTU6MzYuNTk5ODgyMzMw ICswMTAwCi1AQCAtNDksNCArNDksMTIgQEAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2FycmF5aWR4LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguZXhw CitpbmRleCBjMmQ0ZmQ5NThkLi42OWVkNDUwYWUzIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJy YXlpZHguZXhwCitAQCAtNDksNCArNDksMTIgQEAgZ2RiX3Rlc3QgInByaW50IGFycmF5IiBcCiAg ICAgICAgICAgIlxce1xcXFswXFxcXSA9IDEsIFxcXFsxXFxcXSA9IDIsIFxcXFsyXFxcXSA9IDMs IFxcXFszXFxcXSA9IDRcXH0iIFwKICAgICAgICAgICAicHJpbnQgYXJyYXkgd2l0aCBhcnJheS1p bmRleGVzIG9uIgogIApAQCAtMTExOCwxMCArMTIxNiwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAKICsJdW5zdXBwb3J0 ZWQgIiR0ZXN0IChubyBHQ0MpIgogKyAgICB9CiArfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuYwot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50 ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuYwkyMDE3LTAyLTI2IDE5OjE1OjM2LjU5OTg4MjMzMCAr MDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZp ZWxkLWFkZHJlc3MuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxk LWFkZHJlc3MuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmVlYjdi ODUwMWMKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJu YWwtdmFyLWZpZWxkLWFkZHJlc3MuYwogQEAgLTAsMCArMSwyMCBAQAogKy8qIFRoaXMgdGVzdGNh c2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMTQzLDEwICsxMjQy LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMKICtzdHJ1Y3QgewogKyAgaW50IGZpZWxkOwog K30gc3RhdGljc3RydWN0ID0geyAxIH07Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFs LXZhci1maWVsZC1hZGRyZXNzLmV4cAkyMDE3LTAyLTI2IDE5OjE1OjM2LjYwMDg4MjMzNyArMDEw MAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxk LWFkZHJlc3MuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQt YWRkcmVzcy5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4zM2M5 ZTk0ZWVlCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVy bmFsLXZhci1maWVsZC1hZGRyZXNzLmV4cAogQEAgLTAsMCArMSwyNiBAQAogKyMgQ29weXJpZ2h0 IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMTc0LDEwICsxMjc0 LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmV4CiArCiArZ2RiX3Rlc3Qge3NldCAkdmFyc3Ry dWN0ID0gc3RhdGljc3RydWN0fQogK2dkYl90ZXN0IHtwICR2YXJzdHJ1Y3QuZmllbGR9ICIgPSAx IgotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvdmxh LWZyYW1lLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3ZsYS1mcmFtZS5jCTIwMTctMDItMjYgMTk6MTU6MzYuNjAwODgyMzM3ICswMTAwCitk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtZnJhbWUuYyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1lLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwMDAwLi41NzUwZjY4YjNkCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL3ZsYS1mcmFtZS5jCiBAQCAtMCwwICsxLDMxIEBACiArLyogVGhpcyB0ZXN0Y2Fz ZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTEyMTAsMTAgKzEzMTEs MTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv dmxhLWZyYW1lLmMKICsgIGYgKHMpOwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1lLmV4cAotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1l LmV4cAkyMDE3LTAyLTI2IDE5OjE1OjM2LjYwMDg4MjMzNyArMDEwMAorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1lLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvdmxhLWZyYW1lLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAu LjQ3NzM2Yzc2MjUKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv dmxhLWZyYW1lLmV4cAogQEAgLTAsMCArMSwzOCBAQAogKyMgQ29weXJpZ2h0IDIwMTEgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIwpAQCAtMTI1MywxMCArMTM1NSwxMSBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtZnJhbWUu ZXhwCiArfQogKwogK2dkYl90ZXN0ICJidCBmdWxsIiAiXHJcbiArcyA9IFwiWFxcXFwwMDBcIlxy XG4uKiIKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L3ZsYS1vdmVyZmxvdy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6 MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuYwkyMDE3LTAyLTI2IDE5OjE1OjM2LjYwMDg4MjMz NyArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93 LmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5jCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYzVkNWVlMGJiOQorLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuYwogQEAgLTAsMCArMSwzMCBA QAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiAr CkBAIC0xMjg4LDEwICsxMzkxLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5jCiArCiArICByZXR1cm4gMDsKICt9Ci1J bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3Zl cmZsb3cuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS92bGEtb3ZlcmZsb3cuZXhwCTIwMTctMDItMjYgMTk6MTU6MzYuNjAwODgyMzM3ICsw MTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuZXhw IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuZXhwCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNDNhNTgyNTk3OQorLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuZXhwCiBAQCAtMCwwICsxLDEw OSBAQAogKyMgQ29weXJpZ2h0IDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAr CkBAIC0xNDAyLDEwICsxNTA2LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5leHAKICtnZGJfdGVzdCAiYnQiICJpbiBc W14gXF0qYWJvcnQgXFwoLiogaW4gbWFpbiBcXCguKiIgIkJhY2t0cmFjZSBhZnRlciBhYm9ydCgp IgogKwogK3ZlcmJvc2UgLWxvZyAia2JfZm91bmQgaW4gYnQgYWZ0ZXIgYWJvcnQoKSA9IFtleHBy IFttZW1vcnlfdl9wYWdlc19nZXRdICogJHBhZ2VzaXplIC8gMTAyNF0iCi1JbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuYwotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMJMjAxNy0wMi0y NiAxOToxNTozNi42MDA4ODIzMzcgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3ZsYS5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuYworbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmUxZjNlZDE3ODAKKy0tLSAvZGV2L251bGwKKysr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMKIEBAIC0wLDAgKzEsNTUgQEAKICsvKiBU aGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTQ2 MiwxMCArMTU2NywxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS92bGEuYwogKyAgZm9vICg3OCk7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhw CTIwMTctMDItMjYgMTk6MTU6MzYuNjAwODgyMzM3ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhw CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNzFmZTYzNzI3MgorLS0t IC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwCiBAQCAtMCww ICsxLDYyIEBACiArIyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICsKQEAgLTE1MjksMTAgKzE2MzUsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmV4cAogK2dkYl90ZXN0ICJwIHRlbXAxIiAiID0g JzEnIDxyZXBlYXRzIDc4IHRpbWVzPiIgInNlY29uZDogcHJpbnQgdGVtcDEiCiArZ2RiX3Rlc3Qg InAgdGVtcDIiICIgPSAnMicgPHJlcGVhdHMgNzggdGltZXM+IiAic2Vjb25kOiBwcmludCB0ZW1w MiIKICtnZGJfdGVzdCAicCB0ZW1wMyIgIiA9ICczJyA8cmVwZWF0cyA0OCB0aW1lcz4iICJzZWNv bmQ6IHByaW50IHRlbXAzIgotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3Vp dGUvZ2RiLmNwL2dkYjk1OTMuY2MKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0w MSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv dGVzdHN1aXRlL2dkYi5jcC9nZGI5NTkzLmNjCTIwMTctMDItMjYgMTk6MTU6MzYuNjAxODgyMzQ0 ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiOTU5My5jYyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmNwL2dkYjk1OTMuY2MKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwMDAwLi43ODNjOTYyMmE4CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9nZGI5NTkzLmNjCiBAQCAtMCwwICsxLDE4MCBAQAogKy8qIFRoaXMgdGVzdGNh c2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xNzE0LDEwICsxODIx LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9n ZGI5NTkzLmNjCiArICAgIH0KICt9CiArCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiOTU5My5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGI5NTkzLmV4cAkyMDE3LTAyLTI2IDE5OjE1OjM2 LjYwMTg4MjM0NCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYjk1 OTMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiOTU5My5leHAKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5lZjQwNDI0NDAyCistLS0gL2Rldi9udWxsCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGI5NTkzLmV4cAogQEAgLTAsMCArMSwxODIgQEAKICsj IENvcHlyaWdodCAyMDA4LCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpA QCAtMTkwMSwxMCArMjAwOSwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvZ2RiOTU5My5leHAKICtnZGJfdGVzdCAiYWR2YW5jZSAkbGluZSIgXAog KyAgIi4qY2F0Y2ggKC4uLikuKiIgXAogKyAgImFkdmFuY2Utb3Zlci10aHJvdyIKLUluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxv Y2xpc3QuUwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2Ri LmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5TCTIwMTctMDItMjYgMTk6MTU6MzYuNjAxODgyMzQ0 ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1s b2NsaXN0LlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuUwor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmFhYzNiYWFkOGEKKy0tLSAv ZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYm91bmQtbG9jbGlz dC5TCiBAQCAtMCwwICsxLDI0NiBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIs IHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0yMTUyLDEwICsyMjYxLDExIEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xp c3QuUwogKwkuc3RyaW5nCQkiY2hhciIKICsuTHVpbnRfc3RyOgogKwkuc3RyaW5nCQkidW5zaWdu ZWQgaW50IgotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItYm91bmQtbG9jbGlzdC5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuZXhwCTIwMTctMDIt MjYgMTk6MTU6MzYuNjAyODgyMzUyICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItYm91bmQtbG9jbGlzdC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwLi4zOWU2OWI0NzBmCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuZXhwCiBAQCAtMCwwICsxLDY2IEBACiArIyBDb3B5 cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTIyMjMsMTAg KzIzMzMsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2Ri LmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5leHAKICsKICsjIFRoZSByZWdpc3RlciBjb250YWlu cyB1bnByZWRpY3RhYmxlIHZhbHVlIC0gdGhlIGFycmF5IHNpemUuCiArZ2RiX3Rlc3QgInB0eXBl IHJlZ19zdHJpbmciIHt0eXBlID0gY2hhciBcWy0/WzAtOV0rXF19Ci1JbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1z dHJpcHBlZC5jCTIwMTctMDItMjYgMTk6MTU6MzYuNjAyODgyMzUyICswMTAwCitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMC4uMWYwMmQ5MGVlYgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCiBAQCAtMCwwICsxLDQyIEBACiArLyogVGhpcyB0 ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTIyNzAsMTAg KzIzODEsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2Ri LmR3YXJmMi9kdzItc3RyaXBwZWQuYwogKyAgZnVuYzEgKDEsIDIpOwogKyAgcmV0dXJuIDA7CiAr fQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItc3RyaXBwZWQuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6 MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAJMjAxNy0wMi0yNiAxOToxNTozNi42MDI4 ODIzNTIgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0 cmlwcGVkLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuZXhwCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uOTMzNmUwMzE1NworLS0tIC9k ZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAK IEBAIC0wLDAgKzEsNzkgQEAKICsjIENvcHlyaWdodCAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKwpAQCAtMjM1NCwxMCArMjQ2NiwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAKICtnZGJf dGVzdCAic3RlcCIgXAogKyAgICAgICAgICJmdW5jLiogXFwoLipcXCkgYXQgLioiIFwKICsgICAg ICAgICAic3RlcCIKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5TCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVt YmVyLWRhdGEtbG9jYXRpb24uUwkyMDE3LTAyLTI2IDE5OjE1OjM2LjYwMjg4MjM1MiArMDEwMAor ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1k YXRhLWxvY2F0aW9uLlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1i ZXItZGF0YS1sb2NhdGlvbi5TCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAw MC4uNWZjZGQ4NDk4NgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uUwogQEAgLTAsMCArMSw4MyBAQAog Ky8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBA IC0yNDQyLDEwICsyNTU1LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhCiArCiArCS5ieXRl CQkweDAJCQkvKiBUZXJtaW5hdG9yICovCiArCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICov Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uZXhwCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEt bG9jYXRpb24uZXhwCTIwMTctMDItMjYgMTk6MTU6MzYuNjAyODgyMzUyICswMTAwCitkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9j YXRpb24uZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRh dGEtbG9jYXRpb24uZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4u YmMzNTIwOWZlNQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uZXhwCiBAQCAtMCwwICsxLDM3IEBACiAr IyBDb3B5cmlnaHQgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTI0 ODQsMTAgKzI1OTgsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3Vp dGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2EKICtjbGVhbl9yZXN0YXJ0 ICRiaW5maWxlCiArCiArZ2RiX3Rlc3QgInB0eXBlIHN0cnVjdCBzb21lX3N0cnVjdCIgInR5cGUg PSBzdHJ1Y3Qgc29tZV9zdHJ1Y3Qge1xbXHJcbiBcdFxdKnZvaWQgZmllbGQ7XFtcclxuIFx0XF0q fSIKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHcyLXN1YnJhbmdlLW5vLXR5cGUuUwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3VicmFuZ2Utbm8tdHlwZS5TCTIwMTctMDItMjYg MTk6MTU6MzYuNjAyODgyMzUyICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1zdWJyYW5nZS1uby10eXBlLlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHcyLXN1YnJhbmdlLW5vLXR5cGUuUworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAwMDAuLjlkYmJmM2MzZTEKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmR3YXJmMi9kdzItc3VicmFuZ2Utbm8tdHlwZS5TCiBAQCAtMCwwICsxLDEyMSBAQAogKy8qIFRo aXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0yNjEw LDEwICsyNzI1LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvZHcyLXN1YnJhbmdlLW5vLXR5cGUuUwogKwkuYnl0ZQkJMHgwCQkJLyogVGVy bWluYXRvciAqLwogKwogKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3VicmFuZ2Ut bm8tdHlwZS5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvZHcyLXN1YnJhbmdlLW5vLXR5cGUuZXhwCTIwMTctMDItMjYgMTk6MTU6MzYu NjAzODgyMzU5ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1zdWJyYW5nZS1uby10eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3Vi cmFuZ2Utbm8tdHlwZS5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw Li5jZWM2NzNjZDM5CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2Fy ZjIvZHcyLXN1YnJhbmdlLW5vLXR5cGUuZXhwCiBAQCAtMCwwICsxLDM5IEBACiArIyBDb3B5cmln aHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTI2NTQsMTAgKzI3 NzAsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItc3VicmFuZ2Utbm8tdHlwZS5leHAKICsKICtnZGJfdGVzdCAicHR5cGUgbm90eXBl X3N0cmluZyIge3R5cGUgPSBjaGFyIFxbMTI5XF19CiArZ2RiX3Rlc3QgInAgbm90eXBlX3N0cmlu ZyIgIiA9ICd4JyA8cmVwZWF0cyAxMjkgdGltZXM+IgotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cAotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3Ry aWRlLmV4cAkyMDE3LTAyLTI2IDE5OjE1OjM2LjYwMzg4MjM1OSArMDEwMAorZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLmQ3YjhiZWE4ZGIKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cAogQEAgLTAsMCArMSw0MiBAQAogKyMg Q29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0yNzAx LDEwICsyODE4LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5leHAKICtnZGJfY29udGludWVfdG9fYnJlYWtwb2lu dCAiYnJlYWstaGVyZSIgIi4qYnJlYWstaGVyZS4qIgogK2dkYl90ZXN0ICJwIGM0MHB0KDEpIiAi ID0gJzAtaGVsbG8uKiIKICtnZGJfdGVzdCAicCBjNDBwdCgyKSIgIiA9ICcxLWhlbGxvLioiCi1J bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2Fy Zi1zdHJpZGUuZjkwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkwCTIwMTctMDItMjYgMTk6MTU6MzYuNjAzODgy MzU5ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1z dHJpZGUuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkwCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZTQ5MmIzYWY0MgorLS0tIC9k ZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkw CiBAQCAtMCwwICsxLDQwIEBACiArISBDb3B5cmlnaHQgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KICshCkBAIC0yNzQ2LDEwICsyODY0LDExIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5mOTAKICsg IHByaW50ICosIGM0MHB0ICAhIGJyZWFrLWhlcmUKICsKICtlbmQgcHJvZ3JhbSByZXBybwotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1p Yy5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2R5bmFtaWMuZXhwCTIwMTctMDItMjYgMTk6MTU6MzYuNjAzODgyMzU5ICswMTAwCitk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmV4cCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwMDAwLi4zN2Q0MzVmNzk5CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhwCiBAQCAtMCwwICsxLDE1NCBAQAogKyMgQ29w eXJpZ2h0IDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0yOTA1LDEw ICszMDI0LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2R5bmFtaWMuZXhwCiArZ2RiX3Rlc3QgInAgdmFydCgzLDgpIiAiXFwkXFswLTlc XSogPSA5IgogKyMgbWFwcyB0byBmb286OnZhcnkoMSwzKQogK2dkYl90ZXN0ICJwIHZhcnQoMiw5 KSIgIlxcJFxbMC05XF0qID0gMTAiCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5mOTAJMjAxNy0wMi0yNiAx OToxNTozNi42MDM4ODIzNTkgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2R5bmFtaWMuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5 MAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjBmNDM1NjQzNzgKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5mOTAK IEBAIC0wLDAgKzEsOTggQEAKICshIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKyEKQEAgLTMwMDgsMTAgKzMxMjgsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5mOTAKICsgIGlmICh4 ICgxLCAxKSAubmUuIDggLm9yLiB4ICgyLCAyKSAubmUuIDkgLm9yLiB4ICgxLCAyKSAubmUuIDQp IGNhbGwgYWJvcnQKICsgIGlmICh4ICgzLCAxKSAubmUuIDEwKSBjYWxsIGFib3J0CiArZW5kCi1J bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJp bmcuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9zdHJpbmcuZXhwCTIwMTctMDItMjYgMTk6MTU6MzYuNjA0ODgyMzY2ICswMTAwCitk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMC4uMWI3YzBkYmY3MworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCiBAQCAtMCwwICsxLDU5IEBACiArIyBDb3B5cmln aHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTMwNzIsMTAgKzMx OTMsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vc3RyaW5nLmV4cAogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2YXItZmluaXNo IgogK2dkYl90ZXN0ICJwIGUiICJcXCRcWzAtOVxdKiA9ICdlICAgJyIgInAgZSByZS1zZXQiCiAr Z2RiX3Rlc3QgInAgZiIgIlxcJFxbMC05XF0qID0gXFwoXFwoICdmICAgJywgJ2YgICAnLCAnZiAg ICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJ1xcKSBcXCggJ2YyICAnLCAnZiAgICcs ICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnXFwpIFxcKCAnZiAgICcsICdm ICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICdcXCkgXFwpIiAicCAq ZiByZS1zZXQiCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9zdHJpbmcuZjkwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCTIwMTctMDItMjYgMTk6MTU6MzYuNjA0ODgy MzY2ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcu ZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMjI2ZGM1ZDBmZgorLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCiBAQCAtMCwwICsxLDM3IEBA CiArISBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICshCkBA IC0zMTE0LDEwICszMjM2LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5mOTAKICsgIGggPSAnaCcKICsgIGNhbGwgZm9vIChn LCBoKQogK2VuZAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vc3VicmFuZ2UuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAJMjAxNy0wMi0yNiAxOToxNTozNi42 MDQ4ODIzNjYgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1 YnJhbmdlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhwCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYzEyMWFiOTc1MQorLS0tIC9kZXYv bnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAKIEBAIC0w LDAgKzEsNzIgQEAKICsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogKwpAQCAtMzE5MSwxMCArMzMxNCwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAKICtnZGJfdW5sb2FkCiAr c2V0dXBfa2ZhaWwgIiotKi0qIiAidmxhcmVncmVzc2lvbi85OTk5IgogK2dkYl90ZXN0IHtwICRh ICgzLCAyOjIpfSB7ID0gXCgyM1wpfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZjkwCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5mOTAJMjAxNy0wMi0y NiAxOToxNTozNi42MDQ4ODIzNjYgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3N1YnJhbmdlLmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFu Z2UuZjkwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNDc0N2VhOTc0 NgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5n ZS5mOTAKIEBAIC0wLDAgKzEsMjggQEAKICshIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTMyMjQsMTAgKzMzNDgsMTEgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZjkwCiAr ICBwdHIgPT4gYQogKyAgd3JpdGUgKCosKikgYSAgICAgICAgICAgICAgICAgISBicmVhay1zdGF0 aWMKICtlbmQKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5t aS9taTItdmFyLXN0YWxlLXR5cGUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5jCTIwMTctMDItMjYgMTk6MTU6 MzYuNjA0ODgyMzY2ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWky LXZhci1zdGFsZS10eXBlLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5 cGUuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmViY2VkM2MwNDIK Ky0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUt dHlwZS5jCiBAQCAtMCwwICsxLDI2IEBACiArLyogQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0zMjU1LDEwICszMzgwLDExIEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUu YwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90 ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuZXhw CTIwMTctMDItMjYgMTk6MTU6MzYuNjA0ODgyMzY2ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2Ri Lm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwMDAwLi44ODMyNmMwMzkwCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuZXhwCiBAQCAtMCwwICsxLDU3IEBACiArIyBDb3B5 cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsjCkBAIC0zMzE3LDEw ICszNDQzLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dk Yi5taS9taTItdmFyLXN0YWxlLXR5cGUuZXhwCiArbWlfY3JlYXRlX3Zhcm9iaiAidmxhIiAidmxh IiAiY3JlYXRlIGxvY2FsIHZhcmlhYmxlIHZsYSIKICsKICttaV9nZGJfdGVzdCAiLXZhci11cGRh dGUgKiIgIlxcXmRvbmUsY2hhbmdlbGlzdD0uKiIgIi12YXItdXBkYXRlICoiCi1JbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0 ZXItZnVuYy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9n ZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXItZnVuYy5jCTIwMTctMDItMjYgMTk6MTU6MzYuNjA0 ODgyMzY2ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZy b20tcmVnaXN0ZXItZnVuYy5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVn aXN0ZXItZnVuYy5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNzI5 ZjQ1N2M4MgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5 LWZyb20tcmVnaXN0ZXItZnVuYy5jCiBAQCAtMCwwICsxLDIyIEBACiArLyogVGhpcyBmaWxlIGlz IHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMzM0NCwxMCArMzQ3MSwxMSBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5 LWZyb20tcmVnaXN0ZXItZnVuYy5jCiArewogKyAgcmV0dXJuIGFyclswXTsKICt9Ci1JbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVn aXN0ZXIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2Ri Lm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMJMjAxNy0wMi0yNiAxOToxNTozNi42MDU4ODIzNzMg KzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdp c3Rlci5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuYworbmV3 IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjMwOTBlN2U2MzEKKy0tLSAvZGV2 L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMK IEBAIC0wLDAgKzEsMjggQEAKICsvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUg ZGVidWdnZXIuCiArCkBAIC0zMzc3LDEwICszNTA1LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5jCiArCiAr ICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0 ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwCTIw MTctMDItMjYgMTk6MTU6MzYuNjA1ODgyMzczICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu b3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMC4uZjJkZTcxOGJjMworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwCiBAQCAtMCwwICsxLDMzIEBACiArIyBD b3B5cmlnaHQgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsjCkBAIC0zNDE1 LDEwICszNTQ0LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRl L2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5leHAKICsjIFNlZW4gcmVncmVzc2lvbjoKICsj IEFkZHJlc3MgcmVxdWVzdGVkIGZvciBpZGVudGlmaWVyICJhcnIiIHdoaWNoIGlzIGluIHJlZ2lz dGVyICRyZGkKICtnZGJfdGVzdCAicCBhcnJcWzBcXSIgIlxcJFxbMC05XF0rID0gNDIiCi1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3Ry aW5nLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2Ri Lm9wdC9mb3J0cmFuLXN0cmluZy5leHAJMjAxNy0wMi0yNiAxOToxNTozNi42MDU4ODIzNzMgKzAx MDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvZm9ydHJhbi1zdHJpbmcuZXhw IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmV4cAorbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjkwYTJiZGYyMTIKKy0tLSAvZGV2L251bGwKKysr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5leHAKIEBAIC0wLDAgKzEs MzkgQEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtMzQ1OSwxMCArMzU4OSwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmV4cAogK2dkYl90ZXN0ICJmcmFtZSIg Ii4qcz0nZm9vJy4qIgogK2dkYl90ZXN0ICJwdHlwZSBzIiAidHlwZSA9IGNoYXJhY3RlclxcKjMi CiArZ2RiX3Rlc3QgInAgcyIgIlxcJFxbMC05XF0qID0gJ2ZvbyciCi1JbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmY5MAotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFu LXN0cmluZy5mOTAJMjAxNy0wMi0yNiAxOToxNTozNi42MDU4ODIzNzMgKzAxMDAKK2RpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvZm9ydHJhbi1zdHJpbmcuZjkwIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmY5MAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLmU0OGQ1MjAwODUKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5mOTAKIEBAIC0wLDAgKzEsMjggQEAKICshIENv cHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTM0OTIs MTAgKzM2MjMsMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUv Z2RiLm9wdC9mb3J0cmFuLXN0cmluZy5mOTAKICsgIHByb2dyYW0gbWFpbgogKyAgY2FsbCBmICgn Zm9vJykKICsgIGVuZAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUv Z2RiLnBhc2NhbC9hcnJheXMuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5leHAJMjAxNy0wMi0yNiAxOToxNTozNi42MDU4 ODIzNzMgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlz LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMuZXhwCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMjJhY2RiODZkOAorLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5leHAKIEBAIC0wLDAgKzEsMTA0IEBA CiArIyBDb3B5cmlnaHQgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K ICsjCkBAIC0zNjAxLDEwICszNzMzLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLmV4cAogK30KICtnZGJfdGVzdCAicHJpbnQg RHluQXJyQ2hhciIgIi4qID0gJ2FiY2RlZmdoaWprbG0nIiAiUHJpbnQgZHluYW1pYyBhcnJheSBv ZiBjaGFyIgogKwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2Ri LnBhc2NhbC9hcnJheXMucGFzCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rl c3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5wYXMJMjAxNy0wMi0yNiAxOToxNTozNi42MDU4ODIz NzMgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBh cyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMucGFzCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMjk1NjAyZDY4YworLS0tIC9kZXYvbnVsbAorKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5wYXMKIEBAIC0wLDAgKzEsODIgQEAKICt7 CiArIENvcHlyaWdodCAyMDA4LCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpA QCAtMzY4OCwxMSArMzgyMSwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rl c3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5wYXMKICsgIHMgOj0gJ3Rlc3QnIzAnc3RyaW5nJzsK ICsgIHdyaXRlbG4ocyk7IHsgc2V0IGJyZWFrcG9pbnQgMiBoZXJlIH0KICtlbmQuCi1JbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4 cAkyMDE3LTAyLTI2IDE5OjE1OjI4LjU2NDgyNDgzNiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAJMjAxNy0wMi0yNiAxOToxNTozNi42MDc4 ODIzODcgKzAxMDAKLUBAIC0xNzgsNiArMTc4LDExIEBACitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9saWIvZ2RiLmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKK2luZGV4IGZmODIx OGJmM2QuLmM1OTI0Zjk3YWYgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhw CisrKysgYi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCitAQCAtMTc4LDYgKzE3OCwxMSBAQCBw cm9jIGdkYl91bmxvYWQge30gewogIAkgICAgc2VuZF9nZGIgInlcbiIKICAJICAgIGV4cF9jb250 aW51ZQogIAl9CkBAIC0zNzA0LDExICszODM3LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiAgCS1yZSAiRGlzY2FyZCBzeW1ib2wgdGFi bGUgZnJvbSAuKnkgb3Igbi4qJCIgewogIAkgICAgc2VuZF9nZGIgInlcbiIKICAJICAgIGV4cF9j b250aW51ZQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvbGliL3Bh c2NhbC5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi90 ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAJMjAxNy0wMi0yNiAxOToxNToyOC41NjU4MjQ4NDQgKzAx MDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhw CTIwMTctMDItMjYgMTk6MTU6MzYuNjA3ODgyMzg3ICswMTAwCi1AQCAtMzcsNiArMzcsOSBAQAor ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAgYi9nZGIvdGVzdHN1aXRl L2xpYi9wYXNjYWwuZXhwCitpbmRleCBhMDU2MmMzZmU1Li44ZjAyNTcxOTZmIDEwMDY0NAorLS0t IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIv cGFzY2FsLmV4cAorQEAgLTM3LDYgKzM3LDkgQEAgcHJvYyBwYXNjYWxfaW5pdCB7fSB7CiAgICAg IGdsb2JhbCBwYXNjYWxfY29tcGlsZXJfaXNfZnBjCiAgICAgIGdsb2JhbCBncGNfY29tcGlsZXIK ICAgICAgZ2xvYmFsIGZwY19jb21waWxlcgpAQCAtMzcxOCw3ICszODUxLDcgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAKICAgICAgZ2xv YmFsIGVudgogICAKICAgICAgaWYgeyAkcGFzY2FsX2luaXRfZG9uZSA9PSAxIH0gewotQEAgLTY0 LDYgKzY3LDIwIEBACitAQCAtNjQsNiArNjcsMjAgQEAgcHJvYyBwYXNjYWxfaW5pdCB7fSB7CiAg CSAgICBzZXQgcGFzY2FsX2NvbXBpbGVyX2lzX2ZwYyAxCiAgCSAgICB2ZXJib3NlIC1sb2cgIkZy ZWUgUGFzY2FsIGNvbXBpbGVyIGZvdW5kIgogIAl9CkBAIC0zNzM5LDMgKzM4NzIsNiBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4cAogICAg ICB9CiAgICAgIHNldCBwYXNjYWxfaW5pdF9kb25lIDEKICB9ICAgCistLSAKKzIuMTQuMworCgpk aWZmIC0tZ2l0IGEvZ2RiLWFyY2hlci5wYXRjaCBiL2dkYi1hcmNoZXIucGF0Y2gKaW5kZXggYzNj OGRhNi4uMTQ1YzQ2ZCAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hlci5wYXRjaAorKysgYi9nZGItYXJj aGVyLnBhdGNoCkBAIC0xLDMgKzEsMTMgQEAKK0Zyb20gYTMzYmU1YmE5NTkxN2VjNDlmYzAxNTM4 N2JmYzkxNzZmYzc4MTgwYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEZlZG9yYSBH REIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CitEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIx OjA3OjUwICswMjAwCitTdWJqZWN0OiBnZGItYXJjaGVyLnBhdGNoCisKK0ZpbGVOYW1lOiBnZGIt YXJjaGVyLnBhdGNoCisKKzs7IFB5dGhvbiBwYXRjaGVzIG9mOiBodHRwOi8vc291cmNld2FyZS5v cmcvZ2RiL3dpa2kvUHJvamVjdEFyY2hlcgorOzs9cHVzaAorCiBodHRwOi8vc291cmNld2FyZS5v cmcvZ2RiL3dpa2kvUHJvamVjdEFyY2hlcgogaHR0cDovL3NvdXJjZXdhcmUub3JnL2dkYi93aWtp L0FyY2hlckJyYW5jaE1hbmFnZW1lbnQKIApAQCAtNSwyMSArMTUsMzMgQEAgR0lUIHNuYXBzaG90 OgogY29tbWl0IDcxOGExNjE4YjJmNjkxYTdmNDA3MjEzYmI1MGYxMDBhYzU5ZjkxYzMKIAogdHJv bWV5L3B5dGhvbgorLS0tCisgZ2RiL01ha2VmaWxlLmluICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgNiArKworIGdkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbiAgICAgICAgICAg ICAgfCAgIDQgKworIGdkYi9kb2MvZ2RiLnRleGluZm8gICAgICAgICAgICAgICAgICAgICAgICAg fCAgMTAgKysrCisgZ2RiL2RvYy9weXRob24udGV4aSAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMiAtCisgZ2RiL2dkYi1nZGIuZ2RiLmluICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAx MCArKysKKyBnZGIvbWFpbi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDkz ICsrKysrKysrKysrKysrKysrKy0tLS0tCisgZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvaWdu b3JlX2Vycm9ycy5weSB8ICAzNyArKysrKysrKysKKyBnZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFu ZC9wYWhvbGUucHkgICAgICAgIHwgIDgxICsrKysrKysrKysrKysrKysrKysrCisgZ2RiL3B5dGhv bi9saWIvZ2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5ICAgICB8ICA0NyArKysrKysrKysrKysKKyBn ZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oICAgICAgICAgICAgICAgIHwgICAzICsKKyBnZGIv cHl0aG9uL3B5dGhvbi5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTEzICsrKysrKysrKysr KysrKysrKysrKysrKysrKysKKyBnZGIvcHl0aG9uL3B5dGhvbi5oICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAyICsKKyBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUuZXhwICAg ICAgIHwgICAyICsKKyBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFsdWUuZXhwICAgICAg IHwgIDEwICsrKworIGdkYi92YXJvYmouYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgIDggKysKKyBnZGIvdmFyb2JqLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAyICsKKyAxNiBmaWxlcyBjaGFuZ2VkLCA0MTEgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25z KC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2lnbm9y ZV9lcnJvcnMucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1h bmQvcGFob2xlLnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi9weXRob24vbGliL2dkYi9mdW5j dGlvbi9pbl9zY29wZS5weQogCi0KLWRpZmYgLS1naXQgYS9SRUFETUUuYXJjaGVyIGIvUkVBRE1F LmFyY2hlcgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjE3M2I4ZWEKLS0t LSAvZGV2L251bGwKLSsrKyBiL1JFQURNRS5hcmNoZXIKLUBAIC0wLDAgKzEsMiBAQAotK1RoaXMg YnJhbmNoIG9yaWdpbmFsbHkgaGVsZCB0aGUgUHl0aG9uIGNvZGUgZm9yIGdkYi4gIEl0IHN0aWxs IGV4aXN0cwotK2JlY2F1c2UgYSBzbWFsbCBhbW91bnQgb2YgY29kZSBoZXJlIGhhcyBub3QgeWV0 IGJlZW4gbWVyZ2VkIHVwc3RyZWFtLgogZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dk Yi9NYWtlZmlsZS5pbgotaW5kZXggMjkxYjFhMC4uMTUwYThlZiAxMDA2NDQKK2luZGV4IGVkZDBi MjM5ZDQuLjBjM2Y4OWFhN2UgMTAwNjQ0CiAtLS0gYS9nZGIvTWFrZWZpbGUuaW4KICsrKyBiL2dk Yi9NYWtlZmlsZS5pbgotQEAgLTIzNTAsNiArMjM1MCwxMiBAQCBzdGFtcC1oOiAkKHNyY2Rpcikv Y29uZmlnLmluIGNvbmZpZy5zdGF0dXMKK0BAIC0yMTEzLDYgKzIxMTMsMTIgQEAgc3RhbXAtaDog JChzcmNkaXIpL2NvbmZpZy5pbiBjb25maWcuc3RhdHVzCiAgCSAgQ09ORklHX0xJTktTPSBcCiAg CSAgJChTSEVMTCkgY29uZmlnLnN0YXR1cwogIApAQCAtMzMsMjIgKzU1LDE5IEBAIGluZGV4IDI5 MWIxYTAuLjE1MGE4ZWYgMTAwNjQ0CiAgCSQoU0hFTEwpIGNvbmZpZy5zdGF0dXMgLS1yZWNoZWNr CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluIGIvZ2RiL2Rh dGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCi1pbmRleCAzMDRkNGIwLi5kMjAwN2E0IDEwMDY0NAor aW5kZXggZGFkZGU4ODk1YS4uMTllNDM2ZDcyNSAxMDA2NDQKIC0tLSBhL2dkYi9kYXRhLWRpcmVj dG9yeS9NYWtlZmlsZS5pbgogKysrIGIvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCi1A QCAtNzcsNyArNzcsMTEgQEAgUFlUSE9OX0ZJTEVfTElTVCA9IFwKLSAJZ2RiL3R5cGVzLnB5IFwK K0BAIC04MCw2ICs4MCw4IEBAIFBZVEhPTl9GSUxFX0xJU1QgPSBcCiAgCWdkYi91bndpbmRlci5w eSBcCiAgCWdkYi94bWV0aG9kLnB5IFwKLSsJZ2RiL3R5cGVzLnB5IFwKICAJZ2RiL2NvbW1hbmQv X19pbml0X18ucHkgXAogKwlnZGIvY29tbWFuZC9pZ25vcmVfZXJyb3JzLnB5IFwKICsJZ2RiL2Nv bW1hbmQvcGFob2xlLnB5IFwKLSsJZ2RiL2NvbW1hbmQveG1ldGhvZHMucHkgXAogIAlnZGIvY29t bWFuZC9leHBsb3JlLnB5IFwKKyAJZ2RiL2NvbW1hbmQvYmFja3RyYWNlLnB5IFwKICAJZ2RiL2Nv bW1hbmQvZnJhbWVfZmlsdGVycy5weSBcCi0gCWdkYi9jb21tYW5kL3ByZXR0eV9wcmludGVycy5w eSBcCi1AQCAtODksNiArOTMsOCBAQCBQWVRIT05fRklMRV9MSVNUID0gXAorQEAgLTkyLDYgKzk0 LDggQEAgUFlUSE9OX0ZJTEVfTElTVCA9IFwKICAJZ2RiL2Z1bmN0aW9uL2FzX3N0cmluZy5weSBc CiAgCWdkYi9mdW5jdGlvbi9jYWxsZXJfaXMucHkgXAogIAlnZGIvZnVuY3Rpb24vc3RyZm5zLnB5 IFwKQEAgLTU4LDEwICs3NywxMCBAQCBpbmRleCAzMDRkNGIwLi5kMjAwN2E0IDEwMDY0NAogIAln ZGIvcHJpbnRlci9ib3VuZF9yZWdpc3RlcnMucHkKICAKIGRpZmYgLS1naXQgYS9nZGIvZG9jL2dk Yi50ZXhpbmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwotaW5kZXggMzAwZDc4ZS4uNjk5ZjJjYiAx MDA2NDQKK2luZGV4IGE3OWM2ODZmMGIuLmQxM2Q0ZGQ5NDUgMTAwNjQ0CiAtLS0gYS9nZGIvZG9j L2dkYi50ZXhpbmZvCiArKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZvCi1AQCAtMTIzMCw2ICsxMjMw LDE2IEBAIGZvciByZW1vdGUgZGVidWdnaW5nLgorQEAgLTEyNDAsNiArMTI0MCwxNiBAQCBmb3Ig cmVtb3RlIGRlYnVnZ2luZy4KICBSdW4gdXNpbmcgQHZhcntkZXZpY2V9IGZvciB5b3VyIHByb2dy YW0ncyBzdGFuZGFyZCBpbnB1dCBhbmQgb3V0cHV0LgogIEBjIEZJWE1FOiBraW5nZG9uIHRoaW5r cyB0aGVyZSBpcyBtb3JlIHRvIC10dHkuICBJbnZlc3RpZ2F0ZS4KICAKQEAgLTc5LDcgKzk4LDcg QEAgaW5kZXggMzAwZDc4ZS4uNjk5ZjJjYiAxMDA2NDQKICBAaXRlbSAtdHVpCiAgQGNpbmRleCBA Y29kZXstLXR1aX0KIGRpZmYgLS1naXQgYS9nZGIvZG9jL3B5dGhvbi50ZXhpIGIvZ2RiL2RvYy9w eXRob24udGV4aQotaW5kZXggY2U1ODEwZS4uNGNlYjEwOCAxMDA2NDQKK2luZGV4IDAxMjQzYzdj N2QuLmViN2JmM2NhMDUgMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL3B5dGhvbi50ZXhpCiArKysgYi9n ZGIvZG9jL3B5dGhvbi50ZXhpCiBAQCAtODgsOCArODgsNiBAQCBjb250YWluaW5nIEBjb2Rle2Vu ZH0uICBGb3IgZXhhbXBsZToKQEAgLTkyLDcgKzExMSw3IEBAIGluZGV4IGNlNTgxMGUuLjRjZWIx MDggMTAwNjQ0CiAgPmVuZAogIDIzCiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYi1nZGIuZ2RiLmluIGIv Z2RiL2dkYi1nZGIuZ2RiLmluCi1pbmRleCAwNWEzOGIyLi45ODAxZmRmIDEwMDY0NAoraW5kZXgg MDVhMzhiMjY3MC4uOTgwMWZkZmY2NyAxMDA2NDQKIC0tLSBhL2dkYi9nZGItZ2RiLmdkYi5pbgog KysrIGIvZ2RiL2dkYi1nZGIuZ2RiLmluCiBAQCAtMSw1ICsxLDE1IEBACkBAIC0xMTIsNyArMTMx LDcgQEAgaW5kZXggMDVhMzhiMi4uOTgwMWZkZiAxMDA2NDQKICAgIHNldCB2YXJpYWJsZSAkZ2Ri X2luaXRfZG9uZSA9IDEKICAKIGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwot aW5kZXggZGY0YjExMS4uNmFjYThiMCAxMDA2NDQKK2luZGV4IGRmMWYxMmJkNzkuLmE1MzBhNjMy YmYgMTAwNjQ0CiAtLS0gYS9nZGIvbWFpbi5jCiArKysgYi9nZGIvbWFpbi5jCiBAQCAtMzMsNiAr MzMsNyBAQApAQCAtMTIzLDggKzE0Miw4IEBAIGluZGV4IGRmNGIxMTEuLjZhY2E4YjAgMTAwNjQ0 CiAgI2luY2x1ZGUgInNvdXJjZS5oIgogICNpbmNsdWRlICJjbGkvY2xpLWNtZHMuaCIKICAjaW5j bHVkZSAib2JqZmlsZXMuaCIKLUBAIC00NTksNyArNDYwLDcgQEAgc3RydWN0IGNtZGFyZwotIH07 CitAQCAtNDc4LDcgKzQ3OSw3IEBAIGV4ZWNfb3JfY29yZV9maWxlX2F0dGFjaCAoY29uc3QgY2hh ciAqZmlsZW5hbWUsIGludCBmcm9tX3R0eSkKKyB9CiAgCiAgc3RhdGljIHZvaWQKIC1jYXB0dXJl ZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCkBAIC0xMzIsNyAr MTUxLDcgQEAgaW5kZXggZGY0YjExMS4uNmFjYThiMCAxMDA2NDQKICB7CiAgICBpbnQgYXJnYyA9 IGNvbnRleHQtPmFyZ2M7CiAgICBjaGFyICoqYXJndiA9IGNvbnRleHQtPmFyZ3Y7Ci1AQCAtNjc2 LDEwICs2NzcsMTQgQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdz ICpjb250ZXh0KQorQEAgLTY5NSwxMCArNjk2LDE0IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0 IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKICAgICAgICB7ImFyZ3MiLCBub19hcmd1bWVu dCwgJnNldF9hcmdzLCAxfSwKICAgICAgICB7ImwiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ2wn fSwKICAgICAgICB7InJldHVybi1jaGlsZC1yZXN1bHQiLCBub19hcmd1bWVudCwgJnJldHVybl9j aGlsZF9yZXN1bHQsIDF9LApAQCAtMTQ4LDcgKzE2Nyw3IEBAIGluZGV4IGRmNGIxMTEuLjZhY2E4 YjAgMTAwNjQ0CiAgICAgICAgewogIAlpbnQgb3B0aW9uX2luZGV4OwogIAotQEAgLTY5Nyw2ICs3 MDIsOSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRl eHQpCitAQCAtNzE2LDYgKzcyMSw5IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVk X21haW5fYXJncyAqY29udGV4dCkKICAJICBjYXNlIDA6CiAgCSAgICAvKiBMb25nIG9wdGlvbiB0 aGF0IGp1c3Qgc2V0cyBhIGZsYWcuICAqLwogIAkgICAgYnJlYWs7CkBAIC0xNTgsNyArMTc3LDcg QEAgaW5kZXggZGY0YjExMS4uNmFjYThiMCAxMDA2NDQKICAJICBjYXNlIE9QVF9TRToKICAJICAg IHN5bWFyZyA9IG9wdGFyZzsKICAJICAgIGV4ZWNhcmcgPSBvcHRhcmc7Ci1AQCAtODU1LDcgKzg2 MywzMSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRl eHQpCitAQCAtODg4LDcgKzg5NiwzMSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJl ZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgCiAgICAvKiBOb3cgdGhhdCBnZGJfaW5pdCBoYXMgY3Jl YXRlZCB0aGUgaW5pdGlhbCBpbmZlcmlvciwgd2UncmUgaW4KICAgICAgIHBvc2l0aW9uIHRvIHNl dCBhcmdzIGZvciB0aGF0IGluZmVyaW9yLiAgKi8KQEAgLTE5MSw3ICsyMTAsNyBAQCBpbmRleCBk ZjRiMTExLi42YWNhOGIwIDEwMDY0NAogICAgICB7CiAgICAgICAgLyogVGhlIHJlbWFpbmluZyBv cHRpb25zIGFyZSB0aGUgY29tbWFuZC1saW5lIG9wdGlvbnMgZm9yIHRoZQogIAkgaW5mZXJpb3Iu ICBUaGUgZmlyc3Qgb25lIGlzIHRoZSBzeW0vZXhlYyBmaWxlLCBhbmQgdGhlIHJlc3QKLUBAIC0x MTI1LDcgKzExNTcsOCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2Fy Z3MgKmNvbnRleHQpCitAQCAtMTE3OCw3ICsxMjEwLDggQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1 Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQogIAogICAgLyogUmVhZCBpbiB0aGUgb2xk IGhpc3RvcnkgYWZ0ZXIgYWxsIHRoZSBjb21tYW5kIGZpbGVzIGhhdmUgYmVlbgogICAgICAgcmVh ZC4gICovCkBAIC0yMDEsNyArMjIwLDcgQEAgaW5kZXggZGY0YjExMS4uNmFjYThiMCAxMDA2NDQK ICAKICAgIGlmIChiYXRjaF9mbGFnKQogICAgICB7Ci1AQCAtMTEzOCwxNiArMTE3MSwyOSBAQCBz dGF0aWMgdm9pZAorQEAgLTExOTEsMjQgKzEyMjQsMzcgQEAgc3RhdGljIHZvaWQKICBjYXB0dXJl ZF9tYWluICh2b2lkICpkYXRhKQogIHsKICAgIHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNv bnRleHQgPSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqKSBkYXRhOwpAQCAtMjE3LDcgKzIz NiwxMiBAQCBpbmRleCBkZjRiMTExLi42YWNhOGIwIDEwMDY0NAogLSAgd2hpbGUgKDEpCiArI2lm IEhBVkVfUFlUSE9OCiArICBpZiAocHl0aG9uX3NjcmlwdCkKLSsgICAgeworICAgICB7CistICAg ICAgVFJZCistCXsKKy0JICBjYXB0dXJlZF9jb21tYW5kX2xvb3AgKCk7CistCX0KKy0gICAgICBD QVRDSCAoZXgsIFJFVFVSTl9NQVNLX0FMTCkKICsgICAgICBleHRlcm4gaW50IHBhZ2luYXRpb25f ZW5hYmxlZDsKICsgICAgICBwYWdpbmF0aW9uX2VuYWJsZWQgPSAwOwogKyAgICAgIHJ1bl9weXRo b25fc2NyaXB0IChjb250ZXh0LT5hcmdjIC0gb3B0aW5kLCAmY29udGV4dC0+YXJndltvcHRpbmRd KTsKQEAgLTIyNSwyMCArMjQ5LDI5IEBAIGluZGV4IGRmNGIxMTEuLjZhY2E4YjAgMTAwNjQ0CiAr ICAgIH0KICsgIGVsc2UKICsjZW5kaWYKLSAgICAgewotLSAgICAgIGNhdGNoX2Vycm9ycyAoY2Fw dHVyZWRfY29tbWFuZF9sb29wLCAwLCAiIiwgUkVUVVJOX01BU0tfQUxMKTsKKysgICAgewogKyAg ICAgIC8qIE5PVEU6IGNhZ25leS8xOTk5LTExLTA3OiBUaGVyZSBpcyBwcm9iYWJseSBubyByZWFz b24gZm9yIG5vdAogKwkgbW92aW5nIHRoaXMgbG9vcCBhbmQgdGhlIGNvZGUgZm91bmQgaW4gY2Fw dHVyZWRfY29tbWFuZF9sb29wKCkKICsJIGludG8gdGhlIGNvbW1hbmRfbG9vcCgpIHByb3Blci4g IFRoZSBtYWluIHRoaW5nIGhvbGRpbmcgYmFjayB0aGF0CiArCSBjaGFuZ2UgLSBTRVRfVE9QX0xF VkVMKCkgLSBoYXMgYmVlbiBlbGltaW5hdGVkLiAqLwogKyAgICAgIHdoaWxlICgxKQotKwl7Ci0r CSAgY2F0Y2hfZXJyb3JzIChjYXB0dXJlZF9jb21tYW5kX2xvb3AsIDAsICIiLCBSRVRVUk5fTUFT S19BTEwpOwotKwl9CisgCXsKKy0JICBleGNlcHRpb25fcHJpbnQgKGdkYl9zdGRlcnIsIGV4KTsK KysJICBUUlkKKysJICAgIHsKKysJICAgICAgY2FwdHVyZWRfY29tbWFuZF9sb29wICgpOworKwkg ICAgfQorKwkgIENBVENIIChleCwgUkVUVVJOX01BU0tfQUxMKQorKwkgICAgeworKwkgICAgICBl eGNlcHRpb25fcHJpbnQgKGdkYl9zdGRlcnIsIGV4KTsKKysJICAgIH0KKysJICBFTkRfQ0FUQ0gK KyAJfQorLSAgICAgIEVORF9DQVRDSAogICAgICB9CiAgICAvKiBObyBleGl0IC0tIGV4aXQgaXMg dGhyb3VnaCBxdWl0X2NvbW1hbmQuICAqLwogIH0KLUBAIC0xMTkwLDYgKzEyMzYsMTIgQEAgcHJp bnRfZ2RiX2hlbHAgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCitAQCAtMTI1MSw2ICsxMjk3LDEy IEBAIHByaW50X2dkYl9oZWxwIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQogICAgZnB1dHNfdW5m aWx0ZXJlZCAoXygiXAogIFRoaXMgaXMgdGhlIEdOVSBkZWJ1Z2dlci4gIFVzYWdlOlxuXG5cCiAg ICAgIGdkYiBbb3B0aW9uc10gW2V4ZWN1dGFibGUtZmlsZSBbY29yZS1maWxlIG9yIHByb2Nlc3Mt aWRdXVxuXApAQCAtMjUxLDcgKzI4NCw3IEBAIGluZGV4IGRmNGIxMTEuLjZhY2E4YjAgMTAwNjQ0 CiAgICAgIGdkYiBbb3B0aW9uc10gLS1hcmdzIGV4ZWN1dGFibGUtZmlsZSBbaW5mZXJpb3ItYXJn dW1lbnRzIC4uLl1cblxuXAogICIpLCBzdHJlYW0pOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoXygi XAotQEAgLTEyMzQsNiArMTI4NiwxMyBAQCBPdXRwdXQgYW5kIHVzZXIgaW50ZXJmYWNlIGNvbnRy b2w6XG5cblwKK0BAIC0xMjk2LDYgKzEzNDgsMTMgQEAgT3V0cHV0IGFuZCB1c2VyIGludGVyZmFj ZSBjb250cm9sOlxuXG5cCiAgI2VuZGlmCiAgICBmcHV0c191bmZpbHRlcmVkIChfKCJcCiAgICAt LWRieCAgICAgICAgICAgICAgREJYIGNvbXBhdGliaWxpdHkgbW9kZS5cblwKQEAgLTI2Nyw3ICsz MDAsNyBAQCBpbmRleCBkZjRiMTExLi42YWNhOGIwIDEwMDY0NAogICIpLCBzdHJlYW0pOwogZGlm ZiAtLWdpdCBhL2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2lnbm9yZV9lcnJvcnMucHkgYi9n ZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9pZ25vcmVfZXJyb3JzLnB5CiBuZXcgZmlsZSBtb2Rl IDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNmZhNDhmZgoraW5kZXggMDAwMDAwMDAwMC4uNmZhNDhm ZjA4MQogLS0tIC9kZXYvbnVsbAogKysrIGIvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvaWdu b3JlX2Vycm9ycy5weQogQEAgLTAsMCArMSwzNyBAQApAQCAtMzEwLDcgKzM0Myw3IEBAIGluZGV4 IDAwMDAwMDAuLjZmYTQ4ZmYKICtJZ25vcmVFcnJvcnNDb21tYW5kICgpCiBkaWZmIC0tZ2l0IGEv Z2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvcGFob2xlLnB5IGIvZ2RiL3B5dGhvbi9saWIvZ2Ri L2NvbW1hbmQvcGFob2xlLnB5CiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4u ZTA4ZWFmNQoraW5kZXggMDAwMDAwMDAwMC4uZTA4ZWFmNWNhOAogLS0tIC9kZXYvbnVsbAogKysr IGIvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvcGFob2xlLnB5CiBAQCAtMCwwICsxLDgxIEBA CkBAIC0zOTcsNyArNDMwLDcgQEAgaW5kZXggMDAwMDAwMC4uZTA4ZWFmNQogK1BhaG9sZSgpCiBk aWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5IGIvZ2Ri L3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5CiBuZXcgZmlsZSBtb2RlIDEwMDY0 NAotaW5kZXggMDAwMDAwMC4uODc0MjY4MAoraW5kZXggMDAwMDAwMDAwMC4uODc0MjY4MDYxNAog LS0tIC9kZXYvbnVsbAogKysrIGIvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL2luX3Njb3Bl LnB5CiBAQCAtMCwwICsxLDQ3IEBACkBAIC00NDksMTAgKzQ4MiwxMCBAQCBpbmRleCAwMDAwMDAw Li44NzQyNjgwCiArCiArSW5TY29wZSAoKQogZGlmZiAtLWdpdCBhL2dkYi9weXRob24vcHl0aG9u LWludGVybmFsLmggYi9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCi1pbmRleCBlODRjOGQy Li42OTMwNWI0IDEwMDY0NAoraW5kZXggZjA5OWFlNDM3Zi4uNDY4YjBlYmQ5MiAxMDA2NDQKIC0t LSBhL2dkYi9weXRob24vcHl0aG9uLWludGVybmFsLmgKICsrKyBiL2dkYi9weXRob24vcHl0aG9u LWludGVybmFsLmgKLUBAIC02NzIsNiArNjcyLDkgQEAgY2xhc3MgZ2RicHlfZW50ZXJfdmFyb2Jq IDogcHVibGljIGdkYnB5X2VudGVyCitAQCAtNjUxLDYgKzY1MSw5IEBAIGNsYXNzIGdkYnB5X2Vu dGVyX3Zhcm9iaiA6IHB1YmxpYyBnZGJweV9lbnRlcgogIAogIH07CiAgCkBAIC00NjMsNyArNDk2 LDcgQEAgaW5kZXggZTg0YzhkMi4uNjkzMDViNCAxMDA2NDQKICBleHRlcm4gY29uc3Qgc3RydWN0 IGxhbmd1YWdlX2RlZm4gKnB5dGhvbl9sYW5ndWFnZTsKICAKIGRpZmYgLS1naXQgYS9nZGIvcHl0 aG9uL3B5dGhvbi5jIGIvZ2RiL3B5dGhvbi9weXRob24uYwotaW5kZXggN2UwYzUwNy4uYTY3ZmJj MyAxMDA2NDQKK2luZGV4IDBmNzFhNDMzNWUuLjAzZjZjNTVkNDAgMTAwNjQ0CiAtLS0gYS9nZGIv cHl0aG9uL3B5dGhvbi5jCiArKysgYi9nZGIvcHl0aG9uL3B5dGhvbi5jCiBAQCAtOTUsNiArOTUs OCBAQCBjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4gZXh0ZW5zaW9uX2xhbmd1 YWdlX3B5dGhvbiA9CkBAIC01MDUsNyArNTM4LDcgQEAgaW5kZXggN2UwYzUwNy4uYTY3ZmJjMyAx MDA2NDQKICAvKiBTZXQgdGhlIHF1aXQgZmxhZy4gICovCiAgCiAgc3RhdGljIHZvaWQKLUBAIC0x MTg3LDYgKzEyMTIsOTIgQEAgZ2RicHlfcHJpbnRfc3RhY2sgKHZvaWQpCitAQCAtMTM1Niw2ICsx MzgxLDkyIEBAIGdkYnB5X3ByaW50X3N0YWNrICh2b2lkKQogIAogIC8qIFJldHVybiB0aGUgY3Vy cmVudCBQcm9nc3BhY2UuCiAgICAgVGhlcmUgYWx3YXlzIGlzIG9uZS4gICovCkBAIC01OTgsNyAr NjMxLDcgQEAgaW5kZXggN2UwYzUwNy4uYTY3ZmJjMyAxMDA2NDQKICAKICBzdGF0aWMgUHlPYmpl Y3QgKgogIGdkYnB5X2dldF9jdXJyZW50X3Byb2dzcGFjZSAoUHlPYmplY3QgKnVudXNlZDEsIFB5 T2JqZWN0ICp1bnVzZWQyKQotQEAgLTE4ODEsNiArMTk5Miw4IEBAIFB5TWV0aG9kRGVmIHB5dGhv bl9HZGJNZXRob2RzW10gPQorQEAgLTIwMzUsNiArMjE0Niw4IEBAIFB5TWV0aG9kRGVmIHB5dGhv bl9HZGJNZXRob2RzW10gPQogIEV2YWx1YXRlIGNvbW1hbmQsIGEgc3RyaW5nLCBhcyBhIGdkYiBD TEkgY29tbWFuZC4gIE9wdGlvbmFsbHkgcmV0dXJuc1xuXAogIGEgUHl0aG9uIFN0cmluZyBjb250 YWluaW5nIHRoZSBvdXRwdXQgb2YgdGhlIGNvbW1hbmQgaWYgdG9fc3RyaW5nIGlzXG5cCiAgc2V0 IHRvIFRydWUuIiB9LApAQCAtNjA4LDcgKzY0MSw3IEBAIGluZGV4IDdlMGM1MDcuLmE2N2ZiYzMg MTAwNjQ0CiAgICAgICJSZXR1cm4gYSBnZGIgcGFyYW1ldGVyJ3MgdmFsdWUiIH0sCiAgCiBkaWZm IC0tZ2l0IGEvZ2RiL3B5dGhvbi9weXRob24uaCBiL2dkYi9weXRob24vcHl0aG9uLmgKLWluZGV4 IGU0MDdmYWEuLmZjMWM2MzIgMTAwNjQ0CitpbmRleCBlNDA3ZmFhYmZkLi5mYzFjNjMyNmEyIDEw MDY0NAogLS0tIGEvZ2RiL3B5dGhvbi9weXRob24uaAogKysrIGIvZ2RiL3B5dGhvbi9weXRob24u aAogQEAgLTI1LDQgKzI1LDYgQEAKQEAgLTYxOSw3ICs2NTIsNyBAQCBpbmRleCBlNDA3ZmFhLi5m YzFjNjMyIDEwMDY0NAogKwogICNlbmRpZiAvKiBHREJfUFlUSE9OX0ggKi8KIGRpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LWZyYW1lLmV4cAotaW5kZXggZjVkNGEzYy4uMzU0NmY3YiAxMDA2NDQKK2lu ZGV4IGY1ZDRhM2NjMTIuLjM1NDZmN2JhMmEgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dk Yi5weXRob24vcHktZnJhbWUuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHkt ZnJhbWUuZXhwCiBAQCAtOTUsNiArOTUsOCBAQCBnZGJfdGVzdCAicHl0aG9uIHByaW50ICgncmVz dWx0ID0gJXMnICUgZjAucmVhZF92YXIgKCdhJykpIiAiID0gMSIgInRlc3QgRnJhbWUucgpAQCAt NjMyLDcgKzY2NSw3IEBAIGluZGV4IGY1ZDRhM2MuLjM1NDZmN2IgMTAwNjQ0CiAgZ2RiX3Rlc3Qg InB5dGhvbiBwcmludCAoJ3Jlc3VsdCA9ICVzJyAlIChnZGIuc2VsZWN0ZWRfZnJhbWUgKCkucmVh ZF9yZWdpc3RlciAoJ3NwJykgPT0gZ2RiLnBhcnNlX2FuZF9ldmFsICgnXCRzcCcpKSkiIFwKICAg ICIgPSBUcnVlIiBcCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZh bHVlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAKLWluZGV4IDE3 ODE4ODcuLjhhMmRkZDYgMTAwNjQ0CitpbmRleCAxNzgxODg3YzRhLi44YTJkZGQ2ZmFlIDEwMDY0 NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAogKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAogQEAgLTM4NCw2ICszODQsMTUgQEAg cHJvYyB0ZXN0X3ZhbHVlX2FmdGVyX2RlYXRoIHt9IHsKQEAgLTY2MCwxMCArNjkzLDEwIEBAIGlu ZGV4IDE3ODE4ODcuLjhhMmRkZDYgMTAwNjQ0CiAgIyBUZXN0IGVpdGhlciBDIG9yIEMrKyB2YWx1 ZXMuIAogIAogZGlmZiAtLWdpdCBhL2dkYi92YXJvYmouYyBiL2dkYi92YXJvYmouYwotaW5kZXgg NWYyMWQ4NC4uMTg1MDZmMSAxMDA2NDQKK2luZGV4IDkzYjk3ZjZmNzAuLjc1M2M2NTk2YjMgMTAw NjQ0CiAtLS0gYS9nZGIvdmFyb2JqLmMKICsrKyBiL2dkYi92YXJvYmouYwotQEAgLTIyNiw2ICsy MjYsMTQgQEAgaXNfcm9vdF9wIChjb25zdCBzdHJ1Y3QgdmFyb2JqICp2YXIpCitAQCAtMjE3LDYg KzIxNywxNCBAQCBpc19yb290X3AgKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZhcikKICB9CiAgCiAg I2lmZGVmIEhBVkVfUFlUSE9OCkBAIC02NzksMTUgKzcxMiwxOCBAQCBpbmRleCA1ZjIxZDg0Li4x ODUwNmYxIDEwMDY0NAogIC8qIFNlZSBweXRob24taW50ZXJuYWwuaC4gICovCiAgZ2RicHlfZW50 ZXJfdmFyb2JqOjpnZGJweV9lbnRlcl92YXJvYmogKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZhcikK IGRpZmYgLS1naXQgYS9nZGIvdmFyb2JqLmggYi9nZGIvdmFyb2JqLmgKLWluZGV4IGUzNWMxYjgu LjEyMzM5ZDEgMTAwNjQ0CitpbmRleCA5MTYzYTM0ZmQwLi5lZDUxYjZhZDM0IDEwMDY0NAogLS0t IGEvZ2RiL3Zhcm9iai5oCiArKysgYi9nZGIvdmFyb2JqLmgKLUBAIC0zMjAsNiArMzIwLDggQEAg ZXh0ZXJuIGludCB2YXJvYmpfaGFzX21vcmUgKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZhciwgaW50 IHRvKTsKK0BAIC0zMjcsNiArMzI3LDggQEAgZXh0ZXJuIGJvb2wgdmFyb2JqX2hhc19tb3JlIChj b25zdCBzdHJ1Y3QgdmFyb2JqICp2YXIsIGludCB0byk7CiAgCi0gZXh0ZXJuIGludCB2YXJvYmpf aXNfZHluYW1pY19wIChjb25zdCBzdHJ1Y3QgdmFyb2JqICp2YXIpOworIGV4dGVybiBib29sIHZh cm9ial9pc19keW5hbWljX3AgKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZhcik7CiAgCiArZXh0ZXJu IHN0cnVjdCBjbGVhbnVwICp2YXJvYmpfZW5zdXJlX3B5dGhvbl9lbnYgKGNvbnN0IHN0cnVjdCB2 YXJvYmogKnZhcik7CiArCi0gZXh0ZXJuIGludCB2YXJvYmpfZGVmYXVsdF92YWx1ZV9pc19jaGFu Z2VhYmxlX3AgKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZhcik7Ci0gZXh0ZXJuIGludCB2YXJvYmpf dmFsdWVfaXNfY2hhbmdlYWJsZV9wIChjb25zdCBzdHJ1Y3QgdmFyb2JqICp2YXIpOworIGV4dGVy biBib29sIHZhcm9ial9kZWZhdWx0X3ZhbHVlX2lzX2NoYW5nZWFibGVfcCAoY29uc3Qgc3RydWN0 IHZhcm9iaiAqdmFyKTsKKyBleHRlcm4gYm9vbCB2YXJvYmpfdmFsdWVfaXNfY2hhbmdlYWJsZV9w IChjb25zdCBzdHJ1Y3QgdmFyb2JqICp2YXIpOwogIAorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdp dCBhL2dkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2ggYi9nZGItYXR0YWNoLWZhaWwt cmVhc29ucy01b2Y1LnBhdGNoCmluZGV4IGJlNmM5YzguLjkzMzQ1NWUgMTAwNjQ0Ci0tLSBhL2dk Yi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gKKysrIGIvZ2RiLWF0dGFjaC1mYWlsLXJl YXNvbnMtNW9mNS5wYXRjaApAQCAtMSwxMyArMSwxNSBAQAorRnJvbSAyZjhmOTA1M2E1YjI2MzA0 MDhjMmEzMmZmNmJhMDRhNTA2N2FiOGY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTog RmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0 IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IFtwYXRjaCAzLzNdIGF0dGFjaC1mYWlsLXJl YXNvbnM6IFNFTGludXggZGVueV9wdHJhY2UKK1N1YmplY3Q6IGF0dGFjaC1mYWlsLXJlYXNvbnM6 IFNFTGludXggZGVueV9wdHJhY2UKIAogRmlsZU5hbWU6IGdkYi1hdHRhY2gtZmFpbC1yZWFzb25z LTVvZjUucGF0Y2gKIAorOzsgUHJpbnQgcmVhc29ucyBmb3IgZmFpbGVkIGF0dGFjaC9zcGF3biBp bmNsLiBTRUxpbnV4IGRlbnlfcHRyYWNlIChCWiA3ODY4NzgpLgorOzs9cHVzaCtqYW4KIAogaHR0 cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDMvbXNnMDAxNzEuaHRtbAog Ci0KIEhpLAogCiBhbmQgaGVyZSBpcyB0aGUgbGFzdCBiaXQgZm9yIG5ldyBTRUxpbnV4ICdkZW55 X3B0cmFjZSc6CkBAIC0xNiwxMSArMTgsOSBAQCBhbmQgaGVyZSBpcyB0aGUgbGFzdCBiaXQgZm9y IG5ldyBTRUxpbnV4ICdkZW55X3B0cmFjZSc6CiBBcyBldmVuIFBUUkFDRV9UUkFDRU1FIGZhaWxz IGluIHN1Y2ggY2FzZSBpdCBuZWVkcyB0byBpbnN0YWxsIGhvb2sgZm9yIGV2ZW4KIHRoYXQgZXZl bnQuCiAKLQogVGhhbmtzLAogSmFuCiAKLQogZ2RiLwogMjAxMi0wMy0wNiAgSmFuIEtyYXRvY2h2 aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogCkBAIC00MywxODUgKzQzLDIzIEBAIGdk Yi9nZGJzZXJ2ZXIvCiAJKiBsaW51eC1sb3cuYyAobGludXhfdHJhY2VtZSk6IE5ldyBmdW5jdGlv bi4KIAkobGludXhfY3JlYXRlX2luZmVyaW9yLCBsaW51eF90cmFjZWZvcmtfY2hpbGQpOiBDYWxs IGl0IGluc3RlYWQgb2YKIAlkaXJlY3QgcHRyYWNlLgorLS0tCisgZ2RiL2NvbmZpZy5pbiAgICAg ICAgICAgICAgfCAgNiArKysrKworIGdkYi9jb25maWd1cmUgICAgICAgICAgICAgIHwgNTggKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi9jb25maWd1 cmUuYWMgICAgICAgICAgIHwgIDQgKysrKworIGdkYi9nZGJzZXJ2ZXIvY29uZmlnLmluICAgIHwg IDYgKysrKysKKyBnZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZSAgICB8IDU4ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvZ2Ric2VydmVyL2NvbmZpZ3Vy ZS5hYyB8ICA0ICsrKysKKyBnZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jICB8IDE2ICsrKysrKysr KysrKy0KKyBnZGIvbGludXgtbmF0LmMgICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysr Ky0KKyBnZGIvbmF0L2xpbnV4LXB0cmFjZS5jICAgICB8IDIyICsrKysrKysrKysrKysrKysrKwor IGdkYi9uYXQvbGludXgtcHRyYWNlLmggICAgIHwgIDEgKworIDEwIGZpbGVzIGNoYW5nZWQsIDE5 NyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL25hdC9saW51eC1wdHJhY2UuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMjI2Lm9yaWcvZ2RiL25hdC9saW51eC1wdHJhY2UuYwkyMDE3LTAyLTI2IDIxOjI3OjE0 Ljc4MDAwOTQ0OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9uYXQvbGludXgt cHRyYWNlLmMJMjAxNy0wMi0yNiAyMToyNzoxOC44MzgwMzgxOTMgKzAxMDAKLUBAIC0yNyw2ICsy NywxMCBAQAotICNpbmNsdWRlIDxzeXMvcHJvY2ZzLmg+Ci0gI2VuZGlmCi0gCi0rI2lmZGVmIEhB VkVfU0VMSU5VWF9TRUxJTlVYX0gKLSsjIGluY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgotKyNl bmRpZiAvKiBIQVZFX1NFTElOVVhfU0VMSU5VWF9IICovCi0rCi0gLyogU3RvcmVzIHRoZSBwdHJh Y2Ugb3B0aW9ucyBzdXBwb3J0ZWQgYnkgdGhlIHJ1bm5pbmcga2VybmVsLgotICAgIEEgdmFsdWUg b2YgLTEgbWVhbnMgd2UgZGlkIG5vdCBjaGVjayBmb3IgZmVhdHVyZXMgeWV0LiAgQSB2YWx1ZQot ICAgIG9mIDAgbWVhbnMgdGhlcmUgYXJlIG5vIHN1cHBvcnRlZCBmZWF0dXJlcy4gICovCi1AQCAt NTEsNiArNTUsOCBAQAotICAgICBidWZmZXJfeG1sX3ByaW50ZiAoYnVmZmVyLCBfKCJwcm9jZXNz ICVkIGlzIGEgem9tYmllICIKLSAJCQkJICItIHRoZSBwcm9jZXNzIGhhcyBhbHJlYWR5IHRlcm1p bmF0ZWQiKSwKLSAJCSAgICAgICAoaW50KSBwaWQpOwotKwotKyAgbGludXhfcHRyYWNlX2NyZWF0 ZV93YXJuaW5ncyAoYnVmZmVyKTsKLSB9Ci0gCi0gLyogU2VlIGxpbnV4LXB0cmFjZS5oLiAgKi8K LUBAIC01OTQsNiArNjAwLDIyIEBACi0gICBsaW51eF9wdHJhY2VfdGVzdF9yZXRfdG9fbnggKCk7 Ci0gfQotIAotKy8qIFByaW50IGFsbCBwb3NzaWJsZSByZWFzb25zIHdlIGNvdWxkIGZhaWwgdG8g Y3JlYXRlIGEgdHJhY2VkIHByb2Nlc3MuICAqLwotKwotK3ZvaWQKLStsaW51eF9wdHJhY2VfY3Jl YXRlX3dhcm5pbmdzIChzdHJ1Y3QgYnVmZmVyICpidWZmZXIpCi0rewotKyNpZmRlZiBIQVZFX0xJ QlNFTElOVVgKLSsgIC8qIC0xIGlzIHJldHVybmVkIGZvciBlcnJvcnMsIDAgaWYgaXQgaGFzIG5v IGVmZmVjdCwgMSBpZiBQVFJBQ0VfQVRUQUNIIGlzCi0rICAgICBmb3JiaWRkZW4uICAqLwotKyAg aWYgKHNlY3VyaXR5X2dldF9ib29sZWFuX2FjdGl2ZSAoImRlbnlfcHRyYWNlIikgPT0gMSkKLSsg ICAgYnVmZmVyX3htbF9wcmludGYgKGJ1ZmZlciwKLSsJCSAgICAgICBfKCJ0aGUgU0VMaW51eCBi b29sZWFuICdkZW55X3B0cmFjZScgaXMgZW5hYmxlZCwgIgotKwkJCSAieW91IGNhbiBkaXNhYmxl IHRoaXMgcHJvY2VzcyBhdHRhY2ggcHJvdGVjdGlvbiBieTogIgotKwkJCSAiKGdkYikgc2hlbGwg c3VkbyBzZXRzZWJvb2wgZGVueV9wdHJhY2U9MCIpKTsKLSsjZW5kaWYgLyogSEFWRV9MSUJTRUxJ TlVYICovCi0rfQotKwotIC8qIEV4dHJhY3QgZXh0ZW5kZWQgcHRyYWNlIGV2ZW50IGZyb20gd2Fp dCBzdGF0dXMuICAqLwotIAotIGludAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9u YXQvbGludXgtcHRyYWNlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5v cmlnL2dkYi9uYXQvbGludXgtcHRyYWNlLmgJMjAxNy0wMi0yNiAyMToyNzoxNC43ODAwMDk0NDkg KzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvbmF0L2xpbnV4LXB0cmFjZS5oCTIw MTctMDItMjYgMjE6Mjc6MTguODM4MDM4MTkzICswMTAwCi1AQCAtMTg1LDYgKzE4NSw3IEBACi0g ZXh0ZXJuIGNoYXIgKmxpbnV4X3B0cmFjZV9hdHRhY2hfZmFpbF9yZWFzb25fc3RyaW5nIChwdGlk X3QgcHRpZCwgaW50IGVycik7Ci0gCi0gZXh0ZXJuIHZvaWQgbGludXhfcHRyYWNlX2luaXRfd2Fy bmluZ3MgKHZvaWQpOwotK2V4dGVybiB2b2lkIGxpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3Mg KHN0cnVjdCBidWZmZXIgKmJ1ZmZlcik7Ci0gZXh0ZXJuIHZvaWQgbGludXhfY2hlY2tfcHRyYWNl X2ZlYXR1cmVzICh2b2lkKTsKLSBleHRlcm4gdm9pZCBsaW51eF9lbmFibGVfZXZlbnRfcmVwb3J0 aW5nIChwaWRfdCBwaWQsIGludCBhdHRhY2hlZCk7Ci0gZXh0ZXJuIHZvaWQgbGludXhfZGlzYWJs ZV9ldmVudF9yZXBvcnRpbmcgKHBpZF90IHBpZCk7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MjYvZ2RiL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2 Lm9yaWcvZ2RiL2NvbmZpZ3VyZS5hYwkyMDE3LTAyLTI2IDIxOjI3OjE0Ljc4MTAwOTQ1NiArMDEw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9jb25maWd1cmUuYWMJMjAxNy0wMi0yNiAy MToyNzoxOC44MzkwMzgyMDAgKzAxMDAKLUBAIC0yMDkyLDYgKzIwOTIsMTAgQEAKLSBlc2FjCi0g QUNfREVGSU5FX1VOUVVPVEVEKEdEQklOSVQsIiRnZGJpbml0IixbVGhlIC5nZGJpbml0IGZpbGVu YW1lLl0pCi0gCi0rZG5sIENoZWNrIHNlY3VyaXR5X2dldF9ib29sZWFuX2FjdGl2ZSBhdmFpbGFi aWxpdHkuCi0rQUNfQ0hFQ0tfSEVBREVSUyhzZWxpbnV4L3NlbGludXguaCkKLStBQ19DSEVDS19M SUIoc2VsaW51eCwgc2VjdXJpdHlfZ2V0X2Jvb2xlYW5fYWN0aXZlKQotKwotIGRubCBIYW5kbGUg b3B0aW9uYWwgZmVhdHVyZXMgdGhhdCBjYW4gYmUgZW5hYmxlZC4KLSAKLSAjIFN1cHBvcnQgZm9y IC0td2l0aC1zeXNyb290IGlzIGEgY29weSBvZiBHREJfQUNfV0lUSF9ESVIsCi1JbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFj CTIwMTctMDItMjYgMjE6Mjc6MTQuNzgxMDA5NDU2ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMJMjAxNy0wMi0yNiAyMToyNzoxOC44Mzkw MzgyMDAgKzAxMDAKLUBAIC00NjksNiArNDY5LDEwIEBACi0gICAgZmkKLSBmaQotIAotK2RubCBD aGVjayBzZWN1cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUgYXZhaWxhYmlsaXR5LgotK0FDX0NIRUNL X0hFQURFUlMoc2VsaW51eC9zZWxpbnV4LmgpCi0rQUNfQ0hFQ0tfTElCKHNlbGludXgsIHNlY3Vy aXR5X2dldF9ib29sZWFuX2FjdGl2ZSkKLSsKLSBBQ19TVUJTVChHREJTRVJWRVJfREVQRklMRVMp Ci0gQUNfU1VCU1QoR0RCU0VSVkVSX0xJQlMpCi0gQUNfU1VCU1Qoc3J2X3htbGJ1aWx0aW4pCi1J bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2dkYnNlcnZlci9saW51 eC1sb3cuYwkyMDE3LTAyLTI2IDIxOjI3OjE0Ljc4MzAwOTQ3MCArMDEwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMjI2L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJMjAxNy0wMi0yNiAyMToyNzox OC44NDEwMzgyMTQgKzAxMDAKLUBAIC05NDYsNiArOTQ2LDI5IEBACi0gICByZXR1cm4gbHdwOwot IH0KLSAKLSsvKiBFeGVjdXRlIFBUUkFDRV9UUkFDRU1FIHdpdGggZXJyb3IgY2hlY2tpbmcuICAq LwotKwotK3N0YXRpYyB2b2lkCi0rbGludXhfdHJhY2VtZSAoY29uc3QgY2hhciAqcHJvZ3JhbSkK LSt7Ci0rICBpbnQgc2F2ZV9lcnJubzsKLSsgIHN0cnVjdCBidWZmZXIgYnVmZmVyOwotKwotKyAg ZXJybm8gPSAwOwotKyAgaWYgKHB0cmFjZSAoUFRSQUNFX1RSQUNFTUUsIDAsCi0rCSAgICAgIChQ VFJBQ0VfVFlQRV9BUkczKSAwLCAoUFRSQUNFX1RZUEVfQVJHNCkgMCkgPT0gMCkKLSsgICAgcmV0 dXJuOwotKwotKyAgc2F2ZV9lcnJubyA9IGVycm5vOwotKyAgYnVmZmVyX2luaXQgKCZidWZmZXIp OwotKyAgbGludXhfcHRyYWNlX2NyZWF0ZV93YXJuaW5ncyAoJmJ1ZmZlcik7Ci0rICBidWZmZXJf Z3Jvd19zdHIwICgmYnVmZmVyLCAiIik7Ci0rICBmcHJpbnRmIChzdGRlcnIsIF8oIiVzQ2Fubm90 IHRyYWNlIGNyZWF0ZWQgcHJvY2VzcyAlczogJXMuXG4iKSwKLSsJICAgYnVmZmVyX2ZpbmlzaCAo JmJ1ZmZlciksIHByb2dyYW0sIHN0cmVycm9yIChzYXZlX2Vycm5vKSk7Ci0rICBmZmx1c2ggKHN0 ZGVycik7Ci0rICBfZXhpdCAoMDE3Nyk7Ci0rfQotKwotIC8qIFN0YXJ0IGFuIGluZmVyaW9yIHBy b2Nlc3MgYW5kIHJldHVybnMgaXRzIHBpZC4KLSAgICBBTExBUkdTIGlzIGEgdmVjdG9yIG9mIHBy b2dyYW0tbmFtZSBhbmQgYXJncy4gKi8KLSAKLUBAIC05NjksNyArOTkyLDcgQEAKLSAgIGlmIChw aWQgPT0gMCkKLSAgICAgewotICAgICAgIGNsb3NlX21vc3RfZmRzICgpOwotLSAgICAgIHB0cmFj ZSAoUFRSQUNFX1RSQUNFTUUsIDAsIChQVFJBQ0VfVFlQRV9BUkczKSAwLCAoUFRSQUNFX1RZUEVf QVJHNCkgMCk7Ci0rICAgICAgbGludXhfdHJhY2VtZSAocHJvZ3JhbSk7Ci0gCi0gICAgICAgc2V0 cGdpZCAoMCwgMCk7Ci0gCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2xpbnV4LW5h dC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvbGludXgt bmF0LmMJMjAxNy0wMi0yNiAyMToyNzoxNC43ODUwMDk0ODQgKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDIyNi9nZGIvbGludXgtbmF0LmMJMjAxNy0wMi0yNiAyMToyNzoxOC44NDIwMzgyMjEg KzAxMDAKLUBAIC0xMTEwLDYgKzExMTAsNyBAQAotIHsKLSAgIHN0cnVjdCBjbGVhbnVwICpyZXN0 b3JlX3BlcnNvbmFsaXR5Ci0gICAgID0gbWF5YmVfZGlzYWJsZV9hZGRyZXNzX3NwYWNlX3JhbmRv bWl6YXRpb24gKGRpc2FibGVfcmFuZG9taXphdGlvbik7Ci0rICB2b2xhdGlsZSBzdHJ1Y3QgZ2Ri X2V4Y2VwdGlvbiBleDsKLSAKLSAgIC8qIFRoZSBmb3JrX2NoaWxkIG1lY2hhbmlzbSBpcyBzeW5j aHJvbm91cyBhbmQgY2FsbHMgdGFyZ2V0X3dhaXQsIHNvCi0gICAgICB3ZSBoYXZlIHRvIG1hc2sg dGhlIGFzeW5jIG1vZGUuICAqLwotQEAgLTExMTcsNyArMTExOCwyOCBAQAotICAgLyogTWFrZSBz dXJlIHdlIHJlcG9ydCBhbGwgc2lnbmFscyBkdXJpbmcgc3RhcnR1cC4gICovCi0gICBsaW51eF9u YXRfcGFzc19zaWduYWxzIChvcHMsIDAsIE5VTEwpOwotIAotLSAgbGludXhfb3BzLT50b19jcmVh dGVfaW5mZXJpb3IgKG9wcywgZXhlY19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5KTsKLSsg IFRSWQotKyAgICB7Ci0rICAgICAgbGludXhfb3BzLT50b19jcmVhdGVfaW5mZXJpb3IgKG9wcywg ZXhlY19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5KTsKLSsgICAgfQotKyAgQ0FUQ0ggKGV4 LCBSRVRVUk5fTUFTS19FUlJPUikKLSsgICAgewotKyAgICAgIHN0cnVjdCBidWZmZXIgYnVmZmVy OwotKyAgICAgIGNoYXIgKm1lc3NhZ2UsICpidWZmZXJfczsKLSsKLSsgICAgICBtZXNzYWdlID0g eHN0cmR1cCAoZXgubWVzc2FnZSk7Ci0rICAgICAgbWFrZV9jbGVhbnVwICh4ZnJlZSwgbWVzc2Fn ZSk7Ci0rCi0rICAgICAgYnVmZmVyX2luaXQgKCZidWZmZXIpOwotKyAgICAgIGxpbnV4X3B0cmFj ZV9jcmVhdGVfd2FybmluZ3MgKCZidWZmZXIpOwotKwotKyAgICAgIGJ1ZmZlcl9ncm93X3N0cjAg KCZidWZmZXIsICIiKTsKLSsgICAgICBidWZmZXJfcyA9IGJ1ZmZlcl9maW5pc2ggKCZidWZmZXIp OwotKyAgICAgIG1ha2VfY2xlYW51cCAoeGZyZWUsIGJ1ZmZlcl9zKTsKLSsKLSsgICAgICB0aHJv d19lcnJvciAoZXguZXJyb3IsICIlcyVzIiwgYnVmZmVyX3MsIG1lc3NhZ2UpOwotKyAgICB9Ci0r ICBFTkRfQ0FUQ0gKLSAKLSAgIGRvX2NsZWFudXBzIChyZXN0b3JlX3BlcnNvbmFsaXR5KTsKLSB9 Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2NvbmZpZy5pbgotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL2NvbmZpZy5pbgkyMDE3LTAyLTI2IDIx OjI3OjE0Ljc4NjAwOTQ5MSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9jb25m aWcuaW4JMjAxNy0wMi0yNiAyMToyNzoxOC44NDIwMzgyMjEgKzAxMDAKK2RpZmYgLS1naXQgYS9n ZGIvY29uZmlnLmluIGIvZ2RiL2NvbmZpZy5pbgoraW5kZXggZWRkNzAyOGY3Ni4uNGRlM2U4NDJk MSAxMDA2NDQKKy0tLSBhL2dkYi9jb25maWcuaW4KKysrKyBiL2dkYi9jb25maWcuaW4KIEBAIC0y NzAsNiArMjcwLDkgQEAKICAvKiBEZWZpbmUgaWYgbGlicnBtIGxpYnJhcnkgaXMgYmVpbmcgdXNl ZC4gKi8KICAjdW5kZWYgSEFWRV9MSUJSUE0KQEAgLTIzMiw3ICs3MCw3IEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvY29uZmlnLmluCiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh dmUgdGhlIDxsaWJ1bndpbmQtaWE2NC5oPiBoZWFkZXIgZmlsZS4gKi8KICAjdW5kZWYgSEFWRV9M SUJVTldJTkRfSUE2NF9ICiAgCi1AQCAtNDAyLDYgKzQwNSw5IEBACitAQCAtMzkzLDYgKzM5Niw5 IEBACiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzY21fbmV3X3Ntb2InIGZ1bmN0 aW9uLiAqLwogICN1bmRlZiBIQVZFX1NDTV9ORVdfU01PQgogIApAQCAtMjQyLDExICs4MCwxMSBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2NvbmZpZy5pbgogIC8qIERlZmluZSB0 byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0bG9jYWxlJyBmdW5jdGlvbi4gKi8KICAjdW5kZWYgSEFW RV9TRVRMT0NBTEUKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvY29uZmlndXJl Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvY29uZmlndXJl CTIwMTctMDItMjYgMjE6Mjc6MTQuNzkwMDA5NTE5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAx NzAyMjYvZ2RiL2NvbmZpZ3VyZQkyMDE3LTAyLTI2IDIxOjI3OjE4Ljg0NjAzODI0OSArMDEwMAot QEAgLTE1NDkyLDYgKzE1NDkyLDY0IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dk Yi9jb25maWd1cmUKK2luZGV4IGUzMTRlMjhmZjMuLmQ5OWYyOGI5ZjIgMTAwNzU1CistLS0gYS9n ZGIvY29uZmlndXJlCisrKysgYi9nZGIvY29uZmlndXJlCitAQCAtMTU2NzksNiArMTU2NzksNjQg QEAgY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgogIF9BQ0VPRgogIAogIApAQCAtMzExLDExICsx NDksMjYgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9jb25maWd1cmUKICAKICAj IFN1cHBvcnQgZm9yIC0td2l0aC1zeXNyb290IGlzIGEgY29weSBvZiBHREJfQUNfV0lUSF9ESVIs CiAgIyBleGNlcHQgdGhhdCB0aGUgYXJndW1lbnQgdG8gLS13aXRoLXN5c3Jvb3QgaXMgb3B0aW9u YWwuCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4K LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIyNi5vcmlnL2dkYi9nZGJzZXJ2ZXIv Y29uZmlnLmluCTIwMTctMDItMjYgMjE6Mjc6MTQuNzkxMDA5NTI3ICswMTAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4JMjAxNy0wMi0yNiAyMToyNzox OC44NDYwMzgyNDkgKzAxMDAKLUBAIC0xMjMsNiArMTIzLDkgQEAKK2RpZmYgLS1naXQgYS9nZGIv Y29uZmlndXJlLmFjIGIvZ2RiL2NvbmZpZ3VyZS5hYworaW5kZXggOWRlNDQxZmU3OS4uODMwNjE4 ZGJlNSAxMDA2NDQKKy0tLSBhL2dkYi9jb25maWd1cmUuYWMKKysrKyBiL2dkYi9jb25maWd1cmUu YWMKK0BAIC0yMDQyLDYgKzIwNDIsMTAgQEAgY2FzZSAkaG9zdF9vcyBpbgorIGVzYWMKKyBBQ19E RUZJTkVfVU5RVU9URUQoR0RCSU5JVCwiJGdkYmluaXQiLFtUaGUgLmdkYmluaXQgZmlsZW5hbWUu XSkKKyAKKytkbmwgQ2hlY2sgc2VjdXJpdHlfZ2V0X2Jvb2xlYW5fYWN0aXZlIGF2YWlsYWJpbGl0 eS4KKytBQ19DSEVDS19IRUFERVJTKHNlbGludXgvc2VsaW51eC5oKQorK0FDX0NIRUNLX0xJQihz ZWxpbnV4LCBzZWN1cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUpCisrCisgZG5sIEhhbmRsZSBvcHRp b25hbCBmZWF0dXJlcyB0aGF0IGNhbiBiZSBlbmFibGVkLgorIAorICMgU3VwcG9ydCBmb3IgLS13 aXRoLXN5c3Jvb3QgaXMgYSBjb3B5IG9mIEdEQl9BQ19XSVRIX0RJUiwKK2RpZmYgLS1naXQgYS9n ZGIvZ2Ric2VydmVyL2NvbmZpZy5pbiBiL2dkYi9nZGJzZXJ2ZXIvY29uZmlnLmluCitpbmRleCBk ZGE3YzFmMTUwLi5iMmEzNGI5MmNlIDEwMDY0NAorLS0tIGEvZ2RiL2dkYnNlcnZlci9jb25maWcu aW4KKysrKyBiL2dkYi9nZGJzZXJ2ZXIvY29uZmlnLmluCitAQCAtMTI2LDYgKzEyNiw5IEBACiAg LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtY2hlY2snIGxpYnJhcnkgKC1sbWNoZWNr KS4gKi8KICAjdW5kZWYgSEFWRV9MSUJNQ0hFQ0sKICAKQEAgLTMyNSw3ICsxNzgsNyBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4KICAvKiBEZWZp bmUgaWYgdGhlIHRhcmdldCBzdXBwb3J0cyBicmFuY2ggdHJhY2luZy4gKi8KICAjdW5kZWYgSEFW RV9MSU5VWF9CVFJBQ0UKICAKLUBAIC0xOTksNiArMjAyLDkgQEAKK0BAIC0yMDIsNiArMjA1LDkg QEAKICAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHB3cml0ZScgZnVuY3Rpb24uICov CiAgI3VuZGVmIEhBVkVfUFdSSVRFCiAgCkBAIC0zMzUsMTEgKzE4OCwxMSBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMjYvZ2RiL2dkYnNlcnZlci9jb25maWcuaW4KICAvKiBEZWZpbmUgdG8g MSBpZiB5b3UgaGF2ZSB0aGUgYHNldG5zJyBmdW5jdGlvbi4gKi8KICAjdW5kZWYgSEFWRV9TRVRO UwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJl Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMjYub3JpZy9nZGIvZ2Ric2VydmVy L2NvbmZpZ3VyZQkyMDE3LTAyLTI2IDIxOjI3OjE0Ljc5MzAwOTU0MSArMDEwMAotKysrIGdkYi03 LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCTIwMTctMDItMjYgMjE6Mjc6 MTguODQ4MDM4MjYzICswMTAwCi1AQCAtODQyOSw2ICs4NDI5LDY0IEBACitkaWZmIC0tZ2l0IGEv Z2RiL2dkYnNlcnZlci9jb25maWd1cmUgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQoraW5kZXgg ODM1ZGNjYTMxNC4uOTAyOGM4MmIwMSAxMDA3NTUKKy0tLSBhL2dkYi9nZGJzZXJ2ZXIvY29uZmln dXJlCisrKysgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQorQEAgLTg0NTIsNiArODQ1Miw2NCBA QCBpZiAkd2FudF9pcGEgOyB0aGVuCiAgICAgZmkKICBmaQogIApAQCAtNDA0LDMgKzI1NywxNDIg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCiAg CiAgCiAgCitkaWZmIC0tZ2l0IGEvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMgYi9nZGIvZ2Ri c2VydmVyL2NvbmZpZ3VyZS5hYworaW5kZXggNDU2ZDNiMzYwYS4uMDA3NGM0MzdmMSAxMDA2NDQK Ky0tLSBhL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCisrKysgYi9nZGIvZ2Ric2VydmVyL2Nv bmZpZ3VyZS5hYworQEAgLTQ4Niw2ICs0ODYsMTAgQEAgaWYgJHdhbnRfaXBhIDsgdGhlbgorICAg IGZpCisgZmkKKyAKKytkbmwgQ2hlY2sgc2VjdXJpdHlfZ2V0X2Jvb2xlYW5fYWN0aXZlIGF2YWls YWJpbGl0eS4KKytBQ19DSEVDS19IRUFERVJTKHNlbGludXgvc2VsaW51eC5oKQorK0FDX0NIRUNL X0xJQihzZWxpbnV4LCBzZWN1cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUpCisrCisgQUNfU1VCU1Qo R0RCU0VSVkVSX0RFUEZJTEVTKQorIEFDX1NVQlNUKEdEQlNFUlZFUl9MSUJTKQorIEFDX1NVQlNU KHNydl94bWxidWlsdGluKQorZGlmZiAtLWdpdCBhL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMg Yi9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCitpbmRleCBmNmE1MmQ1ODU5Li5hYjNiZTI3MTQy IDEwMDY0NAorLS0tIGEvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYworKysrIGIvZ2RiL2dkYnNl cnZlci9saW51eC1sb3cuYworQEAgLTk2Myw3ICs5NjMsMjEgQEAgbGludXhfcHRyYWNlX2Z1biAo KQorIHsKKyAgIGlmIChwdHJhY2UgKFBUUkFDRV9UUkFDRU1FLCAwLCAoUFRSQUNFX1RZUEVfQVJH MykgMCwKKyAJICAgICAgKFBUUkFDRV9UWVBFX0FSRzQpIDApIDwgMCkKKy0gICAgdHJhY2Vfc3Rh cnRfZXJyb3Jfd2l0aF9uYW1lICgicHRyYWNlIik7CisrICAgIHsKKysgICAgICBpbnQgc2F2ZV9l cnJubyA9IGVycm5vOworKyAgICAgIHN0cnVjdCBidWZmZXIgYnVmZmVyOworKworKyAgICAgIGJ1 ZmZlcl9pbml0ICgmYnVmZmVyKTsKKysgICAgICBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdz ICgmYnVmZmVyKTsKKysgICAgICBidWZmZXJfZ3Jvd19zdHIwICgmYnVmZmVyLCAiIik7CisrCisr ICAgICAgc3RkOjpzdHJpbmcgbXNnCisrCT0gc3RyaW5nX3ByaW50ZiAoXygiJXNDYW5ub3QgdHJh Y2UgY3JlYXRlZCBwcm9jZXNzIiksCisrCQkJIGJ1ZmZlcl9maW5pc2ggKCZidWZmZXIpKTsKKysK KysgICAgICBlcnJubyA9IHNhdmVfZXJybm87CisrICAgICAgdHJhY2Vfc3RhcnRfZXJyb3Jfd2l0 aF9uYW1lIChtc2cuY19zdHIgKCkpOworKyAgICB9CisgCisgICBpZiAoc2V0cGdpZCAoMCwgMCkg PCAwKQorICAgICB0cmFjZV9zdGFydF9lcnJvcl93aXRoX25hbWUgKCJzZXRwZ2lkIik7CitkaWZm IC0tZ2l0IGEvZ2RiL2xpbnV4LW5hdC5jIGIvZ2RiL2xpbnV4LW5hdC5jCitpbmRleCA5NmNiMjFh MmNmLi42MDQwYzFmMTI5IDEwMDY0NAorLS0tIGEvZ2RiL2xpbnV4LW5hdC5jCisrKysgYi9nZGIv bGludXgtbmF0LmMKK0BAIC0xMTI3LDcgKzExMjcsMjkgQEAgbGludXhfbmF0X2NyZWF0ZV9pbmZl cmlvciAoc3RydWN0IHRhcmdldF9vcHMgKm9wcywKKyAgIC8qIE1ha2Ugc3VyZSB3ZSByZXBvcnQg YWxsIHNpZ25hbHMgZHVyaW5nIHN0YXJ0dXAuICAqLworICAgbGludXhfbmF0X3Bhc3Nfc2lnbmFs cyAob3BzLCAwLCBOVUxMKTsKKyAKKy0gIGxpbnV4X29wcy0+dG9fY3JlYXRlX2luZmVyaW9yIChv cHMsIGV4ZWNfZmlsZSwgYWxsYXJncywgZW52LCBmcm9tX3R0eSk7CisrICB2b2xhdGlsZSBzdHJ1 Y3QgZ2RiX2V4Y2VwdGlvbiBleDsKKysgIFRSWQorKyAgICB7CisrICAgICAgbGludXhfb3BzLT50 b19jcmVhdGVfaW5mZXJpb3IgKG9wcywgZXhlY19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5 KTsKKysgICAgfQorKyAgQ0FUQ0ggKGV4LCBSRVRVUk5fTUFTS19FUlJPUikKKysgICAgeworKyAg ICAgIHN0cnVjdCBidWZmZXIgYnVmZmVyOworKyAgICAgIGNoYXIgKm1lc3NhZ2UsICpidWZmZXJf czsKKysKKysgICAgICBtZXNzYWdlID0geHN0cmR1cCAoZXgubWVzc2FnZSk7CisrICAgICAgbWFr ZV9jbGVhbnVwICh4ZnJlZSwgbWVzc2FnZSk7CisrCisrICAgICAgYnVmZmVyX2luaXQgKCZidWZm ZXIpOworKyAgICAgIGxpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKCZidWZmZXIpOworKwor KyAgICAgIGJ1ZmZlcl9ncm93X3N0cjAgKCZidWZmZXIsICIiKTsKKysgICAgICBidWZmZXJfcyA9 IGJ1ZmZlcl9maW5pc2ggKCZidWZmZXIpOworKyAgICAgIG1ha2VfY2xlYW51cCAoeGZyZWUsIGJ1 ZmZlcl9zKTsKKysKKysgICAgICB0aHJvd19lcnJvciAoZXguZXJyb3IsICIlcyVzIiwgYnVmZmVy X3MsIG1lc3NhZ2UpOworKyAgICB9CisrICBFTkRfQ0FUQ0gKKyB9CisgCisgLyogQ2FsbGJhY2sg Zm9yIGxpbnV4X3Byb2NfYXR0YWNoX3RnaWRfdGhyZWFkcy4gIEF0dGFjaCB0byBQVElEIGlmIG5v dAorZGlmZiAtLWdpdCBhL2dkYi9uYXQvbGludXgtcHRyYWNlLmMgYi9nZGIvbmF0L2xpbnV4LXB0 cmFjZS5jCitpbmRleCA0MzgxNzdmYTc2Li5hYjZhZTg2NDAwIDEwMDY0NAorLS0tIGEvZ2RiL25h dC9saW51eC1wdHJhY2UuYworKysrIGIvZ2RiL25hdC9saW51eC1wdHJhY2UuYworQEAgLTI3LDYg KzI3LDEwIEBACisgI2luY2x1ZGUgPHN5cy9wcm9jZnMuaD4KKyAjZW5kaWYKKyAKKysjaWZkZWYg SEFWRV9TRUxJTlVYX1NFTElOVVhfSAorKyMgaW5jbHVkZSA8c2VsaW51eC9zZWxpbnV4Lmg+Cisr I2VuZGlmIC8qIEhBVkVfU0VMSU5VWF9TRUxJTlVYX0ggKi8KKysKKyAvKiBTdG9yZXMgdGhlIHB0 cmFjZSBvcHRpb25zIHN1cHBvcnRlZCBieSB0aGUgcnVubmluZyBrZXJuZWwuCisgICAgQSB2YWx1 ZSBvZiAtMSBtZWFucyB3ZSBkaWQgbm90IGNoZWNrIGZvciBmZWF0dXJlcyB5ZXQuICBBIHZhbHVl CisgICAgb2YgMCBtZWFucyB0aGVyZSBhcmUgbm8gc3VwcG9ydGVkIGZlYXR1cmVzLiAgKi8KK0BA IC01MSw2ICs1NSw4IEBAIGxpbnV4X3B0cmFjZV9hdHRhY2hfZmFpbF9yZWFzb24gKHBpZF90IHBp ZCwgc3RydWN0IGJ1ZmZlciAqYnVmZmVyKQorICAgICBidWZmZXJfeG1sX3ByaW50ZiAoYnVmZmVy LCBfKCJwcm9jZXNzICVkIGlzIGEgem9tYmllICIKKyAJCQkJICItIHRoZSBwcm9jZXNzIGhhcyBh bHJlYWR5IHRlcm1pbmF0ZWQiKSwKKyAJCSAgICAgICAoaW50KSBwaWQpOworKworKyAgbGludXhf cHRyYWNlX2NyZWF0ZV93YXJuaW5ncyAoYnVmZmVyKTsKKyB9CisgCisgLyogU2VlIGxpbnV4LXB0 cmFjZS5oLiAgKi8KK0BAIC01OTQsNiArNjAwLDIyIEBAIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5p bmdzICh2b2lkKQorICAgbGludXhfcHRyYWNlX3Rlc3RfcmV0X3RvX254ICgpOworIH0KKyAKKysv KiBQcmludCBhbGwgcG9zc2libGUgcmVhc29ucyB3ZSBjb3VsZCBmYWlsIHRvIGNyZWF0ZSBhIHRy YWNlZCBwcm9jZXNzLiAgKi8KKysKKyt2b2lkCisrbGludXhfcHRyYWNlX2NyZWF0ZV93YXJuaW5n cyAoc3RydWN0IGJ1ZmZlciAqYnVmZmVyKQorK3sKKysjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisr ICAvKiAtMSBpcyByZXR1cm5lZCBmb3IgZXJyb3JzLCAwIGlmIGl0IGhhcyBubyBlZmZlY3QsIDEg aWYgUFRSQUNFX0FUVEFDSCBpcworKyAgICAgZm9yYmlkZGVuLiAgKi8KKysgIGlmIChzZWN1cml0 eV9nZXRfYm9vbGVhbl9hY3RpdmUgKCJkZW55X3B0cmFjZSIpID09IDEpCisrICAgIGJ1ZmZlcl94 bWxfcHJpbnRmIChidWZmZXIsCisrCQkgICAgICAgXygidGhlIFNFTGludXggYm9vbGVhbiAnZGVu eV9wdHJhY2UnIGlzIGVuYWJsZWQsICIKKysJCQkgInlvdSBjYW4gZGlzYWJsZSB0aGlzIHByb2Nl c3MgYXR0YWNoIHByb3RlY3Rpb24gYnk6ICIKKysJCQkgIihnZGIpIHNoZWxsIHN1ZG8gc2V0c2Vi b29sIGRlbnlfcHRyYWNlPTAiKSk7CisrI2VuZGlmIC8qIEhBVkVfTElCU0VMSU5VWCAqLworK30K KysKKyAvKiBFeHRyYWN0IGV4dGVuZGVkIHB0cmFjZSBldmVudCBmcm9tIHdhaXQgc3RhdHVzLiAg Ki8KKyAKKyBpbnQKK2RpZmYgLS1naXQgYS9nZGIvbmF0L2xpbnV4LXB0cmFjZS5oIGIvZ2RiL25h dC9saW51eC1wdHJhY2UuaAoraW5kZXggNTk1NDk0NTJjMC4uYjk1MTQ5MjEwMiAxMDA2NDQKKy0t LSBhL2dkYi9uYXQvbGludXgtcHRyYWNlLmgKKysrKyBiL2dkYi9uYXQvbGludXgtcHRyYWNlLmgK K0BAIC0xODUsNiArMTg1LDcgQEAgZXh0ZXJuIHZvaWQgbGludXhfcHRyYWNlX2F0dGFjaF9mYWls X3JlYXNvbiAocGlkX3QgcGlkLCBzdHJ1Y3QgYnVmZmVyICpidWZmZXIpOworIGV4dGVybiBjaGFy ICpsaW51eF9wdHJhY2VfYXR0YWNoX2ZhaWxfcmVhc29uX3N0cmluZyAocHRpZF90IHB0aWQsIGlu dCBlcnIpOworIAorIGV4dGVybiB2b2lkIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lk KTsKKytleHRlcm4gdm9pZCBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzIChzdHJ1Y3QgYnVm ZmVyICpidWZmZXIpOworIGV4dGVybiB2b2lkIGxpbnV4X2NoZWNrX3B0cmFjZV9mZWF0dXJlcyAo dm9pZCk7CisgZXh0ZXJuIHZvaWQgbGludXhfZW5hYmxlX2V2ZW50X3JlcG9ydGluZyAocGlkX3Qg cGlkLCBpbnQgYXR0YWNoZWQpOworIGV4dGVybiB2b2lkIGxpbnV4X2Rpc2FibGVfZXZlbnRfcmVw b3J0aW5nIChwaWRfdCBwaWQpOworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1idHJv YnVzdC5wYXRjaCBiL2dkYi1idHJvYnVzdC5wYXRjaAppbmRleCBjMzlmZTVjLi5kZmFmMzM2IDEw MDY0NAotLS0gYS9nZGItYnRyb2J1c3QucGF0Y2gKKysrIGIvZ2RiLWJ0cm9idXN0LnBhdGNoCkBA IC0xLDE5ICsxLDI2IEBACitGcm9tIGEwMjAyMmNlNGM3YTE4NDE1MThlOWNmMTdkMWQ5YjdjYWRl MTM0ODMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMg PGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIw MAogU3ViamVjdDogZ2RiLWJ0cm9idXN0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItYnRyb2J1c3Qu cGF0Y2gKIAorOzsgQ29udGludWUgYmFja3RyYWNlIGV2ZW4gaWYgYSBmcmFtZSBmaWx0ZXIgdGhy b3dzIGFuIGV4Y2VwdGlvbiAoUGhpbCBNdWxkb29uKS4KKzs7PXB1c2gKKwogVGhpcyBzaG91bGQg Zml4IHRoZSBlcnJvciAgd2l0aCBnbGliLiAgQW4gZXJyb3IgbWVzc2FnZSB3aWxsIHN0aWxsIGJl CiBwcmludGVkLCBidXQgYSBkZWZhdWx0IGJhY2t0cmFjZSB3aWxsIG9jY3VyIGluIHRoaXMgY2Fz ZS4KIAogLS0KKy0tLQorIGdkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYyB8IDQgKysrLQorIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjI2L2dkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYwotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjI2Lm9yaWcvZ2RiL3B5dGhvbi9weS1mcmFtZWZpbHRl ci5jCTIwMTctMDItMjYgMjE6MzM6MjMuMTUwNjE4NzA4ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMjYvZ2RiL3B5dGhvbi9weS1mcmFtZWZpbHRlci5jCTIwMTctMDItMjYgMjE6MzM6Mjku OTkzNjY3MTc5ICswMTAwCi1AQCAtMTM4OCw2ICsxMzg4LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIv cHl0aG9uL3B5LWZyYW1lZmlsdGVyLmMgYi9nZGIvcHl0aG9uL3B5LWZyYW1lZmlsdGVyLmMKK2lu ZGV4IDc1YjA1NWM5OGMuLjlmMzNhN2FhYjkgMTAwNjQ0CistLS0gYS9nZGIvcHl0aG9uL3B5LWZy YW1lZmlsdGVyLmMKKysrKyBiL2dkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYworQEAgLTEzODgs NiArMTM4OCw3IEBAIGdkYnB5X2FwcGx5X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3RydWN0IGV4dGVu c2lvbl9sYW5ndWFnZV9kZWZuICpleHRsYW5nLAogIAkJCQkgICAgICAgaHRhYl9lcV9wb2ludGVy LAogIAkJCQkgICAgICAgTlVMTCkpOwogIApAQCAtMjEsNyArMjgsNyBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMjYvZ2RiL3B5dGhvbi9weS1mcmFtZWZpbHRlci5jCiAgICB3aGlsZSAodHJ1 ZSkKICAgICAgewogICAgICAgIGdkYnB5X3JlZjw+IGl0ZW0gKFB5SXRlcl9OZXh0IChpdGVyYWJs ZS5nZXQgKCkpKTsKLUBAIC0xMzk3LDcgKzEzOTgsNyBAQAorQEAgLTEzOTcsNyArMTM5OCw3IEBA IGdkYnB5X2FwcGx5X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFn ZV9kZWZuICpleHRsYW5nLAogIAkgIGlmIChQeUVycl9PY2N1cnJlZCAoKSkKICAJICAgIHsKICAJ ICAgICAgZ2RicHlfcHJpbnRfc3RhY2sgKCk7CkBAIC0zMCw3ICszNyw3IEBAIEluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIyNi9nZGIvcHl0aG9uL3B5LWZyYW1lZmlsdGVyLmMKICAJICAgIH0KICAJ ICBicmVhazsKICAJfQotQEAgLTE0MDksNiArMTQxMCw3IEBACitAQCAtMTQwOSw2ICsxNDEwLDcg QEAgZ2RicHlfYXBwbHlfZnJhbWVfZmlsdGVyIChjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1 YWdlX2RlZm4gKmV4dGxhbmcsCiAgCSBlcnJvciBhbmQgY29udGludWUgd2l0aCBvdGhlciBmcmFt ZXMuICAqLwogICAgICAgIGlmIChzdWNjZXNzID09IEVYVF9MQU5HX0JUX0VSUk9SKQogIAlnZGJw eV9wcmludF9zdGFjayAoKTsKQEAgLTM4LDMgKzQ1LDYgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjI2L2dkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYwogICAgICB9CiAgCiAgICByZXR1cm4g c3VjY2VzczsKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItYnoxMjE5NzQ3LWF0dGFj aC1raWxscy5wYXRjaCBiL2dkYi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoCmluZGV4IGE2 OTdiZmYuLmU5YjBkZWIgMTAwNjQ0Ci0tLSBhL2dkYi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBh dGNoCisrKyBiL2dkYi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoCkBAIC0xLDExICsxLDE0 IEBACitGcm9tIDNkZDNiY2ZiYmZmOWNhZWZkMzk0Mzg1YWFjMGQ4MmU0ZmNhMGY0MjIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1h aWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDog W1BBVENIIDEvM10gTmV2ZXIga2lsbCBQSUQgb246IGdkYiBleGVjIFBJRAorU3ViamVjdDogTmV2 ZXIga2lsbCBQSUQgb246IGdkYiBleGVjIFBJRAogCiBGaWxlTmFtZTogZ2RiLWJ6MTIxOTc0Ny1h dHRhY2gta2lsbHMucGF0Y2gKIAotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVz LzIwMTUtMTAvbXNnMDAzMDEuaHRtbAorOzsgTmV2ZXIga2lsbCBQSUQgb246IGdkYiBleGVjIFBJ RCAoSmFuIEtyYXRvY2h2aWwsIFJIIEJaIDEyMTk3NDcpLgorOzs9cHVzaCtqYW4KIAoraHR0cDov L3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTUtMTAvbXNnMDAzMDEuaHRtbAogCiBI aSwKIApAQCAtMjIsMjUgKzI1LDEzIEBAIEEgcHJvZ3JhbSBpcyBiZWluZyBkZWJ1Z2dlZCBhbHJl YWR5LiAgS2lsbCBpdD8gKHkgb3IgbikgXwogCiBUaGUgZmlyc3QgYXR0YWNobWVudCBvZiAiL3Rt cC9zbGVlcCIgY29tbWFuZGxpbmUgYXJndW1lbnQgZXJyb3JzIGF0OgogCi0jMCAgdGhyb3dfZXJy b3IgKGVycm9yPUdFTkVSSUNfRVJST1IsIGZtdD0weDExNmQxMzUgIiVzLiIpIGF0IC4vY29tbW9u L2NvbW1vbi1leGNlcHRpb25zLmM6MzcxCi0jMSAgaW4gdGhyb3dfcGVycm9yX3dpdGhfbmFtZSAo ZXJyY29kZT1HRU5FUklDX0VSUk9SLCBzdHJpbmc9MHg3ZmZmZmZmZmRiOTYgIi9kZnNmZHMiKSBh dCB1dGlscy5jOjk3NAotIzIgIGluIHBlcnJvcl93aXRoX25hbWUgKHN0cmluZz0weDdmZmZmZmZm ZGI5NiAiL2Rmc2ZkcyIpIGF0IHV0aWxzLmM6OTgyCi0jMyAgaW4gZXhlY19maWxlX2F0dGFjaCAo ZmlsZW5hbWU9MHg3ZmZmZmZmZmRiOTYgIi9kZnNmZHMiLCBmcm9tX3R0eT0xKSBhdCBleGVjLmM6 MjY4CiAyNjcgICAgICAgICAgICAgICBpZiAoc2NyYXRjaF9jaGFuIDwgMCkKIDI2OCAgICAgICAg ICAgICAgICAgcGVycm9yX3dpdGhfbmFtZSAoZmlsZW5hbWUpOwotIzQgIGluIGNhdGNoX2NvbW1h bmRfZXJyb3JzX2NvbnN0IChjb21tYW5kPTB4ODBmNTlmIDxleGVjX2ZpbGVfYXR0YWNoPiwgYXJn PTB4N2ZmZmZmZmZkYjk2ICIvZGZzZmRzIiwgZnJvbV90dHk9MSkgYXQgbWFpbi5jOjM5NQotIzUg IGluIGNhcHR1cmVkX21haW4gKGRhdGE9MHg3ZmZmZmZmZmQ2ZjApIGF0IG1haW4uYzoxMDUxCiAx MDUxICAgICAgICAgIGlmIChjYXRjaF9jb21tYW5kX2Vycm9yc19jb25zdCAoZXhlY19maWxlX2F0 dGFjaCwgZXhlY2FyZywKIDEwNTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAhYmF0Y2hfZmxhZykpCiAKIFRoZW4gR0RCIHRyaWVzIHRvIGF0dGFjaCB0byB0aGUgcHJv Y2VzcyAkcDoKIAotIzAgIGluZmVyaW9yX2FwcGVhcmVkIChpbmY9MHgyNDBlMGIwLCBwaWQ9Mjky MTApIGF0IGluZmVyaW9yLmM6MzA1Ci0jMSAgaW4gaW5mX3B0cmFjZV9hdHRhY2ggKG9wcz0weDIz Mzk1NDAsIGFyZ3M9MHgyMWRjZGMwICIyOTIxMCIsIGZyb21fdHR5PTEpIGF0IGluZi1wdHJhY2Uu YzoyMDYKLSMyICBpbiBsaW51eF9uYXRfYXR0YWNoIChvcHM9MHgyMzM5NTQwLCBhcmdzPTB4MjFk Y2RjMCAiMjkyMTAiLCBmcm9tX3R0eT0xKSBhdCBsaW51eC1uYXQuYzoxMjc4Ci0jMyAgaW4gYXR0 YWNoX2NvbW1hbmQgKGFyZ3M9MHgyMWRjZGMwICIyOTIxMCIsIGZyb21fdHR5PTEpIGF0IGluZmNt ZC5jOjI3NDgKLSM0ICBpbiBjYXRjaF9jb21tYW5kX2Vycm9ycyAoY29tbWFuZD0weDc5ZDdlNSA8 YXR0YWNoX2NvbW1hbmQ+LCBhcmc9MHg3ZmZmZmZmZmRiOWUgIjI5MjEwIiwgZnJvbV90dHk9MSkg YXQgbWFpbi5jOjM2OAotIzUgIGluIGNhcHR1cmVkX21haW4gKGRhdGE9MHg3ZmZmZmZmZmQ2ZjAp IGF0IG1haW4uYzoxMDgyCiAxMDgyICAgICAgICAgICAgICBpZiAoY2F0Y2hfY29tbWFuZF9lcnJv cnMgKGF0dGFjaF9jb21tYW5kLCBwaWRfb3JfY29yZV9hcmcsCiAxMDgzICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICFiYXRjaF9mbGFnKSA9PSAwKQogCkBAIC01MSwzNyAr NDIsMTQgQEAgdGhlIGxpbmVzCiBzdGlsbCBmYWlsIGJlY2F1c2UgY29uc2VxdWVudGx5IGF0dGFj aF9jb21tYW5kKCkgZmFpbHMgdG8gZmluZCB0aGUgYXNzb2NpYXRlZAogZXhlY3V0YWJsZSBmaWxl OgogCi0jMCAgdGhyb3dfZXJyb3IgKGVycm9yPUdFTkVSSUNfRVJST1IsIGZtdD0weDExNmQxMzUg IiVzLiIpIGF0IC4vY29tbW9uL2NvbW1vbi1leGNlcHRpb25zLmM6MzcxCi0jMSAgaW4gdGhyb3df cGVycm9yX3dpdGhfbmFtZSAoZXJyY29kZT1HRU5FUklDX0VSUk9SLCBzdHJpbmc9MHgyNDc3ODYw ICIvdG1wL3NsZWVwIChkZWxldGVkKSIpIGF0IHV0aWxzLmM6OTc0Ci0jMiAgaW4gcGVycm9yX3dp dGhfbmFtZSAoc3RyaW5nPTB4MjQ3Nzg2MCAiL3RtcC9zbGVlcCAoZGVsZXRlZCkiKSBhdCB1dGls cy5jOjk4MgotIzMgIGluIGV4ZWNfZmlsZV9hdHRhY2ggKGZpbGVuYW1lPTB4MjQ3Nzg2MCAiL3Rt cC9zbGVlcCAoZGVsZXRlZCkiLCBmcm9tX3R0eT0xKSBhdCBleGVjLmM6MjY4CiAyNjcgICAgICAg ICAgICAgICBpZiAoc2NyYXRjaF9jaGFuIDwgMCkKIDI2OCAgICAgICAgICAgICAgICAgcGVycm9y X3dpdGhfbmFtZSAoZmlsZW5hbWUpOwotIzQgIGluIGV4ZWNfZmlsZV9sb2NhdGVfYXR0YWNoIChw aWQ9MjkyMTAsIGZyb21fdHR5PTEpIGF0IGV4ZWMuYzoxNzMKLSM1ICBpbiBhdHRhY2hfY29tbWFu ZF9wb3N0X3dhaXQgKGFyZ3M9MHgyNDczOWIwICIyOTIxMCIsIGZyb21fdHR5PTEsIGFzeW5jX2V4 ZWM9MCkgYXQgaW5mY21kLmM6MjYyOAotIzYgIGluIGF0dGFjaF9jb21tYW5kX2NvbnRpbnVhdGlv biAoYXJncz0weDI0NzM1OTAsIGVycj0wKSBhdCBpbmZjbWQuYzoyNzAwCi0jNyAgaW4gZG9fbXlf Y29udGludWF0aW9uc18xIChwbXlfY2hhaW49MHg3ZmZmZmZmZmQxOTAsIGVycj0wKSBhdCBjb250 aW51YXRpb25zLmM6NTkKLSM4ICBpbiBkb19teV9jb250aW51YXRpb25zIChsaXN0PTB4MjQwZTEz MCwgZXJyPTApIGF0IGNvbnRpbnVhdGlvbnMuYzo4MwotIzkgIGluIGRvX2FsbF9pbmZlcmlvcl9j b250aW51YXRpb25zIChlcnI9MCkgYXQgY29udGludWF0aW9ucy5jOjEyNQotIzEwIGluIGluZmVy aW9yX2V2ZW50X2hhbmRsZXIgKGV2ZW50X3R5cGU9SU5GX0VYRUNfQ09NUExFVEUsIGNsaWVudF9k YXRhPTB4MCkgYXQgaW5mLWxvb3AuYzo2MAotIzExIGluIGZldGNoX2luZmVyaW9yX2V2ZW50IChj bGllbnRfZGF0YT0weDApIGF0IGluZnJ1bi5jOjM5MjkKLSMxMiBpbiBpbmZlcmlvcl9ldmVudF9o YW5kbGVyIChldmVudF90eXBlPUlORl9SRUdfRVZFTlQsIGNsaWVudF9kYXRhPTB4MCkgYXQgaW5m LWxvb3AuYzo0NAotIzEzIGluIGhhbmRsZV90YXJnZXRfZXZlbnQgKGVycm9yPTAsIGNsaWVudF9k YXRhPTB4MCkgYXQgbGludXgtbmF0LmM6NDY4MQotIzE0IGluIGhhbmRsZV9maWxlX2V2ZW50IChm aWxlX3B0cj0weDIxZTQxNzAsIHJlYWR5X21hc2s9MSkgYXQgZXZlbnQtbG9vcC5jOjcwOAotIzE1 IGluIGdkYl93YWl0X2Zvcl9ldmVudCAoYmxvY2s9MCkgYXQgZXZlbnQtbG9vcC5jOjgzNAotIzE2 IGluIGdkYl9kb19vbmVfZXZlbnQgKCkgYXQgZXZlbnQtbG9vcC5jOjI5OAotIzE3IGluIHdhaXRf c3luY19jb21tYW5kX2RvbmUgKCkgYXQgdG9wLmM6MzczCi0jMTggaW4gbWF5YmVfd2FpdF9zeW5j X2NvbW1hbmRfZG9uZSAod2FzX3N5bmM9MCkgYXQgdG9wLmM6Mzg4Ci0jMTkgaW4gY2F0Y2hfY29t bWFuZF9lcnJvcnMgKGNvbW1hbmQ9MHg3OWQ3ZTUgPGF0dGFjaF9jb21tYW5kPiwgYXJnPTB4N2Zm ZmZmZmZkYjllICIyOTIxMCIsIGZyb21fdHR5PTEpIGF0IG1haW4uYzozNzAKLSMyMCBpbiBjYXB0 dXJlZF9tYWluIChkYXRhPTB4N2ZmZmZmZmZkNmYwKSBhdCBtYWluLmM6MTA4MgogMTA4MiAgICAg ICAgICAgICAgaWYgKGNhdGNoX2NvbW1hbmRfZXJyb3JzIChhdHRhY2hfY29tbWFuZCwgcGlkX29y X2NvcmVfYXJnLAogMTA4MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAh YmF0Y2hfZmxhZykgPT0gMCkKIAogYW5kIHRoZXJlZm9yZSBHREIgZXhlY3V0ZXMgdGhlIGZvbGxv d2luZzoKIAogKGdkYikgYnQKLSM1ICBpbiBxdWVyeSAoY3Rsc3RyPTB4MTE0MWFlOCAiQSBwcm9n cmFtIGlzIGJlaW5nIGRlYnVnZ2VkIGFscmVhZHkuICBLaWxsIGl0PyAiKSBhdCB1dGlscy5jOjEz NzEKLSM2ICBpbiB0YXJnZXRfcHJlb3BlbiAoZnJvbV90dHk9MSkgYXQgdGFyZ2V0LmM6MjE4Mwog MjE3OQkgIGlmIChoYXZlX2luZmVyaW9ycyAoKSkKIDIxODAJICAgIHsKIDIxODEJICAgICAgaWYg KCFmcm9tX3R0eQpAQCAtOTEsMjAgKzU5LDE0IEBAIGFuZCB0aGVyZWZvcmUgR0RCIGV4ZWN1dGVz IHRoZSBmb2xsb3dpbmc6CiAyMTg1CSAgICAgIGVsc2UKIDIxODYJCWVycm9yIChfKCJQcm9ncmFt IG5vdCBraWxsZWQuIikpOwogMjE4NwkgICAgfQotIzcgIGluIGNvcmVfb3BlbiAoYXJnPTB4N2Zm ZmZmZmZkYjlmICI5Njk0IiwgZnJvbV90dHk9MSkgYXQgY29yZWxvdy5jOjI4MwotIzggIGluIGNv cmVfZmlsZV9jb21tYW5kIChmaWxlbmFtZT0weDdmZmZmZmZmZGI5ZiAiOTY5NCIsIGZyb21fdHR5 PTEpIGF0IGNvcmVmaWxlLmM6NzcKLSM5ICBpbiBjYXRjaF9jb21tYW5kX2Vycm9ycyAoY29tbWFu ZD0weDg2Y2ExNiA8Y29yZV9maWxlX2NvbW1hbmQ+LCBhcmc9MHg3ZmZmZmZmZmRiOWYgIjk2OTQi LCBmcm9tX3R0eT0xKSBhdCBtYWluLmM6MzY4Ci0jMTAgaW4gY2FwdHVyZWRfbWFpbiAoZGF0YT0w eDdmZmZmZmZmZDZmMCkgYXQgbWFpbi5jOjEwODQKIDEwODQJCSAgICBjYXRjaF9jb21tYW5kX2Vy cm9ycyAoY29yZV9maWxlX2NvbW1hbmQsIHBpZF9vcl9jb3JlX2FyZywKIDEwODUJCQkJCSAgIWJh dGNoX2ZsYWcpOwogCiBObyByZWdyZXNzaW9ucyBvbiB7eDg2XzY0LHg4Nl82NC1tMzIsaTY4Nn0t ZmVkb3JhMjRwcmUtbGludXgtZ251LgogCi0KIFRoYW5rcywKIEphbgogCi0KIGdkYi9DaGFuZ2VM b2cKIDIwMTUtMTAtMTYgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KIApAQCAtMTE3LDE3ICs3OSwxOCBAQCBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwogCSogZ2Ri LmJhc2UvYXR0YWNoLWtpbGxzLmM6IE5ldy4KIAkqIGdkYi5iYXNlL2F0dGFjaC1raWxscy5leHA6 IE5ldy4KIC0tLQotIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLWtpbGxzLmMgICB8ICAg MjUgKysrKysrKysrKysrKysrKwotIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLWtpbGxz LmV4cCB8ICAgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIDIgZmlsZXMgY2hh bmdlZCwgNzQgaW5zZXJ0aW9ucygrKQorIGdkYi9tYWluLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICA1ICsrKy0KKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC1raWxscy5j ICAgfCAyNSArKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNo LWtpbGxzLmV4cCB8IDQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDMgZmls ZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFjaC1raWxscy5jCiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXR0YWNoLWtpbGxzLmV4cAogCiBkaWZm IC0tZ2l0IGEvZ2RiL21haW4uYyBiL2dkYi9tYWluLmMKLWluZGV4IDQ5YzliNjguLmJjMTk2OTkg MTAwNjQ0CitpbmRleCBkNWI0YzNhZGI5Li5kZjFmMTJiZDc5IDEwMDY0NAogLS0tIGEvZ2RiL21h aW4uYwogKysrIGIvZ2RiL21haW4uYwotQEAgLTEwODAsNyArMTA4MCwxMCBAQCBjYXB0dXJlZF9t YWluICh2b2lkICpkYXRhKQorQEAgLTExMTMsNyArMTExMywxMCBAQCBjYXB0dXJlZF9tYWluXzEg KHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgICAgICAgaWYgKGlzZGlnaXQg KHBpZF9vcl9jb3JlX2FyZ1swXSkpCiAgCXsKICAJICBpZiAoY2F0Y2hfY29tbWFuZF9lcnJvcnMg KGF0dGFjaF9jb21tYW5kLCBwaWRfb3JfY29yZV9hcmcsCkBAIC0xNDEsNyArMTA0LDcgQEAgaW5k ZXggNDljOWI2OC4uYmMxOTY5OSAxMDA2NDQKICAJfQogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvYXR0YWNoLWtpbGxzLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2F0dGFj aC1raWxscy5jCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMjM5OGYwMAor aW5kZXggMDAwMDAwMDAwMC4uMjM5OGYwMDQ0MgogLS0tIC9kZXYvbnVsbAogKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gta2lsbHMuYwogQEAgLTAsMCArMSwyNSBAQApAQCAtMTcy LDcgKzEzNSw3IEBAIGluZGV4IDAwMDAwMDAuLjIzOThmMDAKICt9CiBkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gta2lsbHMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9hdHRhY2gta2lsbHMuZXhwCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAw MC4uOWE5M2NiNworaW5kZXggMDAwMDAwMDAwMC4uOWE5M2NiNzU4NAogLS0tIC9kZXYvbnVsbAog KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hdHRhY2gta2lsbHMuZXhwCiBAQCAtMCwwICsx LDQ5IEBACkBAIC0yMjUsNCArMTg4LDYgQEAgaW5kZXggMDAwMDAwMC4uOWE5M2NiNwogK30KICsK ICtraWxsX3dhaXRfc3Bhd25lZF9wcm9jZXNzICR0ZXN0X3NwYXduX2lkCistLSAKKzIuMTQuMwog CgpkaWZmIC0tZ2l0IGEvZ2RiLWJ6NTMzMTc2LWZvcnRyYW4tb21wLXN0ZXAucGF0Y2ggYi9nZGIt Yno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5wYXRjaAppbmRleCAzMmQ2MGI5Li4wMWI5MGQ4IDEw MDY0NAotLS0gYS9nZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5wYXRjaAorKysgYi9nZGIt Yno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5wYXRjaApAQCAtMSw5ICsxLDEyIEBACitGcm9tIDAy ZTUyYmZmMDlkYmY3MzRlMTZmNTdjMGM3NTcyMGFmMjcyMDIzYzQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0 ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLWJ6NTMzMTc2 LWZvcnRyYW4tb21wLXN0ZXAucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1iejUzMzE3Ni1mb3J0cmFu LW9tcC1zdGVwLnBhdGNoCiAKKzs7IEZpeCBzdGVwcGluZyB3aXRoIE9NUCBwYXJhbGxlbCBGb3J0 cmFuIHNlY3Rpb25zIChCWiA1MzMxNzYpLgorOzs9cHVzaCtqYW46IEl0IHJlcXVpcmVzIHNvbWUg YmV0dGVyIERXQVJGIGFubm90YXRpb25zLgogCiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20v c2hvd19idWcuY2dpP2lkPTUzMzE3NiNjNAogCkBAIC0yNSwxNCArMjgsMTkgQEAgdXBzdHJlYW0p IG9yICJzdGVwIiAoZGVmYXVsdCBpbiBGL1JIRUwpIHRoZSBzaW11bHRhbmVvdXMgZXhlY3V0aW9u IG9mIHRoZQogdGhyZWFkcyBpcyBpbmNvbnZlbmllbnQuICBTZXR0aW5nIGl0IHRvICJvbiIgd2ls bCBsb2NrdXAgdGhlIGRlYnVnZ2luZyBhcyB0aGUKIHRocmVhZHMgbmVlZCB0byBnZXQgc3luY2hy b25pemVkIGF0IHNvbWUgcG9pbnQuICBUaGlzIGlzIGEgbW9yZSBnZW5lcmFsCiBkZWJ1Z2dpbmcg cHJvYmxlbSBvZiBHT01QIG91dHNpZGUgb2YgdGhlIHNjb3BlIG9mIHRoaXMgQnVnLgorLS0tCisg Z2RiL2luZnJ1bi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKysrKwor IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vb21wLXN0ZXAuZXhwIHwgMzEgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vb21wLXN0ZXAu ZjkwIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5n ZWQsIDc0IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9vbXAtc3RlcC5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9vbXAtc3RlcC5mOTAKIAotCi0KLUluZGV4OiBnZGItNy43LjkwLjIwMTQw NjEzL2dkYi9pbmZydW4uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjcuOTAuMjAxNDA2MTMub3Jp Zy9nZGIvaW5mcnVuLmMJMjAxNC0wNi0xMyAyMTo1OToxMC44MzU4MDU1MTIgKzAyMDAKLSsrKyBn ZGItNy43LjkwLjIwMTQwNjEzL2dkYi9pbmZydW4uYwkyMDE0LTA2LTEzIDIxOjU5OjMxLjA2NDgy OTEyMSArMDIwMAotQEAgLTQ4MjAsNiArNDgyMCwxNiBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVz dCAoc3RydWN0IGV4ZWN1dGlvCitkaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1 bi5jCitpbmRleCBkYjc0MmY3Mzk4Li44YzJjNDI0ODgzIDEwMDY0NAorLS0tIGEvZ2RiL2luZnJ1 bi5jCisrKysgYi9nZGIvaW5mcnVuLmMKK0BAIC02NjYzLDYgKzY2NjMsMTYgQEAgcHJvY2Vzc19l dmVudF9zdG9wX3Rlc3QgKHN0cnVjdCBleGVjdXRpb25fY29udHJvbF9zdGF0ZSAqZWNzKQogIAog ICAgICAgIGlmIChlY3MtPmV2ZW50X3RocmVhZC0+Y29udHJvbC5zdGVwX292ZXJfY2FsbHMgPT0g U1RFUF9PVkVSX0FMTCkKICAJewpAQCAtNDksNyArNTcsNyBAQCBJbmRleDogZ2RiLTcuNy45MC4y MDE0MDYxMy9nZGIvaW5mcnVuLmMKICAJICAvKiBXZSdyZSBkb2luZyBhICJuZXh0Ii4KICAKICAJ ICAgICBOb3JtYWwgKGZvcndhcmQpIGV4ZWN1dGlvbjogc2V0IGEgYnJlYWtwb2ludCBhdCB0aGUK LUBAIC00ODU1LDYgKzQ4NjUsNyBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdCAoc3RydWN0IGV4 ZWN1dGlvCitAQCAtNjY5Niw2ICs2NzA2LDcgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3QgKHN0 cnVjdCBleGVjdXRpb25fY29udHJvbF9zdGF0ZSAqZWNzKQogIAogIAkgIGtlZXBfZ29pbmcgKGVj cyk7CiAgCSAgcmV0dXJuOwpAQCAtNTcsMTAgKzY1LDExIEBAIEluZGV4OiBnZGItNy43LjkwLjIw MTQwNjEzL2dkYi9pbmZydW4uYwogIAl9CiAgCiAgICAgICAgLyogSWYgd2UgYXJlIGluIGEgZnVu Y3Rpb24gY2FsbCB0cmFtcG9saW5lIChhIHN0dWIgYmV0d2VlbiB0aGUKLUluZGV4OiBnZGItNy43 LjkwLjIwMTQwNjEzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vb21wLXN0ZXAuZXhwCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuNy45MC4yMDE0MDYxMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL29tcC1z dGVwLmV4cAkyMDE0LTA2LTEzIDIxOjU5OjIyLjgwMTgxOTQ4MSArMDIwMAorZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vb21wLXN0ZXAuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9vbXAtc3RlcC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwLi42NjQ0MGE3NTA3CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL29tcC1zdGVwLmV4cAogQEAgLTAsMCArMSwzMSBAQAogKyMgQ29weXJpZ2h0IDIw MDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC05MywxMCArMTAyLDExIEBA IEluZGV4OiBnZGItNy43LjkwLjIwMTQwNjEzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vb21w LXN0ZXAuZXhwCiArCiArZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInN1Y2Nl c3MiXQogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJzdWNjZXNzIiAiLipzdWNjZXNzLioi Ci1JbmRleDogZ2RiLTcuNy45MC4yMDE0MDYxMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL29t cC1zdGVwLmY5MAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjcuOTAuMjAxNDA2MTMvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9vbXAtc3RlcC5mOTAJMjAxNC0wNi0xMyAyMTo1OToyMi44MDE4MTk0ODEgKzAy MDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL29tcC1zdGVwLmY5MCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vb21wLXN0ZXAuZjkwCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYTBjZmIzNzAxNAorLS0tIC9kZXYvbnVsbAorKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9vbXAtc3RlcC5mOTAKIEBAIC0wLDAgKzEsMzIgQEAK ICshIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAt MTMwLDMgKzE0MCw2IEBAIEluZGV4OiBnZGItNy43LjkwLjIwMTQwNjEzL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vb21wLXN0ZXAuZjkwCiArICAgICAgZW5kIGRvCiArICAgICAgcHJpbnQgKiwg InN1Y2Nlc3MiCiArICAgICAgZW5kCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLWJ6 NTQxODY2LXJ3YXRjaC1iZWZvcmUtcnVuLnBhdGNoIGIvZ2RiLWJ6NTQxODY2LXJ3YXRjaC1iZWZv cmUtcnVuLnBhdGNoCmluZGV4IDAzOGJkMTQuLjhiMDNkZTQgMTAwNjQ0Ci0tLSBhL2dkYi1iejU0 MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRjaAorKysgYi9nZGItYno1NDE4NjYtcndhdGNoLWJl Zm9yZS1ydW4ucGF0Y2gKQEAgLTEsMzkgKzEsNTIgQEAKK0Zyb20gNTg0NjYyN2VmNjYyMjIzYTNh MjNmMjllMmU4ZGExYzk2YjBmNDNjOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZl ZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAy MDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItYno1NDE4NjYtcndhdGNoLWJlZm9yZS1y dW4ucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRj aAogCis7OyBGaXggaTM4Nit4ODZfNjQgcndhdGNoK2F3YXRjaCBiZWZvcmUgcnVuLCByZWdyZXNz aW9uIGFnYWluc3QgNi44IChCWiA1NDE4NjYpLgorOzsgRml4IGkzODYgcndhdGNoK2F3YXRjaCBi ZWZvcmUgcnVuIChCWiA2ODg3ODgsIG9uIHRvcCBvZiBCWiA1NDE4NjYpLgorOzs9cHVzaCtqYW46 IEl0IHNob3VsZCBiZSBmaXhlZCBwcm9wZXJseSBpbnN0ZWFkLgorLS0tCisgZ2RiL2JyZWFrcG9p bnQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLS0KKyBnZGIvY29u ZmlnL2kzODYvbm0tbGludXguaCAgICAgICAgICAgICAgICAgICAgICAgICB8IDI4ICsrKysrKysr KysrKysrKworIGdkYi9jb25maWcvaTM4Ni9ubS1saW51eDY0LmggICAgICAgICAgICAgICAgICAg ICAgIHwgMjggKysrKysrKysrKysrKysrCisgZ2RiL2NvbmZpZ3VyZS5uYXQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArKworIGdkYi90YXJnZXQuaCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKysKKyAuLi4vZ2RiLmJhc2Uvd2F0Y2hwb2lu dC1ody1iZWZvcmUtcnVuLmV4cCAgICAgICAgICB8IDQwICsrKysrKysrKysrKysrKysrKysrKysK KyA2IGZpbGVzIGNoYW5nZWQsIDEwMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnZGIvY29uZmlnL2kzODYvbm0tbGludXguaAorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvY29uZmlnL2kzODYvbm0tbGludXg2NC5oCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1ody1iZWZvcmUtcnVuLmV4cAogCi1J bmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL2NvbmZpZy9pMzg2L2xpbnV4NjQubWgKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMS45MC4yMDE2MDgwNy5vcmlnL2dkYi9jb25maWcvaTM4Ni9s aW51eDY0Lm1oCTIwMTYtMDgtMDcgMjI6Mjc6MTMuODg5Mjg1Mjc0ICswMjAwCi0rKysgZ2RiLTcu MTEuOTAuMjAxNjA4MDcvZ2RiL2NvbmZpZy9pMzg2L2xpbnV4NjQubWgJMjAxNi0wOC0wNyAyMjoy OToyMC40NTEzMTExMjQgKzAyMDAKLUBAIC03LDcgKzcsNyBAQAotIAlsaW51eC1wcm9jZnMubyBs aW51eC1wdHJhY2UubyBsaW51eC1idHJhY2UubyBcCi0gCWxpbnV4LXdhaXRwaWQubyBsaW51eC1w ZXJzb25hbGl0eS5vIHg4Ni1saW51eC5vIFwKLSAJeDg2LWxpbnV4LWRyZWdzLm8gYW1kNjQtbGlu dXgtc2lnaW5mby5vIGxpbnV4LW5hbWVzcGFjZXMubwotLU5BVF9GSUxFPSBjb25maWcvbm0tbGlu dXguaAotK05BVF9GSUxFPSBubS1saW51eDY0LmgKLSBOQVRfQ0RFUFMgPSAkKHNyY2RpcikvcHJv Yy1zZXJ2aWNlLmxpc3QKK2RpZmYgLS1naXQgYS9nZGIvYnJlYWtwb2ludC5jIGIvZ2RiL2JyZWFr cG9pbnQuYworaW5kZXggYmMwMTM0ZGIzNi4uMjY5OTI4YTc5NCAxMDA2NDQKKy0tLSBhL2dkYi9i cmVha3BvaW50LmMKKysrKyBiL2dkYi9icmVha3BvaW50LmMKK0BAIC04ODc5LDcgKzg4NzksNyBA QCBpbml0X2JyZWFrcG9pbnRfc2FsIChzdHJ1Y3QgYnJlYWtwb2ludCAqYiwgc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsCisgCQkgICAgIGludCBlbmFibGVkLCBpbnQgaW50ZXJuYWwsIHVuc2lnbmVk IGZsYWdzLAorIAkJICAgICBpbnQgZGlzcGxheV9jYW5vbmljYWwpCisgeworLSAgaW50IGk7Cisr ICBpbnQgaSBBVFRSSUJVVEVfVU5VU0VEOwogIAotICMgVGhlIGR5bmFtaWNhbGx5IGxvYWRlZCBs aWJ0aHJlYWRfZGIgbmVlZHMgYWNjZXNzIHRvIHN5bWJvbHMgaW4gdGhlCi1JbmRleDogZ2RiLTcu MTEuOTAuMjAxNjA4MDcvZ2RiL2NvbmZpZy9pMzg2L2xpbnV4Lm1oCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMTEuOTAuMjAxNjA4MDcub3JpZy9nZGIvY29uZmlnL2kzODYvbGludXgubWgJMjAxNi0w OC0wNyAyMjoyNzoxMy44ODkyODUyNzQgKzAyMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9n ZGIvY29uZmlnL2kzODYvbGludXgubWgJMjAxNi0wOC0wNyAyMjoyOToyMC40NTEzMTExMjQgKzAy MDAKLUBAIC0xLDYgKzEsNiBAQAotICMgSG9zdDogSW50ZWwgMzg2IHJ1bm5pbmcgR05VL0xpbnV4 LgorICAgaWYgKHR5cGUgPT0gYnBfaGFyZHdhcmVfYnJlYWtwb2ludCkKKyAgICAgeworQEAgLTE0 NDQyLDcgKzE0NDQyLDcgQEAgZW5hYmxlX2JyZWFrcG9pbnRfZGlzcCAoc3RydWN0IGJyZWFrcG9p bnQgKmJwdCwgZW51bSBicGRpc3AgZGlzcG9zaXRpb24sCiAgCi0tTkFUX0ZJTEU9IGNvbmZpZy9u bS1saW51eC5oCi0rTkFUX0ZJTEU9IG5tLWxpbnV4LmgKLSBOQVRERVBGSUxFUz0gaW5mLXB0cmFj ZS5vIGZvcmstY2hpbGQubyBcCi0gCXg4Ni1uYXQubyB4ODYtZHJlZ3MubyBpMzg2LWxpbnV4LW5h dC5vIHg4Ni1saW51eC1uYXQubyBcCi0gCXByb2Mtc2VydmljZS5vIGxpbnV4LXRocmVhZC1kYi5v IFwKLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvY29uZmlnL2kzODYvbm0tbGludXgu aAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi9jb25maWcvaTM4Ni9ubS1saW51 eC5oCTIwMTYtMDgtMDcgMjI6Mjk6MjAuNDUxMzExMTI0ICswMjAwCisgICBpZiAoYnB0LT50eXBl ID09IGJwX2hhcmR3YXJlX2JyZWFrcG9pbnQpCisgICAgIHsKKy0gICAgICBpbnQgaTsKKysgICAg ICBpbnQgaSBBVFRSSUJVVEVfVU5VU0VEOworICAgICAgIGkgPSBod19icmVha3BvaW50X3VzZWRf Y291bnQgKCk7CisgICAgICAgdGFyZ2V0X3Jlc291cmNlc19vayA9IAorIAl0YXJnZXRfY2FuX3Vz ZV9oYXJkd2FyZV93YXRjaHBvaW50IChicF9oYXJkd2FyZV9icmVha3BvaW50LCAKK2RpZmYgLS1n aXQgYS9nZGIvY29uZmlnL2kzODYvbm0tbGludXguaCBiL2dkYi9jb25maWcvaTM4Ni9ubS1saW51 eC5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMzhlOTRiYWFiMQor LS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL2NvbmZpZy9pMzg2L25tLWxpbnV4LmgKIEBAIC0wLDAg KzEsMjggQEAKICsvKiBOYXRpdmUgc3VwcG9ydCBmb3IgR05VL0xpbnV4IGkzODYuCiArCkBAIC02 MywxMCArNzYsMTEgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi9jb25maWcvaTM4 Ni9ubS1saW51eC5oCiArI2RlZmluZSB0YXJnZXRfY2FuX3VzZV9oYXJkd2FyZV93YXRjaHBvaW50 KHR5cGUsIGNudCwgb3QpIDEKICsKICsjZW5kaWYgLyogTk1fTElOVVg2NF9IICovCi1JbmRleDog Z2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL2NvbmZpZy9pMzg2L25tLWxpbnV4NjQuaAotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi9jb25maWcvaTM4Ni9ubS1saW51eDY0LmgJMjAx Ni0wOC0wNyAyMjoyOToyMC40NTEzMTExMjQgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvY29uZmln L2kzODYvbm0tbGludXg2NC5oIGIvZ2RiL2NvbmZpZy9pMzg2L25tLWxpbnV4NjQuaAorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjIxMmRhYmE0NzcKKy0tLSAvZGV2L251 bGwKKysrKyBiL2dkYi9jb25maWcvaTM4Ni9ubS1saW51eDY0LmgKIEBAIC0wLDAgKzEsMjggQEAK ICsvKiBOYXRpdmUgc3VwcG9ydCBmb3IgR05VL0xpbnV4IGFtZDY0LgogKwpAQCAtOTYsMTEgKzEx MCwzMSBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL2NvbmZpZy9pMzg2L25tLWxp bnV4NjQuaAogKyNkZWZpbmUgdGFyZ2V0X2Nhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCh0eXBl LCBjbnQsIG90KSAxCiArCiArI2VuZGlmIC8qIE5NX0xJTlVYNjRfSCAqLwotSW5kZXg6IGdkYi03 LjExLjkwLjIwMTYwODA3L2dkYi90YXJnZXQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjExLjkw LjIwMTYwODA3Lm9yaWcvZ2RiL3RhcmdldC5oCTIwMTYtMDgtMDcgMjI6Mjc6MTMuODg5Mjg1Mjc0 ICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3RhcmdldC5oCTIwMTYtMDgtMDcg MjI6Mjk6MjAuNDUyMzExMTMyICswMjAwCi1AQCAtMTkzOSw5ICsxOTM5LDExIEBACitkaWZmIC0t Z2l0IGEvZ2RiL2NvbmZpZ3VyZS5uYXQgYi9nZGIvY29uZmlndXJlLm5hdAoraW5kZXggOTYyYWJk NmVkZi4uNDA0YjZjOGRlYiAxMDA2NDQKKy0tLSBhL2dkYi9jb25maWd1cmUubmF0CisrKysgYi9n ZGIvY29uZmlndXJlLm5hdAorQEAgLTIzNyw2ICsyMzcsNyBAQCBjYXNlICR7Z2RiX2hvc3R9IGlu CisgCQk7OworIAkgICAgaTM4NikKKyAJCSMgSG9zdDogSW50ZWwgMzg2IHJ1bm5pbmcgR05VL0xp bnV4LgorKwkJTkFUX0ZJTEU9IiR7c3JjZGlyfS9jb25maWcvJHtnZGJfaG9zdF9jcHV9L25tLWxp bnV4LmgiCisgCQlOQVRERVBGSUxFUz0iJHtOQVRERVBGSUxFU30geDg2LW5hdC5vIHg4Ni1kcmVn cy5vIFwKKyAJCWkzODYtbGludXgtbmF0Lm8geDg2LWxpbnV4LW5hdC5vIGxpbnV4LWJ0cmFjZS5v IFwKKyAJCXg4Ni1saW51eC5vIHg4Ni1saW51eC1kcmVncy5vIgorQEAgLTI4OSw2ICsyOTAsNyBA QCBjYXNlICR7Z2RiX2hvc3R9IGluCisgCWNhc2UgJHtnZGJfaG9zdF9jcHV9IGluCisgCSAgICBp Mzg2KQorIAkJIyBIb3N0OiBHTlUvTGludXggeDg2LTY0CisrCQlOQVRfRklMRT0iJHtzcmNkaXJ9 L2NvbmZpZy8ke2dkYl9ob3N0X2NwdX0vbm0tbGludXg2NC5oIgorIAkJTkFUREVQRklMRVM9IiR7 TkFUREVQRklMRVN9IHg4Ni1uYXQubyB4ODYtZHJlZ3MubyBcCisgCQlhbWQ2NC1uYXQubyBhbWQ2 NC1saW51eC1uYXQubyB4ODYtbGludXgtbmF0Lm8gbGludXgtYnRyYWNlLm8gXAorIAkJeDg2LWxp bnV4Lm8geDg2LWxpbnV4LWRyZWdzLm8gYW1kNjQtbGludXgtc2lnaW5mby5vIgorZGlmZiAtLWdp dCBhL2dkYi90YXJnZXQuaCBiL2dkYi90YXJnZXQuaAoraW5kZXggNjM4ZTJmMDZlNi4uOTk5NTQx ZDVkMiAxMDA2NDQKKy0tLSBhL2dkYi90YXJnZXQuaAorKysrIGIvZ2RiL3RhcmdldC5oCitAQCAt MTkyNyw5ICsxOTI3LDExIEBAIGV4dGVybiBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRhcmdldF90aHJl YWRfaGFuZGxlX3RvX3RocmVhZF9pbmZvCiAgICAgb25lLiAgT1RIRVJUWVBFIGlzIHRoZSBudW1i ZXIgb2Ygd2F0Y2hwb2ludHMgb2Ygb3RoZXIgdHlwZXMgdGhhbgogICAgIHRoaXMgb25lIHVzZWQg c28gZmFyLiAgKi8KICAKQEAgLTExMiwxMCArMTQ2LDExIEBAIEluZGV4OiBnZGItNy4xMS45MC4y MDE2MDgwNy9nZGIvdGFyZ2V0LmgKICAKICAvKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZGVidWcg cmVnaXN0ZXJzIG5lZWRlZCB0byB3YXRjaCB0aGUgZ2l2ZW4KICAgICBtZW1vcnkgcmVnaW9uLCBv ciB6ZXJvIGlmIG5vdCBzdXBwb3J0ZWQuICAqLwotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1ody1iZWZvcmUtcnVuLmV4cAotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hw b2ludC1ody1iZWZvcmUtcnVuLmV4cAkyMDE2LTA4LTA3IDIyOjI5OjIwLjQ1MjMxMTEzMiArMDIw MAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1ody1iZWZv cmUtcnVuLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC1ody1iZWZvcmUt cnVuLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjRjZTk5OTdl NGEKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2lu dC1ody1iZWZvcmUtcnVuLmV4cAogQEAgLTAsMCArMSw0MCBAQAogKyMgQ29weXJpZ2h0IDIwMDks IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xNTcsMTYgKzE5Miw2 IEBAIEluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dh dGNocG9pbnQtaHctYmVmb3JlLXJ1bi5leHAKICtnZGJfdGVzdCAiIiAibWFpbiAuKiBhdCAuKiIg InN0YXJ0IgogKwogK2dkYl90ZXN0ICJjb250aW51ZSIgIkNvbnRpbnVpbmcuXHJcblxyXG5IYXJk d2FyZSByZWFkIHdhdGNocG9pbnQgXFswLTlcXSs6IHdhdGNoZWVcclxuXHJcblZhbHVlID0gMFxy XG4uKiIKLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvYnJlYWtwb2ludC5jCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA4MDcub3JpZy9nZGIvYnJlYWtwb2ludC5jCTIw MTYtMDgtMDcgMjI6MzM6MzguODM1NDA1NDU4ICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4 MDcvZ2RiL2JyZWFrcG9pbnQuYwkyMDE2LTA4LTA3IDIyOjM0OjQ1LjAyMzk0MTk1MCArMDIwMAot QEAgLTE0OTUzLDcgKzE0OTUzLDcgQEAKLSAKLSAgIGlmIChicHQtPnR5cGUgPT0gYnBfaGFyZHdh cmVfYnJlYWtwb2ludCkKLSAgICAgewotLSAgICAgIGludCBpOwotKyAgICAgIGludCBpIEFUVFJJ QlVURV9VTlVTRUQ7Ci0gICAgICAgaSA9IGh3X2JyZWFrcG9pbnRfdXNlZF9jb3VudCAoKTsKLSAg ICAgICB0YXJnZXRfcmVzb3VyY2VzX29rID0gCi0gCXRhcmdldF9jYW5fdXNlX2hhcmR3YXJlX3dh dGNocG9pbnQgKGJwX2hhcmR3YXJlX2JyZWFrcG9pbnQsIAorLS0gCisyLjE0LjMKKwoKZGlmZiAt LWdpdCBhL2dkYi1iejU2ODI0OC1vb20taXMtZXJyb3IucGF0Y2ggYi9nZGItYno1NjgyNDgtb29t LWlzLWVycm9yLnBhdGNoCmluZGV4IDJhZGJjZWYuLjE0NDhhODUgMTAwNjQ0Ci0tLSBhL2dkYi1i ejU2ODI0OC1vb20taXMtZXJyb3IucGF0Y2gKKysrIGIvZ2RiLWJ6NTY4MjQ4LW9vbS1pcy1lcnJv ci5wYXRjaApAQCAtMSw5ICsxLDEyIEBACitGcm9tIDU0MDUyODE5Njg3MzM2ZDlhYzRmNzI4ZTQ5 ZWQ3YWUxZTVlODQ3ZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RC IHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTow Nzo1MCArMDIwMAotU3ViamVjdDogW3JmYyBwYXRjaF0gbm9tZW06IGludGVybmFsX2Vycm9yIC0+ IGVycm9yCitTdWJqZWN0OiBub21lbTogaW50ZXJuYWxfZXJyb3IgLT4gZXJyb3IKIAogRmlsZU5h bWU6IGdkYi1iejU2ODI0OC1vb20taXMtZXJyb3IucGF0Y2gKIAorOzsgT3V0IG9mIG1lbW9yeSBp cyBqdXN0IGFuIGVycm9yLCBub3QgZmF0YWwgKHVuaW5pdGlhbGl6ZWQgVkxTIHZhcnMsIEJaIDU2 ODI0OCkuCis7Oz1wdXNoK2phbjogSW5mZXJpb3Igb2JqZWN0cyBzaG91bGQgYmUgcmVhZCBpbiBw YXJ0cywgdGhlbiB0aGlzIHBhdGNoIGdldHMgb2Jzb2xldGVkLgogCiBodHRwOi8vc291cmNld2Fy ZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMC0wNi9tc2cwMDAwNS5odG1sCiAKQEAgLTMwLDcgKzMz LDYgQEAgSXQgaXMgYXBwYXJlbnRseSBiZWNhdXNlIGJvdW5kYXJ5IGZvciB0aGUgdmFyaWFibGUg YGEnIGlzIG5vdCBpbml0aWFsaXplZAogdGhlcmUuICBVc2VycyBub3RpY2UgaXQgZHVlIHRvIEVj bGlwc2UtQ0RUIHRyeWluZyB0byBhdXRvbWF0aWNhbGx5IGRpc3BsYXkgYWxsCiB0aGUgbG9jYWwg dmFyaWFibGVzIG9uIGVhY2ggc3RlcC4KIAotCiBBcHBhcmVudGwgbm8gcmVncmVzc2lvbnMgb24g e3g4Nl82NCx4ODZfNjQtbTMyLGk2ODZ9LWZlZG9yYTEzLWxpbnV4LWdudS4KIEJ1dCBpcyBhbm9u ZSBhd2FyZSBvZiB0aGUgcmVhc29ucyB0byB1c2UgaW50ZXJuYWxfZXJyb3IgdGhlcmU/CiBJIGZp bmQgc2ltcGxlIGVycm9yIGFzIGEgcGVyZmVjdGx5IHJlYXNvbmFibGUgdGhlcmUuCkBAIC00MSwy MiArNDMsMjMgQEAgSUlSQyB0aGlzIGlkZWEgaGFzIGJlZW4gZGlzY3Vzc2VkIHdpdGggVG9tIFRy b21leSwgbm90IHN1cmUgb2YgaXRzIG9yaWdpbi4KIEkgdW5kZXJzdGFuZCBpdCBtYXkgYmUgb2Zm dG9waWMgZm9yIEZTRiBHREIgYnV0IGZyb20gc29tZSBHREIgY3Jhc2hlcyBJIGFtIG5vdAogc3Vy ZSBpZiBpdCBjYW4gaGFwcGVuIG9ubHkgZHVlIHRvIHRoZSBWTEEgdmFyaWFibGVzLgogCi0KIFRo YW5rcywKIEphbgogCi0KIGdkYi8KIDIwMTAtMDYtMDEgIEphbiBLcmF0b2NodmlsICA8amFuLmty YXRvY2h2aWxAcmVkaGF0LmNvbT4KIAkgICAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29t PgogCiAJKiB1dGlscy5jIChub21lbSk6IENoYW5nZSBpbnRlcm5hbF9lcnJvciB0byBlcnJvci4K LQotSW5kZXg6IGdkYi03LjMuNTAuMjAxMTA3MjIvZ2RiL3V0aWxzLmMKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4zLjUwLjIwMTEwNzIyLm9yaWcvZ2RiL3V0aWxzLmMJMjAxMS0wNy0yMiAxOToyODo1 OC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4zLjUwLjIwMTEwNzIyL2dkYi91dGlscy5jCTIw MTEtMDctMjIgMTk6MzQ6MjUuMDAwMDAwMDAwICswMjAwCi1AQCAtMTIxOSwxMyArMTIxOSwxMSBA QCBtYWxsb2NfZmFpbHVyZSAobG9uZyBzaXplKQorLS0tCisgZ2RiL3V0aWxzLmMgfCA2ICsrLS0t LQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9nZGIvdXRpbHMuYyBiL2dkYi91dGlscy5jCitpbmRleCA5OGVmNmFjNDU3Li41 ZTk5YTRkNTAxIDEwMDY0NAorLS0tIGEvZ2RiL3V0aWxzLmMKKysrKyBiL2dkYi91dGlscy5jCitA QCAtNzc2LDEzICs3NzYsMTEgQEAgbWFsbG9jX2ZhaWx1cmUgKGxvbmcgc2l6ZSkKICB7CiAgICBp ZiAoc2l6ZSA+IDApCiAgICAgIHsKQEAgLTcyLDMgKzc1LDYgQEAgSW5kZXg6IGdkYi03LjMuNTAu MjAxMTA3MjIvZ2RiL3V0aWxzLmMKICAgICAgfQogIH0KICAKKy0tIAorMi4xNC4zCisKCmRpZmYg LS1naXQgYS9nZGItYno2MDE4ODctZHdhcmY0LXJoLXRlc3QucGF0Y2ggYi9nZGItYno2MDE4ODct ZHdhcmY0LXJoLXRlc3QucGF0Y2gKaW5kZXggMDAyZjU1Zi4uOGU2MjdmZCAxMDA2NDQKLS0tIGEv Z2RiLWJ6NjAxODg3LWR3YXJmNC1yaC10ZXN0LnBhdGNoCisrKyBiL2dkYi1iejYwMTg4Ny1kd2Fy ZjQtcmgtdGVzdC5wYXRjaApAQCAtMSwxNCArMSwyNiBAQAorRnJvbSBiM2U2YTdhN2VjNzkyMDg2 NzIyZDgzMmFhMzdhNDg1ZDhlNzRjOWU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTog RmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0 IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1iejYwMTg4Ny1kd2FyZjQtcmgtdGVz dC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLWJ6NjAxODg3LWR3YXJmNC1yaC10ZXN0LnBhdGNoCiAK Kzs7IEJhY2twb3J0IERXQVJGLTQgc3VwcG9ydCAoQlogNjAxODg3LCBUb20gVHJvbWV5KS4KKzs7 PWZlZG9yYXRlc3QKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9yaC1kd2FyZjQteDg2 XzY0LlMgICB8IDE2NyArKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9yaC1kd2FyZjQteDg2XzY0LmMgICB8ICAyMiArKysrCisgZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuZXhwIHwgIDQyICsrKysrKysKKyAzIGZpbGVz IGNoYW5nZWQsIDIzMSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0 c3VpdGUvZ2RiLmR3YXJmMi9yaC1kd2FyZjQteDg2XzY0LlMKKyBjcmVhdGUgbW9kZSAxMDA2NDQg Z2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuYworIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvcmgtZHdhcmY0LXg4Nl82NC5leHAKIAot SW5kZXg6IGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQu UwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14 ODZfNjQuUwkyMDE0LTAyLTA2IDIyOjAyOjIxLjk4MTQ0OTU1NSArMDEwMAorZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9yaC1kd2FyZjQteDg2XzY0LlMgYi9nZGIvdGVzdHN1 aXRlL2dkYi5kd2FyZjIvcmgtZHdhcmY0LXg4Nl82NC5TCituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMDAwMC4uNDhiMWJiZjNlMQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuUwogQEAgLTAsMCArMSwxNjcgQEAK ICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpA QCAtMTc3LDEwICsxODksMTEgQEAgSW5kZXg6IGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL3JoLWR3YXJmNC14ODZfNjQuUwogKwkuc3RyaW5nCSJtYWluIgogKwkuaWRlbnQJIkdDQzog KEdOVSkgNC40LjQgMjAxMDA1MDMgKFJlZCBIYXQgNC40LjQtMikiCiArCS5zZWN0aW9uCS5ub3Rl LkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKLUluZGV4OiBnZGItNy43L2dkYi90ZXN0c3VpdGUvZ2Ri LmR3YXJmMi9yaC1kd2FyZjQteDg2XzY0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy43L2dkYi90ZXN0c3Vp dGUvZ2RiLmR3YXJmMi9yaC1kd2FyZjQteDg2XzY0LmMJMjAxNC0wMi0wNiAyMjowMjoyMS45ODE0 NDk1NTUgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvcmgtZHdh cmY0LXg4Nl82NC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQu YworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjQ2ZmNkMTIwZjQKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9yaC1kd2FyZjQteDg2 XzY0LmMKIEBAIC0wLDAgKzEsMjIgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RC LCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMjA0LDEwICsyMTcsMTEgQEAgSW5kZXg6IGdkYi03 LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuYwogK3sKICsgIHJl dHVybiAwOwogK30KLUluZGV4OiBnZGItNy43L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9yaC1k d2FyZjQteDg2XzY0LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL3JoLWR3YXJmNC14ODZfNjQuZXhwCTIwMTQtMDItMDYgMjI6MTI6MTAuNzg4MDMyNDE3ICsw MTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZf NjQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQuZXhwCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYTcyOGY5YzVlZAorLS0tIC9k ZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3JoLWR3YXJmNC14ODZfNjQu ZXhwCiBAQCAtMCwwICsxLDQyIEBACiArIyBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KICsKQEAgLTI1MSwzICsyNjUsNiBAQCBJbmRleDogZ2RiLTcuNy9nZGIv dGVzdHN1aXRlL2dkYi5kd2FyZjIvcmgtZHdhcmY0LXg4Nl82NC5leHAKICtjbGVhbl9yZXN0YXJ0 ICRleGVjdXRhYmxlCiArCiArZ2RiX3Rlc3QgInB0eXBlIG1haW4iIHt0eXBlID0gaW50IFwodm9p ZFwpfQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1iejYzNDEwOC1zb2xpYl9hZGRy ZXNzLnBhdGNoIGIvZ2RiLWJ6NjM0MTA4LXNvbGliX2FkZHJlc3MucGF0Y2gKaW5kZXggMjJjNGRk Mi4uZDM1NjNmNiAxMDA2NDQKLS0tIGEvZ2RiLWJ6NjM0MTA4LXNvbGliX2FkZHJlc3MucGF0Y2gK KysrIGIvZ2RiLWJ6NjM0MTA4LXNvbGliX2FkZHJlc3MucGF0Y2gKQEAgLTEsMTQgKzEsMjQgQEAK K0Zyb20gYzVhOTc2NDgxYTUwOTI4ZmJjNjM4N2FkYmVhOGIzYmM4NmY3NTk1OCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5j b20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGIt Yno2MzQxMDgtc29saWJfYWRkcmVzcy5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLWJ6NjM0MTA4LXNv bGliX2FkZHJlc3MucGF0Y2gKIAorOzsgVmVyaWZ5IEdEQiBQeXRob24gYnVpbHQtaW4gZnVuY3Rp b24gZ2RiLnNvbGliX2FkZHJlc3MgZXhpc3RzIChCWiAjIDYzNDEwOCkuCis7Oz1mZWRvcmF0ZXN0 CiAKIEZpeCBnZGIuc29saWJfYWRkcmVzcyAoZml4IGJ5IFBoaWwgTXVsZG9vbikuCiAKIHMvc29s aWJfYWRkcmVzcy9zb2xpYl9uYW1lLyBkdXJpbmcgdXBzdHJlYW1pbmcuCistLS0KKyAuLi4vZ2Ri LnB5dGhvbi9yaDYzNDEwOC1zb2xpYl9hZGRyZXNzLmV4cCAgICAgICAgICB8IDI0ICsrKysrKysr KysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKQorIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcmg2MzQxMDgtc29saWJfYWRk cmVzcy5leHAKIAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9yaDYzNDEw OC1zb2xpYl9hZGRyZXNzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9yaDYzNDEwOC1z b2xpYl9hZGRyZXNzLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAu LmMwNDUxY2YwOWUKIC0tLSAvZGV2L251bGwKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9yaDYzNDEwOC1zb2xpYl9hZGRyZXNzLmV4cAogQEAgLTAsMCArMSwyNCBAQApAQCAtMzYsMyAr NDYsNiBAQCBzL3NvbGliX2FkZHJlc3Mvc29saWJfbmFtZS8gZHVyaW5nIHVwc3RyZWFtaW5nLgog K2lmIHsgW3NraXBfcHl0aG9uX3Rlc3RzXSB9IHsgY29udGludWUgfQogKwogK2dkYl90ZXN0ICJw eXRob24gcHJpbnQgZ2RiLnNvbGliX25hbWUoLTEpIiAiTm9uZSIgImdkYi5zb2xpYl9uYW1lIGV4 aXN0cyIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItY2NhY2hlLXdvcmthcm91bmQu cGF0Y2ggYi9nZGItY2NhY2hlLXdvcmthcm91bmQucGF0Y2gKaW5kZXggMTQxMTlhMi4uZGEzZjIw YyAxMDA2NDQKLS0tIGEvZ2RiLWNjYWNoZS13b3JrYXJvdW5kLnBhdGNoCisrKyBiL2dkYi1jY2Fj aGUtd29ya2Fyb3VuZC5wYXRjaApAQCAtMSwxMyArMSwyMSBAQAorRnJvbSAzMGU2N2RhNDExNzZm NzYxM2M3MjBiNTQ3NGRlYzRjNGJjMzhkNzY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJv bTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcg T2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1jY2FjaGUtd29ya2Fyb3VuZC5w YXRjaAogCiBGaWxlTmFtZTogZ2RiLWNjYWNoZS13b3JrYXJvdW5kLnBhdGNoCiAKKzs7IFdvcmth cm91bmQgY2NhY2hlIG1ha2luZyBsaW5lbm8gbm9uLXplcm8gZm9yIGNvbW1hbmQtbGluZSBkZWZp bml0aW9ucy4KKzs7PWZlZG9yYXRlc3Q6IGNjYWNoZSBpcyByYXJlbHkgdXNlZCBhbmQgaXQgaXMg ZXZlbiBmaXhlZCBub3cuCistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL21hY3NjcC5leHAg fCA4ICsrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQogCitkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9tYWNzY3AuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9tYWNzY3AuZXhwCitpbmRleCBkNDI0MmNjZWIxLi42NjAyYmM1OTFhIDEwMDY0NAog LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9tYWNzY3AuZXhwCiArKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL21hY3NjcC5leHAKLUBAIC0zMyw2ICszMywxNCBAQCBpZiBbdGVzdF9jb21w aWxlcl9pbmZvIGdjYypdIHsKK0BAIC0yNSw2ICsyNSwxNCBAQCBpZiB7IFt0ZXN0X2NvbXBpbGVy X2luZm8gImdjYy0qIl0gfHwgW3Rlc3RfY29tcGlsZXJfaW5mbyAiY2xhbmctKiJdIH0gewogICAg ICBsYXBwZW5kIG9wdGlvbnMgYWRkaXRpb25hbF9mbGFncz0tZzMKICB9CiAgCkBAIC0yMiwzICsz MCw2IEBAIEZpbGVOYW1lOiBnZGItY2NhY2hlLXdvcmthcm91bmQucGF0Y2gKICAjIEdlbmVyYXRl IHRoZSBpbnRlcm1lZGlhdGUgb2JqZWN0IGZpbGUuICBUaGlzIGlzIHJlcXVpcmVkIGJ5IERhcndp biB0bwogICMgaGF2ZSBhY2Nlc3MgdG8gdGhlIC5kZWJ1Z19tYWNpbmZvIHNlY3Rpb24uCiAgaWYg IHtbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vbWFjc2NwMS5jIiAiJHtvYmpmaWxl fSIgXAorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1jb250YWluZXItcmgtcGtnLnBh dGNoIGIvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKaW5kZXggYTFiZmUyMS4uMDBlMWE3MSAx MDA2NDQKLS0tIGEvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKKysrIGIvZ2RiLWNvbnRhaW5l ci1yaC1wa2cucGF0Y2gKQEAgLTEsMTIgKzEsMjEgQEAKK0Zyb20gMWE2ZDQwYmMwZGExNzY3MWM4 MjU5ZWU0NGY3N2E2NGE0NDJhODJmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZl ZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAy MDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAog CiBGaWxlTmFtZTogZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKIAotLS0tIGdkYi03LjExL2dk Yi9yZW1vdGUuYy1vcmlnCTIwMTYtMDQtMDYgMTc6NDY6NTIuNDI4OTIxNDk2ICswMjAwCi0rKysg Z2RiLTcuMTEvZ2RiL3JlbW90ZS5jCTIwMTYtMDQtMDYgMTg6Mjg6MjYuNzgxOTIzNTE2ICswMjAw Ci1AQCAtMTMwMDIsNyArMTMwMDIsMTcgQEAgcmVtb3RlX3BpZF90b19leGVjX2ZpbGUgKHN0cnVj dCB0YXJnZXRfbworOzsgQWRkIG1lc3NhZ2VzIHN1Z2dlc3RpbmcgbW9yZSByZWNlbnQgUkhFTCBn ZGJzZXJ2ZXIgKFJIIEJaIDEzMjExMTQpLgorOzs9ZmVkb3JhCistLS0KKyBnZGIvcmVtb3RlLmMg fCAxMiArKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2RiL3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jCitp bmRleCAzMDNmY2RkZDhhLi42ZjgyNGU1MzJiIDEwMDY0NAorLS0tIGEvZ2RiL3JlbW90ZS5jCisr KysgYi9nZGIvcmVtb3RlLmMKK0BAIC0xMzQzMiw3ICsxMzQzMiwxNyBAQCByZW1vdGVfcGlkX3Rv X2V4ZWNfZmlsZSAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIGludCBwaWQpCiAgICBjaGFyICph bm5leCA9IE5VTEw7CiAgCiAgICBpZiAocGFja2V0X3N1cHBvcnQgKFBBQ0tFVF9xWGZlcl9leGVj X2ZpbGUpICE9IFBBQ0tFVF9FTkFCTEUpCkBAIC0yMyw1ICszMiw4IEBAIEZpbGVOYW1lOiBnZGIt Y29udGFpbmVyLXJoLXBrZy5wYXRjaAogKyAgICAgIHJldHVybiBOVUxMOwogKyAgICB9CiAgCi0g ICBpZiAoZmlsZW5hbWUgIT0gTlVMTCkKLSAgICAgeGZyZWUgKGZpbGVuYW1lKTsKKyAgIGluZiA9 IGZpbmRfaW5mZXJpb3JfcGlkIChwaWQpOworICAgaWYgKGluZiA9PSBOVUxMKQorLS0gCisyLjE0 LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1jb3JlLW9wZW4tdmRzby13YXJuaW5nLnBhdGNoIGIvZ2Ri LWNvcmUtb3Blbi12ZHNvLXdhcm5pbmcucGF0Y2gKaW5kZXggMWFiOGZlMy4uNTdiMzBjOCAxMDA2 NDQKLS0tIGEvZ2RiLWNvcmUtb3Blbi12ZHNvLXdhcm5pbmcucGF0Y2gKKysrIGIvZ2RiLWNvcmUt b3Blbi12ZHNvLXdhcm5pbmcucGF0Y2gKQEAgLTEsOSArMSwxMyBAQAorRnJvbSA3Yzc5MTJkYTE0 ZDEyOGQzMTE3MDE2NTg3NGEwZjIzZTFhNTNkYjQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQog RnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwg MjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1jb3JlLW9wZW4tdmRzby13 YXJuaW5nLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItY29yZS1vcGVuLXZkc28td2FybmluZy5wYXRj aAogCis7OyBGaXggR05VL0xpbnV4IGNvcmUgb3BlbjogQ2FuJ3QgcmVhZCBwYXRobmFtZSBmb3Ig bG9hZCBtYXA6IElucHV0L291dHB1dCBlcnJvci4KKzs7IEZpeCByZWdyZXNzaW9uIG9mIHVuZGlz cGxheWVkIG1pc3Npbmcgc2hhcmVkIGxpYnJhcmllcyBjYXVzZWQgYnkgYSBmaXggZm9yLgorOzs9 ZmVkb3JhdGVzdDogSXQgc2hvdWxkIGJlIGluIGdsaWJjOiBsaWJjLWFscGhhOiA8MjAwOTEwMDQx NjE3MDYuR0EyNzQ1MEAuKj4KIAogaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVz LzIwMDktMTAvbXNnMDAxNDIuaHRtbAogU3ViamVjdDogW3BhdGNoXSBGaXggR05VL0xpbnV4IGNv cmUgb3BlbjogQ2FuJ3QgcmVhZCBwYXRobmFtZSBmb3IgbG9hZCBtYXA6ICBJbnB1dC9vdXRwdXQg ZXJyb3IuCkBAIC0xMywxMSArMTcsMTQgQEAgU3ViamVjdDogW3BhdGNoXSBGaXggR05VL0xpbnV4 IGNvcmUgb3BlbjogQ2FuJ3QgcmVhZCBwYXRobmFtZSBmb3IgbG9hZCBtYXA6ICBJbnAKIGNvbW1p dCA3ZDc2MDA1MWZmYjhhMjNjZGM1MTM0MmQ0ZTYyNDNmYmM0NjJmNzNmCiBBdXRob3I6IFVscmlj aCBXZWlnYW5kIDx1d2VpZ2FuZEBkZS5pYm0uY29tPgogRGF0ZTogICBXZWQgU2VwIDI1IDExOjUy OjUwIDIwMTMgKzAwMDAKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3ltYm9s LmV4cCB8IDIzICsrKysrKysrKysrKysrKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIxIGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBnZGItNy42LjUwLjIwMTMwNzMx LWN2cy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3NvbGliLXN5bWJvbC5leHAKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy42LjUwLjIwMTMwNzMxLWN2cy5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv c29saWItc3ltYm9sLmV4cAkyMDEzLTA4LTAyIDE2OjI3OjI4LjgzMzI1OTQ3MSArMDIwMAotKysr IGdkYi03LjYuNTAuMjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3lt Ym9sLmV4cAkyMDEzLTA4LTAyIDE2OjI4OjIyLjU0OTMzMDk3MyArMDIwMAorZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3ltYm9sLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2Uvc29saWItc3ltYm9sLmV4cAoraW5kZXggZGQyZjZjNzdkNC4uNTM4MjRmODE0MiAx MDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3ltYm9sLmV4cAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zb2xpYi1zeW1ib2wuZXhwCiBAQCAtMjksNiArMjks NyBAQCBzZXQgdGVzdGZpbGUgInNvbGliLXN5bWJvbC1tYWluIgogIHNldCBzcmNmaWxlICR7c3Jj ZGlyfS8ke3N1YmRpcn0vJHt0ZXN0ZmlsZX0uYwogIHNldCBiaW5maWxlIFtzdGFuZGFyZF9vdXRw dXRfZmlsZSAke3Rlc3RmaWxlfV0KQEAgLTU1LDMgKzYyLDYgQEAgSW5kZXg6IGdkYi03LjYuNTAu MjAxMzA3MzEtY3ZzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3ltYm9sLmV4cAogK2dk Yl9ydW5fY21kCiArZ2RiX3Rlc3QgIiIgIndhcm5pbmc6IENvdWxkIG5vdCBsb2FkIHNoYXJlZCBs aWJyYXJ5IHN5bWJvbHMgZm9yIFxbMC05XF0rIGxpYnJhcmllcywuKlxyXG5CcmVha3BvaW50IFxb MC05XF0rLCBtYWluIC4qIiBcCiArCSAid2FybmluZyBmb3IgbWlzc2luZyBsaWJyYXJpZXMiCist LSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLWR0cy1yaGVsNi1weXRob24tY29tcGF0LnBh dGNoIGIvZ2RiLWR0cy1yaGVsNi1weXRob24tY29tcGF0LnBhdGNoCmluZGV4IGZkZmQ5YWEuLjdi OWNkYzkgMTAwNjQ0Ci0tLSBhL2dkYi1kdHMtcmhlbDYtcHl0aG9uLWNvbXBhdC5wYXRjaAorKysg Yi9nZGItZHRzLXJoZWw2LXB5dGhvbi1jb21wYXQucGF0Y2gKQEAgLTEsMTYgKzEsMjkgQEAKK0Zy b20gODY0N2FhYmI4NjRkZDE4YzUxYmI5YjMwMDZmZGIwMjk0Y2U5NDIzMSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+ CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItZHRz LXJoZWw2LXB5dGhvbi1jb21wYXQucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1kdHMtcmhlbDYtcHl0 aG9uLWNvbXBhdC5wYXRjaAogCis7OyBbcmhlbDZdIERUUyBiYWNrd2FyZCBQeXRob24gY29tcGF0 aWJpbGl0eSBBUEkgKEJaIDEwMjAwMDQsIFBoaWwgTXVsZG9vbikuCis7Oz1mZWRvcmEKKwogaHR0 cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMDIwMDA0CistLS0KKyBn ZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUuaW4gICAgICAgICAgfCAgIDMgKworIGdkYi9weXRo b24vbGliL2dkYi9GcmFtZVdyYXBwZXIucHkgICAgICB8IDEyMiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKworIGdkYi9weXRob24vbGliL2dkYi9iYWNrdHJhY2UucHkgICAgICAgICB8 ICA0MiArKysrKysrKysrKworIGdkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2JhY2t0cmFjZS5w eSB8IDEwNiArKysrKysrKysrKysrKysrKysrKysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDI3 MyBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi9weXRob24vbGliL2dkYi9G cmFtZVdyYXBwZXIucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3B5dGhvbi9saWIvZ2RiL2Jh Y2t0cmFjZS5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFu ZC9iYWNrdHJhY2UucHkKIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9kYXRhLWRp cmVjdG9yeS9NYWtlZmlsZS5pbgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3 Lm9yaWcvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCTIwMTctMDItMjYgMjE6MTA6MzEu NDE4ODk0OTc1ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2RhdGEtZGlyZWN0 b3J5L01ha2VmaWxlLmluCTIwMTctMDItMjYgMjE6MTE6MDcuMDgzMTQ3OTMwICswMTAwCi1AQCAt NzEsNiArNzEsOCBAQAorZGlmZiAtLWdpdCBhL2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5p biBiL2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbgoraW5kZXggMzA0ZDRiMDVjMC4uZGFk ZGU4ODk1YSAxMDA2NDQKKy0tLSBhL2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbgorKysr IGIvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCitAQCAtNzEsNiArNzEsOCBAQCBQWVRI T05fRklMRV9MSVNUID0gXAogIAlnZGIvX19pbml0X18ucHkgXAogIAlnZGIvRnJhbWVEZWNvcmF0 b3IucHkgXAogIAlnZGIvRnJhbWVJdGVyYXRvci5weSBcCkBAIC0xOSwxOCArMzIsMTkgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbgog IAlnZGIvZnJhbWVzLnB5IFwKICAJZ2RiL3ByaW50aW5nLnB5IFwKICAJZ2RiL3Byb21wdC5weSBc Ci1AQCAtODMsNiArODUsNyBAQAotIAlnZGIvY29tbWFuZC9wYWhvbGUucHkgXAotIAlnZGIvY29t bWFuZC94bWV0aG9kcy5weSBcCitAQCAtNzksNiArODEsNyBAQCBQWVRIT05fRklMRV9MSVNUID0g XAorIAlnZGIveG1ldGhvZC5weSBcCisgCWdkYi9jb21tYW5kL19faW5pdF9fLnB5IFwKICAJZ2Ri L2NvbW1hbmQvZXhwbG9yZS5weSBcCiArCWdkYi9jb21tYW5kL2JhY2t0cmFjZS5weSBcCiAgCWdk Yi9jb21tYW5kL2ZyYW1lX2ZpbHRlcnMucHkgXAogIAlnZGIvY29tbWFuZC9wcmV0dHlfcHJpbnRl cnMucHkgXAogIAlnZGIvY29tbWFuZC9wcm9tcHQucHkgXAotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi9weXRob24vbGliL2dkYi9GcmFtZVdyYXBwZXIucHkKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVXcmFwcGVyLnB5CTIwMTct MDItMjYgMjE6MTA6MzEuNDE5ODk0OTgzICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9s aWIvZ2RiL0ZyYW1lV3JhcHBlci5weSBiL2dkYi9weXRob24vbGliL2dkYi9GcmFtZVdyYXBwZXIu cHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4zNGJhNGEyYTEyCist LS0gL2Rldi9udWxsCisrKysgYi9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVXcmFwcGVyLnB5CiBA QCAtMCwwICsxLDEyMiBAQAogKyMgV3JhcHBlciBBUEkgZm9yIGZyYW1lcy4KICsKQEAgLTE1NCwx MCArMTY4LDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL2xpYi9n ZGIvRnJhbWVXcmFwcGVyLnB5CiArCiArICAgIGRlZiBfX2dldGF0dHJfXyAoc2VsZiwgbmFtZSk6 CiArICAgICAgICByZXR1cm4gZ2V0YXR0ciAoc2VsZi5mcmFtZSwgbmFtZSkKLUluZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL2xpYi9nZGIvYmFja3RyYWNlLnB5Ci09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5weQky MDE3LTAyLTI2IDIxOjEwOjMxLjQxOTg5NDk4MyArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi9weXRo b24vbGliL2dkYi9iYWNrdHJhY2UucHkgYi9nZGIvcHl0aG9uL2xpYi9nZGIvYmFja3RyYWNlLnB5 CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMDZjODkzZjIzOQorLS0t IC9kZXYvbnVsbAorKysrIGIvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5weQogQEAgLTAs MCArMSw0MiBAQAogKyMgRmlsdGVyaW5nIGJhY2t0cmFjZS4KICsKQEAgLTIwMSwxMCArMjE2LDEx IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL2xpYi9nZGIvYmFja3Ry YWNlLnB5CiArICAgICAgICByZXR1cm4gaXRlcgogKyAgICByZXR1cm4gb2xkX2ZyYW1lX2ZpbHRl ciAoaXRlcikKICsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcHl0aG9uL2xpYi9n ZGIvY29tbWFuZC9iYWNrdHJhY2UucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkJMjAxNy0wMi0yNiAyMToxMDoz MS40MTk4OTQ5ODMgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFu ZC9iYWNrdHJhY2UucHkgYi9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5lZWVhOTA5M2U4CistLS0g L2Rldi9udWxsCisrKysgYi9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkK IEBAIC0wLDAgKzEsMTA2IEBACiArIyBOZXcgYmFja3RyYWNlIGNvbW1hbmQuCiArCkBAIC0zMTIs MyArMzI4LDYgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9weXRob24vbGliL2dk Yi9jb21tYW5kL2JhY2t0cmFjZS5weQogKyAgICAgICAgICAgIHBhaXJbMV0uZGVzY3JpYmUgKHN5 cy5zdGRvdXQsIGZ1bGwpCiArCiArRmlsdGVyaW5nQmFja3RyYWNlKCkKKy0tIAorMi4xNC4zCisK CmRpZmYgLS1naXQgYS9nZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoIGIvZ2RiLWZlZG9yYS1s aWJuY3Vyc2Vzdy5wYXRjaAppbmRleCAyOTBiYzZmLi5mNTgyNDIzIDEwMDY0NAotLS0gYS9nZGIt ZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCisrKyBiL2dkYi1mZWRvcmEtbGlibmN1cnNlc3cucGF0 Y2gKQEAgLTEsMTYgKzEsMjUgQEAKK0Zyb20gMDc2YzBhZDJlMjViNDUyZTFiOThiMWM5NGUwZjEx M2Q2MjIxNTU2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0 Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUw ICswMjAwCiBTdWJqZWN0OiBnZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCiAKIEZpbGVOYW1l OiBnZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCiAKKzs7IEZvcmNlIGxpYm5jdXJzZXN3IG92 ZXIgbGlibmN1cnNlcyB0byBtYXRjaCB0aGUgaW5jbHVkZXMgKFJIIEJaIDEyNzA1MzQpLgorOzs9 cHVzaCtqYW4KKwogRmVkb3JhOiBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVyIGxpYm5jdXJzZXMgdG8g bWF0Y2ggdGhlIGluY2x1ZGVzLgogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVn LmNnaT9pZD0xMjcwNTM0CistLS0KKyBnZGIvY29uZmlndXJlICAgIHwgNiArKysrLS0KKyBnZGIv Y29uZmlndXJlLmFjIHwgNiArKysrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygr KSwgNCBkZWxldGlvbnMoLSkKIAotZGlmZiAtZHVwIC1ydXAgZ2RiLTcuMTAuNTAuMjAxNTExMTMt b3JpZy9nZGIvY29uZmlndXJlIGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9jb25maWd1cmUKLS0t LSBnZGItNy4xMC41MC4yMDE1MTExMy1vcmlnL2dkYi9jb25maWd1cmUJMjAxNS0xMS0xNCAxNjox NDowNC40MDQxMTgzMTIgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTExMy9nZGIvY29uZmln dXJlCTIwMTUtMTEtMTQgMTY6MTc6NTkuMDc0NTY2MDQ3ICswMTAwCi1AQCAtODQ2Myw2ICs4NDYz LDcgQEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KK2RpZmYgLS1naXQg YS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQoraW5kZXggMDEyMTBhZmNjYy4uYzExODZm ZDI5NCAxMDA3NTUKKy0tLSBhL2dkYi9jb25maWd1cmUKKysrKyBiL2dkYi9jb25maWd1cmUKK0BA IC05MjM4LDYgKzkyMzgsNyBAQCBpZiB0ZXN0IHgiJHByZWZlcl9jdXJzZXMiID0geHllczsgdGhl bgogICAgIyBzZWFyY2ggL3Vzci9sb2NhbC9pbmNsdWRlLCBpZiBuY3Vyc2VzIGlzIGluc3RhbGxl ZCBpbiAvdXNyL2xvY2FsLiAgQQogICAgIyBkZWZhdWx0IGluc3RhbGxhdGlvbiBvZiBuY3Vyc2Vz IG9uIGFscGhhKi1kZWMtb3NmKiB3aWxsIGxlYWQgdG8gc3VjaAogICAgIyBhIHNpdHVhdGlvbi4K QEAgLTE4LDE2ICsyNywxNiBAQCBkaWZmIC1kdXAgLXJ1cCBnZGItNy4xMC41MC4yMDE1MTExMy1v cmlnL2dkYi9jb25maWd1cmUgZ2RiLTcuMTAuNTAuMjAxNTExMTMvZ2RiLwogICAgeyAkYXNfZWNo byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250 YWluaW5nIHdhZGRzdHIiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciBsaWJyYXJ5IGNv bnRhaW5pbmcgd2FkZHN0ci4uLiAiID4mNjsgfQogIGlmIHRlc3QgIiR7YWNfY3Zfc2VhcmNoX3dh ZGRzdHIrc2V0fSIgPSBzZXQ7IHRoZW4gOgotQEAgLTg0ODcsNyArODQ4OCw3IEBAIHJldHVybiB3 YWRkc3RyICgpOworQEAgLTkyNjIsNyArOTI2Myw3IEBAIHJldHVybiB3YWRkc3RyICgpOwogICAg cmV0dXJuIDA7CiAgfQogIF9BQ0VPRgotLWZvciBhY19saWIgaW4gJycgbmN1cnNlcyBjdXJzZXNY IGN1cnNlczsgZG8KKy1mb3IgYWNfbGliIGluICcnIG5jdXJzZXN3IG5jdXJzZXMgY3Vyc2VzWCBj dXJzZXM7IGRvCiArZm9yIGFjX2xpYiBpbiAnJyBuY3Vyc2VzdzsgZG8KICAgIGlmIHRlc3QgLXog IiRhY19saWIiOyB0aGVuCiAgICAgIGFjX3Jlcz0ibm9uZSByZXF1aXJlZCIKICAgIGVsc2UKLUBA IC04NTYxLDYgKzg1NjIsNyBAQCBjYXNlICRob3N0X29zIGluCitAQCAtOTMzNiw2ICs5MzM3LDcg QEAgY2FzZSAkaG9zdF9vcyBpbgogIGVzYWMKICAKICAjIFRoZXNlIGFyZSB0aGUgbGlicmFyaWVz IGNoZWNrZWQgYnkgUmVhZGxpbmUuCkBAIC0zNSwzNSArNDQsMzkgQEAgZGlmZiAtZHVwIC1ydXAg Z2RiLTcuMTAuNTAuMjAxNTExMTMtb3JpZy9nZGIvY29uZmlndXJlIGdkYi03LjEwLjUwLjIwMTUx MTEzL2dkYi8KICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNr aW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgdGdldGVudCIgPiY1CiAgJGFzX2VjaG9fbiAiY2hl Y2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyB0Z2V0ZW50Li4uICIgPiY2OyB9CiAgaWYgdGVz dCAiJHthY19jdl9zZWFyY2hfdGdldGVudCtzZXR9IiA9IHNldDsgdGhlbiA6Ci1AQCAtODU4NSw3 ICs4NTg3LDcgQEAgcmV0dXJuIHRnZXRlbnQgKCk7CitAQCAtOTM2MCw3ICs5MzYyLDcgQEAgcmV0 dXJuIHRnZXRlbnQgKCk7CiAgICByZXR1cm4gMDsKICB9CiAgX0FDRU9GCi0tZm9yIGFjX2xpYiBp biAnJyB0ZXJtY2FwIHRpbmZvIGN1cnNlcyBuY3Vyc2VzOyBkbworLWZvciBhY19saWIgaW4gJycg dGVybWNhcCB0aW5mbyBjdXJzZXMgbmN1cnNlc3cgbmN1cnNlczsgZG8KICtmb3IgYWNfbGliIGlu ICcnIHRlcm1jYXAgdGluZm8gbmN1cnNlc3c7IGRvCiAgICBpZiB0ZXN0IC16ICIkYWNfbGliIjsg dGhlbgogICAgICBhY19yZXM9Im5vbmUgcmVxdWlyZWQiCiAgICBlbHNlCi1kaWZmIC1kdXAgLXJ1 cCBnZGItNy4xMC41MC4yMDE1MTExMy1vcmlnL2dkYi9jb25maWd1cmUuYWMgZ2RiLTcuMTAuNTAu MjAxNTExMTMvZ2RiL2NvbmZpZ3VyZS5hYwotLS0tIGdkYi03LjEwLjUwLjIwMTUxMTEzLW9yaWcv Z2RiL2NvbmZpZ3VyZS5hYwkyMDE1LTExLTE0IDE2OjE0OjA0LjQwNDExODMxMiArMDEwMAotKysr IGdkYi03LjEwLjUwLjIwMTUxMTEzL2dkYi9jb25maWd1cmUuYWMJMjAxNS0xMS0xNCAxNjoxNzo1 NC44OTg1NDAyODQgKzAxMDAKLUBAIC03NzEsNyArNzcxLDggQEAgaWYgdGVzdCB4IiRwcmVmZXJf Y3Vyc2VzIiA9IHh5ZXM7IHRoZW4KK2RpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlLmFjIGIvZ2Ri L2NvbmZpZ3VyZS5hYworaW5kZXggOGM2YTVmN2QxZS4uYzdkNWYyZGU5OSAxMDA2NDQKKy0tLSBh L2dkYi9jb25maWd1cmUuYWMKKysrKyBiL2dkYi9jb25maWd1cmUuYWMKK0BAIC03NTUsNyArNzU1 LDggQEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KICAgICMgc2VhcmNo IC91c3IvbG9jYWwvaW5jbHVkZSwgaWYgbmN1cnNlcyBpcyBpbnN0YWxsZWQgaW4gL3Vzci9sb2Nh bC4gIEEKICAgICMgZGVmYXVsdCBpbnN0YWxsYXRpb24gb2YgbmN1cnNlcyBvbiBhbHBoYSotZGVj LW9zZiogd2lsbCBsZWFkIHRvIHN1Y2gKICAgICMgYSBzaXR1YXRpb24uCi0tICBBQ19TRUFSQ0hf TElCUyh3YWRkc3RyLCBbbmN1cnNlcyBjdXJzZXNYIGN1cnNlc10pCistICBBQ19TRUFSQ0hfTElC Uyh3YWRkc3RyLCBbbmN1cnNlc3cgbmN1cnNlcyBjdXJzZXNYIGN1cnNlc10pCiArICAjIEZlZG9y YTogRm9yY2UgbGlibmN1cnNlc3cgb3ZlciBsaWJuY3Vyc2VzIHRvIG1hdGNoIHRoZSBpbmNsdWRl cy4KICsgIEFDX1NFQVJDSF9MSUJTKHdhZGRzdHIsIFtuY3Vyc2Vzd10pCiAgCiAgICBpZiB0ZXN0 ICIkYWNfY3Zfc2VhcmNoX3dhZGRzdHIiICE9IG5vOyB0aGVuCiAgICAgIGN1cnNlc19mb3VuZD15 ZXMKLUBAIC04MTMsNyArODE0LDggQEAgY2FzZSAkaG9zdF9vcyBpbgorQEAgLTc5Nyw3ICs3OTgs OCBAQCBjYXNlICRob3N0X29zIGluCiAgZXNhYwogIAogICMgVGhlc2UgYXJlIHRoZSBsaWJyYXJp ZXMgY2hlY2tlZCBieSBSZWFkbGluZS4KLS1BQ19TRUFSQ0hfTElCUyh0Z2V0ZW50LCBbdGVybWNh cCB0aW5mbyBjdXJzZXMgbmN1cnNlc10pCistQUNfU0VBUkNIX0xJQlModGdldGVudCwgW3Rlcm1j YXAgdGluZm8gY3Vyc2VzIG5jdXJzZXN3IG5jdXJzZXNdKQogKyMgRmVkb3JhOiBGb3JjZSBsaWJu Y3Vyc2VzdyBvdmVyIGxpYm5jdXJzZXMgdG8gbWF0Y2ggdGhlIGluY2x1ZGVzLgogK0FDX1NFQVJD SF9MSUJTKHRnZXRlbnQsIFt0ZXJtY2FwIHRpbmZvIG5jdXJzZXN3XSkKICAKICBpZiB0ZXN0ICIk YWNfY3Zfc2VhcmNoX3RnZXRlbnQiID0gbm87IHRoZW4KICAgIENPTkZJR19PQlM9IiRDT05GSUdf T0JTIHN0dWItdGVybWNhcC5vIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1mb2xs b3ctY2hpbGQtc3RhbGUtcGFyZW50LnBhdGNoIGIvZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJl bnQucGF0Y2gKaW5kZXggZTdhMDIzNS4uNDQ5MjdmYyAxMDA2NDQKLS0tIGEvZ2RiLWZvbGxvdy1j aGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKKysrIGIvZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJl bnQucGF0Y2gKQEAgLTEsOSArMSwxMiBAQAorRnJvbSAzNzUwM2NkNzdhMWFiYTMyOWIxMGJiOWNj ZDM0ZmIwMWU3NDQ5ZTM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdE QiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6 MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1mb2xsb3ctY2hpbGQtc3RhbGUtcGFyZW50LnBhdGNo CiAKIEZpbGVOYW1lOiBnZGItZm9sbG93LWNoaWxkLXN0YWxlLXBhcmVudC5wYXRjaAogCis7OyBG aXggcmVncmVzc2lvbiBieSBweXRob24gb24gaWE2NCBkdWUgdG8gc3RhbGUgY3VycmVudCBmcmFt ZS4KKzs7PXB1c2gramFuCiAKIFByb2JsZW0gb2NjdXJzIHdpdGggcHl0aG9uIGFuZCBpdHMgZ2V0 X2N1cnJlbnRfYXJjaCAoKSBhcyBpdCBzZWxlY3RzCiBzZWxlY3RlZF9mcmFtZSBhbmQgY3VycmVu dF9mcmFtZSB3aGlsZSBzdGlsbCBpbmZlcmlvcl9wdGlkIGlzIHZhbGlkIGZvciB0aGUKQEAgLTE5 LDEwICsyMiwxNSBAQCB1bndpbmRlcnMgdHJ5IHRvIGFjY2VzcyBpdCwgYnJlYWtpbmc6CiAgICtG QUlMOiBnZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwOiBjaGlsZDogc2luZ2xldGhyZWFk ZWQ6IGJyZWFrcG9pbnQgYWZ0ZXIgdGhlIHNlY29uZCBmb3JrCiAgICtGQUlMOiBnZGIudGhyZWFk cy93YXRjaHBvaW50LWZvcmsuZXhwOiBjaGlsZDogc2luZ2xldGhyZWFkZWQ6IHdhdGNocG9pbnQg YWZ0ZXIgdGhlIHNlY29uZCBmb3JrCiAgICtGQUlMOiBnZGIudGhyZWFkcy93YXRjaHBvaW50LWZv cmsuZXhwOiBjaGlsZDogc2luZ2xldGhyZWFkZWQ6IGZpbmlzaAorLS0tCisgZ2RiL2luZnJ1bi5j IHwgMyArKysKKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCiAKLS0tLSAuL2dkYi9p bmZydW4uYwkyMDA5LTEyLTIxIDIwOjI2OjMwLjAwMDAwMDAwMCArMDEwMAotKysrIC4vZ2RiL2lu ZnJ1bi5jCTIwMDktMTItMjEgMjA6MjY6MTEuMDAwMDAwMDAwICswMTAwCi1AQCAtMzc1LDYgKzM3 NSw5IEBAIGZvbGxvd19mb3JrICh2b2lkKQorZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dk Yi9pbmZydW4uYworaW5kZXggOGMyYzQyNDg4My4uYzIwYTAyZTYwMCAxMDA2NDQKKy0tLSBhL2dk Yi9pbmZydW4uYworKysrIGIvZ2RiL2luZnJ1bi5jCitAQCAtNzQ5LDYgKzc0OSw5IEBAIGZvbGxv d19mb3JrICh2b2lkKQogIAkgIH0KICAJZWxzZQogIAkgIHsKQEAgLTMyLDMgKzQwLDYgQEAgdW53 aW5kZXJzIHRyeSB0byBhY2Nlc3MgaXQsIGJyZWFraW5nOgogIAkgICAgLyogVGhpcyBwZW5kaW5n IGZvbGxvdyBmb3JrIGV2ZW50IGlzIG5vdyBoYW5kbGVkLCBvbmUgd2F5CiAgCSAgICAgICBvciBh bm90aGVyLiAgVGhlIHByZXZpb3VzIHNlbGVjdGVkIHRocmVhZCBtYXkgYmUgZ29uZQogIAkgICAg ICAgZnJvbSB0aGUgbGlzdHMgYnkgbm93LCBidXQgaWYgaXQgaXMgc3RpbGwgYXJvdW5kLCBuZWVk CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBh dGNoIGIvZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCmluZGV4IDJjN2VlOTcuLjk3MTAy ZDggMTAwNjQ0Ci0tLSBhL2dkYi1mb3J0cmFuLWZyYW1lLXN0cmluZy5wYXRjaAorKysgYi9nZGIt Zm9ydHJhbi1mcmFtZS1zdHJpbmcucGF0Y2gKQEAgLTEsMjEgKzEsMjEgQEAKK0Zyb20gZTNjYjA3 MGEyYTNmZjE0N2QwOTk0N2JlZTZmNjY4YmQ4NmFkZTRmNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBG cmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBbcGF0Y2hdIERpc3BsYXkg Rm9ydHJhbiBzdHJpbmdzIGluIGJhY2t0cmFjZXMKK1N1YmplY3Q6IERpc3BsYXkgRm9ydHJhbiBz dHJpbmdzIGluIGJhY2t0cmFjZXMKIAogRmlsZU5hbWU6IGdkYi1mb3J0cmFuLWZyYW1lLXN0cmlu Zy5wYXRjaAogCi1odHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxNC0wNy9t c2cwMDcwOS5odG1sCi0KKzs7IERpc3BsYXkgRm9ydHJhbiBzdHJpbmdzIGluIGJhY2t0cmFjZXMu Cis7Oz1mZWRvcmF0ZXN0CiAKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8y MDE0LTA3L21zZzAwNzA5Lmh0bWwKIAogSGksCiAKIGZvciBGb3J0cmFuIGl0IGZpeGVzIGRpc3Bs YXlpbmcgbm9ybWFsIHN0cmluZ3MgYWxzbyBpbiBmcmFtZXMvYmFja3RyYWNlczoKIAogKGdkYikg ZnJhbWUKLSMwICBmIChzPS4uLiwgX3M9MykgYXQgLi9nZGIuZm9ydHJhbi9mb3J0cmFuLWZyYW1l LXN0cmluZy5mOTA6MjQKIC0+Ci0jMCAgZiAocz0nZm9vJywgX3M9MykgYXQgLi9nZGIuZm9ydHJh bi9mb3J0cmFuLWZyYW1lLXN0cmluZy5mOTA6MjQKIAogVGhlIHBhdGNoIGlzIHNpbXBsZSBhbmQg SSBkbyBub3Qgc2VlIHdoeSBpdCBzaG91bGQgbm90IGJlIHRoaXMgd2F5LgogCkBAIC0yNywxNCAr MjcsMTggQEAgdGhlIEludGVsIFZMQSBwYXRjaHNldCBhcyBpdCBpbiBmYWN0IGlzIGNvbXBsZXRl bHkgdW5yZWxhdGVkIHRvICJWTEEiLgogCiBObyByZWdyZXNzaW9ucyBvbiB7eDg2XzY0LHg4Nl82 NC1tMzIsaTY4Nn0tZmVkb3JhMjJwcmUtbGludXgtZ251LgogCi0KIFRoYW5rcywKIEphbgotCist LS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ZvcnRyYW4tZnJhbWUtc3RyaW5nLmV4cCB8 IDM2ICsrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Zv cnRyYW4tZnJhbWUtc3RyaW5nLmY5MCB8IDI4ICsrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBj aGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vZm9ydHJhbi1mcmFtZS1zdHJpbmcuZXhwCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZm9ydHJhbi1mcmFtZS1zdHJpbmcuZjkwCiAK IGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ZvcnRyYW4tZnJhbWUtc3Ry aW5nLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZm9ydHJhbi1mcmFtZS1zdHJpbmcu ZXhwCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNGI3ODI2NgoraW5kZXgg MDAwMDAwMDAwMC4uNzExNGFmZDQ0MAogLS0tIC9kZXYvbnVsbAogKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9mb3J0cmFuLWZyYW1lLXN0cmluZy5leHAKIEBAIC0wLDAgKzEsMzYgQEAK QEAgLTc2LDcgKzgwLDcgQEAgaW5kZXggMDAwMDAwMC4uNGI3ODI2NgogK2dkYl90ZXN0ICJmcmFt ZSIgeyBcKHM9J2ZvbycsIC4qfQogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vZm9ydHJhbi1mcmFtZS1zdHJpbmcuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9m b3J0cmFuLWZyYW1lLXN0cmluZy5mOTAKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAw MDAwLi4zZDE1NzZmCitpbmRleCAwMDAwMDAwMDAwLi4zZDE1NzZmYjFmCiAtLS0gL2Rldi9udWxs CiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2ZvcnRyYW4tZnJhbWUtc3RyaW5nLmY5 MAogQEAgLTAsMCArMSwyOCBAQApAQCAtMTA4LDMgKzExMiw2IEBAIGluZGV4IDAwMDAwMDAuLjNk MTU3NmYKICsgIHByb2dyYW0gbWFpbgogKyAgY2FsbCBmICgnZm9vJykKICsgIGVuZAorLS0gCisy LjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1nZGItYWRkLWluZGV4LXNjcmlwdC5wYXRjaCBiL2dk Yi1nZGItYWRkLWluZGV4LXNjcmlwdC5wYXRjaAppbmRleCBmYjllM2VhLi42MmE0MGE2IDEwMDY0 NAotLS0gYS9nZGItZ2RiLWFkZC1pbmRleC1zY3JpcHQucGF0Y2gKKysrIGIvZ2RiLWdkYi1hZGQt aW5kZXgtc2NyaXB0LnBhdGNoCkBAIC0xLDExICsxLDE0IEBACitGcm9tIGYyYzNmOGMwMmFiMGEx YzRjMDJmNmQ5NTQxNDEyNjZiZDU4OTBmMjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9t OiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBP Y3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogUmU6IFswLzRdIFJGQzogYWRkIERXQVJG IGluZGV4IHN1cHBvcnQKK1N1YmplY3Q6IFJGQzogYWRkIERXQVJGIGluZGV4IHN1cHBvcnQKIAog RmlsZU5hbWU6IGdkYi1nZGItYWRkLWluZGV4LXNjcmlwdC5wYXRjaAogCi1odHRwOi8vc291cmNl d2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMC0wNy9tc2cwMDE4NC5odG1sCis7OyBQcm92aWRl IC91c3IvYmluL2dkYi1hZGQtaW5kZXggZm9yIHJwbS1idWlsZCAoVG9tIFRyb21leSkuCis7Oz1w dXNoOiBSZS1jaGVjayBhZ2FpbnN0IHRoZSB1cHN0cmVhbSB2ZXJzaW9uLgogCitodHRwOi8vc291 cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMC0wNy9tc2cwMDE4NC5odG1sCiAKIEphbiBL cmF0b2NodmlsOiBGaXhlZCAkZCAtPiAkZGlyLgogSmFuIEtyYXRvY2h2aWw6IFJlbW92ZSAvZGV2 L251bGwgcmVkaXJlY3Rpb24uCkBAIC0zNiwyMSArMzksMTcgQEAgRnJvbTogVG9tIFRyb21leSA8 dHJvbWV5QHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDkgSnVsIDIwMTAgMTE6MTc6NTQgLTA2MDAK IFN1YmplY3Q6IFtQQVRDSCA0LzRdIGFkZCBnZGItYWRkLWluZGV4CiBTdWJqZWN0OiBbUEFUQ0gg NC80XSBhZGQgZ2RiLWFkZC1pbmRleAotCiAtLS0KLSBnZGIvQ2hhbmdlTG9nICAgICAgIHwgICAg NSArKysrKwotIGdkYi9NYWtlZmlsZS5pbiAgICAgfCAgIDExICsrKysrKysrKystCi0gZ2RiL2Rv Yy9DaGFuZ2VMb2cgICB8ICAgIDQgKysrKwotIGdkYi9kb2MvZ2RiLnRleGluZm8gfCAgICA4ICsr KysrKysrCi0gZ2RiL2dkYi1hZGQtaW5kZXggICB8ICAgMzAgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCi0gNSBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u cygtKQotIGNyZWF0ZSBtb2RlIDEwMDc1NSBnZGIvZ2RiLWFkZC1pbmRleAotCi1JbmRleDogZ2Ri LTcuNi45MC4yMDE0MDEyNy9nZGIvTWFrZWZpbGUuaW4KLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy42 LjkwLjIwMTQwMTI3Lm9yaWcvZ2RiL01ha2VmaWxlLmluCTIwMTQtMDItMDYgMTc6Mzc6NTQuNTU1 OTc1OTU4ICswMTAwCi0rKysgZ2RiLTcuNi45MC4yMDE0MDEyNy9nZGIvTWFrZWZpbGUuaW4JMjAx NC0wMi0wNiAxNzozODo1Mi4xMTAwMzg0MTUgKzAxMDAKLUBAIC0xMDkzLDYgKzEwOTMsMTUgQEAg aW5zdGFsbC1vbmx5OiBpbnN0YWxsLWdzdGFjayAkKENPTkZJR19JTgorIGdkYi9NYWtlZmlsZS5p biAgICAgfCAgOSArKysrKysrKysKKyBnZGIvZG9jL01ha2VmaWxlLmluIHwgIDkgKysrKysrKyst CisgZ2RiL2RvYy9nZGIudGV4aW5mbyB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nZGIvTWFrZWZpbGUuaW4gYi9nZGIv TWFrZWZpbGUuaW4KK2luZGV4IGY5NTUwNWVhMjEuLmVkZDBiMjM5ZDQgMTAwNjQ0CistLS0gYS9n ZGIvTWFrZWZpbGUuaW4KKysrKyBiL2dkYi9NYWtlZmlsZS5pbgorQEAgLTE3NzMsNiArMTc3Mywx NSBAQCBpbnN0YWxsLW9ubHk6IGluc3RhbGwtZ3N0YWNrICQoQ09ORklHX0lOU1RBTEwpCiAgCQkg ICQoSU5TVEFMTF9TQ1JJUFQpIGdjb3JlIFwKICAJCQkgICQoREVTVERJUikkKGJpbmRpcikvJCR0 cmFuc2Zvcm1lZF9uYW1lOyBcCiAgCWZpCkBAIC02NiwxMSArNjUsMzggQEAgSW5kZXg6IGdkYi03 LjYuOTAuMjAxNDAxMjcvZ2RiL01ha2VmaWxlLmluCiAgCUAkKE1BS0UpIERPPWluc3RhbGwgIkRP RElSUz0kKFNVQkRJUlMpIiAkKEZMQUdTX1RPX1BBU1MpIHN1YmRpcl9kbwogIAogIGluc3RhbGwt c3RyaXA6Ci1JbmRleDogZ2RiLTcuNi45MC4yMDE0MDEyNy9nZGIvZG9jL2dkYi50ZXhpbmZvCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuNi45MC4yMDE0MDEyNy5vcmlnL2dkYi9kb2MvZ2RiLnRleGlu Zm8JMjAxNC0wMi0wNiAxNzozNzo1MC44MjI5NzE5NDAgKzAxMDAKLSsrKyBnZGItNy42LjkwLjIw MTQwMTI3L2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxNC0wMi0wNiAxNzozNzo1NC41NjU5NzU5Njgg KzAxMDAKLUBAIC0xNzc0OSw2ICsxNzc0OSwxNCBAQCBUaGVyZSBhcmUgY3VycmVudGx5IHNvbWUg bGltaXRhdGlvbiBvbiBpCitkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9NYWtlZmlsZS5pbiBiL2dkYi9k b2MvTWFrZWZpbGUuaW4KK2luZGV4IGUwZTUwYzE2NmUuLjNjZGNiYmQ1NjcgMTAwNjQ0CistLS0g YS9nZGIvZG9jL01ha2VmaWxlLmluCisrKysgYi9nZGIvZG9jL01ha2VmaWxlLmluCitAQCAtMTc0 LDcgKzE3NCw3IEBAIFBPRDJNQU41ID0gcG9kMm1hbiAtLWNlbnRlcj0iR05VIERldmVsb3BtZW50 IFRvb2xzIiBcCisgCQkgICAtLXJlbGVhc2U9ImdkYi1gc2VkIHEgdmVyc2lvbi5zdWJzdGAiIC0t c2VjdGlvbj01CisgCisgIyBMaXN0IG9mIG1hbiBwYWdlcyBnZW5lcmF0ZWQgZnJvbSBnZGIudGV4 aQorLU1BTjFTID0gZ2RiLjEgZ2Ric2VydmVyLjEgZ2NvcmUuMQorK01BTjFTID0gZ2RiLjEgZ2Ri c2VydmVyLjEgZ2NvcmUuMSBnZGItYWRkLWluZGV4LjEKKyBNQU41UyA9IGdkYmluaXQuNQorIE1B TlMgPSAkKE1BTjFTKSAkKE1BTjVTKQorIAorQEAgLTYzMyw2ICs2MzMsMTMgQEAgZ2NvcmUuMTog JChHREJfRE9DX0ZJTEVTKQorIAkJbXYgLWYgJEAuVCQkJCQgJEApIHx8IChybSAtZiAkQC5UJCQk JCAmJiBleGl0IDEpCisgCXJtIC1mIGdjb3JlLnBvZAorIAorK2dkYi1hZGQtaW5kZXguMTogJChH REJfRE9DX0ZJTEVTKQorKwl0b3VjaCAkQAorKwktJChURVhJMlBPRCkgJChNQU5DT05GKSAtRGdk Yi1hZGQtaW5kZXggPCAkKHNyY2RpcikvZ2RiLnRleGluZm8gPiBnZGItYWRkLWluZGV4LnBvZAor KwktKCQoUE9EMk1BTjEpIGdkYi1hZGQtaW5kZXgucG9kIHwgc2VkIC1lICcvXi5pZiBuIC5uYS9k JyA+ICRALlQkJCQkICYmIFwKKysJCW12IC1mICRALlQkJCQkICRAKSB8fCAocm0gLWYgJEAuVCQk JCQgJiYgZXhpdCAxKQorKwlybSAtZiBnZGItYWRkLWluZGV4LnBvZAorKworIGdkYmluaXQuNTog JChHREJfRE9DX0ZJTEVTKQorIAl0b3VjaCAkQAorIAktJChURVhJMlBPRCkgJChNQU5DT05GKSAt RGdkYmluaXQgPCAkKHNyY2RpcikvZ2RiLnRleGluZm8gPiBnZGJpbml0LnBvZAorZGlmZiAtLWdp dCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCitpbmRleCBkMTgx YWViMWMwLi5hNzljNjg2ZjBiIDEwMDY0NAorLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbworKysr IGIvZ2RiL2RvYy9nZGIudGV4aW5mbworQEAgLTE5NjA2LDYgKzE5NjA2LDE0IEBAIFRoZXJlIGFy ZSBjdXJyZW50bHkgc29tZSBsaW1pdGF0aW9uIG9uIGluZGljZXMuICBUaGV5IG9ubHkgd29yayB3 aGVuCiAgZm9yIERXQVJGIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiwgbm90IHN0YWJzLiAgQW5kLCB0 aGV5IGRvIG5vdAogIGN1cnJlbnRseSB3b3JrIGZvciBwcm9ncmFtcyB1c2luZyBBZGEuCiAgCkBA IC04NSw3ICsxMTEsNyBAQCBJbmRleDogZ2RiLTcuNi45MC4yMDE0MDEyNy9nZGIvZG9jL2dkYi50 ZXhpbmZvCiAgQG5vZGUgU3ltYm9sIEVycm9ycwogIEBzZWN0aW9uIEVycm9ycyBSZWFkaW5nIFN5 bWJvbCBGaWxlcwogIAotQEAgLTQzODc4LDYgKzQzODg2LDcgQEAgc3dpdGNoIChkaWUtPnRhZykK K0BAIC00MjUyNCw2ICs0MjUzMiw3IEBAIHN3aXRjaCAoZGllLT50YWcpCiAgKiBnZGJzZXJ2ZXIg bWFuOjogICAgICAgICAgICAgICBSZW1vdGUgU2VydmVyIGZvciB0aGUgR05VIERlYnVnZ2VyIG1h biBwYWdlCiAgKiBnY29yZSBtYW46OiAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZSBhIGNvcmUg ZmlsZSBvZiBhIHJ1bm5pbmcgcHJvZ3JhbQogICogZ2RiaW5pdCBtYW46OiAgICAgICAgICAgICAg ICAgZ2RiaW5pdCBzY3JpcHRzCkBAIC05MywyMiArMTE5LDEwIEBAIEluZGV4OiBnZGItNy42Ljkw LjIwMTQwMTI3L2dkYi9kb2MvZ2RiLnRleGluZm8KICBAZW5kIG1lbnUKICAKICBAbm9kZSBnZGIg bWFuCi1AQCAtNDQ1MzAsNiArNDQ1MzksNTQgQEAgZ2RiKDEpLCBAY29kZXtpbmZvIC1mIGdkYiAt biBTdGFydHVwfQotIFRoZSBmdWxsIGRvY3VtZW50YXRpb24gZm9yIEB2YWx1ZXtHREJOfSBpcyBt YWludGFpbmVkIGFzIGEgVGV4aW5mbyBtYW51YWwuCi0gSWYgdGhlIEBjb2Rle2luZm99IGFuZCBA Y29kZXtnZGJ9IHByb2dyYW1zIGFuZCBAdmFsdWV7R0RCTn0ncyBUZXhpbmZvCi0gZG9jdW1lbnRh dGlvbiBhcmUgcHJvcGVybHkgaW5zdGFsbGVkIGF0IHlvdXIgc2l0ZSwgdGhlIGNvbW1hbmQKLSsK LStAc21hbGxleGFtcGxlCi0raW5mbyBnZGIKLStAZW5kIHNtYWxsZXhhbXBsZQotKwotK3Nob3Vs ZCBnaXZlIHlvdSBhY2Nlc3MgdG8gdGhlIGNvbXBsZXRlIG1hbnVhbC4KLSsKLStAY2l0ZXtVc2lu ZyBHREI6IEEgR3VpZGUgdG8gdGhlIEdOVSBTb3VyY2UtTGV2ZWwgRGVidWdnZXJ9LAotK1JpY2hh cmQgTS4gU3RhbGxtYW4gYW5kIFJvbGFuZCBILiBQZXNjaCwgSnVseSAxOTkxLgotK0BlbmQgaWZz ZXQKLStAYyBtYW4gZW5kCi0rCitAQCAtNDMxOTMsNiArNDMyMDIsNTQgQEAgUmljaGFyZCBNLiBT dGFsbG1hbiBhbmQgUm9sYW5kIEguIFBlc2NoLCBKdWx5IDE5OTEuCisgQGVuZCBpZnNldAorIEBj IG1hbiBlbmQKKyAKICtAbm9kZSBnZGItYWRkLWluZGV4IG1hbgogK0BoZWFkaW5nIGdkYi1hZGQt aW5kZXgKICsKQEAgLTE0NSwzMyArMTU5LDIxIEBAIEluZGV4OiBnZGItNy42LjkwLjIwMTQwMTI3 L2dkYi9kb2MvZ2RiLnRleGluZm8KICtUaGUgZnVsbCBkb2N1bWVudGF0aW9uIGZvciBAdmFsdWV7 R0RCTn0gaXMgbWFpbnRhaW5lZCBhcyBhIFRleGluZm8gbWFudWFsLgogK0lmIHRoZSBAY29kZXtp bmZvfSBhbmQgQGNvZGV7Z2RifSBwcm9ncmFtcyBhbmQgQHZhbHVle0dEQk59J3MgVGV4aW5mbwog K2RvY3VtZW50YXRpb24gYXJlIHByb3Blcmx5IGluc3RhbGxlZCBhdCB5b3VyIHNpdGUsIHRoZSBj b21tYW5kCi0gCi0gQHNtYWxsZXhhbXBsZQotIGluZm8gZ2RiCi1JbmRleDogZ2RiLTcuNi45MC4y MDE0MDEyNy9nZGIvZG9jL01ha2VmaWxlLmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNi45MC4y MDE0MDEyNy5vcmlnL2dkYi9kb2MvTWFrZWZpbGUuaW4JMjAxNC0wMi0wNiAxNzozNzo1MC44MjQ5 NzE5NDIgKzAxMDAKLSsrKyBnZGItNy42LjkwLjIwMTQwMTI3L2dkYi9kb2MvTWFrZWZpbGUuaW4J MjAxNC0wMi0wNiAxNzozNzo1NC41NjU5NzU5NjggKzAxMDAKLUBAIC0xNjUsNyArMTY1LDcgQEAg UE9EMk1BTjUgPSBwb2QybWFuIC0tY2VudGVyPSJHTlUgRGV2ZWxvcAotIAkJICAgLS1yZWxlYXNl PSJnZGItYHNlZCBxIHZlcnNpb24uc3Vic3RgIiAtLXNlY3Rpb249NQotIAotICMgTGlzdCBvZiBt YW4gcGFnZXMgZ2VuZXJhdGVkIGZyb20gZ2RiLnRleGkKLS1NQU4xUyA9IGdkYi4xIGdkYnNlcnZl ci4xIGdjb3JlLjEKLStNQU4xUyA9IGdkYi4xIGdkYnNlcnZlci4xIGdjb3JlLjEgZ2RiLWFkZC1p bmRleC4xCi0gTUFONVMgPSBnZGJpbml0LjUKLSBNQU5TID0gJChNQU4xUykgJChNQU41UykKLSAK LUBAIC01OTAsNiArNTkwLDEzIEBAIGdjb3JlLjE6ICQoR0RCX0RPQ19GSUxFUykKLSAJCW12IC1m ICRALlQkJCQkICRAKSB8fCAocm0gLWYgJEAuVCQkJCQgJiYgZXhpdCAxKQotIAlybSAtZiBnY29y ZS5wb2QKLSAKLStnZGItYWRkLWluZGV4LjE6ICQoR0RCX0RPQ19GSUxFUykKLSsJdG91Y2ggJEAK LSsJLSQoVEVYSTJQT0QpICQoTUFOQ09ORikgLURnZGItYWRkLWluZGV4IDwgJChzcmNkaXIpL2dk Yi50ZXhpbmZvID4gZ2RiLWFkZC1pbmRleC5wb2QKLSsJLSgkKFBPRDJNQU4xKSBnZGItYWRkLWlu ZGV4LnBvZCB8IHNlZCAtZSAnL14uaWYgbiAubmEvZCcgPiAkQC5UJCQkJCAmJiBcCi0rCQltdiAt ZiAkQC5UJCQkJCAkQCkgfHwgKHJtIC1mICRALlQkJCQkICYmIGV4aXQgMSkKLSsJcm0gLWYgZ2Ri LWFkZC1pbmRleC5wb2QKICsKLSBnZGJpbml0LjU6ICQoR0RCX0RPQ19GSUxFUykKLSAJdG91Y2gg JEAKLSAJLSQoVEVYSTJQT0QpICQoTUFOQ09ORikgLURnZGJpbml0IDwgJChzcmNkaXIpL2dkYi50 ZXhpbmZvID4gZ2RiaW5pdC5wb2QKKytAc21hbGxleGFtcGxlCisraW5mbyBnZGIKKytAZW5kIHNt YWxsZXhhbXBsZQorKworK3Nob3VsZCBnaXZlIHlvdSBhY2Nlc3MgdG8gdGhlIGNvbXBsZXRlIG1h bnVhbC4KKysKKytAY2l0ZXtVc2luZyBHREI6IEEgR3VpZGUgdG8gdGhlIEdOVSBTb3VyY2UtTGV2 ZWwgRGVidWdnZXJ9LAorK1JpY2hhcmQgTS4gU3RhbGxtYW4gYW5kIFJvbGFuZCBILiBQZXNjaCwg SnVseSAxOTkxLgorK0BlbmQgaWZzZXQKKytAYyBtYW4gZW5kCisrCisgQGluY2x1ZGUgZ3BsLnRl eGkKKyAKKyBAbm9kZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UKKy0tIAorMi4xNC4z CisKCmRpZmYgLS1naXQgYS9nZGItZ2xpYmMtc3Ryc3RyLXdvcmthcm91bmQucGF0Y2ggYi9nZGIt Z2xpYmMtc3Ryc3RyLXdvcmthcm91bmQucGF0Y2gKaW5kZXggNDQwYzhkZi4uNTkxZjAxZSAxMDA2 NDQKLS0tIGEvZ2RiLWdsaWJjLXN0cnN0ci13b3JrYXJvdW5kLnBhdGNoCisrKyBiL2dkYi1nbGli Yy1zdHJzdHItd29ya2Fyb3VuZC5wYXRjaApAQCAtMSwxNSArMSwyMyBAQAorRnJvbSAwN2ZlMGRj MjY0NDMwMTY2ZWIzODBkM2JkMGY2MzVmNTdlOGNkY2MzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZy aSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1nbGliYy1zdHJzdHIt d29ya2Fyb3VuZC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLWdsaWJjLXN0cnN0ci13b3JrYXJvdW5k LnBhdGNoCiAKKzs7IFdvcmthcm91bmQgUFIgbGliYy8xNDE2NiBmb3IgaW5mZXJpb3IgY2FsbHMg b2Ygc3Ryc3RyLgorOzs9ZmVkb3JhOiBDb21wYXRpYmlsaXR5IHdpdGggUkhFTHMgKHVuY2hlY2tl ZCB3aGljaCBvbmVzKS4KKy0tLQorIGdkYi9kd2FyZjJyZWFkLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIwICsrKysKKyAuLi4vZ2RiLmJhc2UvZ251LWlmdW5jLXN0cnN0 ci13b3JrYXJvdW5kLmV4cCAgICAgICB8IDEwOCArKysrKysrKysrKysrKysrKysrKysKKyAyIGZp bGVzIGNoYW5nZWQsIDEyOCBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvZ251LWlmdW5jLXN0cnN0ci13b3JrYXJvdW5kLmV4cAogCi1JbmRl eDogZ2RiLTcuNy45MC4yMDE0MDYxMy9nZGIvZHdhcmYycmVhZC5jCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuNy45MC4yMDE0MDYxMy5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNC0wNi0xMyAyMTo1 Njo1NC43NDQ2NTM0NDMgKzAyMDAKLSsrKyBnZGItNy43LjkwLjIwMTQwNjEzL2dkYi9kd2FyZjJy ZWFkLmMJMjAxNC0wNi0xMyAyMjowMTo1MS41Mjk5OTA2ODQgKzAyMDAKLUBAIC0xNzY5NSw2ICsx NzY5NSwyNiBAQCBuZXdfc3ltYm9sX2Z1bGwgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCitkaWZm IC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKK2luZGV4IGVmNjI0 YWRhMzMuLjcyZDE1YTk0ZDggMTAwNjQ0CistLS0gYS9nZGIvZHdhcmYycmVhZC5jCisrKysgYi9n ZGIvZHdhcmYycmVhZC5jCitAQCAtMjAwODIsNiArMjAwODIsMjYgQEAgbmV3X3N5bWJvbF9mdWxs IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJf Y3UgKmN1LAogICAgICAgIC8qIENhY2hlIHRoaXMgc3ltYm9sJ3MgbmFtZSBhbmQgdGhlIG5hbWUn cyBkZW1hbmdsZWQgZm9ybSAoaWYgYW55KS4gICovCiAgICAgICAgU1lNQk9MX1NFVF9MQU5HVUFH RSAoc3ltLCBjdS0+bGFuZ3VhZ2UsICZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2spOwogICAgICAg IGxpbmthZ2VuYW1lID0gZHdhcmYyX3BoeXNuYW1lIChuYW1lLCBkaWUsIGN1KTsKQEAgLTM2LDEw ICs0NCwxMSBAQCBJbmRleDogZ2RiLTcuNy45MC4yMDE0MDYxMy9nZGIvZHdhcmYycmVhZC5jCiAg ICAgICAgU1lNQk9MX1NFVF9OQU1FUyAoc3ltLCBsaW5rYWdlbmFtZSwgc3RybGVuIChsaW5rYWdl bmFtZSksIDAsIG9iamZpbGUpOwogIAogICAgICAgIC8qIEZvcnRyYW4gZG9lcyBub3QgaGF2ZSBt YW5nbGluZyBzdGFuZGFyZCBhbmQgdGhlIG1hbmdsaW5nIGRvZXMgZGlmZmVyCi1JbmRleDogZ2Ri LTcuNy45MC4yMDE0MDYxMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dudS1pZnVuYy1zdHJzdHIt d29ya2Fyb3VuZC5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy43LjkwLjIwMTQwNjEzL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvZ251LWlmdW5jLXN0cnN0ci13b3JrYXJvdW5kLmV4cAkyMDE0LTA2LTEzIDIx OjU5OjQxLjE3NDg0MDg3MSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZ251LWlmdW5jLXN0cnN0ci13b3JrYXJvdW5kLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZ251LWlmdW5jLXN0cnN0ci13b3JrYXJvdW5kLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwMDAuLjU0NjljZDczNTQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvZ251LWlmdW5jLXN0cnN0ci13b3JrYXJvdW5kLmV4cAogQEAgLTAs MCArMSwxMDggQEAKICsjIENvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICsKQEAgLTE0OSwzICsxNTgsNiBAQCBJbmRleDogZ2RiLTcuNy45MC4yMDE0MDYx My9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dudS1pZnVuYy1zdHJzdHItd29ya2Fyb3VuZC5leAog KwogK2dkYl90ZXN0IHtwcmludCBzdHJzdHIoImFiYyIsImIiKX0geyA9IDB4WzAtOWEtZl0rICJi YyJ9CiArZ2RiX3Rlc3Qge3ByaW50IHN0cnN0cigiZGVmIiwiZSIpfSB7ID0gMHhbMC05YS1mXSsg ImVmIn0KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItZ2xpYmMtdmRzby13b3JrYXJv dW5kLnBhdGNoIGIvZ2RiLWdsaWJjLXZkc28td29ya2Fyb3VuZC5wYXRjaAppbmRleCBiMDAzMWVj Li5mM2E2OGNhIDEwMDY0NAotLS0gYS9nZGItZ2xpYmMtdmRzby13b3JrYXJvdW5kLnBhdGNoCisr KyBiL2dkYi1nbGliYy12ZHNvLXdvcmthcm91bmQucGF0Y2gKQEAgLTEsMTMgKzEsMTUgQEAKK0Zy b20gYzFkNzQ0ZmU1NGFhMmM4M2UwMDM3YTFkMmE3MmZkYzU3MTYzMjI1ZiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+ CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBbUkZDXSBX b3JrIGFyb3VuZCBQUiBsaWJjLzEzMDk3ICJsaW51eC12ZHNvLnNvLjEiICMyCitTdWJqZWN0OiBX b3JrIGFyb3VuZCBQUiBsaWJjLzEzMDk3ICJsaW51eC12ZHNvLnNvLjEiICMyCiAKIEZpbGVOYW1l OiBnZGItZ2xpYmMtdmRzby13b3JrYXJvdW5kLnBhdGNoCiAKKzs7IFdvcmsgYXJvdW5kIFBSIGxp YmMvMTMwOTcgImxpbnV4LXZkc28uc28uMSIgd2FybmluZyBtZXNzYWdlLgorOzs9cHVzaCtqYW4K IAogaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTEtMDgvbXNnMDAzMzEu aHRtbAogCi0KIEhpLAogCiBtaXNzZWQgdGhlIHg4Nl82NC1tMzIgY2FzZToKQEAgLTE3LDEyICsx OSwxNSBAQCBnZGIvCiAKIAlXb3JrIGFyb3VuZCBQUiBsaWJjLzEzMDk3LgogCSogc29saWIuYyAo dXBkYXRlX3NvbGliX2xpc3QpOiBJZ25vcmUgImxpbnV4LXZkc28uc28uMSIuCi0KLUluZGV4OiBn ZGItNy45LjUwLjIwMTUwNTIwL2dkYi9zb2xpYi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOS41 MC4yMDE1MDUyMC5vcmlnL2dkYi9zb2xpYi5jCTIwMTUtMDUtMzEgMTc6MDQ6MTYuODcwODAyNDkz ICswMjAwCi0rKysgZ2RiLTcuOS41MC4yMDE1MDUyMC9nZGIvc29saWIuYwkyMDE1LTA1LTMxIDE3 OjA0OjM4LjgyNDk0MTA1NCArMDIwMAotQEAgLTg5Myw4ICs4OTMsMTEgQEAgdXBkYXRlX3NvbGli X2xpc3QgKGludCBmcm9tX3R0eSwgc3RydWN0CistLS0KKyBnZGIvc29saWIuYyB8IDcgKysrKyst LQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9nZGIvc29saWIuYyBiL2dkYi9zb2xpYi5jCitpbmRleCBjYjdhNWMwYjUxLi41 MTE2NzFlYTlkIDEwMDY0NAorLS0tIGEvZ2RiL3NvbGliLmMKKysrKyBiL2dkYi9zb2xpYi5jCitA QCAtODg0LDggKzg4NCwxMSBAQCB1cGRhdGVfc29saWJfbGlzdCAoaW50IGZyb21fdHR5KQogIAog IAkgIFRSWQogIAkgICAgewpAQCAtMzYsMyArNDEsNiBAQCBJbmRleDogZ2RiLTcuOS41MC4yMDE1 MDUyMC9nZGIvc29saWIuYwogIAkJewogIAkJICBub3RfZm91bmQrKzsKICAJCSAgaWYgKG5vdF9m b3VuZF9maWxlbmFtZSA9PSBOVUxMKQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1n bmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2ggYi9nZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBh dGNoCmluZGV4IGQxYTc4YmMuLmFkOGM2NDggMTAwNjQ0Ci0tLSBhL2dkYi1nbmF0LWR3YXJmLWNy YXNoLTNvZjMucGF0Y2gKKysrIGIvZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5wYXRjaApAQCAt MSwxMiArMSwxNCBAQAorRnJvbSBjYWYxYzE0ZjBmZDBhNGUwOTcyNjU3MDNjNmZmNDdkOTU5MDJh ODkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxp bnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAK LVN1YmplY3Q6IFtwYXRjaF0gZ2RiX2Fzc2VydCAtPiBjb21wbGFpbnQgZm9yIHdlaXJkIERXQVJG CitTdWJqZWN0OiBnZGJfYXNzZXJ0IC0+IGNvbXBsYWludCBmb3Igd2VpcmQgRFdBUkYKIAogRmls ZU5hbWU6IGdkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2gKIAotaHR0cDovL3NvdXJjZXdh cmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTQtMDIvbXNnMDA3MzEuaHRtbAotCis7OyBGaXggY3Jh c2ggb2YgLXJlYWRub3cgL3Vzci9saWIvZGVidWcvdXNyL2Jpbi9nbmF0YmluZC5kZWJ1ZyAoQlog MTA2OTIxMSkuCis7Oz1wdXNoK2phbgogCitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBh dGNoZXMvMjAxNC0wMi9tc2cwMDczMS5odG1sCiAKIC0tNlRybmx0U3RYVzRpd21pMAogQ29udGVu dC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpCkBAIC0yNyw3ICsyOSw2IEBAIEZl ZG9yYSBHQ0MgYnVpbGQsIG5vdCBpbiBGU0YgR0NDIGJ1aWxkLCBtb3JlIGluZm8gYXQ6CiAJaHR0 cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMDY5MzgyCiAJaHR0cDov L3Blb3BsZS5yZWRoYXQuY29tL2prcmF0b2NoL2djYy1kZWJ1Z2luZm8tNC44LjItNy5mYzIwLng4 Nl82NC1nbmF0YmluZC5kZWJ1ZwogCi0KIFRoYW5rcywKIEphbgogCkBAIC0zOSwxNiArNDAsMTgg QEAgZ2RiLwogMjAxNC0wMi0yNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRo YXQuY29tPgogCiAJKiBkd2FyZjJyZWFkLmMgKHByb2Nlc3NfZGllKTogQ2hhbmdlIGdkYl9hc3Nl cnQgdG8gY29tcGxhaW50LgorLS0tCisgZ2RiL2R3YXJmMnJlYWQuYyB8IDggKysrKysrKysKKyAx IGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCiAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvZHdhcmYycmVhZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDQtMjAgMjM6MTU6MjYuNTc4ODk3MjEwICsw MjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3LTA0LTIw IDIzOjE1OjU3LjgwNTEwNjM3MSArMDIwMAotQEAgLTg0MjYsNyArODQyNiwxMyBAQAotICAgc3Ry dWN0IGNsZWFudXAgKmluX3Byb2Nlc3M7Ci0gCi0gICAvKiBXZSBzaG91bGQgb25seSBiZSBwcm9j ZXNzaW5nIHRob3NlIG5vdCBhbHJlYWR5IGluIHByb2Nlc3MuICAqLwotLSAgZ2RiX2Fzc2VydCAo IWRpZS0+aW5fcHJvY2Vzcyk7CitkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9k d2FyZjJyZWFkLmMKK2luZGV4IGYxNGY1YjU2M2EuLjQ5YjI2NThhZGUgMTAwNjQ0CistLS0gYS9n ZGIvZHdhcmYycmVhZC5jCisrKysgYi9nZGIvZHdhcmYycmVhZC5jCitAQCAtOTQyNCw2ICs5NDI0 LDE0IEBAIHByaXZhdGU6Cisgc3RhdGljIHZvaWQKKyBwcm9jZXNzX2RpZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorIHsKICsgIGlmIChkaWUtPmluX3Byb2Nl c3MpCiArICAgIHsKICsgICAgICBjb21wbGFpbnQgKCZzeW1maWxlX2NvbXBsYWludHMsCkBAIC01 Niw2ICs1OSwxMCBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQu YwogKwkJIHRvX3VuZGVybHlpbmcgKGRpZS0+c2VjdF9vZmYpKTsKICsgICAgICByZXR1cm47CiAr ICAgIH0KKysKKyAgIHByb2Nlc3NfZGllX3Njb3BlIHNjb3BlIChkaWUsIGN1KTsKICAKLSAgIGRp ZS0+aW5fcHJvY2VzcyA9IDE7Ci0gICBpbl9wcm9jZXNzID0gbWFrZV9jbGVhbnVwIChyZXNldF9k aWVfaW5fcHJvY2VzcyxkaWUpOworICAgc3dpdGNoIChkaWUtPnRhZykKKy0tIAorMi4xNC4zCisK CmRpZmYgLS1naXQgYS9nZGItaml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaCBiL2dkYi1qaXQtcmVh ZGVyLW11bHRpbGliLnBhdGNoCmluZGV4IDRlZDAxN2IuLmE5MzQ0ZDQgMTAwNjQ0Ci0tLSBhL2dk Yi1qaXQtcmVhZGVyLW11bHRpbGliLnBhdGNoCisrKyBiL2dkYi1qaXQtcmVhZGVyLW11bHRpbGli LnBhdGNoCkBAIC0xLDE0ICsxLDIyIEBACitGcm9tIDdmNTI2MmMzMjlmODEwOTQyOWE0YjM3M2Vk NGNhOTkxYzQ0YTI3MDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RC IHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTow Nzo1MCArMDIwMAogU3ViamVjdDogZ2RiLWppdC1yZWFkZXItbXVsdGlsaWIucGF0Y2gKIAogRmls ZU5hbWU6IGdkYi1qaXQtcmVhZGVyLW11bHRpbGliLnBhdGNoCiAKKzs7IEZpeCBqaXQtcmVhZGVy LmggZm9yIG11bHRpLWxpYi4KKzs7PXB1c2gramFuCistLS0KKyBnZGIvY29uZmlndXJlICAgIHwg OCArKysrKy0tLQorIGdkYi9jb25maWd1cmUuYWMgfCA4ICsrKysrLS0tCisgMiBmaWxlcyBjaGFu Z2VkLCAxMCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCiBkaWZmIC0tZ2l0IGEvZ2Ri L2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKLWluZGV4IDdmZjc0YmEuLjAwYTViNWIgMTAwNzU1 CitpbmRleCBkOTlmMjhiOWYyLi4wMTIxMGFmY2NjIDEwMDc1NQogLS0tIGEvZ2RiL2NvbmZpZ3Vy ZQogKysrIGIvZ2RiL2NvbmZpZ3VyZQotQEAgLTczODIsMTAgKzczODIsMTIgQEAgX0FDRU9GCitA QCAtOTUyOCwxMCArOTUyOCwxMiBAQCBfQUNFT0YKICAKICAKICAKQEAgLTI1LDEwICszMywxMCBA QCBpbmRleCA3ZmY3NGJhLi4wMGE1YjViIDEwMDc1NQogICAgVEFSR0VUX1BUUj0idW5zaWduZWQg X19pbnQxMjgiCiAgZWxzZQogZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUuYWMgYi9nZGIvY29u ZmlndXJlLmFjCi1pbmRleCBlYzc3NmQ3Li5jMDJhY2U5IDEwMDY0NAoraW5kZXggODMwNjE4ZGJl NS4uOGM2YTVmN2QxZSAxMDA2NDQKIC0tLSBhL2dkYi9jb25maWd1cmUuYWMKICsrKyBiL2dkYi9j b25maWd1cmUuYWMKLUBAIC02NDgsMTAgKzY0OCwxMiBAQCBBQ19DSEVDS19TSVpFT0YodW5zaWdu ZWQgbG9uZyBsb25nKQorQEAgLTgzMiwxMCArODMyLDEyIEBAIEFDX0NIRUNLX1NJWkVPRih1bnNp Z25lZCBsb25nIGxvbmcpCiAgQUNfQ0hFQ0tfU0laRU9GKHVuc2lnbmVkIGxvbmcpCiAgQUNfQ0hF Q0tfU0laRU9GKHVuc2lnbmVkIF9faW50MTI4KQogIApAQCAtNDQsMyArNTIsNiBAQCBpbmRleCBl Yzc3NmQ3Li5jMDJhY2U5IDEwMDY0NAogIGVsaWYgdGVzdCAieCR7YWNfY3Zfc2l6ZW9mX3Vuc2ln bmVkX19faW50MTI4fSIgPSAieDE2IjsgdGhlbgogICAgVEFSR0VUX1BUUj0idW5zaWduZWQgX19p bnQxMjgiCiAgZWxzZQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1saWJleGVjLWFk ZC1pbmRleC5wYXRjaCBiL2dkYi1saWJleGVjLWFkZC1pbmRleC5wYXRjaAppbmRleCAzMDQ0MTBh Li42NDBhMTc5IDEwMDY0NAotLS0gYS9nZGItbGliZXhlYy1hZGQtaW5kZXgucGF0Y2gKKysrIGIv Z2RiLWxpYmV4ZWMtYWRkLWluZGV4LnBhdGNoCkBAIC0xLDExICsxLDE4IEBACitGcm9tIDY1ZWVl YjBlYmMyYjBmZGQ1N2NmODBjZjRkMzYxODU5OTg4ZmE5MDIgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTog RnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLWxpYmV4ZWMtYWRk LWluZGV4LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItbGliZXhlYy1hZGQtaW5kZXgucGF0Y2gKIAor OzsgRml4IGdkYi1oZWFkbGVzcyAvdXNyL2Jpbi8gZXhlY3V0YWJsZXMgKEJaIDEzOTAyNTEpLgor Ozs9ZmVkb3JhCistLS0KKyBnZGIvY29udHJpYi9nZGItYWRkLWluZGV4LnNoIHwgNSArKysrKwor IDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKwogZGlmZiAtLWdpdCBhL2dkYi9jb250 cmliL2dkYi1hZGQtaW5kZXguc2ggYi9nZGIvY29udHJpYi9nZGItYWRkLWluZGV4LnNoCi1pbmRl eCBjY2E3MTUzLi43MzE4MWVjIDEwMDc1NQoraW5kZXggMGNkNGNlM2M5ZC4uYzM0MDU4ZDFkNiAx MDA3NTUKIC0tLSBhL2dkYi9jb250cmliL2dkYi1hZGQtaW5kZXguc2gKICsrKyBiL2dkYi9jb250 cmliL2dkYi1hZGQtaW5kZXguc2gKIEBAIC0yMSw2ICsyMSwxMSBAQApAQCAtMjAsMyArMjcsNiBA QCBpbmRleCBjY2E3MTUzLi43MzE4MWVjIDEwMDc1NQogIG15bmFtZT0iJHswIyMqL30iCiAgCiAg aWYgdGVzdCAkIyAhPSAxOyB0aGVuCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLWxp bmVuby1tYWtldXAtdGVzdC5wYXRjaCBiL2dkYi1saW5lbm8tbWFrZXVwLXRlc3QucGF0Y2gKaW5k ZXggYThiZTZlMS4uODdiNDM3NCAxMDA2NDQKLS0tIGEvZ2RiLWxpbmVuby1tYWtldXAtdGVzdC5w YXRjaAorKysgYi9nZGItbGluZW5vLW1ha2V1cC10ZXN0LnBhdGNoCkBAIC0xLDkgKzEsMTIgQEAK K0Zyb20gZWZhNTA0YTYzZjNlOWVjMmZhMGVjM2YzOGU1MjUxMjIwMzBlNDExMSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5j b20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGIt bGluZW5vLW1ha2V1cC10ZXN0LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItbGluZW5vLW1ha2V1cC10 ZXN0LnBhdGNoCiAKKzs7IFRlc3RjYXNlIGZvciAiRG8gbm90IG1ha2UgdXAgbGluZSBpbmZvcm1h dGlvbiIgZml4IGJ5IERhbmllbCBKYWNvYm93aXR6LgorOzs9ZmVkb3JhdGVzdAogCiBOZXcgdGVz dGNhc2UgZm9yOgogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD00 NjYyMjIKQEAgLTEyLDExICsxNSwyMCBAQCBhbmQgdGhlIHVwc3RyZWFtIGZpeDoKIGh0dHA6Ly9z b3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDA2LTExL21zZzAwMjUzLmh0bWwKIAlbcmZj XSBEbyBub3QgbWFrZSB1cCBsaW5lIGluZm9ybWF0aW9uCiBodHRwOi8vc291cmNld2FyZS5vcmcv bWwvZ2RiLWN2cy8yMDA2LTExL21zZzAwMTI3Lmh0bWwKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvbGluZW5vLW1ha2V1cC1mdW5jLmMgfCAyMSArKysrKysrKworIGdkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvbGluZW5vLW1ha2V1cC5jICAgICAgfCAzNSArKysrKysrKysrKysrCisgZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9saW5lbm8tbWFrZXVwLmV4cCAgICB8IDc4ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxMzQgaW5zZXJ0aW9ucygrKQorIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xpbmVuby1tYWtldXAtZnVu Yy5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGluZW5vLW1h a2V1cC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGluZW5v LW1ha2V1cC5leHAKIAotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvbGluZW5vLW1ha2V1cC1mdW5jLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2 MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xpbmVuby1tYWtldXAtZnVuYy5jCTIwMTYtMDIt MTUgMjM6Mjk6MTYuNTk1MTYxOTcxICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9saW5lbm8tbWFrZXVwLWZ1bmMuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGlu ZW5vLW1ha2V1cC1mdW5jLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw Li4xYTAyMjBlYTUyCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2xpbmVuby1tYWtldXAtZnVuYy5jCiBAQCAtMCwwICsxLDIxIEBACiArLyogVGhpcyB0ZXN0Y2Fz ZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTM5LDEwICs1MSwxMSBA QCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9saW5l bm8tbWFrZXVwLWZ1bmMuYwogK2Z1bmMgKHZvaWQpCiArewogK30KLUluZGV4OiBnZGItNy4xMC45 MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xpbmVuby1tYWtldXAuYwotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGluZW5vLW1h a2V1cC5jCTIwMTYtMDItMTUgMjM6Mjk6MjMuODczMjEzNjQ2ICswMTAwCitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9saW5lbm8tbWFrZXVwLmMgYi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2xpbmVuby1tYWtldXAuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAwMDAuLjVkNGJlOTA5OTkKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvbGluZW5vLW1ha2V1cC5jCiBAQCAtMCwwICsxLDM1IEBACiArLyogVGhpcyB0ZXN0Y2Fz ZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTc5LDEwICs5MiwxMSBA QCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9saW5l bm8tbWFrZXVwLmMKICsgIGZ1bmMgKCk7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcu MTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9saW5lbm8tbWFrZXVwLmV4cAot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbGlu ZW5vLW1ha2V1cC5leHAJMjAxNi0wMi0xNSAyMzoyOToyMy44NzMyMTM2NDYgKzAxMDAKK2RpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xpbmVuby1tYWtldXAuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9saW5lbm8tbWFrZXVwLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwMDAuLjllMTFkNzhiZjkKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvbGluZW5vLW1ha2V1cC5leHAKIEBAIC0wLDAgKzEsNzggQEAKICsj IENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTYy LDMgKzE3Niw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2xpbmVuby1tYWtldXAuZXhwCiArCWZhaWwgJHRlc3QKICsgICAgfQogK30KKy0tIAor Mi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItbGludXhfcGVyZi1idW5kbGUucGF0Y2ggYi9nZGIt bGludXhfcGVyZi1idW5kbGUucGF0Y2gKaW5kZXggZjc5YTdhNC4uOTFiNDY5ZiAxMDA2NDQKLS0t IGEvZ2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBhdGNoCisrKyBiL2dkYi1saW51eF9wZXJmLWJ1bmRs ZS5wYXRjaApAQCAtMSwxMyArMSw3MyBAQAorRnJvbSAzYWI4OGQ5ZTY5YjJjNzVhM2NiYmU5YTdi ZmNiMTQ4YTBmMGIyNzI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdE QiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6 MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAogCiBGaWxl TmFtZTogZ2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBhdGNoCiAKLUluZGV4OiBnZGItNy4xMS45MC4y MDE2MDkwNC9nZGIvbmF0L2xpbnV4LWJ0cmFjZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEu OTAuMjAxNjA5MDQub3JpZy9nZGIvbmF0L2xpbnV4LWJ0cmFjZS5oCTIwMTYtMDktMDQgMDQ6MDI6 MTMuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA5MDQvZ2RiL25hdC9saW51 eC1idHJhY2UuaAkyMDE2LTA5LTA0IDIwOjExOjQ3LjM3NTI3NTQ5MiArMDIwMAorOzsgW2R0cytl bDddIFt4ODYqXSBCdW5kbGUgbGludXhfcGVyZi5oIGZvciBsaWJpcHQgKFJIIEJaIDEyNTY1MTMp LgorOzs9ZmVkb3JhCistLS0KKyBnZGIvY29uZmlndXJlICAgICAgICAgIHwgICAyICstCisgZ2Ri L2NvbmZpZ3VyZS5hYyAgICAgICB8ICAgMiArLQorIGdkYi9nZGIuYyAgICAgICAgICAgICAgfCAg IDggKysrCisgZ2RiL25hdC9saW51eC1idHJhY2UuaCB8IDE3MSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAxODEgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUg Yi9nZGIvY29uZmlndXJlCitpbmRleCBjMTE4NmZkMjk0Li4xY2MyMjBkMjgxIDEwMDc1NQorLS0t IGEvZ2RiL2NvbmZpZ3VyZQorKysrIGIvZ2RiL2NvbmZpZ3VyZQorQEAgLTExOTA3LDcgKzExOTA3 LDcgQEAgZWxzZQorIAorICNpbmNsdWRlIDxsaW51eC9wZXJmX2V2ZW50Lmg+CisgI2lmbmRlZiBQ RVJGX0FUVFJfU0laRV9WRVI1CistIyBlcnJvcgorKy8vIGVycm9yIC8vIFBFUkZfQVRUUl9TSVpF X1ZFUjVfQlVORExFIGlzIG5vdCBhdmFpbGFibGUgaGVyZSAtIEZlZG9yYStSSEVMCisgI2VuZGlm CisgCisgX0FDRU9GCitkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1 cmUuYWMKK2luZGV4IGM3ZDVmMmRlOTkuLjBiZDlmY2FjZTkgMTAwNjQ0CistLS0gYS9nZGIvY29u ZmlndXJlLmFjCisrKysgYi9nZGIvY29uZmlndXJlLmFjCitAQCAtMTQ2Niw3ICsxNDY2LDcgQEAg ZWxzZQorICAgQUNfUFJFUFJPQ19JRkVMU0UoQUNfTEFOR19TT1VSQ0UoW1sKKyAjaW5jbHVkZSA8 bGludXgvcGVyZl9ldmVudC5oPgorICNpZm5kZWYgUEVSRl9BVFRSX1NJWkVfVkVSNQorLSMgZXJy b3IKKysvLyBlcnJvciAvLyBQRVJGX0FUVFJfU0laRV9WRVI1X0JVTkRMRSBpcyBub3QgYXZhaWxh YmxlIGhlcmUgLSBGZWRvcmErUkhFTAorICNlbmRpZgorICAgXV0pLCBbcGVyZl9ldmVudD15ZXNd LCBbcGVyZl9ldmVudD1ub10pCisgICBpZiB0ZXN0ICIkcGVyZl9ldmVudCIgIT0geWVzOyB0aGVu CitkaWZmIC0tZ2l0IGEvZ2RiL2dkYi5jIGIvZ2RiL2dkYi5jCitpbmRleCBmYmY2NzExMjAzLi44 ZGNkZTRlNmQ4IDEwMDY0NAorLS0tIGEvZ2RiL2dkYi5jCisrKysgYi9nZGIvZ2RiLmMKK0BAIC0y MCwxMSArMjAsMTkgQEAKKyAjaW5jbHVkZSAibWFpbi5oIgorICNpbmNsdWRlICJpbnRlcnBzLmgi CisgCisrI2lmZGVmIFBFUkZfQVRUUl9TSVpFX1ZFUjVfQlVORExFCisrZXh0ZXJuICJDIiB2b2lk IF9fbGliaXB0X2luaXQodm9pZCk7CisrI2VuZGlmCisrCisgaW50CisgbWFpbiAoaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQorIHsKKyAgIHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgYXJnczsKKyAK KysjaWZkZWYgUEVSRl9BVFRSX1NJWkVfVkVSNV9CVU5ETEUKKysgIF9fbGliaXB0X2luaXQoKTsK KysjZW5kaWYKKysKKyAgIG1lbXNldCAoJmFyZ3MsIDAsIHNpemVvZiBhcmdzKTsKKyAgIGFyZ3Mu YXJnYyA9IGFyZ2M7CisgICBhcmdzLmFyZ3YgPSBhcmd2OworZGlmZiAtLWdpdCBhL2dkYi9uYXQv bGludXgtYnRyYWNlLmggYi9nZGIvbmF0L2xpbnV4LWJ0cmFjZS5oCitpbmRleCBjMDhiMmViOWFl Li40YjRmMjJmNWVjIDEwMDY0NAorLS0tIGEvZ2RiL25hdC9saW51eC1idHJhY2UuaAorKysrIGIv Z2RiL25hdC9saW51eC1idHJhY2UuaAogQEAgLTI4LDYgKzI4LDE3NyBAQAogICMgIGluY2x1ZGUg PGxpbnV4L3BlcmZfZXZlbnQuaD4KICAjZW5kaWYKQEAgLTE4Niw1MyArMjQ2LDYgQEAgSW5kZXg6 IGdkYi03LjExLjkwLjIwMTYwOTA0L2dkYi9uYXQvbGludXgtYnRyYWNlLmgKICBzdHJ1Y3QgdGFy Z2V0X29wczsKICAKICAjaWYgSEFWRV9MSU5VWF9QRVJGX0VWRU5UX0gKLUluZGV4OiBnZGItNy4x MS45MC4yMDE2MDkwNC9nZGIvY29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAu MjAxNjA5MDQub3JpZy9nZGIvY29uZmlndXJlCTIwMTYtMDktMDQgMjA6MTE6NDcuMjM4Mjc0Mjg1 ICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA5MDQvZ2RiL2NvbmZpZ3VyZQkyMDE2LTA5LTA0 IDIwOjExOjQ3LjM3ODI3NTUxOSArMDIwMAotQEAgLTEwNjAxLDcgKzEwNjAxLDcgQEAKLSAKLSAj aW5jbHVkZSA8bGludXgvcGVyZl9ldmVudC5oPgotICNpZm5kZWYgUEVSRl9BVFRSX1NJWkVfVkVS NQotLSMgZXJyb3IKLSsvLyBlcnJvciAvLyBQRVJGX0FUVFJfU0laRV9WRVI1X0JVTkRMRSBpcyBu b3QgYXZhaWxhYmxlIGhlcmUgLSBGZWRvcmErUkhFTAotICNlbmRpZgotIAotIF9BQ0VPRgotSW5k ZXg6IGdkYi03LjExLjkwLjIwMTYwOTA0L2dkYi9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4xMS45MC4yMDE2MDkwNC5vcmlnL2dkYi9jb25maWd1cmUuYWMJMjAxNi0wOS0wNCAy MDoxMTo0Ny4yMzgyNzQyODUgKzAyMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDkwNC9nZGIvY29u ZmlndXJlLmFjCTIwMTYtMDktMDQgMjA6MTE6NDcuMzc5Mjc1NTI4ICswMjAwCi1AQCAtMTQ2MSw3 ICsxNDYxLDcgQEAKLSAgIEFDX1BSRVBST0NfSUZFTFNFKEFDX0xBTkdfU09VUkNFKFtbCi0gI2lu Y2x1ZGUgPGxpbnV4L3BlcmZfZXZlbnQuaD4KLSAjaWZuZGVmIFBFUkZfQVRUUl9TSVpFX1ZFUjUK LS0jIGVycm9yCi0rLy8gZXJyb3IgLy8gUEVSRl9BVFRSX1NJWkVfVkVSNV9CVU5ETEUgaXMgbm90 IGF2YWlsYWJsZSBoZXJlIC0gRmVkb3JhK1JIRUwKLSAjZW5kaWYKLSAgIF1dKSwgW3BlcmZfZXZl bnQ9eWVzXSwgW3BlcmZfZXZlbnQ9bm9dKQotICAgaWYgdGVzdCAiJHBlcmZfZXZlbnQiICE9IHll czsgdGhlbgotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwOTA0L2dkYi9nZGIuYwotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjExLjkwLjIwMTYwOTA0Lm9yaWcvZ2RiL2dkYi5jCTIwMTYtMDktMDQgMDQ6 MDI6MTMuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA5MDQvZ2RiL2dkYi5j CTIwMTYtMDktMDQgMjA6MTI6MjguMDE4NjMzNTUyICswMjAwCi1AQCAtMjAsMTEgKzIwLDE5IEBA Ci0gI2luY2x1ZGUgIm1haW4uaCIKLSAjaW5jbHVkZSAiaW50ZXJwcy5oIgotIAotKyNpZmRlZiBQ RVJGX0FUVFJfU0laRV9WRVI1X0JVTkRMRQotK2V4dGVybiAiQyIgdm9pZCBfX2xpYmlwdF9pbml0 KHZvaWQpOwotKyNlbmRpZgotKwotIGludAotIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikK LSB7Ci0gICBzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzIGFyZ3M7Ci0gCi0rI2lmZGVmIFBFUkZf QVRUUl9TSVpFX1ZFUjVfQlVORExFCi0rICBfX2xpYmlwdF9pbml0KCk7Ci0rI2VuZGlmCi0rCi0g ICBtZW1zZXQgKCZhcmdzLCAwLCBzaXplb2YgYXJncyk7Ci0gICBhcmdzLmFyZ2MgPSBhcmdjOwot ICAgYXJncy5hcmd2ID0gYXJndjsKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItbW9y aWJ1bmQtdXRyYWNlLXdvcmthcm91bmQucGF0Y2ggYi9nZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmth cm91bmQucGF0Y2gKaW5kZXggZjc1ZjEyOS4uMDMxNjg0ZiAxMDA2NDQKLS0tIGEvZ2RiLW1vcmli dW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNoCisrKyBiL2dkYi1tb3JpYnVuZC11dHJhY2Utd29y a2Fyb3VuZC5wYXRjaApAQCAtMSwxOCArMSwyNiBAQAorRnJvbSA1M2U3MDU2YzY1M2NkNDllNTU4 ZTAwOGUzYTBjZDc3Y2I5MTk3OWRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVk b3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIw MTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fyb3Vu ZC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLW1vcmlidW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNo CiAKKzs7IFdvcmthcm91bmQgbm9uLXN0b3AgbW9yaWJ1bmQgbG9jYXRpb25zIGV4cGxvaXRlZCBi eSBrZXJuZWwgdXRyYWNlIChCWiA1OTA2MjMpLgorOzs9cHVzaCtqYW46IEN1cnJlbnRseSBpdCBp cyBzdGlsbCBub3QgZnVsbHkgc2FmZS4KIAogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3No b3dfYnVnLmNnaT9pZD01OTA2MjMKIGh0dHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vYnVnemlsbGEv c2hvd19idWcuY2dpP2lkPTExNTkzCiAKIEJ1ZyBpbiBGU0YgR0RCIGV4cGxvaXRlZCBieSB0aGUg cHRyYWNlLW9uLXV0cmFjZSBpbnRlcmFjdGlvbi4KKy0tLQorIGdkYi9icmVha3BvaW50LmMgfCAy ICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQogCitkaWZmIC0tZ2l0IGEvZ2Ri L2JyZWFrcG9pbnQuYyBiL2dkYi9icmVha3BvaW50LmMKK2luZGV4IDI2OTkyOGE3OTQuLmZiMTI5 YmYzOGEgMTAwNjQ0CiAtLS0gYS9nZGIvYnJlYWtwb2ludC5jCiArKysgYi9nZGIvYnJlYWtwb2lu dC5jCi1AQCAtOTA4NCw2ICs5MDg0LDggQEAgdXBkYXRlX2dsb2JhbF9sb2NhdGlvbl9saXN0IChp bnQgc2hvdWxkX2luc2VydCkKK0BAIC0xMjEwNSw2ICsxMjEwNSw4IEBAIHVwZGF0ZV9nbG9iYWxf bG9jYXRpb25fbGlzdCAoZW51bSB1Z2xsX2luc2VydF9tb2RlIGluc2VydF9tb2RlKQogIAkJIHRy YXBzIHdlIGNhbiBubyBsb25nZXIgZXhwbGFpbi4gICovCiAgCiAgCSAgICAgIG9sZF9sb2MtPmV2 ZW50c190aWxsX3JldGlyZW1lbnQgPSAzICogKHRocmVhZF9jb3VudCAoKSArIDEpOwpAQCAtMjEs MyArMjksNiBAQCBCdWcgaW4gRlNGIEdEQiBleHBsb2l0ZWQgYnkgdGhlIHB0cmFjZS1vbi11dHJh Y2UgaW50ZXJhY3Rpb24uCiAgCSAgICAgIG9sZF9sb2MtPm93bmVyID0gTlVMTDsKICAKICAJICAg ICAgVkVDX3NhZmVfcHVzaCAoYnBfbG9jYXRpb25fcCwgbW9yaWJ1bmRfbG9jYXRpb25zLCBvbGRf bG9jKTsKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItb3Bjb2Rlcy1jbGZsdXNob3B0 LXRlc3QucGF0Y2ggYi9nZGItb3Bjb2Rlcy1jbGZsdXNob3B0LXRlc3QucGF0Y2gKaW5kZXggZWVh NTA0OC4uMThiMDU1NCAxMDA2NDQKLS0tIGEvZ2RiLW9wY29kZXMtY2xmbHVzaG9wdC10ZXN0LnBh dGNoCisrKyBiL2dkYi1vcGNvZGVzLWNsZmx1c2hvcHQtdGVzdC5wYXRjaApAQCAtMSwxMSArMSw0 OSBAQAorRnJvbSA4OTQ3MTlmOGEzOTc5YWZhMDgyY2UzNzdjZTdkOTUzNmRiNTUyYjVjIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVt YWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6 IGdkYi1vcGNvZGVzLWNsZmx1c2hvcHQtdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLW9wY29k ZXMtY2xmbHVzaG9wdC10ZXN0LnBhdGNoCiAKLS0tLSAvZGV2L251bGwJMjAxNi0wMS0xNiAyMTo1 MDo1NS43MzI4MTIyMjkgKzAxMDAKLSsrKyBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9hbWQ2NC1jbGZsdXNob3B0LmV4cAkyMDE2LTAxLTE2IDIyOjQ5OjE5Ljk1MDY4MzkxOCArMDEw MAorOzsgVGVzdCBjbGZsdXNob3B0IGluc3RydWN0aW9uIGRlY29kZSAoZm9yIFJIIEJaIDEyNjI0 NzEpLgorOzs9ZmVkb3JhdGVzdAorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1j bGZsdXNob3B0LlMgICB8IDE5ICsrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dk Yi5hcmNoL2FtZDY0LWNsZmx1c2hvcHQuZXhwIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysr KworIDIgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWNsZmx1c2hvcHQuUworIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWNsZmx1c2hvcHQuZXhwCisKK2Rp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWNsZmx1c2hvcHQuUyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtY2xmbHVzaG9wdC5TCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZGVlNGYwMDZkYworLS0tIC9kZXYvbnVsbAorKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1jbGZsdXNob3B0LlMKK0BAIC0wLDAgKzEsMTkg QEAKKysvKiBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysK KysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKysgICBUaGlzIGZpbGUg aXMgcGFydCBvZiB0aGUgZ2RiIHRlc3RzdWl0ZS4gICovCisrCisrX3N0YXJ0OgkuZ2xvYmwJX3N0 YXJ0CisrCWNsZmx1c2hvcHQgKCVlZGkpCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9hbWQ2NC1jbGZsdXNob3B0LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQt Y2xmbHVzaG9wdC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4y MmE5ZGVjZWUyCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2Ft ZDY0LWNsZmx1c2hvcHQuZXhwCiBAQCAtMCwwICsxLDI1IEBACiArIyBDb3B5cmlnaHQgMjAxNiBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTMyLDI1ICs3MCw2IEBAIEZpbGVO YW1lOiBnZGItb3Bjb2Rlcy1jbGZsdXNob3B0LXRlc3QucGF0Y2gKICt9CiArCiArZ2RiX3Rlc3Qg ImRpc2FzIF9zdGFydCIgIkR1bXAgb2YgYXNzZW1ibGVyIGNvZGUgZm9yIGZ1bmN0aW9uIF9zdGFy dDpcclxuICoweFxbMC05YS1mXF0rIDxcWytcXTA+Olx0Y2xmbHVzaG9wdCBcXCglZWRpXFwpXHJc bkVuZCBvZiBhc3NlbWJsZXIgZHVtcFxcLiIgImNsZmx1c2hvcHQiCi0tLS0gL2Rldi9udWxsCTIw MTYtMDEtMTYgMjE6NTA6NTUuNzMyODEyMjI5ICswMTAwCi0rKysgZ2RiLTcuNi4xL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gvYW1kNjQtY2xmbHVzaG9wdC5TCTIwMTYtMDEtMTYgMjI6NDk6MjYuMzk4 NzI1MjA5ICswMTAwCi1AQCAtMCwwICsxLDE5IEBACi0rLyogQ29weXJpZ2h0IDIwMTYgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMg b2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKLSsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKwotKyAgIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rICAgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uCi0rCi0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGdkYiB0ZXN0c3VpdGUu ICAqLwotKwotK19zdGFydDoJLmdsb2JsCV9zdGFydAotKwljbGZsdXNob3B0ICglZWRpKQorLS0g CisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1waHlzbmFtZS1wcjExNzM0LXRlc3QucGF0Y2gg Yi9nZGItcGh5c25hbWUtcHIxMTczNC10ZXN0LnBhdGNoCmluZGV4IDk4Njk5OTguLjhmOTU2OTMg MTAwNjQ0Ci0tLSBhL2dkYi1waHlzbmFtZS1wcjExNzM0LXRlc3QucGF0Y2gKKysrIGIvZ2RiLXBo eXNuYW1lLXByMTE3MzQtdGVzdC5wYXRjaApAQCAtMSwxNiArMSwzNCBAQAorRnJvbSA5OWExMGM4 YzViNDFkZTE5ZDBmMTliOGViNjM5NDE5NTQ1ZjRhMDgwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZy aSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1waHlzbmFtZS1wcjEx NzM0LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1waHlzbmFtZS1wcjExNzM0LXRlc3QucGF0 Y2gKIAorOzsgRml4IHJlZ3Jlc3Npb25zIG9uIEMrKyBuYW1lcyByZXNvbHZpbmcgKFBSIDExNzM0 LCBQUiAxMjI3MywgS2VpdGggU2VpdHopLgorOzs9ZmVkb3JhdGVzdAogCiBodHRwOi8vc291cmNl d2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMC0xMi9tc2cwMDI2My5odG1sCistLS0KKyBnZGIv dGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LTEuY2MgfCAzMCArKysrKysrKysrKysrKysrKysrKysK KyBnZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LTIuY2MgfCAyNyArKysrKysrKysrKysrKysr KysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC0zLmNjIHwgMjcgKysrKysrKysrKysr KysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtNC5jYyB8IDI3ICsrKysrKysr KysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LmV4cCAgfCA1NSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5j cC9wcjExNzM0LmggICAgfCAyOCArKysrKysrKysrKysrKysrKysrKworIDYgZmlsZXMgY2hhbmdl ZCwgMTk0IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3AvcHIxMTczNC0xLmNjCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2Ri LmNwL3ByMTE3MzQtMi5jYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5j cC9wcjExNzM0LTMuY2MKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Av cHIxMTczNC00LmNjCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNwL3By MTE3MzQuZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3 MzQuaAogCi1JbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LTEuY2MK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMS5jYwkyMDEx LTAyLTAzIDIyOjI4OjAxLjAwMDAwMDAwMCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmNwL3ByMTE3MzQtMS5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMS5j YworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmYzNDgwY2U5NzcKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMS5jYwogQEAg LTAsMCArMSwzMCBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUg ZGVidWdnZXIuCiArCkBAIC00MiwxMCArNjAsMTEgQEAgSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuY3AvcHIxMTczNC0xLmNjCiArICByZXR1cm4gMDsKICt9CiArCi1JbmRleDogZ2Ri LTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LTIuY2MKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4y L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMi5jYwkyMDExLTAyLTAzIDIyOjI4OjAxLjAw MDAwMDAwMCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQt Mi5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMi5jYworbmV3IGZpbGUgbW9kZSAx MDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmRiZWJlODI4MWEKKy0tLSAvZGV2L251bGwKKysrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMi5jYwogQEAgLTAsMCArMSwyNyBAQAogKy8q IFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC03 NCwxMCArOTMsMTEgQEAgSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTcz NC0yLmNjCiArewogK30KICsKLUluZGV4OiBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3By MTE3MzQtMy5jYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTcz NC0zLmNjCTIwMTEtMDItMDMgMjI6Mjg6MDEuMDAwMDAwMDAwICswMTAwCitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC0zLmNjIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Av cHIxMTczNC0zLmNjCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZmFh ZWZmYzlkZAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTcz NC0zLmNjCiBAQCAtMCwwICsxLDI3IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdE QiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTEwNiwxMCArMTI2LDExIEBAIEluZGV4OiBnZGIt Ny4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMy5jYwogK3sKICt9CiArCi1JbmRleDog Z2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LTQuY2MKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtNC5jYwkyMDExLTAyLTAzIDIyOjI4OjAx LjAwMDAwMDAwMCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3 MzQtNC5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtNC5jYworbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjZlZGY4MTEwZjEKKy0tLSAvZGV2L251bGwKKysr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtNC5jYwogQEAgLTAsMCArMSwyNyBAQAog Ky8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBA IC0xMzgsMTAgKzE1OSwxMSBAQCBJbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9w cjExNzM0LTQuY2MKICt7CiArfQogKwotSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvcHIxMTczNC5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3By MTE3MzQuZXhwCTIwMTEtMDItMDMgMjI6Mjg6MDEuMDAwMDAwMDAwICswMTAwCitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5j cC9wcjExNzM0LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmU3 MzFkNDIyZjYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3 MzQuZXhwCiBAQCAtMCwwICsxLDU1IEBACiArIyBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICsjCkBAIC0xOTgsMTAgKzIyMCwxMSBAQCBJbmRleDogZ2RiLTcu Mi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LmV4cAogKwogK2dkYl9leGl0CiArcmV0dXJu IDAKLUluZGV4OiBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQuaAotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC5oCTIwMTEtMDItMDMgMjI6 Mjg6MDEuMDAwMDAwMDAwICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Av cHIxMTczNC5oIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC5oCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uN2Y2ZTcyYTY4NQorLS0tIC9kZXYvbnVsbAorKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC5oCiBAQCAtMCwwICsxLDI4IEBACiArLyog VGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTIz MSwzICsyNTQsNiBAQCBJbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0 LmgKICsgIHZvaWQgZm9vIChjaGFyICopOwogK307CiArCistLSAKKzIuMTQuMworCgpkaWZmIC0t Z2l0IGEvZ2RiLXBoeXNuYW1lLXByMTIyNzMtdGVzdC5wYXRjaCBiL2dkYi1waHlzbmFtZS1wcjEy MjczLXRlc3QucGF0Y2gKaW5kZXggNGM5NWM3OS4uYzBlNzFjOCAxMDA2NDQKLS0tIGEvZ2RiLXBo eXNuYW1lLXByMTIyNzMtdGVzdC5wYXRjaAorKysgYi9nZGItcGh5c25hbWUtcHIxMjI3My10ZXN0 LnBhdGNoCkBAIC0xLDE2ICsxLDI2IEBACitGcm9tIGJlNTczNmQ1NmY4NGQ5MjRiZDRkZDgyYmYy Y2ZiYzdmMGMwN2JjNzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RC IHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTow Nzo1MCArMDIwMAogU3ViamVjdDogZ2RiLXBoeXNuYW1lLXByMTIyNzMtdGVzdC5wYXRjaAogCiBG aWxlTmFtZTogZ2RiLXBoeXNuYW1lLXByMTIyNzMtdGVzdC5wYXRjaAogCis7OyBGaXggcmVncmVz c2lvbnMgb24gQysrIG5hbWVzIHJlc29sdmluZyAoUFIgMTE3MzQsIFBSIDEyMjczLCBLZWl0aCBT ZWl0eikuCis7Oz1mZWRvcmF0ZXN0CiAKIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0 Y2hlcy8yMDEwLTEyL21zZzAwMjY0Lmh0bWwKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmNwL3By MTIyNzMuY2MgIHwgMzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVz dHN1aXRlL2dkYi5jcC9wcjEyMjczLmV4cCB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDgzIGluc2VydGlvbnMoKykKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMjI3My5jYworIGNyZWF0ZSBt b2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjEyMjczLmV4cAogCi1JbmRleDogZ2Ri LTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjEyMjczLmNjCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi9n ZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjEyMjczLmNjCTIwMTEtMDItMDMgMjI6MzE6MDEuMDAwMDAw MDAwICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMjI3My5jYyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTIyNzMuY2MKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwMDAwLi43OWRkN2JhZDc0CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5jcC9wcjEyMjczLmNjCiBAQCAtMCwwICsxLDM3IEBACiArLyogVGhpcyB0ZXN0 IGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC00OSwxMCArNTks MTEgQEAgSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMjI3My5jYwogKwkr IEdEQjxjaGFyPjo6ZXZlbl9oYXJkZXI8aW50PiAoJ2EnKTsKICsgICByZXR1cm4gR0RCPGludD46 OnNpbXBsZSAoKTsKICt9Ci1JbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjEy MjczLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMjI3My5l eHAJMjAxMS0wMi0wMyAyMjozMTowMS4wMDAwMDAwMDAgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5jcC9wcjEyMjczLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTIy NzMuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uOWQ3MTQ4Mjc0 MgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMjI3My5leHAK IEBAIC0wLDAgKzEsNDYgQEAKICsjIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKyMKQEAgLTEwMCwzICsxMTEsNiBAQCBJbmRleDogZ2RiLTcuMi9nZGIvdGVz dHN1aXRlL2dkYi5jcC9wcjEyMjczLmV4cAogK30KICsKICtnZGJfZXhpdAorLS0gCisyLjE0LjMK KwoKZGlmZiAtLWdpdCBhL2dkYi1wcGMtcG93ZXI3LXRlc3QucGF0Y2ggYi9nZGItcHBjLXBvd2Vy Ny10ZXN0LnBhdGNoCmluZGV4IGQ3ZTI2YjUuLjNlNjYzNjggMTAwNjQ0Ci0tLSBhL2dkYi1wcGMt cG93ZXI3LXRlc3QucGF0Y2gKKysrIGIvZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaApAQCAtMSwx MCArMSwyMiBAQAorRnJvbSA2NGFjZDE0YTQ1MzFkYjIyNzFlYTJhYmE5MjRmZWE5MGQ1MmNjYjAy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZh bGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1 YmplY3Q6IGdkYi1wcGMtcG93ZXI3LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1wcGMtcG93 ZXI3LXRlc3QucGF0Y2gKIAorOzsgVGVzdCBwb3dlcjcgcHBjIGRpc2Fzc2VtYmx5LgorOzs9ZmVk b3JhdGVzdAorLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyN3JoLmV4 cCB8IDE3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9wb3dlcnBjLXBvd2VyN3JoLnMgICB8IDEwNyArKysrKysrKysrKysrKysrKworIDIgZmls ZXMgY2hhbmdlZCwgMjg1IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyN3JoLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtcG93ZXI3cmgucwogCitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyN3JoLmV4cCBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1wb3dlcjdyaC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwMDAwLi4wYzJiYmRhZWRlCiAtLS0gL2Rldi9udWxsCiArKysgYi9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtcG93ZXI3cmguZXhwCiBAQCAtMCwwICsxLDE3OCBA QApAQCAtMTg2LDYgKzE5OCw5IEBAIEZpbGVOYW1lOiBnZGItcHBjLXBvd2VyNy10ZXN0LnBhdGNo CiArZnVuY19jaGVjayAweDE5NCAiZnJzcXJ0ZXMgZjE0LGYxNSIKICtmdW5jX2NoZWNrIDB4MTk4 ICJmcnNxcnRlcy4gZjE0LGYxNSIKICtmdW5jX2NoZWNrIDB4MTljICJpc2VsICAgIHIyLHIzLHI0 LDI4IgorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1wb3dlcjdy aC5zIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyN3JoLnMKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi45OGIyZTc5N2U3CiAtLS0gL2Rldi9udWxs CiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtcG93ZXI3cmgucwogQEAgLTAs MCArMSwxMDcgQEAKQEAgLTI5NiwzICszMTEsNiBAQCBGaWxlTmFtZTogZ2RiLXBwYy1wb3dlcjct dGVzdC5wYXRjaAogKwkubG9uZwkweGVkYzA3ODM0CS8qIDE5NDogZnJzcXJ0ZXMgZjE0LGYxNSAg ICAgICAgICAqLwogKwkubG9uZwkweGVkYzA3ODM1CS8qIDE5ODogZnJzcXJ0ZXMuIGYxNCxmMTUg ICAgICAgICAqLwogKwkubG9uZwkweDdjNDMyNzFlCS8qIDE5YzogaXNlbCAgICByMixyMyxyNCwy OCAgICAgICAqLworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1weXRob24tZ2lsLnBh dGNoIGIvZ2RiLXB5dGhvbi1naWwucGF0Y2gKaW5kZXggMTUzOGExNC4uYWJiOTFjYyAxMDA2NDQK LS0tIGEvZ2RiLXB5dGhvbi1naWwucGF0Y2gKKysrIGIvZ2RiLXB5dGhvbi1naWwucGF0Y2gKQEAg LTEsMTQgKzEsMjkgQEAKK0Zyb20gOGM0MDQwOGRhZGQ4NmJjYmIzMTkxNzNiYWI2NjViOWZjNmQx MmY3MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8 aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAw CiBTdWJqZWN0OiBnZGItcHl0aG9uLWdpbC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLXB5dGhvbi1n aWwucGF0Y2gKIAotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kb2MvcHl0aG9uLnRl eGkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kb2MvcHl0 aG9uLnRleGkJMjAxNy0wNC0yMCAyMzoxNjozMC44OTUzMjgwMTggKzAyMDAKLSsrKyBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvZG9jL3B5dGhvbi50ZXhpCTIwMTctMDQtMjAgMjM6MTY6MzUuNjkw MzYwMTM2ICswMjAwCi1AQCAtMjMwLDYgKzIzMCwxNCBAQAorOzsgRml4IFB5dGhvbiBHSUwgd2l0 aCBnZGIuZXhlY3V0ZSgiY29udGludWUiKSAoUGhpbCBNdWxkb29uLCBCWiAxMTE2OTU3KS4KKzs7 PXB1c2gKKy0tLQorIGdkYi9kb2MvcHl0aG9uLnRleGkgICAgICAgICAgICAgICAgICAgICAgICAg fCAgOCArKysrCisgZ2RiL3B5dGhvbi9weXRob24taW50ZXJuYWwuaCAgICAgICAgICAgICAgICB8 ICAyICsKKyBnZGIvcHl0aG9uL3B5dGhvbi5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgNDIg KysrKysrKysrKysrKysrLS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhy ZWFkLmMgICB8IDEzICsrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRo cmVhZC5leHAgfCA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3Vp dGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weSAgfCAyOCArKysrKysrKysrKysKKyA2IGZp bGVzIGNoYW5nZWQsIDE1NyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBt b2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2lsLW10aHJlYWQuYworIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2lsLW10aHJlYWQu ZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwt bXRocmVhZC5weQorCitkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9weXRob24udGV4aSBiL2dkYi9kb2Mv cHl0aG9uLnRleGkKK2luZGV4IGY0MTFmNjBkN2UuLjAxMjQzYzdjN2QgMTAwNjQ0CistLS0gYS9n ZGIvZG9jL3B5dGhvbi50ZXhpCisrKysgYi9nZGIvZG9jL3B5dGhvbi50ZXhpCitAQCAtMjMyLDYg KzIzMiwxNCBAQCByZXR1cm5lZCBhcyBhIHN0cmluZy4gIFRoZSBkZWZhdWx0IGlzIEBjb2Rle0Zh bHNlfSwgaW4gd2hpY2ggY2FzZSB0aGUKICByZXR1cm4gdmFsdWUgaXMgQGNvZGV7Tm9uZX0uICBJ ZiBAdmFye3RvX3N0cmluZ30gaXMgQGNvZGV7VHJ1ZX0sIHRoZQogIEB2YWx1ZXtHREJOfSB2aXJ0 dWFsIHRlcm1pbmFsIHdpbGwgYmUgdGVtcG9yYXJpbHkgc2V0IHRvIHVubGltaXRlZCB3aWR0aAog IGFuZCBoZWlnaHQsIGFuZCBpdHMgcGFnaW5hdGlvbiB3aWxsIGJlIGRpc2FibGVkOyBAcHhyZWZ7 U2NyZWVuIFNpemV9LgpAQCAtMjMsMTEgKzM4LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvZG9jL3B5dGhvbi50ZXhpCiAgQGVuZCBkZWZ1bgogIAogIEBmaW5kZXggZ2RiLmJy ZWFrcG9pbnRzCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3B5dGhvbi9weXRob24t aW50ZXJuYWwuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2Ri L3B5dGhvbi9weXRob24taW50ZXJuYWwuaAkyMDE3LTA0LTIwIDIzOjE2OjMwLjg5NjMyODAyNCAr MDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9weXRob24vcHl0aG9uLWludGVybmFs LmgJMjAxNy0wNC0yMCAyMzoxNjozNS42OTAzNjAxMzYgKzAyMDAKLUBAIC0xNDIsNiArMTQyLDgg QEAKK2RpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oIGIvZ2RiL3B5dGhv bi9weXRob24taW50ZXJuYWwuaAoraW5kZXggOGZjOGNjNWE1ZC4uZjA5OWFlNDM3ZiAxMDA2NDQK Ky0tLSBhL2dkYi9weXRob24vcHl0aG9uLWludGVybmFsLmgKKysrKyBiL2dkYi9weXRob24vcHl0 aG9uLWludGVybmFsLmgKK0BAIC0xNDIsNiArMTQyLDggQEAgdHlwZWRlZiBpbnQgUHlfc3NpemVf dDsKICAjZGVmaW5lIFB5R0lMU3RhdGVfUmVsZWFzZShBUkcpICgodm9pZCkoQVJHKSkKICAjZGVm aW5lIFB5RXZhbF9Jbml0VGhyZWFkcygpCiAgI2RlZmluZSBQeVRocmVhZFN0YXRlX1N3YXAoQVJH KSAoKHZvaWQpKEFSRykpCkBAIC0zNiwxMSArNTEsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9weXRob24vcHl0aG9uLWludGVybmFsLmgKICAjZGVmaW5lIFB5RXZhbF9SZWxl YXNlTG9jaygpCiAgI2VuZGlmCiAgCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3B5 dGhvbi9weXRob24uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcv Z2RiL3B5dGhvbi9weXRob24uYwkyMDE3LTA0LTIwIDIzOjE2OjMwLjg5NzMyODAzMSArMDIwMAot KysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9weXRob24vcHl0aG9uLmMJMjAxNy0wNC0yMCAy MzoxODoxMS4zNzcwMDEwNzAgKzAyMDAKLUBAIC01OTQsMTIgKzU5NCwxNiBAQAorZGlmZiAtLWdp dCBhL2dkYi9weXRob24vcHl0aG9uLmMgYi9nZGIvcHl0aG9uL3B5dGhvbi5jCitpbmRleCBjMjlh NDZiNDQ4Li4wZjcxYTQzMzVlIDEwMDY0NAorLS0tIGEvZ2RiL3B5dGhvbi9weXRob24uYworKysr IGIvZ2RiL3B5dGhvbi9weXRob24uYworQEAgLTU1NCwxMiArNTU0LDE2IEBAIGV4ZWN1dGVfZ2Ri X2NvbW1hbmQgKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3KQog IHsKICAgIGNvbnN0IGNoYXIgKmFyZzsKICAgIFB5T2JqZWN0ICpmcm9tX3R0eV9vYmogPSBOVUxM LCAqdG9fc3RyaW5nX29iaiA9IE5VTEw7CkBAIC02MSw3ICs3Niw3IEBAIEluZGV4OiBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvcHl0aG9uL3B5dGhvbi5jCiAgICAgIHJldHVybiBOVUxMOwogIAog ICAgZnJvbV90dHkgPSAwOwotQEAgLTYyMCw2ICs2MjQsMTUgQEAKK0BAIC01ODAsMTIgKzU4NCwy OCBAQCBleGVjdXRlX2dkYl9jb21tYW5kIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3Ms IFB5T2JqZWN0ICprdykKICAgICAgICB0b19zdHJpbmcgPSBjbXA7CiAgICAgIH0KICAKQEAgLTc3 LDggKzkyLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9weXRob24vcHl0aG9u LmMKICAgIHN0ZDo6c3RyaW5nIHRvX3N0cmluZ19yZXM7CiAgCiAgICBUUlkKLUBAIC02MjgsNiAr NjQxLDEzIEBACi0gICAgICAgc3RkOjpzdHJpbmcgY29weSAoYXJnKTsKKyAgICAgewogICAgICAg IHN0cnVjdCBpbnRlcnAgKmludGVycDsKICAKICsgICAgICAvKiBJbiB0aGUgY2FzZSBvZiBsb25n IHJ1bm5pbmcgR0RCIGNvbW1hbmRzLCBhbGxvdyB0aGUgdXNlciB0bwpAQCAtOTEsMTAgKzEwNSwx MCBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3B5dGhvbi9weXRob24uYwogICAg ICAgIHNjb3BlZF9yZXN0b3JlIHNhdmVfYXN5bmMgPSBtYWtlX3Njb3BlZF9yZXN0b3JlICgmY3Vy cmVudF91aS0+YXN5bmMsIDApOwogIAogICAgICAgIHNjb3BlZF9yZXN0b3JlIHNhdmVfdWlvdXQg PSBtYWtlX3Njb3BlZF9yZXN0b3JlICgmY3VycmVudF91aW91dCk7Ci1AQCAtNjQyLDEwICs2NjIs MjIgQEAKLSAJdG9fc3RyaW5nX3JlcyA9IGV4ZWN1dGVfY29tbWFuZF90b19zdHJpbmcgKCZjb3B5 WzBdLCBmcm9tX3R0eSk7CitAQCAtNjAwLDEwICs2MjAsMjIgQEAgZXhlY3V0ZV9nZGJfY29tbWFu ZCAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3cpCisgCXRvX3N0 cmluZ19yZXMgPSBleGVjdXRlX2NvbW1hbmRfdG9fc3RyaW5nIChhcmcsIGZyb21fdHR5KTsKICAg ICAgICBlbHNlCi0gCWV4ZWN1dGVfY29tbWFuZCAoJmNvcHlbMF0sIGZyb21fdHR5KTsKKyAJZXhl Y3V0ZV9jb21tYW5kIChhcmcsIGZyb21fdHR5KTsKICsKICsgICAgICAvKiBSZWFjcXVpcmUgdGhl IEdJTCBpZiBpdCB3YXMgcmVsZWFzZWQgZWFybGllci4gICovCiArICAgICAgaWYgKHJlbGVhc2Vf Z2lsKQpAQCAtMTE1LDEwICsxMjksMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9weXRob24vcHl0aG9uLmMKICAgICAgfQogICAgRU5EX0NBVENICiAgCi1JbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmMK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24v cHktZ2lsLW10aHJlYWQuYwkyMDE3LTA0LTIwIDIzOjE2OjM1LjY5MTM2MDE0MyArMDIwMAorZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5jIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmMKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwMDAwLi4xYTEyZmM5YzZkCistLS0gL2Rldi9udWxsCisrKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2lsLW10aHJlYWQuYwogQEAgLTAsMCArMSwxMyBA QAogKyNpbmNsdWRlIDxzdGRpby5oPgogKyNpbmNsdWRlIDx1bmlzdGQuaD4KQEAgLTEzMywxMCAr MTQ4LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5w eXRob24vcHktZ2lsLW10aHJlYWQuYwogKyAgICAgIHByaW50ZiAoIlNsZWVwaW5nICVkXG4iLCBp KTsKICsgICAgfQogK30KLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktZ2lsLW10aHJlYWQuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdpbC1tdGhyZWFkLmV4cAkyMDE3LTA0 LTIwIDIzOjE2OjM1LjY5MTM2MDE0MyArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24v cHktZ2lsLW10aHJlYWQuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAw MC4uYTg5YzE2YTQ1YgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0 aG9uL3B5LWdpbC1tdGhyZWFkLmV4cAogQEAgLTAsMCArMSw2OSBAQAogKyMgQ29weXJpZ2h0IChD KSAyMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMjA3LDEwICsyMjMs MTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS1naWwtbXRocmVhZC5leHAKICsJfQogKyAgICB9CiArfQotSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weQotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1n aWwtbXRocmVhZC5weQkyMDE3LTA0LTIwIDIzOjE2OjM1LjY5MjM2MDE0OSArMDIwMAorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weSBiL2dkYi90 ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weQorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAuLjZhODk5NjQxMzkKKy0tLSAvZGV2L251bGwKKysrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVhZC5weQogQEAgLTAsMCArMSwyOCBA QAogK3RyeToKICsgICBpbXBvcnQgdGhyZWFkCkBAIC0yNDAsMyArMjU3LDYgQEAgSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1naWwtbXRocmVh ZC5weQogKwogK3doaWxlIDE6CiArICAgcGFzcworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBh L2dkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoIGIvZ2RiLXJlYWRsaW5lNjItYXNrLW1v cmUtcmgucGF0Y2gKaW5kZXggZDdjZjE1NC4uYWM4ZGJiOSAxMDA2NDQKLS0tIGEvZ2RiLXJlYWRs aW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKKysrIGIvZ2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgu cGF0Y2gKQEAgLTEsMTQgKzEsMjEgQEAKK0Zyb20gZDQxZjkyMDQ3YThmMmMxZTFmMzFmZjg5Mzli MjIxNTg2MmJjZTE4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIg cGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3 OjUwICswMjAwCiBTdWJqZWN0OiBnZGItcmVhZGxpbmU2Mi1hc2stbW9yZS1yaC5wYXRjaAogCiBG aWxlTmFtZTogZ2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKIAotSW5kZXg6IGdkYi03 LjExLjUwLjIwMTYwNjMwL2dkYi9ldmVudC10b3AuYwotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEx LjUwLjIwMTYwNjMwLm9yaWcvZ2RiL2V2ZW50LXRvcC5jCTIwMTYtMDctMDMgMTY6MzI6MzYuMTA4 MzQyMTU5ICswMjAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2V2ZW50LXRvcC5jCTIw MTYtMDctMDMgMTY6MzI6NTkuNzg3NTIzNzMzICswMjAwCi1AQCAtMTI1Miw2ICsxMjUyLDEzIEBA Cis7OyBXb3JrIGFyb3VuZCByZWFkbGluZS02LjIgaW5jb21wYXRpYmlsaXR5IG5vdCBhc2tpbmcg Zm9yIC0tbW9yZS0tIChCWiA3MDExMzEpLgorOzs9ZmVkb3JhCistLS0KKyBnZGIvZXZlbnQtdG9w LmMgfCA3ICsrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCisKK2RpZmYg LS1naXQgYS9nZGIvZXZlbnQtdG9wLmMgYi9nZGIvZXZlbnQtdG9wLmMKK2luZGV4IGExODY2ZjBj ODguLmU3ZDNjMWZjMjAgMTAwNjQ0CistLS0gYS9nZGIvZXZlbnQtdG9wLmMKKysrKyBiL2dkYi9l dmVudC10b3AuYworQEAgLTExODIsNiArMTE4MiwxMyBAQCBnZGJfc2V0dXBfcmVhZGxpbmUgKGlu dCBlZGl0aW5nKQogIHsKICAgIHN0cnVjdCB1aSAqdWkgPSBjdXJyZW50X3VpOwogIApAQCAtMjIs MyArMjksNiBAQCBJbmRleDogZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL2V2ZW50LXRvcC5jCiAg ICAvKiBUaGlzIGZ1bmN0aW9uIGlzIGEgbm9vcCBmb3IgdGhlIHN5bmMgY2FzZS4gIFRoZSBhc3N1 bXB0aW9uIGlzCiAgICAgICB0aGF0IHRoZSBzeW5jIHNldHVwIGlzIEFMTCBkb25lIGluIGdkYl9p bml0LCBhbmQgd2Ugd291bGQgb25seQogICAgICAgbWVzcyBpdCB1cCBoZXJlLiAgVGhlIHN5bmMg c3R1ZmYgc2hvdWxkIHJlYWxseSBnbyBhd2F5IG92ZXIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1n aXQgYS9nZGItcmhiei04MTgzNDMtc2V0LXNvbGliLWFic29sdXRlLXByZWZpeC10ZXN0Y2FzZS5w YXRjaCBiL2dkYi1yaGJ6LTgxODM0My1zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LXRlc3RjYXNl LnBhdGNoCmluZGV4IGU2ZWUxMjAuLjUyMTk3N2UgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6LTgxODM0 My1zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LXRlc3RjYXNlLnBhdGNoCisrKyBiL2dkYi1yaGJ6 LTgxODM0My1zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LXRlc3RjYXNlLnBhdGNoCkBAIC0xLDE0 ICsxLDI0IEBACitGcm9tIGMyYWQxMTdhMDliMDJiYTdlYzA0ZjZmM2UxMDA5NjlmNDMyM2ZlOGYg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFs aWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3Vi amVjdDogZ2RiLXJoYnotODE4MzQzLXNldC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXgtdGVzdGNhc2Uu cGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1yaGJ6LTgxODM0My1zZXQtc29saWItYWJzb2x1dGUtcHJl Zml4LXRlc3RjYXNlLnBhdGNoCiAKKzs7IFRlc3RjYXNlIGZvciBgU2V0dGluZyBzb2xpYi1hYnNv bHV0ZS1wcmVmaXggYnJlYWtzIHZEU08nIChCWiA4MTgzNDMpLgorOzs9ZmVkb3JhdGVzdAorLS0t CisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LmMgfCAy NiArKysrKysrKysrKysrKysKKyAuLi4vZ2RiLmJhc2Uvc2V0LXNvbGliLWFic29sdXRlLXByZWZp eC5leHAgICAgICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5n ZWQsIDY1IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQg Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LmV4cAogCi1J bmRleDogZ2RiLTcuMC4xL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2V0LXNvbGliLWFic29sdXRl LXByZWZpeC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3Nl dC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXguYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAwMDAuLjI2NzVhMzRmMWEKIC0tLSAvZGV2L251bGwKLSsrKyBnZGItNy4wLjEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LmMKKysrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2Uvc2V0LXNvbGliLWFic29sdXRlLXByZWZpeC5jCiBAQCAtMCwwICsx LDI2IEBACiArLyogQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogKwpAQCAtMzYsMTAgKzQ2LDExIEBAIEluZGV4OiBnZGItNy4wLjEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LmMKICsgIHByaW50ZiAoIkhlbGxv LCBXb3JsZC5cbiIpOwogKyAgYWJvcnQgKCk7CiArfQotSW5kZXg6IGdkYi03LjAuMS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3NldC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXguZXhwCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zZXQtc29saWItYWJzb2x1dGUt cHJlZml4LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2V0LXNvbGliLWFic29sdXRlLXBy ZWZpeC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5iYjRjOGI5 NjJiCiAtLS0gL2Rldi9udWxsCi0rKysgZ2RiLTcuMC4xL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv c2V0LXNvbGliLWFic29sdXRlLXByZWZpeC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2Uvc2V0LXNvbGliLWFic29sdXRlLXByZWZpeC5leHAKIEBAIC0wLDAgKzEsMzkgQEAKICsjIENv cHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtODAsMyAr OTEsNiBAQCBJbmRleDogZ2RiLTcuMC4xL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2V0LXNvbGli LWFic29sdXRlLXByZWZpeC5leHAKICsgICAgIi4qd2FybmluZzogVW5hYmxlIHRvIGZpbmQgZHlu YW1pYyBsaW5rZXIgYnJlYWtwb2ludCBmdW5jdGlvbi4qIiBcCiArICAgICJzZXQgc29saWItYWJz b2x1dGUtcHJlZml4IgogK2dkYl90ZXN0ICJidCIgIl9fa2VybmVsX3ZzeXNjYWxsLioiICJiYWNr dHJhY2Ugd2l0aCBfX2tlcm5lbF92c3lzY2FsbCIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQg YS9nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9yeS10ZXN0LnBhdGNoIGIv Z2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnktdGVzdC5wYXRjaAppbmRl eCBkMTg4YmU0Li5hMzFmZDFlIDEwMDY0NAotLS0gYS9nZGItcmhiejEwMDc2MTQtbWVtbGVhay1p bmZweV9yZWFkX21lbW9yeS10ZXN0LnBhdGNoCisrKyBiL2dkYi1yaGJ6MTAwNzYxNC1tZW1sZWFr LWluZnB5X3JlYWRfbWVtb3J5LXRlc3QucGF0Y2gKQEAgLTEsOSArMSwxMyBAQAorRnJvbSA1M2Y2 MGNlZTI1YjhlMzMwN2ViZWJkYWE4MjZiMjk5ZGI2ZTRkOGQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6 IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1yaGJ6MTAwNzYx NC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1y aGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LXRlc3QucGF0Y2gKIAorOzsgRml4 ICdtZW1vcnkgbGVhayBpbiBpbmZweV9yZWFkX21lbW9yeSgpJyAoUkggQlogMTAwNzYxNCkKKzs7 PWZlZG9yYXRlc3QKKwogT3JpZ2luYWwgbWVzc2FnZSBieSBUb20gVHJvbWV5OgogCiAgIDxodHRw czovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDMvbXNnMDA5NTUuaHRtbD4K QEAgLTI1LDExICsyOSwyMCBAQCBEYXRlOiAgIFdlZCBNYXIgMjggMTc6Mzg6MDggMjAxMiArMDAw MAogICAgIAkqIHB5dGhvbi9weS1pbmZlcmlvci5jIChpbmZweV9yZWFkX21lbW9yeSk6IFJlbW92 ZSBjbGVhbnVwcyBhbmQKICAgICAJZXhwbGljaXRseSBmcmVlICdidWZmZXInIG9uIGV4aXQgcGF0 aHMuICBEZWNyZWYgJ21lbWJ1Zl9vYmplY3QnCiAgICAgCWJlZm9yZSByZXR1cm5pbmcuCistLS0K KyAuLi4vcHktZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnkuYyB8IDI3 ICsrKysrKysrKworIC4uLnktZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1v cnkuZXhwIHwgNjggKysrKysrKysrKysrKysrKysrKysrKworIC4uLnB5LWdkYi1yaGJ6MTAwNzYx NC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LnB5IHwgMzAgKysrKysrKysrKworIDMgZmlsZXMg Y2hhbmdlZCwgMTI1IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3Rz dWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVt b3J5LmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdk Yi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LmV4cAorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnoxMDA3NjE0LW1lbWxl YWstaW5mcHlfcmVhZF9tZW1vcnkucHkKIAotSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LmMK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2Ri LXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnkuYyBiL2dkYi90ZXN0c3VpdGUv Z2RiLnB5dGhvbi9weS1nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9yeS5j CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uZjI2OTdlZmE5YQogLS0t IC9kZXYvbnVsbAotKysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1y aGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LmMKKysrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLnB5dGhvbi9weS1nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9y eS5jCiBAQCAtMCwwICsxLDI3IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwg dGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTU4LDEwICs3MSwxMSBAQCBJbmRleDogZ2RiLTcuMi9n ZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlf cmVhZF9tZQogK3sKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4yL2dkYi90ZXN0c3Vp dGUvZ2RiLnB5dGhvbi9weS1nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9y eS5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24v cHktZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnkuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRf bWVtb3J5LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjJlNjc4 NmQ0OTkKIC0tLSAvZGV2L251bGwKLSsrKyBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS1nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9yeS5leHAKKysrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1nZGItcmhiejEwMDc2MTQtbWVtbGVhay1pbmZw eV9yZWFkX21lbW9yeS5leHAKIEBAIC0wLDAgKzEsNjggQEAKICsjIENvcHlyaWdodCAyMDE0IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTMxLDEwICsxNDUsMTEgQEAgSW5k ZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1t ZW1sZWFrLWluZnB5X3JlYWRfbWUKICt9IGVsc2UgewogKyAgICBwYXNzICJ0aGVyZSBpcyBub3Qg YSBtZW1vcnkgbGVhayBvbiBHREIgKFJIQlogMTAwNzYxNCkiCiArfQotSW5kZXg6IGdkYi03LjIv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5 X3JlYWRfbWVtb3J5LnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LnB5 IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWlu ZnB5X3JlYWRfbWVtb3J5LnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAw MC4uZTgwNzcyODA0NwogLS0tIC9kZXYvbnVsbAotKysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LnB5 CisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnoxMDA3NjE0LW1lbWxl YWstaW5mcHlfcmVhZF9tZW1vcnkucHkKIEBAIC0wLDAgKzEsMzAgQEAKICsjIENvcHlyaWdodCAo QykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE2NiwzICsxODEs NiBAQCBJbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnox MDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZQogKyAgICAgICAgcHJpbnQgIkhlbGxvLCBXb3Js ZCEiCiArCiArSGVsbG9Xb3JsZCAoKQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1y aGJ6MTA4NDQwNC1wcGM2NC1zMzkweC13cm9uZy1wcm9sb2d1ZS1za2lwLU8yLWctM29mMy5wYXRj aCBiL2dkYi1yaGJ6MTA4NDQwNC1wcGM2NC1zMzkweC13cm9uZy1wcm9sb2d1ZS1za2lwLU8yLWct M29mMy5wYXRjaAppbmRleCBjOGVjODQ5Li41NmRmNWI3IDEwMDY0NAotLS0gYS9nZGItcmhiejEw ODQ0MDQtcHBjNjQtczM5MHgtd3JvbmctcHJvbG9ndWUtc2tpcC1PMi1nLTNvZjMucGF0Y2gKKysr IGIvZ2RiLXJoYnoxMDg0NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzItZy0z b2YzLnBhdGNoCkBAIC0xLDEyNSArMSwzMyBAQAorRnJvbSBmYWFkYzQ3MWFiYTI5ZTlkYmY1ZjEz NGQwYmYxZDUzZWQxZDQ4OGI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3Jh IEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcg MjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1yaGJ6MTA4NDQwNC1wcGM2NC1zMzkweC13cm9u Zy1wcm9sb2d1ZS1za2lwLU8yLWctM29mMy5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLXJoYnoxMDg0 NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzItZy0zb2YzLnBhdGNoCiAKKzs7 IEZpeCAnW3BwYzY0XSBhbmQgW3MzOTB4XSB3cm9uZyBwcm9sb2d1ZSBza2lwIG9uIC1PMiAtZyBj b2RlJyAoSmFuCis7OyBLcmF0b2NodmlsLCBSSCBCWiAxMDg0NDA0KS4KKzs7PWZlZG9yYXRlc3QK KwogVGhlc2UgdGVzdGNhc2VzIGhhdmUgYmVlbiBjcmVhdGVkIGJ5IGNvbXBpbGluZyBnbGliYy0y LjE3LTc4IG9uCiBSSEVMLTcuMSBzMzkweC9wcGM2NCBib3hlcywgYW5kIHRoZW4gdGFraW5nIHRo ZSAic2VsZWN0Lm8iIGZpbGUKIHByZXNlbnQgYXQgJGJ1aWxkZGlyL21pc2Mvc2VsZWN0Lm8uCist LS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNraXAuZXhwICB8IDM0 ICsrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcHBjNjQtcHJvbG9ndWUtc2tp cC5vLnV1IHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvczM5MHgtcHJvbG9ndWUtc2tpcC5leHAgIHwgMzQgKysrKysrKysrKysrCisgZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9zMzkweC1wcm9sb2d1ZS1za2lwLm8udXUgfCA2NCArKysrKysrKysr KysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAyMDIgaW5zZXJ0aW9ucygrKQorIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNraXAu ZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcHBjNjQtcHJv bG9ndWUtc2tpcC5vLnV1CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gvczM5MHgtcHJvbG9ndWUtc2tpcC5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3Rz dWl0ZS9nZGIuYXJjaC9zMzkweC1wcm9sb2d1ZS1za2lwLm8udXUKIAotSW5kZXg6IGdkYi03LjYu MS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3MzOTB4LXByb2xvZ3VlLXNraXAuZXhwCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gL2Rldi9udWxsCi0rKysgZ2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv czM5MHgtcHJvbG9ndWUtc2tpcC5leHAKLUBAIC0wLDAgKzEsMzQgQEAKLSsjIENvcHlyaWdodCAy MDE1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyMgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsj IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5Ci0rIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KLSsjCi0rIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rIyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rIyBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKyMKLSsjIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rIyBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4KLSsKLStpZiB7ICFbaXN0YXJnZXQgczM5MHgtKmxpbnV4LSpdIHx8ICFbaXNf bHA2NF90YXJnZXRdIH0gewotKyAgICB2ZXJib3NlICJTa2lwcGluZyBzMzkweC1wcm9sb2d1ZS1z a2lwLmV4cCIKLSsgICAgcmV0dXJuCi0rfQotKwotK3NldCB0ZXN0ZmlsZSAiczM5MHgtcHJvbG9n dWUtc2tpcCIKLStzZXQgdXVmaWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7dGVzdGZpbGV9Lm8u dXUiCi0rc2V0IG9maWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7dGVzdGZpbGV9Lm8iCi0rCi0r aWYgeyBbY2F0Y2ggInN5c3RlbSBcInV1ZGVjb2RlIC1vICR7b2ZpbGV9ICR7dXVmaWxlfVwiIiBd ICE9IDAgfSB7Ci0rICAgIHVudGVzdGVkICJmYWlsZWQgdXVkZWNvZGUiCi0rICAgIHJldHVybiAt MQotK30KLSsKLStnZGJfZXhpdAotK2dkYl9zdGFydAotK2dkYl9sb2FkICRvZmlsZQotKwotK2dk Yl90ZXN0ICJicmVhayBzZWxlY3QiICJCcmVha3BvaW50ICRkZWNpbWFsIGF0IDB4NDg6IGZpbGUg Li4vc3lzZGVwcy91bml4L3N5c2NhbGwtdGVtcGxhdGUuUywgbGluZSA4MS4iICJicmVha3BvaW50 IG9uIHNlbGVjdCIKLUluZGV4OiBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9zMzkw eC1wcm9sb2d1ZS1za2lwLm8udXUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwKLSsrKyBnZGIt Ny42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9zMzkweC1wcm9sb2d1ZS1za2lwLm8udXUKLUBA IC0wLDAgKzEsNjQgQEAKLStiZWdpbiA2NDQgczM5MHgtcHJvbG9ndWUtc2tpcC5vLnV1Ci0rTT9U NSwxQCgiYDBgYGBgYGBgYGBgYGBgIWAhOGBgYGAhYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YAotK01gYCtgYGBgYGBgIWBgYGBgYGAhYGAhKGAjXkxFXCFgYCkuTz9cJkBgKStEJGAuXkdeX11A WF4jUGBgYEQKLStNUC40YGBgYGBOMDBgYE5MRVwrYGAhYEouTjAwYFRLRCRgIiNgWTBgYGBgIlkh YGBNWl1fUSJgYCRJXzBgCi0rTSJMYDBgYGBgYCtcLyRgIkc9L183IkhaRzI/YCFOMiRgKSwiVGBg YGBgYD9eYGBgYDVAYCJgYGBgLjAkIQotK01eUFgtYGAkIWAwJGBgYGAhYGBgIStCWE88V0VTOSY1 UDxSXVU7RkVYYGAhUz43LUM4NlFMKzcxRTs3IUwKLStNODcxRStFLGBgMGBgYGBgKWBAYGBgYGBg YGBgYGBdYGBgMClGJFAoImBgJCFgYGBgQ1BgImBgYGBgYEAhCi0rTWBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYE4rQl1TPjctRDk3IVMrVzVOOjdATzxXRVM4ViVMOyJVVAotK005NlVQOyYlVDky WTNgIl1SO1ZdVCtWPUw6NilDK1Y9TDo2KUMrMyhOLDM8TS1TQE45NlBXK0ctUjhSXUcKLStNOyZF QjhSVFIrQyRXKzYsVy0zQUEtQ0BWK1ZVSTxWLGAxVFk1KCQlMygjKE4sQyxOLTMoTiwiWFFgKGAh Ci0rTWAxJGAkYDgxYDEoIWBQQDsiIjQoJFA0YGBgYGBgYGBgYGBgYGBgYGArYGAiYGBgYGBgQGBg YGBgYGBgYAotK01gYGBgYGBgYGBgYGBgYGBgYCZAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCVg YGBgYGAhPkUoYGA3QC4KLStNYDFMLCNaYCFgYGBgYGBgYCZgYGBgIVBgYGBgYGBgYGAxYCEsQ1A2 LiFIVCcyYFtgYEBgYGAhYGBgYGBYCi0rTWBgYGBgYGBgYCJgYGBgYGBgIllTPjZVVDg2KGArRy1U PEcxQThAYE48VkFTPScpVDg2KGArRylFOyYkTgotK009JjVYPWBgTjkmJVQ4MGBOOEctU2AiWU47 VzFFK0Q9LjUyVVM9JiVDOlBgTjxGNUw4MllEOTYpVTlVXUwKLStNOjZZRWAiWVI5NlFBK0YxRThH NUc3VkVOOUZcYCtGMUU4RzVHN1YlQjhHKUU9QGBOPEY1TDgyWUQ5NilVCi0rTTlVXUE8RiVOOVY1 U2AiWVI5NlFBK0Y1SDdWOVI4NlVFYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYAotK01gYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAK LStNYGBgYGBgYGAoYGBgYGAkYGBgYGBgYGBgIUBgYGBgYGBgYGBgYGBgYGBgYGBgJGBgYGBgYGBg YGA6YGBgCi0rTWBgYGBgYGBgYGBgYGBgYGBgYDBgYGBgYGBgYGBgYGBgYCFMYGBgYCRgYGBgYGBg YGBgYGBgYGBgYGBgYAotK01gYGBgYGBgYGBgRmBgYGBgYGBgYGAmYGBgYGAwYGBgYGAwYGBgYGBg YGBgKGBgYGBgYGBgYCFAYGBgYEYKLStNYGBgYGAwYGBgYGBgYGBgI2BgYGBgYGBgYGBgYGBgYGBg YGBgSmBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgCi0rTWBgYGBgYGBgIWBgYGBgYGBgYGBgYGBgYCtg YGBgYEBgYGBgYGBgYGBgUGBgYGBgYGBgYGBgYGBgYGBgYAotK01gKkBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYGBgMGBgYGBgYGBgYGBgYGBgIyRgYGBgIWBgYGAKLStNYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYGAiSGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAhCi0rTWBgYGBg YGBgYGBgYGBgISZgYGBgYDBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBKYGBgYGBgYAot K01gYCE6YGBgYGBgYGBgYGBgYGBgYGBgYGBgMGBgYGBgYGBgYGBgYGBgMDBgYGBgMGBgYGBgYGBg YGBgYGAKLStNYGBgYGBgYGBgYGBgYGBgYCI+YGBgYGBgYGBgYCZgYGBgIWBgYGBgJmBgYGBgYGBg YGBAYGBgYGBgYGBgCi0rTSZgYGBgJTxgYGBgIWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YCQiYGBgYGBgYGBgKSxgYGBgYAotK01gYGBgYGBgYGBgYGBgYGAhYGBgYGBgYGBgYGBgYGAhMmBg YGAhYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAKLStNYGBgYGBgYCleYGBgYGBgYGBgIUBgYGBgJGBg YGBgQGBgYGBgYGBgYCJgYGBgYGBgYGBgOGBgYGA4UGBgCi0rTWBgJGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYDk0YGBgYGBgYGBgJWBgYGBgYGBgYGBgYGBgYAotK01gYGBgYGAkYGBgYGBg YGBgYGBgYGAnOGBgYGAhYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgJlAKLStNYGBgYGBg YGBgI2BgYGBgYGBgYGBgYGBgYGBgYGBgYDBgYGBgYGBgYGBgYGBgYCFRYGBgYCFgYGBgYGBgCi0r TWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgKjZgYGBgYGBgYGBgUGBgYGAkYGBgYGBMYGBgYGBgYGBg ImBgYAotK01gYGBgYGBgOGBgYGBCQGBgYGAkYGBgYGBgYGBgYEBgYGBgYGBgYGBgYGBgYGBgYGBg PmBgYGBgYGBgYGAKLStNMmBgYGBgYGBgYGBgYGBgYGBgYGBgYEBgYGBgYGBgYGBgYGBgYCg0YGBg YCRgYGBgYGBgYGBgYGBgYGBgCi0rTWBgYGBgYGBgYGBgYGBgSihgYGBgYGBgYGAjYGBgYGAwYGBg YCMwYGBgYGBgYGBgKGBgYGBgYGBgYCFAYAotK01gYGAxYGBgYGBQYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGAiKmBgYGBgYGBgYCI0YGBgYGBgYGAKLStNYGBgYGBgYGBgYGBgYDBgYGBgYGBg YGBgYGBgYGAwYGBgYChgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgCi0rTWBgYGAhVGBgYGBgYGBg YCFMYGBgYCEkYGBgYCpgYGBgYGBgYGBgQGBgYGBgYGBgYCZgYGBgYERgYGBgIwotK01gYGBgYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBDUGBgYGBgYGBgYChYYGBgYGBgYGBgYGBgYGBgYGAKLStN YGBgIWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBQYGBg MGBgCi0rTWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBQYGBgUGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYFBgYAotK00hYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYFBgYCJgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYGBgYGAKLStNYFBgYCJAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgUGBg IUBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgCi0rTWBgYGBgUGBgIlBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBQYGAjMGBgYGBgYGBgYGBgYGBgYGBgYAotK01gYGBgYGBgYGBQYGAhMGBgYGBgYGBg YGBgYGBgYGBgYGBgYGBgYGAhJGBgYGBgYGBgYGBgYGBgYGBgYGAKLStNYGBgYGBgYGBgYGA7JGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYFYkQGBgYDBgYGBgYGBgYCEoCi0rTWBgYGBgYGBg YCJgYGBgYF8kYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAhNyRAYGBgMGBgYGBgYAotK01g YCE2YGBgYGBgYGBgIWBgYGAhSSRgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCFZKEBgYGAw YGAKLStNYGBgYGBgIShgYGBgYGBgYGAiYGBgYCInKEBgYGAwYGBgYGBgYGAhKGBgYGBgYGBgYCJg YDdVXUw6NilDCi0rTTdWNU44NilMOTVdQTxXRU44Vi1BO0YtRTtgIT83VlFJOEYtPzkmRVM4NilM OTVdQTxXRU44Vi1BO0YtRQotK007YCE/N1ctRTsmNUM9YCE/N1ZRSThGLT87NzVMPSZFUDsmNT89 JkFSOTYlRDxQIT83Vy1FOyY1Qz0lXU4KLStNO1YtQTtGLUU7YCE/N1ctWTxWLUE7JlE/OTcpUjtX KGA3VV1MOjYpQzdXLUU7JjVDPWAhUzk2UUU4VzBgCi0rTWBgYGBgYGBgYGBgYCdgYGBgYEhgYGBg M2BgYGBgYGBgYGAoYGBgYGBgYGBgLUBgYGBgTGBgYGAzYGBgYAotK01gYGBgYGAoYGBgYGBgYGBg MkBgYGBgVGBgYGAzYGBgYGBgYGBgYChgYGBgYGBgYGA4QGBgYGBcYGBgYDMKLStNYGBgYGBgYGBg YChgYGBgYGBgYGAxQGBgYGAkYGBgYDZgYGBgYGBgYGBgYGBgYGBgYGBgYCFAYGBgYDRgCi0rTWBg YCRgYGBgYGBgYGBgYGBgYGBgYGBgYCNgYGBgYDhgYGBgJGBgYGBgYGBgYGBgYGBgYGBgYGBgJGBg YAotK01gYCRgYGBgNmBgYGBgYGBgYGBgYGBgYGBgYGBgJmBgYGBgJGBgYGA2YGBgYGBgYGBgJkBg YGBgYGBgYGAKLStNIUBgYGBgMGBgYGAkYGBgYGBgYGBgYGBgYGBgYGBgYGAkYGBgYGAkYGBgYDZg YGBgYGBgYGBgYGBgYGBgCi0rTGBgYGAoYGBgYGAkYGBgYCVgYGBgYGBgYGBgYGBgYGBgYGBgYC9g YGBgYCRgYGBgJWBgYGBgYGBgYCRAYAotK2AKLStlbmQKLUluZGV4OiBnZGItNy42LjEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9wcGM2NC1wcm9sb2d1ZS1za2lwLmV4cAotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcHBjNjQtcHJvbG9ndWUtc2tpcC5leHAg Yi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNraXAuZXhwCituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMmY1NGMxZjk4MQogLS0tIC9kZXYvbnVs bAotKysrIGdkYi03LjYuMS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNr aXAuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNraXAu ZXhwCiBAQCAtMCwwICsxLDM0IEBACiArIyBDb3B5cmlnaHQgMjAxNSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KICsKQEAgLTE1NSwxMCArNjMsMTEgQEAgSW5kZXg6IGdkYi03LjYuMS9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYzY0LXByb2xvZ3VlLXNraXAuZXhwCiArZ2RiX2xvYWQg JG9maWxlCiArCiArZ2RiX3Rlc3QgImJyZWFrIF9fX25ld3NlbGVjdF9ub2NhbmNlbCIgIkJyZWFr cG9pbnQgJGRlY2ltYWwgYXQgMHhjOiBmaWxlIC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBs YXRlLlMsIGxpbmUgODEuIiAiYnJlYWtwb2ludCBvbiBfX19uZXdzZWxlY3Rfbm9jYW5jZWwiCi1J bmRleDogZ2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcHBjNjQtcHJvbG9ndWUtc2tp cC5vLnV1Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9w cGM2NC1wcm9sb2d1ZS1za2lwLm8udXUgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3BwYzY0LXBy b2xvZ3VlLXNraXAuby51dQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAu LjkxOTZiYmFjNDcKIC0tLSAvZGV2L251bGwKLSsrKyBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYXJjaC9wcGM2NC1wcm9sb2d1ZS1za2lwLm8udXUKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvcHBjNjQtcHJvbG9ndWUtc2tpcC5vLnV1CiBAQCAtMCwwICsxLDcwIEBACiArYmVnaW4g NjQ0IHBwYzY0LXNraXAtcHJvbG9ndWUuby51dQogK00/VDUsMUAoImAwYGBgYGBgYGBgYGBgYCFg ITRgYGBgIWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAKQEAgLTIzMCwzICsxMzksMTE2IEBA IEluZGV4OiBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wcGM2NC1wcm9sb2d1ZS1z a2lwLm8udXUKICs2YGBgYGBgYDxgYGBgYDBgYGAhSGBgYGBgYGBgYGBgYGAKICtgCiArZW5kCitk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9zMzkweC1wcm9sb2d1ZS1za2lwLmV4 cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvczM5MHgtcHJvbG9ndWUtc2tpcC5leHAKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5kZjNhY2Y4YzAyCistLS0gL2Rldi9u dWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3MzOTB4LXByb2xvZ3VlLXNraXAuZXhw CitAQCAtMCwwICsxLDM0IEBACisrIyBDb3B5cmlnaHQgMjAxNSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KKysKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws CisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisraWYgeyAh W2lzdGFyZ2V0IHMzOTB4LSpsaW51eC0qXSB8fCAhW2lzX2xwNjRfdGFyZ2V0XSB9IHsKKysgICAg dmVyYm9zZSAiU2tpcHBpbmcgczM5MHgtcHJvbG9ndWUtc2tpcC5leHAiCisrICAgIHJldHVybgor K30KKysKKytzZXQgdGVzdGZpbGUgInMzOTB4LXByb2xvZ3VlLXNraXAiCisrc2V0IHV1ZmlsZSAi JHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3Rlc3RmaWxlfS5vLnV1IgorK3NldCBvZmlsZSAiJHtzcmNk aXJ9LyR7c3ViZGlyfS8ke3Rlc3RmaWxlfS5vIgorKworK2lmIHsgW2NhdGNoICJzeXN0ZW0gXCJ1 dWRlY29kZSAtbyAke29maWxlfSAke3V1ZmlsZX1cIiIgXSAhPSAwIH0geworKyAgICB1bnRlc3Rl ZCAiZmFpbGVkIHV1ZGVjb2RlIgorKyAgICByZXR1cm4gLTEKKyt9CisrCisrZ2RiX2V4aXQKKytn ZGJfc3RhcnQKKytnZGJfbG9hZCAkb2ZpbGUKKysKKytnZGJfdGVzdCAiYnJlYWsgc2VsZWN0IiAi QnJlYWtwb2ludCAkZGVjaW1hbCBhdCAweDQ4OiBmaWxlIC4uL3N5c2RlcHMvdW5peC9zeXNjYWxs LXRlbXBsYXRlLlMsIGxpbmUgODEuIiAiYnJlYWtwb2ludCBvbiBzZWxlY3QiCitkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9zMzkweC1wcm9sb2d1ZS1za2lwLm8udXUgYi9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL3MzOTB4LXByb2xvZ3VlLXNraXAuby51dQorbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjY0NDJlNjA0OGQKKy0tLSAvZGV2L251bGwKKysr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvczM5MHgtcHJvbG9ndWUtc2tpcC5vLnV1CitAQCAt MCwwICsxLDY0IEBACisrYmVnaW4gNjQ0IHMzOTB4LXByb2xvZ3VlLXNraXAuby51dQorK00/VDUs MUAoImAwYGBgYGBgYGBgYGBgYCFgIThgYGBgIWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAK KytNYGArYGBgYGBgYCFgYGBgYGBgIWBgIShgI15MRVwhYGApLk8/XCZAYCkrRCRgLl5HXl9dQFhe I1BgYGBECisrTVAuNGBgYGBgTjAwYGBOTEVcK2BgIWBKLk4wMGBUS0QkYCIjYFkwYGBgYCJZIWBg TVpdX1EiYGAkSV8wYAorK00iTGAwYGBgYGArXC8kYCJHPS9fNyJIWkcyP2AhTjIkYCksIlRgYGBg YGA/XmBgYGA1QGAiYGBgYC4wJCEKKytNXlBYLWBgJCFgMCRgYGBgIWBgYCErQlhPPFdFUzkmNVA8 Ul1VO0ZFWGBgIVM+Ny1DODZRTCs3MUU7NyFMCisrTTg3MUUrRSxgYDBgYGBgYClgQGBgYGBgYGBg YGBgXWBgYDApRiRQKCJgYCQhYGBgYENQYCJgYGBgYGBAIQorK01gYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBOK0JdUz43LUQ5NyFTK1c1Tjo3QE88V0VTOFYlTDsiVVQKKytNOTZVUDsmJVQ5Mlkz YCJdUjtWXVQrVj1MOjYpQytWPUw6NilDKzMoTiwzPE0tU0BOOTZQVytHLVI4Ul1HCisrTTsmRUI4 UlRSK0MkVys2LFctM0FBLUNAVitWVUk8VixgMVRZNSgkJTMoIyhOLEMsTi0zKE4sIlhRYChgIQor K01gMSRgJGA4MWAxKCFgUEA7IiI0KCRQNGBgYGBgYGBgYGBgYGBgYGBgK2BgImBgYGBgYEBgYGBg YGBgYGAKKytNYGBgYGBgYGBgYGBgYGBgYGAmQGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAlYGBg YGBgIT5FKGBgN0AuCisrTWAxTCwjWmAhYGBgYGBgYGAmYGBgYCFQYGBgYGBgYGBgMWAhLENQNi4h SFQnMmBbYGBAYGBgIWBgYGBgWAorK01gYGBgYGBgYGAiYGBgYGBgYCJZUz42VVQ4NihgK0ctVDxH MUE4QGBOPFZBUz0nKVQ4NihgK0cpRTsmJE4KKytNPSY1WD1gYE45JiVUODBgTjhHLVNgIllOO1cx RStEPS41MlVTPSYlQzpQYE48RjVMODJZRDk2KVU5VV1MCisrTTo2WUVgIllSOTZRQStGMUU4RzVH N1ZFTjlGXGArRjFFOEc1RzdWJUI4RylFPUBgTjxGNUw4MllEOTYpVQorK005VV1BPEYlTjlWNVNg IllSOTZRQStGNUg3VjlSODZVRWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAKKytNYGBgYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgCisr TWBgYGBgYGBgKGBgYGBgJGBgYGBgYGBgYCFAYGBgYGBgYGBgYGBgYGBgYGBgYCRgYGBgYGBgYGBg OmBgYAorK01gYGBgYGBgYGBgYGBgYGBgYGAwYGBgYGBgYGBgYGBgYGAhTGBgYGAkYGBgYGBgYGBg YGBgYGBgYGBgYGAKKytNYGBgYGBgYGBgYEZgYGBgYGBgYGBgJmBgYGBgMGBgYGBgMGBgYGBgYGBg YChgYGBgYGBgYGAhQGBgYGBGCisrTWBgYGBgMGBgYGBgYGBgYCNgYGBgYGBgYGBgYGBgYGBgYGBg YEpgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYAorK01gYGBgYGBgYCFgYGBgYGBgYGBgYGBgYGArYGBg YGBAYGBgYGBgYGBgYFBgYGBgYGBgYGBgYGBgYGBgYGAKKytNYCpAYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYDBgYGBgYGBgYGBgYGBgYCMkYGBgYCFgYGBgCisrTWBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgIkhgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgIQorK01gYGBgYGBg YGBgYGBgYCEmYGBgYGAwYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgSmBgYGBgYGAKKytN YGAhOmBgYGBgYGBgYGBgYGBgYGBgYGBgYDBgYGBgYGBgYGBgYGBgYDAwYGBgYDBgYGBgYGBgYGBg YGBgCisrTWBgYGBgYGBgYGBgYGBgYGAiPmBgYGBgYGBgYGAmYGBgYCFgYGBgYCZgYGBgYGBgYGBg QGBgYGBgYGBgYAorK00mYGBgYCU8YGBgYCFgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAk ImBgYGBgYGBgYCksYGBgYGAKKytNYGBgYGBgYGBgYGBgYGBgIWBgYGBgYGBgYGBgYGBgITJgYGBg IWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgCisrTWBgYGBgYGApXmBgYGBgYGBgYCFAYGBgYCRgYGBg YEBgYGBgYGBgYGAiYGBgYGBgYGBgYDhgYGBgOFBgYAorK01gYCRgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGA5NGBgYGBgYGBgYCVgYGBgYGBgYGBgYGBgYGAKKytNYGBgYGBgJGBgYGBgYGBg YGBgYGBgJzhgYGBgIWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCZQCisrTWBgYGBgYGBg YCNgYGBgYGBgYGBgYGBgYGBgYGBgYGAwYGBgYGBgYGBgYGBgYGAhUWBgYGAhYGBgYGBgYAorK01g YGBgYGBgYGBgYGBgYGBgYGBgYGBgYCo2YGBgYGBgYGBgYFBgYGBgJGBgYGBgTGBgYGBgYGBgYCJg YGAKKytNYGBgYGBgYDhgYGBgQkBgYGBgJGBgYGBgYGBgYGBAYGBgYGBgYGBgYGBgYGBgYGBgYD5g YGBgYGBgYGBgCisrTTJgYGBgYGBgYGBgYGBgYGBgYGBgYGBAYGBgYGBgYGBgYGBgYGAoNGBgYGAk YGBgYGBgYGBgYGBgYGBgYAorK01gYGBgYGBgYGBgYGBgYEooYGBgYGBgYGBgI2BgYGBgMGBgYGAj MGBgYGBgYGBgYChgYGBgYGBgYGAhQGAKKytNYGBgMWBgYGBgUGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgYGBgIipgYGBgYGBgYGAiNGBgYGBgYGBgCisrTWBgYGBgYGBgYGBgYGAwYGBgYGBgYGBg YGBgYGBgMGBgYGAoYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYAorK01gYGBgIVRgYGBgYGBgYGAh TGBgYGAhJGBgYGAqYGBgYGBgYGBgYEBgYGBgYGBgYGAmYGBgYGBEYGBgYCMKKytNYGBgYGBgYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgQ1BgYGBgYGBgYGAoWGBgYGBgYGBgYGBgYGBgYGBgCisrTWBg YCFgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgUGBgYDBg YAorK01gYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgUGBgYFBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBQYGAKKytNIWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBQYGAiYGBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYGBgCisrTWBQYGAiQGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYFBgYCFA YGBgYGBgYGBgYGBgYGBgYGBgYGBgYAorK01gYGBgYFBgYCJQYGBgYGBgYGBgYGBgYGBgYGBgYGBg YGBgYGBgUGBgIzBgYGBgYGBgYGBgYGBgYGBgYGAKKytNYGBgYGBgYGBgUGBgITBgYGBgYGBgYGBg YGBgYGBgYGBgYGBgYGBgISRgYGBgYGBgYGBgYGBgYGBgYGBgCisrTWBgYGBgYGBgYGBgOyRgYGBg YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBWJEBgYGAwYGBgYGBgYGAhKAorK01gYGBgYGBgYGAi YGBgYGBfJGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgITckQGBgYDBgYGBgYGAKKytNYGAh NmBgYGBgYGBgYCFgYGBgIUkkYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAhWShAYGBgMGBg CisrTWBgYGBgYCEoYGBgYGBgYGBgImBgYGAiJyhAYGBgMGBgYGBgYGBgIShgYGBgYGBgYGAiYGA3 VV1MOjYpQworK003VjVOODYpTDk1XUE8V0VOOFYtQTtGLUU7YCE/N1ZRSThGLT85JkVTODYpTDk1 XUE8V0VOOFYtQTtGLUUKKytNO2AhPzdXLUU7JjVDPWAhPzdWUUk4Ri0/Ozc1TD0mRVA7JjU/PSZB Ujk2JUQ8UCE/N1ctRTsmNUM9JV1OCisrTTtWLUE7Ri1FO2AhPzdXLVk8Vi1BOyZRPzk3KVI7Vyhg N1VdTDo2KUM3Vy1FOyY1Qz1gIVM5NlFFOFcwYAorK01gYGBgYGBgYGBgYGAnYGBgYGBIYGBgYDNg YGBgYGBgYGBgKGBgYGBgYGBgYC1AYGBgYExgYGBgM2BgYGAKKytNYGBgYGBgKGBgYGBgYGBgYDJA YGBgYFRgYGBgM2BgYGBgYGBgYGAoYGBgYGBgYGBgOEBgYGBgXGBgYGAzCisrTWBgYGBgYGBgYGAo YGBgYGBgYGBgMUBgYGBgJGBgYGA2YGBgYGBgYGBgYGBgYGBgYGBgYGAhQGBgYGA0YAorK01gYGAk YGBgYGBgYGBgYGBgYGBgYGBgYGAjYGBgYGA4YGBgYCRgYGBgYGBgYGBgYGBgYGBgYGBgYCRgYGAK KytNYGAkYGBgYDZgYGBgYGBgYGBgYGBgYGBgYGBgYCZgYGBgYCRgYGBgNmBgYGBgYGBgYCZAYGBg YGBgYGBgCisrTSFAYGBgYDBgYGBgJGBgYGBgYGBgYGBgYGBgYGBgYGBgJGBgYGBgJGBgYGA2YGBg YGBgYGBgYGBgYGBgYAorK0xgYGBgKGBgYGBgJGBgYGAlYGBgYGBgYGBgYGBgYGBgYGBgYGAvYGBg YGAkYGBgYCVgYGBgYGBgYGAkQGAKKytgCisrZW5kCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0 IGEvZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoIGIv Z2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCmluZGV4 IDI1NmZmOTAuLjZiYWMyNDMgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNj YWxsLWFmdGVyLWZvcmstdGVzdC5wYXRjaAorKysgYi9nZGItcmhiejExNDkyMDUtY2F0Y2gtc3lz Y2FsbC1hZnRlci1mb3JrLXRlc3QucGF0Y2gKQEAgLTEsOSArMSwxNCBAQAorRnJvbSAyZWY1NDMx YTM2OWEyNzY4NDM3NjU5Y2FiNjQ0YmJkOTgzZjNlZGMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZy aSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1yaGJ6MTE0OTIwNS1j YXRjaC1zeXNjYWxsLWFmdGVyLWZvcmstdGVzdC5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLXJoYnox MTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCiAKKzs7IEZpeCAnYGNh dGNoIHN5c2NhbGwnIGRvZXNuJ3Qgd29yayBmb3IgcGFyZW50IGFmdGVyIGBmb3JrJyBpcyBjYWxs ZWQnCis7OyAoUGhpbGlwcGUgV2Fyb3F1aWVycywgUkggQlogMTE0OTIwNSkuCis7Oz1mZWRvcmF0 ZXN0CisKIFVSTDogPGh0dHBzOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMy0w NS9tc2cwMDM2NC5odG1sPgogTWVzc2FnZS1JRDogPDEzNjgxMzY1ODIuMzAwNTguNy5jYW1lbEBz b2xlaWw+CiAKQEAgLTM4LDExICs0MywxOCBAQCBBdXRob3I6IFBoaWxpcHBlIFdhcm9xdWllcnMg PHBoaWxpcHBlQHNvdXJjZXdhcmUub3JnPgogRGF0ZTogICBUdWUgTWF5IDIxIDE4OjQ3OjA1IDIw MTMgKzAwMDAKIAogICAgIEZpeCBpbnRlcm5hbCBlcnJvciBjYXVzZWQgYnkgaW50ZXJhY3Rpb24g YmV0d2VlbiBjYXRjaCBzaWduYWwgYW5kIGZvcmsKKy0tLQorIC4uLi9nZGIuYmFzZS9nZGItcmhi ejExNDkyMDUtY2F0Y2gtc3lzY2FsbC1mb3JrLmMgIHwgMTEgKysrKworIC4uLi9nZGItcmhiejEx NDkyMDUtY2F0Y2gtc3lzY2FsbC1mb3JrLmV4cCAgICAgICAgIHwgNTggKysrKysrKysrKysrKysr KysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNj YWxsLWZvcmsuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dk Yi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWZvcmsuZXhwCiAKLUluZGV4OiBnZGItNy4xMi9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWZvcmsu YwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTQ5 MjA1LWNhdGNoLXN5c2NhbGwtZm9yay5jCTIwMTYtMTAtMjAgMjE6MDM6MDkuNTg0MjcyNjk1ICsw MjAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNDkyMDUt Y2F0Y2gtc3lzY2FsbC1mb3JrLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE0 OTIwNS1jYXRjaC1zeXNjYWxsLWZvcmsuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAwMDAuLjk0NzI1OGUyMmYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtZm9yay5jCiBAQCAtMCwwICsx LDExIEBACiArI2luY2x1ZGUgPHN0ZGlvLmg+CiArI2luY2x1ZGUgPHVuaXN0ZC5oPgpAQCAtNTUs MTAgKzY3LDExIEBAIEluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1y aGJ6MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWZvcmsuYwogKyAgY2hkaXIgKCIuIik7CiArICByZXR1 cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhi ejExNDkyMDUtY2F0Y2gtc3lzY2FsbC1mb3JrLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtZm9yay5leHAJ MjAxNi0xMC0yMCAyMTowNDoxMy4zMzc3NzExNzQgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWZvcmsuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNDkyMDUtY2F0Y2gtc3lzY2FsbC1mb3Jr LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjk2ZDMxZDcwMTgK Ky0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTQ5 MjA1LWNhdGNoLXN5c2NhbGwtZm9yay5leHAKIEBAIC0wLDAgKzEsNTggQEAKICsjIENvcHlyaWdo dCAyMDE1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTE4LDMgKzEzMSw2 IEBAIEluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE0OTIw NS1jYXRjaC1zeXNjYWxsLWZvcmsuZXhwCiArZ2RiX3Rlc3QgImNvbnRpbnVlIiBcCiArICAiQ29u dGludWluZ1wuXHJcbi4qXHJcbkNhdGNocG9pbnQgJGRlY2ltYWwgXFxcKGNhbGwgdG8gc3lzY2Fs bCAuP2NoZGlyLj8uKiIgXAogKyAgImNvbnRpbnVlIGZyb20gY2F0Y2ggc3lzY2FsbCBhZnRlciBm b3JrIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNp dmUtZGxvcGVuLXRlc3QucGF0Y2ggYi9nZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi10 ZXN0LnBhdGNoCmluZGV4IDM0OTdiNjcuLjlkOTM1ODggMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6MTE1 NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLXRlc3QucGF0Y2gKKysrIGIvZ2RiLXJoYnoxMTU2MTkyLXJl Y3Vyc2l2ZS1kbG9wZW4tdGVzdC5wYXRjaApAQCAtMSwxMyArMSwyOSBAQAorRnJvbSA0YTk3MDlk NzQ1YWVhOTAwYzE5NTU0ZjUxY2Y1MjY4MDBkYjAyMGRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZy aSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1yaGJ6MTE1NjE5Mi1y ZWN1cnNpdmUtZGxvcGVuLXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1yaGJ6MTE1NjE5Mi1y ZWN1cnNpdmUtZGxvcGVuLXRlc3QucGF0Y2gKIAotSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tbGliYmFyLmMKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1y ZWN1cnNpdmUtZGxvcGVuLWxpYmJhci5jCTIwMTYtMTAtMjIgMjI6MTA6MTMuMjYyNjM0MTQ0ICsw MjAwCis7OyBUZXN0Y2FzZSBmb3IgJ1tTQVBdIFJlY3Vyc2l2ZSBkbG9wZW4gY2F1c2VzIFNBUCBI QU5BIGluc3RhbGxlciB0bworOzsgY3Jhc2guJyAoUkggQlogMTE1NjE5MikuCis7Oz1mZWRvcmF0 ZXN0CistLS0KKyAuLi4vZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tbGliYmFyLmMg ICAgICB8ICAzMCArKysrKworIC4uLi9nZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi1s aWJmb28uYyAgICAgIHwgIDMwICsrKysrCisgLi4uL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1y ZWN1cnNpdmUtZGxvcGVuLmMgICAgfCAxMjQgKysrKysrKysrKysrKysrKysrKworIC4uLi9nZGIu YmFzZS9nZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi5leHAgIHwgMTM3ICsrKysrKysr KysrKysrKysrKysrKworIDQgZmlsZXMgY2hhbmdlZCwgMzIxIGluc2VydGlvbnMoKykKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNTYxOTItcmVj dXJzaXZlLWRsb3Blbi1saWJiYXIuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLWxpYmZvby5jCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJl Y3Vyc2l2ZS1kbG9wZW4uYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLmV4cAorCitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi1s aWJiYXIuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2 ZS1kbG9wZW4tbGliYmFyLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw Li42ZWNmNTBkMmFkCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLWxpYmJhci5jCiBAQCAtMCwwICsxLDMw IEBACiArLyogVGVzdGNhc2UgZm9yIHJlY3Vyc2l2ZSBkbG9wZW4gY2FsbHMuCiArCkBAIC0zOSwx MCArNTUsMTEgQEAgSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJo YnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tbGliYmFyLmMKICt7CiArICBwcmludGYgKCJDYWxs ZWQgYmFyLlxuIik7CiArfQotSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Z2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tbGliZm9vLmMKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxv cGVuLWxpYmZvby5jCTIwMTYtMTAtMjIgMjI6MTA6MTMuMjYyNjM0MTQ0ICswMjAwCitkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRs b3Blbi1saWJmb28uYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJl Y3Vyc2l2ZS1kbG9wZW4tbGliZm9vLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwLi5lNDUyMzkzM2RiCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLWxpYmZvby5jCiBAQCAtMCww ICsxLDMwIEBACiArLyogVGVzdGNhc2UgZm9yIHJlY3Vyc2l2ZSBkbG9wZW4gY2FsbHMuCiArCkBA IC03NCwxMCArOTEsMTEgQEAgSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Z2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tbGliZm9vLmMKICt7CiArICBwcmludGYg KCJDYWxsZWQgZm9vLlxuIik7CiArfQotSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4uYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9w ZW4uYwkyMDE2LTEwLTIyIDIyOjEwOjEzLjI2MjYzNDE0NCArMDIwMAorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4uYyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4u YworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjE3YjI5OTA0ZWYKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTky LXJlY3Vyc2l2ZS1kbG9wZW4uYwogQEAgLTAsMCArMSwxMjQgQEAKICsvKiBUZXN0Y2FzZSBmb3Ig cmVjdXJzaXZlIGRsb3BlbiBjYWxscy4KICsKQEAgLTIwMywxMCArMjIxLDExIEBAIEluZGV4OiBn ZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUt ZGxvcGVuLmMKICsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLmV4cAotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vy c2l2ZS1kbG9wZW4uZXhwCTIwMTYtMTAtMjQgMjM6MjE6NTguMDQzMDY0MTc3ICswMjAwCitkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNTYxOTItcmVjdXJzaXZl LWRsb3Blbi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1 cnNpdmUtZGxvcGVuLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAu LjJjMzI2NzZlNTAKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Z2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4uZXhwCiBAQCAtMCwwICsxLDEzNyBAQAog KyMgQ29weXJpZ2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIwpAQCAt MzQ1LDMgKzM2NCw2IEBAIEluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dk Yi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLmV4cAogK30KICsKICt0ZXN0X3N0b3Bfb25f c29saWJfZXZlbnRzCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxMTg2NDc2 LWludGVybmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LXRlc3QucGF0Y2ggYi9nZGIt cmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5w YXRjaAppbmRleCBkYjA5M2M2Li41ZDdjODkwIDEwMDY0NAotLS0gYS9nZGItcmhiejExODY0NzYt aW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5wYXRjaAorKysgYi9n ZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVz dC5wYXRjaApAQCAtMSw5ICsxLDE1IEBACitGcm9tIDhhMTY5ZDVmYmUwNTc2NWRlY2VmZDdmMzM2 OTFkNTdmZWM5NjMyMTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RC IHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTow Nzo1MCArMDIwMAogU3ViamVjdDogZ2RiLXJoYnoxMTg2NDc2LWludGVybmFsLWVycm9yLXVucXVh bGlmaWVkLW5hbWUtcmUtc2V0LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1yaGJ6MTE4NjQ3 Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC10ZXN0LnBhdGNoCiAKKzs7 IEZpeCAnYmFja3BvcnQgR0RCIDcuNCBmaXggdG8gUkhFTCA2LjYgR0RCJyBbT3JpZ2luYWwgU291 cmNld2FyZSBidWcKKzs7IGRlc2NyaXB0aW9uOiAnQysrIChhbmQgb2JqYyk6IEludGVybmFsIGVy cm9yIG9uIHVucXVhbGlmaWVkIG5hbWUKKzs7IHJlLXNldCcsIFBSIDExNjU3XSAoUkggQlogMTE4 NjQ3NikuCis7Oz1mZWRvcmF0ZXN0CisKIENvbW1lbnRzIGZyb20gU2VyZ2lvIER1cmlnYW4gSnVu aW9yOgogCiAgIFRoZSAicHJvcGVyIiBmaXggZm9yIHRoaXMgd2hvbGUgcHJvYmxlbSB3b3VsZCBi ZSB0byBiYWNrcG9ydCB0aGUKQEAgLTE0LDExICsyMCwyMCBAQCBDb21tZW50cyBmcm9tIFNlcmdp byBEdXJpZ2FuIEp1bmlvcjoKICAgYWxsb3dzIHRoZSB1c2VyIHRvIGNvbnRpbnVlIHRoZSBkZWJ1 Z2dpbmcgc2Vzc2lvbiksIGFuZCB0ZWxsIHRoZQogICB1c2VyIHRoYXQsIGFsdGhvdWdoIG1vcmUg dGhhbiBvbmUgbG9jYXRpb24gd2FzIGZvdW5kIGZvciBoaXMvaGVyCiAgIGJyZWFrcG9pbnQsIG9u bHkgb25lIHdpbGwgYmUgdXNlZC4KKy0tLQorIC4uLi1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmll ZC1uYW1lLXJlLXNldC1tYWluLmNjIHwgMjIgKysrKysrKysrKworIC4uLjg2NDc2LWludGVybmFs LWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LmNjIHwgMjYgKysrKysrKysrKysKKyAuLi42 NDc2LWludGVybmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LmV4cCB8IDUxICsrKysr KysrKysrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDk5IGluc2VydGlvbnMoKykKKyBj cmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiLXJoYnoxMTg2NDc2LWlu dGVybmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LW1haW4uY2MKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiLXJoYnoxMTg2NDc2LWludGVybmFsLWVy cm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LmNjCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90 ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmll ZC1uYW1lLXJlLXNldC5leHAKIAotSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmNw L2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC1t YWluLmNjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiLXJoYnox MTg2NDc2LWludGVybmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LW1haW4uY2MJMjAx Ni0xMC0yMCAyMTowNjozMS44NDk4NTQxODAgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9nZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFt ZS1yZS1zZXQtbWFpbi5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1p bnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC1tYWluLmNjCituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMWM5ZjhlYWJjMQorLS0tIC9kZXYvbnVsbAor KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiLXJoYnoxMTg2NDc2LWludGVybmFsLWVycm9y LXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LW1haW4uY2MKIEBAIC0wLDAgKzEsMjIgQEAKICsvKiBU aGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtNDIs MTAgKzU3LDExIEBAIEluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGItcmhi ejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtCiArewogKyAgcmV0dXJuIDA7CiAr fQotSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1p bnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC5jYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11 bnF1YWxpZmllZC1uYW1lLXJlLXNldC5jYwkyMDE2LTEwLTIwIDIxOjA2OjMxLjg1MDg1NDE4OCAr MDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1p bnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC5jYyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJl LXNldC5jYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjAwNzg1NGIw YzQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4 NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC5jYwogQEAgLTAsMCAr MSwyNiBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdn ZXIuCiArCkBAIC03MywxMCArODksMTEgQEAgSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUv Z2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC0KICsKICtD IGE7CiArQyBiICgxKTsKLUluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGIt cmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQuZXhwCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiLXJoYnoxMTg2NDc2LWlu dGVybmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUtc2V0LmV4cAkyMDE2LTEwLTIwIDIxOjA5 OjMzLjQwODI3MDUyNiArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dk Yi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC5leHAg Yi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5x dWFsaWZpZWQtbmFtZS1yZS1zZXQuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMDAwMC4uMTliMjUzMDk2OQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3AvZ2RiLXJoYnoxMTg2NDc2LWludGVybmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUt c2V0LmV4cAogQEAgLTAsMCArMSw1MSBAQAogKyMgQ29weXJpZ2h0IDIwMTUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMjksMyArMTQ2LDYgQEAgSW5kZXg6IGdkYi03LjEy L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1 YWxpZmllZC0KICtnZGJfdGVzdCAicnVuIgogKwogK2dkYl90ZXN0ICJpbmZvIGJyZWFrIiAiIGlu IEM6OkNcXChcXCkgYXQgLiogaW4gQzo6Q1xcKGludFxcKSBhdCAuKiIKKy0tIAorMi4xNC4zCisK CmRpZmYgLS1naXQgYS9nZGItcmhiejEyMjg1NTYtYnB0LWlubGluZWQtZnVuYy1uYW1lLTFvZjIu cGF0Y2ggYi9nZGItcmhiejEyMjg1NTYtYnB0LWlubGluZWQtZnVuYy1uYW1lLTFvZjIucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2YjVmOTEuLjAwMDAwMDAKLS0tIGEvZ2Ri LXJoYnoxMjI4NTU2LWJwdC1pbmxpbmVkLWZ1bmMtbmFtZS0xb2YyLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMTQyICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBl bWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0 OiBnZGItcmhiejEyMjg1NTYtYnB0LWlubGluZWQtZnVuYy1uYW1lLTFvZjIucGF0Y2gKLQotRmls ZU5hbWU6IGdkYi1yaGJ6MTIyODU1Ni1icHQtaW5saW5lZC1mdW5jLW5hbWUtMW9mMi5wYXRjaAot Ci1jb21taXQgMDY4NzFhZTg0MDk2ZWQxNjcyZWI3NmY0NGNlYTRkNWRiZTc5YWUyNAotQXV0aG9y OiBQZWRybyBBbHZlcyA8cGFsdmVzQHJlZGhhdC5jb20+Ci1EYXRlOiAgIFdlZCBTZXAgMjAgMTY6 MTI6NTQgMjAxNyArMDEwMAotCi0gICAgTWFrZSAibGlzdCBhbWJpZ3VvdXMiIHNob3cgc3ltYm9s IG5hbWVzIHRvbwotICAgIAotICAgIEN1cnJlbnRseSwgd2l0aCBhbiBhbWJpZ3VvdXMgImxpc3Qg Zmlyc3QsbGFzdCIsIHdlIGdldDoKLSAgICAKLSAgICAgIChnZGIpIGxpc3QgYmFyLG1haW4KLSAg ICAgIFNwZWNpZmllZCBmaXJzdCBsaW5lICdiYXInIGlzIGFtYmlndW91czoKLSAgICAgIGZpbGU6 ICJzcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Avb3ZlcmxvYWQuY2MiLCBsaW5lIG51bWJlcjogOTcK LSAgICAgIGZpbGU6ICJzcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Avb3ZlcmxvYWQuY2MiLCBsaW5l IG51bWJlcjogOTgKLSAgICAKLSAgICBUaGlzIGNvbW1pdCBtYWtlcyBnZGIncyBvdXRwdXQgYWJv dmUgYSBiaXQgY2xlYXJlciBieSBwcmludGluZyB0aGUKLSAgICBzeW1ib2wgbmFtZSBhcyB3ZWxs OgotICAgIAotICAgICAgKGdkYikgbGlzdCBiYXIsbWFpbgotICAgICAgU3BlY2lmaWVkIGZpcnN0 IGxpbmUgJ2JhcicgaXMgYW1iaWd1b3VzOgotICAgICAgZmlsZTogInNyYy9nZGIvdGVzdHN1aXRl L2dkYi5jcC9vdmVybG9hZC5jYyIsIGxpbmUgbnVtYmVyOiA5Nywgc3ltYm9sOiAiYmFyKEEpIgot ICAgICAgZmlsZTogInNyYy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9vdmVybG9hZC5jYyIsIGxpbmUg bnVtYmVyOiA5OCwgc3ltYm9sOiAiYmFyKEIpIgotICAgIAotICAgIEFuZCB3aGlsZSBhdCBpdCwg bWFrZXMgZ2RiIHByaW50IHRoZSBzeW1ib2wgbmFtZSB3aGVuIGFjdHVhbGx5IGxpc3RpbmcKLSAg ICBtdWx0aXBsZSBsb2NhdGlvbnMgdG9vLiAgSS5lLiwgYmVmb3JlICh3aXRoICJzZXQgbGlzdHNp emUgMiIpOgotICAgIAotICAgICAgKGdkYikgbGlzdCBiYXIKLSAgICAgIGZpbGU6ICJzcmMvZ2Ri L3Rlc3RzdWl0ZS9nZGIuY3Avb3ZlcmxvYWQuY2MiLCBsaW5lIG51bWJlcjogOTcKLSAgICAgIDk2 Ci0gICAgICA5NyAgICAgIGludCBiYXIgKEEpIHsgcmV0dXJuIDExOyB9Ci0gICAgICBmaWxlOiAi c3JjL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL292ZXJsb2FkLmNjIiwgbGluZSBudW1iZXI6IDk4Ci0g ICAgICA5NyAgICAgIGludCBiYXIgKEEpIHsgcmV0dXJuIDExOyB9Ci0gICAgICA5OCAgICAgIGlu dCBiYXIgKEIpIHsgcmV0dXJuIDIyOyB9Ci0gICAgCi0gICAgQWZ0ZXI6Ci0gICAgCi0gICAgICAo Z2RiKSBsaXN0IGJhcgotICAgICAgZmlsZTogInNyYy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9vdmVy bG9hZC5jYyIsIGxpbmUgbnVtYmVyOiA5Nywgc3ltYm9sOiAiYmFyKEEpIgotICAgICAgOTYKLSAg ICAgIDk3ICAgICAgaW50IGJhciAoQSkgeyByZXR1cm4gMTE7IH0KLSAgICAgIGZpbGU6ICJzcmMv Z2RiL3Rlc3RzdWl0ZS9nZGIuY3Avb3ZlcmxvYWQuY2MiLCBsaW5lIG51bWJlcjogOTgsIHN5bWJv bDogImJhcihCKSIKLSAgICAgIDk3ICAgICAgaW50IGJhciAoQSkgeyByZXR1cm4gMTE7IH0KLSAg ICAgIDk4ICAgICAgaW50IGJhciAoQikgeyByZXR1cm4gMjI7IH0KLSAgICAKLSAgICBDdXJyZW50 bHksIHRoZSByZXN1bHQgb2YgZGVjb2RpbmcgYSBsaW5lc3BlYyBsb3NlcyBpbmZvcm1hdGlvbiBh Ym91dAotICAgIHRoZSBvcmlnaW5hbCBzeW1ib2wgdGhhdCB3YXMgZm91bmQuICBBbGwgd2UgZW5k IHVwIHdpdGggaXMgYW4gYWRkcmVzcy4KLSAgICBUaGlzIG1ha2VzIGl0IGRpZmZpY3VsdCB0byBm aW5kIHRoZSBvcmlnaW5hbCBzeW1ib2wgYWdhaW4gdG8gZ2V0IGF0Ci0gICAgaXRzIHByaW50IG5h bWUuICBGaXggdGhhdCBieSBzdG9yaW5nIGEgcG9pbnRlciB0byB0aGUgc3ltYm9sIGluIHRoZQot ICAgIHNhbC4gIFdlIGFscmVhZHkgc3RvcmUgdGhlIHN5bXRhYiBhbmQgb2JqX3NlY3Rpb24sIHNv IGl0IGZlZWxzIGxpa2UgYQotICAgIG5hdHVyYWwgcHJvZ3Jlc3Npb24gdG8gbWUuICBUaGlzIGF2 b2lkcyBoYXZpbmcgdG8gZG8gYW55IGV4dHJhIHN5bWJvbAotICAgIGxvb2t1cCB0b28uCi0gICAg Ci0gICAgZ2RiL0NoYW5nZUxvZzoKLSAgICAyMDE3LTA5LTIwICBQZWRybyBBbHZlcyAgPHBhbHZl c0ByZWRoYXQuY29tPgotICAgIAotICAgICAgICAgICAgKiBjbGkvY2xpLWNtZHMuYyAobGlzdF9j b21tYW5kKTogVXNlIHByaW50X3NhbF9sb2NhdGlvbi4KLSAgICAgICAgICAgIChwcmludF9zYWxf bG9jYXRpb24pOiBOZXcgZnVuY3Rpb24uCi0gICAgICAgICAgICAoYW1iaWd1b3VzX2xpbmVfc3Bl Yyk6IFVzZSBwcmludF9zYWxfbG9jYXRpb24uCi0gICAgICAgICAgICAqIGxpbmVzcGVjLmMgKHN5 bWJvbF90b19zYWwpOiBSZWNvcmQgdGhlIHN5bWJvbCBpbiB0aGUgc2FsLgotICAgICAgICAgICAg KiBzeW10YWIuYyAoZmluZF9mdW5jdGlvbl9zdGFydF9zYWwpOiBMaWtld2lzZS4KLSAgICAgICAg ICAgICogc3ltdGFiLmggKHN5bXRhYl9hbmRfbGluZTo6c3ltYm9sKTogTmV3IGZpZWxkLgotICAg IAotICAgIGdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nOgotICAgIDIwMTctMDktMjAgIFBlZHJvIEFs dmVzICA8cGFsdmVzQHJlZGhhdC5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIGdkYi5iYXNlL2xp c3QtYW1iaWd1b3VzLmV4cCAodGVzdF9saXN0X2FtYmlndW91c19zeW1ib2wpOiBFeHBlY3QKLSAg ICAgICAgICAgIHN5bWJvbCBuYW1lcyBpbiBnZGIncyBvdXRwdXQuCi0gICAgICAgICAgICAqIGdk Yi5jcC9vdmVybG9hZC5leHAgKCJsaXN0IGFsbCBvdmVybG9hZHMiKTogTGlrZXdpc2UuCi0KLSMj IyBhL2dkYi9DaGFuZ2VMb2cKLSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTQgQEAK LSAyMDE3LTA5LTIwICBQZWRybyBBbHZlcyAgPHBhbHZlc0ByZWRoYXQuY29tPgotIAotKwkqIGNs aS9jbGktY21kcy5jIChsaXN0X2NvbW1hbmQpOiBVc2UgcHJpbnRfc2FsX2xvY2F0aW9uLgotKwko cHJpbnRfc2FsX2xvY2F0aW9uKTogTmV3IGZ1bmN0aW9uLgotKwkoYW1iaWd1b3VzX2xpbmVfc3Bl Yyk6IFVzZSBwcmludF9zYWxfbG9jYXRpb24uCi0rCSogbGluZXNwZWMuYyAoc3ltYm9sX3RvX3Nh bCk6IFJlY29yZCB0aGUgc3ltYm9sIGluIHRoZSBzYWwuCi0rCSogc3ltdGFiLmMgKGZpbmRfZnVu Y3Rpb25fc3RhcnRfc2FsKTogTGlrZXdpc2UuCi0rCSogc3ltdGFiLmggKHN5bXRhYl9hbmRfbGlu ZTo6c3ltYm9sKTogTmV3IGZpZWxkLgotKwotKzIwMTctMDktMjAgIFBlZHJvIEFsdmVzICA8cGFs dmVzQHJlZGhhdC5jb20+Ci0rCi0gCSogbGluZXNwZWMuYyAobWluc3ltX2ZvdW5kKTogSGFuZGxl IG5vbi10ZXh0IG1pbnN5bXMuCi0gCShzeW1ib2xfdG9fc2FsKTogUmVjb3JkIGEgc2FsLnBjIGZv ciBub24tYmxvY2ssIG5vbi1sYWJlbCBzeW1ib2xzLgotIAotSW5kZXg6IGdkYi04LjAuMS9nZGIv bGluZXNwZWMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAuMS5vcmlnL2dkYi9saW5lc3BlYy5j CTIwMTctMTAtMjAgMjE6Mjg6MTguNDQ0NjA5Nzc2ICswMjAwCi0rKysgZ2RiLTguMC4xL2dkYi9s aW5lc3BlYy5jCTIwMTctMTAtMjAgMjE6Mjk6MTIuMzgyMDk0MTA0ICswMjAwCi1AQCAtMzg2NCw2 ICszODY0LDcgQEAKLSAJewotIAkgIGluaXRfc2FsIChyZXN1bHQpOwotIAkgIHJlc3VsdC0+c3lt dGFiID0gc3ltYm9sX3N5bXRhYiAoc3ltKTsKLSsJICByZXN1bHQtPnN5bWJvbCA9IHN5bTsKLSAJ ICByZXN1bHQtPmxpbmUgPSBTWU1CT0xfTElORSAoc3ltKTsKLSAJICByZXN1bHQtPnBjID0gU1lN Qk9MX1ZBTFVFX0FERFJFU1MgKHN5bSk7Ci0gCSAgcmVzdWx0LT5wc3BhY2UgPSBTWU1UQUJfUFNQ QUNFIChyZXN1bHQtPnN5bXRhYik7Ci1AQCAtMzg3OSw2ICszODgwLDcgQEAKLSAJICAvKiBXZSBr bm93IGl0cyBsaW5lIG51bWJlci4gICovCi0gCSAgaW5pdF9zYWwgKHJlc3VsdCk7Ci0gCSAgcmVz dWx0LT5zeW10YWIgPSBzeW1ib2xfc3ltdGFiIChzeW0pOwotKwkgIHJlc3VsdC0+c3ltYm9sID0g c3ltOwotIAkgIHJlc3VsdC0+bGluZSA9IFNZTUJPTF9MSU5FIChzeW0pOwotIAkgIHJlc3VsdC0+ cHNwYWNlID0gU1lNVEFCX1BTUEFDRSAocmVzdWx0LT5zeW10YWIpOwotIAkgIHJldHVybiAxOwot SW5kZXg6IGdkYi04LjAuMS9nZGIvc3ltdGFiLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLjEu b3JpZy9nZGIvc3ltdGFiLmMJMjAxNy0xMC0yMCAyMToyODoxOC40NDY2MDk3OTQgKzAyMDAKLSsr KyBnZGItOC4wLjEvZ2RiL3N5bXRhYi5jCTIwMTctMTAtMjAgMjE6Mjk6NTEuMzkwNDQ0Mzc3ICsw MjAwCi1AQCAtMzQ3OCw2ICszNDc4LDcgQEAKLSAgIGZpeHVwX3N5bWJvbF9zZWN0aW9uIChzeW0s IE5VTEwpOwotICAgc2VjdGlvbiA9IFNZTUJPTF9PQkpfU0VDVElPTiAoc3ltYm9sX29iamZpbGUg KHN5bSksIHN5bSk7Ci0gICBzYWwgPSBmaW5kX3BjX3NlY3RfbGluZSAoQkxPQ0tfU1RBUlQgKFNZ TUJPTF9CTE9DS19WQUxVRSAoc3ltKSksIHNlY3Rpb24sIDApOwotKyAgc2FsLnN5bWJvbCA9IHN5 bTsKLSAKLSAgIGlmIChmdW5maXJzdGxpbmUgJiYgc2FsLnN5bXRhYiAhPSBOVUxMCi0gICAgICAg JiYgKENPTVBVTklUX0xPQ0FUSU9OU19WQUxJRCAoU1lNVEFCX0NPTVBVTklUIChzYWwuc3ltdGFi KSkKLUBAIC0zNTAxLDYgKzM1MDIsNyBAQAotICAgICAgIHNhbC5wc3BhY2UgPSBjdXJyZW50X3By b2dyYW1fc3BhY2U7Ci0gICAgICAgc2FsLnBjID0gQkxPQ0tfU1RBUlQgKFNZTUJPTF9CTE9DS19W QUxVRSAoc3ltKSk7Ci0gICAgICAgc2FsLnNlY3Rpb24gPSBzZWN0aW9uOwotKyAgICAgIHNhbC5z eW1ib2wgPSBzeW07Ci0gICAgIH0KLSAKLSAgIGlmIChmdW5maXJzdGxpbmUpCi1JbmRleDogZ2Ri LTguMC4xL2dkYi9zeW10YWIuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAuMS5vcmlnL2dkYi9z eW10YWIuaAkyMDE3LTEwLTIwIDIxOjI4OjIxLjIwNTYzNDU2OSArMDIwMAotKysrIGdkYi04LjAu MS9nZGIvc3ltdGFiLmgJMjAxNy0xMC0yMCAyMToyODo0MC45MzM4MTE3MTYgKzAyMDAKLUBAIC0x NDIwLDYgKzE0MjAsNyBAQAotICAgc3RydWN0IHByb2dyYW1fc3BhY2UgKnBzcGFjZTsKLSAKLSAg IHN0cnVjdCBzeW10YWIgKnN5bXRhYjsKLSsgIHN0cnVjdCBzeW1ib2wgKnN5bWJvbCA9IE5VTEw7 Ci0gICBzdHJ1Y3Qgb2JqX3NlY3Rpb24gKnNlY3Rpb247Ci0gICAvKiBMaW5lIG51bWJlci4gIExp bmUgbnVtYmVycyBzdGFydCBhdCAxIGFuZCBwcm9jZWVkIHRocm91Z2ggc3ltdGFiLT5ubGluZXMu Ci0gICAgICAwIGlzIG5ldmVyIGEgdmFsaWQgbGluZSBudW1iZXI7IGl0IGlzIHVzZWQgdG8gaW5k aWNhdGUgdGhhdCBsaW5lIG51bWJlcgoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTIyODU1Ni1icHQt aW5saW5lZC1mdW5jLW5hbWUtMm9mMi5wYXRjaCBiL2dkYi1yaGJ6MTIyODU1Ni1icHQtaW5saW5l ZC1mdW5jLW5hbWUtMm9mMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTM0 MDJlZC4uMDAwMDAwMAotLS0gYS9nZGItcmhiejEyMjg1NTYtYnB0LWlubGluZWQtZnVuYy1uYW1l LTJvZjIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMTggKzAsMCBAQAotRnJvbTogRmVkb3Jh IEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcg MjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTIyODU1Ni1icHQtaW5saW5lZC1mdW5j LW5hbWUtMm9mMi5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxMjI4NTU2LWJwdC1pbmxpbmVk LWZ1bmMtbmFtZS0yb2YyLnBhdGNoCi0KLWNvbW1pdCA0YTI3ZjExOWY1OWE0NDM5NWUwYTM0YjE1 MjZjZWU3MDllMWQzZmNlCi1BdXRob3I6IEtlaXRoIFNlaXR6IDxrZWl0aHNAcmVkaGF0LmNvbT4K LURhdGU6ICAgRnJpIE9jdCAyNyAxMDo1NzoyMyAyMDE3IC0wNzAwCi0KLSAgICBVc2UgU2FMIHN5 bWJvbCBuYW1lIHdoZW4gcmVwb3J0aW5nIGJyZWFrcG9pbnQgbG9jYXRpb25zCi0gICAgCi0gICAg Q3VycmVudGx5LCAiaW5mbyBicmVhayIgY2FuIHNob3cgc29tZSAocGVyaGFwcykgdW5leHBlY3Rl ZCByZXN1bHRzIHdoZW4KLSAgICBzZXR0aW5nIGEgYnJlYWtwb2ludCBvbiBhbiBpbmxpbmVkIGZ1 bmN0aW9uOgotICAgIAotICAgIChnZGIpIGxpc3QKLSAgICAxICAgICAgICNpbmNsdWRlIDxzdGRp by5oPgotICAgIDIKLSAgICAzICAgICAgIHN0YXRpYyBpbmxpbmUgdm9pZCBmb28oKQotICAgIDQg ICAgICAgewotICAgIDUgICAgICAgICAgICAgICBwcmludGYoIkhlbGxvIHdvcmxkXG4iKTsKLSAg ICA2ICAgICAgIH0KLSAgICA3Ci0gICAgOCAgICAgICBpbnQgbWFpbigpCi0gICAgOSAgICAgICB7 Ci0gICAgMTAgICAgICAgICAgICAgIGZvbygpOwotICAgIDExICAgICAgICAgICAgICByZXR1cm4g MDsKLSAgICAxMiAgICAgIH0KLSAgICAxMwotICAgIChnZGIpIGIgZm9vCi0gICAgQnJlYWtwb2lu dCAxIGF0IDB4NDAwNDM0OiBmaWxlIGZvby5jLCBsaW5lIDUuCi0gICAgKGdkYikgaSBiCi0gICAg TnVtICAgICBUeXBlICAgICAgICAgICBEaXNwIEVuYiBBZGRyZXNzICAgICAgICAgICAgV2hhdAot ICAgIDEgICAgICAgYnJlYWtwb2ludCAgICAga2VlcCB5ICAgMHgwMDAwMDAwMDAwNDAwNDM0IGlu IG1haW4gYXQgZm9vLmM6NQotICAgIAotICAgIEdEQiByZXBvcnRlZCB0aGF0IHdlIHVuZGVyc3Rv b2Qgd2hhdCAiZm9vIiB3YXMsIGJ1dCB3ZSB0aGVuIHJlcG9ydCB0aGF0IHRoZQotICAgIGJyZWFr cG9pbnQgaXMgYWN0dWFsbHkgc2V0IGluIG1haW4uIFdoaWxlIHRoYXQgaXMgbGl0ZXJhbGx5IHRy dWUsIHdlIGNhbgotICAgIGRvIGEgbGl0dGxlIGJldHRlci4KLSAgICAKLSAgICBUaGlzIGlzIGFj Y29tcGxpc2hlZCBieSBjb3B5aW5nIHRoZSBzeW1ib2wgZm9yIHdoaWNoIHRoZSBicmVha3BvaW50 IHdhcyBzZXQKLSAgICBpbnRvIHRoZSBicF9sb2NhdGlvbi4gIEZyb20gdGhlcmUsIHByaW50X2Jy ZWFrcG9pbnRfbG9jYXRpb24gY2FuIHVzZSB0aGlzCi0gICAgaW5mb3JtYXRpb24gdG8gcHJpbnQg b3V0IHN5bWJvbCBpbmZvcm1hdGlvbiAoaWYgYXZhaWxhYmxlKSBpbnN0ZWFkIG9mIGNhbGxpbmcK LSAgICBmaW5kX3BjX3NlY3RfZnVuY3Rpb24uCi0gICAgCi0gICAgV2l0aCB0aGUgcGF0Y2ggaW5z dGFsbGVkLAotICAgIAotICAgIChnZGIpIGkgYgotICAgIE51bSAgICAgVHlwZSAgICAgICAgICAg RGlzcCBFbmIgQWRkcmVzcyAgICAgICAgICAgIFdoYXQKLSAgICAxICAgICAgIGJyZWFrcG9pbnQg ICAgIGtlZXAgeSAgIDB4MDAwMDAwMDAwMDQwMDQzNCBpbiBmb28gYXQgZm9vLmM6NQotICAgIAot ICAgIGdkYi9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgICAgICAgICAqIGJyZWFrcG9pbnQuYyAocHJp bnRfYnJlYWtwb2ludF9sb2NhdGlvbik6IFVzZSB0aGUgc3ltYm9sIHNhdmVkCi0gICAgICAgICAg ICBpbiB0aGUgYnBfbG9jYXRpb24sIGZhbGxpbmcgYmFjayB0byBmaW5kX3BjX3NlY3RfZnVuY3Rp b24gd2hlbgotICAgICAgICAgICAgbmVlZGVkLgotICAgICAgICAgICAgKGFkZF9sb2NhdGlvbl90 b19icmVha3BvaW50KTogU2F2ZSBzYWwtPnN5bWJvbC4KLSAgICAgICAgICAgICogYnJlYWtwb2lu dC5oIChzdHJ1Y3QgYnBfbG9jYXRpb24pIDxzeW1ib2w+OiBOZXcgZmllbGQuCi0gICAgICAgICAg ICAqIHN5bXRhYi5jIChmaW5kX2Z1bmN0aW9uX3N0YXJ0X3NhbCk6IFNhdmUgdGhlIHN5bWJvbCBp bnRvIHRoZSBTYUwuCi0gICAgICAgICAgICAqIHN5bXRhYi5oIChzdHJ1Y3Qgc3ltdGFiX2FuZF9s aW5lKSA8c3ltYm9sPjogTmV3IGZpZWxkLgotICAgIAotICAgIGdkYi90ZXN0c3VpdGUvQ2hhbmdl TG9nOgotICAgIAotICAgICAgICAgICAgKiBnZGIub3B0L2lubGluZS1icmVhay5leHAgKGJyZWFr X2luZm9fMSk6IE5ldyBwcm9jZWR1cmUuCi0gICAgICAgICAgICBUZXN0ICJpbmZvIGJyZWFrIiBm b3IgZXZlcnkgaW5saW5lZCBmdW5jdGlvbiBicmVha3BvaW50LgotCi0jIyMgYS9nZGIvQ2hhbmdl TG9nCi0jIyMgYi9nZGIvQ2hhbmdlTG9nCi0jIyAtMSwzICsxLDEzIEBACi0rMjAxNy0xMC0yNyAg S2VpdGggU2VpdHogIDxrZWl0aHNAcmVkaGF0LmNvbT4KLSsKLSsJKiBicmVha3BvaW50LmMgKHBy aW50X2JyZWFrcG9pbnRfbG9jYXRpb24pOiBVc2UgdGhlIHN5bWJvbCBzYXZlZAotKwlpbiB0aGUg YnBfbG9jYXRpb24sIGZhbGxpbmcgYmFjayB0byBmaW5kX3BjX3NlY3RfZnVuY3Rpb24gd2hlbgot KwluZWVkZWQuCi0rCShhZGRfbG9jYXRpb25fdG9fYnJlYWtwb2ludCk6IFNhdmUgc2FsLT5zeW1i b2wuCi0rCSogYnJlYWtwb2ludC5oIChzdHJ1Y3QgYnBfbG9jYXRpb24pIDxzeW1ib2w+OiBOZXcg ZmllbGQuCi0rCSogc3ltdGFiLmMgKGZpbmRfZnVuY3Rpb25fc3RhcnRfc2FsKTogU2F2ZSB0aGUg c3ltYm9sIGludG8gdGhlIFNhTC4KLSsJKiBzeW10YWIuaCAoc3RydWN0IHN5bXRhYl9hbmRfbGlu ZSkgPHN5bWJvbD46IE5ldyBmaWVsZC4KLSsKLSAyMDE3LTEwLTI2ICBQYXRyaWNrIEZyYW50cyAg PG9zc2NvbnRyaWJ1dGVAZ21haWwuY29tPgotIAotIAlQUiBnZGIvMTM2NjkKLS0tLSBhL2dkYi9i cmVha3BvaW50LmMKLSsrKyBiL2dkYi9icmVha3BvaW50LmMKLUBAIC01OTU2LDggKzU5NTYsMTEg QEAgcHJpbnRfYnJlYWtwb2ludF9sb2NhdGlvbiAoc3RydWN0IGJyZWFrcG9pbnQgKmIsCi0gICAg IHVpb3V0LT5maWVsZF9zdHJpbmcgKCJ3aGF0IiwgZXZlbnRfbG9jYXRpb25fdG9fc3RyaW5nIChi LT5sb2NhdGlvbi5nZXQgKCkpKTsKLSAgIGVsc2UgaWYgKGxvYyAmJiBsb2MtPnN5bXRhYikKLSAg ICAgewotLSAgICAgIHN0cnVjdCBzeW1ib2wgKnN5bSAKLS0JPSBmaW5kX3BjX3NlY3RfZnVuY3Rp b24gKGxvYy0+YWRkcmVzcywgbG9jLT5zZWN0aW9uKTsKLSsgICAgICBjb25zdCBzdHJ1Y3Qgc3lt Ym9sICpzeW0gPSBsb2MtPnN5bWJvbDsKLSsKLSsgICAgICBpZiAoc3ltID09IE5VTEwpCi0rCXN5 bSA9IGZpbmRfcGNfc2VjdF9mdW5jdGlvbiAobG9jLT5hZGRyZXNzLCBsb2MtPnNlY3Rpb24pOwot KwotICAgICAgIGlmIChzeW0pCi0gCXsKLSAJICB1aW91dC0+dGV4dCAoImluICIpOwotQEAgLTg3 NDMsNiArODc0Niw3IEBAIGFkZF9sb2NhdGlvbl90b19icmVha3BvaW50IChzdHJ1Y3QgYnJlYWtw b2ludCAqYiwKLSAgIGxvYy0+Z2RiYXJjaCA9IGxvY19nZGJhcmNoOwotICAgbG9jLT5saW5lX251 bWJlciA9IHNhbC0+bGluZTsKLSAgIGxvYy0+c3ltdGFiID0gc2FsLT5zeW10YWI7Ci0rICBsb2Mt PnN5bWJvbCA9IHNhbC0+c3ltYm9sOwotIAotICAgc2V0X2JyZWFrcG9pbnRfbG9jYXRpb25fZnVu Y3Rpb24gKGxvYywKLSAJCQkJICAgIHNhbC0+ZXhwbGljaXRfcGMgfHwgc2FsLT5leHBsaWNpdF9s aW5lKTsKLS0tLSBhL2dkYi9icmVha3BvaW50LmgKLSsrKyBiL2dkYi9icmVha3BvaW50LmgKLUBA IC00ODYsNiArNDg2LDExIEBAIHB1YmxpYzoKLSAgICAgIHRvIGZpbmQgdGhlIGNvcnJlc3BvbmRp bmcgc291cmNlIGZpbGUgbmFtZS4gICovCi0gCi0gICBzdHJ1Y3Qgc3ltdGFiICpzeW10YWI7Ci0r Ci0rICAvKiBUaGUgc3ltYm9sIGZvdW5kIGJ5IHRoZSBsb2NhdGlvbiBwYXJzZXIsIGlmIGFueS4g IFRoaXMgbWF5IGJlIHVzZWQgdG8KLSsgICAgIGFzY2VydGFpbiB3aGVuIGFuIGV2ZW50IGxvY2F0 aW9uIHdhcyBzZXQgYXQgYSBkaWZmZXJlbnQgbG9jYXRpb24gdGhhbgotKyAgICAgdGhlIG9uZSBv cmlnaW5hbGx5IHNlbGVjdGVkIGJ5IHBhcnNpbmcsIGUuZy4sIGlubGluZWQgc3ltYm9scy4gICov Ci0rICBjb25zdCBzdHJ1Y3Qgc3ltYm9sICpzeW1ib2wgPSBOVUxMOwotIH07Ci0gCi0gLyogVGhl IHBvc3NpYmxlIHJldHVybiB2YWx1ZXMgZm9yIHByaW50X2Jwc3RhdCwgcHJpbnRfaXRfbm9ybWFs LAotIyMjIGEvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKLSMjIyBiL2dkYi90ZXN0c3VpdGUvQ2hh bmdlTG9nCi0jIyAtMSwzICsxLDggQEAKLSsyMDE3LTEwLTI3ICBLZWl0aCBTZWl0eiAgPGtlaXRo c0ByZWRoYXQuY29tPgotKwotKwkqIGdkYi5vcHQvaW5saW5lLWJyZWFrLmV4cCAoYnJlYWtfaW5m b18xKTogTmV3IHByb2NlZHVyZS4KLSsJVGVzdCAiaW5mbyBicmVhayIgZm9yIGV2ZXJ5IGlubGlu ZWQgZnVuY3Rpb24gYnJlYWtwb2ludC4KLSsKLSAyMDE3LTEwLTI3ICBZYW8gUWkgIDx5YW8ucWlA bGluYXJvLm9yZz4KLSAKLSAJKiBnZGIuYXJjaC9pbnNuLXJlbG9jLmMgKGNhbl9yZWxvY2F0ZV9i bCk6IE1hcmsgIngzMCIgY2xvYmJlcmVkLgotLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2lu bGluZS1icmVhay5leHAKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9pbmxpbmUtYnJlYWsu ZXhwCi1AQCAtMjQsNiArMjQsNjIgQEAgaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAiZmFpbGVk IHRvIHByZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSBcCi0gICAgIHJldHVybiAtMQotIH0KLSAK LSsjIFJldHVybiBhIHN0cmluZyB0aGF0IG1heSBiZSB1c2VkIHRvIG1hdGNoIHRoZSBvdXRwdXQg b2YgImluZm8gYnJlYWsgTlVNIi4KLSsjCi0rIyBPcHRpb25hbCBhcmd1bWVudHM6Ci0rIwotKyMg c291cmNlICAgIC0gdGhlIG5hbWUgb2YgdGhlIHNvdXJjZSBmaWxlCi0rIyBmdW5jICAgICAgLSB0 aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24KLSsjIGRpc3AgICAgICAtIHRoZSBldmVudCBkaXNwb3Np dGlvbgotKyMgZW5hYmxlZCAgIC0gZW5hYmxlIHN0YXRlCi0rIyBsb2NzICAgICAgLSBudW1iZXIg b2YgbG9jYXRpb25zCi0rIyBsaW5lICAgICAgLSBzb3VyY2UgbGluZSBudW1iZXIgKGlnbm9yZWQg d2l0aG91dCAtc291cmNlKQotKwotK3Byb2MgYnJlYWtfaW5mb18xIHtudW0gYXJnc30gewotKyAg ICBnbG9iYWwgZGVjaW1hbAotKwotKyAgICAjIENvbHVtbiBkZWxpbWl0ZXIKLSsgICAgc2V0IGMg e1tcdCBdK30KLSsKLSsgICAgIyBSb3cgZGVsaW1pdGVyCi0rICAgIHNldCBlbmQge1tcclxuIFx0 XSt9Ci0rCi0rICAgICMgVGFibGUgaGVhZGVyCi0rICAgIHNldCBoZWFkZXIgIltqb2luIFtsaXN0 IE51bSBUeXBlIERpc3AgRW5iIEFkZHJlc3MgV2hhdF0gJHtjfV0iCi0rCi0rICAgICMgR2V0L2Nv bmZpZ3VyZSBhbnkgb3B0aW9uYWwgcGFyYW1ldGVycy4KLSsgICAgcGFyc2VfYXJncyBbbGlzdCB7 c291cmNlICIifSB7ZnVuYyAiLioifSB7ZGlzcCAia2VlcCJ9IFwKLSsJCSAgICB7ZW5hYmxlZCAi eSJ9IHtsb2NzIDF9IFtsaXN0IGxpbmUgJGRlY2ltYWxdIFwKLSsJCSAgICB7dHlwZSAiYnJlYWtw b2ludCJ9XQotKwotKyAgICBpZiB7JHNvdXJjZSAhPSAiIn0gewotKwlzZXQgc291cmNlICIkc291 cmNlOiRsaW5lIgotKyAgICB9Ci0rCi0rICAgICMgUmVzdWx0IHN0YXJ0cyB3aXRoIHRoZSBzdGFu ZGFyZCBoZWFkZXIuCi0rICAgIHNldCByZXN1bHQgIiRoZWFkZXIke2VuZH0iCi0rCi0rICAgICMg U2V0IHVwIGZvciBtdWx0aS1sb2NhdGlvbiBicmVha3BvaW50IG1hcmtlci4KLSsgICAgaWYgeyRs b2NzID09IDF9IHsKLSsJc2V0IG11bHRpICIuKiIKLSsgICAgfSBlbHNlIHsKLSsJc2V0IG11bHRp ICI8TVVMVElQTEU+JHtlbmR9IgotKyAgICB9Ci0rICAgIGFwcGVuZCByZXN1bHQgIltqb2luIFts aXN0ICRudW0gJHR5cGUgJGRpc3AgJGVuYWJsZWQgJG11bHRpXSAkY10iCi0rCi0rICAgICMgQWRk IGxvY2F0aW9uIGluZm8uCi0rICAgIGZvciB7c2V0IGkgMX0geyRpIDw9ICRsb2NzfSB7aW5jciBp fSB7Ci0rCWlmIHskbG9jcyA+IDF9IHsKLSsJICAgIGFwcGVuZCByZXN1bHQgIltqb2luIFtsaXN0 ICRudW0uJGkgJGVuYWJsZWRdICRjXS4qIgotKwl9Ci0rCi0rCSMgIEFkZCBmdW5jdGlvbi9zb3Vy Y2UgZmlsZSBpbmZvLgotKwlhcHBlbmQgcmVzdWx0ICJpbiAkZnVuYyBhdCAuKiRzb3VyY2Uke2Vu ZH0iCi0rICAgIH0KLSsKLSsgICAgcmV0dXJuICRyZXN1bHQKLSt9Ci0rCi0gIwotICMgZnVuYzEg aXMgYSBzdGF0aWMgaW5saW5lZCBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbmNlLgotICMgVGhl IHJlc3VsdCBzaG91bGQgYmUgYSBzaW5nbGUtbG9jYXRpb24gYnJlYWtwb2ludC4KLUBAIC0xMTEs MyArMTY3LDIyIEBAIGdkYl90ZXN0ICJwcmludCBmdW5jMSIgXAotICMKLSBnZGJfdGVzdCAicHJp bnQgZnVuYzIiIFwKLSAgICAgIlxcXCQuKiA9IHtpbnQgXFwoaW50XFwpfSAuKiA8ZnVuYzI+Igot KwotKyMgVGVzdCB0aGF0ICJpbmZvIGJyZWFrIiByZXBvcnRzIHRoZSBsb2NhdGlvbiBvZiB0aGUg YnJlYWtwb2ludHMgImluc2lkZSIKLSsjIHRoZSBpbmxpbmVkIGZ1bmN0aW9ucwotKwotK3NldCBy ZXN1bHRzKDEpIFticmVha19pbmZvXzEgMSAtc291cmNlICRzcmNmaWxlIC1mdW5jICJmdW5jMSJd Ci0rc2V0IHJlc3VsdHMoMikgW2JyZWFrX2luZm9fMSAyIC1sb2NzIDIgLXNvdXJjZSAkc3JjZmls ZSAtZnVuYyAiZnVuYzIiXQotK3NldCByZXN1bHRzKDMpIFticmVha19pbmZvXzEgMyAtc291cmNl ICRzcmNmaWxlIC1mdW5jICJmdW5jM2IiXQotK3NldCByZXN1bHRzKDQpIFticmVha19pbmZvXzEg NCAtbG9jcyAyIC1zb3VyY2UgJHNyY2ZpbGUgLWZ1bmMgImZ1bmM0YiJdCi0rc2V0IHJlc3VsdHMo NSkgW2JyZWFrX2luZm9fMSA1IC1sb2NzIDIgLXNvdXJjZSAkc3JjZmlsZSAtZnVuYyAiZnVuYzVi Il0KLStzZXQgcmVzdWx0cyg2KSBbYnJlYWtfaW5mb18xIDYgLWxvY3MgMyAtc291cmNlICRzcmNm aWxlIC1mdW5jICJmdW5jNmIiXQotK3NldCByZXN1bHRzKDcpIFticmVha19pbmZvXzEgNyAtbG9j cyAyIC1zb3VyY2UgJHNyY2ZpbGUgLWZ1bmMgImZ1bmM3YiJdCi0rc2V0IHJlc3VsdHMoOCkgW2Jy ZWFrX2luZm9fMSA4IC1sb2NzIDMgLXNvdXJjZSAkc3JjZmlsZSAtZnVuYyAiZnVuYzhiIl0KLSsK LStmb3Ige3NldCBpIDF9IHskaSA8PSBbYXJyYXkgc2l6ZSByZXN1bHRzXX0ge2luY3IgaX0gewot KyAgICBzZW5kX2xvZyAiRXhwZWN0aW5nOiAkcmVzdWx0cygkaSlcbiIKLSsgICAgZ2RiX3Rlc3Qg ImluZm8gYnJlYWsgJGkiICRyZXN1bHRzKCRpKQotK30KLSsKLSt1bnNldCAtbm9jb21wbGFpbiBy ZXN1bHRzCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxMjYxNTY0LWFhcmNoNjQtaHctd2F0Y2hwb2lu dC10ZXN0LnBhdGNoIGIvZ2RiLXJoYnoxMjYxNTY0LWFhcmNoNjQtaHctd2F0Y2hwb2ludC10ZXN0 LnBhdGNoCmluZGV4IGFkMDU2NTcuLmExYzJkODkgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6MTI2MTU2 NC1hYXJjaDY0LWh3LXdhdGNocG9pbnQtdGVzdC5wYXRjaAorKysgYi9nZGItcmhiejEyNjE1NjQt YWFyY2g2NC1ody13YXRjaHBvaW50LXRlc3QucGF0Y2gKQEAgLTEsMTMgKzEsNjMgQEAKK0Zyb20g YzA5Y2UwNDAzOWRiYzJkODhjZmJlZjFiYmNiOWY2OTg1M2JhNGRiMiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBE YXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItcmhiejEy NjE1NjQtYWFyY2g2NC1ody13YXRjaHBvaW50LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1y aGJ6MTI2MTU2NC1hYXJjaDY0LWh3LXdhdGNocG9pbnQtdGVzdC5wYXRjaAogCi1JbmRleDogZ2Ri LTcuNi4xL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvcmhiejEyNjE1NjQtYWFyY2g2NC13YXRjaHBv aW50LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjYuMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JoYnox MjYxNTY0LWFhcmNoNjQtd2F0Y2hwb2ludC5leHAJMjAxNi0wMy0xMCAyMjozMTozMS4xNTIwOTQw ODAgKzAxMDAKKzs7IFthYXJjaDY0XSBGaXggaGFyZHdhcmUgd2F0Y2hwb2ludHMgKFJIIEJaIDEy NjE1NjQpLgorOzs9ZmVkb3JhdGVzdAorLS0tCisgLi4uL2dkYi5iYXNlL3JoYnoxMjYxNTY0LWFh cmNoNjQtd2F0Y2hwb2ludC5jICAgICAgfCAzMyArKysrKysrKysrKysrKworIC4uLi9nZGIuYmFz ZS9yaGJ6MTI2MTU2NC1hYXJjaDY0LXdhdGNocG9pbnQuZXhwICAgIHwgNTMgKysrKysrKysrKysr KysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBt b2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JoYnoxMjYxNTY0LWFhcmNoNjQtd2F0 Y2hwb2ludC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvcmhi ejEyNjE1NjQtYWFyY2g2NC13YXRjaHBvaW50LmV4cAorCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9yaGJ6MTI2MTU2NC1hYXJjaDY0LXdhdGNocG9pbnQuYyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvcmhiejEyNjE1NjQtYWFyY2g2NC13YXRjaHBvaW50LmMKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4wODUwMDFkN2YzCistLS0gL2Rldi9udWxs CisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JoYnoxMjYxNTY0LWFhcmNoNjQtd2F0Y2hw b2ludC5jCitAQCAtMCwwICsxLDMzIEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdE QiwgdGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cisr ICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg TGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKwor KyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4gICovCisrCisrX19hdHRyaWJ1dGVfXygoYWxpZ25lZCgxNikpKSBzdHJ1Y3QKKyt7CisrICBp bnQgdmFyMCwgdmFyNCwgdmFyODsKKyt9IGFsaWduZWQ7CisrCisraW50CisrbWFpbiAodm9pZCkK Kyt7CisrICBhbGlnbmVkLnZhcjAgPSAxOworKyAgYWxpZ25lZC52YXI0ID0gMjsKKysgIGFsaWdu ZWQudmFyOCA9IDM7CisrCisrICBhbGlnbmVkLnZhcjQgPSBhbGlnbmVkLnZhcjA7CisrCisrICBy ZXR1cm4gMDsKKyt9CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yaGJ6MTI2 MTU2NC1hYXJjaDY0LXdhdGNocG9pbnQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yaGJ6 MTI2MTU2NC1hYXJjaDY0LXdhdGNocG9pbnQuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMC4uNDliYjk3NTYwMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9yaGJ6MTI2MTU2NC1hYXJjaDY0LXdhdGNocG9pbnQuZXhwCiBAQCAtMCww ICsxLDUzIEBACiArIyBDb3B5cmlnaHQgKEMpIDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCiArCkBAIC02Miw0MSArMTEyLDYgQEAgSW5kZXg6IGdkYi03LjYuMS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3JoYnoxMjYxNTY0LWFhcmNoNjQtd2F0Y2hwb2ludC5leHAKICtzZXR1cF94 ZmFpbCAicG93ZXJwYyotKi0qIgogKwogK2dkYl9jb250aW51ZV90b19lbmQKLUluZGV4OiBnZGIt Ny42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9yaGJ6MTI2MTU2NC1hYXJjaDY0LXdhdGNocG9p bnQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjYuMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3JoYnoxMjYx NTY0LWFhcmNoNjQtd2F0Y2hwb2ludC5jCTIwMTYtMDMtMTAgMjI6MzE6MzEuMTUyMDk0MDgwICsw MTAwCi1AQCAtMCwwICsxLDMzIEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwg dGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAg IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4g ICovCi0rCi0rX19hdHRyaWJ1dGVfXygoYWxpZ25lZCgxNikpKSBzdHJ1Y3QKLSt7Ci0rICBpbnQg dmFyMCwgdmFyNCwgdmFyODsKLSt9IGFsaWduZWQ7Ci0rCi0raW50Ci0rbWFpbiAodm9pZCkKLSt7 Ci0rICBhbGlnbmVkLnZhcjAgPSAxOwotKyAgYWxpZ25lZC52YXI0ID0gMjsKLSsgIGFsaWduZWQu dmFyOCA9IDM7Ci0rCi0rICBhbGlnbmVkLnZhcjQgPSBhbGlnbmVkLnZhcjA7Ci0rCi0rICByZXR1 cm4gMDsKLSt9CistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxMzI1Nzk1LWZy YW1lZmlsdGVycy10ZXN0LnBhdGNoIGIvZ2RiLXJoYnoxMzI1Nzk1LWZyYW1lZmlsdGVycy10ZXN0 LnBhdGNoCmluZGV4IGRkMjAzYjMuLjlkYWJjMzMgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6MTMyNTc5 NS1mcmFtZWZpbHRlcnMtdGVzdC5wYXRjaAorKysgYi9nZGItcmhiejEzMjU3OTUtZnJhbWVmaWx0 ZXJzLXRlc3QucGF0Y2gKQEAgLTEsMTEgKzEsMjYgQEAKK0Zyb20gNWY4ZmMwMDJlOWMwNzk1ZDg3 NjFjNDMyM2Q2ODdiY2YwZTRjYzE2ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZl ZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAy MDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItcmhiejEzMjU3OTUtZnJhbWVmaWx0ZXJz LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1yaGJ6MTMyNTc5NS1mcmFtZWZpbHRlcnMtdGVz dC5wYXRjaAogCi0tLS0gL2Rldi9udWxsCTIwMTYtMDktMTIgMjE6Mzc6MDUuMzMyNjkzOTI3ICsw MjAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA5MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LWZyYW1lZmlsdGVyLXRocmVhZC5jCTIwMTYtMDktMTIgMjE6NDM6NTYuNDQ4Njk1NTEzICswMjAw Cis7OyBOZXcgdGVzdCBmb3IgUHl0aG9uICJDYW5ub3QgbG9jYXRlIG9iamVjdCBmaWxlIGZvciBi bG9jayIgKGZvciBSSCBCWiAxMzI1Nzk1KS4KKzs7PWZlZG9yYXRlc3QKKy0tLQorIGdkYi90ZXN0 c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZWZpbHRlci10aHJlYWQuYyAgIHwgMzkgKysrKysrKysr KysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVmaWx0ZXItdGhyZWFkLmV4 cCB8IDU0ICsrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHkt ZnJhbWVmaWx0ZXItdGhyZWFkLnB5ICB8IDYwICsrKysrKysrKysrKysrKysrKysrKysKKyAzIGZp bGVzIGNoYW5nZWQsIDE1MyBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90 ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZWZpbHRlci10aHJlYWQuYworIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVmaWx0ZXItdGhyZWFkLmV4 cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVm aWx0ZXItdGhyZWFkLnB5CisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24v cHktZnJhbWVmaWx0ZXItdGhyZWFkLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJh bWVmaWx0ZXItdGhyZWFkLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw Li42Y2ViYWJiNjdhCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRo b24vcHktZnJhbWVmaWx0ZXItdGhyZWFkLmMKIEBAIC0wLDAgKzEsMzkgQEAKICsvKiBUaGlzIHRl c3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtNDYsOCArNjEs MTEgQEAgRmlsZU5hbWU6IGdkYi1yaGJ6MTMyNTc5NS1mcmFtZWZpbHRlcnMtdGVzdC5wYXRjaAog KwogKyAgcmV0dXJuIDA7CiArfQotLS0tIC9kZXYvbnVsbAkyMDE2LTA5LTEyIDIxOjM3OjA1LjMz MjY5MzkyNyArMDIwMAotKysrIGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi90ZXN0c3VpdGUvZ2Ri LnB5dGhvbi9weS1mcmFtZWZpbHRlci10aHJlYWQuZXhwCTIwMTYtMDktMTIgMjE6NDY6NTQuNjIz NDI4NDkzICswMjAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZy YW1lZmlsdGVyLXRocmVhZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVm aWx0ZXItdGhyZWFkLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAu LjcxZjk3NDYzMzcKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS1mcmFtZWZpbHRlci10aHJlYWQuZXhwCiBAQCAtMCwwICsxLDU0IEBACiArIyBDb3B5cmln aHQgKEMpIDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC05NCwxNyAr MTEyLDIwIEBAIEZpbGVOYW1lOiBnZGItcmhiejEzMjU3OTUtZnJhbWVmaWx0ZXJzLXRlc3QucGF0 Y2gKICsKICsjICMyICAweDAwMDA3ZmZmZjc1ZjIyOGQgaW4gOTQxNTk1MzQzNzM3MDQxICgpIGF0 IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjExM15NCiArIyB2cy4K LSsjICMyICAweDAwMDA3ZmZmZjc1ZjIyOGQgaW4gOTQxNTk1MzQzNzM3MDQxVHJhY2ViYWNrICht b3N0IHJlY2VudCBjYWxsIGxhc3QpOg0KLSsjICAgRmlsZSAiL2hvbWUvamtyYXRvY2gvcmVkaGF0 L3JoZWwvZ2RiL3JoZWwtNy4zL2dkYi03LjYuMS9nZGIvdGVzdHN1aXRlLy4uL2RhdGEtZGlyZWN0 b3J5L3B5dGhvbi9nZGIvRnJhbWVEZWNvcmF0b3IucHkiLCBsaW5lIDE0NSwgaW4gZnJhbWVfYXJn cw0KLSsjICAgICByZXR1cm4gc2VsZi5fYmFzZS5mcmFtZV9hcmdzKCkNCi0rIyAgIEZpbGUgIi9o b21lL2prcmF0b2NoL3JlZGhhdC9yaGVsL2dkYi9yaGVsLTcuMy9nZGItNy42LjEvZ2RiL3Rlc3Rz dWl0ZS8uLi9kYXRhLWRpcmVjdG9yeS9weXRob24vZ2RiL0ZyYW1lRGVjb3JhdG9yLnB5IiwgbGlu ZSAxNTIsIGluIGZyYW1lX2FyZ3MNCi0rIyAgICAgcmV0dXJuIGFyZ3MuZmV0Y2hfZnJhbWVfYXJn cygpDQotKyMgICBGaWxlICIvaG9tZS9qa3JhdG9jaC9yZWRoYXQvcmhlbC9nZGIvcmhlbC03LjMv Z2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUvLi4vZGF0YS1kaXJlY3RvcnkvcHl0aG9uL2dkYi9GcmFt ZURlY29yYXRvci5weSIsIGxpbmUgMjc2LCBpbiBmZXRjaF9mcmFtZV9hcmdzDQotKyMgICAgIGJs b2NrID0gc2VsZi5mcmFtZS5ibG9jaygpDQotKyMgUnVudGltZUVycm9yOiBDYW5ub3QgbG9jYXRl IG9iamVjdCBmaWxlIGZvciBibG9jay4NCisrIyAjMiAgMHgwMDAwN2ZmZmY3NWYyMjhkIGluIDk0 MTU5NTM0MzczNzA0MVRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKysjICAgRmls ZSAiL2hvbWUvamtyYXRvY2gvcmVkaGF0L3JoZWwvZ2RiL3JoZWwtNy4zL2dkYi03LjYuMS9nZGIv dGVzdHN1aXRlLy4uL2RhdGEtZGlyZWN0b3J5L3B5dGhvbi9nZGIvRnJhbWVEZWNvcmF0b3IucHki LCBsaW5lIDE0NSwgaW4gZnJhbWVfYXJncworKyMgICAgIHJldHVybiBzZWxmLl9iYXNlLmZyYW1l X2FyZ3MoKQorKyMgICBGaWxlICIvaG9tZS9qa3JhdG9jaC9yZWRoYXQvcmhlbC9nZGIvcmhlbC03 LjMvZ2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUvLi4vZGF0YS1kaXJlY3RvcnkvcHl0aG9uL2dkYi9G cmFtZURlY29yYXRvci5weSIsIGxpbmUgMTUyLCBpbiBmcmFtZV9hcmdzCisrIyAgICAgcmV0dXJu IGFyZ3MuZmV0Y2hfZnJhbWVfYXJncygpCisrIyAgIEZpbGUgIi9ob21lL2prcmF0b2NoL3JlZGhh dC9yaGVsL2dkYi9yaGVsLTcuMy9nZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS8uLi9kYXRhLWRpcmVj dG9yeS9weXRob24vZ2RiL0ZyYW1lRGVjb3JhdG9yLnB5IiwgbGluZSAyNzYsIGluIGZldGNoX2Zy YW1lX2FyZ3MKKysjICAgICBibG9jayA9IHNlbGYuZnJhbWUuYmxvY2soKQorKyMgUnVudGltZUVy cm9yOiBDYW5ub3QgbG9jYXRlIG9iamVjdCBmaWxlIGZvciBibG9jay4KICtnZGJfdGVzdCAiYnQi ICIgaW4gXFswLTlcXSsgXFteXHJcblxdKiIgImJ0IHdpdGggZmlsdGVycyIKLS0tLSAvZGV2L251 bGwJMjAxNi0wOS0xMiAyMTozNzowNS4zMzI2OTM5MjcgKzAyMDAKLSsrKyBnZGItNy4xMS45MC4y MDE2MDkwNy9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVmaWx0ZXItdGhyZWFkLnB5 CTIwMTYtMDktMTIgMjE6NDk6MTYuMTUwNzk1MjM1ICswMjAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lZmlsdGVyLXRocmVhZC5weSBiL2dkYi90ZXN0c3Vp dGUvZ2RiLnB5dGhvbi9weS1mcmFtZWZpbHRlci10aHJlYWQucHkKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwMDAwLi44OTY0Nzk5NDA4CistLS0gL2Rldi9udWxsCisrKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWVmaWx0ZXItdGhyZWFkLnB5CiBAQCAtMCww ICsxLDYwIEBACiArIyBDb3B5cmlnaHQgKEMpIDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCiArCkBAIC0xNjYsMyArMTg3LDYgQEAgRmlsZU5hbWU6IGdkYi1yaGJ6MTMyNTc5NS1m cmFtZWZpbHRlcnMtdGVzdC5wYXRjaAogKyAgICAgICAgcmV0dXJuIGZyYW1lX2l0ZXIKICsKICtG cmFtZUZpbHRlcigpCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxMzUwNDM2 LXR5cGUtcHJpbnRlcnMtZXJyb3IucGF0Y2ggYi9nZGItcmhiejEzNTA0MzYtdHlwZS1wcmludGVy cy1lcnJvci5wYXRjaAppbmRleCAxMTRkYTBhLi5jZWJiOTEzIDEwMDY0NAotLS0gYS9nZGItcmhi ejEzNTA0MzYtdHlwZS1wcmludGVycy1lcnJvci5wYXRjaAorKysgYi9nZGItcmhiejEzNTA0MzYt dHlwZS1wcmludGVycy1lcnJvci5wYXRjaApAQCAtMSwxOCArMSwyOCBAQAorRnJvbSBhNTBiNGY3 MDMyMjdiMWM4YjJjZWIwYzRjN2IwNThkNTFjYmJiMDA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZy aSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1yaGJ6MTM1MDQzNi10 eXBlLXByaW50ZXJzLWVycm9yLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItcmhiejEzNTA0MzYtdHlw ZS1wcmludGVycy1lcnJvci5wYXRjaAogCis7OyBUZXN0ICdpbmZvIHR5cGUtcHJpbnRlcnMnIFB5 dGhvbiBlcnJvciAoUkggQlogMTM1MDQzNikuCis7Oz1mZWRvcmF0ZXN0CisKIFR5cG8gaW4gUHl0 aG9uIHN1cHBvcnQgYnJlYWtzIGluZm8gdHlwZS1wcmludGVycyBjb21tYW5kCiBodHRwczovL2J1 Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTEzNTA0MzYKIAogW3Rlc3RzdWl0ZSBw YXRjaF0gUFIgcHl0aG9uLzE3MTM2OiAnaW5mbyB0eXBlLXByaW50ZXJzJyBjYXVzZXMgYW4gZXhj ZXB0aW9uIHdoZW4gdGhlcmUgYXJlIHBlci1vYmpmaWxlIHByaW50ZXJzCiBodHRwczovL3NvdXJj ZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTYtMDYvbXNnMDA0NTUuaHRtbAorLS0tCisgZ2Ri L3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXR5cGVwcmludC5jYyAgfCAgNiArKysrKysKKyBnZGIv dGVzdHN1aXRlL2dkYi5weXRob24vcHktdHlwZXByaW50LmV4cCB8ICA0ICsrKysKKyBnZGIvdGVz dHN1aXRlL2dkYi5weXRob24vcHktdHlwZXByaW50LnB5ICB8IDI0ICsrKysrKysrKysrKysrKysr KysrKystLQorIDMgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKIAotZGlmZiAtZHVwIC1ydXAgZ2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi1v cmlnL3B5LXR5cGVwcmludC5jYyBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LXR5cGVwcmludC5jYwotLS0tIGdkYi03LjYuMS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24tb3Jp Zy9weS10eXBlcHJpbnQuY2MJMjAxMy0wMS0wMSAwNzo0MToyNi4wMDAwMDAwMDAgKzAxMDAKLSsr KyBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXR5cGVwcmludC5jYwkyMDE2 LTA2LTI3IDIyOjU3OjU4LjE2ODY0MjQ3MCArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLnB5dGhvbi9weS10eXBlcHJpbnQuY2MgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24v cHktdHlwZXByaW50LmNjCitpbmRleCA5YWI2YzQ2NDNkLi4zOTA3OWZiZDNhIDEwMDY0NAorLS0t IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXR5cGVwcmludC5jYworKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LXR5cGVwcmludC5jYwogQEAgLTMxLDYgKzMxLDEyIEBAIHRl bXBsPGJhc2ljX3N0cmluZz4gczsKICAKICBiYXNpY19zdHJpbmcgYnM7CkBAIC0yNiwxMCArMzYs MTEgQEAgZGlmZiAtZHVwIC1ydXAgZ2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi1v cmlnL3B5LXR5cGVwcmludC5jYyBnZGItNy42LjEKICBpbnQgbWFpbigpCiAgewogICAgcmV0dXJu IDA7Ci1kaWZmIC1kdXAgLXJ1cCBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uLW9y aWcvcHktdHlwZXByaW50LmV4cCBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LXR5cGVwcmludC5leHAKLS0tLSBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uLW9y aWcvcHktdHlwZXByaW50LmV4cAkyMDEzLTAxLTAxIDA3OjQxOjI2LjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjYuMS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdHlwZXByaW50LmV4cAky MDE2LTA2LTI3IDIyOjU4OjEzLjg0Njc4NTIwOCArMDIwMAotQEAgLTUxLDMgKzUxLDcgQEAgZ2Ri X3Rlc3Rfbm9fb3V0cHV0ICJlbmFibGUgdHlwZS1wcmludGVyCitkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIucHl0aG9uL3B5LXR5cGVwcmludC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5w eXRob24vcHktdHlwZXByaW50LmV4cAoraW5kZXggMjhlNTA1MzMxZi4uNzVlNTAyYjE1YyAxMDA2 NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS10eXBlcHJpbnQuZXhwCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdHlwZXByaW50LmV4cAorQEAgLTUwLDMgKzUw LDcgQEAgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJlbmFibGUgdHlwZS1wcmludGVyIHN0cmluZyIKICBn ZGJfdGVzdCAid2hhdGlzIGJzIiAic3RyaW5nIiAid2hhdGlzIHdpdGggZW5hYmxlZCBwcmludGVy IgogIAogIGdkYl90ZXN0ICJ3aGF0aXMgcyIgInRlbXBsPHN0cmluZz4iCkBAIC0zNyw5ICs0OCwx MCBAQCBkaWZmIC1kdXAgLXJ1cCBnZGItNy42LjEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uLW9y aWcvcHktdHlwZXByaW50LmV4cCBnZGItNy42LgogK2dkYl90ZXN0ICJpbmZvIHR5cGUtcHJpbnRl cnMiICJUeXBlIHByaW50ZXJzIGZvciBcW15cclxuXF0qL3B5LXR5cGVwcmludDpcclxuICpvdGhl clxyXG4uKiIgXAogKwkgImluZm8gdHlwZS1wcmludGVycyBmb3Igb3RoZXIiCiArZ2RiX3Rlc3Qg IndoYXRpcyBvdmFyIiAidHlwZSA9IEFub3RoZXIiCi1kaWZmIC1kdXAgLXJ1cCBnZGItNy42LjEv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uLW9yaWcvcHktdHlwZXByaW50LnB5IGdkYi03LjYuMS9n ZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdHlwZXByaW50LnB5Ci0tLS0gZ2RiLTcuNi4xL2dk Yi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi1vcmlnL3B5LXR5cGVwcmludC5weQkyMDEzLTAxLTAxIDA3 OjQxOjI2LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjYuMS9nZGIvdGVzdHN1aXRlL2dkYi5w eXRob24vcHktdHlwZXByaW50LnB5CTIwMTYtMDYtMjcgMjI6NTc6NTguMTY5NjQyNDc5ICswMjAw CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXR5cGVwcmludC5weSBi L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS10eXBlcHJpbnQucHkKK2luZGV4IGNmOWMxY2U4 YjkuLjdlMjhkZjJiOWUgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHkt dHlwZXByaW50LnB5CisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdHlwZXByaW50 LnB5CiBAQCAtMTUsNyArMTUsNyBAQAogIAogIGltcG9ydCBnZGIKQEAgLTc3LDMgKzg5LDYgQEAg ZGlmZiAtZHVwIC1ydXAgZ2RiLTcuNi4xL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi1vcmlnL3B5 LXR5cGVwcmludC5weSBnZGItNy42LjEKICsKICtpbXBvcnQgZ2RiLnR5cGVzCiArZ2RiLnR5cGVz LnJlZ2lzdGVyX3R5cGVfcHJpbnRlcihnZGIub2JqZmlsZXMoKVswXSwgT3RoZXJUeXBlUHJpbnRl cigpKQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTM5ODM4Ny10YWItY3Jh c2gtdGVzdC5wYXRjaCBiL2dkYi1yaGJ6MTM5ODM4Ny10YWItY3Jhc2gtdGVzdC5wYXRjaAppbmRl eCA5YWY3ZWIxLi4wYmZkNTZkIDEwMDY0NAotLS0gYS9nZGItcmhiejEzOTgzODctdGFiLWNyYXNo LXRlc3QucGF0Y2gKKysrIGIvZ2RiLXJoYnoxMzk4Mzg3LXRhYi1jcmFzaC10ZXN0LnBhdGNoCkBA IC0xLDEyICsxLDIyIEBACitGcm9tIGVlMjNmM2RhNjE3OThhOGNmY2NjMTU1YzUyY2IwNGM2ZTI0 N2U1MDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMg PGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIw MAogU3ViamVjdDogZ2RiLXJoYnoxMzk4Mzg3LXRhYi1jcmFzaC10ZXN0LnBhdGNoCiAKIEZpbGVO YW1lOiBnZGItcmhiejEzOTgzODctdGFiLWNyYXNoLXRlc3QucGF0Y2gKIAorOzsgTmV3IHRlc3Rj YXNlIGZvcjogRml4IDx0YWI+LWNvbXBsZXRpb24gY3Jhc2ggKEdhcnkgQmVuc29uLCBSSCBCWiAx Mzk4Mzg3KS4KKzs7PWZlZG9yYXRlc3QKKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdGFi LWNyYXNoLmJ6Mi51dSB8IDM5MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvdGFiLWNyYXNoLmV4cCAgICB8ICA0MyArKysrCisgMiBmaWxl cyBjaGFuZ2VkLCA0MzYgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3RhYi1jcmFzaC5iejIudXUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS90YWItY3Jhc2guZXhwCisKIGRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3RhYi1jcmFzaC5iejIudXUgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L3RhYi1jcmFzaC5iejIudXUKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5l NTVlYzUwCitpbmRleCAwMDAwMDAwMDAwLi5lNTVlYzUwMTFiCiAtLS0gL2Rldi9udWxsCiArKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3RhYi1jcmFzaC5iejIudXUKIEBAIC0wLDAgKzEsMzkz IEBACkBAIC00MDUsNyArNDE1LDcgQEAgaW5kZXggMDAwMDAwMC4uZTU1ZWM1MAogK2VuZAogZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdGFiLWNyYXNoLmV4cCBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvdGFiLWNyYXNoLmV4cAogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4 IDAwMDAwMDAuLjk0OGMxZTcKK2luZGV4IDAwMDAwMDAwMDAuLjkxYzQ1YWEzNjYKIC0tLSAvZGV2 L251bGwKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdGFiLWNyYXNoLmV4cAogQEAgLTAs MCArMSw0MyBAQApAQCAtNDUyLDMgKzQ2Miw2IEBAIGluZGV4IDAwMDAwMDAuLjk0OGMxZTcKICtj bGVhbl9yZXN0YXJ0ICR7ZGVidWdmaWxlfQogKwogK2dkYl90ZXN0ICJjb21wbGV0ZSBwIHNpIiAi Y29tcGxldGUgcCBzaVxyXG5wIHNpemVfb2ZfZW5jb2RlZF92YWx1ZSIKKy0tIAorMi4xNC4zCisK CmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMDFvZjM1LnBhdGNoIGIvZ2RiLXJo YnoxNDIwMzA0LXMzOTB4LTAxb2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggNWZhOTI2MC4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMDFvZjM1LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRj aGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAg KzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0wMW9mMzUucGF0Y2gKLQotRmls ZU5hbWU6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0wMW9mMzUucGF0Y2gKLQotCi1jb21taXQgZDdh YjQ5MTFmOGFhM2UxY2QwNmVjZTQwZjc0ZDBiNGE1MzJkNmExMAotQXV0aG9yOiBBbmRyZWFzIEty ZWJiZWwgPGtyZWJiZWxAbGludXgudm5ldC5pYm0uY29tPgotRGF0ZTogICBNb24gTWF5IDggMTk6 MTA6NDIgMjAxNyArMDIwMAotCi0gICAgUy8zOTA6IEZpeCBpZnVuYyBtaXNzaW5nIHJ1bnRpbWUg cmVsb2MKLSAgICAKLSAgICBUaGlzIGZpeGVzIGEgcHJvYmxlbSB3aXRoIGEgbWlzc2luZyBSXzM5 MF82NCByZWxvYyBhZ2FpbnN0IC5kYXRhIGZvciBhCi0gICAgZnVuY3Rpb24gcG9pbnRlciB0byBh biBpZnVuYyBmdW5jdGlvbi4KLSAgICAKLSAgICBObyByZWdyZXNzaW9ucyBvbiBzMzkweC4KLSAg ICAKLSAgICBQdXNoZWQgdG8gbWFpbmxpbmUuCi0gICAgCi0gICAgYmZkL0NoYW5nZUxvZzoKLSAg ICAKLSAgICAyMDE3LTA1LTA4ICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQu aWJtLmNvbT4KLSAgICAKLSAgICAgICAgICAgICogZWxmLXMzOTAtY29tbW9uLmM6IERvbid0IGNo ZWNrIG5vbl9nb3RfcmVmIGZsYWcuCi0gICAgICAgICAgICAqIGVsZjMyLXMzOTAuYyAoZWxmX3Mz OTBfcmVsb2NhdGVfc2VjdGlvbik6IExpa2V3aXNlLgotICAgICAgICAgICAgKiBlbGY2NC1zMzkw LmMgKGVsZl9zMzkwX3JlbG9jYXRlX3NlY3Rpb24pOiBMaWtld2lzZS4KLQotLS0tIGEvYmZkL2Vs Zi1zMzkwLWNvbW1vbi5jCi0rKysgYi9iZmQvZWxmLXMzOTAtY29tbW9uLmMKLUBAIC0xNjEsOSAr MTYxLDcgQEAga2VlcDoKLSAgICAgICBoLT50eXBlID0gU1RUX0ZVTkM7Ci0gICAgIH0KLSAKLS0g IC8qIFdlIG5lZWQgZHluYW1pYyByZWxvY2F0aW9uIGZvciBTVFRfR05VX0lGVU5DIHN5bWJvbCBv bmx5IHdoZW4KLS0gICAgIHRoZXJlIGlzIGEgbm9uLUdPVCByZWZlcmVuY2UgaW4gYSBzaGFyZWQg b2JqZWN0LiAgKi8KLS0gIGlmICghYmZkX2xpbmtfcGljIChpbmZvKSB8fCAhaC0+bm9uX2dvdF9y ZWYpCi0rICBpZiAoIWJmZF9saW5rX3BpYyAoaW5mbykpCi0gICAgICpoZWFkID0gTlVMTDsKLSAK LSAgIC8qIEZpbmFsbHksIGFsbG9jYXRlIHNwYWNlLiAgKi8KLS0tLSBhL2JmZC9lbGYzMi1zMzkw LmMKLSsrKyBiL2JmZC9lbGYzMi1zMzkwLmMKLUBAIC0yNzc0LDcgKzI3NzQsNyBAQCBlbGZfczM5 MF9yZWxvY2F0ZV9zZWN0aW9uIChiZmQgKm91dHB1dF9iZmQsCi0gCSAgICAgICYmIHMzOTBfaXNf aWZ1bmNfc3ltYm9sX3AgKGgpCi0gCSAgICAgICYmIGgtPmRlZl9yZWd1bGFyKQotIAkgICAgewot LQkgICAgICBpZiAoIWJmZF9saW5rX3BpYyAoaW5mbykgfHwgIWgtPm5vbl9nb3RfcmVmKQotKwkg ICAgICBpZiAoIWJmZF9saW5rX3BpYyAoaW5mbykpCi0gCQl7Ci0gCQkgIC8qIEZvciBhIG5vbi1z aGFyZWQgb2JqZWN0IFNUVF9HTlVfSUZVTkMgc3ltYm9sIG11c3QKLSAJCSAgICAgZ28gdGhyb3Vn aCBQTFQuICAqLwotLS0tIGEvYmZkL2VsZjY0LXMzOTAuYwotKysrIGIvYmZkL2VsZjY0LXMzOTAu YwotQEAgLTI3MzcsMTAgKzI3MzcsMTEgQEAgZWxmX3MzOTBfcmVsb2NhdGVfc2VjdGlvbiAoYmZk ICpvdXRwdXRfYmZkLAotIAkgICAgICAmJiBzMzkwX2lzX2lmdW5jX3N5bWJvbF9wIChoKQotIAkg ICAgICAmJiBoLT5kZWZfcmVndWxhcikKLSAJICAgIHsKLS0JICAgICAgaWYgKCFiZmRfbGlua19w aWMgKGluZm8pIHx8ICFoLT5ub25fZ290X3JlZikKLSsJICAgICAgaWYgKCFiZmRfbGlua19waWMg KGluZm8pKQotIAkJewotLQkJICAvKiBGb3IgYSBub24tc2hhcmVkIG9iamVjdCBTVFRfR05VX0lG VU5DIHN5bWJvbCBtdXN0Ci0tCQkgICAgIGdvIHRocm91Z2ggUExULiAgKi8KLSsJCSAgLyogRm9y IGEgbm9uLXNoYXJlZCBvYmplY3QgdGhlIHN5bWJvbCB3aWxsIG5vdAotKwkJICAgICBjaGFuZ2Uu ICBIZW5jZSB3ZSBjYW4gd3JpdGUgdGhlIGFkZHJlc3Mgb2YgdGhlCi0rCQkgICAgIHRhcmdldCBJ UExUIHNsb3Qgbm93LiAgKi8KLSAJCSAgcmVsb2NhdGlvbiA9IChodGFiLT5lbGYuaXBsdC0+b3V0 cHV0X3NlY3Rpb24tPnZtYQotIAkJCQkrIGh0YWItPmVsZi5pcGx0LT5vdXRwdXRfb2Zmc2V0Ci0g CQkJCSsgaCAtPnBsdC5vZmZzZXQpOwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkw eC0wMm9mMzUucGF0Y2ggYi9nZGItcmhiejE0MjAzMDQtczM5MHgtMDJvZjM1LnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhODljOTE5Li4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6 MTQyMDMwNC1zMzkweC0wMm9mMzUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBA Ci1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJp LCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTAyb2YzNS5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTAyb2Yz NS5wYXRjaAotCi0KLWNvbW1pdCBhMGExMTBiMGRkNTA3NzM3M2M0MTAyZDE1MDIxMzBlYjE1OWMz NjZiCi1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+ Ci1EYXRlOiAgIFdlZCBNYXkgMTcgMTI6Mzk6MzkgMjAxNyArMDIwMAotCi0gICAgUy8zOTA6IEZp eCBhcmNoIGxldmVsIG9mIHBja21vIGluc3RydWN0aW9uLgotICAgIAotICAgIEZpeCB3cm9uZyBh cmNoaXRlY3R1cmUgbGV2ZWwgb2YgUENLTU8gaW5zdHJ1Y3Rpb24uCi0gICAgCi0gICAgQ29tbWl0 dGVkIHRvIG1haW5saW5lLgotICAgIAotICAgIG9wY29kZXMvQ2hhbmdlTG9nOgotICAgIAotICAg IDIwMTctMDUtMTcgIEFuZHJlYXMgS3JlYmJlbCAgPGtyZWJiZWxAbGludXgudm5ldC5pYm0uY29t PgotICAgIAotICAgICAgICAgICAgKiBzMzkwLW9wYy50eHQ6IFBDS01PIGNoYW5nZSBhcmNoIGxl dmVsIHRvIHoxOTYuCi0gICAgCi0gICAgZ2FzL0NoYW5nZUxvZzoKLSAgICAKLSAgICAyMDE3LTA1 LTE3ICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAK LSAgICAgICAgICAgICogdGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXoxMC5kOiBSZW1vdmUgcGNr bW8uCi0gICAgICAgICAgICAqIHRlc3RzdWl0ZS9nYXMvczM5MC96YXJjaC16MTAuczogUmVtb3Zl IHBja21vLgotICAgICAgICAgICAgKiB0ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtejE5Ni5kOiBB ZGQgcGNrbW8uCi0gICAgICAgICAgICAqIHRlc3RzdWl0ZS9nYXMvczM5MC96YXJjaC16MTk2LnM6 IEFkZCBwY2ttby4KLQotLS0tIGEvb3Bjb2Rlcy9zMzkwLW9wYy50eHQKLSsrKyBiL29wY29kZXMv czM5MC1vcGMudHh0Ci1AQCAtOTc2LDcgKzk3Niw2IEBAIGIyODYgcXNpIFNfUkQgInF1ZXJ5IHNh bXBsaW5nIGluZm9ybWF0aW9uIiB6MTAgemFyY2gKLSBiMmUwIHNjY3RyIFJSRV9SUiAic2V0IGNw dSBjb3VudGVyIiB6MTAgemFyY2gKLSBiMmUxIHNwY3RyIFJSRV9SUiAic2V0IHBlcmlwaGVyYWwg Y291bnRlciIgejEwIHphcmNoCi0gYjI4MCBscHAgU19SRCAibG9hZCBwcm9ncmFtIHBhcmFtZXRl ciIgejEwIHphcmNoCi0tYjkyOCBwY2ttbyBSUkVfMDAgInBlcmZvcm0gY3J5cHRvZ3JhcGhpYyBr ZXkgbWFuYWdlbWVudCBvcGVyYXRpb24iIHoxMCB6YXJjaAotIAotICMgVGhlIG5ldyBpbnN0cnVj dGlvbnMgb2YgdGhlIElCTSB6RW50ZXJwcmlzZSB6MTk2Ci0gYjljOCBhaGhociBSUkZfUjBSUjIg ImFkZCBoaWdoIGhpZ2giIHoxOTYgemFyY2gKLUBAIC0xMTE2LDYgKzExMTUsNyBAQCBiOTJhIGtt ZiBSUkVfUlIgImNpcGhlciBtZXNzYWdlIHdpdGggQ0ZCIiB6MTk2IHphcmNoCi0gYjkyYiBrbW8g UlJFX1JSICJjaXBoZXIgbWVzc2FnZSB3aXRoIE9GQiIgejE5NiB6YXJjaAotIGI5MmMgcGNjIFJS RV8wMCAicGVyZm9ybSBjcnlwdG9ncmFwaGljIGNvbXB1dGF0aW9uIiB6MTk2IHphcmNoCi0gYjky ZCBrbWN0ciBSUkZfUjBSUiAiY2lwaGVyIG1lc3NhZ2Ugd2l0aCBjb3VudGVyIiB6MTk2IHphcmNo Ci0rYjkyOCBwY2ttbyBSUkVfMDAgInBlcmZvcm0gY3J5cHRvZ3JhcGhpYyBrZXkgbWFuYWdlbWVu dCBvcGVyYXRpb24iIHoxOTYgemFyY2gKLSAKLSAjIFRoZSBuZXcgaW5zdHJ1Y3Rpb25zIG9mIHRo ZSBJQk0gekVudGVycHJpc2UgRUMxMgotIGIyZWMgZXRuZCBSUkVfUjAgImV4dHJhY3QgdHJhbnNh Y3Rpb24gbmVzdGluZyBkZXB0aCIgekVDMTIgemFyY2ggaHRtCgpkaWZmIC0tZ2l0IGEvZ2RiLXJo YnoxNDIwMzA0LXMzOTB4LTAzb2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0wM29m MzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3OThiMmEuLjAwMDAwMDAK LS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTAzb2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDU5ICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5j b20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGIt cmhiejE0MjAzMDQtczM5MHgtMDNvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAz MDQtczM5MHgtMDNvZjM1LnBhdGNoCi0KLQotY29tbWl0IGJmY2ZiZTYxMWI0ZDdlNjUwMjM2Zjhi OGJhN2QwNzA2Y2ZlNmEwYjcKLUF1dGhvcjogQW5kcmVhcyBLcmViYmVsIDxrcmViYmVsQGxpbnV4 LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgTW9uIE1heSAyOSAxMjozMzoxNSAyMDE3ICswMjAwCi0K LSAgICBTLzM5MDogUmVtb3ZlIG9wdGlvbmFsIG9wZXJhbmQgZmxhZy4KLSAgICAKLSAgICBUaGUg cGVyIG9wZXJhbmQgb3B0aW9uYWwgZmxhZyBoYXNuJ3QgYmVlbiB1c2VkIGZvciBxdWl0ZSBzb21l IHRpbWUuCi0gICAgQ2xlYW51cCBzb21lIHJlbWFpbnMuCi0gICAgCi0gICAgaW5jbHVkZS9DaGFu Z2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNS0zMCAgQW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbEBs aW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIG9wY29kZS9zMzkwLmg6IFJl bW92ZSBTMzkwX09QRVJBTkRfT1BUSU9OQUwuCi0gICAgCi0gICAgZ2FzL0NoYW5nZUxvZzoKLSAg ICAKLSAgICAyMDE3LTA1LTMwICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQu aWJtLmNvbT4KLSAgICAKLSAgICAgICAgICAgICogY29uZmlnL3RjLXMzOTAuYyAobWRfZ2F0aGVy X29wZXJhbmRzKTogUmVtb3ZlIGNvZGUgZGVhbGluZyB3aXRoCi0gICAgICAgICAgICBTMzkwX09Q RVJBTkRfT1BUSU9OQUwuCi0KLS0tLSBhL2luY2x1ZGUvb3Bjb2RlL3MzOTAuaAotKysrIGIvaW5j bHVkZS9vcGNvZGUvczM5MC5oCi1AQCAtMTU2LDIxICsxNTYsMTcgQEAgZXh0ZXJuIGNvbnN0IHN0 cnVjdCBzMzkwX29wZXJhbmQgczM5MF9vcGVyYW5kc1tdOwotIC8qIFRoaXMgb3BlcmFuZCBpcyBh IGxlbmd0aC4gICovCi0gI2RlZmluZSBTMzkwX09QRVJBTkRfTEVOR1RIIDB4MjAwCi0gCi0tLyog VGhpcyBvcGVyYW5kIGlzIG9wdGlvbmFsLiBPbmx5IGEgc2luZ2xlIG9wZXJhbmQgYXQgdGhlIGVu ZCBvZgotLSAgIHRoZSBpbnN0cnVjdGlvbiBtYXkgYmUgb3B0aW9uYWwuICAqLwotLSNkZWZpbmUg UzM5MF9PUEVSQU5EX09QVElPTkFMIDB4NDAwCi0tCi0gLyogVGhlIG9wZXJhbmQgbmVlZHMgdG8g YmUgYSB2YWxpZCBHUCBvciBGUCByZWdpc3RlciBwYWlyLiAgKi8KLS0jZGVmaW5lIFMzOTBfT1BF UkFORF9SRUdfUEFJUiAweDgwMAotKyNkZWZpbmUgUzM5MF9PUEVSQU5EX1JFR19QQUlSIDB4NDAw Ci0gCi0gLyogVGhpcyBvcGVyYW5kIG5hbWVzIGEgdmVjdG9yIHJlZ2lzdGVyLiAgVGhlIGRpc2Fz c2VtYmxlciB1c2VzIHRoaXMKLSAgICB0byBwcmludCByZWdpc3RlciBuYW1lcyB3aXRoIGEgbGVh ZGluZyAndicuICAqLwotLSNkZWZpbmUgUzM5MF9PUEVSQU5EX1ZSIDB4MTAwMAotKyNkZWZpbmUg UzM5MF9PUEVSQU5EX1ZSIDB4ODAwCi0gCi0tI2RlZmluZSBTMzkwX09QRVJBTkRfQ1AxNiAweDIw MDAKLSsjZGVmaW5lIFMzOTBfT1BFUkFORF9DUDE2IDB4MTAwMAotIAotLSNkZWZpbmUgUzM5MF9P UEVSQU5EX09SMSAweDQwMDAKLS0jZGVmaW5lIFMzOTBfT1BFUkFORF9PUjIgMHg4MDAwCi0tI2Rl ZmluZSBTMzkwX09QRVJBTkRfT1I4IDB4MTAwMDAKLSsjZGVmaW5lIFMzOTBfT1BFUkFORF9PUjEg MHgyMDAwCi0rI2RlZmluZSBTMzkwX09QRVJBTkRfT1IyIDB4NDAwMAotKyNkZWZpbmUgUzM5MF9P UEVSQU5EX09SOCAweDgwMDAKLSAKLSAjZW5kaWYgLyogUzM5MF9IICovCgpkaWZmIC0tZ2l0IGEv Z2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA0b2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkw eC0wNG9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhODRhZTYuLjAw MDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA0b2YzNS5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDEwNCArMCwwIEBACi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRA ZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVj dDogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA0b2YzNS5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLXJo YnoxNDIwMzA0LXMzOTB4LTA0b2YzNS5wYXRjaAotCi0KLWNvbW1pdCBhMDlmMjU4NjAxN2FlZWQ4 MmZhMDdjOGJmZWE2Yzc1ODU5Mjk1YmQ5Ci1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJl bEBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIE1vbiBNYXkgMjkgMTI6MzQ6NTYgMjAxNyAr MDIwMAotCi0gICAgUy8zOTA6IEltcHJvdmUgZXJyb3IgY2hlY2tpbmcgZm9yIG9wdGlvbmFsIG9w ZXJhbmRzCi0gICAgCi0gICAgU28gZmFyIHdlIG9ubHkgaGFkIGFuIGluc3RydWN0aW9uIGZsYWcg d2hpY2ggbWFkZSBhbiBhcmJpdHJhcnkgbnVtYmVyCi0gICAgb2Ygb3BlcmFuZHMgb3B0aW9uYWwu ICBUaGlzIGxpbWl0cyBlcnJvciBjaGVja2luZyBjYXBhYmlsaXRpZXMgZm9yCi0gICAgaW5zdHJ1 Y3Rpb25zIG1hcmtlZCB0aGF0IHdheS4gIFdpdGggdGhpcyBwYXRjaCB0aGUgb3B0cGFybSBmbGFn IG9ubHkKLSAgICBhbGxvd3MgYSBzaW5nbGUgb3B0aW9uYWwgcGFyYW1ldGVyIGFuZCBhbm90aGVy IG9uZSBpcyBhZGRlZCAob3B0cGFybTIpCi0gICAgYWxsb3dpbmcgMiBvcHRpb25hbCBhcmd1bWVu dHMuICBIb3BlZnVsbHkgd2Ugd29uJ3QgbmVlZCBtb3JlIHRoYW4gdGhhdAotICAgIGluIHRoZSBm dXR1cmUuIFNvIGZhciB0aGVyZSB3aWxsIGJlIG9ubHkgYSBzaW5nbGUgdXNlIG9mIG9wdHBhcm0y LgotICAgIAotICAgIGdhcy9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNS0zMCAgQW5kcmVh cyBLcmViYmVsICA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAgICAgICAg ICAqIGNvbmZpZy90Yy1zMzkwLmMgKG1kX2dhdGhlcl9vcGVyYW5kcyk6IFN1cHBvcnQgbmV3IG9w dHBhcm0yCi0gICAgICAgICAgICBpbnN0cnVjdGlvbiBmbGFnLgotICAgIAotICAgIGluY2x1ZGUv Q2hhbmdlTG9nOgotICAgIAotICAgIDIwMTctMDUtMzAgIEFuZHJlYXMgS3JlYmJlbCAgPGtyZWJi ZWxAbGludXgudm5ldC5pYm0uY29tPgotICAgIAotICAgICAgICAgICAgKiBvcGNvZGUvczM5MC5o OiBBZGQgbmV3IGluc3RydWN0aW9uIGZsYWdzIG9wdHBhcm0yLgotICAgIAotICAgIG9wY29kZXMv Q2hhbmdlTG9nOgotICAgIAotICAgIDIwMTctMDUtMzAgIEFuZHJlYXMgS3JlYmJlbCAgPGtyZWJi ZWxAbGludXgudm5ldC5pYm0uY29tPgotICAgIAotICAgICAgICAgICAgKiBzMzkwLWRpcy5jIChz MzkwX3ByaW50X2luc25fd2l0aF9vcGNvZGUpOiBTdXBwb3J0IG5ldyBvcHRwYXJtMgotICAgICAg ICAgICAgaW5zdHJ1Y3Rpb24gZmxhZy4KLSAgICAgICAgICAgICogczM5MC1ta29wYy5jIChtYWlu KTogUmVjb2duaXplIHRoZSBuZXcgaW5zdHJ1Y3Rpb24gZmxhZyB3aGVuCi0gICAgICAgICAgICBw YXJzaW5nIGluc3RydWN0aW9uIGxpc3QuCi0KLS0tLSBhL2luY2x1ZGUvb3Bjb2RlL3MzOTAuaAot KysrIGIvaW5jbHVkZS9vcGNvZGUvczM5MC5oCi1AQCAtNDgsMTAgKzQ4LDExIEBAIGVudW0gczM5 MF9vcGNvZGVfY3B1X3ZhbAotIAotIC8qIEluc3RydWN0aW9uIHNwZWNpZmljIGZsYWdzLiAgKi8K LSAjZGVmaW5lIFMzOTBfSU5TVFJfRkxBR19PUFRQQVJNIDB4MQotKyNkZWZpbmUgUzM5MF9JTlNU Ul9GTEFHX09QVFBBUk0yIDB4MgotIAotLSNkZWZpbmUgUzM5MF9JTlNUUl9GTEFHX0hUTSAweDIK LS0jZGVmaW5lIFMzOTBfSU5TVFJfRkxBR19WWCAweDQKLS0jZGVmaW5lIFMzOTBfSU5TVFJfRkxB R19GQUNJTElUWV9NQVNLIDB4NgotKyNkZWZpbmUgUzM5MF9JTlNUUl9GTEFHX0hUTSAweDQKLSsj ZGVmaW5lIFMzOTBfSU5TVFJfRkxBR19WWCAweDgKLSsjZGVmaW5lIFMzOTBfSU5TVFJfRkxBR19G QUNJTElUWV9NQVNLIDB4YwotIAotIC8qIFRoZSBvcGNvZGUgdGFibGUgaXMgYW4gYXJyYXkgb2Yg c3RydWN0IHMzOTBfb3Bjb2RlLiAgKi8KLSAKLS0tLSBhL29wY29kZXMvczM5MC1kaXMuYwotKysr IGIvb3Bjb2Rlcy9zMzkwLWRpcy5jCi1AQCAtMjA2LDExICsyMDYsMjAgQEAgczM5MF9wcmludF9p bnNuX3dpdGhfb3Bjb2RlIChiZmRfdm1hIG1lbWFkZHIsCi0gCi0gICAgICAgLyogRm9yIGluc3Ry dWN0aW9ucyB3aXRoIGEgbGFzdCBvcHRpb25hbCBvcGVyYW5kIGRvbid0IHByaW50IGl0Ci0gCSBp ZiB6ZXJvLiAgKi8KLS0gICAgICBpZiAoKG9wY29kZS0+ZmxhZ3MgJiBTMzkwX0lOU1RSX0ZMQUdf T1BUUEFSTSkKLSsgICAgICBpZiAoKG9wY29kZS0+ZmxhZ3MgJiAoUzM5MF9JTlNUUl9GTEFHX09Q VFBBUk0gfCBTMzkwX0lOU1RSX0ZMQUdfT1BUUEFSTTIpKQotIAkgICYmIHZhbC51ID09IDAKLSAJ ICAmJiBvcGluZGV4WzFdID09IDApCi0gCWJyZWFrOwotIAotKyAgICAgIGlmICgob3Bjb2RlLT5m bGFncyAmIFMzOTBfSU5TVFJfRkxBR19PUFRQQVJNMikKLSsJICAmJiB2YWwudSA9PSAwICYmIG9w aW5kZXhbMV0gIT0gMCAmJiBvcGluZGV4WzJdID09IDApCi0rCXsKLSsJICB1bmlvbiBvcGVyYW5k X3ZhbHVlIG5leHRfb3BfdmFsID0KLSsJICAgIHMzOTBfZXh0cmFjdF9vcGVyYW5kIChidWZmZXIs IHMzOTBfb3BlcmFuZHMgKyBvcGluZGV4WzFdKTsKLSsJICBpZiAobmV4dF9vcF92YWwudSA9PSAw KQotKwkgICAgYnJlYWs7Ci0rCX0KLSsKLSAgICAgICBpZiAoZmxhZ3MgJiBTMzkwX09QRVJBTkRf R1BSKQotIAlpbmZvLT5mcHJpbnRmX2Z1bmMgKGluZm8tPnN0cmVhbSwgIiVjJSVyJXUiLCBzZXBh cmF0b3IsIHZhbC51KTsKLSAgICAgICBlbHNlIGlmIChmbGFncyAmIFMzOTBfT1BFUkFORF9GUFIp Ci0tLS0gYS9vcGNvZGVzL3MzOTAtbWtvcGMuYwotKysrIGIvb3Bjb2Rlcy9zMzkwLW1rb3BjLmMK LUBAIC00MTEsMTIgKzQxMSwxNiBAQCBtYWluICh2b2lkKQotIAkJJiYgKHN0cls3XSA9PSAwIHx8 IHN0cls3XSA9PSAnLCcpKSB7Ci0gCSAgICAgIGZsYWdfYml0cyB8PSBTMzkwX0lOU1RSX0ZMQUdf T1BUUEFSTTsKLSAJICAgICAgc3RyICs9IDc7Ci0rCSAgICB9IGVsc2UgaWYgKHN0cm5jbXAgKHN0 ciwgIm9wdHBhcm0yIiwgOCkgPT0gMAotKwkJICAgICAgICYmIChzdHJbOF0gPT0gMCB8fCBzdHJb OF0gPT0gJywnKSkgewotKwkgICAgICBmbGFnX2JpdHMgfD0gUzM5MF9JTlNUUl9GTEFHX09QVFBB Uk0yOwotKwkgICAgICBzdHIgKz0gODsKLSAJICAgIH0gZWxzZSBpZiAoc3RybmNtcCAoc3RyLCAi aHRtIiwgMykgPT0gMAotLQkJJiYgKHN0clszXSA9PSAwIHx8IHN0clszXSA9PSAnLCcpKSB7Ci0r CQkgICAgICAgJiYgKHN0clszXSA9PSAwIHx8IHN0clszXSA9PSAnLCcpKSB7Ci0gCSAgICAgIGZs YWdfYml0cyB8PSBTMzkwX0lOU1RSX0ZMQUdfSFRNOwotIAkgICAgICBzdHIgKz0gMzsKLSAJICAg IH0gZWxzZSBpZiAoc3RybmNtcCAoc3RyLCAidngiLCAyKSA9PSAwCi0tCQkmJiAoc3RyWzJdID09 IDAgfHwgc3RyWzJdID09ICcsJykpIHsKLSsJCSAgICAgICAmJiAoc3RyWzJdID09IDAgfHwgc3Ry WzJdID09ICcsJykpIHsKLSAJICAgICAgZmxhZ19iaXRzIHw9IFMzOTBfSU5TVFJfRkxBR19WWDsK LSAJICAgICAgc3RyICs9IDI7Ci0gCSAgICB9IGVsc2UgewoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6 MTQyMDMwNC1zMzkweC0wNW9mMzUucGF0Y2ggYi9nZGItcmhiejE0MjAzMDQtczM5MHgtMDVvZjM1 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWE3OTI5Li4wMDAwMDAwCi0t LSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0wNW9mMzUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSw2NSArMCwwIEBACi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29t PgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJo YnoxNDIwMzA0LXMzOTB4LTA1b2YzNS5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxNDIwMzA0 LXMzOTB4LTA1b2YzNS5wYXRjaAotCi0KLWNvbW1pdCBmZmM2MWM1ZGUxYTVhODllM2UzN2ZiOTM3 NjcyNWMzMmE4MzljMzRkCi1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJlbEBsaW51eC52 bmV0LmlibS5jb20+Ci1EYXRlOiAgIE1vbiBNYXkgMjkgMTI6MzY6NTcgMjAxNyArMDIwMAotCi0g ICAgUy8zOTA6IEFkZCBpcHRlL2lkdGUgdmFyaWFudHMgd2l0aCBvcHRpb25hbCBvcGVyYW5kcwot ICAgIAotICAgIFRoaXMgcGF0Y2ggYWRkcyBtaXNzaW5nIHZhcmlhbnRzIG9mIGlwdGUgYW5kIGlk dGUgaW5zdHJ1Y3Rpb25zIGFkZGVkIHdpdGggbGF0ZXIgQ1BVCi0gICAgZ2VuZXJhdGlvbnMuCi0g ICAgCi0gICAgaXB0ZSBnb3QgYW4gb3B0aW9uYWwgb3BlcmFuZCB3aXRoIHoxOTYgYW5kIGFub3Ro ZXIgb25lIHdpdGggekVDMTIuCi0gICAgaWR0ZSBnb3QgYW4gb3B0aW9uYWwgb3BlcmFuZCB3aXRo IHpFQzEyCi0gICAgCi0gICAgb3Bjb2Rlcy9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNS0z MCAgQW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0g ICAgICAgICAgICAqIHMzOTAtb3BjLmM6IEFkZCBuZXcgaWR0ZS9pcHRlIHZhcmlhbnRzLgotICAg ICAgICAgICAgKiBzMzkwLW9wYy50eHQ6IExpa2V3aXNlLgotICAgIAotICAgIGdhcy9DaGFuZ2VM b2c6Ci0gICAgCi0gICAgMjAxNy0wNS0zMCAgQW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbEBsaW51 eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIHRlc3RzdWl0ZS9nYXMvczM5MC96 YXJjaC16MTk2LmQ6IEFkZCBuZXcgaWR0ZS9pcHRlIHZhcmlhbnRzLgotICAgICAgICAgICAgKiB0 ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtejE5Ni5zOiBMaWtld2lzZS4KLSAgICAgICAgICAgICog dGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXpFQzEyLmQ6IExpa2V3aXNlLgotICAgICAgICAgICAg KiB0ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtekVDMTIuczogTGlrZXdpc2UuCi0KLS0tLSBhL29w Y29kZXMvczM5MC1vcGMuYwotKysrIGIvb3Bjb2Rlcy9zMzkwLW9wYy5jCi1AQCAtMzU1LDcgKzM1 NSw3IEBAIGNvbnN0IHN0cnVjdCBzMzkwX29wZXJhbmQgczM5MF9vcGVyYW5kc1tdID0KLSAjZGVm aW5lIElOU1RSX1JSRl9GRVVGRUZFICA0LCB7IEZFXzI0LEZFXzE2LEZFXzI4LFU0XzIwLDAsMCB9 ICAgIC8qIGUuZy4gcWF4dHIgKi8KLSAjZGVmaW5lIElOU1RSX1JSRl9GVUZGMiAgICA0LCB7IEZf MjQsRl8yOCxGXzE2LFU0XzIwLDAsMCB9ICAgICAgIC8qIGUuZy4gYWR0cmEgKi8KLSAjZGVmaW5l IElOU1RSX1JSRl9GRVVGRUZFMiA0LCB7IEZFXzI0LEZFXzI4LEZFXzE2LFU0XzIwLDAsMCB9ICAg IC8qIGUuZy4gYXh0cmEgKi8KLS0jZGVmaW5lIElOU1RSX1JSRl9SVVJSICAgICA0LCB7IFJfMjQs Ul8yOCxSXzE2LFU0XzIwLDAsMCB9ICAgICAgIC8qIGUuZy4gLmluc24gKi8KLSsjZGVmaW5lIElO U1RSX1JSRl9SVVJSICAgICA0LCB7IFJfMjQsUl8yOCxSXzE2LFU0XzIwLDAsMCB9ICAgICAgIC8q IGUuZy4gaXB0ZSAgKi8KLSAjZGVmaW5lIElOU1RSX1JSRl9SVVJSMiAgICA0LCB7IFJfMjQsUl8x NixSXzI4LFU0XzIwLDAsMCB9ICAgICAgIC8qIGUuZy4gbHB0ZWEgKi8KLSAjZGVmaW5lIElOU1RS X1JSRl9SMFJSICAgICA0LCB7IFJfMjQsUl8xNixSXzI4LDAsMCwwIH0gICAgICAgICAgIC8qIGUu Zy4gaWR0ZSAgKi8KLSAjZGVmaW5lIElOU1RSX1JSRl9SMFJSMiAgICA0LCB7IFJfMjQsUl8yOCxS XzE2LDAsMCwwIH0gICAgICAgICAgIC8qIGUuZy4gYXJrICAgKi8KLS0tLSBhL29wY29kZXMvczM5 MC1vcGMudHh0Ci0rKysgYi9vcGNvZGVzL3MzOTAtb3BjLnR4dAotQEAgLTExMTYsNiArMTExNiw3 IEBAIGI5MmIga21vIFJSRV9SUiAiY2lwaGVyIG1lc3NhZ2Ugd2l0aCBPRkIiIHoxOTYgemFyY2gK LSBiOTJjIHBjYyBSUkVfMDAgInBlcmZvcm0gY3J5cHRvZ3JhcGhpYyBjb21wdXRhdGlvbiIgejE5 NiB6YXJjaAotIGI5MmQga21jdHIgUlJGX1IwUlIgImNpcGhlciBtZXNzYWdlIHdpdGggY291bnRl ciIgejE5NiB6YXJjaAotIGI5MjggcGNrbW8gUlJFXzAwICJwZXJmb3JtIGNyeXB0b2dyYXBoaWMg a2V5IG1hbmFnZW1lbnQgb3BlcmF0aW9uIiB6MTk2IHphcmNoCi0rYjIyMSBpcHRlIFJSRl9SMFJS MiAiaW52YWxpZGF0ZSBwYWdlIHRhYmxlIGVudHJ5IiB6MTk2IHphcmNoIG9wdHBhcm0KLSAKLSAj IFRoZSBuZXcgaW5zdHJ1Y3Rpb25zIG9mIHRoZSBJQk0gekVudGVycHJpc2UgRUMxMgotIGIyZWMg ZXRuZCBSUkVfUjAgImV4dHJhY3QgdHJhbnNhY3Rpb24gbmVzdGluZyBkZXB0aCIgekVDMTIgemFy Y2ggaHRtCi1AQCAtMTE0Myw2ICsxMTQ0LDggQEAgZWQwMDAwMDAwMGFhIGNkenQgUlNMX0xSREZV ICJjb252ZXJ0IGZyb20gem9uZWQgbG9uZyIgekVDMTIgemFyY2gKLSBlZDAwMDAwMDAwYWIgY3h6 dCBSU0xfTFJERkVVICJjb252ZXJ0IGZyb20gem9uZWQgZXh0ZW5kZWQiIHpFQzEyIHphcmNoCi0g ZWQwMDAwMDAwMGE4IGN6ZHQgUlNMX0xSREZVICJjb252ZXJ0IHRvIHpvbmVkIGxvbmciIHpFQzEy IHphcmNoCi0gZWQwMDAwMDAwMGE5IGN6eHQgUlNMX0xSREZFVSAiY29udmVydCB0byB6b25lZCBl eHRlbmRlZCIgekVDMTIgemFyY2gKLStiOThlIGlkdGUgUlJGX1JVUlIyICJpbnZhbGlkYXRlIGRh dCB0YWJsZSBlbnRyeSIgekVDMTIgemFyY2ggb3B0cGFybQotK2IyMjEgaXB0ZSBSUkZfUlVSUiAi aW52YWxpZGF0ZSBwYWdlIHRhYmxlIGVudHJ5IiB6RUMxMiB6YXJjaCBvcHRwYXJtMgotIAotICMg VGhlIG5ldyBpbnN0cnVjdGlvbnMgb2YgSUJNIHoxMwotIAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6 MTQyMDMwNC1zMzkweC0wNm9mMzUucGF0Y2ggYi9nZGItcmhiejE0MjAzMDQtczM5MHgtMDZvZjM1 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiN2VkZTQyLi4wMDAwMDAwCi0t LSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0wNm9mMzUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwzOCArMCwwIEBACi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29t PgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJo YnoxNDIwMzA0LXMzOTB4LTA2b2YzNS5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxNDIwMzA0 LXMzOTB4LTA2b2YzNS5wYXRjaAotCi0KLWNvbW1pdCA2N2FhOGJlNGNiNDNjZDk0YmMzMjJmZWQ4 YmRiYTQ4YjNjODcxOWM0Ci1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJlbEBsaW51eC52 bmV0LmlibS5jb20+Ci1EYXRlOiAgIE1vbiBNYXkgMjkgMTI6Mzg6MTEgMjAxNyArMDIwMAotCi0g ICAgUy8zOTA6IEFkZCBtaXNzaW5nIG9wZXJhbmQgdG8gdGIgaW5zdHJ1Y3Rpb24KLSAgICAKLSAg ICBnYXMvQ2hhbmdlTG9nOgotICAgIAotICAgIDIwMTctMDUtMzAgIEFuZHJlYXMgS3JlYmJlbCAg PGtyZWJiZWxAbGludXgudm5ldC5pYm0uY29tPgotICAgIAotICAgICAgICAgICAgKiB0ZXN0c3Vp dGUvZ2FzL3MzOTAvZXNhLWc1LmQ6IEFkZCBtaXNzaW5nIG9wZXJhbmQgdG8gdGIKLSAgICAgICAg ICAgIGluc3RydWN0aW9uLgotICAgICAgICAgICAgKiB0ZXN0c3VpdGUvZ2FzL3MzOTAvZXNhLWc1 LnM6IExpa2V3aXNlLgotICAgIAotICAgIG9wY29kZXMvQ2hhbmdlTG9nOgotICAgIAotICAgIDIw MTctMDUtMzAgIEFuZHJlYXMgS3JlYmJlbCAgPGtyZWJiZWxAbGludXgudm5ldC5pYm0uY29tPgot ICAgIAotICAgICAgICAgICAgKiBzMzkwLW9wYy50eHQ6IEFkZCBtaXNzaW5nIG9wZXJhbmQgdG8g dGIgaW5zdHJ1Y3Rpb24uCi0KLS0tLSBhL29wY29kZXMvczM5MC1vcGMudHh0Ci0rKysgYi9vcGNv ZGVzL3MzOTAtb3BjLnR4dAotQEAgLTIyOCw3ICsyMjgsNyBAQCBiMjQ2IHN0dXJhIFJSRV9SUiAi c3RvcmUgdXNpbmcgcmVhbCBhZGRyZXNzIiBnNSBlc2EsemFyY2gKLSAyZiBzd3IgUlJfRkYgInN1 YnRyYWN0IHVubm9ybWFsaXplZCAobG9uZykiIGc1IGVzYSx6YXJjaAotIDM3IHN4ciBSUl9GRUZF ICJzdWJ0cmFjdCBub3JtYWxpemVkIChleHQuKSIgZzUgZXNhLHphcmNoCi0gYjI0YyB0YXIgUlJF X0FSICJ0ZXN0IGFjY2VzcyIgZzUgZXNhLHphcmNoCi0tYjIyYyB0YiBSUkVfMFIgInRlc3QgYmxv Y2siIGc1IGVzYSx6YXJjaAotK2IyMmMgdGIgUlJFX1JSICJ0ZXN0IGJsb2NrIiBnNSBlc2EsemFy Y2gKLSA5MSB0bSBTSV9VUkQgInRlc3QgdW5kZXIgbWFzayIgZzUgZXNhLHphcmNoCi0gYjIzNiB0 cGkgU19SRCAidGVzdCBwZW5kaW5nIGludGVycnVwdGlvbiIgZzUgZXNhLHphcmNoCi0gZTUwMSB0 cHJvdCBTU0VfUkRSRCAidGVzdCBwcm90ZWN0aW9uIiBnNSBlc2EsemFyY2gKCmRpZmYgLS1naXQg YS9nZGItcmhiejE0MjAzMDQtczM5MHgtMDdvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTA3b2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc0NTQ5Ny4u MDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMDdvZjM1LnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsNjAgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlk QGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1Ympl Y3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0wN29mMzUucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1y aGJ6MTQyMDMwNC1zMzkweC0wN29mMzUucGF0Y2gKLQotCi1jb21taXQgY2E4N2FlNzQxZmU5Yzhh YWQ5ZGIxYWZiZjEwOWRjMDcwZDAxNjhjZgotQXV0aG9yOiBBbmRyZWFzIEtyZWJiZWwgPGtyZWJi ZWxAbGludXgudm5ldC5pYm0uY29tPgotRGF0ZTogICBNb24gTWF5IDI5IDEyOjM4OjQyIDIwMTcg KzAyMDAKLQotICAgIFMvMzkwOiBGaXggaW5zdHJ1Y3Rpb24gdHlwZXMgb2YgY3NkdHIgYW5kIGNz eHRyCi0gICAgCi0gICAgb3Bjb2Rlcy9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNS0zMCAg QW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAg ICAgICAgICAqIHMzOTAtb3BjLmM6IEFkZCBuZXcgaW5zdHJ1Y3Rpb24gdHlwZXMgUlJGXzBVUkYg YW5kIFJSRl8wVVJFRkUuCi0gICAgICAgICAgICAqIHMzOTAtb3BjLnR4dDogRml4IGluc3RydWN0 aW9uIHR5cHMgb2YgY3NkdHIgYW5kIGNzeHRyLgotICAgIAotICAgIGdhcy9DaGFuZ2VMb2c6Ci0g ICAgCi0gICAgMjAxNy0wNS0zMCAgQW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbEBsaW51eC52bmV0 LmlibS5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIHRlc3RzdWl0ZS9nYXMvczM5MC96YXJjaC16 OS1lYy5kOiBBZGp1c3QgY3NkdHIgYW5kIGNzeHRyLgotICAgICAgICAgICAgKiB0ZXN0c3VpdGUv Z2FzL3MzOTAvemFyY2gtejktZWMuczogTGlrZXdpc2UuCi0KLS0tLSBhL29wY29kZXMvczM5MC1v cGMuYwotKysrIGIvb3Bjb2Rlcy9zMzkwLW9wYy5jCi1AQCAtMzc0LDYgKzM3NCw4IEBAIGNvbnN0 IHN0cnVjdCBzMzkwX29wZXJhbmQgczM5MF9vcGVyYW5kc1tdID0KLSAjZGVmaW5lIElOU1RSX1JS Rl9VMFJFUiAgICA0LCB7IFJFXzI0LFJfMjgsVTRfMTYsMCwwLDAgfSAgICAgICAgIC8qIGUuZy4g dHJ0ZSAgKi8KLSAjZGVmaW5lIElOU1RSX1JSRl9VMFJFUkUgICA0LCB7IFJFXzI0LFJFXzI4LFU0 XzE2LDAsMCwwIH0gICAgICAgIC8qIGUuZy4gY3UyNCAgKi8KLSAjZGVmaW5lIElOU1RSX1JSRl8w MFJSICAgICA0LCB7IFJfMjQsUl8yOCwwLDAsMCwwIH0gICAgICAgICAgICAgIC8qIGUuZy4gY2xy dG5lICovCi0rI2RlZmluZSBJTlNUUl9SUkZfMFVSRiAgICAgNCwgeyBSXzI0LEZfMjgsVTRfMjAs MCwwLDAgfSAgICAgICAgICAvKiBlLmcuIGNzZHRyICAqLwotKyNkZWZpbmUgSU5TVFJfUlJGXzBV UkVGRSAgIDQsIHsgUkVfMjQsRkVfMjgsVTRfMjAsMCwwLDAgfSAgICAgICAgLyogZS5nLiBjc3h0 ciAgKi8KLSAjZGVmaW5lIElOU1RSX1JSRl9VVUZSICAgICA0LCB7IEZfMjQsVTRfMTYsUl8yOCxV NF8yMCwwLDAgfSAgICAgIC8qIGUuZy4gY2RndHJhICovCi0gI2RlZmluZSBJTlNUUl9SUkZfVVVG RVIgICAgNCwgeyBGRV8yNCxVNF8xNixSXzI4LFU0XzIwLDAsMCB9ICAgICAvKiBlLmcuIGN4ZmJy YSAqLwotICNkZWZpbmUgSU5TVFJfUlJGX1VVUkYgICAgIDQsIHsgUl8yNCxVNF8xNixGXzI4LFU0 XzIwLDAsMCB9ICAgICAgLyogZS5nLiBjZ2R0cmEgKi8KLUBAIC01OTAsNiArNTkyLDggQEAgY29u c3Qgc3RydWN0IHMzOTBfb3BlcmFuZCBzMzkwX29wZXJhbmRzW10gPQotICNkZWZpbmUgTUFTS19S UkZfVTBSRVIgICAgeyAweGZmLCAweGZmLCAweDBmLCAweDAwLCAweDAwLCAweDAwIH0KLSAjZGVm aW5lIE1BU0tfUlJGX1UwUkVSRSAgIHsgMHhmZiwgMHhmZiwgMHgwZiwgMHgwMCwgMHgwMCwgMHgw MCB9Ci0gI2RlZmluZSBNQVNLX1JSRl8wMFJSICAgICB7IDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MDAs IDB4MDAsIDB4MDAgfQotKyNkZWZpbmUgTUFTS19SUkZfMFVSRiAgICAgeyAweGZmLCAweGZmLCAw eGYwLCAweDAwLCAweDAwLCAweDAwIH0KLSsjZGVmaW5lIE1BU0tfUlJGXzBVUkVGRSAgIHsgMHhm ZiwgMHhmZiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMCB9Ci0gI2RlZmluZSBNQVNLX1JSRl9VVUZS ICAgICB7IDB4ZmYsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgfQotICNkZWZpbmUgTUFT S19SUkZfVVVGRVIgICAgeyAweGZmLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDAwIH0KLSAj ZGVmaW5lIE1BU0tfUlJGX1VVUkYgICAgIHsgMHhmZiwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCB9Ci0tLS0gYS9vcGNvZGVzL3MzOTAtb3BjLnR4dAotKysrIGIvb3Bjb2Rlcy9zMzkwLW9w Yy50eHQKLUBAIC04MTcsOCArODE3LDggQEAgYjNmMiBjZHV0ciBSUkVfRlIgImNvbnZlcnQgZnJv bSB1bnNpZ25lZCBiY2QgdG8gbG9uZyBkZnAiIHo5LWVjIHphcmNoCi0gYjNmYSBjeHV0ciBSUkVf RkVSICJjb252ZXJ0IGZyb20gdW5zaWduZWQgYmNkIHRvIGV4dGVuZGVkIGRmcCIgejktZWMgemFy Y2gKLSBiM2UxIGNnZHRyIFJSRl9VMFJGICJjb252ZXJ0IGZyb20gbG9uZyBkZnAgdG8gZml4ZWQi IHo5LWVjIHphcmNoCi0gYjNlOSBjZ3h0ciBSUkZfVTBSRkUgImNvbnZlcnQgZnJvbSBleHRlbmRl ZCBkZnAgdG8gZml4ZWQiIHo5LWVjIHphcmNoCi0tYjNlMyBjc2R0ciBSUkVfUkYgImNvbnZlcnQg ZnJvbSBsb25nIGRmcCB0byBzaWduZWQgYmNkIiB6OS1lYyB6YXJjaAotLWIzZWIgY3N4dHIgUlJF X1JGRSAiY29udmVydCBmcm9tIGV4dGVuZGVkIGRmcCB0byBzaWduZWQgYmNkIiB6OS1lYyB6YXJj aAotK2IzZTMgY3NkdHIgUlJGXzBVUkYgImNvbnZlcnQgZnJvbSBsb25nIGRmcCB0byBzaWduZWQg YmNkIiB6OS1lYyB6YXJjaAotK2IzZWIgY3N4dHIgUlJGXzBVUkVGRSAiY29udmVydCBmcm9tIGV4 dGVuZGVkIGRmcCB0byBzaWduZWQgYmNkIiB6OS1lYyB6YXJjaAotIGIzZTIgY3VkdHIgUlJFX1JG ICJjb252ZXJ0IGZyb20gbG9uZyBkZnAgdG8gdW5zaWduZWQgYmNkIiB6OS1lYyB6YXJjaAotIGIz ZWEgY3V4dHIgUlJFX1JGRSAiY29udmVydCBmcm9tIGV4dGVuZGVkIGRmcCB0byB1bnNpZ25lZCBi Y2QiIHo5LWVjIHphcmNoCi0gYjNkMSBkZHRyIFJSUl9GMEZGICJkaXZpZGUgbG9uZyBkZnAiIHo5 LWVjIHphcmNoCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA4b2YzNS5wYXRj aCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0wOG9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDk1NmU2NTguLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4 LTA4b2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgzICswLDAgQEAKLUZyb206IEZlZG9y YSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3 IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMDhvZjM1LnBh dGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMDhvZjM1LnBhdGNoCi0KLQot Y29tbWl0IDE5ZmIzMWMwMDYwZjY0NmE5Zjg0YmUxYTg0ZWQxYmVhMDRlN2VkNTcKLUF1dGhvcjog QW5kcmVhcyBLcmViYmVsIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgVGh1 IEp1biAxIDEzOjQ2OjE1IDIwMTcgKzAyMDAKLQotICAgIFMvMzkwOiBpZHRlL2lwdGUgZml4ZXMK LSAgICAKLSAgICBMYXRlciBDUFUgZ2VuZXJhdGlvbnMgYWRkZWQgb3B0aW9uYWwgb3BlcmFuZHMg dG8gdGhlIGlwdGUvaWR0ZQotICAgIGluc3RydWN0aW9ucy4gIEkndmUgYWRkZWQgdGhlc2Ugd2l0 aDoKLSAgICBodHRwczovL3NvdXJjZXdhcmUub3JnL21sL2JpbnV0aWxzLzIwMTctMDUvbXNnMDAz MTYuaHRtbCAuLi4gYnV0Ci0gICAgc3VwcG9ydGVkIHRoZSBvcHRpb25hbCBvcGVyYW5kcyBvbmx5 IHdpdGggdGhlIHNwZWNpZmljIGhhcmR3YXJlCi0gICAgbGV2ZWxzLiAgSG93ZXZlciwgaXQgaXMg bW9yZSB1c2VmdWwgdG8gaGF2ZSB0aGUgb3B0aW9uYWwgb3BlcmFuZHMKLSAgICBhbHJlYWR5IGlu IHRoZSBmaXJzdCB2ZXJzaW9ucy4gIE9mIGNvdXJzZSB0aGV5IG5lZWQgdG8gYmUgemVybyB0aGVy ZS4KLSAgICAKLSAgICBSZWdyZXNzaW9uLXRlc3RlZCB3aXRoIG9uIHMzOTAgYW5kIHMzOTB4LiAg Q29tbWl0dGVkIHRvIG1haW5saW5lLgotICAgIAotICAgIEJ5ZSwKLSAgICAKLSAgICAtQW5kcmVh cy0KLSAgICAKLSAgICBvcGNvZGVzL0NoYW5nZUxvZzoKLSAgICAKLSAgICAyMDE3LTA2LTAxICBB bmRyZWFzIEtyZWJiZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAKLSAgICAg ICAgICAgICogczM5MC1vcGMudHh0OiBTdXBwb3J0IHRoZSBvcHRpb25hbCBwYXJhbWV0ZXJzIHdp dGggdGhlIGZpcnN0Ci0gICAgICAgICAgICB2ZXJzaW9ucyBvZiBpcHRlL2lkdGUuCi0gICAgCi0g ICAgZ2FzL0NoYW5nZUxvZzoKLSAgICAKLSAgICAyMDE3LTA2LTAxICBBbmRyZWFzIEtyZWJiZWwg IDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAKLSAgICAgICAgICAgICogdGVzdHN1 aXRlL2dhcy9zMzkwL2VzYS1nNS5kOiBBZGQgaXB0ZSB0ZXN0cy4KLSAgICAgICAgICAgICogdGVz dHN1aXRlL2dhcy9zMzkwL2VzYS1nNS5zOiBMaWtld2lzZS4KLSAgICAgICAgICAgICogdGVzdHN1 aXRlL2dhcy9zMzkwL3phcmNoLXoxOTYuZDogUmVtb3ZlIGlwdGUgdGVzdHMuCi0gICAgICAgICAg ICAqIHRlc3RzdWl0ZS9nYXMvczM5MC96YXJjaC16MTk2LnM6IExpa2V3aXNlLgotICAgICAgICAg ICAgKiB0ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtejk5MC5kOiBBZGQgaWR0ZSB0ZXN0cy4KLSAg ICAgICAgICAgICogdGVzdHN1aXRlL2dhcy9zMzkwL3phcmNoLXo5OTAuczogTGlrZXdpc2UuCi0g ICAgICAgICAgICAqIHRlc3RzdWl0ZS9nYXMvczM5MC96YXJjaC16RUMxMi5kOiBSZW1vdmUgaXB0 ZS9pZHRlIHRlc3RzLgotICAgICAgICAgICAgKiB0ZXN0c3VpdGUvZ2FzL3MzOTAvemFyY2gtekVD MTIuczogTGlrZXdpc2UuCi0KLS0tLSBhL29wY29kZXMvczM5MC1vcGMudHh0Ci0rKysgYi9vcGNv ZGVzL3MzOTAtb3BjLnR4dAotQEAgLTc5LDcgKzc5LDcgQEAgYjIyNCBpYWMgUlJFX1IwICJpbnNl cnQgYWRkcmVzcyBzcGFjZSBjb250cm9sIiBnNSBlc2EsemFyY2gKLSBiZiBpY20gUlNfUlVSRCAi aW5zZXJ0IGNoYXJhY3RlcnMgdW5kZXIgbWFzayIgZzUgZXNhLHphcmNoCi0gYjIwYiBpcGsgU18w MCAiaW5zZXJ0IFBTVyBrZXkiIGc1IGVzYSx6YXJjaAotIGIyMjIgaXBtIFJSRV9SMCAiaW5zZXJ0 IHByb2dyYW0gbWFzayIgZzUgZXNhLHphcmNoCi0tYjIyMSBpcHRlIFJSRV9SUiAiaW52YWxpZGF0 ZSBwYWdlIHRhYmxlIGVudHJ5IiBnNSBlc2EsemFyY2gKLStiMjIxIGlwdGUgUlJGX1JVUlIgImlu dmFsaWRhdGUgcGFnZSB0YWJsZSBlbnRyeSIgZzUgZXNhLHphcmNoIG9wdHBhcm0yCi0gYjIyOSBp c2tlIFJSRV9SUiAiaW5zZXJ0IHN0b3JhZ2Uga2V5IGV4dGVuZGVkIiBnNSBlc2EsemFyY2gKLSBi MjIzIGl2c2sgUlJFX1JSICJpbnNlcnQgdmlydHVhbCBzdG9yYWdlIGtleSIgZzUgZXNhLHphcmNo Ci0gNTggbCBSWF9SUlJEICJsb2FkIiBnNSBlc2EsemFyY2gKLUBAIC03MDAsNyArNzAwLDcgQEAg ZWIwMDAwMDAwMDhmIGNsY2x1IFJTWV9SUlJEICJjb21wYXJlIGxvZ2ljYWwgbG9uZyB1bmljb2Rl IHdpdGggbG9uZyBvZmZzZXQiIHo5OTAKLSBlYjAwMDAwMDAwOTYgbG1oIFJTWV9SUlJEICJsb2Fk IG11bHRpcGxlIGhpZ2giIHo5OTAgemFyY2gKLSAjIG5ldyB6OTkwIGluc3RydWN0aW9ucwotIGI5 OGEgY3NwZyBSUkVfUlIgImNvbXBhcmUgYW5kIHN3YXAgYW5kIHB1cmdlIiB6OTkwIHphcmNoCi0t Yjk4ZSBpZHRlIFJSRl9SMFJSICJpbnZhbGlkYXRlIGRhdCB0YWJsZSBlbnRyeSIgejk5MCB6YXJj aAotK2I5OGUgaWR0ZSBSUkZfUlVSUjIgImludmFsaWRhdGUgZGF0IHRhYmxlIGVudHJ5IiB6OTkw IHphcmNoIG9wdHBhcm0KLSBiMzNlIG1hZHIgUlJGX0YwRkYgIm11bHRpcGx5IGFuZCBhZGQgbG9u ZyBoZnAiIHo5OTAgZXNhLHphcmNoCi0gZWQwMDAwMDAwMDNlIG1hZCBSWEZfRlJSREYgIm11bHRp cGx5IGFuZCBhZGQgbG9uZyBoZnAiIHo5OTAgZXNhLHphcmNoCi0gYjMyZSBtYWVyIFJSRl9GMEZG ICJtdWx0aXBseSBhbmQgYWRkIHNob3J0IGhmcCIgejk5MCBlc2EsemFyY2gKLUBAIC0xMTE2LDcg KzExMTYsNiBAQCBiOTJiIGttbyBSUkVfUlIgImNpcGhlciBtZXNzYWdlIHdpdGggT0ZCIiB6MTk2 IHphcmNoCi0gYjkyYyBwY2MgUlJFXzAwICJwZXJmb3JtIGNyeXB0b2dyYXBoaWMgY29tcHV0YXRp b24iIHoxOTYgemFyY2gKLSBiOTJkIGttY3RyIFJSRl9SMFJSICJjaXBoZXIgbWVzc2FnZSB3aXRo IGNvdW50ZXIiIHoxOTYgemFyY2gKLSBiOTI4IHBja21vIFJSRV8wMCAicGVyZm9ybSBjcnlwdG9n cmFwaGljIGtleSBtYW5hZ2VtZW50IG9wZXJhdGlvbiIgejE5NiB6YXJjaAotLWIyMjEgaXB0ZSBS UkZfUjBSUjIgImludmFsaWRhdGUgcGFnZSB0YWJsZSBlbnRyeSIgejE5NiB6YXJjaCBvcHRwYXJt Ci0gCi0gIyBUaGUgbmV3IGluc3RydWN0aW9ucyBvZiB0aGUgSUJNIHpFbnRlcnByaXNlIEVDMTIK LSBiMmVjIGV0bmQgUlJFX1IwICJleHRyYWN0IHRyYW5zYWN0aW9uIG5lc3RpbmcgZGVwdGgiIHpF QzEyIHphcmNoIGh0bQotQEAgLTExNDQsOCArMTE0Myw2IEBAIGVkMDAwMDAwMDBhYSBjZHp0IFJT TF9MUkRGVSAiY29udmVydCBmcm9tIHpvbmVkIGxvbmciIHpFQzEyIHphcmNoCi0gZWQwMDAwMDAw MGFiIGN4enQgUlNMX0xSREZFVSAiY29udmVydCBmcm9tIHpvbmVkIGV4dGVuZGVkIiB6RUMxMiB6 YXJjaAotIGVkMDAwMDAwMDBhOCBjemR0IFJTTF9MUkRGVSAiY29udmVydCB0byB6b25lZCBsb25n IiB6RUMxMiB6YXJjaAotIGVkMDAwMDAwMDBhOSBjenh0IFJTTF9MUkRGRVUgImNvbnZlcnQgdG8g em9uZWQgZXh0ZW5kZWQiIHpFQzEyIHphcmNoCi0tYjk4ZSBpZHRlIFJSRl9SVVJSMiAiaW52YWxp ZGF0ZSBkYXQgdGFibGUgZW50cnkiIHpFQzEyIHphcmNoIG9wdHBhcm0KLS1iMjIxIGlwdGUgUlJG X1JVUlIgImludmFsaWRhdGUgcGFnZSB0YWJsZSBlbnRyeSIgekVDMTIgemFyY2ggb3B0cGFybTIK LSAKLSAjIFRoZSBuZXcgaW5zdHJ1Y3Rpb25zIG9mIElCTSB6MTMKLSAKCmRpZmYgLS1naXQgYS9n ZGItcmhiejE0MjAzMDQtczM5MHgtMDlvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4 LTA5b2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWMxYjE5Ni4uMDAw MDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMDlvZjM1LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMTMwICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBl bWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0 OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMDlvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhi ejE0MjAzMDQtczM5MHgtMDlvZjM1LnBhdGNoCi0KLQotY29tbWl0IDM3MDRlMzU4OWQzZDE4N2Zi Zjc2ZTY4ODM4OGIxYTkyZmQ2MjdjOGQKLUF1dGhvcjogQW5kcmVhcyBLcmViYmVsIDxrcmViYmVs QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgRnJpIEp1biA5IDExOjE5OjAxIDIwMTcgKzAy MDAKLQotICAgIFMvMzkwOiBSZXR1cm4gd2l0aCBhbiBlcnJvciBmb3IgYnJva2VuIHRscyByZXdy aXRlcwotICAgIAotICAgIGJmZC9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNi0xMiAgQW5k cmVhcyBLcmViYmVsICA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAgICAg ICAgICAqIGVsZjMyLXMzOTAuYyAoZWxmX3MzOTBfcmVsb2NhdGVfc2VjdGlvbik6IFJldHVybiBm YWxzZSBpbiBjYXNlCi0gICAgICAgICAgICB0aGUgcmV3cml0aW5nIGZhaWxzLgotICAgICAgICAg ICAgKiBlbGY2NC1zMzkwLmMgKGVsZl9zMzkwX3JlbG9jYXRlX3NlY3Rpb24pOiBMaWtld2lzZS4K LQotLS0tIGEvYmZkL2VsZjMyLXMzOTAuYwotKysrIGIvYmZkL2VsZjMyLXMzOTAuYwotQEAgLTMy MzEsNyArMzIzMSw2IEBAIGVsZl9zMzkwX3JlbG9jYXRlX3NlY3Rpb24gKGJmZCAqb3V0cHV0X2Jm ZCwKLSAJCSAgdW5zaWduZWQgaW50IGluc24sIHJ5OwotIAotIAkJICBpbnNuID0gYmZkX2dldF8z MiAoaW5wdXRfYmZkLCBjb250ZW50cyArIHJlbC0+cl9vZmZzZXQpOwotLQkJICByeSA9IDA7Ci0g CQkgIGlmICgoaW5zbiAmIDB4ZmYwMGYwMDApID09IDB4NTgwMDAwMDApCi0gCQkgICAgLyogbCAl cngsMCglcnksMCkgLT4gbHIgJXJ4LCVyeSArIGJjciAwLDAgICovCi0gCQkgICAgcnkgPSAoaW5z biAmIDB4MDAwZjAwMDApOwotQEAgLTMyNDUsNyArMzI0NCwxMCBAQCBlbGZfczM5MF9yZWxvY2F0 ZV9zZWN0aW9uIChiZmQgKm91dHB1dF9iZmQsCi0gCQkgICAgLyogbCAlcngsMCglcjEyLCVyeSkg LT4gbHIgJXJ4LCVyeSArIGJjciAwLDAgICovCi0gCQkgICAgcnkgPSAoaW5zbiAmIDB4MDAwMGYw MDApIDw8IDQ7Ci0gCQkgIGVsc2UKLS0JCSAgICBpbnZhbGlkX3Rsc19pbnNuIChpbnB1dF9iZmQs IGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkgICAgewotKwkJICAgICAgaW52YWxpZF90bHNfaW5z biAoaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLCByZWwpOwotKwkJICAgICAgcmV0dXJuIEZBTFNF OwotKwkJICAgIH0KLSAJCSAgaW5zbiA9IDB4MTgwMDA3MDAgfCAoaW5zbiAmIDB4MDBmMDAwMDAp IHwgcnk7Ci0gCQkgIGJmZF9wdXRfMzIgKG91dHB1dF9iZmQsIGluc24sIGNvbnRlbnRzICsgcmVs LT5yX29mZnNldCk7Ci0gCQl9Ci1AQCAtMzI1OCw3ICszMjYwLDEwIEBAIGVsZl9zMzkwX3JlbG9j YXRlX3NlY3Rpb24gKGJmZCAqb3V0cHV0X2JmZCwKLSAJICAgICAgaWYgKChpbnNuICYgMHhmZjAw MGZmZikgIT0gMHg0ZDAwMDAwMCAmJgotIAkJICAoaW5zbiAmIDB4ZmZmZjAwMDApICE9IDB4YzBl NTAwMDAgJiYKLSAJCSAgKGluc24gJiAweGZmMDAwMDAwKSAhPSAweDBkMDAwMDAwKQotLQkJaW52 YWxpZF90bHNfaW5zbiAoaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLCByZWwpOwotKwkJewotKwkJ ICBpbnZhbGlkX3Rsc19pbnNuIChpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkg IHJldHVybiBGQUxTRTsKLSsJCX0KLSAJICAgICAgaWYgKCFiZmRfbGlua19waWMgKGluZm8pICYm IChoID09IE5VTEwgfHwgaC0+ZHluaW5keCA9PSAtMSkpCi0gCQl7Ci0gCQkgIGlmICgoaW5zbiAm IDB4ZmYwMDAwMDApID09IDB4MGQwMDAwMDApCi1AQCAtMzI4Nyw3ICszMjkyLDEwIEBAIGVsZl9z MzkwX3JlbG9jYXRlX3NlY3Rpb24gKGJmZCAqb3V0cHV0X2JmZCwKLSAJCSAgLyogSWYgYmFzciBp cyB1c2VkIGluIHRoZSBwaWMgY2FzZSB0byBpbnZva2UKLSAJCSAgICAgX3Rsc19nZXRfb2Zmc2V0 LCBzb21ldGhpbmcgd2VudCB3cm9uZyBiZWZvcmUuICAqLwotIAkJICBpZiAoKGluc24gJiAweGZm MDAwMDAwKSA9PSAweDBkMDAwMDAwKQotLQkJICAgIGludmFsaWRfdGxzX2luc24gKGlucHV0X2Jm ZCwgaW5wdXRfc2VjdGlvbiwgcmVsKTsKLSsJCSAgICB7Ci0rCQkgICAgICBpbnZhbGlkX3Rsc19p bnNuIChpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkgICAgICByZXR1cm4gRkFM U0U7Ci0rCQkgICAgfQotIAotIAkJICBpZiAoKGluc24gJiAweGZmMDAwMDAwKSA9PSAweDRkMDAw MDAwKQotIAkJICAgIHsKLUBAIC0zMzE3LDcgKzMzMjUsMTAgQEAgZWxmX3MzOTBfcmVsb2NhdGVf c2VjdGlvbiAoYmZkICpvdXRwdXRfYmZkLAotIAkJICBpZiAoKGluc24gJiAweGZmMDAwZmZmKSAh PSAweDRkMDAwMDAwICYmCi0gCQkgICAgICAoaW5zbiAmIDB4ZmZmZjAwMDApICE9IDB4YzBlNTAw MDAgJiYKLSAJCSAgICAgIChpbnNuICYgMHhmZjAwMDAwMCkgIT0gMHgwZDAwMDAwMCkKLS0JCSAg ICBpbnZhbGlkX3Rsc19pbnNuIChpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkg ICAgewotKwkJICAgICAgaW52YWxpZF90bHNfaW5zbiAoaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9u LCByZWwpOwotKwkJICAgICAgcmV0dXJuIEZBTFNFOwotKwkJICAgIH0KLSAKLSAJCSAgaWYgKChp bnNuICYgMHhmZjAwMDAwMCkgPT0gMHgwZDAwMDAwMCkKLSAJCSAgICB7Ci0tLS0gYS9iZmQvZWxm NjQtczM5MC5jCi0rKysgYi9iZmQvZWxmNjQtczM5MC5jCi1AQCAtMzE5Nyw4ICszMTk3LDEwIEBA IGVsZl9zMzkwX3JlbG9jYXRlX3NlY3Rpb24gKGJmZCAqb3V0cHV0X2JmZCwKLSAJCSAgaW5zbjAg PSBiZmRfZ2V0XzMyIChpbnB1dF9iZmQsIGNvbnRlbnRzICsgcmVsLT5yX29mZnNldCk7Ci0gCQkg IGluc24xID0gYmZkX2dldF8xNiAoaW5wdXRfYmZkLCBjb250ZW50cyArIHJlbC0+cl9vZmZzZXQg KyA0KTsKLSAJCSAgaWYgKGluc24xICE9IDB4MDAwNCkKLS0JCSAgICBpbnZhbGlkX3Rsc19pbnNu IChpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0tCQkgIHJ5ID0gMDsKLSsJCSAgICB7 Ci0rCQkgICAgICBpbnZhbGlkX3Rsc19pbnNuIChpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJl bCk7Ci0rCQkgICAgICByZXR1cm4gRkFMU0U7Ci0rCQkgICAgfQotIAkJICBpZiAoKGluc24wICYg MHhmZjAwZjAwMCkgPT0gMHhlMzAwMDAwMCkKLSAJCSAgICAvKiBsZyAlcngsMCglcnksMCkgLT4g c2xsZyAlcngsJXJ5LDAgICovCi0gCQkgICAgcnkgPSAoaW5zbjAgJiAweDAwMGYwMDAwKTsKLUBA IC0zMjEyLDcgKzMyMTQsMTAgQEAgZWxmX3MzOTBfcmVsb2NhdGVfc2VjdGlvbiAoYmZkICpvdXRw dXRfYmZkLAotIAkJICAgIC8qIGxnICVyeCwwKCVyMTIsJXJ5KSAtPiBzbGxnICVyeCwlcnksMCAg Ki8KLSAJCSAgICByeSA9IChpbnNuMCAmIDB4MDAwMGYwMDApIDw8IDQ7Ci0gCQkgIGVsc2UKLS0J CSAgICBpbnZhbGlkX3Rsc19pbnNuIChpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0r CQkgICAgewotKwkJICAgICAgaW52YWxpZF90bHNfaW5zbiAoaW5wdXRfYmZkLCBpbnB1dF9zZWN0 aW9uLCByZWwpOwotKwkJICAgICAgcmV0dXJuIEZBTFNFOwotKwkJICAgIH0KLSAJCSAgaW5zbjAg PSAweGViMDAwMDAwIHwgKGluc24wICYgMHgwMGYwMDAwMCkgfCByeTsKLSAJCSAgaW5zbjEgPSAw eDAwMGQ7Ci0gCQkgIGJmZF9wdXRfMzIgKG91dHB1dF9iZmQsIGluc24wLCBjb250ZW50cyArIHJl bC0+cl9vZmZzZXQpOwotQEAgLTMyMjYsNyArMzIzMSwxMCBAQCBlbGZfczM5MF9yZWxvY2F0ZV9z ZWN0aW9uIChiZmQgKm91dHB1dF9iZmQsCi0gCSAgICAgIGluc24wID0gYmZkX2dldF8zMiAoaW5w dXRfYmZkLCBjb250ZW50cyArIHJlbC0+cl9vZmZzZXQpOwotIAkgICAgICBpbnNuMSA9IGJmZF9n ZXRfMTYgKGlucHV0X2JmZCwgY29udGVudHMgKyByZWwtPnJfb2Zmc2V0ICsgNCk7Ci0gCSAgICAg IGlmICgoaW5zbjAgJiAweGZmZmYwMDAwKSAhPSAweGMwZTUwMDAwKQotLQkJaW52YWxpZF90bHNf aW5zbiAoaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLCByZWwpOwotKwkJewotKwkJICBpbnZhbGlk X3Rsc19pbnNuIChpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkgIHJldHVybiBG QUxTRTsKLSsJCX0KLSAJICAgICAgaWYgKCFiZmRfbGlua19waWMgKGluZm8pICYmIChoID09IE5V TEwgfHwgaC0+ZHluaW5keCA9PSAtMSkpCi0gCQl7Ci0gCQkgIC8qIEdELT5MRSB0cmFuc2l0aW9u LgotQEAgLTMyNTMsNyArMzI2MSwxMCBAQCBlbGZfczM5MF9yZWxvY2F0ZV9zZWN0aW9uIChiZmQg Km91dHB1dF9iZmQsCi0gCQkgIGluc24wID0gYmZkX2dldF8zMiAoaW5wdXRfYmZkLCBjb250ZW50 cyArIHJlbC0+cl9vZmZzZXQpOwotIAkJICBpbnNuMSA9IGJmZF9nZXRfMTYgKGlucHV0X2JmZCwg Y29udGVudHMgKyByZWwtPnJfb2Zmc2V0ICsgNCk7Ci0gCQkgIGlmICgoaW5zbjAgJiAweGZmZmYw MDAwKSAhPSAweGMwZTUwMDAwKQotLQkJICAgIGludmFsaWRfdGxzX2luc24gKGlucHV0X2JmZCwg aW5wdXRfc2VjdGlvbiwgcmVsKTsKLSsJCSAgICB7Ci0rCQkgICAgICBpbnZhbGlkX3Rsc19pbnNu IChpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sIHJlbCk7Ci0rCQkgICAgICByZXR1cm4gRkFMU0U7 Ci0rCQkgICAgfQotIAkJICAvKiBMRC0+TEUgdHJhbnNpdGlvbi4KLSAJCSAgICAgYnJhc2wgJXIx NCxfX3Rsc19nZXRfYWRkckBwbHQgLT4gYnJjbCAwLC4gKi8KLSAJCSAgaW5zbjAgPSAweGMwMDQw MDAwOwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0xMG9mMzUucGF0Y2ggYi9n ZGItcmhiejE0MjAzMDQtczM5MHgtMTBvZjM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCBjMmU2NTJiLi4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0xMG9m MzUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNzcgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdE QiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6 MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xMG9mMzUucGF0Y2gK LQotRmlsZU5hbWU6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xMG9mMzUucGF0Y2gKLQotCi1jb21t aXQgMDU2N2M5ODYxZTExM2E1NzNjYzkwNTAwMmE1OWNiMWJjM2Q3ODQ1MAotQXV0aG9yOiBBbmRy ZWFzIEFybmV6IDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBKdW4gMTMg MTU6MjA6MjUgMjAxNyArMDIwMAotCi0gICAgQWRkIHRlc3QgZm9yIG1vZGlmaWFibGUgRFdBUkYg bG9jYXRpb25zCi0gICAgCi0gICAgVGhpcyBhZGRzIGEgdGVzdCBmb3IgcmVhZC93cml0ZSBhY2Nl c3MgdG8gdmFyaWFibGVzIHdpdGggdmFyaW91cyB0eXBlcyBvZgotICAgIERXQVJGIGxvY2F0aW9u cy4gIEl0IHVzZXMgcmVnaXN0ZXItIGFuZCBtZW1vcnkgbG9jYXRpb25zIGFuZCBjb21wb3NpdGUK LSAgICBsb2NhdGlvbnMgd2l0aCByZWdpc3Rlci0gYW5kIG1lbW9yeSBwaWVjZXMuCi0gICAgCi0g ICAgU2luY2UgdGhlIG5ldyB0ZXN0IGNhbGxzIGdkYl90ZXN0X25vX291dHB1dCB3aXRoIGNvbW1h bmRzIHRoYXQgY29udGFpbgotICAgIGJyYWNlcywgaXQgaXMgbmVjZXNzYXJ5IGZvciBzdHJpbmdf dG9fcmVnZXhwIHRvIHF1b3RlIGJyYWNlcyBhcyB3ZWxsLgotICAgIFRoaXMgd2FzIG5vdCBkb25l IGJlZm9yZS4KLSAgICAKLSAgICBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZzoKLSAgICAKLSAgICAg ICAgICAgICogZ2RiLmR3YXJmMi92YXItYWNjZXNzLmM6IE5ldyBmaWxlLgotICAgICAgICAgICAg KiBnZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwOiBOZXcgdGVzdC4KLSAgICAgICAgICAgICogbGli L2dkYi11dGlscy5leHAgKHN0cmluZ190b19yZWdleHApOiBRdW90ZSBicmFjZXMgYXMgd2VsbC4K LQotIyMjIGEvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKLSMjIyBiL2dkYi90ZXN0c3VpdGUvQ2hh bmdlTG9nCi0jIyAtMSwzICsxLDkgQEAKLSsyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJu ZXpAbGludXgudm5ldC5pYm0uY29tPgotKwotKwkqIGdkYi5kd2FyZjIvdmFyLWFjY2Vzcy5jOiBO ZXcgZmlsZS4KLSsJKiBnZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwOiBOZXcgdGVzdC4KLSsJKiBs aWIvZ2RiLXV0aWxzLmV4cCAoc3RyaW5nX3RvX3JlZ2V4cCk6IFF1b3RlIGJyYWNlcyBhcyB3ZWxs LgotKwotIDIwMTctMDYtMTIgIFRvbSBUcm9tZXkgIDx0b21AdHJvbWV5LmNvbT4KLSAKLSAJKiBn ZGIuZHdhcmYyL2Zvcm1kYXRhMTYuZXhwOiBBZGQgdGVzdHMuCi0tLS0gL2Rldi9udWxsCi0rKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvdmFyLWFjY2Vzcy5jCi1AQCAtMCwwICsxLDI1IEBA Ci0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsK LSsgICBDb3B5cmlnaHQgMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsg ICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0r ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Ci0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rY2hhciBidWZbXSA9 IHswLCAxLCAyLCAzLCA0LCA1LCA2LCA3fTsKLSsKLStpbnQKLSttYWluICh2b2lkKQotK3sKLSsg IGFzbSB2b2xhdGlsZSAoIm1haW5fbGFiZWw6IC5nbG9ibCBtYWluX2xhYmVsIik7Ci0rICByZXR1 cm4gMDsKLSt9Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv dmFyLWFjY2Vzcy5leHAKLUBAIC0wLDAgKzEsMTk3IEBACi0rIyBDb3B5cmlnaHQgMjAxNyBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQotKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKLSsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u Ci0rIwotKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCi0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uCi0rCi0rIyBUZXN0IHJlYWRpbmcvd3JpdGluZyB2YXJpYWJsZXMgd2l0aCBub24tdHJpdmlh bCBEV0FSRiBsb2NhdGlvbnMuICBJbgotKyMgcGFydGljdWxhciB0aGUgdGVzdCB1c2VzIHJlZ2lz dGVyLSBhbmQgbWVtb3J5IGxvY2F0aW9ucyBhcyB3ZWxsIGFzCi0rIyBjb21wb3NpdGUgbG9jYXRp b25zIHdpdGggcmVnaXN0ZXItIGFuZCBtZW1vcnkgcGllY2VzLgotKwotK2xvYWRfbGliIGR3YXJm LmV4cAotKwotKyMgVGhpcyB0ZXN0IGNhbiBvbmx5IGJlIHJ1biBvbiB0YXJnZXRzIHdoaWNoIHN1 cHBvcnQgRFdBUkYtMiBhbmQgdXNlIGdhcy4KLStpZiB7IVtkd2FyZjJfc3VwcG9ydF19IHsKLSsg ICAgcmV0dXJuIDAKLSt9Ci0rCi0rIyBDaG9vc2Ugc3VpdGFibGUgaW50ZWdlciByZWdpc3RlcnMg Zm9yIHRoZSB0ZXN0LgotKwotK3NldCBkd2FyZl9yZWdudW0gezAgMX0KLSsKLStpZiB7IFtpc3Rh cmdldCAiYWFyY2g2NCotKi0qIl0gfSB7Ci0rICAgIHNldCByZWduYW1lIHt4MCB4MX0KLSt9IGVs c2VpZiB7IFtpc3RhcmdldCAiYXJtKi0qLSoiXQotKwkgICB8fCBbaXN0YXJnZXQgInMzOTAqLSot KiIgXQotKwkgICB8fCBbaXN0YXJnZXQgInBvd2VycGMqLSotKiJdCi0rCSAgIHx8IFtpc3Rhcmdl dCAicnM2MDAwKi0qLWFpeCoiXSB9IHsKLSsgICAgc2V0IHJlZ25hbWUge3IwIHIxfQotK30gZWxz ZWlmIHsgW2lzdGFyZ2V0ICJpPzg2LSotKiJdIH0gewotKyAgICBzZXQgcmVnbmFtZSB7ZWF4IGVk eH0KLSt9IGVsc2VpZiB7IFtpc3RhcmdldCAieDg2XzY0LSotKiJdIH0gewotKyAgICBzZXQgcmVn bmFtZSB7cmF4IHJkeH0KLSt9IGVsc2UgewotKyAgICB2ZXJib3NlICJTa2lwcGluZyB0ZXN0cyBm b3IgYWNjZXNzaW5nIERXQVJGLWRlc2NyaWJlZCB2YXJpYWJsZXMuIgotKyAgICByZXR1cm4KLSt9 Ci0rCi0rc3RhbmRhcmRfdGVzdGZpbGUgLmMgJHtnZGJfdGVzdF9maWxlX25hbWV9LWR3LlMKLSsK LSsjIE1ha2Ugc29tZSBEV0FSRiBmb3IgdGhlIHRlc3QuCi0rCi0rc2V0IGFzbV9maWxlIFtzdGFu ZGFyZF9vdXRwdXRfZmlsZSAkc3JjZmlsZTJdCi0rRHdhcmY6OmFzc2VtYmxlICRhc21fZmlsZSB7 Ci0rICAgIGdsb2JhbCBzcmNkaXIgc3ViZGlyIHNyY2ZpbGUKLSsgICAgZ2xvYmFsIGR3YXJmX3Jl Z251bSByZWduYW1lCi0rCi0rICAgIHNldCBidWZfdmFyIFtnZGJfdGFyZ2V0X3N5bWJvbCBidWZd Ci0rCi0rICAgIGN1IHt9IHsKLSsJRFdfVEFHX2NvbXBpbGVfdW5pdCB7Ci0rCQl7RFdfQVRfbmFt ZSB2YXItcGllY2VzLWR3LmN9Ci0rCQl7RFdfQVRfY29tcF9kaXIgL3RtcH0KLSsJfSB7Ci0rCSAg ICBkZWNsYXJlX2xhYmVscyBjaGFyX3R5cGVfbGFiZWwKLSsJICAgIGRlY2xhcmVfbGFiZWxzIGlu dF90eXBlX2xhYmVsIHNob3J0X3R5cGVfbGFiZWwKLSsJICAgIGRlY2xhcmVfbGFiZWxzIGFycmF5 X2E4X2xhYmVsIHN0cnVjdF9zX2xhYmVsCi0rCi0rCSAgICAjIGNoYXIKLSsJICAgIGNoYXJfdHlw ZV9sYWJlbDogYmFzZV90eXBlIHsKLSsJCXtuYW1lICJjaGFyIn0KLSsJCXtlbmNvZGluZyBARFdf QVRFX3Vuc2lnbmVkX2NoYXJ9Ci0rCQl7Ynl0ZV9zaXplIDEgRFdfRk9STV9zZGF0YX0KLSsJICAg IH0KLSsKLSsJICAgICMgaW50Ci0rCSAgICBpbnRfdHlwZV9sYWJlbDogYmFzZV90eXBlIHsKLSsJ CXtuYW1lICJpbnQifQotKwkJe2VuY29kaW5nIEBEV19BVEVfc2lnbmVkfQotKwkJe2J5dGVfc2l6 ZSA0IERXX0ZPUk1fc2RhdGF9Ci0rCSAgICB9Ci0rCi0rCSAgICAjIGNoYXIgWzhdCi0rCSAgICBh cnJheV9hOF9sYWJlbDogYXJyYXlfdHlwZSB7Ci0rCQl7dHlwZSA6JGNoYXJfdHlwZV9sYWJlbH0K LSsJICAgIH0gewotKwkJc3VicmFuZ2VfdHlwZSB7Ci0rCQkgICAge3R5cGUgOiRpbnRfdHlwZV9s YWJlbH0KLSsJCSAgICB7dXBwZXJfYm91bmQgNyBEV19GT1JNX3VkYXRhfQotKwkJfQotKwkgICAg fQotKwotKwkgICAgIyBzdHJ1Y3QgcyB7IGNoYXIgYSwgYiwgYywgZDsgfTsKLSsJICAgIHN0cnVj dF9zX2xhYmVsOiBzdHJ1Y3R1cmVfdHlwZSB7Ci0rCQl7bmFtZSAicyJ9Ci0rCQl7Ynl0ZV9zaXpl IDQgRFdfRk9STV9zZGF0YX0KLSsJICAgIH0gewotKwkJbWVtYmVyIHsKLSsJCSAgICB7bmFtZSAi YSJ9Ci0rCQkgICAge3R5cGUgOiRjaGFyX3R5cGVfbGFiZWx9Ci0rCQkgICAge2RhdGFfbWVtYmVy X2xvY2F0aW9uIDAgRFdfRk9STV91ZGF0YX0KLSsJCX0KLSsJCW1lbWJlciB7Ci0rCQkgICAge25h bWUgImIifQotKwkJICAgIHt0eXBlIDokY2hhcl90eXBlX2xhYmVsfQotKwkJICAgIHtkYXRhX21l bWJlcl9sb2NhdGlvbiAxIERXX0ZPUk1fdWRhdGF9Ci0rCQl9Ci0rCQltZW1iZXIgewotKwkJICAg IHtuYW1lICJjIn0KLSsJCSAgICB7dHlwZSA6JGNoYXJfdHlwZV9sYWJlbH0KLSsJCSAgICB7ZGF0 YV9tZW1iZXJfbG9jYXRpb24gMiBEV19GT1JNX3VkYXRhfQotKwkJfQotKwkJbWVtYmVyIHsKLSsJ CSAgICB7bmFtZSAiZCJ9Ci0rCQkgICAge3R5cGUgOiRjaGFyX3R5cGVfbGFiZWx9Ci0rCQkgICAg e2RhdGFfbWVtYmVyX2xvY2F0aW9uIDMgRFdfRk9STV91ZGF0YX0KLSsJCX0KLSsJICAgIH0KLSsK LSsJICAgIERXX1RBR19zdWJwcm9ncmFtIHsKLSsJCXtNQUNST19BVF9mdW5jIHsgbWFpbiAke3Ny Y2Rpcn0vJHtzdWJkaXJ9LyR7c3JjZmlsZX0gfX0KLSsJCXtEV19BVF9leHRlcm5hbCAxIGZsYWd9 Ci0rCSAgICB9IHsKLSsJCSMgU2ltcGxlIG1lbW9yeSBsb2NhdGlvbi4KLSsJCURXX1RBR192YXJp YWJsZSB7Ci0rCQkgICAge25hbWUgImEifQotKwkJICAgIHt0eXBlIDokYXJyYXlfYThfbGFiZWx9 Ci0rCQkgICAge2xvY2F0aW9uIHsKLSsJCQlhZGRyICRidWZfdmFyCi0rCQkgICAgfSBTUEVDSUFM X2V4cHJ9Ci0rCQl9Ci0rCQkjIE1lbW9yeSBwaWVjZXM6IHR3byBieXRlcyBmcm9tICZidWZbMl0s IGFuZCB0d28gYnl0ZXMKLSsJCSMgZnJvbSAmYnVmWzBdLgotKwkJRFdfVEFHX3ZhcmlhYmxlIHsK LSsJCSAgICB7bmFtZSAiczEifQotKwkJICAgIHt0eXBlIDokc3RydWN0X3NfbGFiZWx9Ci0rCQkg ICAge2xvY2F0aW9uIHsKLSsJCQlhZGRyICRidWZfdmFyCi0rCQkJcGx1c191Y29uc3QgMgotKwkJ CXBpZWNlIDIKLSsJCQlhZGRyICRidWZfdmFyCi0rCQkJcGllY2UgMgotKwkJICAgIH0gU1BFQ0lB TF9leHByfQotKwkJfQotKwkJIyBSZWdpc3Rlci0gYW5kIG1lbW9yeSBwaWVjZXM6IG9uZSBieXRl IGVhY2ggZnJvbSByMCwKLSsJCSMgJmJ1Zls0XSwgcjEsIGFuZCAmYnVmWzVdLgotKwkJRFdfVEFH X3ZhcmlhYmxlIHsKLSsJCSAgICB7bmFtZSAiczIifQotKwkJICAgIHt0eXBlIDokc3RydWN0X3Nf bGFiZWx9Ci0rCQkgICAge2xvY2F0aW9uIHsKLSsJCQlyZWd4IFtsaW5kZXggJGR3YXJmX3JlZ251 bSAwXQotKwkJCXBpZWNlIDEKLSsJCQlhZGRyICIkYnVmX3ZhciArIDQiCi0rCQkJcGllY2UgMQot KwkJCXJlZ3ggW2xpbmRleCAkZHdhcmZfcmVnbnVtIDFdCi0rCQkJcGllY2UgMQotKwkJCWFkZHIg IiRidWZfdmFyICsgNSIKLSsJCQlwaWVjZSAxCi0rCQkgICAgfSBTUEVDSUFMX2V4cHJ9Ci0rCQl9 Ci0rCSAgICB9Ci0rCX0KLSsgICAgfQotK30KLSsKLStpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5n ICR7dGVzdGZpbGV9LmV4cCAke3Rlc3RmaWxlfSBcCi0rCSAgW2xpc3QgJHNyY2ZpbGUgJGFzbV9m aWxlXSB7bm9kZWJ1Z31dIH0gewotKyAgICByZXR1cm4gLTEKLSt9Ci0rCi0raWYgIVtydW50b19t YWluXSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLSsjIEJ5dGUtYWxpZ25lZCBtZW1vcnkgcGll Y2VzLgotK2dkYl90ZXN0ICJwcmludC9kIHMxIiAiID0gXFx7YSA9IDIsIGIgPSAzLCBjID0gMCwg ZCA9IDFcXH0iIFwKLSsgICAgInMxID09IHJlLW9yZGVyZWQgYnVmIgotK2dkYl90ZXN0X25vX291 dHB1dCAic2V0IHZhciBzMS5hID0gNjMiCi0rZ2RiX3Rlc3QgInByaW50L2QgczEiICIgPSBcXHth ID0gNjMsIGIgPSAzLCBjID0gMCwgZCA9IDFcXH0iIFwKLSsgICAgInZlcmlmeSBzMS5hIgotK2dk Yl90ZXN0ICJwcmludC9kIGEiICIgPSBcXHswLCAxLCA2MywgMywgNCwgNSwgNiwgN1xcfSIgXAot KyAgICAidmVyaWZ5IHMxLmEgdGhyb3VnaCBhIgotKwotKyMgQnl0ZS1hbGlnbmVkIHJlZ2lzdGVy LSBhbmQgbWVtb3J5IHBpZWNlcy4KLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXIgXCRbbGlu ZGV4ICRyZWduYW1lIDBdID0gODEiIFwKLSsgICAgImluaXQgcmVnIGZvciBzMi5hIgotK2dkYl90 ZXN0X25vX291dHB1dCAic2V0IHZhciBcJFtsaW5kZXggJHJlZ25hbWUgMV0gPSAyOCIgXAotKyAg ICAiaW5pdCByZWcgZm9yIHMyLmMiCi0rZ2RiX3Rlc3QgInByaW50L2QgczIiICIgPSBcXHthID0g ODEsIGIgPSA0LCBjID0gMjgsIGQgPSA1XFx9IiBcCi0rICAgICJpbml0aWFsaXplZCBzMiBmcm9t IG1lbSBhbmQgcmVncyIKLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXIgczIuYyArPSBzMi5h ICsgczIuYiAtIHMyLmQiCi0rZ2RiX3Rlc3QgInByaW50L2QgczIiICIgPSBcXHthID0gODEsIGIg PSA0LCBjID0gMTA4LCBkID0gNVxcfSIgXAotKyAgICAidmVyaWZ5IHMyLmMiCi0rZ2RiX3Rlc3Qg InByaW50L2QgXCRbbGluZGV4ICRyZWduYW1lIDFdIiAiID0gMTA4IiBcCi0rICAgICJ2ZXJpZnkg czIuYyB0aHJvdWdoIHJlZyIKLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXIgczIgPSB7MTkx LCA3MywgMjMxLCAxMjN9IiBcCi0rICAgICJyZS1pbml0aWFsaXplIHMyIgotK2dkYl90ZXN0ICJw cmludC9kIHMyIiAgIiA9IFxce2EgPSAxOTEsIGIgPSA3MywgYyA9IDIzMSwgZCA9IDEyM1xcfSIg XAotKyAgICAidmVyaWZ5IHJlLWluaXRpYWxpemVkIHMyIgotLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9s aWIvZ2RiLXV0aWxzLmV4cAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLXV0aWxzLmV4cAot QEAgLTM0LDYgKzM0LDYgQEAgcHJvYyBnZGJfaW5pdF9jb21tYW5kcyB7fSB7Ci0gCi0gcHJvYyBz dHJpbmdfdG9fcmVnZXhwIHtzdHJ9IHsKLSAgICAgc2V0IHJlc3VsdCAkc3RyCi0tICAgIHJlZ3N1 YiAtYWxsIHtbXSorLnwoKV4kXFtcXF19ICRzdHIge1xcJn0gcmVzdWx0Ci0rICAgIHJlZ3N1YiAt YWxsIHtbXSorLnwoKXt9XiRcW1xcXX0gJHN0ciB7XFwmfSByZXN1bHQKLSAgICAgcmV0dXJuICRy ZXN1bHQKLSB9CgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTExb2YzNS5wYXRj aCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0xMW9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IGVmNWFkZmMuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4 LTExb2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExMyArMCwwIEBACi1Gcm9tOiBGZWRv cmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAx NyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTExb2YzNS5w YXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTExb2YzNS5wYXRjaAotCi0K LWNvbW1pdCBkNWQxMTYzZWZmMjQxNWEwMTg5NWYxY2ZmOGJiZWUzMmIzZjBhYjY2Ci1BdXRob3I6 IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgVHVlIEp1 biAxMyAxNToyMDoyNiAyMDE3ICswMjAwCi0KLSAgICB3cml0ZV9waWVjZWRfdmFsdWU6IEZpeCBz aXplIGNhcHBpbmcgbG9naWMKLSAgICAKLSAgICBBIGZpZWxkIGYgaW4gYSBzdHJ1Y3R1cmUgY29t cG9zZWQgb2YgRFdBUkYgcGllY2VzIG1heSBiZSBsb2NhdGVkIGluCi0gICAgbXVsdGlwbGUgcGll Y2VzLCB3aGVyZSB0aGUgZmlyc3QgYW5kIGxhc3Qgb2YgdGhvc2UgbWF5IGNvbnRhaW4gYml0cyBm cm9tCi0gICAgb3RoZXIgZmllbGRzIGFzIHdlbGwuICBTbyB3aGVuIHdyaXRpbmcgdG8gZiwgdGhl IGJlZ2lubmluZyBvZiB0aGUgZmlyc3QKLSAgICBhbmQgdGhlIGVuZCBvZiB0aGUgbGFzdCBvZiB0 aG9zZSBwaWVjZXMgbWF5IGhhdmUgdG8gYmUgc2tpcHBlZC4gIEJ1dCB0aGUKLSAgICBsb2dpYyBp biB3cml0ZV9waWVjZWRfdmFsdWUgZm9yIGhhbmRsaW5nIG9uZSBvZiB0aG9zZSBwaWVjZXMgaXMg Zmxhd2VkCi0gICAgd2hlbiB0aGUgZmlyc3QgYW5kIGxhc3QgcGllY2UgYXJlIHRoZSBzYW1lLCBp LmUuLCBmIGlzIGNvbnRhaW5lZCBpbiBhCi0gICAgc2luZ2xlIHBpZWNlOgotICAgIAotICAgICAg PCAtIC0gLSAtIC0gLSAtIC0gLSBwaWVjZV9zaXplIC0gLSAtIC0gLSAtIC0gLSAtIC0+Ci0gICAg ICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLSAg ICAgIHwgc2tpcHBlZF9iaXRzIHwgICBmX2JpdHMgICB8IC8gLyAvIC8gLyAvIC8gLyAvIC8gfAot ICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r Ci0gICAgCi0gICAgVGhlIGN1cnJlbnQgbG9naWMgZGV0ZXJtaW5lcyB0aGUgc2l6ZSBvZiB0aGUg c3ViLXBpZWNlIHRvIG9wZXJhdGUgb24gYnkKLSAgICBsaW1pdGluZyB0aGUgcGllY2Ugc2l6ZSB0 byB0aGUgYml0IHNpemUgb2YgZiBhbmQgdGhlbiBzdWJ0cmFjdGluZyB0aGUKLSAgICBza2lwcGVk IGJpdHM6Ci0gICAgCi0gICAgICBtaW4gKHBpZWNlX3NpemUsIGZfYml0cykgLSBza2lwcGVkX2Jp dHMKLSAgICAKLSAgICBJbnN0ZWFkIG9mOgotICAgIAotICAgICAgbWluIChwaWVjZV9zaXplIC0g c2tpcHBlZF9iaXRzLCBmX2JpdHMpCi0gICAgCi0gICAgU28gdGhlIHJlc3VsdGluZyBzdWItcGll Y2Ugc2l6ZSBpcyBjb3JydXB0ZWQsIGxlYWRpbmcgdG8gd3JvbmcgaGFuZGxpbmcgb2YKLSAgICB0 aGlzIHBpZWNlIGluIHdyaXRlX3BpZWNlZF92YWx1ZS4KLSAgICAKLSAgICBOb3RlIHRoYXQgdGhl IHNhbWUgYnVnIHdhcyBhbHJlYWR5IGZvdW5kIGluIHJlYWRfcGllY2VkX3ZhbHVlIGFuZCBmaXhl ZAotICAgIHRoZXJlIChidXQgbm90IGluIHdyaXRlX3BpZWNlZF92YWx1ZSksIHNlZSBQUiAxNTM5 MS4KLSAgICAKLSAgICBUaGlzIHBhdGNoIHN3YXBzIHRoZSBjYWxjdWxhdGlvbnMsIGJyaW5naW5n IHRoZW0gaW50byB0aGUgc2FtZSAoY29ycmVjdCkKLSAgICBvcmRlciBhcyBpbiByZWFkX3BpZWNl ZF92YWx1ZS4KLSAgICAKLSAgICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBk d2FyZjJsb2MuYyAod3JpdGVfcGllY2VkX3ZhbHVlKTogRml4IG9yZGVyIG9mIGNhbGN1bGF0aW9u cyBmb3IKLSAgICAgICAgICAgIHNpemUgY2FwcGluZy4KLSAgICAKLSAgICBnZGIvdGVzdHN1aXRl L0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZ2RiLmR3YXJmMi92YXItcGllY2VzLmV4 cDogQWRkIHRlc3QgY2FzZSBmb3IgbW9kaWZ5aW5nIGEKLSAgICAgICAgICAgIHZhcmlhYmxlIGF0 IG5vbnplcm8gb2Zmc2V0LgotCi0jIyMgYS9nZGIvQ2hhbmdlTG9nCi0jIyMgYi9nZGIvQ2hhbmdl TG9nCi0jIyAtMSwzICsxLDggQEAKLSsyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpA bGludXgudm5ldC5pYm0uY29tPgotKwotKwkqIGR3YXJmMmxvYy5jICh3cml0ZV9waWVjZWRfdmFs dWUpOiBGaXggb3JkZXIgb2YgY2FsY3VsYXRpb25zIGZvcgotKwlzaXplIGNhcHBpbmcuCi0rCi0g MjAxNy0wNi0xMyAgWWFvIFFpICA8eWFvLnFpQGxpbmFyby5vcmc+Ci0gCi0gCSogbWlwcy1saW51 eC1uYXQuYzogTW92ZSBpbmNsdWRlIGZlYXR1cmVzL21pcHMqLWxpbnV4LmMgdG8KLS0tLSBhL2dk Yi9kd2FyZjJsb2MuYwotKysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMTk2NCw4ICsxOTY0LDYg QEAgd3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBzdHJ1Y3QgdmFsdWUgKmZy b20pCi0gCSAgYml0c190b19za2lwIC09IHRoaXNfc2l6ZV9iaXRzOwotIAkgIGNvbnRpbnVlOwot IAl9Ci0tICAgICAgaWYgKHRoaXNfc2l6ZV9iaXRzID4gdHlwZV9sZW4gLSBvZmZzZXQpCi0tCXRo aXNfc2l6ZV9iaXRzID0gdHlwZV9sZW4gLSBvZmZzZXQ7Ci0gICAgICAgaWYgKGJpdHNfdG9fc2tp cCA+IDApCi0gCXsKLSAJICBkZXN0X29mZnNldF9iaXRzID0gYml0c190b19za2lwOwotQEAgLTE5 NzgsNiArMTk3Niw4IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3Ry dWN0IHZhbHVlICpmcm9tKQotIAkgIGRlc3Rfb2Zmc2V0X2JpdHMgPSAwOwotIAkgIHNvdXJjZV9v ZmZzZXRfYml0cyA9IG9mZnNldDsKLSAJfQotKyAgICAgIGlmICh0aGlzX3NpemVfYml0cyA+IHR5 cGVfbGVuIC0gb2Zmc2V0KQotKwl0aGlzX3NpemVfYml0cyA9IHR5cGVfbGVuIC0gb2Zmc2V0Owot IAotICAgICAgIHRoaXNfc2l6ZSA9ICh0aGlzX3NpemVfYml0cyArIHNvdXJjZV9vZmZzZXRfYml0 cyAlIDggKyA3KSAvIDg7Ci0gICAgICAgc291cmNlX29mZnNldCA9IHNvdXJjZV9vZmZzZXRfYml0 cyAvIDg7Ci0jIyMgYS9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwotIyMjIGIvZ2RiL3Rlc3RzdWl0 ZS9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTAgQEAKLSAyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6 ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIGdkYi5kd2FyZjIvdmFyLXBpZWNl cy5leHA6IEFkZCB0ZXN0IGNhc2UgZm9yIG1vZGlmeWluZyBhCi0rCXZhcmlhYmxlIGF0IG5vbnpl cm8gb2Zmc2V0LgotKwotKzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBsaW51eC52 bmV0LmlibS5jb20+Ci0rCi0gCSogZ2RiLmR3YXJmMi92YXItYWNjZXNzLmM6IE5ldyBmaWxlLgot IAkqIGdkYi5kd2FyZjIvdmFyLWFjY2Vzcy5leHA6IE5ldyB0ZXN0LgotIAkqIGxpYi9nZGItdXRp bHMuZXhwIChzdHJpbmdfdG9fcmVnZXhwKTogUXVvdGUgYnJhY2VzIGFzIHdlbGwuCi0tLS0gYS9n ZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvdmFyLWFjY2Vzcy5leHAKLSsrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmR3YXJmMi92YXItYWNjZXNzLmV4cAotQEAgLTE3OCw2ICsxNzgsMTEgQEAgZ2RiX3Rl c3QgInByaW50L2QgczEiICIgPSBcXHthID0gNjMsIGIgPSAzLCBjID0gMCwgZCA9IDFcXH0iIFwK LSAgICAgInZlcmlmeSBzMS5hIgotIGdkYl90ZXN0ICJwcmludC9kIGEiICIgPSBcXHswLCAxLCA2 MywgMywgNCwgNSwgNiwgN1xcfSIgXAotICAgICAidmVyaWZ5IHMxLmEgdGhyb3VnaCBhIgotK2dk Yl90ZXN0X25vX291dHB1dCAic2V0IHZhciBzMS5iID0gNDIiCi0rZ2RiX3Rlc3QgInByaW50L2Qg czEiICIgPSBcXHthID0gNjMsIGIgPSA0MiwgYyA9IDAsIGQgPSAxXFx9IiBcCi0rICAgICJ2ZXJp ZnkgczEuYiIKLStnZGJfdGVzdCAicHJpbnQvZCBhIiAiID0gXFx7MCwgMSwgNjMsIDQyLCA0LCA1 LCA2LCA3XFx9IiBcCi0rICAgICJ2ZXJpZnkgczEuYiB0aHJvdWdoIGEiCi0gCi0gIyBCeXRlLWFs aWduZWQgcmVnaXN0ZXItIGFuZCBtZW1vcnkgcGllY2VzLgotIGdkYl90ZXN0X25vX291dHB1dCAi c2V0IHZhciBcJFtsaW5kZXggJHJlZ25hbWUgMF0gPSA4MSIgXAoKZGlmZiAtLWdpdCBhL2dkYi1y aGJ6MTQyMDMwNC1zMzkweC0xMm9mMzUucGF0Y2ggYi9nZGItcmhiejE0MjAzMDQtczM5MHgtMTJv ZjM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNGJkNzg3Li4wMDAwMDAw Ci0tLSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0xMm9mMzUucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwxOTYgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWls LmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdk Yi1yaGJ6MTQyMDMwNC1zMzkweC0xMm9mMzUucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1yaGJ6MTQy MDMwNC1zMzkweC0xMm9mMzUucGF0Y2gKLQotCi1jb21taXQgZTkzNTIzMjQ1YjcwNGJjMTI2NzA1 NjIwOTY5YjQ3MzZiMDAzNTBjNQotQXV0aG9yOiBBbmRyZWFzIEFybmV6IDxhcm5lekBsaW51eC52 bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBKdW4gMTMgMTU6MjA6MjYgMjAxNyArMDIwMAotCi0g ICAgUFIgZ2RiLzIxMjI2OiBUYWtlIERXQVJGIHN0YWNrIHZhbHVlIHBpZWNlcyBmcm9tIExTQiBl bmQKLSAgICAKLSAgICBXaGVuIHRha2luZyBhIERXX09QX3BpZWNlIG9yIERXX09QX2JpdF9waWVj ZSBmcm9tIGEgRFdfT1Bfc3RhY2tfdmFsdWUsIHRoZQotICAgIGV4aXN0aW5nIGxvZ2ljIGFsd2F5 cyB0YWtlcyB0aGUgcGllY2UgZnJvbSB0aGUgbG93ZXN0LWFkZHJlc3NlZCBlbmQsIHdoaWNoCi0g ICAgaXMgd3Jvbmcgb24gYmlnLWVuZGlhbiB0YXJnZXRzLiAgVGhlIERXQVJGIHN0YW5kYXJkIHN0 YXRlcyB0aGF0IHRoZQotICAgICJEV19PUF9iaXRfcGllY2Ugb3BlcmF0aW9uIGRlc2NyaWJlcyBh IHNlcXVlbmNlIG9mIGJpdHMgdXNpbmcgdGhlIGxlYXN0Ci0gICAgc2lnbmlmaWNhbnQgYml0cyBv ZiB0aGF0IHZhbHVlIiwgYW5kIHRoaXMgYWxzbyBtYXRjaGVzIHRoZSBjdXJyZW50IGxvZ2ljCi0g ICAgaW4gR0NDLiAgRm9yIGluc3RhbmNlLCB0aGUgR0NDIGd1YWxpdHkgdGVzdCBjYXNlIHByNTQ5 NzAuYyBmYWlscyBvbiBzMzkweAotICAgIGJlY2F1c2Ugb2YgdGhpcy4KLSAgICAKLSAgICBUaGlz IGZpeCBhZGp1c3RzIHRoZSBwaWVjZSBhY2NvcmRpbmdseSBvbiBiaWctZW5kaWFuIHRhcmdldHMu ICBJdCBpcwotICAgIGFzc3VtZWQgdGhhdDoKLSAgICAKLSAgICAqIERXX09QX3BpZWNlIHNoYWxs IHRha2UgdGhlIHBpZWNlIGZyb20gdGhlIExTQiBlbmQgYXMgd2VsbDsKLSAgICAKLSAgICAqIHBp ZWNlcyByZWFjaGluZyBvdXRzaWRlIHRoZSBzdGFjayB2YWx1ZSBiaXRzIGFyZSBjb25zaWRlcmVk IHVuZGVmaW5lZCwKLSAgICAgIGFuZCBhIHplcm8gdmFsdWUgY2FuIGJlIHVzZWQgaW5zdGVhZC4K LSAgICAKLSAgICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgUFIgZ2RiLzIxMjI2 Ci0gICAgICAgICAgICAqIGR3YXJmMmxvYy5jIChyZWFkX3BpZWNlZF92YWx1ZSk6IEFuY2hvciBz dGFjayB2YWx1ZSBwaWVjZXMgYXQKLSAgICAgICAgICAgIHRoZSBMU0IgZW5kLCBpbmRlcGVuZGVu dCBvZiBlbmRpYW5uZXNzLgotICAgIAotICAgIGdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nOgotICAg IAotICAgICAgICAgICAgUFIgZ2RiLzIxMjI2Ci0gICAgICAgICAgICAqIGdkYi5kd2FyZjIvbm9u dmFyLWFjY2Vzcy5leHA6IEFkZCBjaGVja3MgZm9yIHZlcmlmeWluZyB0aGF0Ci0gICAgICAgICAg ICBzdGFjayB2YWx1ZSBwaWVjZXMgYXJlIHRha2VuIGZyb20gdGhlIExTQiBlbmQuCi0KLSMjIyBh L2dkYi9DaGFuZ2VMb2cKLSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTEgQEAKLSAy MDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAot KwlQUiBnZGIvMjEyMjYKLSsJKiBkd2FyZjJsb2MuYyAocmVhZF9waWVjZWRfdmFsdWUpOiBBbmNo b3Igc3RhY2sgdmFsdWUgcGllY2VzIGF0Ci0rCXRoZSBMU0IgZW5kLCBpbmRlcGVuZGVudCBvZiBl bmRpYW5uZXNzLgotKwotKzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBsaW51eC52 bmV0LmlibS5jb20+Ci0rCi0gCSogZHdhcmYybG9jLmMgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IEZp eCBvcmRlciBvZiBjYWxjdWxhdGlvbnMgZm9yCi0gCXNpemUgY2FwcGluZy4KLSAKLS0tLSBhL2dk Yi9kd2FyZjJsb2MuYwotKysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMTg1OCw2ICsxODU4LDEw IEBAIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCQlpZiAodW5hdmFpbCkK LSAJCSAgbWFya192YWx1ZV9iaXRzX3VuYXZhaWxhYmxlICh2LCBvZmZzZXQsIHRoaXNfc2l6ZV9i aXRzKTsKLSAJICAgICAgfQotKwotKwkgICAgY29weV9iaXR3aXNlIChjb250ZW50cywgZGVzdF9v ZmZzZXRfYml0cywKLSsJCQkgIGludGVybWVkaWF0ZV9idWZmZXIsIHNvdXJjZV9vZmZzZXRfYml0 cyAlIDgsCi0rCQkJICB0aGlzX3NpemVfYml0cywgYml0c19iaWdfZW5kaWFuKTsKLSAJICB9Ci0g CSAgYnJlYWs7Ci0gCi1AQCAtMTg2NiwyNiArMTg3MCwzMCBAQCByZWFkX3BpZWNlZF92YWx1ZSAo c3RydWN0IHZhbHVlICp2KQotIAkJCSAgICAgcC0+di5tZW0uaW5fc3RhY2tfbWVtb3J5LAotIAkJ CSAgICAgcC0+di5tZW0uYWRkciArIHNvdXJjZV9vZmZzZXQsCi0gCQkJICAgICBidWZmZXIuZGF0 YSAoKSwgdGhpc19zaXplKTsKLSsJICBjb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBkZXN0X29mZnNl dF9iaXRzLAotKwkJCWludGVybWVkaWF0ZV9idWZmZXIsIHNvdXJjZV9vZmZzZXRfYml0cyAlIDgs Ci0rCQkJdGhpc19zaXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci0gCSAgYnJlYWs7Ci0gCi0g CWNhc2UgRFdBUkZfVkFMVUVfU1RBQ0s6Ci0gCSAgewotLQkgICAgc2l6ZV90IG4gPSB0aGlzX3Np emU7Ci0rCSAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9IGR3YXJmMl9wZXJfY3Vfb2JqZmls ZSAoYy0+cGVyX2N1KTsKLSsJICAgIHN0cnVjdCBnZGJhcmNoICpvYmpmaWxlX2dkYmFyY2ggPSBn ZXRfb2JqZmlsZV9hcmNoIChvYmpmaWxlKTsKLSsJICAgIFVMT05HRVNUIHN0YWNrX3ZhbHVlX3Np emVfYml0cwotKwkgICAgICA9IDggKiBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAocC0+di52YWx1 ZSkpOwotIAotLQkgICAgaWYgKG4gPiBjLT5hZGRyX3NpemUgLSBzb3VyY2Vfb2Zmc2V0KQotLQkg ICAgICBuID0gKGMtPmFkZHJfc2l6ZSA+PSBzb3VyY2Vfb2Zmc2V0Ci0tCQkgICA/IGMtPmFkZHJf c2l6ZSAtIHNvdXJjZV9vZmZzZXQKLS0JCSAgIDogMCk7Ci0tCSAgICBpZiAobiA9PSAwKQotLQkg ICAgICB7Ci0tCQkvKiBOb3RoaW5nLiAgKi8KLS0JICAgICAgfQotLQkgICAgZWxzZQotLQkgICAg ICB7Ci0tCQljb25zdCBnZGJfYnl0ZSAqdmFsX2J5dGVzID0gdmFsdWVfY29udGVudHNfYWxsIChw LT52LnZhbHVlKTsKLSsJICAgIC8qIFVzZSB6ZXJvZXMgaWYgcGllY2UgcmVhY2hlcyBiZXlvbmQg c3RhY2sgdmFsdWUuICAqLwotKwkgICAgaWYgKHAtPnNpemUgPiBzdGFja192YWx1ZV9zaXplX2Jp dHMpCi0rCSAgICAgIGJyZWFrOwotIAotLQkJaW50ZXJtZWRpYXRlX2J1ZmZlciA9IHZhbF9ieXRl cyArIHNvdXJjZV9vZmZzZXQ7Ci0tCSAgICAgIH0KLSsJICAgIC8qIFBpZWNlIGlzIGFuY2hvcmVk IGF0IGxlYXN0IHNpZ25pZmljYW50IGJpdCBlbmQuICAqLwotKwkgICAgaWYgKGdkYmFyY2hfYnl0 ZV9vcmRlciAob2JqZmlsZV9nZGJhcmNoKSA9PSBCRkRfRU5ESUFOX0JJRykKLSsJICAgICAgc291 cmNlX29mZnNldF9iaXRzICs9IHN0YWNrX3ZhbHVlX3NpemVfYml0cyAtIHAtPnNpemU7Ci0rCi0r CSAgICBjb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBkZXN0X29mZnNldF9iaXRzLAotKwkJCSAgdmFs dWVfY29udGVudHNfYWxsIChwLT52LnZhbHVlKSwKLSsJCQkgIHNvdXJjZV9vZmZzZXRfYml0cywK LSsJCQkgIHRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotIAkgIH0KLSAJICBicmVh azsKLSAKLUBAIC0xODk5LDYgKzE5MDcsMTAgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2 YWx1ZSAqdikKLSAJCSAgIDogMCk7Ci0gCSAgICBpZiAobiAhPSAwKQotIAkgICAgICBpbnRlcm1l ZGlhdGVfYnVmZmVyID0gcC0+di5saXRlcmFsLmRhdGEgKyBzb3VyY2Vfb2Zmc2V0OwotKwotKwkg ICAgY29weV9iaXR3aXNlIChjb250ZW50cywgZGVzdF9vZmZzZXRfYml0cywKLSsJCQkgIGludGVy bWVkaWF0ZV9idWZmZXIsIHNvdXJjZV9vZmZzZXRfYml0cyAlIDgsCi0rCQkJICB0aGlzX3NpemVf Yml0cywgYml0c19iaWdfZW5kaWFuKTsKLSAJICB9Ci0gCSAgYnJlYWs7Ci0gCi1AQCAtMTkxNSwx MiArMTkyNyw2IEBAIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCSAgaW50 ZXJuYWxfZXJyb3IgKF9fRklMRV9fLCBfX0xJTkVfXywgXygiaW52YWxpZCBsb2NhdGlvbiB0eXBl IikpOwotIAl9Ci0gCi0tICAgICAgaWYgKHAtPmxvY2F0aW9uICE9IERXQVJGX1ZBTFVFX09QVElN SVpFRF9PVVQKLS0JICAmJiBwLT5sb2NhdGlvbiAhPSBEV0FSRl9WQUxVRV9JTVBMSUNJVF9QT0lO VEVSKQotLQljb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBkZXN0X29mZnNldF9iaXRzLAotLQkJICAg ICAgaW50ZXJtZWRpYXRlX2J1ZmZlciwgc291cmNlX29mZnNldF9iaXRzICUgOCwKLS0JCSAgICAg IHRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotLQotICAgICAgIG9mZnNldCArPSB0 aGlzX3NpemVfYml0czsKLSAgICAgfQotIH0KLSMjIyBhL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9n Ci0jIyMgYi9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwotIyMgLTEsNSArMSwxMSBAQAotIDIwMTct MDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0gCi0rCVBS IGdkYi8yMTIyNgotKwkqIGdkYi5kd2FyZjIvbm9udmFyLWFjY2Vzcy5leHA6IEFkZCBjaGVja3Mg Zm9yIHZlcmlmeWluZyB0aGF0Ci0rCXN0YWNrIHZhbHVlIHBpZWNlcyBhcmUgdGFrZW4gZnJvbSB0 aGUgTFNCIGVuZC4KLSsKLSsyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgu dm5ldC5pYm0uY29tPgotKwotIAkqIGdkYi5kd2FyZjIvdmFyLXBpZWNlcy5leHA6IEFkZCB0ZXN0 IGNhc2UgZm9yIG1vZGlmeWluZyBhCi0gCXZhcmlhYmxlIGF0IG5vbnplcm8gb2Zmc2V0LgotIAot LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL25vbnZhci1hY2Nlc3MuZXhwCi0rKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvbm9udmFyLWFjY2Vzcy5leHAKLUBAIC0xMjgsMTQgKzEy OCwyNiBAQCBEd2FyZjo6YXNzZW1ibGUgJGFzbV9maWxlIHsKLSAJCSAgICB7bmFtZSBkZWZfdH0K LSAJCSAgICB7dHlwZSA6JHN0cnVjdF90X2xhYmVsfQotIAkJICAgIHtsb2NhdGlvbiB7Ci0tCQkJ Y29uc3QxdSAwCi0rCQkJY29uc3QycyAtMTg0Ci0gCQkJc3RhY2tfdmFsdWUKLSAJCQliaXRfcGll Y2UgOSAwCi0tCQkJY29uc3QxcyAtMQotKwkJCWNvbnN0NHUgMTc1MjI4NgotIAkJCXN0YWNrX3Zh bHVlCi0gCQkJYml0X3BpZWNlIDIzIDAKLSAJCSAgICB9IFNQRUNJQUxfZXhwcn0KLSAJCX0KLSsJ CSMgQ29tcG9zaXRlIGxvY2F0aW9uIHdpdGggc29tZSBlbXB0eSBwaWVjZXMuCi0rCQlEV19UQUdf dmFyaWFibGUgewotKwkJICAgIHtuYW1lIHBhcnRfZGVmX2F9Ci0rCQkgICAge3R5cGUgOiRhcnJh eV9hOV9sYWJlbH0KLSsJCSAgICB7bG9jYXRpb24gewotKwkJCXBpZWNlIDMKLSsJCQljb25zdDR1 IDB4ZjE5MjczMTQKLSsJCQlzdGFja192YWx1ZQotKwkJCXBpZWNlIDQKLSsJCQlwaWVjZSAyCi0r CQkgICAgfSBTUEVDSUFMX2V4cHJ9Ci0rCQl9Ci0gCQkjIEltcGxpY2l0IGxvY2F0aW9uOiBpbW1l ZGlhdGUgdmFsdWUuCi0gCQlEV19UQUdfdmFyaWFibGUgewotIAkJICAgIHtuYW1lIGRlZl9pbXBs aWNpdF9zfQotQEAgLTIyMSw5ICsyMzMsMTIgQEAgZ2RiX3Rlc3QgInByaW50L3ggKmltcGxpY2l0 X2JfcHRyIiAiID0gJHZhbCIKLSAKLSAjIEJ5dGUtYWxpZ25lZCBmaWVsZHMsIHBpZWNlZCB0b2dl dGhlciBmcm9tIERXQVJGIHN0YWNrIHZhbHVlcy4KLSBnZGJfdGVzdCAicHJpbnQgZGVmX3MiICIg PSBcXHthID0gMCwgYiA9IC0xXFx9IgotK3N3aXRjaCAkZW5kaWFuIHsgYmlnIHtzZXQgdmFsIDB4 OTJ9IGxpdHRsZSB7c2V0IHZhbCAweDczfSB9Ci0rZ2RiX3Rlc3QgInByaW50L3ggcGFydF9kZWZf YVxbNFxdIiAiID0gJHZhbCIKLStnZGJfdGVzdCAicHJpbnQveCBwYXJ0X2RlZl9hXFs4XF0iICIg PSA8b3B0aW1pemVkIG91dD4iCi0gCi0gIyBOb24tYnl0ZS1hbGlnbmVkIGZpZWxkcywgcGllY2Vk IHRvZ2V0aGVyIGZyb20gRFdBUkYgc3RhY2sgdmFsdWVzLgotLWdkYl90ZXN0ICJwcmludCBkZWZf dCIgIiA9IFxce2EgPSAwLCBiID0gLTFcXH0iCi0rZ2RiX3Rlc3QgInByaW50IGRlZl90IiAiID0g XFx7YSA9IC0xODQsIGIgPSAxNzUyMjg2XFx9IgotIAotICMgU2ltcGxlIHZhcmlhYmxlIHdpdGhv dXQgbG9jYXRpb24uCi0gZ2RiX3Rlc3QgInByaW50IHVuZGVmX2ludCIgIiA9IDxvcHRpbWl6ZWQg b3V0PiIKCmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMTNvZjM1LnBhdGNoIGIv Z2RiLXJoYnoxNDIwMzA0LXMzOTB4LTEzb2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggZWNiMWIxNi4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMTNv ZjM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdE QiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6 MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xM29mMzUucGF0Y2gK LQotRmlsZU5hbWU6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xM29mMzUucGF0Y2gKLQotCi1jb21t aXQgODA1YWNjYTA0MmFmZWQ4ZTg0MzFjOTJhYjAzMTE2N2IwMzQ3NTY3NgotQXV0aG9yOiBBbmRy ZWFzIEFybmV6IDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBKdW4gMTMg MTU6MjA6MjYgMjAxNyArMDIwMAotCi0gICAgZ2RiL3Rlc3RzdWl0ZTogQWRkICJnZXRfZW5kaWFu bmVzcyIgY29udmVuaWVuY2UgcHJvYwotICAgIAotICAgIFRoZSB0ZXN0IHN1aXRlIGNvbnRhaW5z IG11bHRpcGxlIGluc3RhbmNlcyBvZiBkZXRlcm1pbmluZyB0aGUgdGFyZ2V0J3MKLSAgICBlbmRp YW5uZXNzIHdpdGggR0RCJ3MgInNob3cgZW5kaWFuIiBjb21tYW5kLiAgVGhpcyBwYXRjaCByZXBs YWNlcyB0aGVzZSBieQotICAgIGFuIGludm9jYXRpb24gb2YgYSBuZXcgY29udmVuaWVuY2UgcHJv YyAnZ2V0X2VuZGlhbm5lc3MnLgotICAgIAotICAgIGdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nOgot ICAgIAotICAgICAgICAgICAgKiBsaWIvZ2RiLmV4cCAoZ2V0X2VuZGlhbm5lc3MpOiBOZXcgcHJv Yy4KLSAgICAgICAgICAgICogZ2RiLmFyY2gvYWFyY2g2NC1mcC5leHA6IFVzZSBpdC4KLSAgICAg ICAgICAgICogZ2RiLmFyY2gvYWx0aXZlYy1yZWdzLmV4cDogTGlrZXdpc2UuCi0gICAgICAgICAg ICAqIGdkYi5hcmNoL2U1MDAtcmVncy5leHA6IExpa2V3aXNlLgotICAgICAgICAgICAgKiBnZGIu YXJjaC92c3gtcmVncy5leHA6IExpa2V3aXNlLgotICAgICAgICAgICAgKiBnZGIuYmFzZS9kdW1w LmV4cDogTGlrZXdpc2UuCi0gICAgICAgICAgICAqIGdkYi5iYXNlL2Z1bmNhcmdzLmV4cDogTGlr ZXdpc2UuCi0gICAgICAgICAgICAqIGdkYi5iYXNlL2dudV92ZWN0b3IuZXhwOiBMaWtld2lzZS4K LSAgICAgICAgICAgICogZ2RiLmR3YXJmMi9mb3JtZGF0YTE2LmV4cDogTGlrZXdpc2UuCi0gICAg ICAgICAgICAqIGdkYi5kd2FyZjIvaW1wbHB0cnBpZWNlLmV4cDogTGlrZXdpc2UuCi0gICAgICAg ICAgICAqIGdkYi5kd2FyZjIvbm9udmFyLWFjY2Vzcy5leHA6IExpa2V3aXNlLgotICAgICAgICAg ICAgKiBnZGIucHl0aG9uL3B5LWluZmVyaW9yLmV4cDogTGlrZXdpc2UuCi0gICAgICAgICAgICAq IGdkYi50cmFjZS91bmF2YWlsYWJsZS1kd2FyZi1waWVjZS5leHA6IExpa2V3aXNlLgotCi0jIyMg YS9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwotIyMjIGIvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cK LSMjIC0xLDUgKzEsMjEgQEAKLSAyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGlu dXgudm5ldC5pYm0uY29tPgotIAotKwkqIGxpYi9nZGIuZXhwIChnZXRfZW5kaWFubmVzcyk6IE5l dyBwcm9jLgotKwkqIGdkYi5hcmNoL2FhcmNoNjQtZnAuZXhwOiBVc2UgaXQuCi0rCSogZ2RiLmFy Y2gvYWx0aXZlYy1yZWdzLmV4cDogTGlrZXdpc2UuCi0rCSogZ2RiLmFyY2gvZTUwMC1yZWdzLmV4 cDogTGlrZXdpc2UuCi0rCSogZ2RiLmFyY2gvdnN4LXJlZ3MuZXhwOiBMaWtld2lzZS4KLSsJKiBn ZGIuYmFzZS9kdW1wLmV4cDogTGlrZXdpc2UuCi0rCSogZ2RiLmJhc2UvZnVuY2FyZ3MuZXhwOiBM aWtld2lzZS4KLSsJKiBnZGIuYmFzZS9nbnVfdmVjdG9yLmV4cDogTGlrZXdpc2UuCi0rCSogZ2Ri LmR3YXJmMi9mb3JtZGF0YTE2LmV4cDogTGlrZXdpc2UuCi0rCSogZ2RiLmR3YXJmMi9pbXBscHRy cGllY2UuZXhwOiBMaWtld2lzZS4KLSsJKiBnZGIuZHdhcmYyL25vbnZhci1hY2Nlc3MuZXhwOiBM aWtld2lzZS4KLSsJKiBnZGIucHl0aG9uL3B5LWluZmVyaW9yLmV4cDogTGlrZXdpc2UuCi0rCSog Z2RiLnRyYWNlL3VuYXZhaWxhYmxlLWR3YXJmLXBpZWNlLmV4cDogTGlrZXdpc2UuCi0rCi0rMjAx Ny0wNi0xMyAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSsKLSAJ UFIgZ2RiLzIxMjI2Ci0gCSogZ2RiLmR3YXJmMi9ub252YXItYWNjZXNzLmV4cDogQWRkIGNoZWNr cyBmb3IgdmVyaWZ5aW5nIHRoYXQKLSAJc3RhY2sgdmFsdWUgcGllY2VzIGFyZSB0YWtlbiBmcm9t IHRoZSBMU0IgZW5kLgotLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAotKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAotQEAgLTU2NzEsNiArNTY3MSwxOSBAQCBwcm9jIHNldF9y ZW1vdGV0aW1lb3V0IHsgdGltZW91dCB9IHsKLSAgICAgfQotIH0KLSAKLSsjIEdldCB0aGUgdGFy Z2V0J3MgY3VycmVudCBlbmRpYW5uZXNzIGFuZCByZXR1cm4gaXQuCi0rcHJvYyBnZXRfZW5kaWFu bmVzcyB7IH0gewotKyAgICBnbG9iYWwgZ2RiX3Byb21wdAotKwotKyAgICBnZGJfdGVzdF9tdWx0 aXBsZSAic2hvdyBlbmRpYW4iICJkZXRlcm1pbmUgZW5kaWFubmVzcyIgewotKwktcmUgIi4qIChs aXR0bGV8YmlnKSBlbmRpYW4uKlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCSAgICAjIFBhc3Mgc2ls ZW50bHkuCi0rCSAgICByZXR1cm4gJGV4cGVjdF9vdXQoMSxzdHJpbmcpCi0rCX0KLSsgICAgfQot KyAgICByZXR1cm4gImxpdHRsZSIKLSt9Ci0rCi0gIyBST09UIGFuZCBGVUxMIGFyZSBmaWxlIG5h bWVzLiAgUmV0dXJucyB0aGUgcmVsYXRpdmUgcGF0aCBmcm9tIFJPT1QKLSAjIHRvIEZVTEwuICBO b3RlIHRoYXQgRlVMTCBtdXN0IGJlIGluIGEgc3ViZGlyZWN0b3J5IG9mIFJPT1QuCi0gIyBGb3Ig ZXhhbXBsZSwgZ2l2ZW4gUk9PVCA9IC91c3IvYmluIGFuZCBGVUxMID0gL3Vzci9iaW4vbHMsIHRo aXMKCmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMTRvZjM1LnBhdGNoIGIvZ2Ri LXJoYnoxNDIwMzA0LXMzOTB4LTE0b2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggN2NhZTM0MS4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMTRvZjM1 LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBw YXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6 NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xNG9mMzUucGF0Y2gKLQot RmlsZU5hbWU6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xNG9mMzUucGF0Y2gKLQotCi1jb21taXQg YWY1NDdhOTYxNDk2OWUxZDFlYTZmY2VjNmI1OWNkNzdhNjA2MzgwZgotQXV0aG9yOiBBbmRyZWFz IEFybmV6IDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBKdW4gMTMgMTU6 MjA6MjcgMjAxNyArMDIwMAotCi0gICAgcmVhZC93cml0ZV9waWVjZWRfdmFsdWU6IFJlc3BlY3Qg dmFsdWUgcGFyZW50J3Mgb2Zmc2V0Ci0gICAgCi0gICAgSW4gdGhlIGNhc2Ugb2YgdGFyZ2V0aW5n IGEgYml0LWZpZWxkLCByZWFkX3BpZWNlZF92YWx1ZSBhbmQKLSAgICB3cml0ZV9waWVjZWRfdmFs dWUgY2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgYml0cyBwcmVjZWRpbmcgdGhlIGJpdC1maWVsZAot ICAgIHdpdGhvdXQgY29uc2lkZXJpbmcgdGhlIHJlbGF0aXZlIG9mZnNldCBvZiB0aGUgdmFsdWUn cyBwYXJlbnQuICBUaGlzIGlzCi0gICAgcmVsZXZhbnQgZm9yIGEgc3RydWN0dXJlIHZhcmlhYmxl IGxpa2UgdGhpczoKLSAgICAKLSAgICAgIHN0cnVjdCBzIHsKLSAgICAgICAgICB1aW50NjRfdCBm b287Ci0gICAgICAgICAgc3RydWN0IHsKLSAgICAgICAgICAgICAgdWludDMyX3QgYmFyOwotICAg ICAgICAgICAgICB1aW50MzJfdCBiZiA6IDEwOyAgLyogPC0tIHRhcmdldCBiaXQtZmllbGQgKi8K LSAgICAgICAgICB9IGJhejsKLSAgICAgIH0gczsKLSAgICAKLSAgICBJbiB0aGlzIHNjZW5hcmlv LCBpZiAndmFsJyBpcyBhIEdEQiB2YWx1ZSByZXByZXNlbnRpbmcgcy5iYXouYmYsCi0gICAgdmFs LT5wYXJlbnQgcmVwcmVzZW50cyB0aGUgd2hvbGUgcy5iYXogc3RydWN0dXJlLCBhbmQgdGhlIGZv bGxvd2luZyBob2xkczoKLSAgICAKLSAgICAgIC0gdmFsdWVfb2Zmc2V0ICh2YWwpID09IHNpemVv ZiBzLmJhei5iYXIgPT0gNAotICAgICAgLSB2YWx1ZV9vZmZzZXQgKHZhbC0+cGFyZW50KSA9PSBz aXplb2Ygcy5mb28gPT0gOAotICAgIAotICAgIFRoZSBjdXJyZW50IGxvZ2ljIHdvdWxkIG9ubHkg dXNlIHZhbHVlX29mZnNldCh2YWwpLCByZXN1bHRpbmcgaW4gdGhlIHdyb25nCi0gICAgb2Zmc2V0 IGludG8gdGhlIHRhcmdldCB2YWx1ZS4gIFRoaXMgaXMgZml4ZWQuCi0gICAgCi0gICAgZ2RiL0No YW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZHdhcmYybG9jLmMgKHJlYWRfcGllY2VkX3Zh bHVlKTogUmVzcGVjdCBwYXJlbnQgdmFsdWUncyBvZmZzZXQKLSAgICAgICAgICAgIHdoZW4gdGFy Z2V0aW5nIGEgYml0LWZpZWxkLgotICAgICAgICAgICAgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IExp a2V3aXNlLgotCi0jIyMgYS9nZGIvQ2hhbmdlTG9nCi0jIyMgYi9nZGIvQ2hhbmdlTG9nCi0jIyAt MSw1ICsxLDExIEBACi0gMjAxNy0wNi0xMyAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZu ZXQuaWJtLmNvbT4KLSAKLSsJKiBkd2FyZjJsb2MuYyAocmVhZF9waWVjZWRfdmFsdWUpOiBSZXNw ZWN0IHBhcmVudCB2YWx1ZSdzIG9mZnNldAotKwl3aGVuIHRhcmdldGluZyBhIGJpdC1maWVsZC4K LSsJKHdyaXRlX3BpZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotKwotKzIwMTctMDYtMTMgIEFuZHJl YXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0gCSogZHdhcmYybG9jLmMg KHN0cnVjdCBwaWVjZV9jbG9zdXJlKSA8YWRkcl9zaXplPjogUmVtb3ZlIGZpZWxkLgotIAkoYWxs b2NhdGVfcGllY2VfY2xvc3VyZSk6IERyb3AgYWRkcl9zaXplIHBhcmFtZXRlci4KLSAJKGR3YXJm Ml9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsKTogQWRqdXN0IGNhbGwgdG8KLS0tLSBhL2dkYi9kd2Fy ZjJsb2MuYwotKysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMTc3Niw3ICsxNzc2LDggQEAgcmVh ZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAgIGJpdHNfdG9fc2tpcCA9IDggKiB2 YWx1ZV9vZmZzZXQgKHYpOwotICAgaWYgKHZhbHVlX2JpdHNpemUgKHYpKQotICAgICB7Ci0tICAg ICAgYml0c190b19za2lwICs9IHZhbHVlX2JpdHBvcyAodik7Ci0rICAgICAgYml0c190b19za2lw ICs9ICg4ICogdmFsdWVfb2Zmc2V0ICh2YWx1ZV9wYXJlbnQgKHYpKQotKwkJICAgICAgICsgdmFs dWVfYml0cG9zICh2KSk7Ci0gICAgICAgdHlwZV9sZW4gPSB2YWx1ZV9iaXRzaXplICh2KTsKLSAg ICAgfQotICAgZWxzZQotQEAgLTE5NDYsNyArMTk0Nyw4IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAo c3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotICAgYml0c190b19za2lwID0g OCAqIHZhbHVlX29mZnNldCAodG8pOwotICAgaWYgKHZhbHVlX2JpdHNpemUgKHRvKSkKLSAgICAg ewotLSAgICAgIGJpdHNfdG9fc2tpcCArPSB2YWx1ZV9iaXRwb3MgKHRvKTsKLSsgICAgICBiaXRz X3RvX3NraXAgKz0gKDggKiB2YWx1ZV9vZmZzZXQgKHZhbHVlX3BhcmVudCAodG8pKQotKwkJICAg ICAgICsgdmFsdWVfYml0cG9zICh0bykpOwotICAgICAgIHR5cGVfbGVuID0gdmFsdWVfYml0c2l6 ZSAodG8pOwotICAgICB9Ci0gICBlbHNlCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTE1b2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0xNW9mMzUucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1NTA0MWMuLjAwMDAwMDAKLS0tIGEvZ2RiLXJo YnoxNDIwMzA0LXMzOTB4LTE1b2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAg QEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBG cmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQt czM5MHgtMTVvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMTVv ZjM1LnBhdGNoCi0KLQotY29tbWl0IGNkYWFjMzIwZmQ2MmJmZjc1NTYyYWFhM2U0NjY0OTRkYzcy ZGQxNzUKLUF1dGhvcjogQW5kcmVhcyBBcm5leiA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgot RGF0ZTogICBUdWUgSnVuIDEzIDE1OjIwOjI3IDIwMTcgKzAyMDAKLQotICAgIHdyaXRlX3BpZWNl ZF92YWx1ZTogRml4IGNvcHkvcGFzdGUgZXJyb3IgaW4gc2l6ZSBjYWxjdWxhdGlvbgotICAgIAot ICAgIEluIHdyaXRlX3BpZWNlZF92YWx1ZSwgdGhlIG51bWJlciBvZiBieXRlcyBjb250YWluaW5n IGEgcG9ydGlvbiBvZiB0aGUKLSAgICBiaXQtZmllbGQgaW4gYSBnaXZlbiBwaWVjZSBpcyBjYWxj dWxhdGVkIHdpdGggdGhlIHdyb25nIHN0YXJ0aW5nIG9mZnNldDsKLSAgICB0aHVzIHRoZSByZXN1 bHQgbWF5IGJlIG9mZiBieSBvbmUuICBUaGlzIGJ1ZyB3YXMgcHJvYmFibHkgaW50cm9kdWNlZCB3 aGVuCi0gICAgY29weWluZyB0aGlzIGxvZ2ljIGZyb20gcmVhZF9waWVjZWRfdmFsdWUuICBGaXgg aXQuCi0gICAgCi0gICAgZ2RiL0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZHdhcmYy bG9jLmMgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IEZpeCBjb3B5L3Bhc3RlIGVycm9yIGluIHRoZQot ICAgICAgICAgICAgY2FsY3VsYXRpb24gb2YgdGhpc19zaXplLgotCi0jIyMgYS9nZGIvQ2hhbmdl TG9nCi0jIyMgYi9nZGIvQ2hhbmdlTG9nCi0jIyAtMSw1ICsxLDEwIEBACi0gMjAxNy0wNi0xMyAg QW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAKLSsJKiBkd2FyZjJs b2MuYyAod3JpdGVfcGllY2VkX3ZhbHVlKTogRml4IGNvcHkvcGFzdGUgZXJyb3IgaW4gdGhlCi0r CWNhbGN1bGF0aW9uIG9mIHRoaXNfc2l6ZS4KLSsKLSsyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6 ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotKwotIAkqIGR3YXJmMmxvYy5jIChyZWFkX3Bp ZWNlZF92YWx1ZSk6IFJlc3BlY3QgcGFyZW50IHZhbHVlJ3Mgb2Zmc2V0Ci0gCXdoZW4gdGFyZ2V0 aW5nIGEgYml0LWZpZWxkLgotIAkod3JpdGVfcGllY2VkX3ZhbHVlKTogTGlrZXdpc2UuCi0tLS0g YS9nZGIvZHdhcmYybG9jLmMKLSsrKyBiL2dkYi9kd2FyZjJsb2MuYwotQEAgLTE5ODMsNyArMTk4 Myw3IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVl ICpmcm9tKQotICAgICAgIGlmICh0aGlzX3NpemVfYml0cyA+IHR5cGVfbGVuIC0gb2Zmc2V0KQot IAl0aGlzX3NpemVfYml0cyA9IHR5cGVfbGVuIC0gb2Zmc2V0OwotIAotLSAgICAgIHRoaXNfc2l6 ZSA9ICh0aGlzX3NpemVfYml0cyArIHNvdXJjZV9vZmZzZXRfYml0cyAlIDggKyA3KSAvIDg7Ci0r ICAgICAgdGhpc19zaXplID0gKHRoaXNfc2l6ZV9iaXRzICsgZGVzdF9vZmZzZXRfYml0cyAlIDgg KyA3KSAvIDg7Ci0gICAgICAgc291cmNlX29mZnNldCA9IHNvdXJjZV9vZmZzZXRfYml0cyAvIDg7 Ci0gICAgICAgZGVzdF9vZmZzZXQgPSBkZXN0X29mZnNldF9iaXRzIC8gODsKLSAgICAgICBpZiAo ZGVzdF9vZmZzZXRfYml0cyAlIDggPT0gMCAmJiBzb3VyY2Vfb2Zmc2V0X2JpdHMgJSA4ID09IDAp CgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE2b2YzNS5wYXRjaCBiL2dkYi1y aGJ6MTQyMDMwNC1zMzkweC0xNm9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDdkOGQxNzguLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE2b2YzNS5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0 Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUw ICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMTZvZjM1LnBhdGNoCi0KLUZp bGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMTZvZjM1LnBhdGNoCi0KLWNvbW1pdCBmMWNj OTg3NDIwZDlkMjQ4OWViNDUzYmQxYzg3MTM5NjY2Y2JlN2ZkCi1BdXRob3I6IEFuZHJlYXMgQXJu ZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgVHVlIEp1biAxMyAxNToyMDoy NyAyMDE3ICswMjAwCi0KLSAgICB3cml0ZV9waWVjZWRfdmFsdWU6IEluY2x1ZGUgdHJhbnNmZXIg c2l6ZSBpbiBieXRlLXdpc2UgY2hlY2sKLSAgICAKLSAgICBJbiB3cml0ZV9waWVjZWRfdmFsdWUs IHdoZW4gY2hlY2tpbmcgd2hldGhlciB0aGUgZGF0YSBjYW4gYmUgdHJhbnNmZXJyZWQKLSAgICBi eXRlLXdpc2UsIHRoZSBjdXJyZW50IGxvZ2ljIHZlcmlmaWVzIHRoZSBzb3VyY2UtIGFuZCBkZXN0 aW5hdGlvbiBvZmZzZXRzCi0gICAgdG8gYmUgYnl0ZS1hbGlnbmVkLCBidXQgbm90IHRoZSB0cmFu c2ZlciBzaXplLiAgVGhpcyBpcyBmaXhlZC4KLSAgICAKLSAgICBnZGIvQ2hhbmdlTG9nOgotICAg IAotICAgICAgICAgICAgKiBkd2FyZjJsb2MuYyAod3JpdGVfcGllY2VkX3ZhbHVlKTogSW5jbHVk ZSB0cmFuc2ZlciBzaXplIGluCi0gICAgICAgICAgICBieXRlLXdpc2UgY2hlY2suCi0KLSMjIyBh L2dkYi9DaGFuZ2VMb2cKLSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTAgQEAKLSAy MDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAot KwkqIGR3YXJmMmxvYy5jICh3cml0ZV9waWVjZWRfdmFsdWUpOiBJbmNsdWRlIHRyYW5zZmVyIHNp emUgaW4KLSsJYnl0ZS13aXNlIGNoZWNrLgotKwotKzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXog IDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0gCSogZHdhcmYybG9jLmMgKHdyaXRlX3Bp ZWNlZF92YWx1ZSk6IEZpeCBjb3B5L3Bhc3RlIGVycm9yIGluIHRoZQotIAljYWxjdWxhdGlvbiBv ZiB0aGlzX3NpemUuCi0gCi0tLS0gYS9nZGIvZHdhcmYybG9jLmMKLSsrKyBiL2dkYi9kd2FyZjJs b2MuYwotQEAgLTE5ODYsNyArMTk4NiwxMCBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2 YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkKLSAgICAgICB0aGlzX3NpemUgPSAodGhpc19z aXplX2JpdHMgKyBkZXN0X29mZnNldF9iaXRzICUgOCArIDcpIC8gODsKLSAgICAgICBzb3VyY2Vf b2Zmc2V0ID0gc291cmNlX29mZnNldF9iaXRzIC8gODsKLSAgICAgICBkZXN0X29mZnNldCA9IGRl c3Rfb2Zmc2V0X2JpdHMgLyA4OwotLSAgICAgIGlmIChkZXN0X29mZnNldF9iaXRzICUgOCA9PSAw ICYmIHNvdXJjZV9vZmZzZXRfYml0cyAlIDggPT0gMCkKLSsKLSsgICAgICAvKiBDaGVjayB3aGV0 aGVyIHRoZSBkYXRhIGNhbiBiZSB0cmFuc2ZlcnJlZCBieXRlLXdpc2UuICAqLwotKyAgICAgIGlm IChkZXN0X29mZnNldF9iaXRzICUgOCA9PSAwICYmIHNvdXJjZV9vZmZzZXRfYml0cyAlIDggPT0g MAotKwkgICYmIHRoaXNfc2l6ZV9iaXRzICUgOCA9PSAwKQotIAl7Ci0gCSAgc291cmNlX2J1ZmZl ciA9IGNvbnRlbnRzICsgc291cmNlX29mZnNldDsKLSAJICBuZWVkX2JpdHdpc2UgPSAwOwoKZGlm ZiAtLWdpdCBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0xN29mMzUucGF0Y2ggYi9nZGItcmhiejE0 MjAzMDQtczM5MHgtMTdvZjM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MGI1ZTU1Li4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0xN29mMzUucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMg PGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIw MAotU3ViamVjdDogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE3b2YzNS5wYXRjaAotCi1GaWxlTmFt ZTogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE3b2YzNS5wYXRjaAotCi1jb21taXQgMDdjOWNhM2Jk OGU2ZjgzYmNlYzQ5YzkyMmI1MjQyMmM1MzhmNjBmNwotQXV0aG9yOiBBbmRyZWFzIEFybmV6IDxh cm5lekBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBKdW4gMTMgMTU6MjA6MjggMjAx NyArMDIwMAotCi0gICAgd3JpdGVfcGllY2VkX3ZhbHVlOiBGaXggYnVmZmVyIG9mZnNldCBmb3Ig bWVtb3J5IHBpZWNlcwotICAgIAotICAgIEluIHdyaXRlX3BpZWNlZF92YWx1ZSwgd2hlbiB0cmFu c2ZlcnJpbmcgdGhlIGRhdGEgdG8gdGFyZ2V0IG1lbW9yeSB2aWEgYQotICAgIGJ1ZmZlciwgdGhl IGJpdCBvZmZzZXQgd2l0aGluIHRoZSB0YXJnZXQgdmFsdWUgaXMgbm90IHJlZHVjZWQgdG8gaXRz Ci0gICAgc3ViLWJ5dGUgZnJhY3Rpb24gYmVmb3JlIHVzaW5nIGl0IGFzIGEgYml0IG9mZnNldCBp bnRvIHRoZSBidWZmZXIuICBUaGlzCi0gICAgaXMgZml4ZWQuCi0gICAgCi0gICAgZ2RiL0NoYW5n ZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZHdhcmYybG9jLmMgKHdyaXRlX3BpZWNlZF92YWx1 ZSk6IEluIERXQVJGX1ZBTFVFX01FTU9SWSwKLSAgICAgICAgICAgIHRydW5jYXRlIGZ1bGwgYnl0 ZXMgZnJvbSBkZXN0X29mZnNldF9iaXRzIGJlZm9yZSB1c2luZyBpdCBhcyBhbgotICAgICAgICAg ICAgb2Zmc2V0IGludG8gdGhlIGJ1ZmZlci4KLQotIyMjIGEvZ2RiL0NoYW5nZUxvZwotIyMjIGIv Z2RiL0NoYW5nZUxvZwotIyMgLTEsNSArMSwxMSBAQAotIDIwMTctMDYtMTMgIEFuZHJlYXMgQXJu ZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0gCi0rCSogZHdhcmYybG9jLmMgKHdyaXRl X3BpZWNlZF92YWx1ZSk6IEluIERXQVJGX1ZBTFVFX01FTU9SWSwKLSsJdHJ1bmNhdGUgZnVsbCBi eXRlcyBmcm9tIGRlc3Rfb2Zmc2V0X2JpdHMgYmVmb3JlIHVzaW5nIGl0IGFzIGFuCi0rCW9mZnNl dCBpbnRvIHRoZSBidWZmZXIuCi0rCi0rMjAxNy0wNi0xMyAgQW5kcmVhcyBBcm5leiAgPGFybmV6 QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSsKLSAJKiBkd2FyZjJsb2MuYyAod3JpdGVfcGllY2VkX3Zh bHVlKTogSW5jbHVkZSB0cmFuc2ZlciBzaXplIGluCi0gCWJ5dGUtd2lzZSBjaGVjay4KLSAKLS0t LSBhL2dkYi9kd2FyZjJsb2MuYwotKysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMjA1OCw3ICsy MDU4LDcgQEAgd3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBzdHJ1Y3QgdmFs dWUgKmZyb20pCi0gCSAgICAgIHJlYWRfbWVtb3J5IChwLT52Lm1lbS5hZGRyICsgZGVzdF9vZmZz ZXQsIGJ1ZmZlci5kYXRhICgpLCAxKTsKLSAJICAgICAgcmVhZF9tZW1vcnkgKHAtPnYubWVtLmFk ZHIgKyBkZXN0X29mZnNldCArIHRoaXNfc2l6ZSAtIDEsCi0gCQkJICAgJmJ1ZmZlclt0aGlzX3Np emUgLSAxXSwgMSk7Ci0tCSAgICAgIGNvcHlfYml0d2lzZSAoYnVmZmVyLmRhdGEgKCksIGRlc3Rf b2Zmc2V0X2JpdHMsCi0rCSAgICAgIGNvcHlfYml0d2lzZSAoYnVmZmVyLmRhdGEgKCksIGRlc3Rf b2Zmc2V0X2JpdHMgJSA4LAotIAkJCSAgICBjb250ZW50cywgc291cmNlX29mZnNldF9iaXRzLAot IAkJCSAgICB0aGlzX3NpemVfYml0cywKLSAJCQkgICAgYml0c19iaWdfZW5kaWFuKTsKCmRpZmYg LS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMThvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIw MzA0LXMzOTB4LTE4b2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjcx MzM1ZC4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMThvZjM1LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMTcyICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8 aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAw Ci1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMThvZjM1LnBhdGNoCi0KLUZpbGVOYW1l OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMThvZjM1LnBhdGNoCi0KLWNvbW1pdCAzNTliMTliYjI0 ZDA0ODc1MGFhNTM2N2FkNTZhMzMyNjczMDBkMWE4Ci1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFy bmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgVHVlIEp1biAxMyAxNToyMDoyOCAyMDE3 ICswMjAwCi0KLSAgICB3cml0ZV9waWVjZWRfdmFsdWU6IFRyYW5zZmVyIGxlYXN0IHNpZ25pZmlj YW50IGJpdHMgaW50byBiaXQtZmllbGQKLSAgICAKLSAgICBPbiBiaWctZW5kaWFuIHRhcmdldHMs IHdoZW4gdGFyZ2V0aW5nIGEgYml0LWZpZWxkLCB3cml0ZV9waWVjZWRfdmFsdWUKLSAgICBjdXJy ZW50bHkgdHJhbnNmZXJzIHRoZSBzb3VyY2UgdmFsdWUncyAqbW9zdCogc2lnbmlmaWNhbnQgYml0 cyB0byB0aGUKLSAgICB0YXJnZXQgdmFsdWUsIGluc3RlYWQgb2YgaXRzIGxlYXN0IHNpZ25pZmlj YW50IGJpdHMuICBUaGlzIGlzIGZpeGVkLgotICAgIAotICAgIEluIHBhcnRpY3VsYXIgdGhlIGZp eCBhZGp1c3RzIHRoZSBpbml0aWFsIHZhbHVlIG9mICdvZmZzZXQnLCB3aGljaCBjYW4gbm93Ci0g ICAgcG90ZW50aWFsbHkgYmUgbm9uemVyby4gIFRodXMgdGhlIHZhcmlhYmxlICd0eXBlX2xlbicg aXMgcmVuYW1lZCB0bwotICAgICdtYXhfb2Zmc2V0JywgdG8gYXZvaWQgY29uZnVzaW9uLiAgQW5k IGZvciBjb25zaXN0ZW5jeSwgdGhlIGFmZmVjdGVkIGxvZ2ljCi0gICAgdGhhdCB3YXMgbWlycm9y ZWQgaW4gcmVhZF9waWVjZWRfdmFsdWUgaXMgY2hhbmdlZCB0aGVyZSBpbiB0aGUgc2FtZSB3YXku Ci0gICAgCi0gICAgZ2RiL0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZHdhcmYybG9j LmMgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IFdoZW4gd3JpdGluZyB0byBhIGJpdC1maWVsZCwKLSAg ICAgICAgICAgIHRyYW5zZmVyIHRoZSBzb3VyY2UgdmFsdWUncyBsZWFzdCBzaWduaWZpY2FudCBi aXRzLCBpbnN0ZWFkIG9mIGl0cwotICAgICAgICAgICAgbG93ZXN0LWFkZHJlc3NlZCBvbmVzLiAg UmVuYW1lIHR5cGVfbGVuIHRvIG1heF9vZmZzZXQuCi0gICAgICAgICAgICAocmVhZF9waWVjZWRf dmFsdWUpOiBNaXJyb3IgYWJvdmUgY2hhbmdlcyB0byB3cml0ZV9waWVjZWRfdmFsdWUgYXMKLSAg ICAgICAgICAgIGFwcGxpY2FibGUuCi0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cKLSMjIyBiL2dkYi9D aGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTMgQEAKLSAyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8 YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIGR3YXJmMmxvYy5jICh3cml0ZV9waWVj ZWRfdmFsdWUpOiBXaGVuIHdyaXRpbmcgdG8gYSBiaXQtZmllbGQsCi0rCXRyYW5zZmVyIHRoZSBz b3VyY2UgdmFsdWUncyBsZWFzdCBzaWduaWZpY2FudCBiaXRzLCBpbnN0ZWFkIG9mIGl0cwotKwls b3dlc3QtYWRkcmVzc2VkIG9uZXMuICBSZW5hbWUgdHlwZV9sZW4gdG8gbWF4X29mZnNldC4KLSsJ KHJlYWRfcGllY2VkX3ZhbHVlKTogTWlycm9yIGFib3ZlIGNoYW5nZXMgdG8gd3JpdGVfcGllY2Vk X3ZhbHVlIGFzCi0rCWFwcGxpY2FibGUuCi0rCi0rMjAxNy0wNi0xMyAgQW5kcmVhcyBBcm5leiAg PGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSsKLSAJKiBkd2FyZjJsb2MuYyAod3JpdGVfcGll Y2VkX3ZhbHVlKTogSW4gRFdBUkZfVkFMVUVfTUVNT1JZLAotIAl0cnVuY2F0ZSBmdWxsIGJ5dGVz IGZyb20gZGVzdF9vZmZzZXRfYml0cyBiZWZvcmUgdXNpbmcgaXQgYXMgYW4KLSAJb2Zmc2V0IGlu dG8gdGhlIGJ1ZmZlci4KLS0tLSBhL2dkYi9kd2FyZjJsb2MuYwotKysrIGIvZ2RiL2R3YXJmMmxv Yy5jCi1AQCAtMTc1NiwxMiArMTc1NiwxMSBAQCBzdGF0aWMgdm9pZAotIHJlYWRfcGllY2VkX3Zh bHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gewotICAgaW50IGk7Ci0tICBsb25nIG9mZnNldCA9IDA7 Ci0rICBMT05HRVNUIG9mZnNldCA9IDAsIG1heF9vZmZzZXQ7Ci0gICBVTE9OR0VTVCBiaXRzX3Rv X3NraXA7Ci0gICBnZGJfYnl0ZSAqY29udGVudHM7Ci0gICBzdHJ1Y3QgcGllY2VfY2xvc3VyZSAq YwotICAgICA9IChzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqKSB2YWx1ZV9jb21wdXRlZF9jbG9zdXJl ICh2KTsKLS0gIHNpemVfdCB0eXBlX2xlbjsKLSAgIHNpemVfdCBidWZmZXJfc2l6ZSA9IDA7Ci0g ICBzdGQ6OnZlY3RvcjxnZGJfYnl0ZT4gYnVmZmVyOwotICAgaW50IGJpdHNfYmlnX2VuZGlhbgot QEAgLTE3NzgsMTIgKzE3NzcsMTIgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAq dikKLSAgICAgewotICAgICAgIGJpdHNfdG9fc2tpcCArPSAoOCAqIHZhbHVlX29mZnNldCAodmFs dWVfcGFyZW50ICh2KSkKLSAJCSAgICAgICArIHZhbHVlX2JpdHBvcyAodikpOwotLSAgICAgIHR5 cGVfbGVuID0gdmFsdWVfYml0c2l6ZSAodik7Ci0rICAgICAgbWF4X29mZnNldCA9IHZhbHVlX2Jp dHNpemUgKHYpOwotICAgICB9Ci0gICBlbHNlCi0tICAgIHR5cGVfbGVuID0gOCAqIFRZUEVfTEVO R1RIICh2YWx1ZV90eXBlICh2KSk7Ci0rICAgIG1heF9vZmZzZXQgPSA4ICogVFlQRV9MRU5HVEgg KHZhbHVlX3R5cGUgKHYpKTsKLSAKLS0gIGZvciAoaSA9IDA7IGkgPCBjLT5uX3BpZWNlcyAmJiBv ZmZzZXQgPCB0eXBlX2xlbjsgaSsrKQotKyAgZm9yIChpID0gMDsgaSA8IGMtPm5fcGllY2VzICYm IG9mZnNldCA8IG1heF9vZmZzZXQ7IGkrKykKLSAgICAgewotICAgICAgIHN0cnVjdCBkd2FyZl9l eHByX3BpZWNlICpwID0gJmMtPnBpZWNlc1tpXTsKLSAgICAgICBzaXplX3QgdGhpc19zaXplLCB0 aGlzX3NpemVfYml0czsKLUBAIC0xNzk4LDIwICsxNzk3LDEzIEBAIHJlYWRfcGllY2VkX3ZhbHVl IChzdHJ1Y3QgdmFsdWUgKnYpCi0gCSAgYml0c190b19za2lwIC09IHRoaXNfc2l6ZV9iaXRzOwot IAkgIGNvbnRpbnVlOwotIAl9Ci0tICAgICAgaWYgKGJpdHNfdG9fc2tpcCA+IDApCi0tCXsKLS0J ICBkZXN0X29mZnNldF9iaXRzID0gMDsKLS0JICBzb3VyY2Vfb2Zmc2V0X2JpdHMgPSBiaXRzX3Rv X3NraXA7Ci0tCSAgdGhpc19zaXplX2JpdHMgLT0gYml0c190b19za2lwOwotLQkgIGJpdHNfdG9f c2tpcCA9IDA7Ci0tCX0KLS0gICAgICBlbHNlCi0tCXsKLS0JICBkZXN0X29mZnNldF9iaXRzID0g b2Zmc2V0OwotLQkgIHNvdXJjZV9vZmZzZXRfYml0cyA9IDA7Ci0tCX0KLS0gICAgICBpZiAodGhp c19zaXplX2JpdHMgPiB0eXBlX2xlbiAtIG9mZnNldCkKLS0JdGhpc19zaXplX2JpdHMgPSB0eXBl X2xlbiAtIG9mZnNldDsKLSsgICAgICBzb3VyY2Vfb2Zmc2V0X2JpdHMgPSBiaXRzX3RvX3NraXA7 Ci0rICAgICAgdGhpc19zaXplX2JpdHMgLT0gYml0c190b19za2lwOwotKyAgICAgIGJpdHNfdG9f c2tpcCA9IDA7Ci0rICAgICAgZGVzdF9vZmZzZXRfYml0cyA9IG9mZnNldDsKLSsKLSsgICAgICBp ZiAodGhpc19zaXplX2JpdHMgPiBtYXhfb2Zmc2V0IC0gb2Zmc2V0KQotKwl0aGlzX3NpemVfYml0 cyA9IG1heF9vZmZzZXQgLSBvZmZzZXQ7Ci0gCi0gICAgICAgdGhpc19zaXplID0gKHRoaXNfc2l6 ZV9iaXRzICsgc291cmNlX29mZnNldF9iaXRzICUgOCArIDcpIC8gODsKLSAgICAgICBzb3VyY2Vf b2Zmc2V0ID0gc291cmNlX29mZnNldF9iaXRzIC8gODsKLUBAIC0xOTMyLDEyICsxOTI0LDExIEBA IHN0YXRpYyB2b2lkCi0gd3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBzdHJ1 Y3QgdmFsdWUgKmZyb20pCi0gewotICAgaW50IGk7Ci0tICBsb25nIG9mZnNldCA9IDA7Ci0gICBV TE9OR0VTVCBiaXRzX3RvX3NraXA7Ci0rICBMT05HRVNUIG9mZnNldCA9IDAsIG1heF9vZmZzZXQ7 Ci0gICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHM7Ci0gICBzdHJ1Y3QgcGllY2VfY2xvc3VyZSAq YwotICAgICA9IChzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqKSB2YWx1ZV9jb21wdXRlZF9jbG9zdXJl ICh0byk7Ci0tICBzaXplX3QgdHlwZV9sZW47Ci0gICBzaXplX3QgYnVmZmVyX3NpemUgPSAwOwot ICAgc3RkOjp2ZWN0b3I8Z2RiX2J5dGU+IGJ1ZmZlcjsKLSAgIGludCBiaXRzX2JpZ19lbmRpYW4K LUBAIC0xOTQ5LDEyICsxOTQwLDIwIEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVl ICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotICAgICB7Ci0gICAgICAgYml0c190b19za2lwICs9 ICg4ICogdmFsdWVfb2Zmc2V0ICh2YWx1ZV9wYXJlbnQgKHRvKSkKLSAJCSAgICAgICArIHZhbHVl X2JpdHBvcyAodG8pKTsKLS0gICAgICB0eXBlX2xlbiA9IHZhbHVlX2JpdHNpemUgKHRvKTsKLS0g ICAgfQotKyAgICAgIC8qIFVzZSB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0cyBvZiBGUk9NLiAg Ki8KLSsgICAgICBpZiAoZ2RiYXJjaF9ieXRlX29yZGVyIChnZXRfdHlwZV9hcmNoICh2YWx1ZV90 eXBlIChmcm9tKSkpCi0rCSAgPT0gQkZEX0VORElBTl9CSUcpCi0rCXsKLSsJICBtYXhfb2Zmc2V0 ID0gOCAqIFRZUEVfTEVOR1RIICh2YWx1ZV90eXBlIChmcm9tKSk7Ci0rCSAgb2Zmc2V0ID0gbWF4 X29mZnNldCAtIHZhbHVlX2JpdHNpemUgKHRvKTsKLSsJfQotKyAgICAgIGVsc2UKLSsJbWF4X29m ZnNldCA9IHZhbHVlX2JpdHNpemUgKHRvKTsKLSsgICB9Ci0gICBlbHNlCi0tICAgIHR5cGVfbGVu ID0gOCAqIFRZUEVfTEVOR1RIICh2YWx1ZV90eXBlICh0bykpOwotKyAgICBtYXhfb2Zmc2V0ID0g OCAqIFRZUEVfTEVOR1RIICh2YWx1ZV90eXBlICh0bykpOwotIAotLSAgZm9yIChpID0gMDsgaSA8 IGMtPm5fcGllY2VzICYmIG9mZnNldCA8IHR5cGVfbGVuOyBpKyspCi0rICBmb3IgKGkgPSAwOyBp IDwgYy0+bl9waWVjZXMgJiYgb2Zmc2V0IDwgbWF4X29mZnNldDsgaSsrKQotICAgICB7Ci0gICAg ICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ldOwotICAgICAgIHNp emVfdCB0aGlzX3NpemVfYml0cywgdGhpc19zaXplOwotQEAgLTE5NjgsMjAgKzE5NjcsMTMgQEAg d3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBzdHJ1Y3QgdmFsdWUgKmZyb20p Ci0gCSAgYml0c190b19za2lwIC09IHRoaXNfc2l6ZV9iaXRzOwotIAkgIGNvbnRpbnVlOwotIAl9 Ci0tICAgICAgaWYgKGJpdHNfdG9fc2tpcCA+IDApCi0tCXsKLS0JICBkZXN0X29mZnNldF9iaXRz ID0gYml0c190b19za2lwOwotLQkgIHNvdXJjZV9vZmZzZXRfYml0cyA9IDA7Ci0tCSAgdGhpc19z aXplX2JpdHMgLT0gYml0c190b19za2lwOwotLQkgIGJpdHNfdG9fc2tpcCA9IDA7Ci0tCX0KLS0g ICAgICBlbHNlCi0tCXsKLS0JICBkZXN0X29mZnNldF9iaXRzID0gMDsKLS0JICBzb3VyY2Vfb2Zm c2V0X2JpdHMgPSBvZmZzZXQ7Ci0tCX0KLS0gICAgICBpZiAodGhpc19zaXplX2JpdHMgPiB0eXBl X2xlbiAtIG9mZnNldCkKLS0JdGhpc19zaXplX2JpdHMgPSB0eXBlX2xlbiAtIG9mZnNldDsKLSsg ICAgICBkZXN0X29mZnNldF9iaXRzID0gYml0c190b19za2lwOwotKyAgICAgIHRoaXNfc2l6ZV9i aXRzIC09IGJpdHNfdG9fc2tpcDsKLSsgICAgICBiaXRzX3RvX3NraXAgPSAwOwotKyAgICAgIHNv dXJjZV9vZmZzZXRfYml0cyA9IG9mZnNldDsKLSsKLSsgICAgICBpZiAodGhpc19zaXplX2JpdHMg PiBtYXhfb2Zmc2V0IC0gb2Zmc2V0KQotKwl0aGlzX3NpemVfYml0cyA9IG1heF9vZmZzZXQgLSBv ZmZzZXQ7Ci0gCi0gICAgICAgdGhpc19zaXplID0gKHRoaXNfc2l6ZV9iaXRzICsgZGVzdF9vZmZz ZXRfYml0cyAlIDggKyA3KSAvIDg7Ci0gICAgICAgc291cmNlX29mZnNldCA9IHNvdXJjZV9vZmZz ZXRfYml0cyAvIDg7CgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE5b2YzNS5w YXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0xOW9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDQ3NGI3MzkuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTE5b2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0OCArMCwwIEBACi1Gcm9tOiBG ZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3Qg MjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE5b2Yz NS5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE5b2YzNS5wYXRjaAot Ci1jb21taXQgM2JmMzEwMTEwNzIyYjAzZDlmZjljNGYzNGY1OTIwYTliZTI4NzhkMAotQXV0aG9y OiBBbmRyZWFzIEFybmV6IDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBK dW4gMTMgMTU6MjA6MjkgMjAxNyArMDIwMAotCi0gICAgQWRkIERXQVJGIHBpZWNlIHRlc3QgY2Fz ZXMgZm9yIGJpdC1maWVsZCBhY2Nlc3MKLSAgICAKLSAgICBUaGlzIHZlcmlmaWVzIHNvbWUgb2Yg dGhlIHByZXZpb3VzIGZpeGVzIHRvIHRoZSBsb2dpYyBpbgotICAgIHdyaXRlX3BpZWNlZF92YWx1 ZSB3aGVuIGFjY2Vzc2luZyBiaXQtZmllbGRzLgotICAgIAotICAgIGdkYi90ZXN0c3VpdGUvQ2hh bmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBnZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwOiBB ZGQgdGVzdHMgZm9yIGFjY2Vzc2luZyBiaXQtZmllbGRzCi0gICAgICAgICAgICBsb2NhdGVkIGlu IG9uZSBvciBtb3JlIERXQVJGIHBpZWNlcy4KLQotIyMjIGEvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VM b2cKLSMjIyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCi0jIyAtMSw1ICsxLDEwIEBACi0gMjAx Ny0wNi0xMyAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAKLSsJ KiBnZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwOiBBZGQgdGVzdHMgZm9yIGFjY2Vzc2luZyBiaXQt ZmllbGRzCi0rCWxvY2F0ZWQgaW4gb25lIG9yIG1vcmUgRFdBUkYgcGllY2VzLgotKwotKzIwMTct MDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0gCSog bGliL2dkYi5leHAgKGdldF9lbmRpYW5uZXNzKTogTmV3IHByb2MuCi0gCSogZ2RiLmFyY2gvYWFy Y2g2NC1mcC5leHA6IFVzZSBpdC4KLSAJKiBnZGIuYXJjaC9hbHRpdmVjLXJlZ3MuZXhwOiBMaWtl d2lzZS4KLS0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi92YXItYWNjZXNzLmV4cAotKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwCi1AQCAtNjIsNyArNjIs OCBAQCBEd2FyZjo6YXNzZW1ibGUgJGFzbV9maWxlIHsKLSAJfSB7Ci0gCSAgICBkZWNsYXJlX2xh YmVscyBjaGFyX3R5cGVfbGFiZWwKLSAJICAgIGRlY2xhcmVfbGFiZWxzIGludF90eXBlX2xhYmVs IHNob3J0X3R5cGVfbGFiZWwKLS0JICAgIGRlY2xhcmVfbGFiZWxzIGFycmF5X2E4X2xhYmVsIHN0 cnVjdF9zX2xhYmVsCi0rCSAgICBkZWNsYXJlX2xhYmVscyBhcnJheV9hOF9sYWJlbCBzdHJ1Y3Rf c19sYWJlbCBzdHJ1Y3RfdF9sYWJlbAotKwkgICAgZGVjbGFyZV9sYWJlbHMgc3RydWN0X3N0X2xh YmVsCi0gCi0gCSAgICAjIGNoYXIKLSAJICAgIGNoYXJfdHlwZV9sYWJlbDogYmFzZV90eXBlIHsK LUBAIC0xMTUsNiArMTE2LDUxIEBAIER3YXJmOjphc3NlbWJsZSAkYXNtX2ZpbGUgewotIAkJfQot IAkgICAgfQotIAotKwkgICAgIyBzdHJ1Y3QgdCB7IGludCB1LCB4OjksIHk6MTMsIHo6MTA7IH07 Ci0rCSAgICBzdHJ1Y3RfdF9sYWJlbDogc3RydWN0dXJlX3R5cGUgewotKwkJe25hbWUgInQifQot KwkJe2J5dGVfc2l6ZSA4IERXX0ZPUk1fc2RhdGF9Ci0rCSAgICB9IHsKLSsJCW1lbWJlciB7Ci0r CQkgICAge25hbWUgInUifQotKwkJICAgIHt0eXBlIDokaW50X3R5cGVfbGFiZWx9Ci0rCQl9Ci0r CQltZW1iZXIgewotKwkJICAgIHtuYW1lICJ4In0KLSsJCSAgICB7dHlwZSA6JGludF90eXBlX2xh YmVsfQotKwkJICAgIHtkYXRhX21lbWJlcl9sb2NhdGlvbiA0IERXX0ZPUk1fdWRhdGF9Ci0rCQkg ICAge2JpdF9zaXplIDkgRFdfRk9STV91ZGF0YX0KLSsJCX0KLSsJCW1lbWJlciB7Ci0rCQkgICAg e25hbWUgInkifQotKwkJICAgIHt0eXBlIDokaW50X3R5cGVfbGFiZWx9Ci0rCQkgICAge2RhdGFf Yml0X29mZnNldCA0MSBEV19GT1JNX3VkYXRhfQotKwkJICAgIHtiaXRfc2l6ZSAxMyBEV19GT1JN X3VkYXRhfQotKwkJfQotKwkJbWVtYmVyIHsKLSsJCSAgICB7bmFtZSAieiJ9Ci0rCQkgICAge3R5 cGUgOiRpbnRfdHlwZV9sYWJlbH0KLSsJCSAgICB7ZGF0YV9iaXRfb2Zmc2V0IDU0IERXX0ZPUk1f dWRhdGF9Ci0rCQkgICAge2JpdF9zaXplIDEwIERXX0ZPUk1fdWRhdGF9Ci0rCQl9Ci0rCSAgICB9 Ci0rCi0rCSAgICAjIHN0cnVjdCBzdCB7IHN0cnVjdCBzIHM7IHN0cnVjdCB0IHQ7IH07Ci0rCSAg ICBzdHJ1Y3Rfc3RfbGFiZWw6IHN0cnVjdHVyZV90eXBlIHsKLSsJCXtuYW1lICJzdCJ9Ci0rCQl7 Ynl0ZV9zaXplIDEyIERXX0ZPUk1fdWRhdGF9Ci0rCSAgICB9IHsKLSsJCW1lbWJlciB7Ci0rCQkg ICAge25hbWUgInMifQotKwkJICAgIHt0eXBlIDokc3RydWN0X3NfbGFiZWx9Ci0rCQl9Ci0rCQlt ZW1iZXIgewotKwkJICAgIHtuYW1lICJ0In0KLSsJCSAgICB7dHlwZSA6JHN0cnVjdF90X2xhYmVs fQotKwkJICAgIHtkYXRhX21lbWJlcl9sb2NhdGlvbiA0IERXX0ZPUk1fdWRhdGF9Ci0rCQl9Ci0r CSAgICB9Ci0rCi0gCSAgICBEV19UQUdfc3VicHJvZ3JhbSB7Ci0gCQl7TUFDUk9fQVRfZnVuYyB7 IG1haW4gJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IH19Ci0gCQl7RFdfQVRfZXh0ZXJu YWwgMSBmbGFnfQotQEAgLTE1Niw2ICsyMDIsMTkgQEAgRHdhcmY6OmFzc2VtYmxlICRhc21fZmls ZSB7Ci0gCQkJcGllY2UgMQotIAkJICAgIH0gU1BFQ0lBTF9leHByfQotIAkJfQotKwkJIyBNZW1v cnkgcGllY2VzIGZvciBiaXRmaWVsZCBhY2Nlc3M6IDggYnl0ZXMgb3B0aW1pemVkCi0rCQkjIG91 dCwgMyBieXRlcyBmcm9tICZidWZbM10sIGFuZCAxIGJ5dGUgZnJvbSAmYnVmWzFdLgotKwkJRFdf VEFHX3ZhcmlhYmxlIHsKLSsJCSAgICB7bmFtZSAic3QxIn0KLSsJCSAgICB7dHlwZSA6JHN0cnVj dF9zdF9sYWJlbH0KLSsJCSAgICB7bG9jYXRpb24gewotKwkJCXBpZWNlIDgKLSsJCQlhZGRyICIk YnVmX3ZhciArIDMiCi0rCQkJcGllY2UgMwotKwkJCWFkZHIgIiRidWZfdmFyICsgMSIKLSsJCQlw aWVjZSAxCi0rCQkgICAgfSBTUEVDSUFMX2V4cHJ9Ci0rCQl9Ci0gCSAgICB9Ci0gCX0KLSAgICAg fQotQEAgLTE3MCw2ICsyMjksOSBAQCBpZiAhW3J1bnRvX21haW5dIHsKLSAgICAgcmV0dXJuIC0x Ci0gfQotIAotKyMgRGV0ZXJtaW5lIGJ5dGUgb3JkZXIuCi0rc2V0IGVuZGlhbiBbZ2V0X2VuZGlh bm5lc3NdCi0rCi0gIyBCeXRlLWFsaWduZWQgbWVtb3J5IHBpZWNlcy4KLSBnZGJfdGVzdCAicHJp bnQvZCBzMSIgIiA9IFxce2EgPSAyLCBiID0gMywgYyA9IDAsIGQgPSAxXFx9IiBcCi0gICAgICJz MSA9PSByZS1vcmRlcmVkIGJ1ZiIKLUBAIC0yMDAsMyArMjYyLDIwIEBAIGdkYl90ZXN0X25vX291 dHB1dCAic2V0IHZhciBzMiA9IHsxOTEsIDczLCAyMzEsIDEyM30iIFwKLSAgICAgInJlLWluaXRp YWxpemUgczIiCi0gZ2RiX3Rlc3QgInByaW50L2QgczIiICAiID0gXFx7YSA9IDE5MSwgYiA9IDcz LCBjID0gMjMxLCBkID0gMTIzXFx9IiBcCi0gICAgICJ2ZXJpZnkgcmUtaW5pdGlhbGl6ZWQgczIi Ci0rCi0rIyBVbmFsaWduZWQgYml0ZmllbGQgYWNjZXNzIHRocm91Z2ggYnl0ZS1hbGlnbmVkIHBp ZWNlcy4KLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXIgYSA9IHsgMCB9IgotK2dkYl90ZXN0 X25vX291dHB1dCAic2V0IHZhciBzdDEudC54ID0gLTciCi0rZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJz ZXQgdmFyIHN0MS50LnogPSAzNDAiCi0rZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgdmFyIHN0MS50 LnkgPSAxMjM0IgotK2dkYl90ZXN0ICJwcmludCBzdDEudCIgIiA9IFxce3UgPSA8b3B0aW1pemVk IG91dD4sIHggPSAtNywgeSA9IDEyMzQsIHogPSAzNDBcXH0iIFwKLSsgICAgInZlcmlmeSBzdDEu dCIKLStzd2l0Y2ggJGVuZGlhbiB7Ci0rICAgIGxpdHRsZSB7c2V0IHZhbCAiMHg1NSwgMHgwLCAw eGY5LCAweGE1LCAweDkifQotKyAgICBiaWcge3NldCB2YWwgIjB4NTQsIDB4MCwgMHhmYywgMHg5 MywgMHg0OSJ9Ci0rfQotKyMgfCAtLSB8IHo6Mi05IHwgLS0gfCB4OjAtNyB8IHg6OCB5OjAtNiB8 IHk6Ny0xMiB6OjAtMSB8IC0tIHwgLS0gfAotKyMgICAgICBcX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18vCi0rIyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdmFsCi0rZ2RiX3Rlc3QgInByaW50L3ggYSIgIiA9IFxcezB4MCwgJHt2YWx9LCAweDAsIDB4 MFxcfSIgXAotKyAgICAidmVyaWZ5IHN0MSB0aHJvdWdoIGEiCgpkaWZmIC0tZ2l0IGEvZ2RiLXJo YnoxNDIwMzA0LXMzOTB4LTIwb2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMG9m MzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhOTIwYzMuLjAwMDAwMDAK LS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTIwb2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDgwICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5j b20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGIt cmhiejE0MjAzMDQtczM5MHgtMjBvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAz MDQtczM5MHgtMjBvZjM1LnBhdGNoCi0KLWNvbW1pdCA4NDA5ODljMTEzNDMzYzA2OWY1NDg3MmQ3 ZTA1MWUxNTcyMjAyMzI2Ci1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQu aWJtLmNvbT4KLURhdGU6ICAgVHVlIEp1biAxMyAxNToyMDozMCAyMDE3ICswMjAwCi0KLSAgICBy ZWFkL3dyaXRlX3BpZWNlZF92YWx1ZTogRHJvcCAnYnVmZmVyX3NpemUnIHZhcmlhYmxlCi0gICAg Ci0gICAgV2hlbiB0aGUgdmFyaWFibGUgJ2J1ZmZlcl9zaXplJyBpbiByZWFkX3BpZWNlZF92YWx1 ZSBhbmQKLSAgICB3cml0ZV9waWVjZWRfdmFsdWUgd2FzIGludHJvZHVjZWQsIGl0IHdhcyBuZWVk ZWQgZm9yIHRyYWNraW5nIHRoZSBidWZmZXIncwotICAgIGFsbG9jYXRlZCBzaXplLiAgTm93IHRo YXQgdGhlIGJ1ZmZlcidzIGRhdGEgdHlwZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIGEKLSAgICBzdGQ6 OnZlY3RvciwgdGhlIHZhcmlhYmxlIGlzIG5vIGxvbmdlciBuZWNlc3Nhcnk7IHNvIHJlbW92ZSBp dC4KLSAgICAKLSAgICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBkd2FyZjJs b2MuYyAocmVhZF9waWVjZWRfdmFsdWUpOiBSZW1vdmUgYnVmZmVyX3NpemUgdmFyaWFibGUuCi0g ICAgICAgICAgICAod3JpdGVfcGllY2VkX3ZhbHVlKTogTGlrZXdpc2UuCi0KLSMjIyBhL2dkYi9D aGFuZ2VMb2cKLSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTAgQEAKLSAyMDE3LTA2 LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIGR3 YXJmMmxvYy5jIChyZWFkX3BpZWNlZF92YWx1ZSk6IFJlbW92ZSBidWZmZXJfc2l6ZSB2YXJpYWJs ZS4KLSsJKHdyaXRlX3BpZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotKwotKzIwMTctMDYtMTMgIEFu ZHJlYXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0gCSogZHdhcmYybG9j LmMgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IFdoZW4gd3JpdGluZyB0byBhIGJpdC1maWVsZCwKLSAJ dHJhbnNmZXIgdGhlIHNvdXJjZSB2YWx1ZSdzIGxlYXN0IHNpZ25pZmljYW50IGJpdHMsIGluc3Rl YWQgb2YgaXRzCi0gCWxvd2VzdC1hZGRyZXNzZWQgb25lcy4gIFJlbmFtZSB0eXBlX2xlbiB0byBt YXhfb2Zmc2V0LgotLS0tIGEvZ2RiL2R3YXJmMmxvYy5jCi0rKysgYi9nZGIvZHdhcmYybG9jLmMK LUBAIC0xNzYxLDcgKzE3NjEsNiBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2 KQotICAgZ2RiX2J5dGUgKmNvbnRlbnRzOwotICAgc3RydWN0IHBpZWNlX2Nsb3N1cmUgKmMKLSAg ICAgPSAoc3RydWN0IHBpZWNlX2Nsb3N1cmUgKikgdmFsdWVfY29tcHV0ZWRfY2xvc3VyZSAodik7 Ci0tICBzaXplX3QgYnVmZmVyX3NpemUgPSAwOwotICAgc3RkOjp2ZWN0b3I8Z2RiX2J5dGU+IGJ1 ZmZlcjsKLSAgIGludCBiaXRzX2JpZ19lbmRpYW4KLSAgICAgPSBnZGJhcmNoX2JpdHNfYmlnX2Vu ZGlhbiAoZ2V0X3R5cGVfYXJjaCAodmFsdWVfdHlwZSAodikpKTsKLUBAIC0xODA2LDEyICsxODA1 LDggQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAJdGhpc19zaXplX2Jp dHMgPSBtYXhfb2Zmc2V0IC0gb2Zmc2V0OwotIAotICAgICAgIHRoaXNfc2l6ZSA9ICh0aGlzX3Np emVfYml0cyArIHNvdXJjZV9vZmZzZXRfYml0cyAlIDggKyA3KSAvIDg7Ci0rICAgICAgYnVmZmVy LnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0gICAgICAgc291cmNlX29mZnNldCA9IHNvdXJjZV9vZmZz ZXRfYml0cyAvIDg7Ci0tICAgICAgaWYgKGJ1ZmZlcl9zaXplIDwgdGhpc19zaXplKQotLQl7Ci0t CSAgYnVmZmVyX3NpemUgPSB0aGlzX3NpemU7Ci0tCSAgYnVmZmVyLnJlc2VydmUgKGJ1ZmZlcl9z aXplKTsKLS0JfQotICAgICAgIGludGVybWVkaWF0ZV9idWZmZXIgPSBidWZmZXIuZGF0YSAoKTsK LSAKLSAgICAgICAvKiBDb3B5IGZyb20gdGhlIHNvdXJjZSB0byBERVNUX0JVRkZFUi4gICovCi1A QCAtMTkyOSw3ICsxOTI0LDYgQEAgd3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnRv LCBzdHJ1Y3QgdmFsdWUgKmZyb20pCi0gICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHM7Ci0gICBz dHJ1Y3QgcGllY2VfY2xvc3VyZSAqYwotICAgICA9IChzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqKSB2 YWx1ZV9jb21wdXRlZF9jbG9zdXJlICh0byk7Ci0tICBzaXplX3QgYnVmZmVyX3NpemUgPSAwOwot ICAgc3RkOjp2ZWN0b3I8Z2RiX2J5dGU+IGJ1ZmZlcjsKLSAgIGludCBiaXRzX2JpZ19lbmRpYW4K LSAgICAgPSBnZGJhcmNoX2JpdHNfYmlnX2VuZGlhbiAoZ2V0X3R5cGVfYXJjaCAodmFsdWVfdHlw ZSAodG8pKSk7Ci1AQCAtMTk4OCwxMSArMTk4Miw3IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3Ry dWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotIAl9Ci0gICAgICAgZWxzZQotIAl7 Ci0tCSAgaWYgKGJ1ZmZlcl9zaXplIDwgdGhpc19zaXplKQotLQkgICAgewotLQkgICAgICBidWZm ZXJfc2l6ZSA9IHRoaXNfc2l6ZTsKLS0JICAgICAgYnVmZmVyLnJlc2VydmUgKGJ1ZmZlcl9zaXpl KTsKLS0JICAgIH0KLSsJICBidWZmZXIucmVzZXJ2ZSAodGhpc19zaXplKTsKLSAJICBzb3VyY2Vf YnVmZmVyID0gYnVmZmVyLmRhdGEgKCk7Ci0gCSAgbmVlZF9iaXR3aXNlID0gMTsKLSAJfQoKZGlm ZiAtLWdpdCBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMW9mMzUucGF0Y2ggYi9nZGItcmhiejE0 MjAzMDQtczM5MHgtMjFvZjM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy OGRjMDA4Li4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMW9mMzUucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwyMzMgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVz IDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAy MDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMW9mMzUucGF0Y2gKLQotRmlsZU5h bWU6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMW9mMzUucGF0Y2gKLQotY29tbWl0IDAzYzhhZjE4 ZDFhOGYzNTlmZDAyMzY5Njg0OGJkYTQ4ODExOWRhNjAKLUF1dGhvcjogQW5kcmVhcyBBcm5leiA8 YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotRGF0ZTogICBUdWUgSnVuIDEzIDE1OjIwOjMwIDIw MTcgKzAyMDAKLQotICAgIEZpeCBoYW5kbGluZyBvZiBEV0FSRiByZWdpc3RlciBwaWVjZXMgb24g YmlnLWVuZGlhbiB0YXJnZXRzCi0gICAgCi0gICAgRm9yIGJpZy1lbmRpYW4gdGFyZ2V0cyB0aGUg bG9naWMgaW4gcmVhZC93cml0ZV9waWVjZWRfdmFsdWUgdHJpZXMgdG8gdGFrZQotICAgIGEgcmVn aXN0ZXIgcGllY2UgZnJvbSB0aGUgTFNCIGVuZC4gIFRoaXMgcmVxdWlyZXMgb2Zmc2V0cyBhbmQg c2l6ZXMgdG8gYmUKLSAgICBhZGp1c3RlZCBhY2NvcmRpbmdseSwgYW5kIHRoYXQncyB3aGVyZSB0 aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBoYXMgc29tZQotICAgIGlzc3VlczoKLSAgICAKLSAg ICAqIFRoZSBmb3JtdWxhcyBmb3IgcmVjYWxjdWxhdGluZyB0aGUgYml0LSBhbmQgYnl0ZS1vZmZz ZXRzIGludG8gdGhlCi0gICAgICByZWdpc3RlciBhcmUgd3JvbmcuICBUaGV5IGp1c3QgaGFwcGVu IHRvIHlpZWxkIGNvcnJlY3QgcmVzdWx0cyBpZgotICAgICAgZXZlcnl0aGluZyBpcyBieXRlLWFs aWduZWQgYW5kIHRoZSBwaWVjZSdzIGxhc3QgYnl0ZSBiZWxvbmdzIHRvIHRoZQotICAgICAgZ2l2 ZW4gdmFsdWUuCi0gICAgCi0gICAgKiBBZnRlciByZWNhbGN1bGF0aW5nIHRoZSBiaXQgb2Zmc2V0 IGludG8gdGhlIHJlZ2lzdGVyLCB0aGUgbnVtYmVyIG9mCi0gICAgICBieXRlcyB0byBiZSBjb3Bp ZWQgZnJvbSB0aGUgcmVnaXN0ZXIgaXMgbm90IHJlY2FsY3VsYXRlZC4gIE9mIGNvdXJzZQotICAg ICAgdGhpcyBkb2VzIG5vdCBtYXR0ZXIgaWYgZXZlcnl0aGluZyAocGFydGljdWxhcmx5IHRoZSBw aWVjZSBzaXplKSBpcwotICAgICAgYnl0ZS1hbGlnbmVkLgotICAgIAotICAgIFRoZXNlIGlzc3Vl cyBhcmUgZml4ZWQuICBUaGUgc2l6ZSBjYWxjdWxhdGlvbiBpcyBwZXJmb3JtZWQgd2l0aCBhIG5l dwotICAgIGhlbHBlciBmdW5jdGlvbiBiaXRzX3RvX2J5dGVzKCkuCi0gICAgCi0gICAgZ2RiL0No YW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZHdhcmYybG9jLmMgKGJpdHNfdG9fYnl0ZXMp OiBOZXcgZnVuY3Rpb24uCi0gICAgICAgICAgICAocmVhZF9waWVjZWRfdmFsdWUpOiBGaXggb2Zm c2V0IGNhbGN1bGF0aW9ucyBmb3IgcmVnaXN0ZXIgcGllY2VzCi0gICAgICAgICAgICBvbiBiaWct ZW5kaWFuIHRhcmdldHMuCi0gICAgICAgICAgICAod3JpdGVfcGllY2VkX3ZhbHVlKTogTGlrZXdp c2UuCi0gICAgCi0gICAgZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgICAgICAg ICAqIGdkYi5kd2FyZjIvdmFyLWFjY2Vzcy5leHA6IEFkZCB0ZXN0IGZvciBub24tYnl0ZS1hbGln bmVkCi0gICAgICAgICAgICByZWdpc3RlciBwaWVjZXMuCi0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cK LSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTIgQEAKLSAyMDE3LTA2LTEzICBBbmRy ZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIGR3YXJmMmxvYy5j IChiaXRzX3RvX2J5dGVzKTogTmV3IGZ1bmN0aW9uLgotKwkocmVhZF9waWVjZWRfdmFsdWUpOiBG aXggb2Zmc2V0IGNhbGN1bGF0aW9ucyBmb3IgcmVnaXN0ZXIgcGllY2VzCi0rCW9uIGJpZy1lbmRp YW4gdGFyZ2V0cy4KLSsJKHdyaXRlX3BpZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotKwotKzIwMTct MDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0gCSog ZHdhcmYybG9jLmMgKHJlYWRfcGllY2VkX3ZhbHVlKTogUmVtb3ZlIGJ1ZmZlcl9zaXplIHZhcmlh YmxlLgotIAkod3JpdGVfcGllY2VkX3ZhbHVlKTogTGlrZXdpc2UuCi0gCi0tLS0gYS9nZGIvZHdh cmYybG9jLmMKLSsrKyBiL2dkYi9kd2FyZjJsb2MuYwotQEAgLTE3NTIsNiArMTc1MiwxNSBAQCBj b3B5X2JpdHdpc2VfdGVzdHMgKHZvaWQpCi0gCi0gI2VuZGlmIC8qIEdEQl9TRUxGX1RFU1QgKi8K LSAKLSsvKiBSZXR1cm4gdGhlIG51bWJlciBvZiBieXRlcyBvdmVybGFwcGluZyBhIGNvbnRpZ3Vv dXMgY2h1bmsgb2YgTl9CSVRTCi0rICAgYml0cyB3aG9zZSBmaXJzdCBiaXQgaXMgbG9jYXRlZCBh dCBiaXQgb2Zmc2V0IFNUQVJULiAgKi8KLSsKLStzdGF0aWMgc2l6ZV90Ci0rYml0c190b19ieXRl cyAoVUxPTkdFU1Qgc3RhcnQsIFVMT05HRVNUIG5fYml0cykKLSt7Ci0rICByZXR1cm4gKHN0YXJ0 ICUgOCArIG5fYml0cyArIDcpIC8gODsKLSt9Ci0rCi0gc3RhdGljIHZvaWQKLSByZWFkX3BpZWNl ZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIHsKLUBAIC0xODA0LDcgKzE4MTMsNyBAQCByZWFk X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotICAgICAgIGlmICh0aGlzX3NpemVfYml0 cyA+IG1heF9vZmZzZXQgLSBvZmZzZXQpCi0gCXRoaXNfc2l6ZV9iaXRzID0gbWF4X29mZnNldCAt IG9mZnNldDsKLSAKLS0gICAgICB0aGlzX3NpemUgPSAodGhpc19zaXplX2JpdHMgKyBzb3VyY2Vf b2Zmc2V0X2JpdHMgJSA4ICsgNykgLyA4OwotKyAgICAgIHRoaXNfc2l6ZSA9IGJpdHNfdG9fYnl0 ZXMgKHNvdXJjZV9vZmZzZXRfYml0cywgdGhpc19zaXplX2JpdHMpOwotICAgICAgIGJ1ZmZlci5y ZXNlcnZlICh0aGlzX3NpemUpOwotICAgICAgIHNvdXJjZV9vZmZzZXQgPSBzb3VyY2Vfb2Zmc2V0 X2JpdHMgLyA4OwotICAgICAgIGludGVybWVkaWF0ZV9idWZmZXIgPSBidWZmZXIuZGF0YSAoKTsK LUBAIC0xODE3LDIwICsxODI2LDIwIEBAIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUg KnYpCi0gCSAgICBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUgPSBmcmFtZV9maW5kX2J5X2lkIChj LT5mcmFtZV9pZCk7Ci0gCSAgICBzdHJ1Y3QgZ2RiYXJjaCAqYXJjaCA9IGdldF9mcmFtZV9hcmNo IChmcmFtZSk7Ci0gCSAgICBpbnQgZ2RiX3JlZ251bSA9IGR3YXJmX3JlZ190b19yZWdudW1fb3Jf ZXJyb3IgKGFyY2gsIHAtPnYucmVnbm8pOwotKwkgICAgVUxPTkdFU1QgcmVnX2JpdHMgPSA4ICog cmVnaXN0ZXJfc2l6ZSAoYXJjaCwgZ2RiX3JlZ251bSk7Ci0gCSAgICBpbnQgb3B0aW0sIHVuYXZh aWw7Ci0tCSAgICBMT05HRVNUIHJlZ19vZmZzZXQgPSBzb3VyY2Vfb2Zmc2V0OwotIAotIAkgICAg aWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAoYXJjaCkgPT0gQkZEX0VORElBTl9CSUcKLS0JCSYmIHRo aXNfc2l6ZSA8IHJlZ2lzdGVyX3NpemUgKGFyY2gsIGdkYl9yZWdudW0pKQotKwkJJiYgcC0+c2l6 ZSA8IHJlZ19iaXRzKQotIAkgICAgICB7Ci0gCQkvKiBCaWctZW5kaWFuLCBhbmQgd2Ugd2FudCBs ZXNzIHRoYW4gZnVsbCBzaXplLiAgKi8KLS0JCXJlZ19vZmZzZXQgPSByZWdpc3Rlcl9zaXplIChh cmNoLCBnZGJfcmVnbnVtKSAtIHRoaXNfc2l6ZTsKLS0JCS8qIFdlIHdhbnQgdGhlIGxvd2VyLW9y ZGVyIFRISVNfU0laRV9CSVRTIG9mIHRoZSBieXRlcwotLQkJICAgd2UgZXh0cmFjdCBmcm9tIHRo ZSByZWdpc3Rlci4gICovCi0tCQlzb3VyY2Vfb2Zmc2V0X2JpdHMgKz0gOCAqIHRoaXNfc2l6ZSAt IHRoaXNfc2l6ZV9iaXRzOwotKwkJc291cmNlX29mZnNldF9iaXRzICs9IHJlZ19iaXRzIC0gcC0+ c2l6ZTsKLSAJICAgICAgfQotKwkgICAgdGhpc19zaXplID0gYml0c190b19ieXRlcyAoc291cmNl X29mZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7Ci0rCSAgICBidWZmZXIucmVzZXJ2ZSAodGhp c19zaXplKTsKLSAKLS0JICAgIGlmICghZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChmcmFtZSwg Z2RiX3JlZ251bSwgcmVnX29mZnNldCwKLSsJICAgIGlmICghZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5 dGVzIChmcmFtZSwgZ2RiX3JlZ251bSwKLSsJCQkJCSAgIHNvdXJjZV9vZmZzZXRfYml0cyAvIDgs Ci0gCQkJCQkgICB0aGlzX3NpemUsIGJ1ZmZlci5kYXRhICgpLAotIAkJCQkJICAgJm9wdGltLCAm dW5hdmFpbCkpCi0gCSAgICAgIHsKLUBAIC0xODQ0LDcgKzE4NTMsNyBAQCByZWFkX3BpZWNlZF92 YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIAkgICAgICB9Ci0gCi0gCSAgICBjb3B5X2JpdHdpc2Ug KGNvbnRlbnRzLCBkZXN0X29mZnNldF9iaXRzLAotLQkJCSAgaW50ZXJtZWRpYXRlX2J1ZmZlciwg c291cmNlX29mZnNldF9iaXRzICUgOCwKLSsJCQkgIGJ1ZmZlci5kYXRhICgpLCBzb3VyY2Vfb2Zm c2V0X2JpdHMgJSA4LAotIAkJCSAgdGhpc19zaXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci0g CSAgfQotIAkgIGJyZWFrOwotQEAgLTE5NjksNyArMTk3OCw3IEBAIHdyaXRlX3BpZWNlZF92YWx1 ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotICAgICAgIGlmICh0aGlz X3NpemVfYml0cyA+IG1heF9vZmZzZXQgLSBvZmZzZXQpCi0gCXRoaXNfc2l6ZV9iaXRzID0gbWF4 X29mZnNldCAtIG9mZnNldDsKLSAKLS0gICAgICB0aGlzX3NpemUgPSAodGhpc19zaXplX2JpdHMg KyBkZXN0X29mZnNldF9iaXRzICUgOCArIDcpIC8gODsKLSsgICAgICB0aGlzX3NpemUgPSBiaXRz X3RvX2J5dGVzIChkZXN0X29mZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7Ci0gICAgICAgc291 cmNlX29mZnNldCA9IHNvdXJjZV9vZmZzZXRfYml0cyAvIDg7Ci0gICAgICAgZGVzdF9vZmZzZXQg PSBkZXN0X29mZnNldF9iaXRzIC8gODsKLSAKLUBAIC0xOTk0LDIwICsyMDAzLDI1IEBAIHdyaXRl X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotIAkg ICAgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lID0gZnJhbWVfZmluZF9ieV9pZCAoYy0+ZnJhbWVf aWQpOwotIAkgICAgc3RydWN0IGdkYmFyY2ggKmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJhbWUp OwotIAkgICAgaW50IGdkYl9yZWdudW0gPSBkd2FyZl9yZWdfdG9fcmVnbnVtX29yX2Vycm9yIChh cmNoLCBwLT52LnJlZ25vKTsKLS0JICAgIGludCByZWdfb2Zmc2V0ID0gZGVzdF9vZmZzZXQ7Ci0r CSAgICBVTE9OR0VTVCByZWdfYml0cyA9IDggKiByZWdpc3Rlcl9zaXplIChhcmNoLCBnZGJfcmVn bnVtKTsKLSAKLSAJICAgIGlmIChnZGJhcmNoX2J5dGVfb3JkZXIgKGFyY2gpID09IEJGRF9FTkRJ QU5fQklHCi0tCQkmJiB0aGlzX3NpemUgPD0gcmVnaXN0ZXJfc2l6ZSAoYXJjaCwgZ2RiX3JlZ251 bSkpCi0rCQkmJiBwLT5zaXplIDw9IHJlZ19iaXRzKQotIAkgICAgICB7Ci0gCQkvKiBCaWctZW5k aWFuLCBhbmQgd2Ugd2FudCBsZXNzIHRoYW4gZnVsbCBzaXplLiAgKi8KLS0JCXJlZ19vZmZzZXQg PSByZWdpc3Rlcl9zaXplIChhcmNoLCBnZGJfcmVnbnVtKSAtIHRoaXNfc2l6ZTsKLSsJCWRlc3Rf b2Zmc2V0X2JpdHMgKz0gcmVnX2JpdHMgLSBwLT5zaXplOwotIAkgICAgICB9Ci0rCSAgICB0aGlz X3NpemUgPSBiaXRzX3RvX2J5dGVzIChkZXN0X29mZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7 Ci0rCSAgICBidWZmZXIucmVzZXJ2ZSAodGhpc19zaXplKTsKLSAKLS0JICAgIGlmIChuZWVkX2Jp dHdpc2UpCi0rCSAgICBpZiAoZGVzdF9vZmZzZXRfYml0cyAlIDggIT0gMCB8fCB0aGlzX3NpemVf Yml0cyAlIDggIT0gMCkKLSAJICAgICAgewotKwkJLyogRGF0YSBpcyBjb3BpZWQgbm9uLWJ5dGUt YWxpZ25lZCBpbnRvIHRoZSByZWdpc3Rlci4KLSsJCSAgIE5lZWQgc29tZSBiaXRzIGZyb20gb3Jp Z2luYWwgcmVnaXN0ZXIgdmFsdWUuICAqLwotIAkJaW50IG9wdGltLCB1bmF2YWlsOwotIAotLQkJ aWYgKCFnZXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMgKGZyYW1lLCBnZGJfcmVnbnVtLCByZWdfb2Zm c2V0LAotKwkJaWYgKCFnZXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMgKGZyYW1lLCBnZGJfcmVnbnVt LAotKwkJCQkJICAgICAgIGRlc3Rfb2Zmc2V0X2JpdHMgLyA4LAotIAkJCQkJICAgICAgIHRoaXNf c2l6ZSwgYnVmZmVyLmRhdGEgKCksCi0gCQkJCQkgICAgICAgJm9wdGltLCAmdW5hdmFpbCkpCi0g CQkgIHsKLUBAIC0yMDIyLDE0ICsyMDM2LDE0IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0 IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotIAkJCQkgICAgICJiaXRmaWVsZDsgY29u dGFpbmluZyB3b3JkICIKLSAJCQkJICAgICAiaXMgdW5hdmFpbGFibGUiKSk7Ci0gCQkgIH0KLS0J CWNvcHlfYml0d2lzZSAoYnVmZmVyLmRhdGEgKCksIGRlc3Rfb2Zmc2V0X2JpdHMsCi0tCQkJICAg ICAgY29udGVudHMsIHNvdXJjZV9vZmZzZXRfYml0cywKLS0JCQkgICAgICB0aGlzX3NpemVfYml0 cywKLS0JCQkgICAgICBiaXRzX2JpZ19lbmRpYW4pOwotIAkgICAgICB9Ci0gCi0tCSAgICBwdXRf ZnJhbWVfcmVnaXN0ZXJfYnl0ZXMgKGZyYW1lLCBnZGJfcmVnbnVtLCByZWdfb2Zmc2V0LCAKLS0J CQkJICAgICAgdGhpc19zaXplLCBzb3VyY2VfYnVmZmVyKTsKLSsJICAgIGNvcHlfYml0d2lzZSAo YnVmZmVyLmRhdGEgKCksIGRlc3Rfb2Zmc2V0X2JpdHMgJSA4LAotKwkJCSAgY29udGVudHMsIHNv dXJjZV9vZmZzZXRfYml0cywKLSsJCQkgIHRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4p OwotKwkgICAgcHV0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChmcmFtZSwgZ2RiX3JlZ251bSwKLSsJ CQkJICAgICAgZGVzdF9vZmZzZXRfYml0cyAvIDgsCi0rCQkJCSAgICAgIHRoaXNfc2l6ZSwgYnVm ZmVyLmRhdGEgKCkpOwotIAkgIH0KLSAJICBicmVhazsKLSAJY2FzZSBEV0FSRl9WQUxVRV9NRU1P Ulk6Ci0jIyMgYS9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwotIyMjIGIvZ2RiL3Rlc3RzdWl0ZS9D aGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTAgQEAKLSAyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8 YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIGdkYi5kd2FyZjIvdmFyLWFjY2Vzcy5l eHA6IEFkZCB0ZXN0IGZvciBub24tYnl0ZS1hbGlnbmVkCi0rCXJlZ2lzdGVyIHBpZWNlcy4KLSsK LSsyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgot KwotIAkqIGdkYi5kd2FyZjIvdmFyLWFjY2Vzcy5leHA6IEFkZCB0ZXN0cyBmb3IgYWNjZXNzaW5n IGJpdC1maWVsZHMKLSAJbG9jYXRlZCBpbiBvbmUgb3IgbW9yZSBEV0FSRiBwaWVjZXMuCi0gCi0t LS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvdmFyLWFjY2Vzcy5leHAKLSsrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmR3YXJmMi92YXItYWNjZXNzLmV4cAotQEAgLTIxNSw2ICsyMTUsMTkgQEAg RHdhcmY6OmFzc2VtYmxlICRhc21fZmlsZSB7Ci0gCQkJcGllY2UgMQotIAkJICAgIH0gU1BFQ0lB TF9leHByfQotIAkJfQotKwkJIyBSZWdpc3RlciBwaWVjZXMgZm9yIGJpdGZpZWxkIGFjY2Vzczog NCBieXRlcyBvcHRpbWl6ZWQKLSsJCSMgb3V0LCAzIGJ5dGVzIGZyb20gcjAsIGFuZCAxIGJ5dGUg ZnJvbSByMS4KLSsJCURXX1RBR192YXJpYWJsZSB7Ci0rCQkgICAge25hbWUgInQyIn0KLSsJCSAg ICB7dHlwZSA6JHN0cnVjdF90X2xhYmVsfQotKwkJICAgIHtsb2NhdGlvbiB7Ci0rCQkJcGllY2Ug NAotKwkJCXJlZ3ggW2xpbmRleCAkZHdhcmZfcmVnbnVtIDBdCi0rCQkJcGllY2UgMwotKwkJCXJl Z3ggW2xpbmRleCAkZHdhcmZfcmVnbnVtIDFdCi0rCQkJcGllY2UgMQotKwkJICAgIH0gU1BFQ0lB TF9leHByfQotKwkJfQotIAkgICAgfQotIAl9Ci0gICAgIH0KLUBAIC0yNzksMyArMjkyLDE1IEBA IHN3aXRjaCAkZW5kaWFuIHsKLSAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwKLSBn ZGJfdGVzdCAicHJpbnQveCBhIiAiID0gXFx7MHgwLCAke3ZhbH0sIDB4MCwgMHgwXFx9IiBcCi0g ICAgICJ2ZXJpZnkgc3QxIHRocm91Z2ggYSIKLSsKLStzd2l0Y2ggJGVuZGlhbiB7IGJpZyB7c2V0 IHZhbCAweDdmZmN9IGxpdHRsZSB7c2V0IHZhbCAweDNmZmUwMH0gfQotK2dkYl90ZXN0X25vX291 dHB1dCAic2V0IHZhciBcJFtsaW5kZXggJHJlZ25hbWUgMF0gPSAkdmFsIiBcCi0rICAgICJpbml0 IHQyLCBmaXJzdCBwaWVjZSIKLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXIgXCRbbGluZGV4 ICRyZWduYW1lIDFdID0gMCIgXAotKyAgICAiaW5pdCB0Miwgc2Vjb25kIHBpZWNlIgotK2dkYl90 ZXN0ICJwcmludC9kIHQyIiAiID0gXFx7dSA9IDxvcHRpbWl6ZWQgb3V0PiwgeCA9IDAsIHkgPSAt MSwgeiA9IDBcXH0iIFwKLSsgICAgImluaXRpYWxpemVkIHQyIGZyb20gcmVncyIKLStnZGJfdGVz dF9ub19vdXRwdXQgInNldCB2YXIgdDIueSA9IDI2NDEiCi0rZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJz ZXQgdmFyIHQyLnogPSAtNDAwIgotK2dkYl90ZXN0X25vX291dHB1dCAic2V0IHZhciB0Mi54ID0g MjAwIgotK2dkYl90ZXN0ICJwcmludCB0Mi54ICsgdDIueSArIHQyLnoiICIgPSAyNDQxIgoKZGlm ZiAtLWdpdCBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMm9mMzUucGF0Y2ggYi9nZGItcmhiejE0 MjAzMDQtczM5MHgtMjJvZjM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2 ODBiYTVkLi4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMm9mMzUucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwyMjYgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVz IDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAy MDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMm9mMzUucGF0Y2gKLQotRmlsZU5h bWU6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMm9mMzUucGF0Y2gKLQotY29tbWl0IDI0MmQzMWFi N2MzOTAxZTAyYmQ2OGMxODI0ZDFkMzYxMGUwMjU2MmIKLUF1dGhvcjogQW5kcmVhcyBBcm5leiA8 YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotRGF0ZTogICBUdWUgSnVuIDEzIDE1OjIwOjMwIDIw MTcgKzAyMDAKLQotICAgIHJlYWQvd3JpdGVfcGllY2VkX3ZhbHVlOiBJbXByb3ZlIGxvZ2ljIGZv ciBidWZmZXIgYWxsb2NhdGlvbgotICAgIAotICAgIFNvIGZhciB0aGUgbWFpbiBsb29wIGluIHJl YWRfcGllY2VkX3ZhbHVlIGFuZCB3cml0ZV9waWVjZWRfdmFsdWUgaXMKLSAgICBzdHJ1Y3R1cmVk IGxpa2UgdGhpczoKLSAgICAKLSAgICAoMSkgUHJlcGFyZSBhIGJ1ZmZlciBhbmQgc29tZSB2YXJp YWJsZXMgd2UgbWF5IG5lZWQ7Ci0gICAgCi0gICAgKDIpIGRlcGVuZGluZyBvbiB0aGUgRFdBUkYg cGllY2UgdHlwZSB0byBiZSBoYW5kbGVkLCB1c2UgdGhlIGJ1ZmZlciBhbmQKLSAgICAgICAgdGhl IHByZXBhcmVkIHZhcmlhYmxlcywgaWdub3JlIHRoZW0sIG9yIGV2ZW4gcmVjYWxjdWxhdGUgdGhl bS4KLSAgICAKLSAgICBUaGlzIGFwcHJvYWNoIHJlZHVjZXMgcmVhZGFiaWxpdHkgYW5kIG1heSBh bHNvIGxlYWQgdG8gdW5uZWNlc3NhcnkgY29weWluZwotICAgIG9mIGRhdGEuICBUaGlzIHBhdGNo IG1vdmVzIHRoZSBwcmVwYXJhdGlvbnMgdG8gdGhlIHBsYWNlcyB3aGVyZSBzdWZmaWNpZW50Ci0g ICAgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGFuZCByZW1vdmVzIHNvbWUgb2YgdGhlIHZhcmlh YmxlcyBpbnZvbHZlZC4KLSAgICAKLSAgICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAg ICAgKiBkd2FyZjJsb2MuYyAocmVhZF9waWVjZWRfdmFsdWUpOiBNb3ZlIHRoZSBidWZmZXIgYWxs b2NhdGlvbiBhbmQKLSAgICAgICAgICAgIHNvbWUgb3RoZXIgcHJlcGFyYXRpb25zIHRvIHRoZSBw bGFjZXMgd2hlcmUgc3VmZmljaWVudCBpbmZvcm1hdGlvbgotICAgICAgICAgICAgaXMgYXZhaWxh YmxlLgotICAgICAgICAgICAgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotCi0jIyMg YS9nZGIvQ2hhbmdlTG9nCi0jIyMgYi9nZGIvQ2hhbmdlTG9nCi0jIyAtMSw1ICsxLDEyIEBACi0g MjAxNy0wNi0xMyAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAK LSsJKiBkd2FyZjJsb2MuYyAocmVhZF9waWVjZWRfdmFsdWUpOiBNb3ZlIHRoZSBidWZmZXIgYWxs b2NhdGlvbiBhbmQKLSsJc29tZSBvdGhlciBwcmVwYXJhdGlvbnMgdG8gdGhlIHBsYWNlcyB3aGVy ZSBzdWZmaWNpZW50IGluZm9ybWF0aW9uCi0rCWlzIGF2YWlsYWJsZS4KLSsJKHdyaXRlX3BpZWNl ZF92YWx1ZSk6IExpa2V3aXNlLgotKwotKzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5l ekBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0gCSogZHdhcmYybG9jLmMgKGJpdHNfdG9fYnl0ZXMp OiBOZXcgZnVuY3Rpb24uCi0gCShyZWFkX3BpZWNlZF92YWx1ZSk6IEZpeCBvZmZzZXQgY2FsY3Vs YXRpb25zIGZvciByZWdpc3RlciBwaWVjZXMKLSAJb24gYmlnLWVuZGlhbiB0YXJnZXRzLgotLS0t IGEvZ2RiL2R3YXJmMmxvYy5jCi0rKysgYi9nZGIvZHdhcmYybG9jLmMKLUBAIC0xNzk0LDggKzE3 OTQsNyBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotICAgICB7Ci0gICAg ICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ldOwotICAgICAgIHNp emVfdCB0aGlzX3NpemUsIHRoaXNfc2l6ZV9iaXRzOwotLSAgICAgIGxvbmcgZGVzdF9vZmZzZXRf Yml0cywgc291cmNlX29mZnNldF9iaXRzLCBzb3VyY2Vfb2Zmc2V0OwotLSAgICAgIGNvbnN0IGdk Yl9ieXRlICppbnRlcm1lZGlhdGVfYnVmZmVyOwotKyAgICAgIGxvbmcgZGVzdF9vZmZzZXRfYml0 cywgc291cmNlX29mZnNldF9iaXRzOwotIAotICAgICAgIC8qIENvbXB1dGUgc2l6ZSwgc291cmNl LCBhbmQgZGVzdGluYXRpb24gb2Zmc2V0cyBmb3IgY29weWluZywgaW4KLSAJIGJpdHMuICAqLwot QEAgLTE4MTMsMTEgKzE4MTIsNiBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2 KQotICAgICAgIGlmICh0aGlzX3NpemVfYml0cyA+IG1heF9vZmZzZXQgLSBvZmZzZXQpCi0gCXRo aXNfc2l6ZV9iaXRzID0gbWF4X29mZnNldCAtIG9mZnNldDsKLSAKLS0gICAgICB0aGlzX3NpemUg PSBiaXRzX3RvX2J5dGVzIChzb3VyY2Vfb2Zmc2V0X2JpdHMsIHRoaXNfc2l6ZV9iaXRzKTsKLS0g ICAgICBidWZmZXIucmVzZXJ2ZSAodGhpc19zaXplKTsKLS0gICAgICBzb3VyY2Vfb2Zmc2V0ID0g c291cmNlX29mZnNldF9iaXRzIC8gODsKLS0gICAgICBpbnRlcm1lZGlhdGVfYnVmZmVyID0gYnVm ZmVyLmRhdGEgKCk7Ci0tCi0gICAgICAgLyogQ29weSBmcm9tIHRoZSBzb3VyY2UgdG8gREVTVF9C VUZGRVIuICAqLwotICAgICAgIHN3aXRjaCAocC0+bG9jYXRpb24pCi0gCXsKLUBAIC0xODQzLDEz ICsxODM3LDExIEBAIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCQkJCQkg ICB0aGlzX3NpemUsIGJ1ZmZlci5kYXRhICgpLAotIAkJCQkJICAgJm9wdGltLCAmdW5hdmFpbCkp Ci0gCSAgICAgIHsKLS0JCS8qIEp1c3Qgc28gZ2FyYmFnZSBkb2Vzbid0IGV2ZXIgc2hpbmUgdGhy b3VnaC4gICovCi0tCQltZW1zZXQgKGJ1ZmZlci5kYXRhICgpLCAwLCB0aGlzX3NpemUpOwotLQot IAkJaWYgKG9wdGltKQotIAkJICBtYXJrX3ZhbHVlX2JpdHNfb3B0aW1pemVkX291dCAodiwgb2Zm c2V0LCB0aGlzX3NpemVfYml0cyk7Ci0gCQlpZiAodW5hdmFpbCkKLSAJCSAgbWFya192YWx1ZV9i aXRzX3VuYXZhaWxhYmxlICh2LCBvZmZzZXQsIHRoaXNfc2l6ZV9iaXRzKTsKLSsJCWJyZWFrOwot IAkgICAgICB9Ci0gCi0gCSAgICBjb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBkZXN0X29mZnNldF9i aXRzLAotQEAgLTE4NTksMTIgKzE4NTEsMTUgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2 YWx1ZSAqdikKLSAJICBicmVhazsKLSAKLSAJY2FzZSBEV0FSRl9WQUxVRV9NRU1PUlk6Ci0rCSAg dGhpc19zaXplID0gYml0c190b19ieXRlcyAoc291cmNlX29mZnNldF9iaXRzLCB0aGlzX3NpemVf Yml0cyk7Ci0rCSAgYnVmZmVyLnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0rCi0gCSAgcmVhZF92YWx1 ZV9tZW1vcnkgKHYsIG9mZnNldCwKLSAJCQkgICAgIHAtPnYubWVtLmluX3N0YWNrX21lbW9yeSwK LS0JCQkgICAgIHAtPnYubWVtLmFkZHIgKyBzb3VyY2Vfb2Zmc2V0LAotKwkJCSAgICAgcC0+di5t ZW0uYWRkciArIHNvdXJjZV9vZmZzZXRfYml0cyAvIDgsCi0gCQkJICAgICBidWZmZXIuZGF0YSAo KSwgdGhpc19zaXplKTsKLSAJICBjb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBkZXN0X29mZnNldF9i aXRzLAotLQkJCWludGVybWVkaWF0ZV9idWZmZXIsIHNvdXJjZV9vZmZzZXRfYml0cyAlIDgsCi0r CQkJYnVmZmVyLmRhdGEgKCksIHNvdXJjZV9vZmZzZXRfYml0cyAlIDgsCi0gCQkJdGhpc19zaXpl X2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci0gCSAgYnJlYWs7Ci0gCi1AQCAtMTg5MiwxOCArMTg4 NywxOCBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIAotIAljYXNlIERX QVJGX1ZBTFVFX0xJVEVSQUw6Ci0gCSAgewotLQkgICAgc2l6ZV90IG4gPSB0aGlzX3NpemU7Ci0r CSAgICBVTE9OR0VTVCBsaXRlcmFsX3NpemVfYml0cyA9IDggKiBwLT52LmxpdGVyYWwubGVuZ3Ro OwotKwkgICAgc2l6ZV90IG4gPSB0aGlzX3NpemVfYml0czsKLSAKLS0JICAgIGlmIChuID4gcC0+ di5saXRlcmFsLmxlbmd0aCAtIHNvdXJjZV9vZmZzZXQpCi0tCSAgICAgIG4gPSAocC0+di5saXRl cmFsLmxlbmd0aCA+PSBzb3VyY2Vfb2Zmc2V0Ci0tCQkgICA/IHAtPnYubGl0ZXJhbC5sZW5ndGgg LSBzb3VyY2Vfb2Zmc2V0Ci0tCQkgICA6IDApOwotLQkgICAgaWYgKG4gIT0gMCkKLS0JICAgICAg aW50ZXJtZWRpYXRlX2J1ZmZlciA9IHAtPnYubGl0ZXJhbC5kYXRhICsgc291cmNlX29mZnNldDsK LSsJICAgIC8qIEN1dCBvZmYgYXQgdGhlIGVuZCBvZiB0aGUgaW1wbGljaXQgdmFsdWUuICAqLwot KwkgICAgaWYgKHNvdXJjZV9vZmZzZXRfYml0cyA+PSBsaXRlcmFsX3NpemVfYml0cykKLSsJICAg ICAgYnJlYWs7Ci0rCSAgICBpZiAobiA+IGxpdGVyYWxfc2l6ZV9iaXRzIC0gc291cmNlX29mZnNl dF9iaXRzKQotKwkgICAgICBuID0gbGl0ZXJhbF9zaXplX2JpdHMgLSBzb3VyY2Vfb2Zmc2V0X2Jp dHM7Ci0gCi0gCSAgICBjb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBkZXN0X29mZnNldF9iaXRzLAot LQkJCSAgaW50ZXJtZWRpYXRlX2J1ZmZlciwgc291cmNlX29mZnNldF9iaXRzICUgOCwKLS0JCQkg IHRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotKwkJCSAgcC0+di5saXRlcmFsLmRh dGEsIHNvdXJjZV9vZmZzZXRfYml0cywKLSsJCQkgIG4sIGJpdHNfYmlnX2VuZGlhbik7Ci0gCSAg fQotIAkgIGJyZWFrOwotIAotQEAgLTE5NjAsOSArMTk1NSw3IEBAIHdyaXRlX3BpZWNlZF92YWx1 ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotICAgICB7Ci0gICAgICAg c3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ldOwotICAgICAgIHNpemVf dCB0aGlzX3NpemVfYml0cywgdGhpc19zaXplOwotLSAgICAgIGxvbmcgZGVzdF9vZmZzZXRfYml0 cywgc291cmNlX29mZnNldF9iaXRzLCBkZXN0X29mZnNldCwgc291cmNlX29mZnNldDsKLS0gICAg ICBpbnQgbmVlZF9iaXR3aXNlOwotLSAgICAgIGNvbnN0IGdkYl9ieXRlICpzb3VyY2VfYnVmZmVy OwotKyAgICAgIGxvbmcgZGVzdF9vZmZzZXRfYml0cywgc291cmNlX29mZnNldF9iaXRzOwotIAot ICAgICAgIHRoaXNfc2l6ZV9iaXRzID0gcC0+c2l6ZTsKLSAgICAgICBpZiAoYml0c190b19za2lw ID4gMCAmJiBiaXRzX3RvX3NraXAgPj0gdGhpc19zaXplX2JpdHMpCi1AQCAtMTk3OCwyNCArMTk3 MSw2IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVl ICpmcm9tKQotICAgICAgIGlmICh0aGlzX3NpemVfYml0cyA+IG1heF9vZmZzZXQgLSBvZmZzZXQp Ci0gCXRoaXNfc2l6ZV9iaXRzID0gbWF4X29mZnNldCAtIG9mZnNldDsKLSAKLS0gICAgICB0aGlz X3NpemUgPSBiaXRzX3RvX2J5dGVzIChkZXN0X29mZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7 Ci0tICAgICAgc291cmNlX29mZnNldCA9IHNvdXJjZV9vZmZzZXRfYml0cyAvIDg7Ci0tICAgICAg ZGVzdF9vZmZzZXQgPSBkZXN0X29mZnNldF9iaXRzIC8gODsKLS0KLS0gICAgICAvKiBDaGVjayB3 aGV0aGVyIHRoZSBkYXRhIGNhbiBiZSB0cmFuc2ZlcnJlZCBieXRlLXdpc2UuICAqLwotLSAgICAg IGlmIChkZXN0X29mZnNldF9iaXRzICUgOCA9PSAwICYmIHNvdXJjZV9vZmZzZXRfYml0cyAlIDgg PT0gMAotLQkgICYmIHRoaXNfc2l6ZV9iaXRzICUgOCA9PSAwKQotLQl7Ci0tCSAgc291cmNlX2J1 ZmZlciA9IGNvbnRlbnRzICsgc291cmNlX29mZnNldDsKLS0JICBuZWVkX2JpdHdpc2UgPSAwOwot LQl9Ci0tICAgICAgZWxzZQotLQl7Ci0tCSAgYnVmZmVyLnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0t CSAgc291cmNlX2J1ZmZlciA9IGJ1ZmZlci5kYXRhICgpOwotLQkgIG5lZWRfYml0d2lzZSA9IDE7 Ci0tCX0KLS0KLSAgICAgICBzd2l0Y2ggKHAtPmxvY2F0aW9uKQotIAl7Ci0gCWNhc2UgRFdBUkZf VkFMVUVfUkVHSVNURVI6Ci1AQCAtMjA0NywyMSArMjAyMiw0NCBAQCB3cml0ZV9waWVjZWRfdmFs dWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkKLSAJICB9Ci0gCSAgYnJl YWs7Ci0gCWNhc2UgRFdBUkZfVkFMVUVfTUVNT1JZOgotLQkgIGlmIChuZWVkX2JpdHdpc2UpCi0t CSAgICB7Ci0tCSAgICAgIC8qIE9ubHkgdGhlIGZpcnN0IGFuZCBsYXN0IGJ5dGVzIGNhbiBwb3Nz aWJseSBoYXZlIGFueQotLQkJIGJpdHMgcmV1c2VkLiAgKi8KLS0JICAgICAgcmVhZF9tZW1vcnkg KHAtPnYubWVtLmFkZHIgKyBkZXN0X29mZnNldCwgYnVmZmVyLmRhdGEgKCksIDEpOwotLQkgICAg ICByZWFkX21lbW9yeSAocC0+di5tZW0uYWRkciArIGRlc3Rfb2Zmc2V0ICsgdGhpc19zaXplIC0g MSwKLS0JCQkgICAmYnVmZmVyW3RoaXNfc2l6ZSAtIDFdLCAxKTsKLS0JICAgICAgY29weV9iaXR3 aXNlIChidWZmZXIuZGF0YSAoKSwgZGVzdF9vZmZzZXRfYml0cyAlIDgsCi0tCQkJICAgIGNvbnRl bnRzLCBzb3VyY2Vfb2Zmc2V0X2JpdHMsCi0tCQkJICAgIHRoaXNfc2l6ZV9iaXRzLAotLQkJCSAg ICBiaXRzX2JpZ19lbmRpYW4pOwotLQkgICAgfQotKwkgIHsKLSsJICAgIENPUkVfQUREUiBzdGFy dF9hZGRyID0gcC0+di5tZW0uYWRkciArIGRlc3Rfb2Zmc2V0X2JpdHMgLyA4OwotKwotKwkgICAg aWYgKGRlc3Rfb2Zmc2V0X2JpdHMgJSA4ID09IDAgJiYgdGhpc19zaXplX2JpdHMgJSA4ID09IDAK LSsJCSYmIHNvdXJjZV9vZmZzZXRfYml0cyAlIDggPT0gMCkKLSsJICAgICAgewotKwkJLyogRXZl cnl0aGluZyBpcyBieXRlLWFsaWduZWQ7IG5vIGJ1ZmZlciBuZWVkZWQuICAqLwotKwkJd3JpdGVf bWVtb3J5IChzdGFydF9hZGRyLAotKwkJCSAgICAgIGNvbnRlbnRzICsgc291cmNlX29mZnNldF9i aXRzIC8gOCwKLSsJCQkgICAgICB0aGlzX3NpemVfYml0cyAvIDgpOwotKwkJYnJlYWs7Ci0rCSAg ICAgIH0KLSsKLSsJICAgIHRoaXNfc2l6ZSA9IGJpdHNfdG9fYnl0ZXMgKGRlc3Rfb2Zmc2V0X2Jp dHMsIHRoaXNfc2l6ZV9iaXRzKTsKLSsJICAgIGJ1ZmZlci5yZXNlcnZlICh0aGlzX3NpemUpOwot IAotLQkgIHdyaXRlX21lbW9yeSAocC0+di5tZW0uYWRkciArIGRlc3Rfb2Zmc2V0LAotLQkJCXNv dXJjZV9idWZmZXIsIHRoaXNfc2l6ZSk7Ci0rCSAgICBpZiAoZGVzdF9vZmZzZXRfYml0cyAlIDgg IT0gMCB8fCB0aGlzX3NpemVfYml0cyAlIDggIT0gMCkKLSsJICAgICAgewotKwkJaWYgKHRoaXNf c2l6ZSA8PSA4KQotKwkJICB7Ci0rCQkgICAgLyogUGVyZm9ybSBhIHNpbmdsZSByZWFkIGZvciBz bWFsbCBzaXplcy4gICovCi0rCQkgICAgcmVhZF9tZW1vcnkgKHN0YXJ0X2FkZHIsIGJ1ZmZlci5k YXRhICgpLCB0aGlzX3NpemUpOwotKwkJICB9Ci0rCQllbHNlCi0rCQkgIHsKLSsJCSAgICAvKiBP bmx5IHRoZSBmaXJzdCBhbmQgbGFzdCBieXRlcyBjYW4gcG9zc2libHkgaGF2ZSBhbnkKLSsJCSAg ICAgICBiaXRzIHJldXNlZC4gICovCi0rCQkgICAgcmVhZF9tZW1vcnkgKHN0YXJ0X2FkZHIsIGJ1 ZmZlci5kYXRhICgpLCAxKTsKLSsJCSAgICByZWFkX21lbW9yeSAoc3RhcnRfYWRkciArIHRoaXNf c2l6ZSAtIDEsCi0rCQkJCSAmYnVmZmVyW3RoaXNfc2l6ZSAtIDFdLCAxKTsKLSsJCSAgfQotKwkg ICAgICB9Ci0rCi0rCSAgICBjb3B5X2JpdHdpc2UgKGJ1ZmZlci5kYXRhICgpLCBkZXN0X29mZnNl dF9iaXRzICUgOCwKLSsJCQkgIGNvbnRlbnRzLCBzb3VyY2Vfb2Zmc2V0X2JpdHMsCi0rCQkJICB0 aGlzX3NpemVfYml0cywgYml0c19iaWdfZW5kaWFuKTsKLSsJICAgIHdyaXRlX21lbW9yeSAoc3Rh cnRfYWRkciwgYnVmZmVyLmRhdGEgKCksIHRoaXNfc2l6ZSk7Ci0rCSAgfQotIAkgIGJyZWFrOwot IAlkZWZhdWx0OgotIAkgIG1hcmtfdmFsdWVfYnl0ZXNfb3B0aW1pemVkX291dCAodG8sIDAsIFRZ UEVfTEVOR1RIICh2YWx1ZV90eXBlICh0bykpKTsKCmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAz MDQtczM5MHgtMjNvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTIzb2YzNS5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWNmOGYxMC4uMDAwMDAwMAotLS0gYS9n ZGItcmhiejE0MjAzMDQtczM5MHgtMjNvZjM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcz ICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1E YXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0 MjAzMDQtczM5MHgtMjNvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5 MHgtMjNvZjM1LnBhdGNoCi0KLWNvbW1pdCA2NWQ4NGI3NjE2NGRjOGVjMWExZjBmMGUwZmQ0MTY2 NzA2NWZmZDRlCi1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNv bT4KLURhdGU6ICAgVHVlIEp1biAxMyAxNToyMDozMSAyMDE3ICswMjAwCi0KLSAgICBSZXNwZWN0 IHBpZWNlIG9mZnNldCBmb3IgRFdfT1BfYml0X3BpZWNlCi0gICAgCi0gICAgU28gZmFyIEdEQiBp Z25vcmVzIHRoZSBwaWVjZSBvZmZzZXQgb2YgYWxsIGtpbmRzIG9mIERXQVJGIGJpdAotICAgIHBp ZWNlcyAoRFdfT1BfYml0X3BpZWNlKSBhbmQgdHJlYXRzIHN1Y2ggcGllY2VzIGFzIGlmIHRoZSBv ZmZzZXQgd2FzIHplcm8uCi0gICAgCi0gICAgVGhpcyBpcyBmaXhlZCwgYW5kIGFuIGFwcHJvcHJp YXRlIHRlc3QgaXMgYWRkZWQuCi0gICAgCi0gICAgZ2RiL0NoYW5nZUxvZzoKLSAgICAKLSAgICAg ICAgICAgICogZHdhcmYybG9jLmMgKHJlYWRfcGllY2VkX3ZhbHVlKTogUmVzcGVjdCB0aGUgcGll Y2Ugb2Zmc2V0LCBhcwotICAgICAgICAgICAgZ2l2ZW4gYnkgRFdfT1BfYml0X3BpZWNlLgotICAg ICAgICAgICAgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotICAgIAotICAgICAgQW5k cmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAKLSAgICAgICAgICAg ICogZ2RiLmR3YXJmMi92YXItYWNjZXNzLmV4cDogQWRkIHRlc3QgZm9yIGNvbXBvc2l0ZSBsb2Nh dGlvbiB3aXRoCi0gICAgICAgICAgICBub256ZXJvIHBpZWNlIG9mZnNldHMuCi0KLSMjIyBhL2dk Yi9DaGFuZ2VMb2cKLSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTEgQEAKLSAyMDE3 LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkq IGR3YXJmMmxvYy5jIChyZWFkX3BpZWNlZF92YWx1ZSk6IFJlc3BlY3QgdGhlIHBpZWNlIG9mZnNl dCwgYXMKLSsJZ2l2ZW4gYnkgRFdfT1BfYml0X3BpZWNlLgotKwkod3JpdGVfcGllY2VkX3ZhbHVl KTogTGlrZXdpc2UuCi0rCi0rMjAxNy0wNi0xMyAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4 LnZuZXQuaWJtLmNvbT4KLSsKLSAJKiBkd2FyZjJsb2MuYyAocmVhZF9waWVjZWRfdmFsdWUpOiBN b3ZlIHRoZSBidWZmZXIgYWxsb2NhdGlvbiBhbmQKLSAJc29tZSBvdGhlciBwcmVwYXJhdGlvbnMg dG8gdGhlIHBsYWNlcyB3aGVyZSBzdWZmaWNpZW50IGluZm9ybWF0aW9uCi0gCWlzIGF2YWlsYWJs ZS4KLS0tLSBhL2dkYi9kd2FyZjJsb2MuYwotKysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMTgy NCwxMSArMTgyNCwxNCBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIAkg ICAgaW50IG9wdGltLCB1bmF2YWlsOwotIAotIAkgICAgaWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAo YXJjaCkgPT0gQkZEX0VORElBTl9CSUcKLS0JCSYmIHAtPnNpemUgPCByZWdfYml0cykKLSsJCSYm IHAtPm9mZnNldCArIHAtPnNpemUgPCByZWdfYml0cykKLSAJICAgICAgewotIAkJLyogQmlnLWVu ZGlhbiwgYW5kIHdlIHdhbnQgbGVzcyB0aGFuIGZ1bGwgc2l6ZS4gICovCi0tCQlzb3VyY2Vfb2Zm c2V0X2JpdHMgKz0gcmVnX2JpdHMgLSBwLT5zaXplOwotKwkJc291cmNlX29mZnNldF9iaXRzICs9 IHJlZ19iaXRzIC0gKHAtPm9mZnNldCArIHAtPnNpemUpOwotIAkgICAgICB9Ci0rCSAgICBlbHNl Ci0rCSAgICAgIHNvdXJjZV9vZmZzZXRfYml0cyArPSBwLT5vZmZzZXQ7Ci0rCi0gCSAgICB0aGlz X3NpemUgPSBiaXRzX3RvX2J5dGVzIChzb3VyY2Vfb2Zmc2V0X2JpdHMsIHRoaXNfc2l6ZV9iaXRz KTsKLSAJICAgIGJ1ZmZlci5yZXNlcnZlICh0aGlzX3NpemUpOwotIAotQEAgLTE4NTEsNiArMTg1 NCw3IEBAIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCSAgYnJlYWs7Ci0g Ci0gCWNhc2UgRFdBUkZfVkFMVUVfTUVNT1JZOgotKwkgIHNvdXJjZV9vZmZzZXRfYml0cyArPSBw LT5vZmZzZXQ7Ci0gCSAgdGhpc19zaXplID0gYml0c190b19ieXRlcyAoc291cmNlX29mZnNldF9i aXRzLCB0aGlzX3NpemVfYml0cyk7Ci0gCSAgYnVmZmVyLnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0g Ci1AQCAtMTg3MSwxMiArMTg3NSwxNSBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVl ICp2KQotIAkgICAgICA9IDggKiBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAocC0+di52YWx1ZSkp OwotIAotIAkgICAgLyogVXNlIHplcm9lcyBpZiBwaWVjZSByZWFjaGVzIGJleW9uZCBzdGFjayB2 YWx1ZS4gICovCi0tCSAgICBpZiAocC0+c2l6ZSA+IHN0YWNrX3ZhbHVlX3NpemVfYml0cykKLSsJ ICAgIGlmIChwLT5vZmZzZXQgKyBwLT5zaXplID4gc3RhY2tfdmFsdWVfc2l6ZV9iaXRzKQotIAkg ICAgICBicmVhazsKLSAKLSAJICAgIC8qIFBpZWNlIGlzIGFuY2hvcmVkIGF0IGxlYXN0IHNpZ25p ZmljYW50IGJpdCBlbmQuICAqLwotIAkgICAgaWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAob2JqZmls ZV9nZGJhcmNoKSA9PSBCRkRfRU5ESUFOX0JJRykKLS0JICAgICAgc291cmNlX29mZnNldF9iaXRz ICs9IHN0YWNrX3ZhbHVlX3NpemVfYml0cyAtIHAtPnNpemU7Ci0rCSAgICAgIHNvdXJjZV9vZmZz ZXRfYml0cyArPSAoc3RhY2tfdmFsdWVfc2l6ZV9iaXRzCi0rCQkJCSAgICAgLSBwLT5vZmZzZXQg LSBwLT5zaXplKTsKLSsJICAgIGVsc2UKLSsJICAgICAgc291cmNlX29mZnNldF9iaXRzICs9IHAt Pm9mZnNldDsKLSAKLSAJICAgIGNvcHlfYml0d2lzZSAoY29udGVudHMsIGRlc3Rfb2Zmc2V0X2Jp dHMsCi0gCQkJICB2YWx1ZV9jb250ZW50c19hbGwgKHAtPnYudmFsdWUpLAotQEAgLTE4OTEsNiAr MTg5OCw3IEBAIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCSAgICBzaXpl X3QgbiA9IHRoaXNfc2l6ZV9iaXRzOwotIAotIAkgICAgLyogQ3V0IG9mZiBhdCB0aGUgZW5kIG9m IHRoZSBpbXBsaWNpdCB2YWx1ZS4gICovCi0rCSAgICBzb3VyY2Vfb2Zmc2V0X2JpdHMgKz0gcC0+ b2Zmc2V0OwotIAkgICAgaWYgKHNvdXJjZV9vZmZzZXRfYml0cyA+PSBsaXRlcmFsX3NpemVfYml0 cykKLSAJICAgICAgYnJlYWs7Ci0gCSAgICBpZiAobiA+IGxpdGVyYWxfc2l6ZV9iaXRzIC0gc291 cmNlX29mZnNldF9iaXRzKQotQEAgLTE5ODEsMTEgKzE5ODksMTQgQEAgd3JpdGVfcGllY2VkX3Zh bHVlIChzdHJ1Y3QgdmFsdWUgKnRvLCBzdHJ1Y3QgdmFsdWUgKmZyb20pCi0gCSAgICBVTE9OR0VT VCByZWdfYml0cyA9IDggKiByZWdpc3Rlcl9zaXplIChhcmNoLCBnZGJfcmVnbnVtKTsKLSAKLSAJ ICAgIGlmIChnZGJhcmNoX2J5dGVfb3JkZXIgKGFyY2gpID09IEJGRF9FTkRJQU5fQklHCi0tCQkm JiBwLT5zaXplIDw9IHJlZ19iaXRzKQotKwkJJiYgcC0+b2Zmc2V0ICsgcC0+c2l6ZSA8IHJlZ19i aXRzKQotIAkgICAgICB7Ci0gCQkvKiBCaWctZW5kaWFuLCBhbmQgd2Ugd2FudCBsZXNzIHRoYW4g ZnVsbCBzaXplLiAgKi8KLS0JCWRlc3Rfb2Zmc2V0X2JpdHMgKz0gcmVnX2JpdHMgLSBwLT5zaXpl OwotKwkJZGVzdF9vZmZzZXRfYml0cyArPSByZWdfYml0cyAtIChwLT5vZmZzZXQgKyBwLT5zaXpl KTsKLSAJICAgICAgfQotKwkgICAgZWxzZQotKwkgICAgICBkZXN0X29mZnNldF9iaXRzICs9IHAt Pm9mZnNldDsKLSsKLSAJICAgIHRoaXNfc2l6ZSA9IGJpdHNfdG9fYnl0ZXMgKGRlc3Rfb2Zmc2V0 X2JpdHMsIHRoaXNfc2l6ZV9iaXRzKTsKLSAJICAgIGJ1ZmZlci5yZXNlcnZlICh0aGlzX3NpemUp OwotIAotQEAgLTIwMjMsNiArMjAzNCw4IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZh bHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotIAkgIGJyZWFrOwotIAljYXNlIERXQVJGX1ZB TFVFX01FTU9SWToKLSAJICB7Ci0rCSAgICBkZXN0X29mZnNldF9iaXRzICs9IHAtPm9mZnNldDsK LSsKLSAJICAgIENPUkVfQUREUiBzdGFydF9hZGRyID0gcC0+di5tZW0uYWRkciArIGRlc3Rfb2Zm c2V0X2JpdHMgLyA4OwotIAotIAkgICAgaWYgKGRlc3Rfb2Zmc2V0X2JpdHMgJSA4ID09IDAgJiYg dGhpc19zaXplX2JpdHMgJSA4ID09IDAKLS0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi92 YXItYWNjZXNzLmV4cAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3Zhci1hY2Nlc3Mu ZXhwCi1AQCAtMjI4LDYgKzIyOCwyNCBAQCBEd2FyZjo6YXNzZW1ibGUgJGFzbV9maWxlIHsKLSAJ CQlwaWVjZSAxCi0gCQkgICAgfSBTUEVDSUFMX2V4cHJ9Ci0gCQl9Ci0rCQkjIE9uZSBwaWVjZSBw ZXIgYml0ZmllbGQsIHVzaW5nIHBpZWNlIG9mZnNldHM6IDMyIGJpdHMgb2YKLSsJCSMgYW4gaW1w bGljaXQgdmFsdWUsIDkgYml0cyBvZiBhIHN0YWNrIHZhbHVlLCAxMyBiaXRzIG9mCi0rCQkjIHIw LCBhbmQgMTAgYml0cyBvZiBidWYuCi0rCQlEV19UQUdfdmFyaWFibGUgewotKwkJICAgIHtuYW1l ICJ0MyJ9Ci0rCQkgICAge3R5cGUgOiRzdHJ1Y3RfdF9sYWJlbH0KLSsJCSAgICB7bG9jYXRpb24g ewotKwkJCWltcGxpY2l0X3ZhbHVlIDB4MTIgMHgzNCAweDU2IDB4NzggMHg5YQotKwkJCWJpdF9w aWVjZSAzMiA0Ci0rCQkJY29uc3QycyAtMjgwCi0rCQkJc3RhY2tfdmFsdWUKLSsJCQliaXRfcGll Y2UgOSAyCi0rCQkJcmVneCBbbGluZGV4ICRkd2FyZl9yZWdudW0gMF0KLSsJCQliaXRfcGllY2Ug MTMgMTQKLSsJCQlhZGRyICRidWZfdmFyCi0rCQkJYml0X3BpZWNlIDEwIDQyCi0rCQkgICAgfSBT UEVDSUFMX2V4cHJ9Ci0rCQl9Ci0gCSAgICB9Ci0gCX0KLSAgICAgfQotQEAgLTMwNCwzICszMjIs MjQgQEAgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgdmFyIHQyLnkgPSAyNjQxIgotIGdkYl90ZXN0 X25vX291dHB1dCAic2V0IHZhciB0Mi56ID0gLTQwMCIKLSBnZGJfdGVzdF9ub19vdXRwdXQgInNl dCB2YXIgdDIueCA9IDIwMCIKLSBnZGJfdGVzdCAicHJpbnQgdDIueCArIHQyLnkgKyB0Mi56IiAi ID0gMjQ0MSIKLSsKLSsjIEJpdGZpZWxkIGFjY2VzcyB0aHJvdWdoIHBpZWNlcyB3aXRoIG5vbnpl cm8gcGllY2Ugb2Zmc2V0cy4KLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXIgXCRbbGluZGV4 ICRyZWduYW1lIDBdID0gMHhhODAwMCIgXAotKyAgICAiaW5pdCByZWcgZm9yIHQzLnkiCi0rZ2Ri X3Rlc3Rfbm9fb3V0cHV0ICJzZXQgdmFyICooY2hhciBcWzJcXSAqKSAoYSArIDUpID0geyA3MCwg ODIgfSIgXAotKyAgICAiaW5pdCBtZW0gZm9yIHQzLnoiCi0rc3dpdGNoICRlbmRpYW4gewotKyAg ICBsaXR0bGUge3NldCB2YWwgInUgPSAtMTQ4NDQzMDUyNywgeCA9IC03MCwgeSA9IDQyLCB6ID0g MTQ1In0KLSsgICAgYmlnIHtzZXQgdmFsICJ1ID0gNTkxNzUxMDQ5LCB4ID0gLTcwLCB5ID0gNDIs IHogPSAxMDEifQotK30KLStnZGJfdGVzdCAicHJpbnQgdDMiICIgPSBcXHskdmFsXFx9IiBcCi0r ICAgICJpbml0aWFsaXplZCB0MyBmcm9tIHJlZyBhbmQgbWVtIgotK2dkYl90ZXN0X25vX291dHB1 dCAic2V0IHZhciB0My55ID0gLTEiIFwKLSsgICAgIm92ZXJ3cml0ZSB0My55IgotK2dkYl90ZXN0 ICJwcmludC94IFwkW2xpbmRleCAkcmVnbmFtZSAwXSIgIiA9IDB4N2ZmYzAwMCIgXAotKyAgICAi dmVyaWZ5IHQzLnkgdGhyb3VnaCByZWciCi0rZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgdmFyIHQz LnogPSAtNjE0IiBcCi0rICAgICJvdmVyd3JpdGUgdDMueiIKLStzd2l0Y2ggJGVuZGlhbiB7Ymln IHtzZXQgdmFsICIweDU5LCAweGEyIn0gbGl0dGxlIHtzZXQgdmFsICIweDZhLCAweDU2In19Ci0r Z2RiX3Rlc3QgInByaW50L3ggKihjaGFyIFxbMlxdICopIChhICsgNSkiICIgPSBcXHskdmFsXFx9 IiBcCi0rICAgICJ2ZXJpZnkgdDMueiB0aHJvdWdoIG1lbSIKCmRpZmYgLS1naXQgYS9nZGItcmhi ejE0MjAzMDQtczM5MHgtMjRvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTI0b2Yz NS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmM2YjNmYi4uMDAwMDAwMAot LS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMjRvZjM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMjk2ICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5j b20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGIt cmhiejE0MjAzMDQtczM5MHgtMjRvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAz MDQtczM5MHgtMjRvZjM1LnBhdGNoCi0KLWNvbW1pdCBmMjM2NTMzZTNjNmEyNjkzYmVhODc5YjJh NGQyNGQxMjI5ODY0YWM5Ci1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQu aWJtLmNvbT4KLURhdGU6ICAgVHVlIEp1biAxMyAxNToyMDozMSAyMDE3ICswMjAwCi0KLSAgICBy ZWFkL3dyaXRlX3BpZWNlZF92YWx1ZTogUmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlIGNvcGll cwotICAgIAotICAgIEluIHJlYWRfcGllY2VkX3ZhbHVlJ3MgbWFpbiBsb29wLCB0aGUgdmFyaWFi bGVzIGBkZXN0X29mZnNldF9iaXRzJyBhbmQKLSAgICBgc291cmNlX29mZnNldF9iaXRzJyBhcmUg YmFzaWNhbGx5IGp1c3QgY29waWVzIG9mIGBvZmZzZXQnIGFuZAotICAgIGBiaXRzX3RvX3NraXAn LCByZXNwZWN0aXZlbHkuICBJbiB3cml0ZV9waWVjZWRfdmFsdWUgdGhlIGNvcGllcyBhcmUKLSAg ICByZXZlcnNlZC4gIFRoaXMgaXMgbm90IHZlcnkgaGVscGZ1bCB3aGVuIHRyeWluZyB0byBrZWVw IHRoZSBsb2dpYyBiZXR3ZWVuCi0gICAgdGhlc2UgZnVuY3Rpb25zIGluIHN5bmMuICBTaW5jZSB0 aGUgY29waWVzIGFyZSB1bm5lY2Vzc2FyeSwgdGhpcyBwYXRjaAotICAgIGp1c3QgcmVtb3ZlcyB0 aGVtLgotICAgIAotICAgIGdkYi9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgICAgICAgICAqIGR3YXJm MmxvYy5jIChyZWFkX3BpZWNlZF92YWx1ZSk6IFJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZXMK LSAgICAgICAgICAgIGRlc3Rfb2Zmc2V0X2JpdHMgYW5kIHNvdXJjZV9vZmZzZXRfYml0cy4KLSAg ICAgICAgICAgICh3cml0ZV9waWVjZWRfdmFsdWUpOiBMaWtld2lzZS4KLQotIyMjIGEvZ2RiL0No YW5nZUxvZwotIyMjIGIvZ2RiL0NoYW5nZUxvZwotIyMgLTEsNSArMSwxMSBAQAotIDIwMTctMDYt MTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0gCi0rCSogZHdh cmYybG9jLmMgKHJlYWRfcGllY2VkX3ZhbHVlKTogUmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxl cwotKwlkZXN0X29mZnNldF9iaXRzIGFuZCBzb3VyY2Vfb2Zmc2V0X2JpdHMuCi0rCSh3cml0ZV9w aWVjZWRfdmFsdWUpOiBMaWtld2lzZS4KLSsKLSsyMDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8 YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotKwotIAkqIGR3YXJmMmxvYy5jIChyZWFkX3BpZWNl ZF92YWx1ZSk6IFJlc3BlY3QgdGhlIHBpZWNlIG9mZnNldCwgYXMKLSAJZ2l2ZW4gYnkgRFdfT1Bf Yml0X3BpZWNlLgotIAkod3JpdGVfcGllY2VkX3ZhbHVlKTogTGlrZXdpc2UuCi0tLS0gYS9nZGIv ZHdhcmYybG9jLmMKLSsrKyBiL2dkYi9kd2FyZjJsb2MuYwotQEAgLTE3OTAsMjUgKzE3OTAsMTYg QEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAgIGVsc2UKLSAgICAgbWF4 X29mZnNldCA9IDggKiBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAodikpOwotIAotLSAgZm9yIChp ID0gMDsgaSA8IGMtPm5fcGllY2VzICYmIG9mZnNldCA8IG1heF9vZmZzZXQ7IGkrKykKLSsgIC8q IEFkdmFuY2UgdG8gdGhlIGZpcnN0IG5vbi1za2lwcGVkIHBpZWNlLiAgKi8KLSsgIGZvciAoaSA9 IDA7IGkgPCBjLT5uX3BpZWNlcyAmJiBiaXRzX3RvX3NraXAgPj0gYy0+cGllY2VzW2ldLnNpemU7 IGkrKykKLSsgICAgYml0c190b19za2lwIC09IGMtPnBpZWNlc1tpXS5zaXplOwotKwotKyAgZm9y ICg7IGkgPCBjLT5uX3BpZWNlcyAmJiBvZmZzZXQgPCBtYXhfb2Zmc2V0OyBpKyspCi0gICAgIHsK LSAgICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9ICZjLT5waWVjZXNbaV07Ci0gICAg ICAgc2l6ZV90IHRoaXNfc2l6ZSwgdGhpc19zaXplX2JpdHM7Ci0tICAgICAgbG9uZyBkZXN0X29m ZnNldF9iaXRzLCBzb3VyY2Vfb2Zmc2V0X2JpdHM7Ci0tCi0tICAgICAgLyogQ29tcHV0ZSBzaXpl LCBzb3VyY2UsIGFuZCBkZXN0aW5hdGlvbiBvZmZzZXRzIGZvciBjb3B5aW5nLCBpbgotLQkgYml0 cy4gICovCi0tICAgICAgdGhpc19zaXplX2JpdHMgPSBwLT5zaXplOwotLSAgICAgIGlmIChiaXRz X3RvX3NraXAgPiAwICYmIGJpdHNfdG9fc2tpcCA+PSB0aGlzX3NpemVfYml0cykKLS0JewotLQkg IGJpdHNfdG9fc2tpcCAtPSB0aGlzX3NpemVfYml0czsKLS0JICBjb250aW51ZTsKLS0JfQotLSAg ICAgIHNvdXJjZV9vZmZzZXRfYml0cyA9IGJpdHNfdG9fc2tpcDsKLS0gICAgICB0aGlzX3NpemVf Yml0cyAtPSBiaXRzX3RvX3NraXA7Ci0tICAgICAgYml0c190b19za2lwID0gMDsKLS0gICAgICBk ZXN0X29mZnNldF9iaXRzID0gb2Zmc2V0OwotIAotKyAgICAgIHRoaXNfc2l6ZV9iaXRzID0gcC0+ c2l6ZSAtIGJpdHNfdG9fc2tpcDsKLSAgICAgICBpZiAodGhpc19zaXplX2JpdHMgPiBtYXhfb2Zm c2V0IC0gb2Zmc2V0KQotIAl0aGlzX3NpemVfYml0cyA9IG1heF9vZmZzZXQgLSBvZmZzZXQ7Ci0g Ci1AQCAtMTgyNywxNiArMTgxOCwxNiBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVl ICp2KQotIAkJJiYgcC0+b2Zmc2V0ICsgcC0+c2l6ZSA8IHJlZ19iaXRzKQotIAkgICAgICB7Ci0g CQkvKiBCaWctZW5kaWFuLCBhbmQgd2Ugd2FudCBsZXNzIHRoYW4gZnVsbCBzaXplLiAgKi8KLS0J CXNvdXJjZV9vZmZzZXRfYml0cyArPSByZWdfYml0cyAtIChwLT5vZmZzZXQgKyBwLT5zaXplKTsK LSsJCWJpdHNfdG9fc2tpcCArPSByZWdfYml0cyAtIChwLT5vZmZzZXQgKyBwLT5zaXplKTsKLSAJ ICAgICAgfQotIAkgICAgZWxzZQotLQkgICAgICBzb3VyY2Vfb2Zmc2V0X2JpdHMgKz0gcC0+b2Zm c2V0OwotKwkgICAgICBiaXRzX3RvX3NraXAgKz0gcC0+b2Zmc2V0OwotIAotLQkgICAgdGhpc19z aXplID0gYml0c190b19ieXRlcyAoc291cmNlX29mZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7 Ci0rCSAgICB0aGlzX3NpemUgPSBiaXRzX3RvX2J5dGVzIChiaXRzX3RvX3NraXAsIHRoaXNfc2l6 ZV9iaXRzKTsKLSAJICAgIGJ1ZmZlci5yZXNlcnZlICh0aGlzX3NpemUpOwotIAotIAkgICAgaWYg KCFnZXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMgKGZyYW1lLCBnZGJfcmVnbnVtLAotLQkJCQkJICAg c291cmNlX29mZnNldF9iaXRzIC8gOCwKLSsJCQkJCSAgIGJpdHNfdG9fc2tpcCAvIDgsCi0gCQkJ CQkgICB0aGlzX3NpemUsIGJ1ZmZlci5kYXRhICgpLAotIAkJCQkJICAgJm9wdGltLCAmdW5hdmFp bCkpCi0gCSAgICAgIHsKLUBAIC0xODQ2LDI0ICsxODM3LDIzIEBAIHJlYWRfcGllY2VkX3ZhbHVl IChzdHJ1Y3QgdmFsdWUgKnYpCi0gCQkgIG1hcmtfdmFsdWVfYml0c191bmF2YWlsYWJsZSAodiwg b2Zmc2V0LCB0aGlzX3NpemVfYml0cyk7Ci0gCQlicmVhazsKLSAJICAgICAgfQotLQotLQkgICAg Y29weV9iaXR3aXNlIChjb250ZW50cywgZGVzdF9vZmZzZXRfYml0cywKLS0JCQkgIGJ1ZmZlci5k YXRhICgpLCBzb3VyY2Vfb2Zmc2V0X2JpdHMgJSA4LAotKwkgICAgY29weV9iaXR3aXNlIChjb250 ZW50cywgb2Zmc2V0LAotKwkJCSAgYnVmZmVyLmRhdGEgKCksIGJpdHNfdG9fc2tpcCAlIDgsCi0g CQkJICB0aGlzX3NpemVfYml0cywgYml0c19iaWdfZW5kaWFuKTsKLSAJICB9Ci0gCSAgYnJlYWs7 Ci0gCi0gCWNhc2UgRFdBUkZfVkFMVUVfTUVNT1JZOgotLQkgIHNvdXJjZV9vZmZzZXRfYml0cyAr PSBwLT5vZmZzZXQ7Ci0tCSAgdGhpc19zaXplID0gYml0c190b19ieXRlcyAoc291cmNlX29mZnNl dF9iaXRzLCB0aGlzX3NpemVfYml0cyk7Ci0rCSAgYml0c190b19za2lwICs9IHAtPm9mZnNldDsK LSsJICB0aGlzX3NpemUgPSBiaXRzX3RvX2J5dGVzIChiaXRzX3RvX3NraXAsIHRoaXNfc2l6ZV9i aXRzKTsKLSAJICBidWZmZXIucmVzZXJ2ZSAodGhpc19zaXplKTsKLSAKLSAJICByZWFkX3ZhbHVl X21lbW9yeSAodiwgb2Zmc2V0LAotIAkJCSAgICAgcC0+di5tZW0uaW5fc3RhY2tfbWVtb3J5LAot LQkJCSAgICAgcC0+di5tZW0uYWRkciArIHNvdXJjZV9vZmZzZXRfYml0cyAvIDgsCi0rCQkJICAg ICBwLT52Lm1lbS5hZGRyICsgYml0c190b19za2lwIC8gOCwKLSAJCQkgICAgIGJ1ZmZlci5kYXRh ICgpLCB0aGlzX3NpemUpOwotLQkgIGNvcHlfYml0d2lzZSAoY29udGVudHMsIGRlc3Rfb2Zmc2V0 X2JpdHMsCi0tCQkJYnVmZmVyLmRhdGEgKCksIHNvdXJjZV9vZmZzZXRfYml0cyAlIDgsCi0rCSAg Y29weV9iaXR3aXNlIChjb250ZW50cywgb2Zmc2V0LAotKwkJCWJ1ZmZlci5kYXRhICgpLCBiaXRz X3RvX3NraXAgJSA4LAotIAkJCXRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotIAkg IGJyZWFrOwotIAotQEAgLTE4ODAsMTQgKzE4NzAsMTMgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0 cnVjdCB2YWx1ZSAqdikKLSAKLSAJICAgIC8qIFBpZWNlIGlzIGFuY2hvcmVkIGF0IGxlYXN0IHNp Z25pZmljYW50IGJpdCBlbmQuICAqLwotIAkgICAgaWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAob2Jq ZmlsZV9nZGJhcmNoKSA9PSBCRkRfRU5ESUFOX0JJRykKLS0JICAgICAgc291cmNlX29mZnNldF9i aXRzICs9IChzdGFja192YWx1ZV9zaXplX2JpdHMKLS0JCQkJICAgICAtIHAtPm9mZnNldCAtIHAt PnNpemUpOwotKwkgICAgICBiaXRzX3RvX3NraXAgKz0gc3RhY2tfdmFsdWVfc2l6ZV9iaXRzIC0g cC0+b2Zmc2V0IC0gcC0+c2l6ZTsKLSAJICAgIGVsc2UKLS0JICAgICAgc291cmNlX29mZnNldF9i aXRzICs9IHAtPm9mZnNldDsKLSsJICAgICAgYml0c190b19za2lwICs9IHAtPm9mZnNldDsKLSAK LS0JICAgIGNvcHlfYml0d2lzZSAoY29udGVudHMsIGRlc3Rfb2Zmc2V0X2JpdHMsCi0rCSAgICBj b3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBvZmZzZXQsCi0gCQkJICB2YWx1ZV9jb250ZW50c19hbGwg KHAtPnYudmFsdWUpLAotLQkJCSAgc291cmNlX29mZnNldF9iaXRzLAotKwkJCSAgYml0c190b19z a2lwLAotIAkJCSAgdGhpc19zaXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci0gCSAgfQotIAkg IGJyZWFrOwotQEAgLTE4OTgsMTQgKzE4ODcsMTQgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVj dCB2YWx1ZSAqdikKLSAJICAgIHNpemVfdCBuID0gdGhpc19zaXplX2JpdHM7Ci0gCi0gCSAgICAv KiBDdXQgb2ZmIGF0IHRoZSBlbmQgb2YgdGhlIGltcGxpY2l0IHZhbHVlLiAgKi8KLS0JICAgIHNv dXJjZV9vZmZzZXRfYml0cyArPSBwLT5vZmZzZXQ7Ci0tCSAgICBpZiAoc291cmNlX29mZnNldF9i aXRzID49IGxpdGVyYWxfc2l6ZV9iaXRzKQotKwkgICAgYml0c190b19za2lwICs9IHAtPm9mZnNl dDsKLSsJICAgIGlmIChiaXRzX3RvX3NraXAgPj0gbGl0ZXJhbF9zaXplX2JpdHMpCi0gCSAgICAg IGJyZWFrOwotLQkgICAgaWYgKG4gPiBsaXRlcmFsX3NpemVfYml0cyAtIHNvdXJjZV9vZmZzZXRf Yml0cykKLS0JICAgICAgbiA9IGxpdGVyYWxfc2l6ZV9iaXRzIC0gc291cmNlX29mZnNldF9iaXRz OwotKwkgICAgaWYgKG4gPiBsaXRlcmFsX3NpemVfYml0cyAtIGJpdHNfdG9fc2tpcCkKLSsJICAg ICAgbiA9IGxpdGVyYWxfc2l6ZV9iaXRzIC0gYml0c190b19za2lwOwotIAotLQkgICAgY29weV9i aXR3aXNlIChjb250ZW50cywgZGVzdF9vZmZzZXRfYml0cywKLS0JCQkgIHAtPnYubGl0ZXJhbC5k YXRhLCBzb3VyY2Vfb2Zmc2V0X2JpdHMsCi0rCSAgICBjb3B5X2JpdHdpc2UgKGNvbnRlbnRzLCBv ZmZzZXQsCi0rCQkJICBwLT52LmxpdGVyYWwuZGF0YSwgYml0c190b19za2lwLAotIAkJCSAgbiwg Yml0c19iaWdfZW5kaWFuKTsKLSAJICB9Ci0gCSAgYnJlYWs7Ci1AQCAtMTkyNCw2ICsxOTEzLDcg QEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAJfQotIAotICAgICAgIG9m ZnNldCArPSB0aGlzX3NpemVfYml0czsKLSsgICAgICBiaXRzX3RvX3NraXAgPSAwOwotICAgICB9 Ci0gfQotIAotQEAgLTE5NTksMjMgKzE5NDksMTYgQEAgd3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1 Y3QgdmFsdWUgKnRvLCBzdHJ1Y3QgdmFsdWUgKmZyb20pCi0gICBlbHNlCi0gICAgIG1heF9vZmZz ZXQgPSA4ICogVFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKHRvKSk7Ci0gCi0tICBmb3IgKGkgPSAw OyBpIDwgYy0+bl9waWVjZXMgJiYgb2Zmc2V0IDwgbWF4X29mZnNldDsgaSsrKQotKyAgLyogQWR2 YW5jZSB0byB0aGUgZmlyc3Qgbm9uLXNraXBwZWQgcGllY2UuICAqLwotKyAgZm9yIChpID0gMDsg aSA8IGMtPm5fcGllY2VzICYmIGJpdHNfdG9fc2tpcCA+PSBjLT5waWVjZXNbaV0uc2l6ZTsgaSsr KQotKyAgICBiaXRzX3RvX3NraXAgLT0gYy0+cGllY2VzW2ldLnNpemU7Ci0rCi0rICBmb3IgKDsg aSA8IGMtPm5fcGllY2VzICYmIG9mZnNldCA8IG1heF9vZmZzZXQ7IGkrKykKLSAgICAgewotICAg ICAgIHN0cnVjdCBkd2FyZl9leHByX3BpZWNlICpwID0gJmMtPnBpZWNlc1tpXTsKLSAgICAgICBz aXplX3QgdGhpc19zaXplX2JpdHMsIHRoaXNfc2l6ZTsKLS0gICAgICBsb25nIGRlc3Rfb2Zmc2V0 X2JpdHMsIHNvdXJjZV9vZmZzZXRfYml0czsKLS0KLS0gICAgICB0aGlzX3NpemVfYml0cyA9IHAt PnNpemU7Ci0tICAgICAgaWYgKGJpdHNfdG9fc2tpcCA+IDAgJiYgYml0c190b19za2lwID49IHRo aXNfc2l6ZV9iaXRzKQotLQl7Ci0tCSAgYml0c190b19za2lwIC09IHRoaXNfc2l6ZV9iaXRzOwot LQkgIGNvbnRpbnVlOwotLQl9Ci0tICAgICAgZGVzdF9vZmZzZXRfYml0cyA9IGJpdHNfdG9fc2tp cDsKLS0gICAgICB0aGlzX3NpemVfYml0cyAtPSBiaXRzX3RvX3NraXA7Ci0tICAgICAgYml0c190 b19za2lwID0gMDsKLS0gICAgICBzb3VyY2Vfb2Zmc2V0X2JpdHMgPSBvZmZzZXQ7Ci0gCi0rICAg ICAgdGhpc19zaXplX2JpdHMgPSBwLT5zaXplIC0gYml0c190b19za2lwOwotICAgICAgIGlmICh0 aGlzX3NpemVfYml0cyA+IG1heF9vZmZzZXQgLSBvZmZzZXQpCi0gCXRoaXNfc2l6ZV9iaXRzID0g bWF4X29mZnNldCAtIG9mZnNldDsKLSAKLUBAIC0xOTkyLDIyICsxOTc1LDIyIEBAIHdyaXRlX3Bp ZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotIAkJJiYg cC0+b2Zmc2V0ICsgcC0+c2l6ZSA8IHJlZ19iaXRzKQotIAkgICAgICB7Ci0gCQkvKiBCaWctZW5k aWFuLCBhbmQgd2Ugd2FudCBsZXNzIHRoYW4gZnVsbCBzaXplLiAgKi8KLS0JCWRlc3Rfb2Zmc2V0 X2JpdHMgKz0gcmVnX2JpdHMgLSAocC0+b2Zmc2V0ICsgcC0+c2l6ZSk7Ci0rCQliaXRzX3RvX3Nr aXAgKz0gcmVnX2JpdHMgLSAocC0+b2Zmc2V0ICsgcC0+c2l6ZSk7Ci0gCSAgICAgIH0KLSAJICAg IGVsc2UKLS0JICAgICAgZGVzdF9vZmZzZXRfYml0cyArPSBwLT5vZmZzZXQ7Ci0rCSAgICAgIGJp dHNfdG9fc2tpcCArPSBwLT5vZmZzZXQ7Ci0gCi0tCSAgICB0aGlzX3NpemUgPSBiaXRzX3RvX2J5 dGVzIChkZXN0X29mZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7Ci0rCSAgICB0aGlzX3NpemUg PSBiaXRzX3RvX2J5dGVzIChiaXRzX3RvX3NraXAsIHRoaXNfc2l6ZV9iaXRzKTsKLSAJICAgIGJ1 ZmZlci5yZXNlcnZlICh0aGlzX3NpemUpOwotIAotLQkgICAgaWYgKGRlc3Rfb2Zmc2V0X2JpdHMg JSA4ICE9IDAgfHwgdGhpc19zaXplX2JpdHMgJSA4ICE9IDApCi0rCSAgICBpZiAoYml0c190b19z a2lwICUgOCAhPSAwIHx8IHRoaXNfc2l6ZV9iaXRzICUgOCAhPSAwKQotIAkgICAgICB7Ci0gCQkv KiBEYXRhIGlzIGNvcGllZCBub24tYnl0ZS1hbGlnbmVkIGludG8gdGhlIHJlZ2lzdGVyLgotIAkJ ICAgTmVlZCBzb21lIGJpdHMgZnJvbSBvcmlnaW5hbCByZWdpc3RlciB2YWx1ZS4gICovCi0gCQlp bnQgb3B0aW0sIHVuYXZhaWw7Ci0gCi0gCQlpZiAoIWdldF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyAo ZnJhbWUsIGdkYl9yZWdudW0sCi0tCQkJCQkgICAgICAgZGVzdF9vZmZzZXRfYml0cyAvIDgsCi0r CQkJCQkgICAgICAgYml0c190b19za2lwIC8gOCwKLSAJCQkJCSAgICAgICB0aGlzX3NpemUsIGJ1 ZmZlci5kYXRhICgpLAotIAkJCQkJICAgICAgICZvcHRpbSwgJnVuYXZhaWwpKQotIAkJICB7Ci1A QCAtMjAyNCwzNCArMjAwNywzNCBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAq dG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkKLSAJCSAgfQotIAkgICAgICB9Ci0gCi0tCSAgICBjb3B5 X2JpdHdpc2UgKGJ1ZmZlci5kYXRhICgpLCBkZXN0X29mZnNldF9iaXRzICUgOCwKLS0JCQkgIGNv bnRlbnRzLCBzb3VyY2Vfb2Zmc2V0X2JpdHMsCi0rCSAgICBjb3B5X2JpdHdpc2UgKGJ1ZmZlci5k YXRhICgpLCBiaXRzX3RvX3NraXAgJSA4LAotKwkJCSAgY29udGVudHMsIG9mZnNldCwKLSAJCQkg IHRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotIAkgICAgcHV0X2ZyYW1lX3JlZ2lz dGVyX2J5dGVzIChmcmFtZSwgZ2RiX3JlZ251bSwKLS0JCQkJICAgICAgZGVzdF9vZmZzZXRfYml0 cyAvIDgsCi0rCQkJCSAgICAgIGJpdHNfdG9fc2tpcCAvIDgsCi0gCQkJCSAgICAgIHRoaXNfc2l6 ZSwgYnVmZmVyLmRhdGEgKCkpOwotIAkgIH0KLSAJICBicmVhazsKLSAJY2FzZSBEV0FSRl9WQUxV RV9NRU1PUlk6Ci0gCSAgewotLQkgICAgZGVzdF9vZmZzZXRfYml0cyArPSBwLT5vZmZzZXQ7Ci0r CSAgICBiaXRzX3RvX3NraXAgKz0gcC0+b2Zmc2V0OwotIAotLQkgICAgQ09SRV9BRERSIHN0YXJ0 X2FkZHIgPSBwLT52Lm1lbS5hZGRyICsgZGVzdF9vZmZzZXRfYml0cyAvIDg7Ci0rCSAgICBDT1JF X0FERFIgc3RhcnRfYWRkciA9IHAtPnYubWVtLmFkZHIgKyBiaXRzX3RvX3NraXAgLyA4OwotIAot LQkgICAgaWYgKGRlc3Rfb2Zmc2V0X2JpdHMgJSA4ID09IDAgJiYgdGhpc19zaXplX2JpdHMgJSA4 ID09IDAKLS0JCSYmIHNvdXJjZV9vZmZzZXRfYml0cyAlIDggPT0gMCkKLSsJICAgIGlmIChiaXRz X3RvX3NraXAgJSA4ID09IDAgJiYgdGhpc19zaXplX2JpdHMgJSA4ID09IDAKLSsJCSYmIG9mZnNl dCAlIDggPT0gMCkKLSAJICAgICAgewotIAkJLyogRXZlcnl0aGluZyBpcyBieXRlLWFsaWduZWQ7 IG5vIGJ1ZmZlciBuZWVkZWQuICAqLwotIAkJd3JpdGVfbWVtb3J5IChzdGFydF9hZGRyLAotLQkJ CSAgICAgIGNvbnRlbnRzICsgc291cmNlX29mZnNldF9iaXRzIC8gOCwKLSsJCQkgICAgICBjb250 ZW50cyArIG9mZnNldCAvIDgsCi0gCQkJICAgICAgdGhpc19zaXplX2JpdHMgLyA4KTsKLSAJCWJy ZWFrOwotIAkgICAgICB9Ci0gCi0tCSAgICB0aGlzX3NpemUgPSBiaXRzX3RvX2J5dGVzIChkZXN0 X29mZnNldF9iaXRzLCB0aGlzX3NpemVfYml0cyk7Ci0rCSAgICB0aGlzX3NpemUgPSBiaXRzX3Rv X2J5dGVzIChiaXRzX3RvX3NraXAsIHRoaXNfc2l6ZV9iaXRzKTsKLSAJICAgIGJ1ZmZlci5yZXNl cnZlICh0aGlzX3NpemUpOwotIAotLQkgICAgaWYgKGRlc3Rfb2Zmc2V0X2JpdHMgJSA4ICE9IDAg fHwgdGhpc19zaXplX2JpdHMgJSA4ICE9IDApCi0rCSAgICBpZiAoYml0c190b19za2lwICUgOCAh PSAwIHx8IHRoaXNfc2l6ZV9iaXRzICUgOCAhPSAwKQotIAkgICAgICB7Ci0gCQlpZiAodGhpc19z aXplIDw9IDgpCi0gCQkgIHsKLUBAIC0yMDY4LDggKzIwNTEsOCBAQCB3cml0ZV9waWVjZWRfdmFs dWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkKLSAJCSAgfQotIAkgICAg ICB9Ci0gCi0tCSAgICBjb3B5X2JpdHdpc2UgKGJ1ZmZlci5kYXRhICgpLCBkZXN0X29mZnNldF9i aXRzICUgOCwKLS0JCQkgIGNvbnRlbnRzLCBzb3VyY2Vfb2Zmc2V0X2JpdHMsCi0rCSAgICBjb3B5 X2JpdHdpc2UgKGJ1ZmZlci5kYXRhICgpLCBiaXRzX3RvX3NraXAgJSA4LAotKwkJCSAgY29udGVu dHMsIG9mZnNldCwKLSAJCQkgIHRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotIAkg ICAgd3JpdGVfbWVtb3J5IChzdGFydF9hZGRyLCBidWZmZXIuZGF0YSAoKSwgdGhpc19zaXplKTsK LSAJICB9Ci1AQCAtMjA3OSw2ICsyMDYyLDcgQEAgd3JpdGVfcGllY2VkX3ZhbHVlIChzdHJ1Y3Qg dmFsdWUgKnRvLCBzdHJ1Y3QgdmFsdWUgKmZyb20pCi0gCSAgYnJlYWs7Ci0gCX0KLSAgICAgICBv ZmZzZXQgKz0gdGhpc19zaXplX2JpdHM7Ci0rICAgICAgYml0c190b19za2lwID0gMDsKLSAgICAg fQotIH0KLSAKCmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMjVvZjM1LnBhdGNo IGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTI1b2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggY2I0ODhmNS4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgt MjVvZjM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODIgKzAsMCBAQAotRnJvbTogRmVkb3Jh IEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcg MjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yNW9mMzUucGF0 Y2gKLQotRmlsZU5hbWU6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yNW9mMzUucGF0Y2gKLQotY29t bWl0IDIzZjk0NWJmOGNlYmYzNDgxNTRhZmY0Mzc4MmRlMmUxOTc3ZTkyMzAKLUF1dGhvcjogQW5k cmVhcyBBcm5leiA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotRGF0ZTogICBUdWUgSnVuIDEz IDE1OjIwOjMxIDIwMTcgKzAyMDAKLQotICAgIEZpeCBiaXQtL2J5dGUtb2Zmc2V0IG1pc21hdGNo IGluIHBhcmFtZXRlciB0byByZWFkX3ZhbHVlX21lbW9yeQotICAgIAotICAgIFRoZSBmdW5jdGlv biByZWFkX3ZhbHVlX21lbW9yeSBhY2NlcHRzIGEgcGFyYW1ldGVyIGVtYmVkZGVkX29mZnNldCBh bmQKLSAgICBleHBlY3RzIGl0IHRvIHJlcHJlc2VudCB0aGUgYnl0ZSBvZmZzZXQgaW50byB0aGUg Z2l2ZW4gdmFsdWUuICBIb3dldmVyLAotICAgIHRoZSBvbmx5IGludm9jYXRpb24gd2l0aCBhIHBv c3NpYmx5IG5vbi16ZXJvIGVtYmVkZGVkX29mZnNldCBoYXBwZW5zIGluCi0gICAgcmVhZF9waWVj ZWRfdmFsdWUsIHdoZXJlIGEgYml0IG9mZnNldCBpcyBwYXNzZWQgaW5zdGVhZC4KLSAgICAKLSAg ICBBZGp1c3QgdGhlIGltcGxlbWVudGF0aW9uIG9mIHJlYWRfdmFsdWVfbWVtb3J5IHRvIG1lZXQg dGhlIGNhbGxlcidzCi0gICAgZXhwZWN0YXRpb24uICBUaGlzIGltcGxpY2l0bHkgZml4ZXMgdGhl IGludm9jYXRpb24gaW4gcmVhZF9waWVjZWRfdmFsdWUuCi0gICAgCi0gICAgZ2RiL0NoYW5nZUxv ZzoKLSAgICAKLSAgICAgICAgICAgICogdmFsb3BzLmMgKHJlYWRfdmFsdWVfbWVtb3J5KTogQ2hh bmdlIGVtYmVkZGVkX29mZnNldCB0bwotICAgICAgICAgICAgcmVwcmVzZW50IGEgYml0IG9mZnNl dCBpbnN0ZWFkIG9mIGEgYnl0ZSBvZmZzZXQuCi0gICAgICAgICAgICAqIHZhbHVlLmggKHJlYWRf dmFsdWVfbWVtb3J5KTogQWRqdXN0IGNvbW1lbnQuCi0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cKLSMj IyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTEgQEAKLSAyMDE3LTA2LTEzICBBbmRyZWFz IEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIHZhbG9wcy5jIChyZWFk X3ZhbHVlX21lbW9yeSk6IENoYW5nZSBlbWJlZGRlZF9vZmZzZXQgdG8KLSsJcmVwcmVzZW50IGEg Yml0IG9mZnNldCBpbnN0ZWFkIG9mIGEgYnl0ZSBvZmZzZXQuCi0rCSogdmFsdWUuaCAocmVhZF92 YWx1ZV9tZW1vcnkpOiBBZGp1c3QgY29tbWVudC4KLSsKLSsyMDE3LTA2LTEzICBBbmRyZWFzIEFy bmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotKwotIAkqIGR3YXJmMmxvYy5jIChyZWFk X3BpZWNlZF92YWx1ZSk6IFJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZXMKLSAJZGVzdF9vZmZz ZXRfYml0cyBhbmQgc291cmNlX29mZnNldF9iaXRzLgotIAkod3JpdGVfcGllY2VkX3ZhbHVlKTog TGlrZXdpc2UuCi0tLS0gYS9nZGIvdmFsb3BzLmMKLSsrKyBiL2dkYi92YWxvcHMuYwotQEAgLTk1 OCw3ICs5NTgsNyBAQCB2YWx1ZV9hdF9sYXp5IChzdHJ1Y3QgdHlwZSAqdHlwZSwgQ09SRV9BRERS IGFkZHIpCi0gfQotIAotIHZvaWQKLS1yZWFkX3ZhbHVlX21lbW9yeSAoc3RydWN0IHZhbHVlICp2 YWwsIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAotK3JlYWRfdmFsdWVfbWVtb3J5IChzdHJ1Y3Qg dmFsdWUgKnZhbCwgTE9OR0VTVCBiaXRfb2Zmc2V0LAotIAkJICAgaW50IHN0YWNrLCBDT1JFX0FE RFIgbWVtYWRkciwKLSAJCSAgIGdkYl9ieXRlICpidWZmZXIsIHNpemVfdCBsZW5ndGgpCi0gewot QEAgLTk4NCw4ICs5ODQsOSBAQCByZWFkX3ZhbHVlX21lbW9yeSAoc3RydWN0IHZhbHVlICp2YWws IExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAotICAgICAgIGlmIChzdGF0dXMgPT0gVEFSR0VUX1hG RVJfT0spCi0gCS8qIG5vdGhpbmcgKi87Ci0gICAgICAgZWxzZSBpZiAoc3RhdHVzID09IFRBUkdF VF9YRkVSX1VOQVZBSUxBQkxFKQotLQltYXJrX3ZhbHVlX2J5dGVzX3VuYXZhaWxhYmxlICh2YWws IGVtYmVkZGVkX29mZnNldCArIHhmZXJlZF90b3RhbCwKLS0JCQkJICAgICAgeGZlcmVkX3BhcnRp YWwpOwotKwltYXJrX3ZhbHVlX2JpdHNfdW5hdmFpbGFibGUgKHZhbCwgKHhmZXJlZF90b3RhbCAq IEhPU1RfQ0hBUl9CSVQKLSsJCQkJCSAgICsgYml0X29mZnNldCksCi0rCQkJCSAgICAgeGZlcmVk X3BhcnRpYWwgKiBIT1NUX0NIQVJfQklUKTsKLSAgICAgICBlbHNlIGlmIChzdGF0dXMgPT0gVEFS R0VUX1hGRVJfRU9GKQotIAltZW1vcnlfZXJyb3IgKFRBUkdFVF9YRkVSX0VfSU8sIG1lbWFkZHIg KyB4ZmVyZWRfdG90YWwpOwotICAgICAgIGVsc2UKLS0tLSBhL2dkYi92YWx1ZS5oCi0rKysgYi9n ZGIvdmFsdWUuaAotQEAgLTU4MSwxMiArNTgxLDExIEBAIGV4dGVybiBpbnQgdmFsdWVfY29udGVu dHNfZXEgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsMSwgTE9OR0VTVCBvZmZzZXQxLAotIAotIC8q IFJlYWQgTEVOR1RIIGFkZHJlc3NhYmxlIG1lbW9yeSB1bml0cyBzdGFydGluZyBhdCBNRU1BRERS IGludG8gQlVGRkVSLAotICAgIHdoaWNoIGlzIChvciB3aWxsIGJlIGNvcGllZCB0bykgVkFMJ3Mg Y29udGVudHMgYnVmZmVyIG9mZnNldCBieQotLSAgIEVNQkVEREVEX09GRlNFVCAodGhhdCBpcywg dG8gJlZBTC0+Y29udGVudHNbRU1CRURERURfT0ZGU0VUXSkuCi0tICAgTWFya3MgdmFsdWUgY29u dGVudHMgcmFuZ2VzIGFzIHVuYXZhaWxhYmxlIGlmIHRoZSBjb3JyZXNwb25kaW5nCi0tICAgbWVt b3J5IGlzIGxpa2V3aXNlIHVuYXZhaWxhYmxlLiAgU1RBQ0sgaW5kaWNhdGVzIHdoZXRoZXIgdGhl IG1lbW9yeQotLSAgIGlzIGtub3duIHRvIGJlIHN0YWNrIG1lbW9yeS4gICovCi0rICAgQklUX09G RlNFVCBiaXRzLiAgTWFya3MgdmFsdWUgY29udGVudHMgcmFuZ2VzIGFzIHVuYXZhaWxhYmxlIGlm Ci0rICAgdGhlIGNvcnJlc3BvbmRpbmcgbWVtb3J5IGlzIGxpa2V3aXNlIHVuYXZhaWxhYmxlLiAg U1RBQ0sgaW5kaWNhdGVzCi0rICAgd2hldGhlciB0aGUgbWVtb3J5IGlzIGtub3duIHRvIGJlIHN0 YWNrIG1lbW9yeS4gICovCi0gCi0tZXh0ZXJuIHZvaWQgcmVhZF92YWx1ZV9tZW1vcnkgKHN0cnVj dCB2YWx1ZSAqdmFsLCBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwKLStleHRlcm4gdm9pZCByZWFk X3ZhbHVlX21lbW9yeSAoc3RydWN0IHZhbHVlICp2YWwsIExPTkdFU1QgYml0X29mZnNldCwKLSAJ CQkgICAgICAgaW50IHN0YWNrLCBDT1JFX0FERFIgbWVtYWRkciwKLSAJCQkgICAgICAgZ2RiX2J5 dGUgKmJ1ZmZlciwgc2l6ZV90IGxlbmd0aCk7Ci0gCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIw MzA0LXMzOTB4LTI2b2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0yNm9mMzUucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxMDZhNGYuLjAwMDAwMDAKLS0tIGEv Z2RiLXJoYnoxNDIwMzA0LXMzOTB4LTI2b2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYy ICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1E YXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0 MjAzMDQtczM5MHgtMjZvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5 MHgtMjZvZjM1LnBhdGNoCi0KLWNvbW1pdCBmNjVlMjA0NDI1YjViNDZhNTkyN2Q5NTAxYzQyZjI1 ZDk4YTg2NmNlCi1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNv bT4KLURhdGU6ICAgVHVlIEp1biAxMyAxNToyMDozMiAyMDE3ICswMjAwCi0KLSAgICB3cml0ZV9w aWVjZWRfdmFsdWU6IE5vdGlmeSBtZW1vcnlfY2hhbmdlZCBvYnNlcnZlcnMKLSAgICAKLSAgICBT byBmYXIgd3JpdGVfcGllY2VkX3ZhbHVlIHVzZXMgd3JpdGVfbWVtb3J5IHdoZW4gd3JpdGluZyBt ZW1vcnkgcGllY2VzIHRvCi0gICAgdGhlIHRhcmdldC4gIEhvd2V2ZXIsIHRoaXMgaXMgYSBjYXNl IHdoZXJlIEdEQiBwb3RlbnRpYWxseSBvdmVyd3JpdGVzIGEKLSAgICB3YXRjaHBvaW50IHZhbHVl LiAgSW4gc3VjaCBhIGNhc2Ugd3JpdGVfbWVtb3J5X3dpdGhfbm90aWZpY2F0aW9uIHNob3VsZCBi ZQotICAgIHVzZWQgaW5zdGVhZCwgc28gdGhhdCBtZW1vcnlfY2hhbmdlZCBvYnNlcnZlcnMgZ2V0 IG5vdGlmaWVkLgotICAgIAotICAgIGdkYi9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgICAgICAgICAq IGR3YXJmMmxvYy5jICh3cml0ZV9waWVjZWRfdmFsdWUpOiBXaGVuIHdyaXRpbmcgdGhlIGRhdGEg Zm9yIGEKLSAgICAgICAgICAgIG1lbW9yeSBwaWVjZSwgdXNlIHdyaXRlX21lbW9yeV93aXRoX25v dGlmaWNhdGlvbiBpbnN0ZWFkIG9mCi0gICAgICAgICAgICB3cml0ZV9tZW1vcnkuCi0KLSMjIyBh L2dkYi9DaGFuZ2VMb2cKLSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMTEgQEAKLSAy MDE3LTA2LTEzICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAot KwkqIGR3YXJmMmxvYy5jICh3cml0ZV9waWVjZWRfdmFsdWUpOiBXaGVuIHdyaXRpbmcgdGhlIGRh dGEgZm9yIGEKLSsJbWVtb3J5IHBpZWNlLCB1c2Ugd3JpdGVfbWVtb3J5X3dpdGhfbm90aWZpY2F0 aW9uIGluc3RlYWQgb2YKLSsJd3JpdGVfbWVtb3J5LgotKwotKzIwMTctMDYtMTMgIEFuZHJlYXMg QXJuZXogIDxhcm5lekBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0gCSogdmFsb3BzLmMgKHJlYWRf dmFsdWVfbWVtb3J5KTogQ2hhbmdlIGVtYmVkZGVkX29mZnNldCB0bwotIAlyZXByZXNlbnQgYSBi aXQgb2Zmc2V0IGluc3RlYWQgb2YgYSBieXRlIG9mZnNldC4KLSAJKiB2YWx1ZS5oIChyZWFkX3Zh bHVlX21lbW9yeSk6IEFkanVzdCBjb21tZW50LgotLS0tIGEvZ2RiL2R3YXJmMmxvYy5jCi0rKysg Yi9nZGIvZHdhcmYybG9jLmMKLUBAIC0yMDI1LDkgKzIwMjUsOSBAQCB3cml0ZV9waWVjZWRfdmFs dWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkKLSAJCSYmIG9mZnNldCAl IDggPT0gMCkKLSAJICAgICAgewotIAkJLyogRXZlcnl0aGluZyBpcyBieXRlLWFsaWduZWQ7IG5v IGJ1ZmZlciBuZWVkZWQuICAqLwotLQkJd3JpdGVfbWVtb3J5IChzdGFydF9hZGRyLAotLQkJCSAg ICAgIGNvbnRlbnRzICsgb2Zmc2V0IC8gOCwKLS0JCQkgICAgICB0aGlzX3NpemVfYml0cyAvIDgp OwotKwkJd3JpdGVfbWVtb3J5X3dpdGhfbm90aWZpY2F0aW9uIChzdGFydF9hZGRyLAotKwkJCQkJ CWNvbnRlbnRzICsgb2Zmc2V0IC8gOCwKLSsJCQkJCQl0aGlzX3NpemVfYml0cyAvIDgpOwotIAkJ YnJlYWs7Ci0gCSAgICAgIH0KLSAKLUBAIC0yMDU0LDcgKzIwNTQsOCBAQCB3cml0ZV9waWVjZWRf dmFsdWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkKLSAJICAgIGNvcHlf Yml0d2lzZSAoYnVmZmVyLmRhdGEgKCksIGJpdHNfdG9fc2tpcCAlIDgsCi0gCQkJICBjb250ZW50 cywgb2Zmc2V0LAotIAkJCSAgdGhpc19zaXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci0tCSAg ICB3cml0ZV9tZW1vcnkgKHN0YXJ0X2FkZHIsIGJ1ZmZlci5kYXRhICgpLCB0aGlzX3NpemUpOwot KwkgICAgd3JpdGVfbWVtb3J5X3dpdGhfbm90aWZpY2F0aW9uIChzdGFydF9hZGRyLCBidWZmZXIu ZGF0YSAoKSwKLSsJCQkJCSAgICB0aGlzX3NpemUpOwotIAkgIH0KLSAJICBicmVhazsKLSAJZGVm YXVsdDoKCmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMjdvZjM1LnBhdGNoIGIv Z2RiLXJoYnoxNDIwMzA0LXMzOTB4LTI3b2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMjJmNjRlMi4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMjdv ZjM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDg3ICswLDAgQEAKLUZyb206IEZlZG9yYSBH REIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIx OjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjdvZjM1LnBhdGNo Ci0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjdvZjM1LnBhdGNoCi0KLWNvbW1p dCA1NWFjZGYyMjQyMzcyYWU1MmFiYjI1YzgwZGI4ZTc1ZGY1NTc4YjIzCi1BdXRob3I6IEFuZHJl YXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgVHVlIEp1biAxMyAx NToyMDozMiAyMDE3ICswMjAwCi0KLSAgICByZWFkL3dyaXRlX3BpZWNlZF92YWx1ZTogTWVyZ2Ug aW50byBvbmUgZnVuY3Rpb24KLSAgICAKLSAgICBTaW5jZSByZWFkX3BpZWNlZF92YWx1ZSBhbmQg d3JpdGVfcGllY2VkX3ZhbHVlIHNoYXJlIHNpZ25pZmljYW50IGxvZ2ljLAotICAgIHRoaXMgcGF0 Y2ggbWVyZ2VzIHRoZW0gaW50byBhIHNpbmdsZSBmdW5jdGlvbiByd19waWVjZWRfdmFsdWUuCi0g ICAgCi0gICAgZ2RiL0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZHdhcmYybG9jLmMg KHJ3X3BpZWNlZF92YWx1ZSk6IE5ldy4gIE1lcmdlIGxvZ2ljIGZyb20uLi4KLSAgICAgICAgICAg IChyZWFkX3BpZWNlZF92YWx1ZSwgd3JpdGVfcGllY2VkX3ZhbHVlKTogLi4uaGVyZS4gIFJlZHVj ZSB0bwotICAgICAgICAgICAgd3JhcHBlcnMgdGhhdCBqdXN0IGNhbGwgcndfcGllY2VkX3ZhbHVl LgotCi0jIyMgYS9nZGIvQ2hhbmdlTG9nCi0jIyMgYi9nZGIvQ2hhbmdlTG9nCi0jIyAtMSw1ICsx LDExIEBACi0gMjAxNy0wNi0xMyAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJt LmNvbT4KLSAKLSsJKiBkd2FyZjJsb2MuYyAocndfcGllY2VkX3ZhbHVlKTogTmV3LiAgTWVyZ2Ug bG9naWMgZnJvbS4uLgotKwkocmVhZF9waWVjZWRfdmFsdWUsIHdyaXRlX3BpZWNlZF92YWx1ZSk6 IC4uLmhlcmUuICBSZWR1Y2UgdG8KLSsJd3JhcHBlcnMgdGhhdCBqdXN0IGNhbGwgcndfcGllY2Vk X3ZhbHVlLgotKwotKzIwMTctMDYtMTMgIEFuZHJlYXMgQXJuZXogIDxhcm5lekBsaW51eC52bmV0 LmlibS5jb20+Ci0rCi0gCSogZHdhcmYybG9jLmMgKHdyaXRlX3BpZWNlZF92YWx1ZSk6IFdoZW4g d3JpdGluZyB0aGUgZGF0YSBmb3IgYQotIAltZW1vcnkgcGllY2UsIHVzZSB3cml0ZV9tZW1vcnlf d2l0aF9ub3RpZmljYXRpb24gaW5zdGVhZCBvZgotIAl3cml0ZV9tZW1vcnkuCi0tLS0gYS9nZGIv ZHdhcmYybG9jLmMKLSsrKyBiL2dkYi9kd2FyZjJsb2MuYwotQEAgLTE3NjEsMzEgKzE3NjEsNTUg QEAgYml0c190b19ieXRlcyAoVUxPTkdFU1Qgc3RhcnQsIFVMT05HRVNUIG5fYml0cykKLSAgIHJl dHVybiAoc3RhcnQgJSA4ICsgbl9iaXRzICsgNykgLyA4OwotIH0KLSAKLSsvKiBSZWFkIG9yIHdy aXRlIGEgcGllY2VkIHZhbHVlIFYuICBJZiBGUk9NICE9IE5VTEwsIG9wZXJhdGUgaW4gIndyaXRl Ci0rICAgbW9kZSI6IGNvcHkgRlJPTSBpbnRvIHRoZSBwaWVjZXMgY29tcHJpc2luZyBWLiAgSWYg RlJPTSA9PSBOVUxMLAotKyAgIG9wZXJhdGUgaW4gInJlYWQgbW9kZSI6IGZldGNoIHRoZSBjb250 ZW50cyBvZiB0aGUgKGxhenkpIHZhbHVlIFYgYnkKLSsgICBjb21wb3NpbmcgaXQgZnJvbSBpdHMg cGllY2VzLiAgKi8KLSsKLSBzdGF0aWMgdm9pZAotLXJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3Qg dmFsdWUgKnYpCi0rcndfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYsIHN0cnVjdCB2YWx1 ZSAqZnJvbSkKLSB7Ci0gICBpbnQgaTsKLSAgIExPTkdFU1Qgb2Zmc2V0ID0gMCwgbWF4X29mZnNl dDsKLSAgIFVMT05HRVNUIGJpdHNfdG9fc2tpcDsKLS0gIGdkYl9ieXRlICpjb250ZW50czsKLSsg IGdkYl9ieXRlICp2X2NvbnRlbnRzOwotKyAgY29uc3QgZ2RiX2J5dGUgKmZyb21fY29udGVudHM7 Ci0gICBzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqYwotICAgICA9IChzdHJ1Y3QgcGllY2VfY2xvc3Vy ZSAqKSB2YWx1ZV9jb21wdXRlZF9jbG9zdXJlICh2KTsKLSAgIHN0ZDo6dmVjdG9yPGdkYl9ieXRl PiBidWZmZXI7Ci0gICBpbnQgYml0c19iaWdfZW5kaWFuCi0gICAgID0gZ2RiYXJjaF9iaXRzX2Jp Z19lbmRpYW4gKGdldF90eXBlX2FyY2ggKHZhbHVlX3R5cGUgKHYpKSk7Ci0gCi0tICBpZiAodmFs dWVfdHlwZSAodikgIT0gdmFsdWVfZW5jbG9zaW5nX3R5cGUgKHYpKQotLSAgICBpbnRlcm5hbF9l cnJvciAoX19GSUxFX18sIF9fTElORV9fLAotLQkJICAgIF8oIlNob3VsZCBub3QgYmUgYWJsZSB0 byBjcmVhdGUgYSBsYXp5IHZhbHVlIHdpdGggIgotLQkJICAgICAgImFuIGVuY2xvc2luZyB0eXBl IikpOwotKyAgaWYgKGZyb20gIT0gTlVMTCkKLSsgICAgewotKyAgICAgIGZyb21fY29udGVudHMg PSB2YWx1ZV9jb250ZW50cyAoZnJvbSk7Ci0rICAgICAgdl9jb250ZW50cyA9IE5VTEw7Ci0rICAg IH0KLSsgIGVsc2UKLSsgICAgewotKyAgICAgIGlmICh2YWx1ZV90eXBlICh2KSAhPSB2YWx1ZV9l bmNsb3NpbmdfdHlwZSAodikpCi0rCWludGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18s Ci0rCQkJXygiU2hvdWxkIG5vdCBiZSBhYmxlIHRvIGNyZWF0ZSBhIGxhenkgdmFsdWUgd2l0aCAi Ci0rCQkJICAiYW4gZW5jbG9zaW5nIHR5cGUiKSk7Ci0rICAgICAgdl9jb250ZW50cyA9IHZhbHVl X2NvbnRlbnRzX3JhdyAodik7Ci0rICAgICAgZnJvbV9jb250ZW50cyA9IE5VTEw7Ci0rICAgIH0K LSAKLS0gIGNvbnRlbnRzID0gdmFsdWVfY29udGVudHNfcmF3ICh2KTsKLSAgIGJpdHNfdG9fc2tp cCA9IDggKiB2YWx1ZV9vZmZzZXQgKHYpOwotICAgaWYgKHZhbHVlX2JpdHNpemUgKHYpKQotICAg ICB7Ci0gICAgICAgYml0c190b19za2lwICs9ICg4ICogdmFsdWVfb2Zmc2V0ICh2YWx1ZV9wYXJl bnQgKHYpKQotIAkJICAgICAgICsgdmFsdWVfYml0cG9zICh2KSk7Ci0tICAgICAgbWF4X29mZnNl dCA9IHZhbHVlX2JpdHNpemUgKHYpOwotKyAgICAgIGlmIChmcm9tICE9IE5VTEwKLSsJICAmJiAo Z2RiYXJjaF9ieXRlX29yZGVyIChnZXRfdHlwZV9hcmNoICh2YWx1ZV90eXBlIChmcm9tKSkpCi0r CSAgICAgID09IEJGRF9FTkRJQU5fQklHKSkKLSsJewotKwkgIC8qIFVzZSB0aGUgbGVhc3Qgc2ln bmlmaWNhbnQgYml0cyBvZiBGUk9NLiAgKi8KLSsJICBtYXhfb2Zmc2V0ID0gOCAqIFRZUEVfTEVO R1RIICh2YWx1ZV90eXBlIChmcm9tKSk7Ci0rCSAgb2Zmc2V0ID0gbWF4X29mZnNldCAtIHZhbHVl X2JpdHNpemUgKHYpOwotKwl9Ci0rICAgICAgZWxzZQotKwltYXhfb2Zmc2V0ID0gdmFsdWVfYml0 c2l6ZSAodik7Ci0gICAgIH0KLSAgIGVsc2UKLSAgICAgbWF4X29mZnNldCA9IDggKiBUWVBFX0xF TkdUSCAodmFsdWVfdHlwZSAodikpOwotQEAgLTE3OTcsMTMgKzE4MjEsMTIgQEAgcmVhZF9waWVj ZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAgIGZvciAoOyBpIDwgYy0+bl9waWVjZXMgJiYg b2Zmc2V0IDwgbWF4X29mZnNldDsgaSsrKQotICAgICB7Ci0gICAgICAgc3RydWN0IGR3YXJmX2V4 cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ldOwotLSAgICAgIHNpemVfdCB0aGlzX3NpemUsIHRo aXNfc2l6ZV9iaXRzOwotKyAgICAgIHNpemVfdCB0aGlzX3NpemVfYml0cywgdGhpc19zaXplOwot IAotICAgICAgIHRoaXNfc2l6ZV9iaXRzID0gcC0+c2l6ZSAtIGJpdHNfdG9fc2tpcDsKLSAgICAg ICBpZiAodGhpc19zaXplX2JpdHMgPiBtYXhfb2Zmc2V0IC0gb2Zmc2V0KQotIAl0aGlzX3NpemVf Yml0cyA9IG1heF9vZmZzZXQgLSBvZmZzZXQ7Ci0gCi0tICAgICAgLyogQ29weSBmcm9tIHRoZSBz b3VyY2UgdG8gREVTVF9CVUZGRVIuICAqLwotICAgICAgIHN3aXRjaCAocC0+bG9jYXRpb24pCi0g CXsKLSAJY2FzZSBEV0FSRl9WQUxVRV9SRUdJU1RFUjoKLUBAIC0xODI2LDM5ICsxODQ5LDEzNyBA QCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIAkgICAgdGhpc19zaXplID0g Yml0c190b19ieXRlcyAoYml0c190b19za2lwLCB0aGlzX3NpemVfYml0cyk7Ci0gCSAgICBidWZm ZXIucmVzZXJ2ZSAodGhpc19zaXplKTsKLSAKLS0JICAgIGlmICghZ2V0X2ZyYW1lX3JlZ2lzdGVy X2J5dGVzIChmcmFtZSwgZ2RiX3JlZ251bSwKLS0JCQkJCSAgIGJpdHNfdG9fc2tpcCAvIDgsCi0t CQkJCQkgICB0aGlzX3NpemUsIGJ1ZmZlci5kYXRhICgpLAotLQkJCQkJICAgJm9wdGltLCAmdW5h dmFpbCkpCi0rCSAgICBpZiAoZnJvbSA9PSBOVUxMKQotIAkgICAgICB7Ci0tCQlpZiAob3B0aW0p Ci0tCQkgIG1hcmtfdmFsdWVfYml0c19vcHRpbWl6ZWRfb3V0ICh2LCBvZmZzZXQsIHRoaXNfc2l6 ZV9iaXRzKTsKLS0JCWlmICh1bmF2YWlsKQotLQkJICBtYXJrX3ZhbHVlX2JpdHNfdW5hdmFpbGFi bGUgKHYsIG9mZnNldCwgdGhpc19zaXplX2JpdHMpOwotLQkJYnJlYWs7Ci0rCQkvKiBSZWFkIG1v ZGUuICAqLwotKwkJaWYgKCFnZXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMgKGZyYW1lLCBnZGJfcmVn bnVtLAotKwkJCQkJICAgICAgIGJpdHNfdG9fc2tpcCAvIDgsCi0rCQkJCQkgICAgICAgdGhpc19z aXplLCBidWZmZXIuZGF0YSAoKSwKLSsJCQkJCSAgICAgICAmb3B0aW0sICZ1bmF2YWlsKSkKLSsJ CSAgewotKwkJICAgIGlmIChvcHRpbSkKLSsJCSAgICAgIG1hcmtfdmFsdWVfYml0c19vcHRpbWl6 ZWRfb3V0ICh2LCBvZmZzZXQsCi0rCQkJCQkJICAgICB0aGlzX3NpemVfYml0cyk7Ci0rCQkgICAg aWYgKHVuYXZhaWwpCi0rCQkgICAgICBtYXJrX3ZhbHVlX2JpdHNfdW5hdmFpbGFibGUgKHYsIG9m ZnNldCwKLSsJCQkJCQkgICB0aGlzX3NpemVfYml0cyk7Ci0rCQkgICAgYnJlYWs7Ci0rCQkgIH0K LSsKLSsJCWNvcHlfYml0d2lzZSAodl9jb250ZW50cywgb2Zmc2V0LAotKwkJCSAgICAgIGJ1ZmZl ci5kYXRhICgpLCBiaXRzX3RvX3NraXAgJSA4LAotKwkJCSAgICAgIHRoaXNfc2l6ZV9iaXRzLCBi aXRzX2JpZ19lbmRpYW4pOwotKwkgICAgICB9Ci0rCSAgICBlbHNlCi0rCSAgICAgIHsKLSsJCS8q IFdyaXRlIG1vZGUuICAqLwotKwkJaWYgKGJpdHNfdG9fc2tpcCAlIDggIT0gMCB8fCB0aGlzX3Np emVfYml0cyAlIDggIT0gMCkKLSsJCSAgewotKwkJICAgIC8qIERhdGEgaXMgY29waWVkIG5vbi1i eXRlLWFsaWduZWQgaW50byB0aGUgcmVnaXN0ZXIuCi0rCQkgICAgICAgTmVlZCBzb21lIGJpdHMg ZnJvbSBvcmlnaW5hbCByZWdpc3RlciB2YWx1ZS4gICovCi0rCQkgICAgZ2V0X2ZyYW1lX3JlZ2lz dGVyX2J5dGVzIChmcmFtZSwgZ2RiX3JlZ251bSwKLSsJCQkJCSAgICAgIGJpdHNfdG9fc2tpcCAv IDgsCi0rCQkJCQkgICAgICB0aGlzX3NpemUsIGJ1ZmZlci5kYXRhICgpLAotKwkJCQkJICAgICAg Jm9wdGltLCAmdW5hdmFpbCk7Ci0rCQkgICAgaWYgKG9wdGltKQotKwkJICAgICAgdGhyb3dfZXJy b3IgKE9QVElNSVpFRF9PVVRfRVJST1IsCi0rCQkJCSAgIF8oIkNhbid0IGRvIHJlYWQtbW9kaWZ5 LXdyaXRlIHRvICIKLSsJCQkJICAgICAidXBkYXRlIGJpdGZpZWxkOyBjb250YWluaW5nIHdvcmQg IgotKwkJCQkgICAgICJoYXMgYmVlbiBvcHRpbWl6ZWQgb3V0IikpOwotKwkJICAgIGlmICh1bmF2 YWlsKQotKwkJICAgICAgdGhyb3dfZXJyb3IgKE5PVF9BVkFJTEFCTEVfRVJST1IsCi0rCQkJCSAg IF8oIkNhbid0IGRvIHJlYWQtbW9kaWZ5LXdyaXRlIHRvICIKLSsJCQkJICAgICAidXBkYXRlIGJp dGZpZWxkOyBjb250YWluaW5nIHdvcmQgIgotKwkJCQkgICAgICJpcyB1bmF2YWlsYWJsZSIpKTsK LSsJCSAgfQotKwotKwkJY29weV9iaXR3aXNlIChidWZmZXIuZGF0YSAoKSwgYml0c190b19za2lw ICUgOCwKLSsJCQkgICAgICBmcm9tX2NvbnRlbnRzLCBvZmZzZXQsCi0rCQkJICAgICAgdGhpc19z aXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci0rCQlwdXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMg KGZyYW1lLCBnZGJfcmVnbnVtLAotKwkJCQkJICBiaXRzX3RvX3NraXAgLyA4LAotKwkJCQkJICB0 aGlzX3NpemUsIGJ1ZmZlci5kYXRhICgpKTsKLSAJICAgICAgfQotLQkgICAgY29weV9iaXR3aXNl IChjb250ZW50cywgb2Zmc2V0LAotLQkJCSAgYnVmZmVyLmRhdGEgKCksIGJpdHNfdG9fc2tpcCAl IDgsCi0tCQkJICB0aGlzX3NpemVfYml0cywgYml0c19iaWdfZW5kaWFuKTsKLSAJICB9Ci0gCSAg YnJlYWs7Ci0gCi0gCWNhc2UgRFdBUkZfVkFMVUVfTUVNT1JZOgotLQkgIGJpdHNfdG9fc2tpcCAr PSBwLT5vZmZzZXQ7Ci0tCSAgdGhpc19zaXplID0gYml0c190b19ieXRlcyAoYml0c190b19za2lw LCB0aGlzX3NpemVfYml0cyk7Ci0tCSAgYnVmZmVyLnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0tCi0t CSAgcmVhZF92YWx1ZV9tZW1vcnkgKHYsIG9mZnNldCwKLS0JCQkgICAgIHAtPnYubWVtLmluX3N0 YWNrX21lbW9yeSwKLS0JCQkgICAgIHAtPnYubWVtLmFkZHIgKyBiaXRzX3RvX3NraXAgLyA4LAot LQkJCSAgICAgYnVmZmVyLmRhdGEgKCksIHRoaXNfc2l6ZSk7Ci0tCSAgY29weV9iaXR3aXNlIChj b250ZW50cywgb2Zmc2V0LAotLQkJCWJ1ZmZlci5kYXRhICgpLCBiaXRzX3RvX3NraXAgJSA4LAot LQkJCXRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwotKwkgIHsKLSsJICAgIGJpdHNf dG9fc2tpcCArPSBwLT5vZmZzZXQ7Ci0rCi0rCSAgICBDT1JFX0FERFIgc3RhcnRfYWRkciA9IHAt PnYubWVtLmFkZHIgKyBiaXRzX3RvX3NraXAgLyA4OwotKwotKwkgICAgaWYgKGJpdHNfdG9fc2tp cCAlIDggPT0gMCAmJiB0aGlzX3NpemVfYml0cyAlIDggPT0gMAotKwkJJiYgb2Zmc2V0ICUgOCA9 PSAwKQotKwkgICAgICB7Ci0rCQkvKiBFdmVyeXRoaW5nIGlzIGJ5dGUtYWxpZ25lZDsgbm8gYnVm ZmVyIG5lZWRlZC4gICovCi0rCQlpZiAoZnJvbSAhPSBOVUxMKQotKwkJICB3cml0ZV9tZW1vcnlf d2l0aF9ub3RpZmljYXRpb24gKHN0YXJ0X2FkZHIsCi0rCQkJCQkJICAoZnJvbV9jb250ZW50cwot KwkJCQkJCSAgICsgb2Zmc2V0IC8gOCksCi0rCQkJCQkJICB0aGlzX3NpemVfYml0cyAvIDgpOwot KwkJZWxzZQotKwkJICByZWFkX3ZhbHVlX21lbW9yeSAodiwgb2Zmc2V0LAotKwkJCQkgICAgIHAt PnYubWVtLmluX3N0YWNrX21lbW9yeSwKLSsJCQkJICAgICBwLT52Lm1lbS5hZGRyICsgYml0c190 b19za2lwIC8gOCwKLSsJCQkJICAgICB2X2NvbnRlbnRzICsgb2Zmc2V0IC8gOCwKLSsJCQkJICAg ICB0aGlzX3NpemVfYml0cyAvIDgpOwotKwkJYnJlYWs7Ci0rCSAgICAgIH0KLSsKLSsJICAgIHRo aXNfc2l6ZSA9IGJpdHNfdG9fYnl0ZXMgKGJpdHNfdG9fc2tpcCwgdGhpc19zaXplX2JpdHMpOwot KwkgICAgYnVmZmVyLnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0rCi0rCSAgICBpZiAoZnJvbSA9PSBO VUxMKQotKwkgICAgICB7Ci0rCQkvKiBSZWFkIG1vZGUuICAqLwotKwkJcmVhZF92YWx1ZV9tZW1v cnkgKHYsIG9mZnNldCwKLSsJCQkJICAgcC0+di5tZW0uaW5fc3RhY2tfbWVtb3J5LAotKwkJCQkg ICBwLT52Lm1lbS5hZGRyICsgYml0c190b19za2lwIC8gOCwKLSsJCQkJICAgYnVmZmVyLmRhdGEg KCksIHRoaXNfc2l6ZSk7Ci0rCQljb3B5X2JpdHdpc2UgKHZfY29udGVudHMsIG9mZnNldCwKLSsJ CQkgICAgICBidWZmZXIuZGF0YSAoKSwgYml0c190b19za2lwICUgOCwKLSsJCQkgICAgICB0aGlz X3NpemVfYml0cywgYml0c19iaWdfZW5kaWFuKTsKLSsJICAgICAgfQotKwkgICAgZWxzZQotKwkg ICAgICB7Ci0rCQkvKiBXcml0ZSBtb2RlLiAgKi8KLSsJCWlmIChiaXRzX3RvX3NraXAgJSA4ICE9 IDAgfHwgdGhpc19zaXplX2JpdHMgJSA4ICE9IDApCi0rCQkgIHsKLSsJCSAgICBpZiAodGhpc19z aXplIDw9IDgpCi0rCQkgICAgICB7Ci0rCQkJLyogUGVyZm9ybSBhIHNpbmdsZSByZWFkIGZvciBz bWFsbCBzaXplcy4gICovCi0rCQkJcmVhZF9tZW1vcnkgKHN0YXJ0X2FkZHIsIGJ1ZmZlci5kYXRh ICgpLAotKwkJCQkgICAgIHRoaXNfc2l6ZSk7Ci0rCQkgICAgICB9Ci0rCQkgICAgZWxzZQotKwkJ ICAgICAgewotKwkJCS8qIE9ubHkgdGhlIGZpcnN0IGFuZCBsYXN0IGJ5dGVzIGNhbiBwb3NzaWJs eSBoYXZlCi0rCQkJICAgYW55IGJpdHMgcmV1c2VkLiAgKi8KLSsJCQlyZWFkX21lbW9yeSAoc3Rh cnRfYWRkciwgYnVmZmVyLmRhdGEgKCksIDEpOwotKwkJCXJlYWRfbWVtb3J5IChzdGFydF9hZGRy ICsgdGhpc19zaXplIC0gMSwKLSsJCQkJICAgICAmYnVmZmVyW3RoaXNfc2l6ZSAtIDFdLCAxKTsK LSsJCSAgICAgIH0KLSsJCSAgfQotKwotKwkJY29weV9iaXR3aXNlIChidWZmZXIuZGF0YSAoKSwg Yml0c190b19za2lwICUgOCwKLSsJCQkgICAgICBmcm9tX2NvbnRlbnRzLCBvZmZzZXQsCi0rCQkJ ICAgICAgdGhpc19zaXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci0rCQl3cml0ZV9tZW1vcnlf d2l0aF9ub3RpZmljYXRpb24gKHN0YXJ0X2FkZHIsCi0rCQkJCQkJYnVmZmVyLmRhdGEgKCksCi0r CQkJCQkJdGhpc19zaXplKTsKLSsJICAgICAgfQotKwkgIH0KLSAJICBicmVhazsKLSAKLSAJY2Fz ZSBEV0FSRl9WQUxVRV9TVEFDSzoKLSAJICB7Ci0rCSAgICBpZiAoZnJvbSAhPSBOVUxMKQotKwkg ICAgICB7Ci0rCQltYXJrX3ZhbHVlX2JpdHNfb3B0aW1pemVkX291dCAodiwgb2Zmc2V0LCB0aGlz X3NpemVfYml0cyk7Ci0rCQlicmVhazsKLSsJICAgICAgfQotKwotIAkgICAgc3RydWN0IG9iamZp bGUgKm9iamZpbGUgPSBkd2FyZjJfcGVyX2N1X29iamZpbGUgKGMtPnBlcl9jdSk7Ci0gCSAgICBz dHJ1Y3QgZ2RiYXJjaCAqb2JqZmlsZV9nZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmls ZSk7Ci0gCSAgICBVTE9OR0VTVCBzdGFja192YWx1ZV9zaXplX2JpdHMKLUBAIC0xODc0LDcgKzE5 OTUsNyBAQCByZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIAkgICAgZWxzZQot IAkgICAgICBiaXRzX3RvX3NraXAgKz0gcC0+b2Zmc2V0OwotIAotLQkgICAgY29weV9iaXR3aXNl IChjb250ZW50cywgb2Zmc2V0LAotKwkgICAgY29weV9iaXR3aXNlICh2X2NvbnRlbnRzLCBvZmZz ZXQsCi0gCQkJICB2YWx1ZV9jb250ZW50c19hbGwgKHAtPnYudmFsdWUpLAotIAkJCSAgYml0c190 b19za2lwLAotIAkJCSAgdGhpc19zaXplX2JpdHMsIGJpdHNfYmlnX2VuZGlhbik7Ci1AQCAtMTg4 Myw2ICsyMDA0LDEyIEBAIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCi0gCi0g CWNhc2UgRFdBUkZfVkFMVUVfTElURVJBTDoKLSAJICB7Ci0rCSAgICBpZiAoZnJvbSAhPSBOVUxM KQotKwkgICAgICB7Ci0rCQltYXJrX3ZhbHVlX2JpdHNfb3B0aW1pemVkX291dCAodiwgb2Zmc2V0 LCB0aGlzX3NpemVfYml0cyk7Ci0rCQlicmVhazsKLSsJICAgICAgfQotKwotIAkgICAgVUxPTkdF U1QgbGl0ZXJhbF9zaXplX2JpdHMgPSA4ICogcC0+di5saXRlcmFsLmxlbmd0aDsKLSAJICAgIHNp emVfdCBuID0gdGhpc19zaXplX2JpdHM7Ci0gCi1AQCAtMTg5MywxNSArMjAyMCwyMSBAQCByZWFk X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQotIAkgICAgaWYgKG4gPiBsaXRlcmFsX3Np emVfYml0cyAtIGJpdHNfdG9fc2tpcCkKLSAJICAgICAgbiA9IGxpdGVyYWxfc2l6ZV9iaXRzIC0g Yml0c190b19za2lwOwotIAotLQkgICAgY29weV9iaXR3aXNlIChjb250ZW50cywgb2Zmc2V0LAot KwkgICAgY29weV9iaXR3aXNlICh2X2NvbnRlbnRzLCBvZmZzZXQsCi0gCQkJICBwLT52LmxpdGVy YWwuZGF0YSwgYml0c190b19za2lwLAotIAkJCSAgbiwgYml0c19iaWdfZW5kaWFuKTsKLSAJICB9 Ci0gCSAgYnJlYWs7Ci0gCi0tCSAgLyogVGhlc2UgYml0cyBzaG93IHVwIGFzIHplcm9zIC0tIGJ1 dCBkbyBub3QgY2F1c2UgdGhlIHZhbHVlCi0tCSAgICAgdG8gYmUgY29uc2lkZXJlZCBvcHRpbWl6 ZWQtb3V0LiAgKi8KLSAJY2FzZSBEV0FSRl9WQUxVRV9JTVBMSUNJVF9QT0lOVEVSOgotKwkgICAg aWYgKGZyb20gIT0gTlVMTCkKLSsJICAgICAgewotKwkJbWFya192YWx1ZV9iaXRzX29wdGltaXpl ZF9vdXQgKHYsIG9mZnNldCwgdGhpc19zaXplX2JpdHMpOwotKwkJYnJlYWs7Ci0rCSAgICAgIH0K LSsKLSsJICAvKiBUaGVzZSBiaXRzIHNob3cgdXAgYXMgemVyb3MgLS0gYnV0IGRvIG5vdCBjYXVz ZSB0aGUgdmFsdWUgdG8KLSsJICAgICBiZSBjb25zaWRlcmVkIG9wdGltaXplZC1vdXQuICAqLwot IAkgIGJyZWFrOwotIAotIAljYXNlIERXQVJGX1ZBTFVFX09QVElNSVpFRF9PVVQ6Ci1AQCAtMTkx NywxNTQgKzIwNTAsMTcgQEAgcmVhZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKLSAg ICAgfQotIH0KLSAKLSsKLSBzdGF0aWMgdm9pZAotLXdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0 IHZhbHVlICp0bywgc3RydWN0IHZhbHVlICpmcm9tKQotK3JlYWRfcGllY2VkX3ZhbHVlIChzdHJ1 Y3QgdmFsdWUgKnYpCi0gewotLSAgaW50IGk7Ci0tICBVTE9OR0VTVCBiaXRzX3RvX3NraXA7Ci0t ICBMT05HRVNUIG9mZnNldCA9IDAsIG1heF9vZmZzZXQ7Ci0tICBjb25zdCBnZGJfYnl0ZSAqY29u dGVudHM7Ci0tICBzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqYwotLSAgICA9IChzdHJ1Y3QgcGllY2Vf Y2xvc3VyZSAqKSB2YWx1ZV9jb21wdXRlZF9jbG9zdXJlICh0byk7Ci0tICBzdGQ6OnZlY3Rvcjxn ZGJfYnl0ZT4gYnVmZmVyOwotLSAgaW50IGJpdHNfYmlnX2VuZGlhbgotLSAgICA9IGdkYmFyY2hf Yml0c19iaWdfZW5kaWFuIChnZXRfdHlwZV9hcmNoICh2YWx1ZV90eXBlICh0bykpKTsKLS0KLS0g IGNvbnRlbnRzID0gdmFsdWVfY29udGVudHMgKGZyb20pOwotLSAgYml0c190b19za2lwID0gOCAq IHZhbHVlX29mZnNldCAodG8pOwotLSAgaWYgKHZhbHVlX2JpdHNpemUgKHRvKSkKLS0gICAgewot LSAgICAgIGJpdHNfdG9fc2tpcCArPSAoOCAqIHZhbHVlX29mZnNldCAodmFsdWVfcGFyZW50ICh0 bykpCi0tCQkgICAgICAgKyB2YWx1ZV9iaXRwb3MgKHRvKSk7Ci0tICAgICAgLyogVXNlIHRoZSBs ZWFzdCBzaWduaWZpY2FudCBiaXRzIG9mIEZST00uICAqLwotLSAgICAgIGlmIChnZGJhcmNoX2J5 dGVfb3JkZXIgKGdldF90eXBlX2FyY2ggKHZhbHVlX3R5cGUgKGZyb20pKSkKLS0JICA9PSBCRkRf RU5ESUFOX0JJRykKLS0JewotLQkgIG1heF9vZmZzZXQgPSA4ICogVFlQRV9MRU5HVEggKHZhbHVl X3R5cGUgKGZyb20pKTsKLS0JICBvZmZzZXQgPSBtYXhfb2Zmc2V0IC0gdmFsdWVfYml0c2l6ZSAo dG8pOwotLQl9Ci0tICAgICAgZWxzZQotLQltYXhfb2Zmc2V0ID0gdmFsdWVfYml0c2l6ZSAodG8p OwotLSAgIH0KLS0gIGVsc2UKLS0gICAgbWF4X29mZnNldCA9IDggKiBUWVBFX0xFTkdUSCAodmFs dWVfdHlwZSAodG8pKTsKLS0KLS0gIC8qIEFkdmFuY2UgdG8gdGhlIGZpcnN0IG5vbi1za2lwcGVk IHBpZWNlLiAgKi8KLS0gIGZvciAoaSA9IDA7IGkgPCBjLT5uX3BpZWNlcyAmJiBiaXRzX3RvX3Nr aXAgPj0gYy0+cGllY2VzW2ldLnNpemU7IGkrKykKLS0gICAgYml0c190b19za2lwIC09IGMtPnBp ZWNlc1tpXS5zaXplOwotLQotLSAgZm9yICg7IGkgPCBjLT5uX3BpZWNlcyAmJiBvZmZzZXQgPCBt YXhfb2Zmc2V0OyBpKyspCi0tICAgIHsKLS0gICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAq cCA9ICZjLT5waWVjZXNbaV07Ci0tICAgICAgc2l6ZV90IHRoaXNfc2l6ZV9iaXRzLCB0aGlzX3Np emU7Ci0tCi0tICAgICAgdGhpc19zaXplX2JpdHMgPSBwLT5zaXplIC0gYml0c190b19za2lwOwot LSAgICAgIGlmICh0aGlzX3NpemVfYml0cyA+IG1heF9vZmZzZXQgLSBvZmZzZXQpCi0tCXRoaXNf c2l6ZV9iaXRzID0gbWF4X29mZnNldCAtIG9mZnNldDsKLS0KLS0gICAgICBzd2l0Y2ggKHAtPmxv Y2F0aW9uKQotLQl7Ci0tCWNhc2UgRFdBUkZfVkFMVUVfUkVHSVNURVI6Ci0tCSAgewotLQkgICAg c3RydWN0IGZyYW1lX2luZm8gKmZyYW1lID0gZnJhbWVfZmluZF9ieV9pZCAoYy0+ZnJhbWVfaWQp OwotLQkgICAgc3RydWN0IGdkYmFyY2ggKmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJhbWUpOwot LQkgICAgaW50IGdkYl9yZWdudW0gPSBkd2FyZl9yZWdfdG9fcmVnbnVtX29yX2Vycm9yIChhcmNo LCBwLT52LnJlZ25vKTsKLS0JICAgIFVMT05HRVNUIHJlZ19iaXRzID0gOCAqIHJlZ2lzdGVyX3Np emUgKGFyY2gsIGdkYl9yZWdudW0pOwotLQotLQkgICAgaWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAo YXJjaCkgPT0gQkZEX0VORElBTl9CSUcKLS0JCSYmIHAtPm9mZnNldCArIHAtPnNpemUgPCByZWdf Yml0cykKLS0JICAgICAgewotLQkJLyogQmlnLWVuZGlhbiwgYW5kIHdlIHdhbnQgbGVzcyB0aGFu IGZ1bGwgc2l6ZS4gICovCi0tCQliaXRzX3RvX3NraXAgKz0gcmVnX2JpdHMgLSAocC0+b2Zmc2V0 ICsgcC0+c2l6ZSk7Ci0tCSAgICAgIH0KLS0JICAgIGVsc2UKLS0JICAgICAgYml0c190b19za2lw ICs9IHAtPm9mZnNldDsKLS0KLS0JICAgIHRoaXNfc2l6ZSA9IGJpdHNfdG9fYnl0ZXMgKGJpdHNf dG9fc2tpcCwgdGhpc19zaXplX2JpdHMpOwotLQkgICAgYnVmZmVyLnJlc2VydmUgKHRoaXNfc2l6 ZSk7Ci0tCi0tCSAgICBpZiAoYml0c190b19za2lwICUgOCAhPSAwIHx8IHRoaXNfc2l6ZV9iaXRz ICUgOCAhPSAwKQotLQkgICAgICB7Ci0tCQkvKiBEYXRhIGlzIGNvcGllZCBub24tYnl0ZS1hbGln bmVkIGludG8gdGhlIHJlZ2lzdGVyLgotLQkJICAgTmVlZCBzb21lIGJpdHMgZnJvbSBvcmlnaW5h bCByZWdpc3RlciB2YWx1ZS4gICovCi0tCQlpbnQgb3B0aW0sIHVuYXZhaWw7Ci0tCi0tCQlpZiAo IWdldF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyAoZnJhbWUsIGdkYl9yZWdudW0sCi0tCQkJCQkgICAg ICAgYml0c190b19za2lwIC8gOCwKLS0JCQkJCSAgICAgICB0aGlzX3NpemUsIGJ1ZmZlci5kYXRh ICgpLAotLQkJCQkJICAgICAgICZvcHRpbSwgJnVuYXZhaWwpKQotLQkJICB7Ci0tCQkgICAgaWYg KG9wdGltKQotLQkJICAgICAgdGhyb3dfZXJyb3IgKE9QVElNSVpFRF9PVVRfRVJST1IsCi0tCQkJ CSAgIF8oIkNhbid0IGRvIHJlYWQtbW9kaWZ5LXdyaXRlIHRvICIKLS0JCQkJICAgICAidXBkYXRl IGJpdGZpZWxkOyBjb250YWluaW5nIHdvcmQgIgotLQkJCQkgICAgICJoYXMgYmVlbiBvcHRpbWl6 ZWQgb3V0IikpOwotLQkJICAgIGlmICh1bmF2YWlsKQotLQkJICAgICAgdGhyb3dfZXJyb3IgKE5P VF9BVkFJTEFCTEVfRVJST1IsCi0tCQkJCSAgIF8oIkNhbid0IGRvIHJlYWQtbW9kaWZ5LXdyaXRl IHRvIHVwZGF0ZSAiCi0tCQkJCSAgICAgImJpdGZpZWxkOyBjb250YWluaW5nIHdvcmQgIgotLQkJ CQkgICAgICJpcyB1bmF2YWlsYWJsZSIpKTsKLS0JCSAgfQotLQkgICAgICB9Ci0tCi0tCSAgICBj b3B5X2JpdHdpc2UgKGJ1ZmZlci5kYXRhICgpLCBiaXRzX3RvX3NraXAgJSA4LAotLQkJCSAgY29u dGVudHMsIG9mZnNldCwKLS0JCQkgIHRoaXNfc2l6ZV9iaXRzLCBiaXRzX2JpZ19lbmRpYW4pOwot LQkgICAgcHV0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChmcmFtZSwgZ2RiX3JlZ251bSwKLS0JCQkJ ICAgICAgYml0c190b19za2lwIC8gOCwKLS0JCQkJICAgICAgdGhpc19zaXplLCBidWZmZXIuZGF0 YSAoKSk7Ci0tCSAgfQotLQkgIGJyZWFrOwotLQljYXNlIERXQVJGX1ZBTFVFX01FTU9SWToKLS0J ICB7Ci0tCSAgICBiaXRzX3RvX3NraXAgKz0gcC0+b2Zmc2V0OwotLQotLQkgICAgQ09SRV9BRERS IHN0YXJ0X2FkZHIgPSBwLT52Lm1lbS5hZGRyICsgYml0c190b19za2lwIC8gODsKLS0KLS0JICAg IGlmIChiaXRzX3RvX3NraXAgJSA4ID09IDAgJiYgdGhpc19zaXplX2JpdHMgJSA4ID09IDAKLS0J CSYmIG9mZnNldCAlIDggPT0gMCkKLS0JICAgICAgewotLQkJLyogRXZlcnl0aGluZyBpcyBieXRl LWFsaWduZWQ7IG5vIGJ1ZmZlciBuZWVkZWQuICAqLwotLQkJd3JpdGVfbWVtb3J5X3dpdGhfbm90 aWZpY2F0aW9uIChzdGFydF9hZGRyLAotLQkJCQkJCWNvbnRlbnRzICsgb2Zmc2V0IC8gOCwKLS0J CQkJCQl0aGlzX3NpemVfYml0cyAvIDgpOwotLQkJYnJlYWs7Ci0tCSAgICAgIH0KLS0KLS0JICAg IHRoaXNfc2l6ZSA9IGJpdHNfdG9fYnl0ZXMgKGJpdHNfdG9fc2tpcCwgdGhpc19zaXplX2JpdHMp OwotLQkgICAgYnVmZmVyLnJlc2VydmUgKHRoaXNfc2l6ZSk7Ci0tCi0tCSAgICBpZiAoYml0c190 b19za2lwICUgOCAhPSAwIHx8IHRoaXNfc2l6ZV9iaXRzICUgOCAhPSAwKQotLQkgICAgICB7Ci0t CQlpZiAodGhpc19zaXplIDw9IDgpCi0tCQkgIHsKLS0JCSAgICAvKiBQZXJmb3JtIGEgc2luZ2xl IHJlYWQgZm9yIHNtYWxsIHNpemVzLiAgKi8KLS0JCSAgICByZWFkX21lbW9yeSAoc3RhcnRfYWRk ciwgYnVmZmVyLmRhdGEgKCksIHRoaXNfc2l6ZSk7Ci0tCQkgIH0KLS0JCWVsc2UKLS0JCSAgewot LQkJICAgIC8qIE9ubHkgdGhlIGZpcnN0IGFuZCBsYXN0IGJ5dGVzIGNhbiBwb3NzaWJseSBoYXZl IGFueQotLQkJICAgICAgIGJpdHMgcmV1c2VkLiAgKi8KLS0JCSAgICByZWFkX21lbW9yeSAoc3Rh cnRfYWRkciwgYnVmZmVyLmRhdGEgKCksIDEpOwotLQkJICAgIHJlYWRfbWVtb3J5IChzdGFydF9h ZGRyICsgdGhpc19zaXplIC0gMSwKLS0JCQkJICZidWZmZXJbdGhpc19zaXplIC0gMV0sIDEpOwot LQkJICB9Ci0tCSAgICAgIH0KLSsgIHJ3X3BpZWNlZF92YWx1ZSAodiwgTlVMTCk7Ci0rfQotIAot LQkgICAgY29weV9iaXR3aXNlIChidWZmZXIuZGF0YSAoKSwgYml0c190b19za2lwICUgOCwKLS0J CQkgIGNvbnRlbnRzLCBvZmZzZXQsCi0tCQkJICB0aGlzX3NpemVfYml0cywgYml0c19iaWdfZW5k aWFuKTsKLS0JICAgIHdyaXRlX21lbW9yeV93aXRoX25vdGlmaWNhdGlvbiAoc3RhcnRfYWRkciwg YnVmZmVyLmRhdGEgKCksCi0tCQkJCQkgICAgdGhpc19zaXplKTsKLS0JICB9Ci0tCSAgYnJlYWs7 Ci0tCWRlZmF1bHQ6Ci0tCSAgbWFya192YWx1ZV9ieXRlc19vcHRpbWl6ZWRfb3V0ICh0bywgMCwg VFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKHRvKSkpOwotLQkgIGJyZWFrOwotLQl9Ci0tICAgICAg b2Zmc2V0ICs9IHRoaXNfc2l6ZV9iaXRzOwotLSAgICAgIGJpdHNfdG9fc2tpcCA9IDA7Ci0tICAg IH0KLStzdGF0aWMgdm9pZAotK3dyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywg c3RydWN0IHZhbHVlICpmcm9tKQotK3sKLSsgIHJ3X3BpZWNlZF92YWx1ZSAodG8sIGZyb20pOwot IH0KLSAKLSAvKiBBbiBpbXBsZW1lbnRhdGlvbiBvZiBhbiBsdmFsX2Z1bmNzIG1ldGhvZCB0byBz ZWUgd2hldGhlciBhIHZhbHVlIGlzCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4 LTI4b2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0yOG9mMzUucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyOGRlYzIuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnox NDIwMzA0LXMzOTB4LTI4b2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAK LUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmks IDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5 MHgtMjhvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjhvZjM1 LnBhdGNoCi0KLWNvbW1pdCA1NTI0YjUyNTBlMzE5ZjQxOTMzNjA1NDIwZTk1MjZmYjc0Y2ZiOWFl Ci1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6 ICAgV2VkIEp1biAxNCAxNDoyNDowMyAyMDE3ICswMjAwCi0KLSAgICBGaXggcmVnaXN0ZXIgc2Vs ZWN0aW9uIGluIHZhci1hY2Nlc3MuZXhwCi0gICAgCi0gICAgVGhlIG5ldyB0ZXN0IHZhci1hY2Nl c3MuZXhwIGNhdXNlcyBGQUlMcyBvbiBpNjg2LiAgVGhpcyBpcyBiZWNhdXNlIHRoZQotICAgIHRl c3QgY2hvb3NlcyB0aGUgd3JvbmcgbmFtZSBmb3IgRFdBUkYgcmVnaXN0ZXIgbnVtYmVyIDE6IEl0 IHVzZXMKLSAgICAiZWR4IiAod2hpY2ggY29ycmVzcG9uZHMgdG8gRFdBUkYgcmVnaXN0ZXIgbnVt YmVyIDIpLCBidXQgc2hvdWxkIGhhdmUgdXNlZAotICAgICJlY3giIGluc3RlYWQuCi0gICAgCi0g ICAgQWxzbywgdGhlIGN1cnJlbnQgbG9naWMgaW4gdmFyLWFjY2Vzcy5leHAgZG9lcyBub3QgY29y cmVjdGx5IGRpc3Rpbmd1aXNoCi0gICAgYmV0d2VlbiBhIDY0LWJpdCBhbmQgYSAzMi1iaXQgcHJv Z3JhbSBvbiBhbiB4ODYtNjQgdGFyZ2V0LiAgSXQgdXNlcyB0aGUKLSAgICA2NC1iaXQgcmVnaXN0 ZXIgbmFtZXMgZm9yIGJvdGguCi0gICAgCi0gICAgVGhlc2UgcHJvYmxlbXMgYXJlIGZpeGVkLiAg SW4gb3JkZXIgdG8gYWRkcmVzcyB0aGUgbGF0dGVyLCB0aGUgY29udmVuaWVuY2UKLSAgICBtYWNy b3MgaXNfKl90YXJnZXQgYXJlIGV4cGxvaXRlZCB3aGVyZSBhcHByb3ByaWF0ZS4KLSAgICAKLSAg ICBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZ2RiLmR3YXJm Mi92YXItYWNjZXNzLmV4cDogVXNlIHJlZ2lzdGVyIG5hbWUgZWN4IGluc3RlYWQgb2YgZWR4Ci0g ICAgICAgICAgICBvbiAzMi1iaXQgeDg2IHRhcmdldHMuICBFeHBsb2l0IGlzXypfdGFyZ2V0IG1h Y3JvcyB3aGVyZQotICAgICAgICAgICAgYXBwcm9wcmlhdGUuCi0KLSMjIyBhL2dkYi90ZXN0c3Vp dGUvQ2hhbmdlTG9nCi0jIyMgYi9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwotIyMgLTEsMyArMSw5 IEBACi0rMjAxNy0wNi0xNCAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNv bT4KLSsKLSsJKiBnZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwOiBVc2UgcmVnaXN0ZXIgbmFtZSBl Y3ggaW5zdGVhZCBvZiBlZHgKLSsJb24gMzItYml0IHg4NiB0YXJnZXRzLiAgRXhwbG9pdCBpc18q X3RhcmdldCBtYWNyb3Mgd2hlcmUKLSsJYXBwcm9wcmlhdGUuCi0rCi0gMjAxNy0wNi0xMyAgQW5k cmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAKLSAJKiBnZGIuZHdhcmYy L3Zhci1hY2Nlc3MuZXhwOiBBZGQgdGVzdCBmb3Igbm9uLWJ5dGUtYWxpZ25lZAotLS0tIGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL3Zhci1hY2Nlc3MuZXhwCi0rKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvdmFyLWFjY2Vzcy5leHAKLUBAIC0yOCwxNiArMjgsMTYgQEAgaWYgeyFbZHdh cmYyX3N1cHBvcnRdfSB7Ci0gCi0gc2V0IGR3YXJmX3JlZ251bSB7MCAxfQotIAotLWlmIHsgW2lz dGFyZ2V0ICJhYXJjaDY0Ki0qLSoiXSB9IHsKLStpZiB7IFtpc19hYXJjaDY0X3RhcmdldF0gfSB7 Ci0gICAgIHNldCByZWduYW1lIHt4MCB4MX0KLS19IGVsc2VpZiB7IFtpc3RhcmdldCAiYXJtKi0q LSoiXQotK30gZWxzZWlmIHsgW2lzX2FhcmNoMzJfdGFyZ2V0XQotIAkgICB8fCBbaXN0YXJnZXQg InMzOTAqLSotKiIgXQotIAkgICB8fCBbaXN0YXJnZXQgInBvd2VycGMqLSotKiJdCi0gCSAgIHx8 IFtpc3RhcmdldCAicnM2MDAwKi0qLWFpeCoiXSB9IHsKLSAgICAgc2V0IHJlZ25hbWUge3IwIHIx fQotLX0gZWxzZWlmIHsgW2lzdGFyZ2V0ICJpPzg2LSotKiJdIH0gewotLSAgICBzZXQgcmVnbmFt ZSB7ZWF4IGVkeH0KLS19IGVsc2VpZiB7IFtpc3RhcmdldCAieDg2XzY0LSotKiJdIH0gewotK30g ZWxzZWlmIHsgW2lzX3g4Nl9saWtlX3RhcmdldF0gfSB7Ci0rICAgIHNldCByZWduYW1lIHtlYXgg ZWN4fQotK30gZWxzZWlmIHsgW2lzX2FtZDY0X3JlZ3NfdGFyZ2V0XSB9IHsKLSAgICAgc2V0IHJl Z25hbWUge3JheCByZHh9Ci0gfSBlbHNlIHsKLSAgICAgdmVyYm9zZSAiU2tpcHBpbmcgdGVzdHMg Zm9yIGFjY2Vzc2luZyBEV0FSRi1kZXNjcmliZWQgdmFyaWFibGVzLiIKCmRpZmYgLS1naXQgYS9n ZGItcmhiejE0MjAzMDQtczM5MHgtMjlvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4 LTI5b2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Y5NDg5ZS4uMDAw MDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMjlvZjM1LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMjAzICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBl bWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0 OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjlvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhi ejE0MjAzMDQtczM5MHgtMjlvZjM1LnBhdGNoCi0KLWNvbW1pdCBiNGNiYmU4ZjcyOTQwNzBjYzkz YTcxYWNlNzhmMTM0OTY1ZGRhZDgyCi1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJlbEBs aW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFRodSBKdW4gOCAxNzoyNDo1MCAyMDE3ICswMjAw Ci0KLSAgICBTLzM5MDogQWRkIHN1cHBvcnQgZm9yIHBnc3RlIG1hcmtlcgotICAgIAotICAgIFRo aXMgcGF0Y2ggYWRkcyBhIG5ldyBTLzM5MCBzcGVjaWZpYyBzZWdtZW50IHR5cGU6IFBUX1MzOTBf UEdTVEUuICBGb3IKLSAgICBiaW5hcmllcyBtYXJrZWQgd2l0aCB0aGF0IHNlZ21lbnQgdGhlIGtl cm5lbCB3aWxsIGFsbG9jYXRlIDRrIHBhZ2UKLSAgICB0YWJsZXMuICBUaGUgb25seSB1c2VyIHNv IGZhciB3aWxsIGJlIHFlbXUuCi0gICAgCi0gICAgbGQvQ2hhbmdlTG9nOgotICAgIAotICAgIDIw MTctMDYtMjMgIEFuZHJlYXMgS3JlYmJlbCAgPGtyZWJiZWxAbGludXgudm5ldC5pYm0uY29tPgot ICAgIAotICAgICAgICAgICAgKiBNYWtlZmlsZS5pbjogQWRkIHMzOTAuZW0gYXMgYnVpbGQgZGVw ZW5kZW5jeS4KLSAgICAgICAgICAgICogZW11bHBhcmFtcy9lbGY2NF9zMzkwLnNoIChFWFRSQV9F TV9GSUxFKTogQWRkIHMzOTAuZW0uCi0gICAgICAgICAgICAqIGVtdWx0ZW1wbC9zMzkwLmVtOiBO ZXcgZmlsZS4KLSAgICAgICAgICAgICogZ2VuLWRvYy50ZXhpOiBBZGQgZG9jdW1lbnRhdGlvbiBm b3IgLS1zMzkwLXBnc3RlIG9wdGlvbi4KLSAgICAgICAgICAgICogbGQudGV4aW5mbzogTGlrZXdp c2UuCi0gICAgCi0gICAgaW5jbHVkZS9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNi0yMyAg QW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAg ICAgICAgICAqIGVsZi9zMzkwLmggKFBUX1MzOTBfUEdTVEUpOiBEZWZpbmUgbWFjcm8uCi0gICAg Ci0gICAgYmludXRpbHMvQ2hhbmdlTG9nOgotICAgIAotICAgIDIwMTctMDYtMjMgIEFuZHJlYXMg S3JlYmJlbCAgPGtyZWJiZWxAbGludXgudm5ldC5pYm0uY29tPgotICAgIAotICAgICAgICAgICAg KiByZWFkZWxmLmMgKGdldF9zMzkwX3NlZ21lbnRfdHlwZSk6IEFkZCBzdXBwb3J0IGZvciB0aGUg bmV3Ci0gICAgICAgICAgICBzZWdtZW50IHR5cGUgUFRfUzM5MF9QR1NURS4KLSAgICAgICAgICAg IChnZXRfc2VnbWVudF90eXBlKTogQ2FsbCBnZXRfczM5MF9zZWdtZW50X3R5cGUuCi0gICAgCi0g ICAgZWxmY3BwL0NoYW5nZUxvZzoKLSAgICAKLSAgICAyMDE3LTA2LTIzICBBbmRyZWFzIEtyZWJi ZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAKLSAgICAgICAgICAgICogZWxm Y3BwLmggKGVudW0gUFQpOiBBZGQgUFRfUzM5MF9QR1NURSB0byBlbnVtLgotICAgIAotICAgIGJm ZC9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNi0yMyAgQW5kcmVhcyBLcmViYmVsICA8a3Jl YmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIGVsZi1zMzkwLmg6 IE5ldyBmaWxlLgotICAgICAgICAgICAgKiBlbGY2NC1zMzkwLmMgKHN0cnVjdCBlbGZfczM5MF9s aW5rX2hhc2hfdGFibGUpOiBBZGQgcGFyYW1zCi0gICAgICAgICAgICBmaWVsZC4KLSAgICAgICAg ICAgIChlbGZfczM5MF9hZGRpdGlvbmFsX3Byb2dyYW1faGVhZGVycyk6IE5ldyBmdW5jdGlvbi4K LSAgICAgICAgICAgIChlbGZfczM5MF9tb2RpZnlfc2VnbWVudF9tYXApOiBOZXcgZnVuY3Rpb24u Ci0gICAgICAgICAgICAoYmZkX2VsZl9zMzkwX3NldF9vcHRpb25zKTogTmV3IGZ1bmN0aW9uLgot ICAgICAgICAgICAgKGVsZl9iYWNrZW5kX2FkZGl0aW9uYWxfcHJvZ3JhbV9oZWFkZXJzKQotICAg ICAgICAgICAgKGVsZl9iYWNrZW5kX21vZGlmeV9zZWdtZW50X21hcCk6IEFkZCBtYWNybyBkZWZp bml0aW9ucy4KLQotLS0tIC9kZXYvbnVsbAotKysrIGIvYmZkL2VsZi1zMzkwLmgKLUBAIC0wLDAg KzEsMjkgQEAKLSsvKiBTLzM5MC1zcGVjaWZpYyBzdXBwb3J0IGZvciBFTEYuCi0rICAgQ29weXJp Z2h0IChDKSAyMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIEJGRCwgdGhlIEJpbmFyeSBGaWxlIERlc2NyaXB0b3IgbGlicmFyeS4K LSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYg bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotKyAgIEZvdW5kYXRpb24sIEluYy4sIDUx IEZyYW5rbGluIFN0cmVldCAtIEZpZnRoIEZsb29yLCBCb3N0b24sCi0rICAgTUEgMDIxMTAtMTMw MSwgVVNBLiAgKi8KLSsKLSsvKiBVc2VkIHRvIHBhc3MgaW5mbyBiZXR3ZWVuIGxkIGFuZCBiZmQu ICAqLwotK3N0cnVjdCBzMzkwX2VsZl9wYXJhbXMKLSt7Ci0rICAvKiBUZWxsIHRoZSBrZXJuZWwg dG8gYWxsb2NhdGUgNGsgcGFnZSB0YWJsZXMuICAqLwotKyAgaW50IHBnc3RlOwotK307Ci0rCi0r YmZkX2Jvb2xlYW4gYmZkX2VsZl9zMzkwX3NldF9vcHRpb25zIChzdHJ1Y3QgYmZkX2xpbmtfaW5m byAqaW5mbywKLSsJCQkJICAgICAgc3RydWN0IHMzOTBfZWxmX3BhcmFtcyAqcGFyYW1zKTsKLS0t LSBhL2JmZC9lbGY2NC1zMzkwLmMKLSsrKyBiL2JmZC9lbGY2NC1zMzkwLmMKLUBAIC0yNSw2ICsy NSw3IEBACi0gI2luY2x1ZGUgImxpYmJmZC5oIgotICNpbmNsdWRlICJlbGYtYmZkLmgiCi0gI2lu Y2x1ZGUgImVsZi9zMzkwLmgiCi0rI2luY2x1ZGUgImVsZi1zMzkwLmgiCi0gI2luY2x1ZGUgPHN0 ZGFyZy5oPgotIAotIC8qIEluIGNhc2Ugd2UncmUgb24gYSAzMi1iaXQgbWFjaGluZSwgY29uc3Ry dWN0IGEgNjQtYml0ICItMSIgdmFsdWUKLUBAIC02NjAsNiArNjYxLDkgQEAgc3RydWN0IGVsZl9z MzkwX2xpbmtfaGFzaF90YWJsZQotIAotICAgLyogU21hbGwgbG9jYWwgc3ltIGNhY2hlLiAgKi8K LSAgIHN0cnVjdCBzeW1fY2FjaGUgc3ltX2NhY2hlOwotKwotKyAgLyogT3B0aW9ucyBwYXNzZWQg ZnJvbSB0aGUgbGlua2VyLiAgKi8KLSsgIHN0cnVjdCBzMzkwX2VsZl9wYXJhbXMgKnBhcmFtczsK LSB9OwotIAotIC8qIEdldCB0aGUgczM5MCBFTEYgbGlua2VyIGhhc2ggdGFibGUgZnJvbSBhIGxp bmtfaW5mbyBzdHJ1Y3R1cmUuICAqLwotQEAgLTM5NjYsNiArMzk3MCw3MCBAQCBlbGY2NF9zMzkw X21lcmdlX3ByaXZhdGVfYmZkX2RhdGEgKGJmZCAqaWJmZCwgc3RydWN0IGJmZF9saW5rX2luZm8g KmluZm8pCi0gICByZXR1cm4gZWxmX3MzOTBfbWVyZ2Vfb2JqX2F0dHJpYnV0ZXMgKGliZmQsIGlu Zm8pOwotIH0KLSAKLSsvKiBXZSBtYXkgYWRkIGEgUFRfUzM5MF9QR1NURSBwcm9ncmFtIGhlYWRl ci4gICovCi0rCi0rc3RhdGljIGludAotK2VsZl9zMzkwX2FkZGl0aW9uYWxfcHJvZ3JhbV9oZWFk ZXJzIChiZmQgKmFiZmQgQVRUUklCVVRFX1VOVVNFRCwKLSsJCQkJICAgICBzdHJ1Y3QgYmZkX2xp bmtfaW5mbyAqaW5mbykKLSt7Ci0rICBzdHJ1Y3QgZWxmX3MzOTBfbGlua19oYXNoX3RhYmxlICpo dGFiOwotKwotKyAgaHRhYiA9IGVsZl9zMzkwX2hhc2hfdGFibGUgKGluZm8pOwotKyAgcmV0dXJu IGh0YWItPnBhcmFtcy0+cGdzdGU7Ci0rfQotKwotKwotKy8qIEFkZCB0aGUgUFRfUzM5MF9QR1NU RSBwcm9ncmFtIGhlYWRlci4gICovCi0rCi0rc3RhdGljIGJmZF9ib29sZWFuCi0rZWxmX3MzOTBf bW9kaWZ5X3NlZ21lbnRfbWFwIChiZmQgKmFiZmQgQVRUUklCVVRFX1VOVVNFRCwKLSsJCQkgICAg IHN0cnVjdCBiZmRfbGlua19pbmZvICppbmZvKQotK3sKLSsgIHN0cnVjdCBlbGZfczM5MF9saW5r X2hhc2hfdGFibGUgKmh0YWI7Ci0rICBzdHJ1Y3QgZWxmX3NlZ21lbnRfbWFwICptLCAqcG0gPSBO VUxMOwotKwotKyAgaHRhYiA9IGVsZl9zMzkwX2hhc2hfdGFibGUgKGluZm8pOwotKyAgaWYgKCFo dGFiLT5wYXJhbXMtPnBnc3RlKQotKyAgICByZXR1cm4gVFJVRTsKLSsKLSsgIC8qIElmIHRoZXJl IGlzIGFscmVhZHkgYSBQVF9TMzkwX1BHU1RFIGhlYWRlciwgYXZvaWQgYWRkaW5nCi0rICAgICBh bm90aGVyLiAgKi8KLSsgIG0gPSBlbGZfc2VnX21hcCAoYWJmZCk7Ci0rICB3aGlsZSAobSAmJiBt LT5wX3R5cGUgIT0gUFRfUzM5MF9QR1NURSkKLSsgICAgewotKyAgICAgIHBtID0gbTsKLSsgICAg ICBtID0gbS0+bmV4dDsKLSsgICAgfQotKwotKyAgaWYgKG0pCi0rICAgIHJldHVybiBUUlVFOwot KwotKyAgbSA9IChzdHJ1Y3QgZWxmX3NlZ21lbnRfbWFwICopCi0rICAgIGJmZF96YWxsb2MgKGFi ZmQsIHNpemVvZiAoc3RydWN0IGVsZl9zZWdtZW50X21hcCkpOwotKyAgaWYgKG0gPT0gTlVMTCkK LSsgICAgcmV0dXJuIEZBTFNFOwotKyAgbS0+cF90eXBlID0gUFRfUzM5MF9QR1NURTsKLSsgIG0t PmNvdW50ID0gMDsKLSsgIG0tPm5leHQgPSBOVUxMOwotKyAgaWYgKHBtKQotKyAgICBwbS0+bmV4 dCA9IG07Ci0rCi0rICByZXR1cm4gVFJVRTsKLSt9Ci0rCi0rYmZkX2Jvb2xlYW4KLStiZmRfZWxm X3MzOTBfc2V0X29wdGlvbnMgKHN0cnVjdCBiZmRfbGlua19pbmZvICppbmZvLAotKwkJCSAgc3Ry dWN0IHMzOTBfZWxmX3BhcmFtcyAqcGFyYW1zKQotK3sKLSsgIHN0cnVjdCBlbGZfczM5MF9saW5r X2hhc2hfdGFibGUgKmh0YWI7Ci0rCi0rICBodGFiID0gZWxmX3MzOTBfaGFzaF90YWJsZSAoaW5m byk7Ci0rICBodGFiLT5wYXJhbXMgPSBwYXJhbXM7Ci0rCi0rICByZXR1cm4gVFJVRTsKLSt9Ci0r Ci0rCi0gLyogV2h5IHdhcyB0aGUgaGFzaCB0YWJsZSBlbnRyeSBzaXplIGRlZmluaXRpb24gY2hh bmdlZCBmcm9tCi0gICAgQVJDSF9TSVpFLzggdG8gND8gVGhpcyBicmVha3MgdGhlIDY0IGJpdCBk eW5hbWljIGxpbmtlciBhbmQKLSAgICB0aGlzIGlzIHRoZSBvbmx5IHJlYXNvbiBmb3IgdGhlIHMz OTBfZWxmNjRfc2l6ZV9pbmZvIHN0cnVjdHVyZS4gICovCi1AQCAtNDA0Niw2ICs0MTE0LDggQEAg Y29uc3Qgc3RydWN0IGVsZl9zaXplX2luZm8gczM5MF9lbGY2NF9zaXplX2luZm8gPQotICNkZWZp bmUgZWxmX2JhY2tlbmRfcGx0X3N5bV92YWwJCSAgICAgIGVsZl9zMzkwX3BsdF9zeW1fdmFsCi0g I2RlZmluZSBlbGZfYmFja2VuZF9hZGRfc3ltYm9sX2hvb2sgICAgICAgICAgIGVsZl9zMzkwX2Fk ZF9zeW1ib2xfaG9vawotICNkZWZpbmUgZWxmX2JhY2tlbmRfc29ydF9yZWxvY3NfcCAgICAgICAg ICAgICBlbGZfczM5MF9lbGZfc29ydF9yZWxvY3NfcAotKyNkZWZpbmUgZWxmX2JhY2tlbmRfYWRk aXRpb25hbF9wcm9ncmFtX2hlYWRlcnMgZWxmX3MzOTBfYWRkaXRpb25hbF9wcm9ncmFtX2hlYWRl cnMKLSsjZGVmaW5lIGVsZl9iYWNrZW5kX21vZGlmeV9zZWdtZW50X21hcAkgICAgICBlbGZfczM5 MF9tb2RpZnlfc2VnbWVudF9tYXAKLSAKLSAjZGVmaW5lIGJmZF9lbGY2NF9ta29iamVjdAkJZWxm X3MzOTBfbWtvYmplY3QKLSAjZGVmaW5lIGVsZl9iYWNrZW5kX29iamVjdF9wCQllbGZfczM5MF9v YmplY3RfcAotLS0tIGEvaW5jbHVkZS9lbGYvczM5MC5oCi0rKysgYi9pbmNsdWRlL2VsZi9zMzkw LmgKLUBAIC0zNyw2ICszNyw5IEBACi0gCi0gI2RlZmluZSBFRl9TMzkwX0hJR0hfR1BSUyAgICAg ICAgMHgwMDAwMDAwMQotIAotKy8qIFJlcXVlc3QgNGsgcGFnZSB0YWJsZSBzaXplLiAgKi8KLSsj ZGVmaW5lIFBUX1MzOTBfUEdTVEUgKFBUX0xPUFJPQyArIDApCi0rCi0gLyogUmVsb2NhdGlvbiB0 eXBlcy4gICovCi0gCi0gU1RBUlRfUkVMT0NfTlVNQkVSUyAoZWxmX3MzOTBfcmVsb2NfdHlwZSkK CmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMzBvZjM1LnBhdGNoIGIvZ2RiLXJo YnoxNDIwMzA0LXMzOTB4LTMwb2YzNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggOWRkNGE4Yi4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0MjAzMDQtczM5MHgtMzBvZjM1LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRj aGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAg KzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0zMG9mMzUucGF0Y2gKLQotRmls ZU5hbWU6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0zMG9mMzUucGF0Y2gKLQotY29tbWl0IDkzZWM1 ZTIzNzY2YTlmNzVhYTQ5NTA3NDhjZjczOTY0MDI4YThkMWIKLUF1dGhvcjogQW5kcmVhcyBLcmVi YmVsIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgTW9uIEp1biAyNiAxMTow MTo1OCAyMDE3ICswMjAwCi0KLSAgICBTLzM5MDogRml4IHRlc3RzdWl0ZSBzZWdmYXVsdCBhZGRl ZCB3aXRoIHJlY2VudCBwZ3N0ZSBwYXRjaC4KLSAgICAKLSAgICBUaGUgcmVjZW50IHBnc3RlIHBh dGNoIGNhdXNlZCBzZXZlcmFsIHRlc3RjYXNlcyB0byBmYWlsIHdpdGggYQotICAgIHNlZ2ZhdWx0 LiAgRml4ZWQgd2l0aCB0aGlzIHBhdGNoIGJ5IGFkZGluZyBOVUxMIHBvaW50ZXIgY2hlY2tzLgot ICAgIAotICAgIHJlZ3Jlc3Npb24tdGVzdGVkIG9uIHMzOTB4LgotICAgIAotICAgIGJmZC9DaGFu Z2VMb2c6Ci0gICAgCi0gICAgMjAxNy0wNi0yNiAgQW5kcmVhcyBLcmViYmVsICA8a3JlYmJlbEBs aW51eC52bmV0LmlibS5jb20+Ci0gICAgCi0gICAgICAgICAgICAqIGVsZjY0LXMzOTAuYyAoZWxm X3MzOTBfYWRkaXRpb25hbF9wcm9ncmFtX2hlYWRlcnMpOiBBZGQgTlVMTAotICAgICAgICAgICAg cG9pbnRlciBjaGVja3MuCi0gICAgICAgICAgICAoZWxmX3MzOTBfbW9kaWZ5X3NlZ21lbnRfbWFw KTogTGlrZXdpc2UuCi0gICAgICAgICAgICAoYmZkX2VsZl9zMzkwX3NldF9vcHRpb25zKTogTGlz ZXdpc2UuCi0KLSMjIyBhL2JmZC9DaGFuZ2VMb2cKLSMjIyBiL2JmZC9DaGFuZ2VMb2cKLSMjIC0x LDMgKzEsMTAgQEAKLSsyMDE3LTA2LTI2ICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVsQGxpbnV4 LnZuZXQuaWJtLmNvbT4KLSsKLSsJKiBlbGY2NC1zMzkwLmMgKGVsZl9zMzkwX2FkZGl0aW9uYWxf cHJvZ3JhbV9oZWFkZXJzKTogQWRkIE5VTEwKLSsJcG9pbnRlciBjaGVja3MuCi0rCShlbGZfczM5 MF9tb2RpZnlfc2VnbWVudF9tYXApOiBMaWtld2lzZS4KLSsJKGJmZF9lbGZfczM5MF9zZXRfb3B0 aW9ucyk6IExpc2V3aXNlLgotKwotIDIwMTctMDYtMjYgIEFsYW4gTW9kcmEgIDxhbW9kcmFAZ21h aWwuY29tPgotIAotIAkqIGVsZmxpbmsuYyAoX2JmZF9lbGZfbGlua19jcmVhdGVfZHluc3RydGFi KTogRG9uJ3QgbWFrZSBkeW5vYmoKLS0tLSBhL2JmZC9lbGY2NC1zMzkwLmMKLSsrKyBiL2JmZC9l bGY2NC1zMzkwLmMKLUBAIC0zOTc4LDIyICszOTc4LDI5IEBAIGVsZl9zMzkwX2FkZGl0aW9uYWxf cHJvZ3JhbV9oZWFkZXJzIChiZmQgKmFiZmQgQVRUUklCVVRFX1VOVVNFRCwKLSB7Ci0gICBzdHJ1 Y3QgZWxmX3MzOTBfbGlua19oYXNoX3RhYmxlICpodGFiOwotIAotLSAgaHRhYiA9IGVsZl9zMzkw X2hhc2hfdGFibGUgKGluZm8pOwotLSAgcmV0dXJuIGh0YWItPnBhcmFtcy0+cGdzdGU7Ci0rICBp ZiAoaW5mbykKLSsgICAgewotKyAgICAgIGh0YWIgPSBlbGZfczM5MF9oYXNoX3RhYmxlIChpbmZv KTsKLSsgICAgICBpZiAoaHRhYikKLSsJcmV0dXJuIGh0YWItPnBhcmFtcy0+cGdzdGU7Ci0rICAg IH0KLSsgIHJldHVybiAwOwotIH0KLSAKLSAKLSAvKiBBZGQgdGhlIFBUX1MzOTBfUEdTVEUgcHJv Z3JhbSBoZWFkZXIuICAqLwotIAotIHN0YXRpYyBiZmRfYm9vbGVhbgotLWVsZl9zMzkwX21vZGlm eV9zZWdtZW50X21hcCAoYmZkICphYmZkIEFUVFJJQlVURV9VTlVTRUQsCi0tCQkJICAgICBzdHJ1 Y3QgYmZkX2xpbmtfaW5mbyAqaW5mbykKLStlbGZfczM5MF9tb2RpZnlfc2VnbWVudF9tYXAgKGJm ZCAqYWJmZCwgc3RydWN0IGJmZF9saW5rX2luZm8gKmluZm8pCi0gewotICAgc3RydWN0IGVsZl9z MzkwX2xpbmtfaGFzaF90YWJsZSAqaHRhYjsKLSAgIHN0cnVjdCBlbGZfc2VnbWVudF9tYXAgKm0s ICpwbSA9IE5VTEw7Ci0gCi0rICBpZiAoIWFiZmQgfHwgIWluZm8pCi0rICAgIHJldHVybiBUUlVF OwotKwotICAgaHRhYiA9IGVsZl9zMzkwX2hhc2hfdGFibGUgKGluZm8pOwotLSAgaWYgKCFodGFi LT5wYXJhbXMtPnBnc3RlKQotKyAgaWYgKCFodGFiIHx8ICFodGFiLT5wYXJhbXMtPnBnc3RlKQot ICAgICByZXR1cm4gVFJVRTsKLSAKLSAgIC8qIElmIHRoZXJlIGlzIGFscmVhZHkgYSBQVF9TMzkw X1BHU1RFIGhlYWRlciwgYXZvaWQgYWRkaW5nCi1AQCAtNDAyNyw4ICs0MDM0LDEyIEBAIGJmZF9l bGZfczM5MF9zZXRfb3B0aW9ucyAoc3RydWN0IGJmZF9saW5rX2luZm8gKmluZm8sCi0gewotICAg c3RydWN0IGVsZl9zMzkwX2xpbmtfaGFzaF90YWJsZSAqaHRhYjsKLSAKLS0gIGh0YWIgPSBlbGZf czM5MF9oYXNoX3RhYmxlIChpbmZvKTsKLS0gIGh0YWItPnBhcmFtcyA9IHBhcmFtczsKLSsgIGlm IChpbmZvKQotKyAgICB7Ci0rICAgICAgaHRhYiA9IGVsZl9zMzkwX2hhc2hfdGFibGUgKGluZm8p OwotKyAgICAgIGlmIChodGFiKQotKwlodGFiLT5wYXJhbXMgPSBwYXJhbXM7Ci0rICAgIH0KLSAK LSAgIHJldHVybiBUUlVFOwotIH0KCmRpZmYgLS1naXQgYS9nZGItcmhiejE0MjAzMDQtczM5MHgt MzFvZjM1LnBhdGNoIGIvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTMxb2YzNS5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDM0YTYyOC4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0 MjAzMDQtczM5MHgtMzFvZjM1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTc1ICswLDAgQEAK LUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmks IDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5 MHgtMzFvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzFvZjM1 LnBhdGNoCi0KLWNvbW1pdCA4OGFiOTBlODYwYTQ2YTExMjNmY2ZkMTNiZmU1MWNkMzYwZTljM2Y3 Ci1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6 ICAgVGh1IEp1biAyOSAxMDozMDowOSAyMDE3ICswMjAwCi0KLSAgICBTMzkwOiBTdXBwb3J0IGd1 YXJkZWQtc3RvcmFnZSBjb3JlIG5vdGUgc2VjdGlvbnMKLSAgICAKLSAgICBOZXdlciBMaW51eCBr ZXJuZWwgdmVyc2lvbnMgb2ZmZXIgdHdvIG5ldyByZWdpc3RlciBzZXRzIGluIHN1cHBvcnQgb2Yg dGhlCi0gICAgei9BcmNoaXRlY3R1cmUncyBndWFyZGVkIHN0b3JhZ2UgZmFjaWxpdHk6IE5UX1Mz OTBfR1NfQ0IsIHRoZQotICAgICJndWFyZGVkLXN0b3JhZ2UgcmVnaXN0ZXJzIiwgYW5kIE5UX1Mz OTBfR1NfQkMsIHRoZSAiZ3VhcmRlZC1zdG9yYWdlCi0gICAgYnJvYWRjYXN0IGNvbnRyb2wgYmxv Y2siLiAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIHRoZSByZXNwZWN0aXZlIGNvcmUKLSAg ICBub3RlcyBzZWN0aW9ucyB0byBiaW51dGlscy4KLSAgICAKLSAgICBiZmQvQ2hhbmdlTG9nOgot ICAgICAgICAgICAgKiBlbGYtYmZkLmggKGVsZmNvcmVfd3JpdGVfczM5MF9nc19jYik6IEFkZCBw cm90b3R5cGUuCi0gICAgICAgICAgICAoZWxmY29yZV93cml0ZV9zMzkwX2dzX2JjKTogTGlrZXdp c2UuCi0gICAgICAgICAgICAqIGVsZi5jIChlbGZjb3JlX2dyb2tfczM5MF9nc19jYik6IE5ldyBm dW5jdGlvbi4KLSAgICAgICAgICAgIChlbGZjb3JlX2dyb2tfczM5MF9nc19iYyk6IE5ldyBmdW5j dGlvbi4KLSAgICAgICAgICAgIChlbGZjb3JlX2dyb2tfbm90ZSk6IENhbGwgdGhlbS4KLSAgICAg ICAgICAgIChlbGZjb3JlX3dyaXRlX3MzOTBfZ3NfY2IpOiBOZXcgZnVuY3Rpb24uCi0gICAgICAg ICAgICAoZWxmY29yZV93cml0ZV9zMzkwX2dzX2JjKTogTmV3IGZ1bmN0aW9uLgotICAgICAgICAg ICAgKGVsZmNvcmVfd3JpdGVfcmVnaXN0ZXJfbm90ZSk6IENhbGwgdGhlbS4KLSAgICAKLSAgICBi aW51dGlscy9DaGFuZ2VMb2c6Ci0gICAgICAgICAgICAqIHJlYWRlbGYuYyAoZ2V0X25vdGVfdHlw ZSk6IEFkZCBOVF9TMzkwX0dTX0NCIGFuZCBOVF9TMzkwX0dTX0JDLgotICAgIAotICAgIGluY2x1 ZGUvQ2hhbmdlTG9nOgotICAgICAgICAgICAgKiBlbGYvY29tbW9uLmggKE5UX1MzOTBfR1NfQ0Ip OiBOZXcgbWFjcm8uCi0gICAgICAgICAgICAoTlRfUzM5MF9HU19CQyk6IExpa2V3aXNlLgotCi0j IyMgYS9iZmQvQ2hhbmdlTG9nCi0jIyMgYi9iZmQvQ2hhbmdlTG9nCi0jIyAtMSwzICsxLDE0IEBA Ci0rMjAxNy0wNi0yOSAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4K LSsKLSsJKiBlbGYtYmZkLmggKGVsZmNvcmVfd3JpdGVfczM5MF9nc19jYik6IEFkZCBwcm90b3R5 cGUuCi0rCShlbGZjb3JlX3dyaXRlX3MzOTBfZ3NfYmMpOiBMaWtld2lzZS4KLSsJKiBlbGYuYyAo ZWxmY29yZV9ncm9rX3MzOTBfZ3NfY2IpOiBOZXcgZnVuY3Rpb24uCi0rCShlbGZjb3JlX2dyb2tf czM5MF9nc19iYyk6IE5ldyBmdW5jdGlvbi4KLSsJKGVsZmNvcmVfZ3Jva19ub3RlKTogQ2FsbCB0 aGVtLgotKwkoZWxmY29yZV93cml0ZV9zMzkwX2dzX2NiKTogTmV3IGZ1bmN0aW9uLgotKwkoZWxm Y29yZV93cml0ZV9zMzkwX2dzX2JjKTogTmV3IGZ1bmN0aW9uLgotKwkoZWxmY29yZV93cml0ZV9y ZWdpc3Rlcl9ub3RlKTogQ2FsbCB0aGVtLgotKwotIDIwMTctMDYtMjggIEguSi4gTHUgIDxob25n aml1Lmx1QGludGVsLmNvbT4KLSAKLSAJKiBsaWJiZmQuYyAoX2JmZF9nZW5lcmljX2dldF9zZWN0 aW9uX2NvbnRlbnRzKTogRG9uJ3QgY2FsbAotLS0tIGEvYmZkL2VsZi1iZmQuaAotKysrIGIvYmZk L2VsZi1iZmQuaAotQEAgLTI1MzMsNiArMjUzMywxMCBAQCBleHRlcm4gY2hhciAqZWxmY29yZV93 cml0ZV9zMzkwX3Z4cnNfbG93Ci0gICAoYmZkICosIGNoYXIgKiwgaW50ICosIGNvbnN0IHZvaWQg KiwgaW50KTsKLSBleHRlcm4gY2hhciAqZWxmY29yZV93cml0ZV9zMzkwX3Z4cnNfaGlnaAotICAg KGJmZCAqLCBjaGFyICosIGludCAqLCBjb25zdCB2b2lkICosIGludCk7Ci0rZXh0ZXJuIGNoYXIg KmVsZmNvcmVfd3JpdGVfczM5MF9nc19jYgotKyAgKGJmZCAqLCBjaGFyICosIGludCAqLCBjb25z dCB2b2lkICosIGludCk7Ci0rZXh0ZXJuIGNoYXIgKmVsZmNvcmVfd3JpdGVfczM5MF9nc19iYwot KyAgKGJmZCAqLCBjaGFyICosIGludCAqLCBjb25zdCB2b2lkICosIGludCk7Ci0gZXh0ZXJuIGNo YXIgKmVsZmNvcmVfd3JpdGVfYXJtX3ZmcAotICAgKGJmZCAqLCBjaGFyICosIGludCAqLCBjb25z dCB2b2lkICosIGludCk7Ci0gZXh0ZXJuIGNoYXIgKmVsZmNvcmVfd3JpdGVfYWFyY2hfdGxzCi0t LS0gYS9iZmQvZWxmLmMKLSsrKyBiL2JmZC9lbGYuYwotQEAgLTkxOTEsNiArOTE5MSwxOCBAQCBl bGZjb3JlX2dyb2tfczM5MF92eHJzX2hpZ2ggKGJmZCAqYWJmZCwgRWxmX0ludGVybmFsX05vdGUg Km5vdGUpCi0gfQotIAotIHN0YXRpYyBiZmRfYm9vbGVhbgotK2VsZmNvcmVfZ3Jva19zMzkwX2dz X2NiIChiZmQgKmFiZmQsIEVsZl9JbnRlcm5hbF9Ob3RlICpub3RlKQotK3sKLSsgIHJldHVybiBl bGZjb3JlX21ha2Vfbm90ZV9wc2V1ZG9zZWN0aW9uIChhYmZkLCAiLnJlZy1zMzkwLWdzLWNiIiwg bm90ZSk7Ci0rfQotKwotK3N0YXRpYyBiZmRfYm9vbGVhbgotK2VsZmNvcmVfZ3Jva19zMzkwX2dz X2JjIChiZmQgKmFiZmQsIEVsZl9JbnRlcm5hbF9Ob3RlICpub3RlKQotK3sKLSsgIHJldHVybiBl bGZjb3JlX21ha2Vfbm90ZV9wc2V1ZG9zZWN0aW9uIChhYmZkLCAiLnJlZy1zMzkwLWdzLWJjIiwg bm90ZSk7Ci0rfQotKwotK3N0YXRpYyBiZmRfYm9vbGVhbgotIGVsZmNvcmVfZ3Jva19hcm1fdmZw IChiZmQgKmFiZmQsIEVsZl9JbnRlcm5hbF9Ob3RlICpub3RlKQotIHsKLSAgIHJldHVybiBlbGZj b3JlX21ha2Vfbm90ZV9wc2V1ZG9zZWN0aW9uIChhYmZkLCAiLnJlZy1hcm0tdmZwIiwgbm90ZSk7 Ci1AQCAtOTY2OCw2ICs5NjgwLDIwIEBAIGVsZmNvcmVfZ3Jva19ub3RlIChiZmQgKmFiZmQsIEVs Zl9JbnRlcm5hbF9Ob3RlICpub3RlKQotICAgICAgIGVsc2UKLSAJcmV0dXJuIFRSVUU7Ci0gCi0r ICAgIGNhc2UgTlRfUzM5MF9HU19DQjoKLSsgICAgICBpZiAobm90ZS0+bmFtZXN6ID09IDYKLSsJ ICAmJiBzdHJjbXAgKG5vdGUtPm5hbWVkYXRhLCAiTElOVVgiKSA9PSAwKQotKwlyZXR1cm4gZWxm Y29yZV9ncm9rX3MzOTBfZ3NfYmMgKGFiZmQsIG5vdGUpOwotKyAgICAgIGVsc2UKLSsJcmV0dXJu IFRSVUU7Ci0rCi0rICAgIGNhc2UgTlRfUzM5MF9HU19CQzoKLSsgICAgICBpZiAobm90ZS0+bmFt ZXN6ID09IDYKLSsJICAmJiBzdHJjbXAgKG5vdGUtPm5hbWVkYXRhLCAiTElOVVgiKSA9PSAwKQot KwlyZXR1cm4gZWxmY29yZV9ncm9rX3MzOTBfZ3NfY2IgKGFiZmQsIG5vdGUpOwotKyAgICAgIGVs c2UKLSsJcmV0dXJuIFRSVUU7Ci0rCi0gICAgIGNhc2UgTlRfQVJNX1ZGUDoKLSAgICAgICBpZiAo bm90ZS0+bmFtZXN6ID09IDYKLSAJICAmJiBzdHJjbXAgKG5vdGUtPm5hbWVkYXRhLCAiTElOVVgi KSA9PSAwKQotQEAgLTEwNzI4LDYgKzEwNzU0LDMyIEBAIGVsZmNvcmVfd3JpdGVfczM5MF92eHJz X2hpZ2ggKGJmZCAqYWJmZCwKLSB9Ci0gCi0gY2hhciAqCi0rZWxmY29yZV93cml0ZV9zMzkwX2dz X2NiIChiZmQgKmFiZmQsCi0rCQkJICBjaGFyICpidWYsCi0rCQkJICBpbnQgKmJ1ZnNpeiwKLSsJ CQkgIGNvbnN0IHZvaWQgKnMzOTBfZ3NfY2IsCi0rCQkJICBpbnQgc2l6ZSkKLSt7Ci0rICBjaGFy ICpub3RlX25hbWUgPSAiTElOVVgiOwotKyAgcmV0dXJuIGVsZmNvcmVfd3JpdGVfbm90ZSAoYWJm ZCwgYnVmLCBidWZzaXosCi0rCQkJICAgICBub3RlX25hbWUsIE5UX1MzOTBfR1NfQ0IsCi0rCQkJ ICAgICBzMzkwX2dzX2NiLCBzaXplKTsKLSt9Ci0rCi0rY2hhciAqCi0rZWxmY29yZV93cml0ZV9z MzkwX2dzX2JjIChiZmQgKmFiZmQsCi0rCQkJICBjaGFyICpidWYsCi0rCQkJICBpbnQgKmJ1ZnNp eiwKLSsJCQkgIGNvbnN0IHZvaWQgKnMzOTBfZ3NfYmMsCi0rCQkJICBpbnQgc2l6ZSkKLSt7Ci0r ICBjaGFyICpub3RlX25hbWUgPSAiTElOVVgiOwotKyAgcmV0dXJuIGVsZmNvcmVfd3JpdGVfbm90 ZSAoYWJmZCwgYnVmLCBidWZzaXosCi0rCQkJICAgICBub3RlX25hbWUsIE5UX1MzOTBfR1NfQkMs Ci0rCQkJICAgICBzMzkwX2dzX2JjLCBzaXplKTsKLSt9Ci0rCi0rY2hhciAqCi0gZWxmY29yZV93 cml0ZV9hcm1fdmZwIChiZmQgKmFiZmQsCi0gCQkgICAgICAgY2hhciAqYnVmLAotIAkJICAgICAg IGludCAqYnVmc2l6LAotQEAgLTEwODE1LDYgKzEwODY3LDEwIEBAIGVsZmNvcmVfd3JpdGVfcmVn aXN0ZXJfbm90ZSAoYmZkICphYmZkLAotICAgICByZXR1cm4gZWxmY29yZV93cml0ZV9zMzkwX3Z4 cnNfbG93IChhYmZkLCBidWYsIGJ1ZnNpeiwgZGF0YSwgc2l6ZSk7Ci0gICBpZiAoc3RyY21wIChz ZWN0aW9uLCAiLnJlZy1zMzkwLXZ4cnMtaGlnaCIpID09IDApCi0gICAgIHJldHVybiBlbGZjb3Jl X3dyaXRlX3MzOTBfdnhyc19oaWdoIChhYmZkLCBidWYsIGJ1ZnNpeiwgZGF0YSwgc2l6ZSk7Ci0r ICBpZiAoc3RyY21wIChzZWN0aW9uLCAiLnJlZy1zMzkwLWdzLWNiIikgPT0gMCkKLSsgICAgcmV0 dXJuIGVsZmNvcmVfd3JpdGVfczM5MF9nc19jYiAoYWJmZCwgYnVmLCBidWZzaXosIGRhdGEsIHNp emUpOwotKyAgaWYgKHN0cmNtcCAoc2VjdGlvbiwgIi5yZWctczM5MC1ncy1iYyIpID09IDApCi0r ICAgIHJldHVybiBlbGZjb3JlX3dyaXRlX3MzOTBfZ3NfYmMgKGFiZmQsIGJ1ZiwgYnVmc2l6LCBk YXRhLCBzaXplKTsKLSAgIGlmIChzdHJjbXAgKHNlY3Rpb24sICIucmVnLWFybS12ZnAiKSA9PSAw KQotICAgICByZXR1cm4gZWxmY29yZV93cml0ZV9hcm1fdmZwIChhYmZkLCBidWYsIGJ1ZnNpeiwg ZGF0YSwgc2l6ZSk7Ci0gICBpZiAoc3RyY21wIChzZWN0aW9uLCAiLnJlZy1hYXJjaC10bHMiKSA9 PSAwKQotIyMjIGEvaW5jbHVkZS9DaGFuZ2VMb2cKLSMjIyBiL2luY2x1ZGUvQ2hhbmdlTG9nCi0j IyAtMSwzICsxLDggQEAKLSsyMDE3LTA2LTI5ICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgu dm5ldC5pYm0uY29tPgotKwotKwkqIGVsZi9jb21tb24uaCAoTlRfUzM5MF9HU19DQik6IE5ldyBt YWNyby4KLSsJKE5UX1MzOTBfR1NfQkMpOiBMaWtld2lzZS4KLSsKLSAyMDE3LTA2LTI4ICBUYW1h ciBDaHJpc3RpbmEgIDx0YW1hci5jaHJpc3RpbmFAYXJtLmNvbT4KLSAKLSAJKiBvcGNvZGUvYWFy Y2g2NC5oOiAoQUFSQ0g2NF9GRUFUVVJFX0RPVFBST0QpOiBOZXcuCi0tLS0gYS9pbmNsdWRlL2Vs Zi9jb21tb24uaAotKysrIGIvaW5jbHVkZS9lbGYvY29tbW9uLmgKLUBAIC01OTgsNiArNTk4LDEw IEBACi0gCQkJCQkvKiAgIG5vdGUgbmFtZSBtdXN0IGJlICJMSU5VWCIuICAqLwotICNkZWZpbmUg TlRfUzM5MF9WWFJTX0hJR0gJMHgzMGEJLyogUzM5MCB2ZWN0b3IgcmVnaXN0ZXJzIDE2LTMxICov Ci0gCQkJCQkvKiAgIG5vdGUgbmFtZSBtdXN0IGJlICJMSU5VWCIuICAqLwotKyNkZWZpbmUgTlRf UzM5MF9HU19DQgkweDMwYgkJLyogczM5MCBndWFyZGVkIHN0b3JhZ2UgcmVnaXN0ZXJzICovCi0r CQkJCQkvKiAgIG5vdGUgbmFtZSBtdXN0IGJlICJMSU5VWCIuICAqLwotKyNkZWZpbmUgTlRfUzM5 MF9HU19CQwkweDMwYwkJLyogczM5MCBndWFyZGVkIHN0b3JhZ2UgYnJvYWRjYXN0IGNvbnRyb2wg YmxvY2sgKi8KLSsJCQkJCS8qICAgbm90ZSBuYW1lIG11c3QgYmUgIkxJTlVYIi4gICovCi0gI2Rl ZmluZSBOVF9BUk1fVkZQCTB4NDAwCQkvKiBBUk0gVkZQIHJlZ2lzdGVycyAqLwotIC8qIFRoZSBm b2xsb3dpbmcgZGVmaW5pdGlvbnMgc2hvdWxkIHJlYWxseSB1c2UgTlRfQUFSQ0hfLi4uLCBidXQg ZGVmaW5lZAotICAgIHRoaXMgd2F5IGZvciBjb21wYXRpYmlsaXR5IHdpdGggTGludXguICAqLwoK ZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0zMm9mMzUucGF0Y2ggYi9nZGItcmhi ejE0MjAzMDQtczM5MHgtMzJvZjM1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAxM2Y0OTIyLi4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0zMm9mMzUucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzODYgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRj aGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAg KzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0zMm9mMzUucGF0Y2gKLQotRmls ZU5hbWU6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0zMm9mMzUucGF0Y2gKLQotY29tbWl0IDU1ZWZj ZWFiYzYxNDllOTYxMzRjMTA2NzZhZGIyYjFlNzllMGFlMTMKLUF1dGhvcjogQW5kcmVhcyBBcm5l eiA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotRGF0ZTogICBUaHUgSnVsIDEzIDIwOjE3OjAz IDIwMTcgKzAyMDAKLQotICAgIFMzOTA6IEFkZCByZWNvcmQvcmVwbGF5IHN1cHBvcnQgZm9yIGFy Y2gxMiBpbnN0cnVjdGlvbnMKLSAgICAKLSAgICBTdXBwb3J0IHJlY29yZC9yZXBsYXkgb2YgdGhl IHovQXJjaGl0ZWN0dXJlIGluc3RydWN0aW9ucyB0aGF0IHdlcmUKLSAgICBpbnRyb2R1Y2VkIHdp dGggYXJjaDEyLgotICAgIAotICAgIGdkYi9DaGFuZ2VMb2c6Ci0gICAgCi0gICAgICAgICAgICAq IHMzOTAtbGludXgtdGRlcC5jIChzMzkwX3Byb2Nlc3NfcmVjb3JkKTogQWRkIHN1cHBvcnQgZm9y Ci0gICAgICAgICAgICBpbnN0cnVjdGlvbnMgbmV3IGluIGFyY2gxMi4KLQotIyMjIGEvZ2RiL0No YW5nZUxvZwotIyMjIGIvZ2RiL0NoYW5nZUxvZwotIyMgLTEsMyArMSw4IEBACi0rMjAxNy0wNy0x MyAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLSsKLSsJKiBzMzkw LWxpbnV4LXRkZXAuYyAoczM5MF9wcm9jZXNzX3JlY29yZCk6IEFkZCBzdXBwb3J0IGZvcgotKwlp bnN0cnVjdGlvbnMgbmV3IGluIGFyY2gxMi4KLSsKLSAyMDE3LTA3LTExICBKb2huIEJhbGR3aW4g IDxqaGJARnJlZUJTRC5vcmc+Ci0gCi0gCSogYW1kNjQtYnNkLW5hdC5jIChhbWQ2NGJzZF9mZXRj aF9pbmZlcmlvcl9yZWdpc3RlcnMpOiBVc2UKLS0tLSBhL2dkYi9zMzkwLWxpbnV4LXRkZXAuYwot KysrIGIvZ2RiL3MzOTAtbGludXgtdGRlcC5jCi1AQCAtNDk5Miw2ICs0OTkyLDggQEAgZXg6Ci0g ICAgICAgICBjYXNlIDB4YjllOTogLyogU0dSSyAtIHN1YnRyYWN0ICovCi0gICAgICAgICBjYXNl IDB4YjllYTogLyogQUxHUksgLSBhZGQgbG9naWNhbCAqLwotICAgICAgICAgY2FzZSAweGI5ZWI6 IC8qIFNMR1JLIC0gc3VidHJhY3QgbG9naWNhbCAqLwotKwljYXNlIDB4YjllZDogLyogTVNHUktD IC0gbXVsdGlwbHkgc2luZ2xlIDY0eDY0IC0+IDY0ICovCi0rCWNhc2UgMHhiOWZkOiAvKiBNU1JL QyAtIG11bHRpcGx5IHNpbmdsZSAzMngzMiAtPiAzMiAqLwotICAgICAgICAgICAvKiA2NC1iaXQg Z3ByIGRlc3RpbmF0aW9uICsgZmxhZ3MgKi8KLSAgICAgICAgICAgaWYgKHMzOTBfcmVjb3JkX2dw cl9nIChnZGJhcmNoLCByZWdjYWNoZSwgaW5pYls2XSkpCi0gICAgICAgICAgICAgcmV0dXJuIC0x OwotQEAgLTUwMTksNyArNTAyMSw3IEBAIGV4OgotICAgICAgICAgY2FzZSAweGI5MTQ6IC8qIExH RlIgLSBsb2FkICovCi0gICAgICAgICBjYXNlIDB4YjkxNjogLyogTExHRlIgLSBsb2FkIGxvZ2lj YWwgKi8KLSAgICAgICAgIGNhc2UgMHhiOTE3OiAvKiBMTEdUUiAtIGxvYWQgbG9naWNhbCB0aGly dHkgb25lIGJpdHMgKi8KLS0gICAgICAgIGNhc2UgMHhiOTFjOiAvKiBNU0dGUiAtIGxvYWQgKi8K LSsJY2FzZSAweGI5MWM6IC8qIE1TR0ZSIC0gbXVsdGlwbHkgc2luZ2xlIDY0PDMyICovCi0gICAg ICAgICBjYXNlIDB4Yjk0NjogLyogQkNUR1IgLSBicmFuY2ggb24gY291bnQgKi8KLSAgICAgICAg IGNhc2UgMHhiOTg0OiAvKiBMTEdDUiAtIGxvYWQgbG9naWNhbCBjaGFyYWN0ZXIgKi8KLSAgICAg ICAgIGNhc2UgMHhiOTg1OiAvKiBMTEdIUiAtIGxvYWQgbG9naWNhbCBoYWxmd29yZCAqLwotQEAg LTUwMzgsNiArNTA0MCw3IEBAIGV4OgotICAgICAgICAgY2FzZSAweGI5MWQ6IC8qIERTR0ZSIC0g ZGl2aWRlIHNpbmdsZSAqLwotICAgICAgICAgY2FzZSAweGI5ODY6IC8qIE1MR1IgLSBtdWx0aXBs eSBsb2dpY2FsICovCi0gICAgICAgICBjYXNlIDB4Yjk4NzogLyogRExHUiAtIGRpdmlkZSBsb2dp Y2FsICovCi0rCWNhc2UgMHhiOWVjOiAvKiBNR1JLIC0gbXVsdGlwbHkgNjR4NjQgLT4gMTI4ICov Ci0gICAgICAgICAgIC8qIDY0LWJpdCBncHIgcGFpciBkZXN0aW5hdGlvbiAgKi8KLSAgICAgICAg ICAgaWYgKHMzOTBfcmVjb3JkX2dwcl9nIChnZGJhcmNoLCByZWdjYWNoZSwgaW5pYls2XSkpCi0g ICAgICAgICAgICAgcmV0dXJuIC0xOwotQEAgLTUxMDYsOCArNTEwOSw4IEBAIGV4OgotICAgICAg ICAgLyogMHhiOTIyLTB4YjkyNCB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4YjkyNSBwcml2 aWxlZ2VkICovCi0gICAgICAgICAvKiAweGI5MjggcHJpdmlsZWdlZCAqLwotLSAgICAgICAgLyog MHhiOTI5IHVuZGVmaW5lZCAqLwotIAotKwljYXNlIDB4YjkyOTogLyogS01BIC0gY2lwaGVyIG1l c3NhZ2Ugd2l0aCBhdXRoZW50aWNhdGlvbiAqLwotICAgICAgICAgY2FzZSAweGI5MmE6IC8qIEtN RiAtIGNpcGhlciBtZXNzYWdlIHdpdGggY2lwaGVyIGZlZWRiYWNrIFtwYXJ0aWFsXSAqLwotICAg ICAgICAgY2FzZSAweGI5MmI6IC8qIEtNTyAtIGNpcGhlciBtZXNzYWdlIHdpdGggb3V0cHV0IGZl ZWRiYWNrIFtwYXJ0aWFsXSAqLwotICAgICAgICAgY2FzZSAweGI5MmY6IC8qIEtNQyAtIGNpcGhl ciBtZXNzYWdlIHdpdGggY2hhaW5pbmcgW3BhcnRpYWxdICovCi1AQCAtNTE3MCw2ICs1MTczLDE1 IEBAIGV4OgotICAgICAgICAgICAgICAgaWYgKHJlY29yZF9mdWxsX2FyY2hfbGlzdF9hZGRfcmVn IChyZWdjYWNoZSwgUzM5MF9SMF9SRUdOVU0gKyAoaW5pYls3XSB8IDEpKSkKLSAgICAgICAgICAg ICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgIH0KLSsJICBpZiAodG1wICE9IDAgJiYgaW5z blswXSA9PSAweGI5MjkpCi0rCSAgICB7Ci0rCSAgICAgIGlmIChyZWNvcmRfZnVsbF9hcmNoX2xp c3RfYWRkX3JlZyAocmVnY2FjaGUsCi0rCQkJCQkJIFMzOTBfUjBfUkVHTlVNICsgaW5pYls0XSkp Ci0rCQlyZXR1cm4gLTE7Ci0rCSAgICAgIGlmIChyZWNvcmRfZnVsbF9hcmNoX2xpc3RfYWRkX3Jl ZyAocmVnY2FjaGUsCi0rCQkJCQkJIFMzOTBfUjBfUkVHTlVNICsgKGluaWJbNF0gfCAxKSkpCi0r CQlyZXR1cm4gLTE7Ci0rCSAgICB9Ci0gICAgICAgICAgIGlmIChyZWNvcmRfZnVsbF9hcmNoX2xp c3RfYWRkX3JlZyAocmVnY2FjaGUsIFMzOTBfUFNXTV9SRUdOVU0pKQotICAgICAgICAgICAgIHJl dHVybiAtMTsKLSAgICAgICAgICAgYnJlYWs7Ci1AQCAtNTU3MSwxMCArNTU4MywxMSBAQCBleDoK LSAKLSAgICAgICAgIC8qIDB4YjllMyB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4YjllNSB1 bmRlZmluZWQgKi8KLS0gICAgICAgIC8qIDB4YjllYy0weGI5ZjEgdW5kZWZpbmVkICovCi0rCS8q IDB4YjllZS0weGI5ZjEgdW5kZWZpbmVkICovCi0gICAgICAgICAvKiAweGI5ZjMgdW5kZWZpbmVk ICovCi0gICAgICAgICAvKiAweGI5ZjUgdW5kZWZpbmVkICovCi0tICAgICAgICAvKiAweGI5ZmMt MHhiOWZmIHVuZGVmaW5lZCAqLwotKwkvKiAweGI5ZmMgdW5kZWZpbmVkICovCi0rCS8qIDB4Yjlm ZSAtMHhiOWZmIHVuZGVmaW5lZCAqLwotIAotICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAg Z290byBVTktOT1dOX09QOwotQEAgLTU5NjIsNiArNTk3NSw3IEBAIGV4OgotICAgICAgIGJyZWFr OwotIAotICAgICBjYXNlIDB4ZTM6Ci0rICAgIGNhc2UgMHhlNjoKLSAgICAgY2FzZSAweGU3Ogot ICAgICBjYXNlIDB4ZWI6Ci0gICAgIGNhc2UgMHhlZDoKLUBAIC02MDA2LDYgKzYwMjAsNyBAQCBl eDoKLSAgICAgICAgIGNhc2UgMHhlMzFjOiAvKiBNU0dGIC0gbXVsdGlwbHkgc2luZ2xlICovCi0g ICAgICAgICBjYXNlIDB4ZTMyYTogLyogTFpSRyAtIGxvYWQgYW5kIHplcm8gcmlnaHRtb3N0IGJ5 dGUgKi8KLSAgICAgICAgIGNhc2UgMHhlMzNhOiAvKiBMTFpSR0YgLSBsb2FkIGxvZ2ljYWwgYW5k IHplcm8gcmlnaHRtb3N0IGJ5dGUgKi8KLSsJY2FzZSAweGUzM2M6IC8qIE1HSCAtIG11bHRpcGx5 IGhhbGZ3b3JkIDY0eDE2bWVtIC0+IDY0ICovCi0gICAgICAgICBjYXNlIDB4ZTM0NjogLyogQkNU RyAtIGJyYW5jaCBvbiBjb3VudCAqLwotICAgICAgICAgY2FzZSAweGUzNzc6IC8qIExHQiAtIGxv YWQgYnl0ZSAqLwotICAgICAgICAgY2FzZSAweGUzOTA6IC8qIExMR0MgLSBsb2FkIGxvZ2ljYWwg Y2hhcmFjdGVyICovCi1AQCAtNjAzNiw2ICs2MDUxLDcgQEAgZXg6Ci0gCi0gICAgICAgICBjYXNl IDB4ZTMwZDogLyogRFNHIC0gZGl2aWRlIHNpbmdsZSAqLwotICAgICAgICAgY2FzZSAweGUzMWQ6 IC8qIERTR0YgLSBkaXZpZGUgc2luZ2xlICovCi0rCWNhc2UgMHhlMzg0OiAvKiBNRyAtIG11bHRp cGx5IDY0eDY0bWVtIC0+IDEyOCAqLwotICAgICAgICAgY2FzZSAweGUzODY6IC8qIE1MRyAtIG11 bHRpcGx5IGxvZ2ljYWwgKi8KLSAgICAgICAgIGNhc2UgMHhlMzg3OiAvKiBETEcgLSBkaXZpZGUg bG9naWNhbCAqLwotICAgICAgICAgY2FzZSAweGUzOGY6IC8qIExQUSAtIGxvYWQgcGFpciBmcm9t IHF1YWR3b3JkICovCi1AQCAtNjA1Nyw2ICs2MDczLDkgQEAgZXg6Ci0gICAgICAgICAvKiAweGUz MTAtMHhlMzExIHVuZGVmaW5lZCAqLwotIAotICAgICAgICAgY2FzZSAweGUzMTI6IC8qIExUIC0g bG9hZCBhbmQgdGVzdCAqLwotKwljYXNlIDB4ZTMzODogLyogQUdIIC0gYWRkIGhhbGZ3b3JkIHRv IDY0IGJpdCB2YWx1ZSAqLwotKwljYXNlIDB4ZTMzOTogLyogU0dIIC0gc3VidHJhY3QgaGFsZndv cmQgZnJvbSA2NCBiaXQgdmFsdWUgKi8KLSsJY2FzZSAweGUzNTM6IC8qIE1TQyAtIG11bHRpcGx5 IHNpbmdsZSAzMngzMm1lbSAtPiAzMiAqLwotICAgICAgICAgY2FzZSAweGUzNTQ6IC8qIE5ZIC0g YW5kICovCi0gICAgICAgICBjYXNlIDB4ZTM1NjogLyogT1kgLSBvciAqLwotICAgICAgICAgY2Fz ZSAweGUzNTc6IC8qIFhZIC0geG9yICovCi1AQCAtNjA2NiwxMyArNjA4NSwxNCBAQCBleDoKLSAg ICAgICAgIGNhc2UgMHhlMzVmOiAvKiBTTFkgLSBzdWJ0cmFjdCBsb2dpY2FsICovCi0gICAgICAg ICBjYXNlIDB4ZTM3YTogLyogQUhZIC0gYWRkIGhhbGZ3b3JkICovCi0gICAgICAgICBjYXNlIDB4 ZTM3YjogLyogU0hZIC0gc3VidHJhY3QgaGFsZndvcmQgKi8KLSsJY2FzZSAweGUzODM6IC8qIE1T R0MgLSBtdWx0aXBseSBzaW5nbGUgNjR4NjRtZW0gLT4gNjQgKi8KLSAgICAgICAgIGNhc2UgMHhl Mzk4OiAvKiBBTEMgLSBhZGQgbG9naWNhbCB3aXRoIGNhcnJ5ICovCi0gICAgICAgICBjYXNlIDB4 ZTM5OTogLyogU0xCIC0gc3VidHJhY3QgbG9naWNhbCB3aXRoIGJvcnJvdyAqLwotICAgICAgICAg Y2FzZSAweGU3Mjc6IC8qIExDQkIgLSBsb2FkIGNvdW50IHRvIGJsb2NrIGJvdW5kdWFyeSAqLwot ICAgICAgICAgY2FzZSAweGViODE6IC8qIElDTVkgLSBpbnNlcnQgY2hhcmFjdGVycyB1bmRlciBt YXNrICovCi0gICAgICAgICBjYXNlIDB4ZWJkYzogLyogU1JBSyAtIHNoaWZ0IGxlZnQgc2luZ2xl ICovCi0gICAgICAgICBjYXNlIDB4ZWJkZDogLyogU0xBSyAtIHNoaWZ0IGxlZnQgc2luZ2xlICov Ci0tICAgICAgICAgIC8qIDMyLWJpdCBncHIgZGVzdGluYXRpb24gKyBmbGFncyAqLwotKwkgIC8q IDMyLzY0LWJpdCBncHIgZGVzdGluYXRpb24gKyBmbGFncyAqLwotICAgICAgICAgICBpZiAocmVj b3JkX2Z1bGxfYXJjaF9saXN0X2FkZF9yZWcgKHJlZ2NhY2hlLCBTMzkwX1IwX1JFR05VTSArIGlu aWJbMl0pKQotICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgaWYgKHJlY29yZF9m dWxsX2FyY2hfbGlzdF9hZGRfcmVnIChyZWdjYWNoZSwgUzM5MF9QU1dNX1JFR05VTSkpCi1AQCAt NjE2MCw3ICs2MTgwLDcgQEAgZXg6Ci0gICAgICAgICBjYXNlIDB4ZTMzNjogLyogUEZEIC0gcHJl ZmV0Y2ggZGF0YSAqLwotICAgICAgICAgICBicmVhazsKLSAKLS0gICAgICAgIC8qIDB4ZTMzNy0w eGUzMzkgdW5kZWZpbmVkICovCi0rCS8qIDB4ZTMzNyB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8q IDB4ZTMzYy0weGUzM2QgdW5kZWZpbmVkICovCi0gCi0gICAgICAgICBjYXNlIDB4ZTMzZTogLyog U1RSViAtIHN0b3JlIHJldmVyc2VkICovCi1AQCAtNjE4Myw4ICs2MjAzLDEyIEBAIGV4OgotICAg ICAgICAgICBicmVhazsKLSAKLSAgICAgICAgIC8qIDB4ZTM0MC0weGUzNDUgdW5kZWZpbmVkICov Ci0tICAgICAgICAvKiAweGUzNDctMHhlMzRmIHVuZGVmaW5lZCAqLwotLSAgICAgICAgLyogMHhl MzUyLTB4ZTM1MyB1bmRlZmluZWQgKi8KLSsKLSsJY2FzZSAweGUzNDc6IC8qIEJJQyAtIGJyYW5j aCBpbmRpcmVjdCBvbiBjb25kaXRpb24gKi8KLSsJICBicmVhazsKLSsKLSsJLyogMHhlMzQ4LTB4 ZTM0ZiB1bmRlZmluZWQgKi8KLSsJLyogMHhlMzUyIHVuZGVmaW5lZCAqLwotIAotICAgICAgICAg Y2FzZSAweGUzNWM6IC8qIE1GWSAtIG11bHRpcGx5ICovCi0gICAgICAgICBjYXNlIDB4ZTM5Njog LyogTUwgLSBtdWx0aXBseSBsb2dpY2FsICovCi1AQCAtNjIxNiwxMSArNjI0MCwxMiBAQCBleDoK LSAgICAgICAgICAgYnJlYWs7Ci0gCi0gICAgICAgICAvKiAweGUzN2QtMHhlMzdmIHVuZGVmaW5l ZCAqLwotLSAgICAgICAgLyogMHhlMzgzLTB4ZTM4NCB1bmRlZmluZWQgKi8KLSAKLSAgICAgICAg IGNhc2UgMHhlMzg1OiAvKiBMR0FUIC0gbG9hZCBhbmQgdHJhcCAqLwotICAgICAgICAgY2FzZSAw eGUzOWM6IC8qIExMR1RBVCAtIGxvYWQgbG9naWNhbCB0aGlydHkgb25lIGJpdHMgYW5kIHRyYXAg Ki8KLSAgICAgICAgIGNhc2UgMHhlMzlkOiAvKiBMTEdGQVQgLSBsb2FkIGxvZ2ljYWwgYW5kIHRy YXAgKi8KLSsJY2FzZSAweGU2NTA6IC8qIFZDVkIgLSB2ZWN0b3IgY29udmVydCB0byBiaW5hcnkg MzIgYml0Ki8KLSsJY2FzZSAweGU2NTI6IC8qIFZDVkJHIC0gdmVjdG9yIGNvbnZlcnQgdG8gYmlu YXJ5IDY0IGJpdCovCi0gICAgICAgICBjYXNlIDB4ZTcyMTogLyogVkxHViAtIHZlY3RvciBsb2Fk IGdyIGZyb20gdnIgZWxlbWVudCAqLwotICAgICAgICAgICAvKiA2NC1iaXQgZ3ByIGRlc3RpbmF0 aW9uICsgZnBjIGZvciBwb3NzaWJsZSBEWEMgd3JpdGUgKi8KLSAgICAgICAgICAgaWYgKHMzOTBf cmVjb3JkX2dwcl9nIChnZGJhcmNoLCByZWdjYWNoZSwgaW5pYlsyXSkpCi1AQCAtNjI3MSw2ICs2 Mjk2LDEwIEBAIGV4OgotICAgICAgICAgLyogMHhlM2NlIHVuZGVmaW5lZCAqLwotICAgICAgICAg LyogMHhlM2QwLTB4ZTNmZiB1bmRlZmluZWQgKi8KLSAKLSsJY2FzZSAweGU2MzQ6IC8qIFZQS1og LSB2ZWN0b3IgcGFjayB6b25lZCAqLwotKwljYXNlIDB4ZTYzNTogLyogVkxSTCAtIHZlY3RvciBs b2FkIHJpZ2h0bW9zdCB3aXRoIGltbWVkLiBsZW5ndGggKi8KLSsJY2FzZSAweGU2Mzc6IC8qIFZM UkxSIC0gdmVjdG9yIGxvYWQgcmlnaHRtb3N0IHdpdGggbGVuZ3RoICovCi0rCWNhc2UgMHhlNjQ5 OiAvKiBWTElQIC0gdmVjdG9yIGxvYWQgaW1tZWRpYXRlIGRlY2ltYWwgKi8KLSAgICAgICAgIGNh c2UgMHhlNzAwOiAvKiBWTEVCIC0gdmVjdG9yIGxvYWQgZWxlbWVudCAqLwotICAgICAgICAgY2Fz ZSAweGU3MDE6IC8qIFZMRUggLSB2ZWN0b3IgbG9hZCBlbGVtZW50ICovCi0gICAgICAgICBjYXNl IDB4ZTcwMjogLyogVkxFRyAtIHZlY3RvciBsb2FkIGVsZW1lbnQgKi8KLUBAIC02MzExLDcgKzYz NDAsMTAgQEAgZXg6Ci0gICAgICAgICBjYXNlIDB4ZTc2OTogLyogVk5DIC0gdmVjdG9yIGFuZCB3 aXRoIGNvbXBsZW1lbnQgKi8KLSAgICAgICAgIGNhc2UgMHhlNzZhOiAvKiBWTyAtIHZlY3RvciBv ciAqLwotICAgICAgICAgY2FzZSAweGU3NmI6IC8qIFZOTyAtIHZlY3RvciBub3IgKi8KLSsJY2Fz ZSAweGU3NmM6IC8qIFZOWCAtIHZlY3RvciBub3QgZXhjbHVzaXZlIG9yICovCi0gICAgICAgICBj YXNlIDB4ZTc2ZDogLyogVlggLSB2ZWN0b3IgeG9yICovCi0rCWNhc2UgMHhlNzZlOiAvKiBWTk4g LSB2ZWN0b3IgbmFuZCAqLwotKwljYXNlIDB4ZTc2ZjogLyogVk9DIC0gdmVjdG9yIG9yIHdpdGgg Y29tcGxlbWVudCAqLwotICAgICAgICAgY2FzZSAweGU3NzA6IC8qIFZFU0xWIC0gdmVjdG9yIGVs ZW1lbnQgc2hpZnQgbGVmdCAqLwotICAgICAgICAgY2FzZSAweGU3NzI6IC8qIFZFUklNIC0gdmVj dG9yIGVsZW1lbnQgcm90YXRlIGFuZCBpbnNlcnQgdW5kZXIgbWFzayAqLwotICAgICAgICAgY2Fz ZSAweGU3NzM6IC8qIFZFUkxMViAtIHZlY3RvciBlbGVtZW50IHJvdGF0ZSBsZWZ0IGxvZ2ljYWwg Ki8KLUBAIC02MzI1LDExICs2MzU3LDE0IEBAIGV4OgotICAgICAgICAgY2FzZSAweGU3N2U6IC8q IFZTUkEgLSB2ZWN0b3Igc2hpZnQgcmlnaHQgYXJpdGhtZXRpYyAqLwotICAgICAgICAgY2FzZSAw eGU3N2Y6IC8qIFZTUkFCIC0gdmVjdG9yIHNoaWZ0IHJpZ2h0IGFyaXRobWV0aWMgYnkgYnl0ZSAq LwotICAgICAgICAgY2FzZSAweGU3ODQ6IC8qIFZQREkgLSB2ZWN0b3IgcGVybXV0ZSBkb3VibGV3 b3JkIGltbWVkaWF0ZSAqLwotKwljYXNlIDB4ZTc4NTogLyogVkJQRVJNIC0gdmVjdG9yIGJpdCBw ZXJtdXRlICovCi0gICAgICAgICBjYXNlIDB4ZTc4YzogLyogVlBFUk0gLSB2ZWN0b3IgcGVybXV0 ZSAqLwotICAgICAgICAgY2FzZSAweGU3OGQ6IC8qIFZTRUwgLSB2ZWN0b3Igc2VsZWN0ICovCi0g ICAgICAgICBjYXNlIDB4ZTc4ZTogLyogVkZNUyAtIHZlY3RvciBmcCBtdWx0aXBseSBhbmQgc3Vi dHJhY3QgKi8KLSAgICAgICAgIGNhc2UgMHhlNzhmOiAvKiBWRk1BIC0gdmVjdG9yIGZwIG11bHRp cGx5IGFuZCBhZGQgKi8KLSAgICAgICAgIGNhc2UgMHhlNzk0OiAvKiBWUEsgLSB2ZWN0b3IgcGFj ayAqLwotKwljYXNlIDB4ZTc5ZTogLyogVkZOTVMgLSB2ZWN0b3IgZnAgbmVnYXRpdmUgbXVsdGlw bHkgYW5kIHN1YnRyYWN0ICovCi0rCWNhc2UgMHhlNzlmOiAvKiBWRk5NQSAtIHZlY3RvciBmcCBu ZWdhdGl2ZSBtdWx0aXBseSBhbmQgYWRkICovCi0gICAgICAgICBjYXNlIDB4ZTdhMTogLyogVk1M SCAtIHZlY3RvciBtdWx0aXBseSBsb2dpY2FsIGhpZ2ggKi8KLSAgICAgICAgIGNhc2UgMHhlN2Ey OiAvKiBWTUwgLSB2ZWN0b3IgbXVsdGlwbHkgbG93ICovCi0gICAgICAgICBjYXNlIDB4ZTdhMzog LyogVk1IIC0gdmVjdG9yIG11bHRpcGx5IGhpZ2ggKi8KLUBAIC02MzQ1LDYgKzYzODAsNyBAQCBl eDoKLSAgICAgICAgIGNhc2UgMHhlN2FlOiAvKiBWTUFFIC0gdmVjdG9yIG11bHRpcGx5IGFuZCBh ZGQgZXZlbiAqLwotICAgICAgICAgY2FzZSAweGU3YWY6IC8qIFZNQU8gLSB2ZWN0b3IgbXVsdGlw bHkgYW5kIGFkZCBvZGQgKi8KLSAgICAgICAgIGNhc2UgMHhlN2I0OiAvKiBWR0ZNIC0gdmVjdG9y IEdhbG9pcyBmaWVsZCBtdWx0aXBseSBzdW0gKi8KLSsJY2FzZSAweGU3Yjg6IC8qIFZNU0wgLSB2 ZWN0b3IgbXVsdGlwbHkgc3VtIGxvZ2ljYWwgKi8KLSAgICAgICAgIGNhc2UgMHhlN2I5OiAvKiBW QUNDQyAtIHZlY3RvciBhZGQgd2l0aCBjYXJyeSBjb21wdXRlIGNhcnJ5ICovCi0gICAgICAgICBj YXNlIDB4ZTdiYjogLyogVkFDIC0gdmVjdG9yIGFkZCB3aXRoIGNhcnJ5ICovCi0gICAgICAgICBj YXNlIDB4ZTdiYzogLyogVkdGTUEgLSB2ZWN0b3IgR2Fsb2lzIGZpZWxkIG11bHRpcGx5IHN1bSBh bmQgYWNjdW11bGF0ZSAqLwotQEAgLTYzNTQsOCArNjM5MCw4IEBAIGV4OgotICAgICAgICAgY2Fz ZSAweGU3YzE6IC8qIFZDRExHIC0gdmVjdG9yIGNvbnZlcnQgZnJvbSBsb2dpY2FsIDY0LWJpdCAq LwotICAgICAgICAgY2FzZSAweGU3YzI6IC8qIFZDR0QgLSB2ZWN0b3IgY29udmVydCB0byBmaXhl ZCA2NC1iaXQgKi8KLSAgICAgICAgIGNhc2UgMHhlN2MzOiAvKiBWQ0RHIC0gdmVjdG9yIGNvbnZl cnQgZnJvbSBmaXhlZCA2NC1iaXQgKi8KLS0gICAgICAgIGNhc2UgMHhlN2M0OiAvKiBWTERFIC0g dmVjdG9yIGZwIGxvYWQgbGVuZ3RoZW5lZCAqLwotLSAgICAgICAgY2FzZSAweGU3YzU6IC8qIFZM RUQgLSB2ZWN0b3IgZnAgbG9hZCByb3VuZGVkICovCi0rCWNhc2UgMHhlN2M0OiAvKiBWTERFL1ZG TEwgLSB2ZWN0b3IgZnAgbG9hZCBsZW5ndGhlbmVkICovCi0rCWNhc2UgMHhlN2M1OiAvKiBWTEVE L1ZGTFIgLSB2ZWN0b3IgZnAgbG9hZCByb3VuZGVkICovCi0gICAgICAgICBjYXNlIDB4ZTdjNzog LyogVkZJIC0gdmVjdG9yIGxvYWQgZnAgaW50ZWdlciAqLwotICAgICAgICAgY2FzZSAweGU3Y2M6 IC8qIFZGUFNPIC0gdmVjdG9yIGZwIHBlcmZvcm0gc2lnbiBvcGVyYXRpb24gKi8KLSAgICAgICAg IGNhc2UgMHhlN2NlOiAvKiBWRlNRIC0gdmVjdG9yIGZwIHNxdWFyZSByb290ICovCi1AQCAtNjM2 OSw2ICs2NDA1LDggQEAgZXg6Ci0gICAgICAgICBjYXNlIDB4ZTdlMzogLyogVkZBIC0gdmVjdG9y IGZwIGFkZCAqLwotICAgICAgICAgY2FzZSAweGU3ZTU6IC8qIFZGRCAtIHZlY3RvciBmcCBkaXZp ZGUgKi8KLSAgICAgICAgIGNhc2UgMHhlN2U3OiAvKiBWRk0gLSB2ZWN0b3IgZnAgbXVsdGlwbHkg Ki8KLSsJY2FzZSAweGU3ZWU6IC8qIFZGTUlOIC0gdmVjdG9yIGZwIG1pbmltdW0gKi8KLSsJY2Fz ZSAweGU3ZWY6IC8qIFZGTUFYIC0gdmVjdG9yIGZwIG1heGltdW0gKi8KLSAgICAgICAgIGNhc2Ug MHhlN2YwOiAvKiBWQVZHTCAtIHZlY3RvciBhdmVyYWdlIGxvZ2ljYWwgKi8KLSAgICAgICAgIGNh c2UgMHhlN2YxOiAvKiBWQUNDIC0gdmVjdG9yIGFkZCBhbmQgY29tcHV0ZSBjYXJyeSAqLwotICAg ICAgICAgY2FzZSAweGU3ZjI6IC8qIFZBVkcgLSB2ZWN0b3IgYXZlcmFnZSAqLwotQEAgLTYzODYs NiArNjQyNCwxNCBAQCBleDoKLSAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgIGJy ZWFrOwotIAotKwljYXNlIDB4ZTYzZDogLyogVlNUUkwgLSB2ZWN0b3Igc3RvcmUgcmlnaHRtb3N0 IHdpdGggaW1tZWQuIGxlbmd0aCAqLwotKwkgIG9hZGRyID0gczM5MF9yZWNvcmRfY2FsY19kaXNw IChnZGJhcmNoLCByZWdjYWNoZSwgMCwgaW5zblsxXSwgMCk7Ci0rCSAgaWYgKHJlY29yZF9mdWxs X2FyY2hfbGlzdF9hZGRfbWVtIChvYWRkciwgaW5pYlszXSArIDEpKQotKwkgICAgcmV0dXJuIC0x OwotKwkgIGlmIChyZWNvcmRfZnVsbF9hcmNoX2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIFMzOTBf RlBDX1JFR05VTSkpCi0rCSAgICByZXR1cm4gLTE7Ci0rCSAgYnJlYWs7Ci0rCi0gICAgICAgICBj YXNlIDB4ZTcwODogLyogVlNURUIgLSB2ZWN0b3Igc3RvcmUgZWxlbWVudCAqLwotICAgICAgICAg ICBvYWRkciA9IHMzOTBfcmVjb3JkX2NhbGNfZGlzcCAoZ2RiYXJjaCwgcmVnY2FjaGUsIGluaWJb M10sIGluc25bMV0sIDApOwotICAgICAgICAgICBpZiAocmVjb3JkX2Z1bGxfYXJjaF9saXN0X2Fk ZF9tZW0gKG9hZGRyLCAxKSkKLUBAIC02NDgwLDEzICs2NTI2LDIyIEBAIGV4OgotICAgICAgICAg ICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgYnJlYWs7Ci0gCi0rCWNhc2UgMHhlNjNjOiAvKiBW VVBLWiAtIHZlY3RvciB1bnBhY2sgem9uZWQgKi8KLSsJICBvYWRkciA9IHMzOTBfcmVjb3JkX2Nh bGNfZGlzcCAoZ2RiYXJjaCwgcmVnY2FjaGUsIDAsIGluc25bMV0sIDApOwotKwkgIGlmIChyZWNv cmRfZnVsbF9hcmNoX2xpc3RfYWRkX21lbSAob2FkZHIsIChpYnl0ZVsxXSArIDEpICYgMzEpKQot KwkgICAgcmV0dXJuIC0xOwotKwkgIGlmIChyZWNvcmRfZnVsbF9hcmNoX2xpc3RfYWRkX3JlZyAo cmVnY2FjaGUsIFMzOTBfUFNXTV9SRUdOVU0pKQotKwkgICAgcmV0dXJuIC0xOwotKwkgIGJyZWFr OwotKwotKwljYXNlIDB4ZTYzZjogLyogVlNUUkxSIC0gdmVjdG9yIHN0b3JlIHJpZ2h0bW9zdCB3 aXRoIGxlbmd0aCAqLwotICAgICAgICAgY2FzZSAweGU3M2Y6IC8qIFZTVEwgLSB2ZWN0b3Igc3Rv cmUgd2l0aCBsZW5ndGggKi8KLSAgICAgICAgICAgb2FkZHIgPSBzMzkwX3JlY29yZF9jYWxjX2Rp c3AgKGdkYmFyY2gsIHJlZ2NhY2hlLCAwLCBpbnNuWzFdLCAwKTsKLSAgICAgICAgICAgcmVnY2Fj aGVfcmF3X3JlYWRfdW5zaWduZWQgKHJlZ2NhY2hlLCBTMzkwX1IwX1JFR05VTSArIGluaWJbM10s ICZ0bXApOwotICAgICAgICAgICB0bXAgJj0gMHhmZmZmZmZmZnU7Ci0tICAgICAgICAgIGlmICh0 bXAgPiAxNikKLS0gICAgICAgICAgICB0bXAgPSAxNjsKLS0gICAgICAgICAgaWYgKHJlY29yZF9m dWxsX2FyY2hfbGlzdF9hZGRfbWVtIChvYWRkciwgdG1wKSkKLSsJICBpZiAodG1wID4gMTUpCi0r CSAgICB0bXAgPSAxNTsKLSsJICBpZiAocmVjb3JkX2Z1bGxfYXJjaF9saXN0X2FkZF9tZW0gKG9h ZGRyLCB0bXAgKyAxKSkKLSAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgIGlmIChy ZWNvcmRfZnVsbF9hcmNoX2xpc3RfYWRkX3JlZyAocmVnY2FjaGUsIFMzOTBfRlBDX1JFR05VTSkp Ci0gICAgICAgICAgICAgcmV0dXJuIC0xOwotQEAgLTY0OTQsNiArNjU0OSwxNyBAQCBleDoKLSAK LSAgICAgICAgIC8qIDB4ZTc0Ny0weGU3NDkgdW5kZWZpbmVkICovCi0gCi0rCWNhc2UgMHhlNjU4 OiAvKiBWQ1ZEIC0gdmVjdG9yIGNvbnZlcnQgdG8gZGVjaW1hbCAzMiBiaXQgKi8KLSsJY2FzZSAw eGU2NTk6IC8qIFZTUlAgLSB2ZWN0b3Igc2hpZnQgYW5kIHJvdW5kIGRlY2ltYWwgKi8KLSsJY2Fz ZSAweGU2NWE6IC8qIFZDVkRHIC0gdmVjdG9yIGNvbnZlcnQgdG8gZGVjaW1hbCA2NCBiaXQqLwot KwljYXNlIDB4ZTY1YjogLyogVlBTT1AgLSB2ZWN0b3IgcGVyZm9ybSBzaWduIG9wZXJhdGlvbiBk ZWNpbWFsICovCi0rCWNhc2UgMHhlNjcxOiAvKiBWQVAgLSB2ZWN0b3IgYWRkIGRlY2ltYWwgKi8K LSsJY2FzZSAweGU2NzM6IC8qIFZTUCAtIHZlY3RvciBzdWJ0cmFjdCBkZWNpbWFsICovCi0rCWNh c2UgMHhlNjc4OiAvKiBWTVAgLSB2ZWN0b3IgbXVsdGlwbHkgZGVjaW1hbCAqLwotKwljYXNlIDB4 ZTY3OTogLyogVk1TUCAtIHZlY3RvciBtdWx0aXBseSBkZWNpbWFsICovCi0rCWNhc2UgMHhlNjdh OiAvKiBWRFAgLSB2ZWN0b3IgZGl2aWRlIGRlY2ltYWwgKi8KLSsJY2FzZSAweGU2N2I6IC8qIFZS UCAtIHZlY3RvciByZW1haW5kZXIgZGVjaW1hbCAqLwotKwljYXNlIDB4ZTY3ZTogLyogVlNEUCAt IHZlY3RvciBzaGlmdCBhbmQgZGl2aWRlIGRlY2ltYWwgKi8KLSAgICAgICAgIGNhc2UgMHhlNzRh OiAvKiBWRlRDSSAtIHZlY3RvciBmcCB0ZXN0IGRhdGEgY2xhc3MgaW1tZWRpYXRlICovCi0gICAg ICAgICBjYXNlIDB4ZTc1YzogLyogVklTVFIgLSB2ZWN0b3IgaXNvbGF0ZSBzdHJpbmcgKi8KLSAg ICAgICAgIGNhc2UgMHhlNzgwOiAvKiBWRkVFIC0gdmVjdG9yIGZpbmQgZWxlbWVudCBlcXVhbCAq LwotQEAgLTY1MDQsNyArNjU3MCw3IEBAIGV4OgotICAgICAgICAgY2FzZSAweGU3OTc6IC8qIFZQ S1MgLSB2ZWN0b3IgcGFjayBzYXR1cmF0ZSAqLwotICAgICAgICAgY2FzZSAweGU3ZTg6IC8qIFZG Q0UgLSB2ZWN0b3IgZnAgY29tcGFyZSBlcXVhbCAqLwotICAgICAgICAgY2FzZSAweGU3ZWE6IC8q IFZGQ0hFIC0gdmVjdG9yIGZwIGNvbXBhcmUgaGlnaCBvciBlcXVhbCAqLwotLSAgICAgICAgY2Fz ZSAweGU3ZWI6IC8qIFZGQ0UgLSB2ZWN0b3IgZnAgY29tcGFyZSBoaWdoICovCi0rCWNhc2UgMHhl N2ViOiAvKiBWRkNIIC0gdmVjdG9yIGZwIGNvbXBhcmUgaGlnaCAqLwotICAgICAgICAgY2FzZSAw eGU3Zjg6IC8qIFZDRVEgLSB2ZWN0b3IgY29tcGFyZSBlcXVhbCAqLwotICAgICAgICAgY2FzZSAw eGU3Zjk6IC8qIFZDSEwgLSB2ZWN0b3IgY29tcGFyZSBoaWdoIGxvZ2ljYWwgKi8KLSAgICAgICAg IGNhc2UgMHhlN2ZiOiAvKiBWQ0ggLSB2ZWN0b3IgY29tcGFyZSBoaWdoICovCi1AQCAtNjUxNyw2 ICs2NTgzLDE0IEBAIGV4OgotICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgYnJl YWs7Ci0gCi0rCWNhc2UgMHhlNjVmOiAvKiBWVFAgLSB2ZWN0b3IgdGVzdCBkZWNpbWFsICovCi0r CSAgLyogZmxhZ3MgKyBGUEMgKi8KLSsJICBpZiAocmVjb3JkX2Z1bGxfYXJjaF9saXN0X2FkZF9y ZWcgKHJlZ2NhY2hlLCBTMzkwX1BTV01fUkVHTlVNKSkKLSsJICAgIHJldHVybiAtMTsKLSsJICBp ZiAocmVjb3JkX2Z1bGxfYXJjaF9saXN0X2FkZF9yZWcgKHJlZ2NhY2hlLCBTMzkwX0ZQQ19SRUdO VU0pKQotKwkgICAgcmV0dXJuIC0xOwotKwkgIGJyZWFrOwotKwotICAgICAgICAgLyogMHhlNzRi LTB4ZTc0YyB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTc0ZS0weGU3NGYgdW5kZWZpbmVk ICovCi0gICAgICAgICAvKiAweGU3NTEgdW5kZWZpbmVkICovCi1AQCAtNjUyNCwyNiArNjU5OCwy NiBAQCBleDoKLSAgICAgICAgIC8qIDB4ZTc1Ny0weGU3NWIgdW5kZWZpbmVkICovCi0gICAgICAg ICAvKiAweGU3NWQtMHhlNzVlIHVuZGVmaW5lZCAqLwotICAgICAgICAgLyogMHhlNzYzIHVuZGVm aW5lZCAqLwotLSAgICAgICAgLyogMHhlNzZjIHVuZGVmaW5lZCAqLwotLSAgICAgICAgLyogMHhl NzZlLTB4ZTc2ZiB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTc3MSB1bmRlZmluZWQgKi8K LSAgICAgICAgIC8qIDB4ZTc3NiB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTc3OSB1bmRl ZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTc3YiB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4 ZTc4MyB1bmRlZmluZWQgKi8KLS0gICAgICAgIC8qIDB4ZTc4NS0weGU3ODkgdW5kZWZpbmVkICov Ci0rCS8qIDB4ZTc4Ni0weGU3ODkgdW5kZWZpbmVkICovCi0gICAgICAgICAvKiAweGU3OGIgdW5k ZWZpbmVkICovCi0gICAgICAgICAvKiAweGU3OTAtMHhlNzkzIHVuZGVmaW5lZCAqLwotICAgICAg ICAgLyogMHhlNzk2IHVuZGVmaW5lZCAqLwotLSAgICAgICAgLyogMHhlNzk4LTB4ZTdhMCB1bmRl ZmluZWQgKi8KLS0gICAgICAgIC8qIDB4ZTdhOCB1bmRlZmluZWQgKi8KLSsJLyogMHhlNzk4LTB4 ZTc5ZCB1bmRlZmluZWQgKi8KLSsJLyogMHhlN2EwIHVuZGVmaW5lZCAqLwotKwkvKiAweGU3YTgg dW5kZWZpbmVkICovCi0gICAgICAgICAvKiAweGU3YjAtMHhlN2IzIHVuZGVmaW5lZCAqLwotLSAg ICAgICAgLyogMHhlN2I1LTB4ZTdiOCB1bmRlZmluZWQgKi8KLSsJLyogMHhlN2I1LTB4ZTdiNyB1 bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTdiYSB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8q IDB4ZTdiZSB1bmRlZmluZWQgKi8KLSAgICAgICAgIC8qIDB4ZTdjNiB1bmRlZmluZWQgKi8KLSAg ICAgICAgIC8qIDB4ZTdjOC0weGU3YzkgdW5kZWZpbmVkICovCi0gCi0rCWNhc2UgMHhlNjc3OiAv KiBWQ1AgLSB2ZWN0b3IgY29tcGFyZSBkZWNpbWFsICovCi0gICAgICAgICBjYXNlIDB4ZTdjYTog LyogV0ZLIC0gdmVjdG9yIGZwIGNvbXBhcmUgYW5kIHNpZ25hbCBzY2FsYXIgKi8KLSAgICAgICAg IGNhc2UgMHhlN2NiOiAvKiBXRkMgLSB2ZWN0b3IgZnAgY29tcGFyZSBzY2FsYXIgKi8KLSAgICAg ICAgIGNhc2UgMHhlN2Q4OiAvKiBWVE0gLSB2ZWN0b3IgdGVzdCB1bmRlciBtYXNrICovCi1AQCAt NjU2OCw3ICs2NjQyLDcgQEAgZXg6Ci0gICAgICAgICAvKiAweGU3ZTQgdW5kZWZpbmVkICovCi0g ICAgICAgICAvKiAweGU3ZTYgdW5kZWZpbmVkICovCi0gICAgICAgICAvKiAweGU3ZTkgdW5kZWZp bmVkICovCi0tICAgICAgICAvKiAweGU3ZWMtMHhlN2VmIHVuZGVmaW5lZCAqLwotKwkvKiAweGU3 ZWMtMHhlN2VkIHVuZGVmaW5lZCAqLwotICAgICAgICAgLyogMHhlN2Y0IHVuZGVmaW5lZCAqLwot ICAgICAgICAgLyogMHhlN2Y2IHVuZGVmaW5lZCAqLwotICAgICAgICAgLyogMHhlN2ZhIHVuZGVm aW5lZCAqLwotQEAgLTcwNDgsOCArNzEyMiw2IEBAIGV4OgotICAgICAgICAgfQotICAgICAgIGJy ZWFrOwotIAotLSAgICAvKiAweGU2IHVuZGVmaW5lZCAqLwotLQotICAgICBjYXNlIDB4ZWM6Ci0g ICAgICAgLyogUklFL1JJUy9SUlMtZm9ybWF0IGluc3RydWN0aW9uICovCi0gICAgICAgc3dpdGNo IChpYnl0ZVswXSA8PCA4IHwgaWJ5dGVbNV0pCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0 LXMzOTB4LTMzb2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0zM29mMzUucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyYzExNzAuLjAwMDAwMDAKLS0tIGEvZ2Ri LXJoYnoxNDIwMzA0LXMzOTB4LTMzb2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICsw LDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRl OiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAz MDQtczM5MHgtMzNvZjM1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgt MzNvZjM1LnBhdGNoCi0KLWNvbW1pdCA0NzgyNmNkYmVjMjU0OGNkMWQyNWFjZjRjZmFmOTA4YWU4 OGYzMzI1Ci1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5j b20+Ci1EYXRlOiAgIEZyaSBKdWwgMjEgMTA6NTQ6MDYgMjAxNyArMDIwMAotCi0gICAgUy8zOTA6 IFN1cHBvcnQgejE0IGFzIENQVSBuYW1lLgotICAgIAotICAgIFdpdGggSUJNIHoxNCBvZmZpY2lh bGx5IGFubm91bmNlZCBJIGNhbiBhZGQgejE0IGFzIENQVSBuYW1lLgotICAgIAotICAgIE5vIHJl Z3Jlc3Npb25zIHdpdGggdGhhdCBwYXRjaCBvbiBzMzkweC4KLSAgICAKLSAgICBnYXMvQ2hhbmdl TG9nOgotICAgIAotICAgIDIwMTctMDctMjEgIEFuZHJlYXMgS3JlYmJlbCAgPGtyZWJiZWxAbGlu dXgudm5ldC5pYm0uY29tPgotICAgIAotICAgICAgICAgICAgKiBjb25maWcvdGMtczM5MC5jIChz MzkwX3BhcnNlX2NwdSk6IEFkZCB6MTQgYXMgYWx0ZXJuYXRlIENQVQotICAgICAgICAgICAgbmFt ZS4KLSAgICAgICAgICAgICogZG9jL2FzLnRleGluZm86IEFkZCB6MTQgdG8gQ1BVIHN0cmluZyBs aXN0LgotICAgICAgICAgICAgKiBkb2MvYy1zMzkwLnRleGk6IExpa2V3aXNlLgotICAgIAotICAg IG9wY29kZXMvQ2hhbmdlTG9nOgotICAgIAotICAgIDIwMTctMDctMjEgIEFuZHJlYXMgS3JlYmJl bCAgPGtyZWJiZWxAbGludXgudm5ldC5pYm0uY29tPgotICAgIAotICAgICAgICAgICAgKiBzMzkw LW1rb3BjLmMgKG1haW4pOiBFbmFibGUgejE0IGFzIENQVSBzdHJpbmcgaW4gdGhlIG9wY29kZQot ICAgICAgICAgICAgdGFibGUuCi0KLSMjIyBhL29wY29kZXMvQ2hhbmdlTG9nCi0jIyMgYi9vcGNv ZGVzL0NoYW5nZUxvZwotIyMgLTEsMyArMSw4IEBACi0rMjAxNy0wNy0yMSAgQW5kcmVhcyBLcmVi YmVsICA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci0rCi0rCSogczM5MC1ta29wYy5jICht YWluKTogRW5hYmxlIHoxNCBhcyBDUFUgc3RyaW5nIGluIHRoZSBvcGNvZGUKLSsJdGFibGUuCi0r Ci0gMjAxNy0wNy0yMCAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KLSAKLSAJKiBw by9kZS5wbzogVXBkYXRlZCBHZXJtYW4gdHJhbnNsYXRpb24uCi0tLS0gYS9vcGNvZGVzL3MzOTAt bWtvcGMuYwotKysrIGIvb3Bjb2Rlcy9zMzkwLW1rb3BjLmMKLUBAIC0zNzQsNyArMzc0LDggQEAg bWFpbiAodm9pZCkKLSAgICAgICBlbHNlIGlmIChzdHJjbXAgKGNwdV9zdHJpbmcsICJ6MTMiKSA9 PSAwCi0gCSAgICAgICB8fCBzdHJjbXAgKGNwdV9zdHJpbmcsICJhcmNoMTEiKSA9PSAwKQotIAlt aW5fY3B1ID0gUzM5MF9PUENPREVfWjEzOwotLSAgICAgIGVsc2UgaWYgKHN0cmNtcCAoY3B1X3N0 cmluZywgImFyY2gxMiIpID09IDApCi0rICAgICAgZWxzZSBpZiAoc3RyY21wIChjcHVfc3RyaW5n LCAiejE0IikgPT0gMAotKwkgICAgICAgfHwgc3RyY21wIChjcHVfc3RyaW5nLCAiYXJjaDEyIikg PT0gMCkKLSAJbWluX2NwdSA9IFMzOTBfT1BDT0RFX0FSQ0gxMjsKLSAgICAgICBlbHNlIHsKLSAJ ZnByaW50ZiAoc3RkZXJyLCAiQ291bGRuJ3QgcGFyc2UgY3B1IHN0cmluZyAlc1xuIiwgY3B1X3N0 cmluZyk7CgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTM0b2YzNS5wYXRjaCBi L2dkYi1yaGJ6MTQyMDMwNC1zMzkweC0zNG9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDgyNDJmMWIuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTM0 b2YzNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLUZyb206IEZlZG9yYSBH REIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIx OjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzRvZjM1LnBhdGNo Ci0KLUZpbGVOYW1lOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzRvZjM1LnBhdGNoCi0KLWNvbW1p dCA3OWMxMmZhZWVhNTdlNjEzNjRiNmE3YTNlNDExYjA5NmVkY2U5ODljCi1BdXRob3I6IEFuZHJl YXMgS3JlYmJlbCA8a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIEZyaSBKdWwg MjggMTc6NTk6MjUgMjAxNyArMDIwMAotCi0gICAgUy8zOTA6IEZpeCBzZWdmYXVsdCB3aGVuIGxp bmtpbmcgLXNoYXJlZCAtbm9zdGFydGZpbGVzCi0gICAgCi0gICAgUmVncmVzc2lvbi10ZXN0ZWQg b24gczM5MHguCi0gICAgCi0gICAgYmZkL0NoYW5nZUxvZzoKLSAgICAKLSAgICAyMDE3LTA3LTI4 ICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAKLSAg ICAgICAgICAgICogZWxmMzItczM5MC5jIChlbGZfczM5MF9maW5pc2hfZHluYW1pY19zZWN0aW9u cyk6IEFkZCBOVUxMCi0gICAgICAgICAgICBwb2ludGVyIGNoZWNrIGZvciBodGFiLT5lbGYuaXJl bHBsdC4KLSAgICAgICAgICAgICogZWxmNjQtczM5MC5jIChlbGZfczM5MF9maW5pc2hfZHluYW1p Y19zZWN0aW9ucyk6IExpa2V3aXNlLgotCi0tLS0gYS9iZmQvZWxmMzItczM5MC5jCi0rKysgYi9i ZmQvZWxmMzItczM5MC5jCi1AQCAtMzk0MSw3ICszOTQxLDkgQEAgZWxmX3MzOTBfZmluaXNoX2R5 bmFtaWNfc2VjdGlvbnMgKGJmZCAqb3V0cHV0X2JmZCwKLSAJICAgICAgYnJlYWs7Ci0gCi0gCSAg ICBjYXNlIERUX1BMVFJFTFNaOgotLQkgICAgICBkeW4uZF91bi5kX3ZhbCA9IGh0YWItPmVsZi5z cmVscGx0LT5zaXplICsgaHRhYi0+ZWxmLmlyZWxwbHQtPnNpemU7Ci0rCSAgICAgIGR5bi5kX3Vu LmRfdmFsID0gaHRhYi0+ZWxmLnNyZWxwbHQtPnNpemU7Ci0rCSAgICAgIGlmIChodGFiLT5lbGYu aXJlbHBsdCkKLSsJCWR5bi5kX3VuLmRfdmFsICs9IGh0YWItPmVsZi5pcmVscGx0LT5zaXplOwot IAkgICAgICBicmVhazsKLSAJICAgIH0KLSAKLS0tLSBhL2JmZC9lbGY2NC1zMzkwLmMKLSsrKyBi L2JmZC9lbGY2NC1zMzkwLmMKLUBAIC0zNzQ1LDcgKzM3NDUsOSBAQCBlbGZfczM5MF9maW5pc2hf ZHluYW1pY19zZWN0aW9ucyAoYmZkICpvdXRwdXRfYmZkLAotIAkgICAgICBicmVhazsKLSAKLSAJ ICAgIGNhc2UgRFRfUExUUkVMU1o6Ci0tCSAgICAgIGR5bi5kX3VuLmRfdmFsID0gaHRhYi0+ZWxm LnNyZWxwbHQtPnNpemUgKyBodGFiLT5lbGYuaXJlbHBsdC0+c2l6ZTsKLSsJICAgICAgZHluLmRf dW4uZF92YWwgPSBodGFiLT5lbGYuc3JlbHBsdC0+c2l6ZTsKLSsJICAgICAgaWYgKGh0YWItPmVs Zi5pcmVscGx0KQotKwkJZHluLmRfdW4uZF92YWwgKz0gaHRhYi0+ZWxmLmlyZWxwbHQtPnNpemU7 Ci0gCSAgICAgIGJyZWFrOwotIAotIAkgICAgY2FzZSBEVF9SRUxBU1o6Ci1AQCAtMzc1Niw3ICsz NzU4LDkgQEAgZWxmX3MzOTBfZmluaXNoX2R5bmFtaWNfc2VjdGlvbnMgKGJmZCAqb3V0cHV0X2Jm ZCwKLSAJCSBsaW5rZXIgc2NyaXB0IGFycmFuZ2VzIGZvciAucmVsYS5wbHQgdG8gZm9sbG93IGFs bAotIAkJIG90aGVyIHJlbG9jYXRpb24gc2VjdGlvbnMsIHdlIGRvbid0IGhhdmUgdG8gd29ycnkK LSAJCSBhYm91dCBjaGFuZ2luZyB0aGUgRFRfUkVMQSBlbnRyeS4gICovCi0tCSAgICAgIGR5bi5k X3VuLmRfdmFsIC09IGh0YWItPmVsZi5zcmVscGx0LT5zaXplICsgaHRhYi0+ZWxmLmlyZWxwbHQt PnNpemU7Ci0rCSAgICAgIGR5bi5kX3VuLmRfdmFsIC09IGh0YWItPmVsZi5zcmVscGx0LT5zaXpl OwotKwkgICAgICBpZiAoaHRhYi0+ZWxmLmlyZWxwbHQpCi0rCQlkeW4uZF91bi5kX3ZhbCAtPSBo dGFiLT5lbGYuaXJlbHBsdC0+c2l6ZTsKLSAJICAgICAgYnJlYWs7Ci0gCSAgICB9Ci0gCgpkaWZm IC0tZ2l0IGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTM1b2YzNS5wYXRjaCBiL2dkYi1yaGJ6MTQy MDMwNC1zMzkweC0zNW9mMzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVl MGEwZTAuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTM1b2YzNS5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8 aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAw Ci1TdWJqZWN0OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzVvZjM1LnBhdGNoCi0KLUZpbGVOYW1l OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzVvZjM1LnBhdGNoCi0KLWNvbW1pdCAxZWY2OTJlYTIz NzE0ODc2Y2MzMGIxYTNhYjNlZjMzYTEzNjlmMTdhCi1BdXRob3I6IEFuZHJlYXMgS3JlYmJlbCA8 a3JlYmJlbEBsaW51eC52bmV0LmlibS5jb20+Ci1EYXRlOiAgIFR1ZSBBdWcgMSAxNToxMzo0MCAy MDE3ICswMjAwCi0KLSAgICBTLzM5MDogRml4IGNsYWltZmlsZSBmYWlsdXJlcwotICAgIAotICAg IFRoaXMgZml4ZXMgYSBzZWdmYXVsdCB3aGVuIHRyeWluZyB0byBhY2Nlc3MgdGhlIGxvY2FsX3Bs dCBmaWVsZCBpbiB0aGUKLSAgICBzMzkwIHNwZWNpZmljIGVsZiBkYXRhIGFsdGhvdWcgdGhlIHVu ZGVybGF5aW5nIG9iamVjdCBpcyBhIGdlbmVyaWMgZWxmCi0gICAgb2JqZWN0LgotICAgIAotICAg IFRoaXMgZml4ZXMgdGhlIGZvbGxvd2luZyB0ZXN0c3VpdGUgZmFpbHVyZXM6Ci0gICAgCi0gICAg PCBGQUlMOiBwbHVnaW4gY2xhaW1maWxlIHJlcGxhY2Ugc3ltYm9sIHdpdGggc291cmNlCi0gICAg PCBGQUlMOiBwbHVnaW4gY2xhaW1maWxlIHJlc29sdmUgc3ltYm9sIHdpdGggc291cmNlCi0gICAg PCBGQUlMOiBwbHVnaW4gY2xhaW1maWxlIHJlcGxhY2UgZmlsZSB3aXRoIHNvdXJjZQotICAgIDwg RkFJTDogcGx1Z2luIHNldCBzeW1ib2wgdmlzaWJpbGl0eSB3aXRoIHNvdXJjZQotICAgIDwgRkFJ TDogcGx1Z2luIGlnbm9yZSBsaWIgd2l0aCBzb3VyY2UKLSAgICA8IEZBSUw6IHBsdWdpbiBjbGFp bWZpbGUgcmVwbGFjZSBsaWIgd2l0aCBzb3VyY2UKLSAgICA8IEZBSUw6IHBsdWdpbiAyIHdpdGgg c291cmNlIGxpYgotICAgIDwgRkFJTDogbG9hZCBwbHVnaW4gMiB3aXRoIHNvdXJjZQotICAgIDwg RkFJTDogcGx1Z2luIDMgd2l0aCBzb3VyY2UgbGliCi0gICAgPCBGQUlMOiBsb2FkIHBsdWdpbiAz IHdpdGggc291cmNlCi0gICAgCi0gICAgYmZkL0NoYW5nZUxvZzoKLSAgICAKLSAgICAyMDE3LTA4 LTAxICBBbmRyZWFzIEtyZWJiZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSAgICAK LSAgICAgICAgICAgICogZWxmMzItczM5MC5jIChlbGZfczM5MF9maW5pc2hfZHluYW1pY19zZWN0 aW9ucyk6IFNraXAgaWYgaXQKLSAgICAgICAgICAgIGlzbid0IHRoZSBTLzM5MCBzcGVjaWZpYyBl bGYgZGF0YS4KLSAgICAgICAgICAgICogZWxmNjQtczM5MC5jIChlbGZfczM5MF9maW5pc2hfZHlu YW1pY19zZWN0aW9ucyk6IExpa2V3aXNlLgotCi0jIyMgYS9iZmQvQ2hhbmdlTG9nCi0jIyMgYi9i ZmQvQ2hhbmdlTG9nCi0jIyAtMSwzICsxLDkgQEAKLSsyMDE3LTA4LTAxICBBbmRyZWFzIEtyZWJi ZWwgIDxrcmViYmVsQGxpbnV4LnZuZXQuaWJtLmNvbT4KLSsKLSsJKiBlbGYzMi1zMzkwLmMgKGVs Zl9zMzkwX2ZpbmlzaF9keW5hbWljX3NlY3Rpb25zKTogU2tpcCBpZiBpdAotKwlpc24ndCB0aGUg Uy8zOTAgc3BlY2lmaWMgZWxmIGRhdGEuCi0rCSogZWxmNjQtczM5MC5jIChlbGZfczM5MF9maW5p c2hfZHluYW1pY19zZWN0aW9ucyk6IExpa2V3aXNlLgotKwotIDIwMTctMDctMzEgIEt1YW4tTGlu IENoZW4gIDxydWZ1c0BhbmRlc3RlY2guY29tPgotIAotIAkqIGVsZnh4LXJpc2N2LmMgKHJpc2N2 X2VsZl9hZGRfc3ViX3JlbG9jKTogTmV3IGZ1bmN0aW9uLgotLS0tIGEvYmZkL2VsZjMyLXMzOTAu YwotKysrIGIvYmZkL2VsZjMyLXMzOTAuYwotQEAgLTQwMDEsNiArNDAwMSw5IEBAIGVsZl9zMzkw X2ZpbmlzaF9keW5hbWljX3NlY3Rpb25zIChiZmQgKm91dHB1dF9iZmQsCi0gCi0gICAgICAgc3lt dGFiX2hkciA9ICZlbGZfc3ltdGFiX2hkciAoaWJmZCk7Ci0gCi0rICAgICAgaWYgKCFpc19zMzkw X2VsZiAoaWJmZCkpCi0rCWNvbnRpbnVlOwotKwotICAgICAgIGxvY2FsX3BsdCA9IGVsZl9zMzkw X2xvY2FsX3BsdCAoaWJmZCk7Ci0gICAgICAgaWYgKGxvY2FsX3BsdCAhPSBOVUxMKQotIAlmb3Ig KGkgPSAwOyBpIDwgc3ltdGFiX2hkci0+c2hfaW5mbzsgaSsrKQotLS0tIGEvYmZkL2VsZjY0LXMz OTAuYwotKysrIGIvYmZkL2VsZjY0LXMzOTAuYwotQEAgLTM4MTQsNiArMzgxNCw5IEBAIGVsZl9z MzkwX2ZpbmlzaF9keW5hbWljX3NlY3Rpb25zIChiZmQgKm91dHB1dF9iZmQsCi0gCi0gICAgICAg c3ltdGFiX2hkciA9ICZlbGZfc3ltdGFiX2hkciAoaWJmZCk7Ci0gCi0rICAgICAgaWYgKCFpc19z MzkwX2VsZiAoaWJmZCkpCi0rCWNvbnRpbnVlOwotKwotICAgICAgIGxvY2FsX3BsdCA9IGVsZl9z MzkwX2xvY2FsX3BsdCAoaWJmZCk7Ci0gICAgICAgaWYgKGxvY2FsX3BsdCAhPSBOVUxMKQotIAlm b3IgKGkgPSAwOyBpIDwgc3ltdGFiX2hkci0+c2hfaW5mbzsgaSsrKQoKZGlmZiAtLWdpdCBhL2dk Yi1yaGJ6MTQ5ODc1OC0xb2Y1LnBhdGNoIGIvZ2RiLXJoYnoxNDk4NzU4LTFvZjUucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDRkNjhlMjIuLjAwMDAwMDAKLS0tIGEvZ2RiLXJo YnoxNDk4NzU4LTFvZjUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi1Gcm9t OiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBP Y3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYnoxNDk4NzU4LTFvZjUucGF0 Y2gKLQotRmlsZU5hbWU6IGdkYi1yaGJ6MTQ5ODc1OC0xb2Y1LnBhdGNoCi0KLWNvbW1pdCA4ZmUw OWQ3NDIxZGI1MWJjMTNjOTIyODU0N2Q2M2U2MzE1YmQ2YmQwCi1BdXRob3I6IEFuZHJlYXMgQXJu ZXogPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgVGh1IFNlcCAyMSAxNzo0NTox OCAyMDE3ICswMjAwCi0KLSAgICBTLzM5MDogRml4IEVsZiBub3RlIHN3YXAgczM5MF9nc19iYyB2 cy4gczM5MF9nc19jYgotICAgIAotICAgIEZpeCB0d28gdHlwb3MgdGhhdCByZXN1bHRlZCBpbiBz d2FwcGluZyB0aGUgQkZEIG5hbWVzIGZvciB0aGUgY29yZSBub3RlCi0gICAgcmVnaXN0ZXIgc2Vj dGlvbnMgTlRfUzM5MF9HU19DQiBhbmQgTlRfUzM5MF9HU19CQy4KLSAgICAKLSAgICBiZmQvQ2hh bmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBlbGYuYyAoZWxmY29yZV9ncm9rX25vdGUpOiBG b3IgdGhlIGNhc2VzIE5UX1MzOTBfR1NfQ0IgYW5kCi0gICAgICAgICAgICBOVF9TMzkwX0dTX0JD LCBjb3JyZWN0IHRoZSBwcmV2aW91c2x5IHN3YXBwZWQgaW52b2NhdGlvbnMgb2YKLSAgICAgICAg ICAgIGVsZmNvcmVfZ3Jva19zMzkwX2dzX2JjIGFuZCBlbGZjb3JlX2dyb2tfczM5MF9nc19jYi4K LQotIyMjIGEvYmZkL0NoYW5nZUxvZwotIyMjIGIvYmZkL0NoYW5nZUxvZwotIyMgLTEsMyArMSw5 IEBACi0rMjAxNy0wOS0yMSAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZuZXQuaWJtLmNv bT4KLSsKLSsJKiBlbGYuYyAoZWxmY29yZV9ncm9rX25vdGUpOiBGb3IgdGhlIGNhc2VzIE5UX1Mz OTBfR1NfQ0IgYW5kCi0rCU5UX1MzOTBfR1NfQkMsIGNvcnJlY3QgdGhlIHByZXZpb3VzbHkgc3dh cHBlZCBpbnZvY2F0aW9ucyBvZgotKwllbGZjb3JlX2dyb2tfczM5MF9nc19iYyBhbmQgZWxmY29y ZV9ncm9rX3MzOTBfZ3NfY2IuCi0rCi0gMjAxNy0wOS0xOSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBn bWFpbC5jb20+Ci0gCi0gCVBSIDIxNDQxCi0tLS0gYS9iZmQvZWxmLmMKLSsrKyBiL2JmZC9lbGYu YwotQEAgLTk2OTgsMTQgKzk2OTgsMTQgQEAgZWxmY29yZV9ncm9rX25vdGUgKGJmZCAqYWJmZCwg RWxmX0ludGVybmFsX05vdGUgKm5vdGUpCi0gICAgIGNhc2UgTlRfUzM5MF9HU19DQjoKLSAgICAg ICBpZiAobm90ZS0+bmFtZXN6ID09IDYKLSAJICAmJiBzdHJjbXAgKG5vdGUtPm5hbWVkYXRhLCAi TElOVVgiKSA9PSAwKQotLQlyZXR1cm4gZWxmY29yZV9ncm9rX3MzOTBfZ3NfYmMgKGFiZmQsIG5v dGUpOwotKwlyZXR1cm4gZWxmY29yZV9ncm9rX3MzOTBfZ3NfY2IgKGFiZmQsIG5vdGUpOwotICAg ICAgIGVsc2UKLSAJcmV0dXJuIFRSVUU7Ci0gCi0gICAgIGNhc2UgTlRfUzM5MF9HU19CQzoKLSAg ICAgICBpZiAobm90ZS0+bmFtZXN6ID09IDYKLSAJICAmJiBzdHJjbXAgKG5vdGUtPm5hbWVkYXRh LCAiTElOVVgiKSA9PSAwKQotLQlyZXR1cm4gZWxmY29yZV9ncm9rX3MzOTBfZ3NfY2IgKGFiZmQs IG5vdGUpOwotKwlyZXR1cm4gZWxmY29yZV9ncm9rX3MzOTBfZ3NfYmMgKGFiZmQsIG5vdGUpOwot ICAgICAgIGVsc2UKLSAJcmV0dXJuIFRSVUU7Ci0gCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDk4 NzU4LTJvZjUucGF0Y2ggYi9nZGItcmhiejE0OTg3NTgtMm9mNS5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA3NTUKaW5kZXggN2M2ZGJjZS4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0OTg3NTgt Mm9mNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgyMiArMCwwIEBACi1Gcm9tOiBGZWRvcmEg R0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAy MTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYnoxNDk4NzU4LTJvZjUucGF0Y2gKLQotRmls ZU5hbWU6IGdkYi1yaGJ6MTQ5ODc1OC0yb2Y1LnBhdGNoCi0KLWNvbW1pdCA5NjIzNWRjMWFjMzcz MGM0ZTQ5MGQxOWRiMmU4Mjg3YzBhNDBmMzA3Ci1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6 QGxpbnV4LnZuZXQuaWJtLmNvbT4KLURhdGU6ICAgTW9uIFNlcCAyNSAxNjowMjoyMyAyMDE3ICsw MjAwCi0KLSAgICBTMzkwOiBBZGQgZ3VhcmRlZC1zdG9yYWdlIHJlZ2lzdGVyIGRlZmluaXRpb25z IGFuZCB0ZGVzY3MKLSAgICAKLSAgICBOZXdlciBMaW51eCBrZXJuZWwgdmVyc2lvbnMgb2ZmZXIg dHdvIG5ldyByZWdpc3RlciBzZXRzIGluIHN1cHBvcnQgb2YgdGhlCi0gICAgei9BcmNoaXRlY3R1 cmUncyBndWFyZGVkIHN0b3JhZ2UgZmFjaWxpdHkuICBUaGlzIHBhdGNoIGFkZHMgWE1MCi0gICAg ZGVzY3JpcHRpb25zIGFuZCB0aGUgcmVzcGVjdGl2ZSBhdXRvZ2VuZXJhdGVkIC5jIGFuZCAuZGF0 IGZpbGVzIGZvcgotICAgIHMzOTAvczM5MHggdGFyZ2V0cyB3aXRoIHRoaXMgZmVhdHVyZS4KLSAg ICAKLSAgICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBmZWF0dXJlcy9zMzkw LWdzLWxpbnV4NjQueG1sOiBOZXcgZmlsZS4KLSAgICAgICAgICAgICogZmVhdHVyZXMvczM5MC1n cy54bWw6IE5ldyBmaWxlLgotICAgICAgICAgICAgKiBmZWF0dXJlcy9zMzkwLWdzYmMueG1sOiBO ZXcgZmlsZS4KLSAgICAgICAgICAgICogZmVhdHVyZXMvczM5MHgtZ3MtbGludXg2NC54bWw6IE5l dyBmaWxlLgotICAgICAgICAgICAgKiBmZWF0dXJlcy9NYWtlZmlsZSAoV0hJQ0gpOiBBZGQgczM5 MC1ncy1saW51eDY0IGFuZAotICAgICAgICAgICAgczM5MHgtZ3MtbGludXg2NC4KLSAgICAgICAg ICAgIChzMzkwLWdzLWxpbnV4NjQtZXhwZWRpdGUsIHMzOTB4LWdzLWxpbnV4NjQtZXhwZWRpdGUp OiBOZXcgbWFjcm9zLgotICAgICAgICAgICAgKFhNTFRPQyk6IEFkZCBzMzkwLWdzLWxpbnV4NjQu eG1sIGFuZCBzMzkweC1saW51eDY0LnhtbC4KLSAgICAgICAgICAgICogZmVhdHVyZXMvczM5MC1n cy1saW51eDY0LmM6IE5ldyBnZW5lcmF0ZWQgZmlsZS4KLSAgICAgICAgICAgICogZmVhdHVyZXMv czM5MHgtZ3MtbGludXg2NC5jOiBOZXcgZmlsZS4KLSAgICAgICAgICAgICogcmVnZm9ybWF0cy9z MzkwLWdzLWxpbnV4NjQuZGF0OiBOZXcgZmlsZS4KLSAgICAgICAgICAgICogcmVnZm9ybWF0cy9z MzkweC1ncy1saW51eDY0LmRhdDogTmV3IGZpbGUuCi0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cKLSMj IyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDMgKzEsMTggQEAKLSsyMDE3LTA5LTI1ICBBbmRyZWFz IEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotKwotKwkqIGZlYXR1cmVzL3MzOTAt Z3MtbGludXg2NC54bWw6IE5ldyBmaWxlLgotKwkqIGZlYXR1cmVzL3MzOTAtZ3MueG1sOiBOZXcg ZmlsZS4KLSsJKiBmZWF0dXJlcy9zMzkwLWdzYmMueG1sOiBOZXcgZmlsZS4KLSsJKiBmZWF0dXJl cy9zMzkweC1ncy1saW51eDY0LnhtbDogTmV3IGZpbGUuCi0rCSogZmVhdHVyZXMvTWFrZWZpbGUg KFdISUNIKTogQWRkIHMzOTAtZ3MtbGludXg2NCBhbmQKLSsJczM5MHgtZ3MtbGludXg2NC4KLSsJ KHMzOTAtZ3MtbGludXg2NC1leHBlZGl0ZSwgczM5MHgtZ3MtbGludXg2NC1leHBlZGl0ZSk6IE5l dyBtYWNyb3MuCi0rCShYTUxUT0MpOiBBZGQgczM5MC1ncy1saW51eDY0LnhtbCBhbmQgczM5MHgt bGludXg2NC54bWwuCi0rCSogZmVhdHVyZXMvczM5MC1ncy1saW51eDY0LmM6IE5ldyBnZW5lcmF0 ZWQgZmlsZS4KLSsJKiBmZWF0dXJlcy9zMzkweC1ncy1saW51eDY0LmM6IE5ldyBmaWxlLgotKwkq IHJlZ2Zvcm1hdHMvczM5MC1ncy1saW51eDY0LmRhdDogTmV3IGZpbGUuCi0rCSogcmVnZm9ybWF0 cy9zMzkweC1ncy1saW51eDY0LmRhdDogTmV3IGZpbGUuCi0rCi0gMjAxNy0wOS0yMyAgVG9tIFRy b21leSAgPHRvbUB0cm9tZXkuY29tPgotIAotIAkqIGRlZnMuaCAobWFrZV9jbGVhbnVwX292ZXJy aWRlX3F1aXRfaGFuZGxlcik6IERvbid0IGRlY2xhcmUuCi0tLS0gYS9nZGIvZmVhdHVyZXMvTWFr ZWZpbGUKLSsrKyBiL2dkYi9mZWF0dXJlcy9NYWtlZmlsZQotQEAgLTc4LDYgKzc4LDcgQEAgV0hJ Q0ggPSBhYXJjaDY0IFwKLSAJczM5MC1saW51eDMydjIgczM5MC1saW51eDY0djIgczM5MHgtbGlu dXg2NHYyIFwKLSAJczM5MC10ZS1saW51eDY0IHMzOTB4LXRlLWxpbnV4NjQgczM5MC12eC1saW51 eDY0IHMzOTB4LXZ4LWxpbnV4NjQgXAotIAlzMzkwLXRldngtbGludXg2NCBzMzkweC10ZXZ4LWxp bnV4NjQgXAotKwlzMzkwLWdzLWxpbnV4NjQgczM5MHgtZ3MtbGludXg2NCBcCi0gCXRpYzZ4LWM2 NHhwIHRpYzZ4LWM2NHggdGljNngtYzYyeCBcCi0gCXRpYzZ4LWM2NHhwLWxpbnV4IHRpYzZ4LWM2 NHgtbGludXggdGljNngtYzYyeC1saW51eAotIAotQEAgLTEwNSwxMiArMTA2LDE0IEBAIHMzOTAt bGludXg2NHYyLWV4cGVkaXRlID0gcjE0bCxyMTVsLHBzd2EKLSBzMzkwLXRlLWxpbnV4NjQtZXhw ZWRpdGUgPSByMTRsLHIxNWwscHN3YQotIHMzOTAtdngtbGludXg2NC1leHBlZGl0ZSA9IHIxNGws cjE1bCxwc3dhCi0gczM5MC10ZXZ4LWxpbnV4NjQtZXhwZWRpdGUgPSByMTRsLHIxNWwscHN3YQot K3MzOTAtZ3MtbGludXg2NC1leHBlZGl0ZSA9IHIxNCxyMTUscHN3YQotIHMzOTB4LWxpbnV4NjQt ZXhwZWRpdGUgPSByMTQscjE1LHBzd2EKLSBzMzkweC1saW51eDY0djEtZXhwZWRpdGUgPSByMTQs cjE1LHBzd2EKLSBzMzkweC1saW51eDY0djItZXhwZWRpdGUgPSByMTQscjE1LHBzd2EKLSBzMzkw eC10ZS1saW51eDY0LWV4cGVkaXRlID0gcjE0LHIxNSxwc3dhCi0gczM5MHgtdngtbGludXg2NC1l eHBlZGl0ZSA9IHIxNCxyMTUscHN3YQotIHMzOTB4LXRldngtbGludXg2NC1leHBlZGl0ZSA9IHIx NCxyMTUscHN3YQotK3MzOTB4LWdzLWxpbnV4NjQtZXhwZWRpdGUgPSByMTQscjE1LHBzd2EKLSB0 aWM2eC1jNjR4cC1leHBlZGl0ZSA9IEExNSxQQwotIHRpYzZ4LWM2NHgtZXhwZWRpdGUgPSBBMTUs UEMKLSB0aWM2eC1jNjJ4LWV4cGVkaXRlID0gQTE1LFBDCi1AQCAtMTk2LDYgKzE5OSw4IEBAIFhN TFRPQyA9IFwKLSAJczM5MC12eC1saW51eDY0LnhtbCBcCi0gCXMzOTB4LXRldngtbGludXg2NC54 bWwgXAotIAlzMzkweC12eC1saW51eDY0LnhtbCBcCi0rCXMzOTAtZ3MtbGludXg2NC54bWwgXAot KwlzMzkweC1ncy1saW51eDY0LnhtbCBcCi0gCXRpYzZ4LWM2MngtbGludXgueG1sIFwKLSAJdGlj NngtYzYyeC54bWwgXAotIAl0aWM2eC1jNjR4LWxpbnV4LnhtbCBcCi0tLS0gL2Rldi9udWxsCi0r KysgYi9nZGIvZmVhdHVyZXMvczM5MC1ncy1saW51eDY0LmMKLUBAIC0wLDAgKzEsMTk4IEBACi0r LyogVEhJUyBGSUxFIElTIEdFTkVSQVRFRC4gIC0qLSBidWZmZXItcmVhZC1vbmx5OiB0IC0qLSB2 aTpzZXQgcm86Ci0rICBPcmlnaW5hbDogczM5MC1ncy1saW51eDY0LnhtbCAqLwotKwotKyNpbmNs dWRlICJkZWZzLmgiCi0rI2luY2x1ZGUgIm9zYWJpLmgiCi0rI2luY2x1ZGUgInRhcmdldC1kZXNj cmlwdGlvbnMuaCIKLSsKLStzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTBfZ3NfbGludXg2 NDsKLStzdGF0aWMgdm9pZAotK2luaXRpYWxpemVfdGRlc2NfczM5MF9nc19saW51eDY0ICh2b2lk KQotK3sKLSsgIHN0cnVjdCB0YXJnZXRfZGVzYyAqcmVzdWx0ID0gYWxsb2NhdGVfdGFyZ2V0X2Rl c2NyaXB0aW9uICgpOwotKyAgc3RydWN0IHRkZXNjX2ZlYXR1cmUgKmZlYXR1cmU7Ci0rICBzdHJ1 Y3QgdGRlc2NfdHlwZSAqZmllbGRfdHlwZTsKLSsgIHN0cnVjdCB0ZGVzY190eXBlICp0eXBlOwot KwotKyAgc2V0X3RkZXNjX2FyY2hpdGVjdHVyZSAocmVzdWx0LCBiZmRfc2Nhbl9hcmNoICgiczM5 MDozMS1iaXQiKSk7Ci0rCi0rICBmZWF0dXJlID0gdGRlc2NfY3JlYXRlX2ZlYXR1cmUgKHJlc3Vs dCwgIm9yZy5nbnUuZ2RiLnMzOTAuY29yZSIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInBzd20iLCAwLCAxLCAicHN3IiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJwc3dhIiwgMSwgMSwgInBzdyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVz Y19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjBoIiwgMiwgMSwgInVwcGVyIiwgMzIsICJ1aW50MzIi KTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMGwiLCAzLCAxLCAibG93ZXIiLCAz MiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxaCIsIDQsIDEs ICJ1cHBlciIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi cjFsIiwgNSwgMSwgImxvd2VyIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJyMmgiLCA2LCAxLCAidXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgInIybCIsIDcsIDEsICJsb3dlciIsIDMyLCAidWludDMyIik7 Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjNoIiwgOCwgMSwgInVwcGVyIiwgMzIs ICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyM2wiLCA5LCAxLCAi bG93ZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI0 aCIsIDEwLCAxLCAidXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInI0bCIsIDExLCAxLCAibG93ZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgInI1aCIsIDEyLCAxLCAidXBwZXIiLCAzMiwgInVpbnQzMiIp OwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI1bCIsIDEzLCAxLCAibG93ZXIiLCAz MiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI2aCIsIDE0LCAx LCAidXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg InI2bCIsIDE1LCAxLCAibG93ZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgInI3aCIsIDE2LCAxLCAidXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI3bCIsIDE3LCAxLCAibG93ZXIiLCAzMiwgInVpbnQz MiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI4aCIsIDE4LCAxLCAidXBwZXIi LCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI4bCIsIDE5 LCAxLCAibG93ZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInI5aCIsIDIwLCAxLCAidXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInI5bCIsIDIxLCAxLCAibG93ZXIiLCAzMiwgInVpbnQzMiIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxMGgiLCAyMiwgMSwgInVwcGVyIiwgMzIsICJ1 aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTBsIiwgMjMsIDEsICJs b3dlciIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjEx aCIsIDI0LCAxLCAidXBwZXIiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInIxMWwiLCAyNSwgMSwgImxvd2VyIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTJoIiwgMjYsIDEsICJ1cHBlciIsIDMyLCAidWludDMy Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjEybCIsIDI3LCAxLCAibG93ZXIi LCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxM2giLCAy OCwgMSwgInVwcGVyIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJyMTNsIiwgMjksIDEsICJsb3dlciIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAicjE0aCIsIDMwLCAxLCAidXBwZXIiLCAzMiwgInVpbnQzMiIpOwot KyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxNGwiLCAzMSwgMSwgImxvd2VyIiwgMzIs ICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTVoIiwgMzIsIDEs ICJ1cHBlciIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi cjE1bCIsIDMzLCAxLCAibG93ZXIiLCAzMiwgInVpbnQzMiIpOwotKwotKyAgZmVhdHVyZSA9IHRk ZXNjX2NyZWF0ZV9mZWF0dXJlIChyZXN1bHQsICJvcmcuZ251LmdkYi5zMzkwLmFjciIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImFjcjAiLCAzNCwgMSwgImFjY2VzcyIsIDMyLCAi dWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNyMSIsIDM1LCAxLCAi YWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJh Y3IyIiwgMzYsIDEsICJhY2Nlc3MiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgImFjcjMiLCAzNywgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNyNCIsIDM4LCAxLCAiYWNjZXNzIiwgMzIsICJ1 aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJhY3I1IiwgMzksIDEsICJh Y2Nlc3MiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImFj cjYiLCA0MCwgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAiYWNyNyIsIDQxLCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRk ZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJhY3I4IiwgNDIsIDEsICJhY2Nlc3MiLCAzMiwgInVp bnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImFjcjkiLCA0MywgMSwgImFj Y2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNy MTAiLCA0NCwgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAiYWNyMTEiLCA0NSwgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNyMTIiLCA0NiwgMSwgImFjY2VzcyIsIDMyLCAi dWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNyMTMiLCA0NywgMSwg ImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi YWNyMTQiLCA0OCwgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAiYWNyMTUiLCA0OSwgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0r Ci0rICBmZWF0dXJlID0gdGRlc2NfY3JlYXRlX2ZlYXR1cmUgKHJlc3VsdCwgIm9yZy5nbnUuZ2Ri LnMzOTAuZnByIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZnBjIiwgNTAsIDEs ICJmbG9hdCIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi ZjAiLCA1MSwgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgImYxIiwgNTIsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsK LSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMiIsIDUzLCAxLCAiZmxvYXQiLCA2NCwg ImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjMiLCA1NCwg MSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgImY0IiwgNTUsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmNSIsIDU2LCAxLCAiZmxvYXQiLCA2NCwgImllZWVfZG91 YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjYiLCA1NywgMSwgImZsb2F0 IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImY3 IiwgNTgsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJmOCIsIDU5LCAxLCAiZmxvYXQiLCA2NCwgImllZWVfZG91YmxlIik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjkiLCA2MCwgMSwgImZsb2F0IiwgNjQsICJp ZWVlX2RvdWJsZSIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImYxMCIsIDYxLCAx LCAiZmxvYXQiLCA2NCwgImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0 dXJlLCAiZjExIiwgNjIsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMTIiLCA2MywgMSwgImZsb2F0IiwgNjQsICJpZWVlX2Rv dWJsZSIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImYxMyIsIDY0LCAxLCAiZmxv YXQiLCA2NCwgImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi ZjE0IiwgNjUsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJmMTUiLCA2NiwgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIp OwotKwotKyAgZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9mZWF0dXJlIChyZXN1bHQsICJvcmcuZ251 LmdkYi5zMzkwLmxpbnV4Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAib3JpZ19y MiIsIDY3LCAxLCAic3lzdGVtIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJsYXN0X2JyZWFrIiwgNjgsIDAsICJzeXN0ZW0iLCAzMiwgImNvZGVfcHRyIik7 Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAic3lzdGVtX2NhbGwiLCA2OSwgMSwgInN5 c3RlbSIsIDMyLCAidWludDMyIik7Ci0rCi0rICBmZWF0dXJlID0gdGRlc2NfY3JlYXRlX2ZlYXR1 cmUgKHJlc3VsdCwgIm9yZy5nbnUuZ2RiLnMzOTAudGRiIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAidGRiMCIsIDcwLCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0YWMiLCA3MSwgMSwgInRkYiIsIDY0LCAidWludDY0Iik7 Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidGN0IiwgNzIsIDEsICJ0ZGIiLCA2NCwg InVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImF0aWEiLCA3MywgMSwg InRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHIw IiwgNzQsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgInRyMSIsIDc1LCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJ0cjIiLCA3NiwgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHIzIiwgNzcsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2 NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInRyNCIsIDc4LCAxLCAidGRiIiwg NjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjUiLCA3OSwg MSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi dHI2IiwgODAsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInRyNyIsIDgxLCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjgiLCA4MiwgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHI5IiwgODMsIDEsICJ0ZGIiLCA2NCwgInVp bnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInRyMTAiLCA4NCwgMSwgInRk YiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHIxMSIs IDg1LCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJ0cjEyIiwgODYsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInRyMTMiLCA4NywgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHIxNCIsIDg4LCAxLCAidGRiIiwgNjQsICJ1aW50 NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjE1IiwgODksIDEsICJ0ZGIi LCA2NCwgInVpbnQ2NCIpOwotKwotKyAgZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9mZWF0dXJlIChy ZXN1bHQsICJvcmcuZ251LmdkYi5zMzkwLnZ4Iik7Ci0rICBmaWVsZF90eXBlID0gdGRlc2NfbmFt ZWRfdHlwZSAoZmVhdHVyZSwgImllZWVfc2luZ2xlIik7Ci0rICB0ZGVzY19jcmVhdGVfdmVjdG9y IChmZWF0dXJlLCAidjRmIiwgZmllbGRfdHlwZSwgNCk7Ci0rCi0rICBmaWVsZF90eXBlID0gdGRl c2NfbmFtZWRfdHlwZSAoZmVhdHVyZSwgImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVf dmVjdG9yIChmZWF0dXJlLCAidjJkIiwgZmllbGRfdHlwZSwgMik7Ci0rCi0rICBmaWVsZF90eXBl ID0gdGRlc2NfbmFtZWRfdHlwZSAoZmVhdHVyZSwgImludDgiKTsKLSsgIHRkZXNjX2NyZWF0ZV92 ZWN0b3IgKGZlYXR1cmUsICJ2MTZpOCIsIGZpZWxkX3R5cGUsIDE2KTsKLSsKLSsgIGZpZWxkX3R5 cGUgPSB0ZGVzY19uYW1lZF90eXBlIChmZWF0dXJlLCAiaW50MTYiKTsKLSsgIHRkZXNjX2NyZWF0 ZV92ZWN0b3IgKGZlYXR1cmUsICJ2OGkxNiIsIGZpZWxkX3R5cGUsIDgpOwotKwotKyAgZmllbGRf dHlwZSA9IHRkZXNjX25hbWVkX3R5cGUgKGZlYXR1cmUsICJpbnQzMiIpOwotKyAgdGRlc2NfY3Jl YXRlX3ZlY3RvciAoZmVhdHVyZSwgInY0aTMyIiwgZmllbGRfdHlwZSwgNCk7Ci0rCi0rICBmaWVs ZF90eXBlID0gdGRlc2NfbmFtZWRfdHlwZSAoZmVhdHVyZSwgImludDY0Iik7Ci0rICB0ZGVzY19j cmVhdGVfdmVjdG9yIChmZWF0dXJlLCAidjJpNjQiLCBmaWVsZF90eXBlLCAyKTsKLSsKLSsgIHR5 cGUgPSB0ZGVzY19jcmVhdGVfdW5pb24gKGZlYXR1cmUsICJ2ZWMxMjgiKTsKLSsgIGZpZWxkX3R5 cGUgPSB0ZGVzY19uYW1lZF90eXBlIChmZWF0dXJlLCAidjRmIik7Ci0rICB0ZGVzY19hZGRfZmll bGQgKHR5cGUsICJ2NF9mbG9hdCIsIGZpZWxkX3R5cGUpOwotKyAgZmllbGRfdHlwZSA9IHRkZXNj X25hbWVkX3R5cGUgKGZlYXR1cmUsICJ2MmQiKTsKLSsgIHRkZXNjX2FkZF9maWVsZCAodHlwZSwg InYyX2RvdWJsZSIsIGZpZWxkX3R5cGUpOwotKyAgZmllbGRfdHlwZSA9IHRkZXNjX25hbWVkX3R5 cGUgKGZlYXR1cmUsICJ2MTZpOCIpOwotKyAgdGRlc2NfYWRkX2ZpZWxkICh0eXBlLCAidjE2X2lu dDgiLCBmaWVsZF90eXBlKTsKLSsgIGZpZWxkX3R5cGUgPSB0ZGVzY19uYW1lZF90eXBlIChmZWF0 dXJlLCAidjhpMTYiKTsKLSsgIHRkZXNjX2FkZF9maWVsZCAodHlwZSwgInY4X2ludDE2IiwgZmll bGRfdHlwZSk7Ci0rICBmaWVsZF90eXBlID0gdGRlc2NfbmFtZWRfdHlwZSAoZmVhdHVyZSwgInY0 aTMyIik7Ci0rICB0ZGVzY19hZGRfZmllbGQgKHR5cGUsICJ2NF9pbnQzMiIsIGZpZWxkX3R5cGUp OwotKyAgZmllbGRfdHlwZSA9IHRkZXNjX25hbWVkX3R5cGUgKGZlYXR1cmUsICJ2Mmk2NCIpOwot KyAgdGRlc2NfYWRkX2ZpZWxkICh0eXBlLCAidjJfaW50NjQiLCBmaWVsZF90eXBlKTsKLSsgIGZp ZWxkX3R5cGUgPSB0ZGVzY19uYW1lZF90eXBlIChmZWF0dXJlLCAidWludDEyOCIpOwotKyAgdGRl c2NfYWRkX2ZpZWxkICh0eXBlLCAidWludDEyOCIsIGZpZWxkX3R5cGUpOwotKwotKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgInYwbCIsIDkwLCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwot KyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYxbCIsIDkxLCAxLCBOVUxMLCA2NCwgInVp bnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYybCIsIDkyLCAxLCBOVUxM LCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYzbCIsIDkz LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg InY0bCIsIDk0LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInY1bCIsIDk1LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgInY2bCIsIDk2LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInY3bCIsIDk3LCAxLCBOVUxMLCA2NCwgInVpbnQ2 NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInY4bCIsIDk4LCAxLCBOVUxMLCA2 NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInY5bCIsIDk5LCAx LCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYx MGwiLCAxMDAsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChm ZWF0dXJlLCAidjExbCIsIDEwMSwgMSwgTlVMTCwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MTJsIiwgMTAyLCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwot KyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYxM2wiLCAxMDMsIDEsIE5VTEwsIDY0LCAi dWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjE0bCIsIDEwNCwgMSwg TlVMTCwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MTVs IiwgMTA1LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgInYxNiIsIDEwNiwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAidjE3IiwgMTA3LCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MTgiLCAxMDgsIDEsIE5VTEwsIDEyOCwgInZl YzEyOCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYxOSIsIDEwOSwgMSwgTlVM TCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjIwIiwg MTEwLCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJ2MjEiLCAxMTEsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInYyMiIsIDExMiwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjIzIiwgMTEzLCAxLCBOVUxMLCAxMjgsICJ2ZWMx MjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MjQiLCAxMTQsIDEsIE5VTEws IDEyOCwgInZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYyNSIsIDEx NSwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJl LCAidjI2IiwgMTE2LCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJ2MjciLCAxMTcsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYyOCIsIDExOCwgMSwgTlVMTCwgMTI4LCAidmVjMTI4 Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjI5IiwgMTE5LCAxLCBOVUxMLCAx MjgsICJ2ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MzAiLCAxMjAs IDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg InYzMSIsIDEyMSwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rCi0rICBmZWF0dXJlID0gdGRl c2NfY3JlYXRlX2ZlYXR1cmUgKHJlc3VsdCwgIm9yZy5nbnUuZ2RiLnMzOTAuZ3MiKTsKLSsgIHRk ZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJnc2QiLCAxMjIsIDEsICJncyIsIDY0LCAidWludDY0 Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZ3NzbSIsIDEyMywgMSwgImdzIiwg NjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJnc2VwbGEiLCAx MjQsIDEsICJncyIsIDY0LCAiZGF0YV9wdHIiKTsKLSsKLSsgIGZlYXR1cmUgPSB0ZGVzY19jcmVh dGVfZmVhdHVyZSAocmVzdWx0LCAib3JnLmdudS5nZGIuczM5MC5nc2JjIik7Ci0rICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAiYmNfZ3NkIiwgMTI1LCAxLCAiZ3MiLCA2NCwgInVpbnQ2NCIp OwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImJjX2dzc20iLCAxMjYsIDEsICJncyIs IDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYmNfZ3NlcGxh IiwgMTI3LCAxLCAiZ3MiLCA2NCwgImRhdGFfcHRyIik7Ci0rCi0rICB0ZGVzY19zMzkwX2dzX2xp bnV4NjQgPSByZXN1bHQ7Ci0rfQotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL2ZlYXR1cmVzL3Mz OTAtZ3MtbGludXg2NC54bWwKLUBAIC0wLDAgKzEsMjggQEAKLSs8P3htbCB2ZXJzaW9uPSIxLjAi Pz4KLSs8IS0tIENvcHlyaWdodCAoQykgMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KLSsKLSsgICAgIENvcHlpbmcgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpbGUsIHdpdGgg b3Igd2l0aG91dCBtb2RpZmljYXRpb24sCi0rICAgICBhcmUgcGVybWl0dGVkIGluIGFueSBtZWRp dW0gd2l0aG91dCByb3lhbHR5IHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQKLSsgICAgIG5vdGljZSBh bmQgdGhpcyBub3RpY2UgYXJlIHByZXNlcnZlZC4gIC0tPgotKwotKzwhLS0gUy8zOTAgMzEtYml0 IHVzZXItbGV2ZWwgY29kZSBvbiBhIG1hY2hpbmUgb3BlcmF0aW5nCi0rICAgICBpbiB6L0FyY2hp dGVjdHVyZSBtb2RlLiAgLS0+Ci0rCi0rPCFET0NUWVBFIHRhcmdldCBTWVNURU0gImdkYi10YXJn ZXQuZHRkIj4KLSs8dGFyZ2V0PgotKyAgPGFyY2hpdGVjdHVyZT5zMzkwOjMxLWJpdDwvYXJjaGl0 ZWN0dXJlPgotKyAgPHhpOmluY2x1ZGUgaHJlZj0iczM5MC1jb3JlNjQueG1sIi8+Ci0rICA8eGk6 aW5jbHVkZSBocmVmPSJzMzkwLWFjci54bWwiLz4KLSsgIDx4aTppbmNsdWRlIGhyZWY9InMzOTAt ZnByLnhtbCIvPgotKwotKyAgPGZlYXR1cmUgbmFtZT0ib3JnLmdudS5nZGIuczM5MC5saW51eCI+ Ci0rICAgIDxyZWcgbmFtZT0ib3JpZ19yMiIgYml0c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIgZ3Jv dXA9InN5c3RlbSIvPgotKyAgICA8cmVnIG5hbWU9Imxhc3RfYnJlYWsiIGJpdHNpemU9IjMyIiB0 eXBlPSJjb2RlX3B0ciIgZ3JvdXA9InN5c3RlbSIgc2F2ZS1yZXN0b3JlPSJubyIvPgotKyAgICA8 cmVnIG5hbWU9InN5c3RlbV9jYWxsIiBiaXRzaXplPSIzMiIgdHlwZT0idWludDMyIiBncm91cD0i c3lzdGVtIi8+Ci0rICA8L2ZlYXR1cmU+Ci0rCi0rICA8eGk6aW5jbHVkZSBocmVmPSJzMzkwLXRk Yi54bWwiLz4KLSsgIDx4aTppbmNsdWRlIGhyZWY9InMzOTAtdngueG1sIi8+Ci0rICA8eGk6aW5j bHVkZSBocmVmPSJzMzkwLWdzLnhtbCIvPgotKyAgPHhpOmluY2x1ZGUgaHJlZj0iczM5MC1nc2Jj LnhtbCIvPgotKzwvdGFyZ2V0PgotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL2ZlYXR1cmVzL3Mz OTAtZ3MueG1sCi1AQCAtMCwwICsxLDEzIEBACi0rPD94bWwgdmVyc2lvbj0iMS4wIj8+Ci0rPCEt LSBDb3B5cmlnaHQgKEMpIDIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0r ICAgICBDb3B5aW5nIGFuZCBkaXN0cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3aXRoIG9yIHdpdGhv dXQgbW9kaWZpY2F0aW9uLAotKyAgICAgYXJlIHBlcm1pdHRlZCBpbiBhbnkgbWVkaXVtIHdpdGhv dXQgcm95YWx0eSBwcm92aWRlZCB0aGUgY29weXJpZ2h0Ci0rICAgICBub3RpY2UgYW5kIHRoaXMg bm90aWNlIGFyZSBwcmVzZXJ2ZWQuICAtLT4KLSsKLSs8IURPQ1RZUEUgZmVhdHVyZSBTWVNURU0g ImdkYi10YXJnZXQuZHRkIj4KLSs8ZmVhdHVyZSBuYW1lPSJvcmcuZ251LmdkYi5zMzkwLmdzIj4K LSsgIDxyZWcgbmFtZT0iZ3NkIiBiaXRzaXplPSI2NCIgdHlwZT0idWludDY0IiBncm91cD0iZ3Mi Lz4KLSsgIDxyZWcgbmFtZT0iZ3NzbSIgYml0c2l6ZT0iNjQiIHR5cGU9InVpbnQ2NCIgZ3JvdXA9 ImdzIi8+Ci0rICA8cmVnIG5hbWU9ImdzZXBsYSIgYml0c2l6ZT0iNjQiIHR5cGU9ImRhdGFfcHRy IiBncm91cD0iZ3MiLz4KLSs8L2ZlYXR1cmU+Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvZmVh dHVyZXMvczM5MC1nc2JjLnhtbAotQEAgLTAsMCArMSwxMyBAQAotKzw/eG1sIHZlcnNpb249IjEu MCI/PgotKzwhLS0gQ29weXJpZ2h0IChDKSAyMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgotKwotKyAgICAgQ29weWluZyBhbmQgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlsZSwgd2l0 aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwKLSsgICAgIGFyZSBwZXJtaXR0ZWQgaW4gYW55IG1l ZGl1bSB3aXRob3V0IHJveWFsdHkgcHJvdmlkZWQgdGhlIGNvcHlyaWdodAotKyAgICAgbm90aWNl IGFuZCB0aGlzIG5vdGljZSBhcmUgcHJlc2VydmVkLiAgLS0+Ci0rCi0rPCFET0NUWVBFIGZlYXR1 cmUgU1lTVEVNICJnZGItdGFyZ2V0LmR0ZCI+Ci0rPGZlYXR1cmUgbmFtZT0ib3JnLmdudS5nZGIu czM5MC5nc2JjIj4KLSsgIDxyZWcgbmFtZT0iYmNfZ3NkIiBiaXRzaXplPSI2NCIgdHlwZT0idWlu dDY0IiBncm91cD0iZ3MiLz4KLSsgIDxyZWcgbmFtZT0iYmNfZ3NzbSIgYml0c2l6ZT0iNjQiIHR5 cGU9InVpbnQ2NCIgZ3JvdXA9ImdzIi8+Ci0rICA8cmVnIG5hbWU9ImJjX2dzZXBsYSIgYml0c2l6 ZT0iNjQiIHR5cGU9ImRhdGFfcHRyIiBncm91cD0iZ3MiLz4KLSs8L2ZlYXR1cmU+Ci0tLS0gL2Rl di9udWxsCi0rKysgYi9nZGIvZmVhdHVyZXMvczM5MHgtZ3MtbGludXg2NC5jCi1AQCAtMCwwICsx LDE4MiBAQAotKy8qIFRISVMgRklMRSBJUyBHRU5FUkFURUQuICAtKi0gYnVmZmVyLXJlYWQtb25s eTogdCAtKi0gdmk6c2V0IHJvOgotKyAgT3JpZ2luYWw6IHMzOTB4LWdzLWxpbnV4NjQueG1sICov Ci0rCi0rI2luY2x1ZGUgImRlZnMuaCIKLSsjaW5jbHVkZSAib3NhYmkuaCIKLSsjaW5jbHVkZSAi dGFyZ2V0LWRlc2NyaXB0aW9ucy5oIgotKwotK3N0cnVjdCB0YXJnZXRfZGVzYyAqdGRlc2NfczM5 MHhfZ3NfbGludXg2NDsKLStzdGF0aWMgdm9pZAotK2luaXRpYWxpemVfdGRlc2NfczM5MHhfZ3Nf bGludXg2NCAodm9pZCkKLSt7Ci0rICBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnJlc3VsdCA9IGFsbG9j YXRlX3RhcmdldF9kZXNjcmlwdGlvbiAoKTsKLSsgIHN0cnVjdCB0ZGVzY19mZWF0dXJlICpmZWF0 dXJlOwotKyAgc3RydWN0IHRkZXNjX3R5cGUgKmZpZWxkX3R5cGU7Ci0rICBzdHJ1Y3QgdGRlc2Nf dHlwZSAqdHlwZTsKLSsKLSsgIHNldF90ZGVzY19hcmNoaXRlY3R1cmUgKHJlc3VsdCwgYmZkX3Nj YW5fYXJjaCAoInMzOTA6NjQtYml0IikpOwotKwotKyAgZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9m ZWF0dXJlIChyZXN1bHQsICJvcmcuZ251LmdkYi5zMzkwLmNvcmUiKTsKLSsgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJwc3dtIiwgMCwgMSwgInBzdyIsIDY0LCAidWludDY0Iik7Ci0rICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicHN3YSIsIDEsIDEsICJwc3ciLCA2NCwgInVpbnQ2 NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIwIiwgMiwgMSwgImdlbmVyYWwi LCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxIiwgMywg MSwgImdlbmVyYWwiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInIyIiwgNCwgMSwgImdlbmVyYWwiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInIzIiwgNSwgMSwgImdlbmVyYWwiLCA2NCwgInVpbnQ2NCIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI0IiwgNiwgMSwgImdlbmVyYWwiLCA2NCwgInVp bnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI1IiwgNywgMSwgImdlbmVy YWwiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI2Iiwg OCwgMSwgImdlbmVyYWwiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgInI3IiwgOSwgMSwgImdlbmVyYWwiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgInI4IiwgMTAsIDEsICJnZW5lcmFsIiwgNjQsICJ1aW50NjQiKTsK LSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyOSIsIDExLCAxLCAiZ2VuZXJhbCIsIDY0 LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjEwIiwgMTIsIDEs ICJnZW5lcmFsIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJyMTEiLCAxMywgMSwgImdlbmVyYWwiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInIxMiIsIDE0LCAxLCAiZ2VuZXJhbCIsIDY0LCAidWludDY0Iik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjEzIiwgMTUsIDEsICJnZW5lcmFsIiwgNjQs ICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTQiLCAxNiwgMSwg ImdlbmVyYWwiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg InIxNSIsIDE3LCAxLCAiZ2VuZXJhbCIsIDY0LCAidWludDY0Iik7Ci0rCi0rICBmZWF0dXJlID0g dGRlc2NfY3JlYXRlX2ZlYXR1cmUgKHJlc3VsdCwgIm9yZy5nbnUuZ2RiLnMzOTAuYWNyIik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNyMCIsIDE4LCAxLCAiYWNjZXNzIiwgMzIs ICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJhY3IxIiwgMTksIDEs ICJhY2Nlc3MiLCAzMiwgInVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg ImFjcjIiLCAyMCwgMSwgImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAiYWNyMyIsIDIxLCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJhY3I0IiwgMjIsIDEsICJhY2Nlc3MiLCAzMiwg InVpbnQzMiIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImFjcjUiLCAyMywgMSwg ImFjY2VzcyIsIDMyLCAidWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi YWNyNiIsIDI0LCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJhY3I3IiwgMjUsIDEsICJhY2Nlc3MiLCAzMiwgInVpbnQzMiIpOwotKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImFjcjgiLCAyNiwgMSwgImFjY2VzcyIsIDMyLCAi dWludDMyIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYWNyOSIsIDI3LCAxLCAi YWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJh Y3IxMCIsIDI4LCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJhY3IxMSIsIDI5LCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJhY3IxMiIsIDMwLCAxLCAiYWNjZXNzIiwgMzIs ICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJhY3IxMyIsIDMxLCAx LCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJhY3IxNCIsIDMyLCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJhY3IxNSIsIDMzLCAxLCAiYWNjZXNzIiwgMzIsICJ1aW50MzIiKTsK LSsKLSsgIGZlYXR1cmUgPSB0ZGVzY19jcmVhdGVfZmVhdHVyZSAocmVzdWx0LCAib3JnLmdudS5n ZGIuczM5MC5mcHIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmcGMiLCAzNCwg MSwgImZsb2F0IiwgMzIsICJ1aW50MzIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJmMCIsIDM1LCAxLCAiZmxvYXQiLCA2NCwgImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAiZjEiLCAzNiwgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIp OwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImYyIiwgMzcsIDEsICJmbG9hdCIsIDY0 LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMyIsIDM4 LCAxLCAiZmxvYXQiLCA2NCwgImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChm ZWF0dXJlLCAiZjQiLCAzOSwgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImY1IiwgNDAsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9k b3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmNiIsIDQxLCAxLCAiZmxv YXQiLCA2NCwgImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi ZjciLCA0MiwgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgImY4IiwgNDMsIDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsK LSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmOSIsIDQ0LCAxLCAiZmxvYXQiLCA2NCwg ImllZWVfZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjEwIiwgNDUs IDEsICJmbG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZl YXR1cmUsICJmMTEiLCA0NiwgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImYxMiIsIDQ3LCAxLCAiZmxvYXQiLCA2NCwgImllZWVf ZG91YmxlIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjEzIiwgNDgsIDEsICJm bG9hdCIsIDY0LCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJmMTQiLCA0OSwgMSwgImZsb2F0IiwgNjQsICJpZWVlX2RvdWJsZSIpOwotKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgImYxNSIsIDUwLCAxLCAiZmxvYXQiLCA2NCwgImllZWVfZG91Ymxl Iik7Ci0rCi0rICBmZWF0dXJlID0gdGRlc2NfY3JlYXRlX2ZlYXR1cmUgKHJlc3VsdCwgIm9yZy5n bnUuZ2RiLnMzOTAubGludXgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJvcmln X3IyIiwgNTEsIDEsICJzeXN0ZW0iLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgImxhc3RfYnJlYWsiLCA1MiwgMCwgInN5c3RlbSIsIDY0LCAiY29kZV9wdHIi KTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJzeXN0ZW1fY2FsbCIsIDUzLCAxLCAi c3lzdGVtIiwgMzIsICJ1aW50MzIiKTsKLSsKLSsgIGZlYXR1cmUgPSB0ZGVzY19jcmVhdGVfZmVh dHVyZSAocmVzdWx0LCAib3JnLmdudS5nZGIuczM5MC50ZGIiKTsKLSsgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJ0ZGIwIiwgNTQsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInRhYyIsIDU1LCAxLCAidGRiIiwgNjQsICJ1aW50NjQi KTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0Y3QiLCA1NiwgMSwgInRkYiIsIDY0 LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiYXRpYSIsIDU3LCAx LCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0 cjAiLCA1OCwgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChm ZWF0dXJlLCAidHIxIiwgNTksIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgInRyMiIsIDYwLCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjMiLCA2MSwgMSwgInRkYiIsIDY0LCAidWlu dDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHI0IiwgNjIsIDEsICJ0ZGIi LCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInRyNSIsIDYz LCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJ0cjYiLCA2NCwgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAidHI3IiwgNjUsIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgInRyOCIsIDY2LCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsK LSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjkiLCA2NywgMSwgInRkYiIsIDY0LCAi dWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidHIxMCIsIDY4LCAxLCAi dGRiIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjEx IiwgNjksIDEsICJ0ZGIiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgInRyMTIiLCA3MCwgMSwgInRkYiIsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAidHIxMyIsIDcxLCAxLCAidGRiIiwgNjQsICJ1aW50NjQiKTsKLSsg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ0cjE0IiwgNzIsIDEsICJ0ZGIiLCA2NCwgInVp bnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInRyMTUiLCA3MywgMSwgInRk YiIsIDY0LCAidWludDY0Iik7Ci0rCi0rICBmZWF0dXJlID0gdGRlc2NfY3JlYXRlX2ZlYXR1cmUg KHJlc3VsdCwgIm9yZy5nbnUuZ2RiLnMzOTAudngiKTsKLSsgIGZpZWxkX3R5cGUgPSB0ZGVzY19u YW1lZF90eXBlIChmZWF0dXJlLCAiaWVlZV9zaW5nbGUiKTsKLSsgIHRkZXNjX2NyZWF0ZV92ZWN0 b3IgKGZlYXR1cmUsICJ2NGYiLCBmaWVsZF90eXBlLCA0KTsKLSsKLSsgIGZpZWxkX3R5cGUgPSB0 ZGVzY19uYW1lZF90eXBlIChmZWF0dXJlLCAiaWVlZV9kb3VibGUiKTsKLSsgIHRkZXNjX2NyZWF0 ZV92ZWN0b3IgKGZlYXR1cmUsICJ2MmQiLCBmaWVsZF90eXBlLCAyKTsKLSsKLSsgIGZpZWxkX3R5 cGUgPSB0ZGVzY19uYW1lZF90eXBlIChmZWF0dXJlLCAiaW50OCIpOwotKyAgdGRlc2NfY3JlYXRl X3ZlY3RvciAoZmVhdHVyZSwgInYxNmk4IiwgZmllbGRfdHlwZSwgMTYpOwotKwotKyAgZmllbGRf dHlwZSA9IHRkZXNjX25hbWVkX3R5cGUgKGZlYXR1cmUsICJpbnQxNiIpOwotKyAgdGRlc2NfY3Jl YXRlX3ZlY3RvciAoZmVhdHVyZSwgInY4aTE2IiwgZmllbGRfdHlwZSwgOCk7Ci0rCi0rICBmaWVs ZF90eXBlID0gdGRlc2NfbmFtZWRfdHlwZSAoZmVhdHVyZSwgImludDMyIik7Ci0rICB0ZGVzY19j cmVhdGVfdmVjdG9yIChmZWF0dXJlLCAidjRpMzIiLCBmaWVsZF90eXBlLCA0KTsKLSsKLSsgIGZp ZWxkX3R5cGUgPSB0ZGVzY19uYW1lZF90eXBlIChmZWF0dXJlLCAiaW50NjQiKTsKLSsgIHRkZXNj X2NyZWF0ZV92ZWN0b3IgKGZlYXR1cmUsICJ2Mmk2NCIsIGZpZWxkX3R5cGUsIDIpOwotKwotKyAg dHlwZSA9IHRkZXNjX2NyZWF0ZV91bmlvbiAoZmVhdHVyZSwgInZlYzEyOCIpOwotKyAgZmllbGRf dHlwZSA9IHRkZXNjX25hbWVkX3R5cGUgKGZlYXR1cmUsICJ2NGYiKTsKLSsgIHRkZXNjX2FkZF9m aWVsZCAodHlwZSwgInY0X2Zsb2F0IiwgZmllbGRfdHlwZSk7Ci0rICBmaWVsZF90eXBlID0gdGRl c2NfbmFtZWRfdHlwZSAoZmVhdHVyZSwgInYyZCIpOwotKyAgdGRlc2NfYWRkX2ZpZWxkICh0eXBl LCAidjJfZG91YmxlIiwgZmllbGRfdHlwZSk7Ci0rICBmaWVsZF90eXBlID0gdGRlc2NfbmFtZWRf dHlwZSAoZmVhdHVyZSwgInYxNmk4Iik7Ci0rICB0ZGVzY19hZGRfZmllbGQgKHR5cGUsICJ2MTZf aW50OCIsIGZpZWxkX3R5cGUpOwotKyAgZmllbGRfdHlwZSA9IHRkZXNjX25hbWVkX3R5cGUgKGZl YXR1cmUsICJ2OGkxNiIpOwotKyAgdGRlc2NfYWRkX2ZpZWxkICh0eXBlLCAidjhfaW50MTYiLCBm aWVsZF90eXBlKTsKLSsgIGZpZWxkX3R5cGUgPSB0ZGVzY19uYW1lZF90eXBlIChmZWF0dXJlLCAi djRpMzIiKTsKLSsgIHRkZXNjX2FkZF9maWVsZCAodHlwZSwgInY0X2ludDMyIiwgZmllbGRfdHlw ZSk7Ci0rICBmaWVsZF90eXBlID0gdGRlc2NfbmFtZWRfdHlwZSAoZmVhdHVyZSwgInYyaTY0Iik7 Ci0rICB0ZGVzY19hZGRfZmllbGQgKHR5cGUsICJ2Ml9pbnQ2NCIsIGZpZWxkX3R5cGUpOwotKyAg ZmllbGRfdHlwZSA9IHRkZXNjX25hbWVkX3R5cGUgKGZlYXR1cmUsICJ1aW50MTI4Iik7Ci0rICB0 ZGVzY19hZGRfZmllbGQgKHR5cGUsICJ1aW50MTI4IiwgZmllbGRfdHlwZSk7Ci0rCi0rICB0ZGVz Y19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjBsIiwgNzQsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7 Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjFsIiwgNzUsIDEsIE5VTEwsIDY0LCAi dWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjJsIiwgNzYsIDEsIE5V TEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjNsIiwg NzcsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJl LCAidjRsIiwgNzgsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAidjVsIiwgNzksIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAidjZsIiwgODAsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjdsIiwgODEsIDEsIE5VTEwsIDY0LCAidWlu dDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjhsIiwgODIsIDEsIE5VTEws IDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjlsIiwgODMs IDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi djEwbCIsIDg0LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInYxMWwiLCA4NSwgMSwgTlVMTCwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MTJsIiwgODYsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0r ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjEzbCIsIDg3LCAxLCBOVUxMLCA2NCwgInVp bnQ2NCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYxNGwiLCA4OCwgMSwgTlVM TCwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MTVsIiwg ODksIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJl LCAidjE2IiwgOTAsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgInYxNyIsIDkxLCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MTgiLCA5MiwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7 Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjE5IiwgOTMsIDEsIE5VTEwsIDEyOCwg InZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYyMCIsIDk0LCAxLCBO VUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MjEi LCA5NSwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0 dXJlLCAidjIyIiwgOTYsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInYyMyIsIDk3LCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRk ZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MjQiLCA5OCwgMSwgTlVMTCwgMTI4LCAidmVjMTI4 Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjI1IiwgOTksIDEsIE5VTEwsIDEy OCwgInZlYzEyOCIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInYyNiIsIDEwMCwg MSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi djI3IiwgMTAxLCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJ2MjgiLCAxMDIsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgInYyOSIsIDEwMywgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7 Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAidjMwIiwgMTA0LCAxLCBOVUxMLCAxMjgs ICJ2ZWMxMjgiKTsKLSsgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ2MzEiLCAxMDUsIDEs IE5VTEwsIDEyOCwgInZlYzEyOCIpOwotKwotKyAgZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9mZWF0 dXJlIChyZXN1bHQsICJvcmcuZ251LmdkYi5zMzkwLmdzIik7Ci0rICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAiZ3NkIiwgMTA2LCAxLCAiZ3MiLCA2NCwgInVpbnQ2NCIpOwotKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgImdzc20iLCAxMDcsIDEsICJncyIsIDY0LCAidWludDY0Iik7 Ci0rICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZ3NlcGxhIiwgMTA4LCAxLCAiZ3MiLCA2 NCwgImRhdGFfcHRyIik7Ci0rCi0rICBmZWF0dXJlID0gdGRlc2NfY3JlYXRlX2ZlYXR1cmUgKHJl c3VsdCwgIm9yZy5nbnUuZ2RiLnMzOTAuZ3NiYyIpOwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgImJjX2dzZCIsIDEwOSwgMSwgImdzIiwgNjQsICJ1aW50NjQiKTsKLSsgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJiY19nc3NtIiwgMTEwLCAxLCAiZ3MiLCA2NCwgInVpbnQ2NCIp OwotKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImJjX2dzZXBsYSIsIDExMSwgMSwgImdz IiwgNjQsICJkYXRhX3B0ciIpOwotKwotKyAgdGRlc2NfczM5MHhfZ3NfbGludXg2NCA9IHJlc3Vs dDsKLSt9Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvZmVhdHVyZXMvczM5MHgtZ3MtbGludXg2 NC54bWwKLUBAIC0wLDAgKzEsMjcgQEAKLSs8P3htbCB2ZXJzaW9uPSIxLjAiPz4KLSs8IS0tIENv cHlyaWdodCAoQykgMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICAg IENvcHlpbmcgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpbGUsIHdpdGggb3Igd2l0aG91dCBt b2RpZmljYXRpb24sCi0rICAgICBhcmUgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCBy b3lhbHR5IHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQKLSsgICAgIG5vdGljZSBhbmQgdGhpcyBub3Rp Y2UgYXJlIHByZXNlcnZlZC4gIC0tPgotKwotKzwhLS0gUy8zOTAgNjQtYml0IHVzZXItbGV2ZWwg Y29kZS4gIC0tPgotKwotKzwhRE9DVFlQRSB0YXJnZXQgU1lTVEVNICJnZGItdGFyZ2V0LmR0ZCI+ Ci0rPHRhcmdldD4KLSsgIDxhcmNoaXRlY3R1cmU+czM5MDo2NC1iaXQ8L2FyY2hpdGVjdHVyZT4K LSsgIDx4aTppbmNsdWRlIGhyZWY9InMzOTB4LWNvcmU2NC54bWwiLz4KLSsgIDx4aTppbmNsdWRl IGhyZWY9InMzOTAtYWNyLnhtbCIvPgotKyAgPHhpOmluY2x1ZGUgaHJlZj0iczM5MC1mcHIueG1s Ii8+Ci0rCi0rICA8ZmVhdHVyZSBuYW1lPSJvcmcuZ251LmdkYi5zMzkwLmxpbnV4Ij4KLSsgICAg PHJlZyBuYW1lPSJvcmlnX3IyIiBiaXRzaXplPSI2NCIgdHlwZT0idWludDY0IiBncm91cD0ic3lz dGVtIi8+Ci0rICAgIDxyZWcgbmFtZT0ibGFzdF9icmVhayIgYml0c2l6ZT0iNjQiIHR5cGU9ImNv ZGVfcHRyIiBncm91cD0ic3lzdGVtIiBzYXZlLXJlc3RvcmU9Im5vIi8+Ci0rICAgIDxyZWcgbmFt ZT0ic3lzdGVtX2NhbGwiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIGdyb3VwPSJzeXN0ZW0i Lz4KLSsgIDwvZmVhdHVyZT4KLSsKLSsgIDx4aTppbmNsdWRlIGhyZWY9InMzOTAtdGRiLnhtbCIv PgotKyAgPHhpOmluY2x1ZGUgaHJlZj0iczM5MC12eC54bWwiLz4KLSsgIDx4aTppbmNsdWRlIGhy ZWY9InMzOTAtZ3MueG1sIi8+Ci0rICA8eGk6aW5jbHVkZSBocmVmPSJzMzkwLWdzYmMueG1sIi8+ Ci0rPC90YXJnZXQ+Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvcmVnZm9ybWF0cy9zMzkwLWdz LWxpbnV4NjQuZGF0Ci1AQCAtMCwwICsxLDEzMyBAQAotKyMgVEhJUyBGSUxFIElTIEdFTkVSQVRF RC4gIC0qLSBidWZmZXItcmVhZC1vbmx5OiB0IC0qLSB2aSA6c2V0IHJvOgotKyMgR2VuZXJhdGVk IGZyb206IHMzOTAtZ3MtbGludXg2NC54bWwKLStuYW1lOnMzOTBfZ3NfbGludXg2NAotK3htbHRh cmdldDpzMzkwLWdzLWxpbnV4NjQueG1sCi0rZXhwZWRpdGU6cjE0LHIxNSxwc3dhCi0rMzI6cHN3 bQotKzMyOnBzd2EKLSszMjpyMGgKLSszMjpyMGwKLSszMjpyMWgKLSszMjpyMWwKLSszMjpyMmgK LSszMjpyMmwKLSszMjpyM2gKLSszMjpyM2wKLSszMjpyNGgKLSszMjpyNGwKLSszMjpyNWgKLSsz MjpyNWwKLSszMjpyNmgKLSszMjpyNmwKLSszMjpyN2gKLSszMjpyN2wKLSszMjpyOGgKLSszMjpy OGwKLSszMjpyOWgKLSszMjpyOWwKLSszMjpyMTBoCi0rMzI6cjEwbAotKzMyOnIxMWgKLSszMjpy MTFsCi0rMzI6cjEyaAotKzMyOnIxMmwKLSszMjpyMTNoCi0rMzI6cjEzbAotKzMyOnIxNGgKLSsz MjpyMTRsCi0rMzI6cjE1aAotKzMyOnIxNWwKLSszMjphY3IwCi0rMzI6YWNyMQotKzMyOmFjcjIK LSszMjphY3IzCi0rMzI6YWNyNAotKzMyOmFjcjUKLSszMjphY3I2Ci0rMzI6YWNyNwotKzMyOmFj cjgKLSszMjphY3I5Ci0rMzI6YWNyMTAKLSszMjphY3IxMQotKzMyOmFjcjEyCi0rMzI6YWNyMTMK LSszMjphY3IxNAotKzMyOmFjcjE1Ci0rMzI6ZnBjCi0rNjQ6ZjAKLSs2NDpmMQotKzY0OmYyCi0r NjQ6ZjMKLSs2NDpmNAotKzY0OmY1Ci0rNjQ6ZjYKLSs2NDpmNwotKzY0OmY4Ci0rNjQ6ZjkKLSs2 NDpmMTAKLSs2NDpmMTEKLSs2NDpmMTIKLSs2NDpmMTMKLSs2NDpmMTQKLSs2NDpmMTUKLSszMjpv cmlnX3IyCi0rMzI6bGFzdF9icmVhawotKzMyOnN5c3RlbV9jYWxsCi0rNjQ6dGRiMAotKzY0OnRh YwotKzY0OnRjdAotKzY0OmF0aWEKLSs2NDp0cjAKLSs2NDp0cjEKLSs2NDp0cjIKLSs2NDp0cjMK LSs2NDp0cjQKLSs2NDp0cjUKLSs2NDp0cjYKLSs2NDp0cjcKLSs2NDp0cjgKLSs2NDp0cjkKLSs2 NDp0cjEwCi0rNjQ6dHIxMQotKzY0OnRyMTIKLSs2NDp0cjEzCi0rNjQ6dHIxNAotKzY0OnRyMTUK LSs2NDp2MGwKLSs2NDp2MWwKLSs2NDp2MmwKLSs2NDp2M2wKLSs2NDp2NGwKLSs2NDp2NWwKLSs2 NDp2NmwKLSs2NDp2N2wKLSs2NDp2OGwKLSs2NDp2OWwKLSs2NDp2MTBsCi0rNjQ6djExbAotKzY0 OnYxMmwKLSs2NDp2MTNsCi0rNjQ6djE0bAotKzY0OnYxNWwKLSsxMjg6djE2Ci0rMTI4OnYxNwot KzEyODp2MTgKLSsxMjg6djE5Ci0rMTI4OnYyMAotKzEyODp2MjEKLSsxMjg6djIyCi0rMTI4OnYy MwotKzEyODp2MjQKLSsxMjg6djI1Ci0rMTI4OnYyNgotKzEyODp2MjcKLSsxMjg6djI4Ci0rMTI4 OnYyOQotKzEyODp2MzAKLSsxMjg6djMxCi0rNjQ6Z3NkCi0rNjQ6Z3NzbQotKzY0OmdzZXBsYQot KzY0OmJjX2dzZAotKzY0OmJjX2dzc20KLSs2NDpiY19nc2VwbGEKLS0tLSAvZGV2L251bGwKLSsr KyBiL2dkYi9yZWdmb3JtYXRzL3MzOTB4LWdzLWxpbnV4NjQuZGF0Ci1AQCAtMCwwICsxLDExNyBA QAotKyMgVEhJUyBGSUxFIElTIEdFTkVSQVRFRC4gIC0qLSBidWZmZXItcmVhZC1vbmx5OiB0IC0q LSB2aSA6c2V0IHJvOgotKyMgR2VuZXJhdGVkIGZyb206IHMzOTB4LWdzLWxpbnV4NjQueG1sCi0r bmFtZTpzMzkweF9nc19saW51eDY0Ci0reG1sdGFyZ2V0OnMzOTB4LWdzLWxpbnV4NjQueG1sCi0r ZXhwZWRpdGU6cjE0LHIxNSxwc3dhCi0rNjQ6cHN3bQotKzY0OnBzd2EKLSs2NDpyMAotKzY0OnIx Ci0rNjQ6cjIKLSs2NDpyMwotKzY0OnI0Ci0rNjQ6cjUKLSs2NDpyNgotKzY0OnI3Ci0rNjQ6cjgK LSs2NDpyOQotKzY0OnIxMAotKzY0OnIxMQotKzY0OnIxMgotKzY0OnIxMwotKzY0OnIxNAotKzY0 OnIxNQotKzMyOmFjcjAKLSszMjphY3IxCi0rMzI6YWNyMgotKzMyOmFjcjMKLSszMjphY3I0Ci0r MzI6YWNyNQotKzMyOmFjcjYKLSszMjphY3I3Ci0rMzI6YWNyOAotKzMyOmFjcjkKLSszMjphY3Ix MAotKzMyOmFjcjExCi0rMzI6YWNyMTIKLSszMjphY3IxMwotKzMyOmFjcjE0Ci0rMzI6YWNyMTUK LSszMjpmcGMKLSs2NDpmMAotKzY0OmYxCi0rNjQ6ZjIKLSs2NDpmMwotKzY0OmY0Ci0rNjQ6ZjUK LSs2NDpmNgotKzY0OmY3Ci0rNjQ6ZjgKLSs2NDpmOQotKzY0OmYxMAotKzY0OmYxMQotKzY0OmYx MgotKzY0OmYxMwotKzY0OmYxNAotKzY0OmYxNQotKzY0Om9yaWdfcjIKLSs2NDpsYXN0X2JyZWFr Ci0rMzI6c3lzdGVtX2NhbGwKLSs2NDp0ZGIwCi0rNjQ6dGFjCi0rNjQ6dGN0Ci0rNjQ6YXRpYQot KzY0OnRyMAotKzY0OnRyMQotKzY0OnRyMgotKzY0OnRyMwotKzY0OnRyNAotKzY0OnRyNQotKzY0 OnRyNgotKzY0OnRyNwotKzY0OnRyOAotKzY0OnRyOQotKzY0OnRyMTAKLSs2NDp0cjExCi0rNjQ6 dHIxMgotKzY0OnRyMTMKLSs2NDp0cjE0Ci0rNjQ6dHIxNQotKzY0OnYwbAotKzY0OnYxbAotKzY0 OnYybAotKzY0OnYzbAotKzY0OnY0bAotKzY0OnY1bAotKzY0OnY2bAotKzY0OnY3bAotKzY0OnY4 bAotKzY0OnY5bAotKzY0OnYxMGwKLSs2NDp2MTFsCi0rNjQ6djEybAotKzY0OnYxM2wKLSs2NDp2 MTRsCi0rNjQ6djE1bAotKzEyODp2MTYKLSsxMjg6djE3Ci0rMTI4OnYxOAotKzEyODp2MTkKLSsx Mjg6djIwCi0rMTI4OnYyMQotKzEyODp2MjIKLSsxMjg6djIzCi0rMTI4OnYyNAotKzEyODp2MjUK LSsxMjg6djI2Ci0rMTI4OnYyNwotKzEyODp2MjgKLSsxMjg6djI5Ci0rMTI4OnYzMAotKzEyODp2 MzEKLSs2NDpnc2QKLSs2NDpnc3NtCi0rNjQ6Z3NlcGxhCi0rNjQ6YmNfZ3NkCi0rNjQ6YmNfZ3Nz bQotKzY0OmJjX2dzZXBsYQoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTQ5ODc1OC0zb2Y1LnBhdGNo IGIvZ2RiLXJoYnoxNDk4NzU4LTNvZjUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1Cmlu ZGV4IDIxNzliMmIuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNDk4NzU4LTNvZjUucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwzOTEgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxp bnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAK LVN1YmplY3Q6IGdkYi1yaGJ6MTQ5ODc1OC0zb2Y1LnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhi ejE0OTg3NTgtM29mNS5wYXRjaAotCi1jb21taXQgMWI2MzQ5MGM5MTczZjhjOTc3MGI3ODg1ZGVm NzIwNTE2YWE5YjlmOAotQXV0aG9yOiBBbmRyZWFzIEFybmV6IDxhcm5lekBsaW51eC52bmV0Lmli bS5jb20+Ci1EYXRlOiAgIE1vbiBTZXAgMjUgMTY6MDI6MjMgMjAxNyArMDIwMAotCi0gICAgUzM5 MDogQWRkIGd1YXJkZWQtc3RvcmFnZSByZWdpc3RlciBzdXBwb3J0IHRvIEdEQgotICAgIAotICAg IFJlY29nbml6ZSB0YXJnZXRzIHdpdGggdGhlIG5ldyBndWFyZGVkLXN0b3JhZ2UgZmVhdHVyZSBh bmQgdGhlbiBwcmVzZW50Ci0gICAgdGhlIGd1YXJkZWQtc3RvcmFnZSByZWdpc3RlcnMgYW5kIHRo ZSBMaW51eC1zcGVjaWZpYyBndWFyZGVkLXN0b3JhZ2UKLSAgICBicm9hZGNhc3QgY29udHJvbCBi bG9jayBhcHByb3ByaWF0ZWx5LgotICAgIAotICAgIGdkYi9DaGFuZ2VMb2c6Ci0gICAgCi0gICAg ICAgICAgICAqIHMzOTAtbGludXgtbmF0LmMgKGhhdmVfcmVnc2V0X2dzKTogTmV3IHN0YXRpYyB2 YXJpYWJsZS4KLSAgICAgICAgICAgIChzMzkwX2xpbnV4X2ZldGNoX2luZmVyaW9yX3JlZ2lzdGVy cyk6IEhhbmRsZSBndWFyZGVkLXN0b3JhZ2UKLSAgICAgICAgICAgIGNvbnRyb2wgYmxvY2sgYW5k IGd1YXJkZWQtc3RvcmFnZSBicm9hZGNhc3QgY29udHJvbCByZWdzZXRzLgotICAgICAgICAgICAg KHMzOTBfcmVhZF9kZXNjcmlwdGlvbik6IERldGVjdCB3aGV0aGVyIHRoZSB0YXJnZXQgaGFzCi0g ICAgICAgICAgICBndWFyZGVkLXN0b3JhZ2Ugc3VwcG9ydCwgcmV0dXJuIGFwcHJvcHJpYXRlIHRk ZXNjLgotICAgICAgICAgICAgKiBzMzkwLWxpbnV4LXRkZXAuYyAoZmVhdHVyZXMvczM5MC1ncy1s aW51eDY0LmMpOiBOZXcgaW5jbHVkZS4KLSAgICAgICAgICAgIChmZWF0dXJlcy9zMzkweC1ncy1s aW51eDY0LmMpOiBMaWtld2lzZS4KLSAgICAgICAgICAgIChzdHJ1Y3QgZ2RiYXJjaF90ZGVwKSA8 aGF2ZV9ncz46IE5ldyBmaWVsZC4KLSAgICAgICAgICAgIChzMzkwX3JlZ21hcF9ncywgczM5MF9y ZWdtYXBfZ3NiYywgczM5MF9nc19yZWdzZXQpCi0gICAgICAgICAgICAoczM5MF9nc2JjX3JlZ3Nl dCk6IE5ldyB2YXJpYWJsZXMuCi0gICAgICAgICAgICAoczM5MF9pdGVyYXRlX292ZXJfcmVnc2V0 X3NlY3Rpb25zKTogSXRlcmF0ZSBvdmVyIHMzOTBfZ3NfcmVnc2V0Ci0gICAgICAgICAgICBhbmQg czM5MF9nc2JjX3JlZ3NldCwgaWYgYXBwbGljYWJsZS4KLSAgICAgICAgICAgIChzMzkwX2NvcmVf cmVhZF9kZXNjcmlwdGlvbik6IENoZWNrIHdoZXRoZXIgY29yZSBmaWxlIHdhcyBmcm9tIGEKLSAg ICAgICAgICAgIHRhcmdldCB3aXRoIGd1YXJkZWQtc3RvcmFnZSBzdXBwb3J0OyBpbmNsdWRlIGFw cHJvcHJpYXRlIHJlZ3NldHMuCi0gICAgICAgICAgICAoczM5MF9nZGJhcmNoX2luaXQpOiBBZGQg cmVnaXN0ZXJzIGZvciBndWFyZGVkLXN0b3JhZ2Ugc3VwcG9ydC4KLSAgICAgICAgICAgIChfaW5p dGlhbGl6ZV9zMzkwX3RkZXApOiBJbml0aWFsaXplIG5ldyB0YXJnZXQgZGVzY3JpcHRpb25zIHRo YXQKLSAgICAgICAgICAgIGluY2x1ZGUgcmVnaXN0ZXJzIGZvciBndWFyZGVkLXN0b3JhZ2Ugc3Vw cG9ydC4KLSAgICAgICAgICAgICogczM5MC1saW51eC10ZGVwLmggKEhXQ0FQX1MzOTBfR1MsIFMz OTBfR1NEX1JFR05VTSkKLSAgICAgICAgICAgIChTMzkwX0dTU01fUkVHTlVNLCBTMzkwX0dTRVBM QV9SRUdOVU0pCi0gICAgICAgICAgICAoUzM5MF9CQ19HU0RfUkVHTlVNLCBTMzkwX0JDX0dTU01f UkVHTlVNKTogTmV3IGRlZmluZXMuCi0gICAgICAgICAgICAoUzM5MF9OVU1fUkVHUyk6IEFkanVz dCBtYWNybyBkZWZpbml0aW9uLgotICAgICAgICAgICAgKHMzOTBfZ3NfcmVnc2V0LCBzMzkwX2dz YmNfcmVnc2V0LCB0ZGVzY19zMzkwX2dzX2xpbnV4NjQpCi0gICAgICAgICAgICAodGRlc2NfczM5 MHhfZ3NfbGludXg2NCk6IE5ldyBkZWNsYXJhdGlvbnMuCi0KLSMjIyBhL2dkYi9DaGFuZ2VMb2cK LSMjIyBiL2dkYi9DaGFuZ2VMb2cKLSMjIC0xLDUgKzEsMzEgQEAKLSAyMDE3LTA5LTI1ICBBbmRy ZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotIAotKwkqIHMzOTAtbGludXgt bmF0LmMgKGhhdmVfcmVnc2V0X2dzKTogTmV3IHN0YXRpYyB2YXJpYWJsZS4KLSsJKHMzOTBfbGlu dXhfZmV0Y2hfaW5mZXJpb3JfcmVnaXN0ZXJzKTogSGFuZGxlIGd1YXJkZWQtc3RvcmFnZQotKwlj b250cm9sIGJsb2NrIGFuZCBndWFyZGVkLXN0b3JhZ2UgYnJvYWRjYXN0IGNvbnRyb2wgcmVnc2V0 cy4KLSsJKHMzOTBfcmVhZF9kZXNjcmlwdGlvbik6IERldGVjdCB3aGV0aGVyIHRoZSB0YXJnZXQg aGFzCi0rCWd1YXJkZWQtc3RvcmFnZSBzdXBwb3J0LCByZXR1cm4gYXBwcm9wcmlhdGUgdGRlc2Mu Ci0rCSogczM5MC1saW51eC10ZGVwLmMgKGZlYXR1cmVzL3MzOTAtZ3MtbGludXg2NC5jKTogTmV3 IGluY2x1ZGUuCi0rCShmZWF0dXJlcy9zMzkweC1ncy1saW51eDY0LmMpOiBMaWtld2lzZS4KLSsJ KHN0cnVjdCBnZGJhcmNoX3RkZXApIDxoYXZlX2dzPjogTmV3IGZpZWxkLgotKwkoczM5MF9yZWdt YXBfZ3MsIHMzOTBfcmVnbWFwX2dzYmMsIHMzOTBfZ3NfcmVnc2V0KQotKwkoczM5MF9nc2JjX3Jl Z3NldCk6IE5ldyB2YXJpYWJsZXMuCi0rCShzMzkwX2l0ZXJhdGVfb3Zlcl9yZWdzZXRfc2VjdGlv bnMpOiBJdGVyYXRlIG92ZXIgczM5MF9nc19yZWdzZXQKLSsJYW5kIHMzOTBfZ3NiY19yZWdzZXQs IGlmIGFwcGxpY2FibGUuCi0rCShzMzkwX2NvcmVfcmVhZF9kZXNjcmlwdGlvbik6IENoZWNrIHdo ZXRoZXIgY29yZSBmaWxlIHdhcyBmcm9tIGEKLSsJdGFyZ2V0IHdpdGggZ3VhcmRlZC1zdG9yYWdl IHN1cHBvcnQ7IGluY2x1ZGUgYXBwcm9wcmlhdGUgcmVnc2V0cy4KLSsJKHMzOTBfZ2RiYXJjaF9p bml0KTogQWRkIHJlZ2lzdGVycyBmb3IgZ3VhcmRlZC1zdG9yYWdlIHN1cHBvcnQuCi0rCShfaW5p dGlhbGl6ZV9zMzkwX3RkZXApOiBJbml0aWFsaXplIG5ldyB0YXJnZXQgZGVzY3JpcHRpb25zIHRo YXQKLSsJaW5jbHVkZSByZWdpc3RlcnMgZm9yIGd1YXJkZWQtc3RvcmFnZSBzdXBwb3J0LgotKwkq IHMzOTAtbGludXgtdGRlcC5oIChIV0NBUF9TMzkwX0dTLCBTMzkwX0dTRF9SRUdOVU0pCi0rCShT MzkwX0dTU01fUkVHTlVNLCBTMzkwX0dTRVBMQV9SRUdOVU0pCi0rCShTMzkwX0JDX0dTRF9SRUdO VU0sIFMzOTBfQkNfR1NTTV9SRUdOVU0pOiBOZXcgZGVmaW5lcy4KLSsJKFMzOTBfTlVNX1JFR1Mp OiBBZGp1c3QgbWFjcm8gZGVmaW5pdGlvbi4KLSsJKHMzOTBfZ3NfcmVnc2V0LCBzMzkwX2dzYmNf cmVnc2V0LCB0ZGVzY19zMzkwX2dzX2xpbnV4NjQpCi0rCSh0ZGVzY19zMzkweF9nc19saW51eDY0 KTogTmV3IGRlY2xhcmF0aW9ucy4KLSsKLSsyMDE3LTA5LTI1ICBBbmRyZWFzIEFybmV6ICA8YXJu ZXpAbGludXgudm5ldC5pYm0uY29tPgotKwotIAkqIGZlYXR1cmVzL3MzOTAtZ3MtbGludXg2NC54 bWw6IE5ldyBmaWxlLgotIAkqIGZlYXR1cmVzL3MzOTAtZ3MueG1sOiBOZXcgZmlsZS4KLSAJKiBm ZWF0dXJlcy9zMzkwLWdzYmMueG1sOiBOZXcgZmlsZS4KLS0tLSBhL2dkYi9zMzkwLWxpbnV4LW5h dC5jCi0rKysgYi9nZGIvczM5MC1saW51eC1uYXQuYwotQEAgLTU0LDYgKzU0LDcgQEAgc3RhdGlj IGludCBoYXZlX3JlZ3NldF9sYXN0X2JyZWFrID0gMDsKLSBzdGF0aWMgaW50IGhhdmVfcmVnc2V0 X3N5c3RlbV9jYWxsID0gMDsKLSBzdGF0aWMgaW50IGhhdmVfcmVnc2V0X3RkYiA9IDA7Ci0gc3Rh dGljIGludCBoYXZlX3JlZ3NldF92eHJzID0gMDsKLStzdGF0aWMgaW50IGhhdmVfcmVnc2V0X2dz ID0gMDsKLSAKLSAvKiBSZWdpc3RlciBtYXAgZm9yIDMyLWJpdCBleGVjdXRhYmxlcyBydW5uaW5n IHVuZGVyIGEgNjQtYml0Ci0gICAga2VybmVsLiAgKi8KLUBAIC00MDYsNiArNDA3LDE4IEBAIHMz OTBfbGludXhfZmV0Y2hfaW5mZXJpb3JfcmVnaXN0ZXJzIChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3Bz LAotIAlmZXRjaF9yZWdzZXQgKHJlZ2NhY2hlLCB0aWQsIE5UX1MzOTBfVlhSU19ISUdILCAxNiAq IDE2LAotIAkJICAgICAgJnMzOTBfdnhyc19oaWdoX3JlZ3NldCk7Ci0gICAgIH0KLSsKLSsgIGlm IChoYXZlX3JlZ3NldF9ncykKLSsgICAgewotKyAgICAgIGlmIChyZWdudW0gPT0gLTEgfHwgKHJl Z251bSA+PSBTMzkwX0dTRF9SRUdOVU0KLSsJCQkgICAmJiByZWdudW0gPD0gUzM5MF9HU0VQTEFf UkVHTlVNKSkKLSsJZmV0Y2hfcmVnc2V0IChyZWdjYWNoZSwgdGlkLCBOVF9TMzkwX0dTX0NCLCA0 ICogOCwKLSsJCSAgICAgICZzMzkwX2dzX3JlZ3NldCk7Ci0rICAgICAgaWYgKHJlZ251bSA9PSAt MSB8fCAocmVnbnVtID49IFMzOTBfQkNfR1NEX1JFR05VTQotKwkJCSAgICYmIHJlZ251bSA8PSBT MzkwX0JDX0dTRVBMQV9SRUdOVU0pKQotKwlmZXRjaF9yZWdzZXQgKHJlZ2NhY2hlLCB0aWQsIE5U X1MzOTBfR1NfQkMsIDQgKiA4LAotKwkJICAgICAgJnMzOTBfZ3NiY19yZWdzZXQpOwotKyAgICB9 Ci0gfQotIAotIC8qIFN0b3JlIHJlZ2lzdGVyIFJFR05VTSBiYWNrIGludG8gdGhlIGNoaWxkIHBy b2Nlc3MuICBJZiBSRUdOVU0gaXMKLUBAIC05NzQsOCArOTg3LDEzIEBAIHMzOTBfcmVhZF9kZXNj cmlwdGlvbiAoc3RydWN0IHRhcmdldF9vcHMgKm9wcykKLSAgICAgICAmJiBjaGVja19yZWdzZXQg KHRpZCwgTlRfUzM5MF9WWFJTX0xPVywgMTYgKiA4KQotICAgICAgICYmIGNoZWNrX3JlZ3NldCAo dGlkLCBOVF9TMzkwX1ZYUlNfSElHSCwgMTYgKiAxNik7Ci0gCi0rICAgIGhhdmVfcmVnc2V0X2dz ID0gKGh3Y2FwICYgSFdDQVBfUzM5MF9HUykKLSsgICAgICAmJiBjaGVja19yZWdzZXQgKHRpZCwg TlRfUzM5MF9HU19DQiwgNCAqIDgpCi0rICAgICAgJiYgY2hlY2tfcmVnc2V0ICh0aWQsIE5UX1Mz OTBfR1NfQkMsIDQgKiA4KTsKLSsKLSAgICAgaWYgKHMzOTBfdGFyZ2V0X3dvcmRzaXplICgpID09 IDgpCi0tICAgICAgcmV0dXJuIChoYXZlX3JlZ3NldF92eHJzID8KLSsgICAgICByZXR1cm4gKGhh dmVfcmVnc2V0X2dzID8gdGRlc2NfczM5MHhfZ3NfbGludXg2NCA6Ci0rCSAgICAgIGhhdmVfcmVn c2V0X3Z4cnMgPwotIAkgICAgICAoaGF2ZV9yZWdzZXRfdGRiID8gdGRlc2NfczM5MHhfdGV2eF9s aW51eDY0IDoKLSAJICAgICAgIHRkZXNjX3MzOTB4X3Z4X2xpbnV4NjQpIDoKLSAJICAgICAgaGF2 ZV9yZWdzZXRfdGRiID8gdGRlc2NfczM5MHhfdGVfbGludXg2NCA6Ci1AQCAtOTg0LDcgKzEwMDIs OCBAQCBzMzkwX3JlYWRfZGVzY3JpcHRpb24gKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMpCi0gCSAg ICAgIHRkZXNjX3MzOTB4X2xpbnV4NjQpOwotIAotICAgICBpZiAoaHdjYXAgJiBIV0NBUF9TMzkw X0hJR0hfR1BSUykKLS0gICAgICByZXR1cm4gKGhhdmVfcmVnc2V0X3Z4cnMgPwotKyAgICAgIHJl dHVybiAoaGF2ZV9yZWdzZXRfZ3MgPyB0ZGVzY19zMzkwX2dzX2xpbnV4NjQgOgotKwkgICAgICBo YXZlX3JlZ3NldF92eHJzID8KLSAJICAgICAgKGhhdmVfcmVnc2V0X3RkYiA/IHRkZXNjX3MzOTBf dGV2eF9saW51eDY0IDoKLSAJICAgICAgIHRkZXNjX3MzOTBfdnhfbGludXg2NCkgOgotIAkgICAg ICBoYXZlX3JlZ3NldF90ZGIgPyB0ZGVzY19zMzkwX3RlX2xpbnV4NjQgOgotLS0tIGEvZ2RiL3Mz OTAtbGludXgtdGRlcC5jCi0rKysgYi9nZGIvczM5MC1saW51eC10ZGVwLmMKLUBAIC02OSwxMiAr NjksMTQgQEAKLSAjaW5jbHVkZSAiZmVhdHVyZXMvczM5MC10ZS1saW51eDY0LmMiCi0gI2luY2x1 ZGUgImZlYXR1cmVzL3MzOTAtdngtbGludXg2NC5jIgotICNpbmNsdWRlICJmZWF0dXJlcy9zMzkw LXRldngtbGludXg2NC5jIgotKyNpbmNsdWRlICJmZWF0dXJlcy9zMzkwLWdzLWxpbnV4NjQuYyIK LSAjaW5jbHVkZSAiZmVhdHVyZXMvczM5MHgtbGludXg2NC5jIgotICNpbmNsdWRlICJmZWF0dXJl cy9zMzkweC1saW51eDY0djEuYyIKLSAjaW5jbHVkZSAiZmVhdHVyZXMvczM5MHgtbGludXg2NHYy LmMiCi0gI2luY2x1ZGUgImZlYXR1cmVzL3MzOTB4LXRlLWxpbnV4NjQuYyIKLSAjaW5jbHVkZSAi ZmVhdHVyZXMvczM5MHgtdngtbGludXg2NC5jIgotICNpbmNsdWRlICJmZWF0dXJlcy9zMzkweC10 ZXZ4LWxpbnV4NjQuYyIKLSsjaW5jbHVkZSAiZmVhdHVyZXMvczM5MHgtZ3MtbGludXg2NC5jIgot IAotICNkZWZpbmUgWE1MX1NZU0NBTExfRklMRU5BTUVfUzM5MCAic3lzY2FsbHMvczM5MC1saW51 eC54bWwiCi0gI2RlZmluZSBYTUxfU1lTQ0FMTF9GSUxFTkFNRV9TMzkwWCAic3lzY2FsbHMvczM5 MHgtbGludXgueG1sIgotQEAgLTExMyw2ICsxMTUsNyBAQCBzdHJ1Y3QgZ2RiYXJjaF90ZGVwCi0g ICBpbnQgaGF2ZV9saW51eF92MTsKLSAgIGludCBoYXZlX2xpbnV4X3YyOwotICAgaW50IGhhdmVf dGRiOwotKyAgYm9vbCBoYXZlX2dzOwotIH07Ci0gCi0gCi1AQCAtODM0LDYgKzgzNywyNCBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHJlZ2NhY2hlX21hcF9lbnRyeSBzMzkwX3JlZ21hcF92eHJzX2hp Z2hbXSA9Ci0gICAgIHsgMCB9Ci0gICB9OwotIAotK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnY2Fj aGVfbWFwX2VudHJ5IHMzOTBfcmVnbWFwX2dzW10gPQotKyAgewotKyAgICB7IDEsIFJFR0NBQ0hF X01BUF9TS0lQLCA4IH0sCi0rICAgIHsgMSwgUzM5MF9HU0RfUkVHTlVNLCA4IH0sCi0rICAgIHsg MSwgUzM5MF9HU1NNX1JFR05VTSwgOCB9LAotKyAgICB7IDEsIFMzOTBfR1NFUExBX1JFR05VTSwg OCB9LAotKyAgICB7IDAgfQotKyAgfTsKLSsKLStzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ2NhY2hl X21hcF9lbnRyeSBzMzkwX3JlZ21hcF9nc2JjW10gPQotKyAgewotKyAgICB7IDEsIFJFR0NBQ0hF X01BUF9TS0lQLCA4IH0sCi0rICAgIHsgMSwgUzM5MF9CQ19HU0RfUkVHTlVNLCA4IH0sCi0rICAg IHsgMSwgUzM5MF9CQ19HU1NNX1JFR05VTSwgOCB9LAotKyAgICB7IDEsIFMzOTBfQkNfR1NFUExB X1JFR05VTSwgOCB9LAotKyAgICB7IDAgfQotKyAgfTsKLSsKLSAKLSAvKiBTdXBwbHkgdGhlIFRE QiByZWdzZXQuICBMaWtlIHJlZ2NhY2hlX3N1cHBseV9yZWdzZXQsIGJ1dCBpbnZhbGlkYXRlCi0g ICAgdGhlIFREQiByZWdpc3RlcnMgdW5sZXNzIHRoZSBUREIgZm9ybWF0IGZpZWxkIGlzIHZhbGlk LiAgKi8KLUBAIC05MDUsNiArOTI2LDE4IEBAIGNvbnN0IHN0cnVjdCByZWdzZXQgczM5MF92eHJz X2hpZ2hfcmVnc2V0ID0gewotICAgcmVnY2FjaGVfY29sbGVjdF9yZWdzZXQKLSB9OwotIAotK2Nv bnN0IHN0cnVjdCByZWdzZXQgczM5MF9nc19yZWdzZXQgPSB7Ci0rICBzMzkwX3JlZ21hcF9ncywK LSsgIHJlZ2NhY2hlX3N1cHBseV9yZWdzZXQsCi0rICByZWdjYWNoZV9jb2xsZWN0X3JlZ3NldAot K307Ci0rCi0rY29uc3Qgc3RydWN0IHJlZ3NldCBzMzkwX2dzYmNfcmVnc2V0ID0gewotKyAgczM5 MF9yZWdtYXBfZ3NiYywKLSsgIHJlZ2NhY2hlX3N1cHBseV9yZWdzZXQsCi0rICByZWdjYWNoZV9j b2xsZWN0X3JlZ3NldAotK307Ci0rCi0gLyogSXRlcmF0ZSBvdmVyIHN1cHBvcnRlZCBjb3JlIGZp bGUgcmVnaXN0ZXIgbm90ZSBzZWN0aW9ucy4gKi8KLSAKLSBzdGF0aWMgdm9pZAotQEAgLTk1MSw2 ICs5ODQsMjMgQEAgczM5MF9pdGVyYXRlX292ZXJfcmVnc2V0X3NlY3Rpb25zIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwKLSAgICAgICBjYiAoIi5yZWctczM5MC12eHJzLWhpZ2giLCAxNiAqIDE2 LCAmczM5MF92eHJzX2hpZ2hfcmVnc2V0LAotIAkgICJzMzkwIHZlY3RvciByZWdpc3RlcnMgMTYt MzEiLCBjYl9kYXRhKTsKLSAgICAgfQotKwotKyAgLyogSXRlcmF0ZSBvdmVyIHRoZSBndWFyZGVk LXN0b3JhZ2UgcmVnc2V0cyBpZiBpbiAicmVhZCIgbW9kZSwgb3IgaWYKLSsgICAgIHRoZWlyIHJl Z2lzdGVycyBhcmUgYXZhaWxhYmxlLiAgKi8KLSsgIGlmICh0ZGVwLT5oYXZlX2dzKQotKyAgICB7 Ci0rICAgICAgaWYgKHJlZ2NhY2hlID09IE5VTEwKLSsJICB8fCBSRUdfVkFMSUQgPT0gcmVnY2Fj aGVfcmVnaXN0ZXJfc3RhdHVzIChyZWdjYWNoZSwKLSsJCQkJCQkgICAgUzM5MF9HU0RfUkVHTlVN KSkKLSsJY2IgKCIucmVnLXMzOTAtZ3MtY2IiLCA0ICogOCwgJnMzOTBfZ3NfcmVnc2V0LAotKwkg ICAgInMzOTAgZ3VhcmRlZC1zdG9yYWdlIHJlZ2lzdGVycyIsIGNiX2RhdGEpOwotKwotKyAgICAg IGlmIChyZWdjYWNoZSA9PSBOVUxMCi0rCSAgfHwgUkVHX1ZBTElEID09IHJlZ2NhY2hlX3JlZ2lz dGVyX3N0YXR1cyAocmVnY2FjaGUsCi0rCQkJCQkJICAgIFMzOTBfQkNfR1NEX1JFR05VTSkpCi0r CWNiICgiLnJlZy1zMzkwLWdzLWJjIiwgNCAqIDgsICZzMzkwX2dzYmNfcmVnc2V0LAotKwkgICAg InMzOTAgZ3VhcmRlZC1zdG9yYWdlIGJyb2FkY2FzdCBjb250cm9sIiwgY2JfZGF0YSk7Ci0rICAg IH0KLSB9Ci0gCi0gc3RhdGljIGNvbnN0IHN0cnVjdCB0YXJnZXRfZGVzYyAqCi1AQCAtOTU5LDcg KzEwMDksNyBAQCBzMzkwX2NvcmVfcmVhZF9kZXNjcmlwdGlvbiAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsCi0gewotICAgYXNlY3Rpb24gKnNlY3Rpb24gPSBiZmRfZ2V0X3NlY3Rpb25fYnlfbmFt ZSAoYWJmZCwgIi5yZWciKTsKLSAgIENPUkVfQUREUiBod2NhcCA9IDA7Ci0tICBpbnQgaGlnaF9n cHJzLCB2MSwgdjIsIHRlLCB2eDsKLSsgIGJvb2wgaGlnaF9ncHJzLCB2MSwgdjIsIHRlLCB2eCwg Z3M7Ci0gCi0gICB0YXJnZXRfYXV4dl9zZWFyY2ggKHRhcmdldCwgQVRfSFdDQVAsICZod2NhcCk7 Ci0gICBpZiAoIXNlY3Rpb24pCi1AQCAtOTcxLDEyICsxMDIxLDE0IEBAIHMzOTBfY29yZV9yZWFk X2Rlc2NyaXB0aW9uIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgIHYyID0gKGJmZF9nZXRf c2VjdGlvbl9ieV9uYW1lIChhYmZkLCAiLnJlZy1zMzkwLXN5c3RlbS1jYWxsIikgIT0gTlVMTCk7 Ci0gICB2eCA9IChod2NhcCAmIEhXQ0FQX1MzOTBfVlgpOwotICAgdGUgPSAoaHdjYXAgJiBIV0NB UF9TMzkwX1RFKTsKLSsgIGdzID0gKGh3Y2FwICYgSFdDQVBfUzM5MF9HUyk7Ci0gCi0gICBzd2l0 Y2ggKGJmZF9zZWN0aW9uX3NpemUgKGFiZmQsIHNlY3Rpb24pKQotICAgICB7Ci0gICAgIGNhc2Ug czM5MF9zaXplb2ZfZ3JlZ3NldDoKLSAgICAgICBpZiAoaGlnaF9ncHJzKQotLQlyZXR1cm4gKHRl ICYmIHZ4ID8gdGRlc2NfczM5MF90ZXZ4X2xpbnV4NjQgOgotKwlyZXR1cm4gKGdzID8gdGRlc2Nf czM5MF9nc19saW51eDY0IDoKLSsJCXRlICYmIHZ4ID8gdGRlc2NfczM5MF90ZXZ4X2xpbnV4NjQg OgotIAkJdnggPyB0ZGVzY19zMzkwX3Z4X2xpbnV4NjQgOgotIAkJdGUgPyB0ZGVzY19zMzkwX3Rl X2xpbnV4NjQgOgotIAkJdjIgPyB0ZGVzY19zMzkwX2xpbnV4NjR2MiA6Ci1AQCAtOTg2LDcgKzEw MzgsOCBAQCBzMzkwX2NvcmVfcmVhZF9kZXNjcmlwdGlvbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsCi0gCQl2MSA/IHRkZXNjX3MzOTBfbGludXgzMnYxIDogdGRlc2NfczM5MF9saW51eDMyKTsK LSAKLSAgICAgY2FzZSBzMzkweF9zaXplb2ZfZ3JlZ3NldDoKLS0gICAgICByZXR1cm4gKHRlICYm IHZ4ID8gdGRlc2NfczM5MHhfdGV2eF9saW51eDY0IDoKLSsgICAgICByZXR1cm4gKGdzID8gdGRl c2NfczM5MHhfZ3NfbGludXg2NCA6Ci0rCSAgICAgIHRlICYmIHZ4ID8gdGRlc2NfczM5MHhfdGV2 eF9saW51eDY0IDoKLSAJICAgICAgdnggPyB0ZGVzY19zMzkweF92eF9saW51eDY0IDoKLSAJICAg ICAgdGUgPyB0ZGVzY19zMzkweF90ZV9saW51eDY0IDoKLSAJICAgICAgdjIgPyB0ZGVzY19zMzkw eF9saW51eDY0djIgOgotQEAgLTc3NjcsNiArNzgyMCw3IEBAIHMzOTBfZ2RiYXJjaF9pbml0IChz dHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFyY2hlcykKLSAg IGludCBoYXZlX2xpbnV4X3YyID0gMDsKLSAgIGludCBoYXZlX3RkYiA9IDA7Ci0gICBpbnQgaGF2 ZV92eCA9IDA7Ci0rICBpbnQgaGF2ZV9ncyA9IDA7Ci0gICBpbnQgZmlyc3RfcHNldWRvX3JlZywg bGFzdF9wc2V1ZG9fcmVnOwotICAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YXBfcmVnaXN0 ZXJfcHJlZml4ZXNbXSA9IHsgIiUiLCBOVUxMIH07Ci0gICBzdGF0aWMgY29uc3QgY2hhciAqY29u c3Qgc3RhcF9yZWdpc3Rlcl9pbmRpcmVjdGlvbl9wcmVmaXhlc1tdID0geyAiKCIsCi1AQCAtNzgz NCw2ICs3ODg4LDEyIEBAIHMzOTBfZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGlu Zm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFyY2hlcykKLSAJInYxNiIsICJ2MTciLCAidjE4Iiwg InYxOSIsICJ2MjAiLCAidjIxIiwgInYyMiIsICJ2MjMiLCAidjI0IiwKLSAJInYyNSIsICJ2MjYi LCAidjI3IiwgInYyOCIsICJ2MjkiLCAidjMwIiwgInYzMSIsCi0gICAgICAgfTsKLSsgICAgICBz dGF0aWMgY29uc3QgY2hhciAqY29uc3QgZ3NfY2JbXSA9IHsKLSsJImdzZCIsICJnc3NtIiwgImdz ZXBsYSIsCi0rICAgICAgfTsKLSsgICAgICBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgZ3NfYmNb XSA9IHsKLSsJImJjX2dzZCIsICJiY19nc3NtIiwgImJjX2dzZXBsYSIsCi0rICAgICAgfTsKLSAg ICAgICBjb25zdCBzdHJ1Y3QgdGRlc2NfZmVhdHVyZSAqZmVhdHVyZTsKLSAgICAgICBpbnQgaSwg dmFsaWRfcCA9IDE7Ci0gCi1AQCAtNzkzNyw2ICs3OTk3LDI5IEBAIHMzOTBfZ2RiYXJjaF9pbml0 IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFyY2hlcykK LSAJICBoYXZlX3Z4ID0gMTsKLSAJfQotIAotKyAgICAgIC8qIEd1YXJkZWQtc3RvcmFnZSByZWdp c3RlcnMuICAqLwotKyAgICAgIGZlYXR1cmUgPSB0ZGVzY19maW5kX2ZlYXR1cmUgKHRkZXNjLCAi b3JnLmdudS5nZGIuczM5MC5ncyIpOwotKyAgICAgIGlmIChmZWF0dXJlKQotKwl7Ci0rCSAgZm9y IChpID0gMDsgaSA8IDM7IGkrKykKLSsJICAgIHZhbGlkX3AgJj0gdGRlc2NfbnVtYmVyZWRfcmVn aXN0ZXIgKGZlYXR1cmUsIHRkZXNjX2RhdGEsCi0rCQkJCQkJUzM5MF9HU0RfUkVHTlVNICsgaSwK LSsJCQkJCQlnc19jYltpXSk7Ci0rCSAgaGF2ZV9ncyA9IDE7Ci0rCX0KLSsKLSsgICAgICAvKiBH dWFyZGVkLXN0b3JhZ2UgYnJvYWRjYXN0IGNvbnRyb2wuICAqLwotKyAgICAgIGZlYXR1cmUgPSB0 ZGVzY19maW5kX2ZlYXR1cmUgKHRkZXNjLCAib3JnLmdudS5nZGIuczM5MC5nc2JjIik7Ci0rICAg ICAgaWYgKGZlYXR1cmUpCi0rCXsKLSsJICB2YWxpZF9wICY9IGhhdmVfZ3M7Ci0rCi0rCSAgZm9y IChpID0gMDsgaSA8IDM7IGkrKykKLSsJICAgIHZhbGlkX3AgJj0gdGRlc2NfbnVtYmVyZWRfcmVn aXN0ZXIgKGZlYXR1cmUsIHRkZXNjX2RhdGEsCi0rCQkJCQkJUzM5MF9CQ19HU0RfUkVHTlVNICsg aSwKLSsJCQkJCQlnc19iY1tpXSk7Ci0rCX0KLSsKLSAgICAgICBpZiAoIXZhbGlkX3ApCi0gCXsK LSAJICB0ZGVzY19kYXRhX2NsZWFudXAgKHRkZXNjX2RhdGEpOwotQEAgLTc5NzAsNiArODA1Myw4 IEBAIHMzOTBfZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBn ZGJhcmNoX2xpc3QgKmFyY2hlcykKLSAJY29udGludWU7Ci0gICAgICAgaWYgKCh0ZGVwLT5ncHJf ZnVsbF9yZWdudW0gIT0gLTEpICE9IGhhdmVfdXBwZXIpCi0gCWNvbnRpbnVlOwotKyAgICAgIGlm ICh0ZGVwLT5oYXZlX2dzICE9IGhhdmVfZ3MpCi0rCWNvbnRpbnVlOwotICAgICAgIGlmICh0ZGVz Y19kYXRhICE9IE5VTEwpCi0gCXRkZXNjX2RhdGFfY2xlYW51cCAodGRlc2NfZGF0YSk7Ci0gICAg ICAgcmV0dXJuIGFyY2hlcy0+Z2RiYXJjaDsKLUBAIC03OTgyLDYgKzgwNjcsNyBAQCBzMzkwX2dk YmFyY2hfaW5pdCAoc3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLCBzdHJ1Y3QgZ2RiYXJjaF9saXN0 ICphcmNoZXMpCi0gICB0ZGVwLT5oYXZlX2xpbnV4X3YxID0gaGF2ZV9saW51eF92MTsKLSAgIHRk ZXAtPmhhdmVfbGludXhfdjIgPSBoYXZlX2xpbnV4X3YyOwotICAgdGRlcC0+aGF2ZV90ZGIgPSBo YXZlX3RkYjsKLSsgIHRkZXAtPmhhdmVfZ3MgPSBoYXZlX2dzOwotICAgZ2RiYXJjaCA9IGdkYmFy Y2hfYWxsb2MgKCZpbmZvLCB0ZGVwKTsKLSAKLSAgIHNldF9nZGJhcmNoX2JlbGlldmVfcGNjX3By b21vdGlvbiAoZ2RiYXJjaCwgMCk7Ci1AQCAtODE1NywxMCArODI0MywxMiBAQCBfaW5pdGlhbGl6 ZV9zMzkwX3RkZXAgKHZvaWQpCi0gICBpbml0aWFsaXplX3RkZXNjX3MzOTBfdGVfbGludXg2NCAo KTsKLSAgIGluaXRpYWxpemVfdGRlc2NfczM5MF92eF9saW51eDY0ICgpOwotICAgaW5pdGlhbGl6 ZV90ZGVzY19zMzkwX3RldnhfbGludXg2NCAoKTsKLSsgIGluaXRpYWxpemVfdGRlc2NfczM5MF9n c19saW51eDY0ICgpOwotICAgaW5pdGlhbGl6ZV90ZGVzY19zMzkweF9saW51eDY0ICgpOwotICAg aW5pdGlhbGl6ZV90ZGVzY19zMzkweF9saW51eDY0djEgKCk7Ci0gICBpbml0aWFsaXplX3RkZXNj X3MzOTB4X2xpbnV4NjR2MiAoKTsKLSAgIGluaXRpYWxpemVfdGRlc2NfczM5MHhfdGVfbGludXg2 NCAoKTsKLSAgIGluaXRpYWxpemVfdGRlc2NfczM5MHhfdnhfbGludXg2NCAoKTsKLSAgIGluaXRp YWxpemVfdGRlc2NfczM5MHhfdGV2eF9saW51eDY0ICgpOwotKyAgaW5pdGlhbGl6ZV90ZGVzY19z MzkweF9nc19saW51eDY0ICgpOwotIH0KLS0tLSBhL2dkYi9zMzkwLWxpbnV4LXRkZXAuaAotKysr IGIvZ2RiL3MzOTAtbGludXgtdGRlcC5oCi1AQCAtMzMsNiArMzMsMTAgQEAKLSAjZGVmaW5lIEhX Q0FQX1MzOTBfVlggMjA0OAotICNlbmRpZgotIAotKyNpZm5kZWYgSFdDQVBfUzM5MF9HUwotKyNk ZWZpbmUgSFdDQVBfUzM5MF9HUyAxNjM4NAotKyNlbmRpZgotKwotIC8qIFJlZ2lzdGVyIGluZm9y bWF0aW9uLiAgKi8KLSAKLSAvKiBQcm9ncmFtIFN0YXR1cyBXb3JkLiAgKi8KLUBAIC0xNjYsOCAr MTcwLDE0IEBACi0gI2RlZmluZSBTMzkwX1YyOV9SRUdOVU0gMTE5Ci0gI2RlZmluZSBTMzkwX1Yz MF9SRUdOVU0gMTIwCi0gI2RlZmluZSBTMzkwX1YzMV9SRUdOVU0gMTIxCi0rI2RlZmluZSBTMzkw X0dTRF9SRUdOVU0gMTIyCi0rI2RlZmluZSBTMzkwX0dTU01fUkVHTlVNIDEyMwotKyNkZWZpbmUg UzM5MF9HU0VQTEFfUkVHTlVNIDEyNAotKyNkZWZpbmUgUzM5MF9CQ19HU0RfUkVHTlVNIDEyNQot KyNkZWZpbmUgUzM5MF9CQ19HU1NNX1JFR05VTSAxMjYKLSsjZGVmaW5lIFMzOTBfQkNfR1NFUExB X1JFR05VTSAxMjcKLSAvKiBUb3RhbC4gICovCi0tI2RlZmluZSBTMzkwX05VTV9SRUdTIDEyMgot KyNkZWZpbmUgUzM5MF9OVU1fUkVHUyAxMjgKLSAKLSAvKiBTcGVjaWFsIHJlZ2lzdGVyIHVzYWdl LiAgKi8KLSAjZGVmaW5lIFMzOTBfU1BfUkVHTlVNIFMzOTBfUjE1X1JFR05VTQotQEAgLTE5OCw2 ICsyMDgsOCBAQCBleHRlcm4gY29uc3Qgc3RydWN0IHJlZ3NldCBzMzkwX3RkYl9yZWdzZXQ7Ci0g I2RlZmluZSBzMzkwX3NpemVvZl90ZGJyZWdzZXQgMHgxMDAKLSBleHRlcm4gY29uc3Qgc3RydWN0 IHJlZ3NldCBzMzkwX3Z4cnNfbG93X3JlZ3NldDsKLSBleHRlcm4gY29uc3Qgc3RydWN0IHJlZ3Nl dCBzMzkwX3Z4cnNfaGlnaF9yZWdzZXQ7Ci0rZXh0ZXJuIGNvbnN0IHN0cnVjdCByZWdzZXQgczM5 MF9nc19yZWdzZXQ7Ci0rZXh0ZXJuIGNvbnN0IHN0cnVjdCByZWdzZXQgczM5MF9nc2JjX3JlZ3Nl dDsKLSAKLSAvKiBHTlUvTGludXggdGFyZ2V0IGRlc2NyaXB0aW9ucy4gICovCi0gZXh0ZXJuIHN0 cnVjdCB0YXJnZXRfZGVzYyAqdGRlc2NfczM5MF9saW51eDMyOwotQEAgLTIwOSwxMSArMjIxLDEz IEBAIGV4dGVybiBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTBfbGludXg2NHYyOwotIGV4 dGVybiBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTBfdGVfbGludXg2NDsKLSBleHRlcm4g c3RydWN0IHRhcmdldF9kZXNjICp0ZGVzY19zMzkwX3Z4X2xpbnV4NjQ7Ci0gZXh0ZXJuIHN0cnVj dCB0YXJnZXRfZGVzYyAqdGRlc2NfczM5MF90ZXZ4X2xpbnV4NjQ7Ci0rZXh0ZXJuIHN0cnVjdCB0 YXJnZXRfZGVzYyAqdGRlc2NfczM5MF9nc19saW51eDY0OwotIGV4dGVybiBzdHJ1Y3QgdGFyZ2V0 X2Rlc2MgKnRkZXNjX3MzOTB4X2xpbnV4NjQ7Ci0gZXh0ZXJuIHN0cnVjdCB0YXJnZXRfZGVzYyAq dGRlc2NfczM5MHhfbGludXg2NHYxOwotIGV4dGVybiBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNj X3MzOTB4X2xpbnV4NjR2MjsKLSBleHRlcm4gc3RydWN0IHRhcmdldF9kZXNjICp0ZGVzY19zMzkw eF90ZV9saW51eDY0OwotIGV4dGVybiBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTB4X3Z4 X2xpbnV4NjQ7Ci0gZXh0ZXJuIHN0cnVjdCB0YXJnZXRfZGVzYyAqdGRlc2NfczM5MHhfdGV2eF9s aW51eDY0OwotK2V4dGVybiBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTB4X2dzX2xpbnV4 NjQ7Ci0gCi0gI2VuZGlmCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNDk4NzU4LTRvZjUucGF0Y2gg Yi9nZGItcmhiejE0OTg3NTgtNG9mNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5k ZXggNTA2Mzk0OS4uMDAwMDAwMAotLS0gYS9nZGItcmhiejE0OTg3NTgtNG9mNS5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDI4MSArMCwwIEBACi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGlu dmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAot U3ViamVjdDogZ2RiLXJoYnoxNDk4NzU4LTRvZjUucGF0Y2gKLQotRmlsZU5hbWU6IGdkYi1yaGJ6 MTQ5ODc1OC00b2Y1LnBhdGNoCi0KLWNvbW1pdCBhZDMzOTYzNDhlMGViYjYxZmRmNzFjZmYzMDdi YWMwODE3NWVkMzY2Ci1BdXRob3I6IEFuZHJlYXMgQXJuZXogPGFybmV6QGxpbnV4LnZuZXQuaWJt LmNvbT4KLURhdGU6ICAgTW9uIFNlcCAyNSAxNjowMjoyMyAyMDE3ICswMjAwCi0KLSAgICBTMzkw OiBBZGQgZ3VhcmRlZC1zdG9yYWdlIHJlZ2lzdGVyIHN1cHBvcnQgdG8gZ2Ric2VydmVyCi0gICAg Ci0gICAgRW5hYmxlIGdkYnNlcnZlciB0byBkZWFsIHdpdGggdGhlIG5ldyBndWFyZGVkLXN0b3Jh Z2UgcmVnaXN0ZXIgc2V0cy4KLSAgICAKLSAgICBnZGIvZ2Ric2VydmVyL0NoYW5nZUxvZzoKLSAg ICAKLSAgICAgICAgICAgICogY29uZmlndXJlLnNydiAoczM5MCotKi1saW51eCopOiBBZGQgczM5 MC1ncy1saW51eDY0Lm8gYW5kCi0gICAgICAgICAgICBzMzkweC1ncy1saW51eDY0Lm8gdG8gc3J2 X3JlZ29iai4gIEFkZCBzMzkwLWdzLWxpbnV4NjQueG1sLAotICAgICAgICAgICAgczM5MHgtZ3Mt bGludXg2NC54bWwsIHMzOTAtZ3MueG1sLCBhbmQgczM5MC1nc2JjLnhtbCB0bwotICAgICAgICAg ICAgc3J2X3htbGZpbGVzLiAgQWRkIHMzOTAtZ3MtbGludXg2NC1pcGEubyBhbmQKLSAgICAgICAg ICAgIHMzOTB4LWdzLWxpbnV4NjQtaXBhLm8gdG8gaXBhX29iai4KLSAgICAgICAgICAgICogbGlu dXgtczM5MC1sb3cuYyAoSFdDQVBfUzM5MF9HUyk6IE5ldyBkZWZpbmUuCi0gICAgICAgICAgICAo czM5MF9maWxsX2dzLCBzMzkwX3N0b3JlX2dzLCBzMzkwX2ZpbGxfZ3NiYywgczM5MF9zdG9yZV9n c2JjKToKLSAgICAgICAgICAgIE5ldyBmdW5jdGlvbnMuCi0gICAgICAgICAgICAoczM5MF9yZWdz ZXRzKTogQWRkIHJlZ3NldHMgZm9yIE5UX1MzOTBfR1NfQ0IgYW5kIE5UX1MzOTBfR1NfQkMuCi0g ICAgICAgICAgICAoczM5MF9hcmNoX3NldHVwKTogQ2hlY2sgZm9yIGd1YXJkZWQtc3RvcmFnZSBz dXBwb3J0IGFuZCBjaG9vc2UKLSAgICAgICAgICAgIGFwcHJvcHJpYXRlIHRkZXNjLgotICAgICAg ICAgICAgKGluaXRpYWxpemVfbG93X2FyY2gpOiBJbnZva2UgaW5pdF9yZWdpc3RlcnNfczM5MF9n c19saW51eDY0IGFuZAotICAgICAgICAgICAgaW5pdF9yZWdpc3RlcnNfczM5MHhfZ3NfbGludXg2 NC4KLSAgICAgICAgICAgICogbGludXgtczM5MC10ZGVzYy5oIChlbnVtIHMzOTBfbGludXhfdGRl c2MpIDxTMzkwX1RERVNDX0dTPjogTmV3Ci0gICAgICAgICAgICBlbnVtIHZhbHVlLgotICAgICAg ICAgICAgKGluaXRfcmVnaXN0ZXJzX3MzOTB4X2dzX2xpbnV4NjQsIHRkZXNjX3MzOTB4X2dzX2xp bnV4NjQpCi0gICAgICAgICAgICAoaW5pdF9yZWdpc3RlcnNfczM5MF9nc19saW51eDY0LCB0ZGVz Y19zMzkwX2dzX2xpbnV4NjQpOiBEZWNsYXJlLgotCi0jIyMgYS9nZGIvZ2Ric2VydmVyL0NoYW5n ZUxvZwotIyMjIGIvZ2RiL2dkYnNlcnZlci9DaGFuZ2VMb2cKLSMjIC0xLDMgKzEsMjMgQEAKLSsy MDE3LTA5LTI1ICBBbmRyZWFzIEFybmV6ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotKwot KwkqIGNvbmZpZ3VyZS5zcnYgKHMzOTAqLSotbGludXgqKTogQWRkIHMzOTAtZ3MtbGludXg2NC5v IGFuZAotKwlzMzkweC1ncy1saW51eDY0Lm8gdG8gc3J2X3JlZ29iai4gIEFkZCBzMzkwLWdzLWxp bnV4NjQueG1sLAotKwlzMzkweC1ncy1saW51eDY0LnhtbCwgczM5MC1ncy54bWwsIGFuZCBzMzkw LWdzYmMueG1sIHRvCi0rCXNydl94bWxmaWxlcy4gIEFkZCBzMzkwLWdzLWxpbnV4NjQtaXBhLm8g YW5kCi0rCXMzOTB4LWdzLWxpbnV4NjQtaXBhLm8gdG8gaXBhX29iai4KLSsJKiBsaW51eC1zMzkw LWxvdy5jIChIV0NBUF9TMzkwX0dTKTogTmV3IGRlZmluZS4KLSsJKHMzOTBfZmlsbF9ncywgczM5 MF9zdG9yZV9ncywgczM5MF9maWxsX2dzYmMsIHMzOTBfc3RvcmVfZ3NiYyk6Ci0rCU5ldyBmdW5j dGlvbnMuCi0rCShzMzkwX3JlZ3NldHMpOiBBZGQgcmVnc2V0cyBmb3IgTlRfUzM5MF9HU19DQiBh bmQgTlRfUzM5MF9HU19CQy4KLSsJKHMzOTBfYXJjaF9zZXR1cCk6IENoZWNrIGZvciBndWFyZGVk LXN0b3JhZ2Ugc3VwcG9ydCBhbmQgY2hvb3NlCi0rCWFwcHJvcHJpYXRlIHRkZXNjLgotKwkoaW5p dGlhbGl6ZV9sb3dfYXJjaCk6IEludm9rZSBpbml0X3JlZ2lzdGVyc19zMzkwX2dzX2xpbnV4NjQg YW5kCi0rCWluaXRfcmVnaXN0ZXJzX3MzOTB4X2dzX2xpbnV4NjQuCi0rCSogbGludXgtczM5MC10 ZGVzYy5oIChlbnVtIHMzOTBfbGludXhfdGRlc2MpIDxTMzkwX1RERVNDX0dTPjogTmV3Ci0rCWVu dW0gdmFsdWUuCi0rCShpbml0X3JlZ2lzdGVyc19zMzkweF9nc19saW51eDY0LCB0ZGVzY19zMzkw eF9nc19saW51eDY0KQotKwkoaW5pdF9yZWdpc3RlcnNfczM5MF9nc19saW51eDY0LCB0ZGVzY19z MzkwX2dzX2xpbnV4NjQpOiBEZWNsYXJlLgotKwotIDIwMTctMDktMjIgIFNpbW9uIE1hcmNoaSAg PHNpbW9uLm1hcmNoaUBlcmljc3Nvbi5jb20+Ci0gCi0gCSogd2luMzItaTM4Ni1sb3cuYyAoaTM4 Nl9hcmNoX3NldHVwKTogQ2FsbCBpbml0X3RhcmdldF9kZXNjLgotLS0tIGEvZ2RiL2dkYnNlcnZl ci9jb25maWd1cmUuc3J2Ci0rKysgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5zcnYKLUBAIC0y ODUsMTIgKzI4NSwxNCBAQCBjYXNlICIke3RhcmdldH0iIGluCi0gCQkJc3J2X3JlZ29iaj0iJHtz cnZfcmVnb2JqfSBzMzkwLXRlLWxpbnV4NjQubyIKLSAJCQlzcnZfcmVnb2JqPSIke3Nydl9yZWdv Ymp9IHMzOTAtdngtbGludXg2NC5vIgotIAkJCXNydl9yZWdvYmo9IiR7c3J2X3JlZ29ian0gczM5 MC10ZXZ4LWxpbnV4NjQubyIKLSsJCQlzcnZfcmVnb2JqPSIke3Nydl9yZWdvYmp9IHMzOTAtZ3Mt bGludXg2NC5vIgotIAkJCXNydl9yZWdvYmo9IiR7c3J2X3JlZ29ian0gczM5MHgtbGludXg2NC5v IgotIAkJCXNydl9yZWdvYmo9IiR7c3J2X3JlZ29ian0gczM5MHgtbGludXg2NHYxLm8iCi0gCQkJ c3J2X3JlZ29iaj0iJHtzcnZfcmVnb2JqfSBzMzkweC1saW51eDY0djIubyIKLSAJCQlzcnZfcmVn b2JqPSIke3Nydl9yZWdvYmp9IHMzOTB4LXRlLWxpbnV4NjQubyIKLSAJCQlzcnZfcmVnb2JqPSIk e3Nydl9yZWdvYmp9IHMzOTB4LXZ4LWxpbnV4NjQubyIKLSAJCQlzcnZfcmVnb2JqPSIke3Nydl9y ZWdvYmp9IHMzOTB4LXRldngtbGludXg2NC5vIgotKwkJCXNydl9yZWdvYmo9IiR7c3J2X3JlZ29i an0gczM5MHgtZ3MtbGludXg2NC5vIgotIAkJCXNydl90Z3RvYmo9IiRzcnZfbGludXhfb2JqIGxp bnV4LXMzOTAtbG93Lm8iCi0gCQkJc3J2X3htbGZpbGVzPSJzMzkwLWxpbnV4MzIueG1sIgotIAkJ CXNydl94bWxmaWxlcz0iJHtzcnZfeG1sZmlsZXN9IHMzOTAtbGludXgzMnYxLnhtbCIKLUBAIC0z MDEsMTIgKzMwMywxNCBAQCBjYXNlICIke3RhcmdldH0iIGluCi0gCQkJc3J2X3htbGZpbGVzPSIk e3Nydl94bWxmaWxlc30gczM5MC10ZS1saW51eDY0LnhtbCIKLSAJCQlzcnZfeG1sZmlsZXM9IiR7 c3J2X3htbGZpbGVzfSBzMzkwLXZ4LWxpbnV4NjQueG1sIgotIAkJCXNydl94bWxmaWxlcz0iJHtz cnZfeG1sZmlsZXN9IHMzOTAtdGV2eC1saW51eDY0LnhtbCIKLSsJCQlzcnZfeG1sZmlsZXM9IiR7 c3J2X3htbGZpbGVzfSBzMzkwLWdzLWxpbnV4NjQueG1sIgotIAkJCXNydl94bWxmaWxlcz0iJHtz cnZfeG1sZmlsZXN9IHMzOTB4LWxpbnV4NjQueG1sIgotIAkJCXNydl94bWxmaWxlcz0iJHtzcnZf eG1sZmlsZXN9IHMzOTB4LWxpbnV4NjR2MS54bWwiCi0gCQkJc3J2X3htbGZpbGVzPSIke3Nydl94 bWxmaWxlc30gczM5MHgtbGludXg2NHYyLnhtbCIKLSAJCQlzcnZfeG1sZmlsZXM9IiR7c3J2X3ht bGZpbGVzfSBzMzkweC10ZS1saW51eDY0LnhtbCIKLSAJCQlzcnZfeG1sZmlsZXM9IiR7c3J2X3ht bGZpbGVzfSBzMzkweC12eC1saW51eDY0LnhtbCIKLSAJCQlzcnZfeG1sZmlsZXM9IiR7c3J2X3ht bGZpbGVzfSBzMzkweC10ZXZ4LWxpbnV4NjQueG1sIgotKwkJCXNydl94bWxmaWxlcz0iJHtzcnZf eG1sZmlsZXN9IHMzOTB4LWdzLWxpbnV4NjQueG1sIgotIAkJCXNydl94bWxmaWxlcz0iJHtzcnZf eG1sZmlsZXN9IHMzOTAtY29yZTMyLnhtbCIKLSAJCQlzcnZfeG1sZmlsZXM9IiR7c3J2X3htbGZp bGVzfSBzMzkwLWNvcmU2NC54bWwiCi0gCQkJc3J2X3htbGZpbGVzPSIke3Nydl94bWxmaWxlc30g czM5MHgtY29yZTY0LnhtbCIKLUBAIC0zMTQsNiArMzE4LDggQEAgY2FzZSAiJHt0YXJnZXR9IiBp bgotIAkJCXNydl94bWxmaWxlcz0iJHtzcnZfeG1sZmlsZXN9IHMzOTAtZnByLnhtbCIKLSAJCQlz cnZfeG1sZmlsZXM9IiR7c3J2X3htbGZpbGVzfSBzMzkwLXRkYi54bWwiCi0gCQkJc3J2X3htbGZp bGVzPSIke3Nydl94bWxmaWxlc30gczM5MC12eC54bWwiCi0rCQkJc3J2X3htbGZpbGVzPSIke3Ny dl94bWxmaWxlc30gczM5MC1ncy54bWwiCi0rCQkJc3J2X3htbGZpbGVzPSIke3Nydl94bWxmaWxl c30gczM5MC1nc2JjLnhtbCIKLSAJCQlzcnZfbGludXhfdXNycmVncz15ZXMKLSAJCQlzcnZfbGlu dXhfcmVnc2V0cz15ZXMKLSAJCQlzcnZfbGludXhfdGhyZWFkX2RiPXllcwotQEAgLTMyNywxMiAr MzMzLDE0IEBAIGNhc2UgIiR7dGFyZ2V0fSIgaW4KLSAJCQlpcGFfb2JqPSIke2lwYV9vYmp9IHMz OTAtdngtbGludXg2NC1pcGEubyIKLSAJCQlpcGFfb2JqPSIke2lwYV9vYmp9IHMzOTAtdGUtbGlu dXg2NC1pcGEubyIKLSAJCQlpcGFfb2JqPSIke2lwYV9vYmp9IHMzOTAtdGV2eC1saW51eDY0LWlw YS5vIgotKwkJCWlwYV9vYmo9IiR7aXBhX29ian0gczM5MC1ncy1saW51eDY0LWlwYS5vIgotIAkJ CWlwYV9vYmo9IiR7aXBhX29ian0gczM5MHgtbGludXg2NC1pcGEubyIKLSAJCQlpcGFfb2JqPSIk e2lwYV9vYmp9IHMzOTB4LWxpbnV4NjR2MS1pcGEubyIKLSAJCQlpcGFfb2JqPSIke2lwYV9vYmp9 IHMzOTB4LWxpbnV4NjR2Mi1pcGEubyIKLSAJCQlpcGFfb2JqPSIke2lwYV9vYmp9IHMzOTB4LXZ4 LWxpbnV4NjQtaXBhLm8iCi0gCQkJaXBhX29iaj0iJHtpcGFfb2JqfSBzMzkweC10ZS1saW51eDY0 LWlwYS5vIgotIAkJCWlwYV9vYmo9IiR7aXBhX29ian0gczM5MHgtdGV2eC1saW51eDY0LWlwYS5v IgotKwkJCWlwYV9vYmo9IiR7aXBhX29ian0gczM5MHgtZ3MtbGludXg2NC1pcGEubyIKLSAJCQk7 OwotICAgc2gqLSotbGludXgqKQkJc3J2X3JlZ29iaj1yZWctc2gubwotIAkJCXNydl90Z3RvYmo9 IiRzcnZfbGludXhfb2JqIGxpbnV4LXNoLWxvdy5vIgotLS0tIGEvZ2RiL2dkYnNlcnZlci9saW51 eC1zMzkwLWxvdy5jCi0rKysgYi9nZGIvZ2Ric2VydmVyL2xpbnV4LXMzOTAtbG93LmMKLUBAIC00 NSw2ICs0NSwxMCBAQAotICNkZWZpbmUgSFdDQVBfUzM5MF9WWCAyMDQ4Ci0gI2VuZGlmCi0gCi0r I2lmbmRlZiBIV0NBUF9TMzkwX0dTCi0rI2RlZmluZSBIV0NBUF9TMzkwX0dTIDE2Mzg0Ci0rI2Vu ZGlmCi0rCi0gI2RlZmluZSBzMzkwX251bV9yZWdzIDUyCi0gCi0gc3RhdGljIGludCBzMzkwX3Jl Z21hcFtdID0gewotQEAgLTM3MCw2ICszNzQsNDYgQEAgczM5MF9zdG9yZV92eHJzX2hpZ2ggKHN0 cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGNvbnN0IHZvaWQgKmJ1ZikKLSAgICAgc3VwcGx5X3Jl Z2lzdGVyIChyZWdjYWNoZSwgdjE2ICsgaSwgKGNvbnN0IGNoYXIgKikgYnVmICsgMTYgKiBpKTsK LSB9Ci0gCi0rc3RhdGljIHZvaWQKLStzMzkwX2ZpbGxfZ3MgKHN0cnVjdCByZWdjYWNoZSAqcmVn Y2FjaGUsIHZvaWQgKmJ1ZikKLSt7Ci0rICBpbnQgZ3NkID0gZmluZF9yZWdubyAocmVnY2FjaGUt PnRkZXNjLCAiZ3NkIik7Ci0rICBpbnQgaTsKLSsKLSsgIGZvciAoaSA9IDA7IGkgPCAzOyBpKysp Ci0rICAgIGNvbGxlY3RfcmVnaXN0ZXIgKHJlZ2NhY2hlLCBnc2QgKyBpLCAoY2hhciAqKSBidWYg KyA4ICogKGkgKyAxKSk7Ci0rfQotKwotK3N0YXRpYyB2b2lkCi0rczM5MF9zdG9yZV9ncyAoc3Ry dWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgY29uc3Qgdm9pZCAqYnVmKQotK3sKLSsgIGludCBnc2Qg PSBmaW5kX3JlZ25vIChyZWdjYWNoZS0+dGRlc2MsICJnc2QiKTsKLSsgIGludCBpOwotKwotKyAg Zm9yIChpID0gMDsgaSA8IDM7IGkrKykKLSsgICAgc3VwcGx5X3JlZ2lzdGVyIChyZWdjYWNoZSwg Z3NkICsgaSwgKGNvbnN0IGNoYXIgKikgYnVmICsgOCAqIChpICsgMSkpOwotK30KLSsKLStzdGF0 aWMgdm9pZAotK3MzOTBfZmlsbF9nc2JjIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCB2b2lk ICpidWYpCi0rewotKyAgaW50IGJjX2dzZCA9IGZpbmRfcmVnbm8gKHJlZ2NhY2hlLT50ZGVzYywg ImJjX2dzZCIpOwotKyAgaW50IGk7Ci0rCi0rICBmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKQotKyAg ICBjb2xsZWN0X3JlZ2lzdGVyIChyZWdjYWNoZSwgYmNfZ3NkICsgaSwgKGNoYXIgKikgYnVmICsg OCAqIChpICsgMSkpOwotK30KLSsKLStzdGF0aWMgdm9pZAotK3MzOTBfc3RvcmVfZ3NiYyAoc3Ry dWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgY29uc3Qgdm9pZCAqYnVmKQotK3sKLSsgIGludCBiY19n c2QgPSBmaW5kX3JlZ25vIChyZWdjYWNoZS0+dGRlc2MsICJiY19nc2QiKTsKLSsgIGludCBpOwot KwotKyAgZm9yIChpID0gMDsgaSA8IDM7IGkrKykKLSsgICAgc3VwcGx5X3JlZ2lzdGVyIChyZWdj YWNoZSwgYmNfZ3NkICsgaSwgKGNvbnN0IGNoYXIgKikgYnVmICsgOCAqIChpICsgMSkpOwotK30K LSsKLSBzdGF0aWMgc3RydWN0IHJlZ3NldF9pbmZvIHMzOTBfcmVnc2V0c1tdID0gewotICAgeyAw LCAwLCAwLCAwLCBHRU5FUkFMX1JFR1MsIHMzOTBfZmlsbF9ncmVnc2V0LCBOVUxMIH0sCi0gI2lm bmRlZiBfX3MzOTB4X18KLUBAIC0zODgsNiArNDMyLDEwIEBAIHN0YXRpYyBzdHJ1Y3QgcmVnc2V0 X2luZm8gczM5MF9yZWdzZXRzW10gPSB7Ci0gICAgIEVYVEVOREVEX1JFR1MsIHMzOTBfZmlsbF92 eHJzX2xvdywgczM5MF9zdG9yZV92eHJzX2xvdyB9LAotICAgeyBQVFJBQ0VfR0VUUkVHU0VULCBQ VFJBQ0VfU0VUUkVHU0VULCBOVF9TMzkwX1ZYUlNfSElHSCwgMCwKLSAgICAgRVhURU5ERURfUkVH UywgczM5MF9maWxsX3Z4cnNfaGlnaCwgczM5MF9zdG9yZV92eHJzX2hpZ2ggfSwKLSsgIHsgUFRS QUNFX0dFVFJFR1NFVCwgUFRSQUNFX1NFVFJFR1NFVCwgTlRfUzM5MF9HU19DQiwgMCwKLSsgICAg RVhURU5ERURfUkVHUywgczM5MF9maWxsX2dzLCBzMzkwX3N0b3JlX2dzIH0sCi0rICB7IFBUUkFD RV9HRVRSRUdTRVQsIFBUUkFDRV9TRVRSRUdTRVQsIE5UX1MzOTBfR1NfQkMsIDAsCi0rICAgIEVY VEVOREVEX1JFR1MsIHMzOTBfZmlsbF9nc2JjLCBzMzkwX3N0b3JlX2dzYmMgfSwKLSAgIE5VTExf UkVHU0VUCi0gfTsKLSAKLUBAIC01MDEsNiArNTQ5LDggQEAgczM5MF9hcmNoX3NldHVwICh2b2lk KQotICAgaW50IGhhdmVfcmVnc2V0X3RkYiA9IHMzOTBfY2hlY2tfcmVnc2V0IChwaWQsIE5UX1Mz OTBfVERCLCAyNTYpOwotICAgaW50IGhhdmVfcmVnc2V0X3Z4cnMgPSBzMzkwX2NoZWNrX3JlZ3Nl dCAocGlkLCBOVF9TMzkwX1ZYUlNfTE9XLCAxMjgpCi0gICAgICYmIHMzOTBfY2hlY2tfcmVnc2V0 IChwaWQsIE5UX1MzOTBfVlhSU19ISUdILCAyNTYpOwotKyAgaW50IGhhdmVfcmVnc2V0X2dzID0g czM5MF9jaGVja19yZWdzZXQgKHBpZCwgTlRfUzM5MF9HU19DQiwgMzIpCi0rICAgICYmIHMzOTBf Y2hlY2tfcmVnc2V0IChwaWQsIE5UX1MzOTBfR1NfQkMsIDMyKTsKLSAKLSAgIC8qIEFzc3VtZSAz MS1iaXQgaW5mZXJpb3IgcHJvY2Vzcy4gICovCi0gICBpZiAoaGF2ZV9yZWdzZXRfc3lzdGVtX2Nh bGwpCi1AQCAtNTI5LDggKzU3OSwxMyBAQCBzMzkwX2FyY2hfc2V0dXAgKHZvaWQpCi0gCWlmICho YXZlX3JlZ3NldF92eHJzKQotIAkgIGhhdmVfcmVnc2V0X3Z4cnMgPQotIAkgICAgKHMzOTBfZ2V0 X2h3Y2FwICh0ZGVzY19zMzkweF9saW51eDY0djIpICYgSFdDQVBfUzM5MF9WWCkgIT0gMDsKLSsJ aWYgKGhhdmVfcmVnc2V0X2dzKQotKwkgIGhhdmVfcmVnc2V0X2dzID0KLSsJICAgIChzMzkwX2dl dF9od2NhcCAodGRlc2NfczM5MHhfbGludXg2NHYyKSAmIEhXQ0FQX1MzOTBfR1MpICE9IDA7Ci0g Ci0tCWlmIChoYXZlX3JlZ3NldF92eHJzKQotKwlpZiAoaGF2ZV9yZWdzZXRfZ3MpCi0rCSAgdGRl c2MgPSB0ZGVzY19zMzkweF9nc19saW51eDY0OwotKwllbHNlIGlmIChoYXZlX3JlZ3NldF92eHJz KQotIAkgIHRkZXNjID0gKGhhdmVfcmVnc2V0X3RkYiA/IHRkZXNjX3MzOTB4X3RldnhfbGludXg2 NCA6Ci0gCQkgICB0ZGVzY19zMzkweF92eF9saW51eDY0KTsKLSAJZWxzZSBpZiAoaGF2ZV9yZWdz ZXRfdGRiKQotQEAgLTU1NCw4ICs2MDksMTIgQEAgczM5MF9hcmNoX3NldHVwICh2b2lkKQotIAkg IGhhdmVfcmVnc2V0X3RkYiA9IChzMzkwX2dldF9od2NhcCAodGRlc2MpICYgSFdDQVBfUzM5MF9U RSkgIT0gMDsKLSAJaWYgKGhhdmVfcmVnc2V0X3Z4cnMpCi0gCSAgaGF2ZV9yZWdzZXRfdnhycyA9 IChzMzkwX2dldF9od2NhcCAodGRlc2MpICYgSFdDQVBfUzM5MF9WWCkgIT0gMDsKLSsJaWYgKGhh dmVfcmVnc2V0X2dzKQotKwkgIGhhdmVfcmVnc2V0X2dzID0gKHMzOTBfZ2V0X2h3Y2FwICh0ZGVz YykgJiBIV0NBUF9TMzkwX0dTKSAhPSAwOwotIAotLQlpZiAoaGF2ZV9yZWdzZXRfdnhycykKLSsJ aWYgKGhhdmVfcmVnc2V0X2dzKQotKwkgIHRkZXNjID0gdGRlc2NfczM5MF9nc19saW51eDY0Owot KwllbHNlIGlmIChoYXZlX3JlZ3NldF92eHJzKQotIAkgIHRkZXNjID0gKGhhdmVfcmVnc2V0X3Rk YiA/IHRkZXNjX3MzOTBfdGV2eF9saW51eDY0IDoKLSAJCSAgIHRkZXNjX3MzOTBfdnhfbGludXg2 NCk7Ci0gCWVsc2UgaWYgKGhhdmVfcmVnc2V0X3RkYikKLUBAIC01OTYsNiArNjU1LDkgQEAgczM5 MF9hcmNoX3NldHVwICh2b2lkKQotIAljYXNlIE5UX1MzOTBfVlhSU19ISUdIOgotIAkgIHJlZ3Nl dC0+c2l6ZSA9IGhhdmVfcmVnc2V0X3Z4cnMgPyAyNTYgOiAwOwotIAkgIGJyZWFrOwotKwljYXNl IE5UX1MzOTBfR1NfQ0I6Ci0rCWNhc2UgTlRfUzM5MF9HU19CQzoKLSsJICByZWdzZXQtPnNpemUg PSBoYXZlX3JlZ3NldF9ncyA/IDMyIDogMDsKLSAJZGVmYXVsdDoKLSAJICBicmVhazsKLSAJfQot QEAgLTI3OTcsNiArMjg1OSw3IEBAIGluaXRpYWxpemVfbG93X2FyY2ggKHZvaWQpCi0gICBpbml0 X3JlZ2lzdGVyc19zMzkwX3RlX2xpbnV4NjQgKCk7Ci0gICBpbml0X3JlZ2lzdGVyc19zMzkwX3Z4 X2xpbnV4NjQgKCk7Ci0gICBpbml0X3JlZ2lzdGVyc19zMzkwX3RldnhfbGludXg2NCAoKTsKLSsg IGluaXRfcmVnaXN0ZXJzX3MzOTBfZ3NfbGludXg2NCAoKTsKLSAjaWZkZWYgX19zMzkweF9fCi0g ICBpbml0X3JlZ2lzdGVyc19zMzkweF9saW51eDY0ICgpOwotICAgaW5pdF9yZWdpc3RlcnNfczM5 MHhfbGludXg2NHYxICgpOwotQEAgLTI4MDQsNiArMjg2Nyw3IEBAIGluaXRpYWxpemVfbG93X2Fy Y2ggKHZvaWQpCi0gICBpbml0X3JlZ2lzdGVyc19zMzkweF90ZV9saW51eDY0ICgpOwotICAgaW5p dF9yZWdpc3RlcnNfczM5MHhfdnhfbGludXg2NCAoKTsKLSAgIGluaXRfcmVnaXN0ZXJzX3MzOTB4 X3RldnhfbGludXg2NCAoKTsKLSsgIGluaXRfcmVnaXN0ZXJzX3MzOTB4X2dzX2xpbnV4NjQgKCk7 Ci0gI2VuZGlmCi0gCi0gICBpbml0aWFsaXplX3JlZ3NldHNfaW5mbyAoJnMzOTBfcmVnc2V0c19p bmZvKTsKLS0tLSBhL2dkYi9nZGJzZXJ2ZXIvbGludXgtczM5MC10ZGVzYy5oCi0rKysgYi9nZGIv Z2Ric2VydmVyL2xpbnV4LXMzOTAtdGRlc2MuaAotQEAgLTMxLDYgKzMxLDcgQEAgZW51bSBzMzkw X2xpbnV4X3RkZXNjIHsKLSAgIFMzOTBfVERFU0NfVEUsCi0gICBTMzkwX1RERVNDX1ZYLAotICAg UzM5MF9UREVTQ19URVZYLAotKyAgUzM5MF9UREVTQ19HUywKLSB9OwotIAotICNpZmRlZiBfX3Mz OTB4X18KLUBAIC01OSw2ICs2MCwxMCBAQCBleHRlcm4gY29uc3Qgc3RydWN0IHRhcmdldF9kZXNj ICp0ZGVzY19zMzkweF92eF9saW51eDY0OwotIHZvaWQgaW5pdF9yZWdpc3RlcnNfczM5MHhfdGV2 eF9saW51eDY0ICh2b2lkKTsKLSBleHRlcm4gY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICp0ZGVz Y19zMzkweF90ZXZ4X2xpbnV4NjQ7Ci0gCi0rLyogRGVmaW5lZCBpbiBhdXRvLWdlbmVyYXRlZCBm aWxlIHMzOTB4LWdzLWxpbnV4NjQuYy4gICovCi0rdm9pZCBpbml0X3JlZ2lzdGVyc19zMzkweF9n c19saW51eDY0ICh2b2lkKTsKLStleHRlcm4gY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICp0ZGVz Y19zMzkweF9nc19saW51eDY0OwotKwotICNlbmRpZgotIAotICNpZiAhZGVmaW5lZCBfX3MzOTB4 X18gfHwgIWRlZmluZWQgSU5fUFJPQ0VTU19BR0VOVAotQEAgLTk5LDQgKzEwNCw4IEBAIGV4dGVy biBjb25zdCBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3MzOTBfdnhfbGludXg2NDsKLSB2b2lk IGluaXRfcmVnaXN0ZXJzX3MzOTBfdGV2eF9saW51eDY0ICh2b2lkKTsKLSBleHRlcm4gY29uc3Qg c3RydWN0IHRhcmdldF9kZXNjICp0ZGVzY19zMzkwX3RldnhfbGludXg2NDsKLSAKLSsvKiBEZWZp bmVkIGluIGF1dG8tZ2VuZXJhdGVkIGZpbGUgczM5MC1ncy1saW51eDY0LmMuICAqLwotK3ZvaWQg aW5pdF9yZWdpc3RlcnNfczM5MF9nc19saW51eDY0ICh2b2lkKTsKLStleHRlcm4gY29uc3Qgc3Ry dWN0IHRhcmdldF9kZXNjICp0ZGVzY19zMzkwX2dzX2xpbnV4NjQ7Ci0rCi0gI2VuZGlmCgpkaWZm IC0tZ2l0IGEvZ2RiLXJoYnoxNDk4NzU4LTVvZjUucGF0Y2ggYi9nZGItcmhiejE0OTg3NTgtNW9m NS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzJkZGNlYy4uMDAwMDAwMAot LS0gYS9nZGItcmhiejE0OTg3NTgtNW9mNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY5ICsw LDAgQEAKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRl OiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejE0OTg3 NTgtNW9mNS5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLXJoYnoxNDk4NzU4LTVvZjUucGF0Y2gKLQot Y29tbWl0IDI4OWUyM2FhMDMwODRiMjJjNzNlYmRjZjE4MzcxZjFlNjY2NmVhZDAKLUF1dGhvcjog QW5kcmVhcyBBcm5leiA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotRGF0ZTogICBNb24gU2Vw IDI1IDE2OjAyOjI0IDIwMTcgKzAyMDAKLQotICAgIFMzOTA6IERvY3VtZW50IGd1YXJkZWQtc3Rv cmFnZSByZWdpc3RlciBzdXBwb3J0Ci0gICAgCi0gICAgVGhpcyBkb2N1bWVudHMgdGhlIG5ld2x5 IGFkZGVkIHN1cHBvcnQgZm9yIGd1YXJkZWQtc3RvcmFnZSByZWdpc3RlcnMgb24KLSAgICBJQk0g ei4KLSAgICAKLSAgICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBORVdTOiBB ZHZlcnRpc2Ugc3VwcG9ydCBmb3IgZ3VhcmRlZC1zdG9yYWdlIHJlZ2lzdGVycyBvbiBJQk0gei4K LSAgICAKLSAgICBnZGIvZG9jL0NoYW5nZUxvZzoKLSAgICAKLSAgICAgICAgICAgICogZ2RiLnRl eGluZm8gKFMvMzkwIGFuZCBTeXN0ZW0geiBGZWF0dXJlcyk6IERvY3VtZW50IHRoZSBuZXcKLSAg ICAgICAgICAgIGZlYXR1cmVzIG9yZy5nbnUuZ2RiLnMzOTAuZ3MgYW5kIG9yZy5nbnUuZ2RiLnMz OTAuZ3NiYy4KLQotIyMjIGEvZ2RiL0NoYW5nZUxvZwotIyMjIGIvZ2RiL0NoYW5nZUxvZwotIyMg LTEsNSArMSw5IEBACi0gMjAxNy0wOS0yNSAgQW5kcmVhcyBBcm5leiAgPGFybmV6QGxpbnV4LnZu ZXQuaWJtLmNvbT4KLSAKLSsJKiBORVdTOiBBZHZlcnRpc2Ugc3VwcG9ydCBmb3IgZ3VhcmRlZC1z dG9yYWdlIHJlZ2lzdGVycyBvbiBJQk0gei4KLSsKLSsyMDE3LTA5LTI1ICBBbmRyZWFzIEFybmV6 ICA8YXJuZXpAbGludXgudm5ldC5pYm0uY29tPgotKwotIAkqIHMzOTAtbGludXgtbmF0LmMgKGhh dmVfcmVnc2V0X2dzKTogTmV3IHN0YXRpYyB2YXJpYWJsZS4KLSAJKHMzOTBfbGludXhfZmV0Y2hf aW5mZXJpb3JfcmVnaXN0ZXJzKTogSGFuZGxlIGd1YXJkZWQtc3RvcmFnZQotIAljb250cm9sIGJs b2NrIGFuZCBndWFyZGVkLXN0b3JhZ2UgYnJvYWRjYXN0IGNvbnRyb2wgcmVnc2V0cy4KLUluZGV4 OiBnZGItOC4wLjEvZ2RiL05FV1MKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLjEub3JpZy9nZGIv TkVXUwkyMDE3LTEwLTA3IDE1OjU0OjQ4LjY0OTE2NTY0NCArMDIwMAotKysrIGdkYi04LjAuMS9n ZGIvTkVXUwkyMDE3LTEwLTA3IDE1OjU1OjAxLjAwNjI2NDEyOSArMDIwMAotQEAgLTMsNiArMyw5 IEBACi0gCi0gKiBGb3J0cmFuOiBTdXBwb3J0IHBvaW50ZXJzIHRvIGR5bmFtaWMgdHlwZXMuCi0g Ci0rKiBHREIgbm93IHN1cHBvcnRzIGFjY2VzcyB0byB0aGUgZ3VhcmRlZC1zdG9yYWdlLWNvbnRy b2wgcmVnaXN0ZXJzIGFuZCB0aGUKLSsgIHNvZnR3YXJlLWJhc2VkIGd1YXJkZWQtc3RvcmFnZSBi cm9hZGNhc3QgY29udHJvbCByZWdpc3RlcnMgb24gSUJNIHoxNC4KLSsKLSAqKiogQ2hhbmdlcyBp biBHREIgOC4wCi0gCi0gKiBHREIgbm93IHN1cHBvcnRzIGFjY2VzcyB0byB0aGUgUEtVIHJlZ2lz dGVyIG9uIEdOVS9MaW51eC4gVGhlIHJlZ2lzdGVyIGlzCi1JbmRleDogZ2RiLTguMC4xL2dkYi9k b2MvZ2RiLnRleGluZm8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLjEub3JpZy9nZGIvZG9jL2dk Yi50ZXhpbmZvCTIwMTctMTAtMDcgMTU6NTQ6NDQuODkxMTM1NjkyICswMjAwCi0rKysgZ2RiLTgu MC4xL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxNy0xMC0wNyAxNTo1NDo0OC42NjAxNjU3MzEgKzAy MDAKLUBAIC00MTUxMiw2ICs0MTUxMiwxNCBAQAotIGNvbnRhaW4gdGhlIDEyOC1iaXQgd2lkZSB2 ZWN0b3IgcmVnaXN0ZXJzIEBzYW1we3YxNn0gdGhyb3VnaAotIEBzYW1we3YzMX0uCi0gCi0rVGhl IEBzYW1we29yZy5nbnUuZ2RiLnMzOTAuZ3N9IGZlYXR1cmUgaXMgb3B0aW9uYWwuICBJdCBzaG91 bGQgY29udGFpbgotK3RoZSA2NC1iaXQgd2lkZSBndWFyZGVkLXN0b3JhZ2UtY29udHJvbCByZWdp c3RlcnMgQHNhbXB7Z3NkfSwKLStAc2FtcHtnc3NtfSwgYW5kIEBzYW1we2dzZXBsYX0uCi0rCi0r VGhlIEBzYW1we29yZy5nbnUuZ2RiLnMzOTAuZ3NiY30gZmVhdHVyZSBpcyBvcHRpb25hbC4gIEl0 IHNob3VsZCBjb250YWluCi0rdGhlIDY0LWJpdCB3aWRlIGd1YXJkZWQtc3RvcmFnZSBicm9hZGNh c3QgY29udHJvbCByZWdpc3RlcnMKLStAc2FtcHtiY19nc2R9LCBAc2FtcHtiY19nc3NtfSwgYW5k IEBzYW1we2JjX2dzZXBsYX0uCi0rCi0gQG5vZGUgU3BhcmMgRmVhdHVyZXMKLSBAc3Vic2VjdGlv biBTcGFyYyBGZWF0dXJlcwotIEBjaW5kZXggdGFyZ2V0IGRlc2NyaXB0aW9ucywgc3BhcmMzMiBm ZWF0dXJlcwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gg Yi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjBvZjI1LnBhdGNoCmluZGV4IGFkMjk1NTkuLjA5ZDFl ZTEgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKKysrIGIv Z2RiLXJoYno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRjaApAQCAtMSwxMiArMSwxNSBAQAorRnJv bSA1NDUwNTM2YTFlZmVkYzQwOTU1NmU1MmJmZDI0NmI2YjI2NTU3MzY0IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4K IERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAx LzRdIEV4cGFuZCBiaXRwb3MgYW5kIHR5cGUubGVuZ3RoIHRvIExPTkdFU1QgYW5kIFVMT05HRVNU CitTdWJqZWN0OiBFeHBhbmQgYml0cG9zIGFuZCB0eXBlLmxlbmd0aCB0byBMT05HRVNUIGFuZCBV TE9OR0VTVAogCiBGaWxlTmFtZTogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRjaAog Ci1odHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0wOS9tc2cwMDYzMS5o dG1sCi0KKzs7IEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBvZmZz ZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCis7OyAoUkggQlogNzk1NDI0KS4KKzs7PXB1c2gKIAor aHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDkvbXNnMDA2MzEuaHRt bAogCiAtLU1QXy95cDVmK1dfRUQySnRVbFN5Qmk4eHVqcgogQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PVVTLUFTQ0lJCkBAIC00NjgsMTIgKzQ3MSwxMTAgQEAgZ2RiL3Rlc3RzdWl0 ZS9DaGFuZ2VMb2c6CiBDb250ZW50LVR5cGU6IHRleHQveC1wYXRjaAogQ29udGVudC1UcmFuc2Zl ci1FbmNvZGluZzogN2JpdAogQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5h bWU9Yml0cG9zLW1haW4ucGF0Y2gKKy0tLQorIGdkYi9hYXJjaDY0LWxpbnV4LW5hdC5jICAgICAg ICAgfCAgIDIgKy0KKyBnZGIvYWRhLWxhbmcuYyAgICAgICAgICAgICAgICAgIHwgMTA1ICsrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KKyBnZGIvYWRhLWxhbmcuaCAgICAg ICAgICAgICAgICAgIHwgICA2ICstLQorIGdkYi9hZGEtdHlwZXByaW50LmMgICAgICAgICAgICAg fCAgIDcgKy0tCisgZ2RiL2FkYS12YWxwcmludC5jICAgICAgICAgICAgICB8ICAzOSArKysrKysr LS0tLS0tLS0KKyBnZGIvYW1kNjQtdGRlcC5jICAgICAgICAgICAgICAgIHwgICA4ICstLQorIGdk Yi9hbm5vdGF0ZS5jICAgICAgICAgICAgICAgICAgfCAgIDggKy0tCisgZ2RiL2Fubm90YXRlLmgg ICAgICAgICAgICAgICAgICB8ICAgNCArLQorIGdkYi9hcmNoLXV0aWxzLmMgICAgICAgICAgICAg ICAgfCAgIDIgKy0KKyBnZGIvYXJjaC11dGlscy5oICAgICAgICAgICAgICAgIHwgICAyICstCisg Z2RiL2FybS1saW51eC1uYXQuYyAgICAgICAgICAgICB8ICAgMiArLQorIGdkYi9heC1nZGIuYyAg ICAgICAgICAgICAgICAgICAgfCAgMzAgKysrKysrLS0tLS0tCisgZ2RiL2F4LWdlbmVyYWwuYyAg ICAgICAgICAgICAgICB8ICAgMiArLQorIGdkYi9heC5oICAgICAgICAgICAgICAgICAgICAgICAg fCAgIDIgKy0KKyBnZGIvYnJlYWtwb2ludC5jICAgICAgICAgICAgICAgIHwgICA4ICstLQorIGdk Yi9icmVha3BvaW50LmggICAgICAgICAgICAgICAgfCAgIDQgKy0KKyBnZGIvYy1sYW5nLmMgICAg ICAgICAgICAgICAgICAgIHwgICA2ICstLQorIGdkYi9jLWxhbmcuaCAgICAgICAgICAgICAgICAg ICAgfCAgIDQgKy0KKyBnZGIvYy12YWxwcmludC5jICAgICAgICAgICAgICAgIHwgIDEwICsrLS0K KyBnZGIvY29tcGlsZS9jb21waWxlLWMtc3VwcG9ydC5jIHwgICA0ICstCisgZ2RiL2NwLWFiaS5j ICAgICAgICAgICAgICAgICAgICB8ICAgNiArLS0KKyBnZGIvY3AtYWJpLmggICAgICAgICAgICAg ICAgICAgIHwgIDIwICsrKystLS0tCisgZ2RiL2NwLXZhbHByaW50LmMgICAgICAgICAgICAgICB8 ICAgMiArLQorIGdkYi9kLWxhbmcuaCAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyBnZGIv ZC12YWxwcmludC5jICAgICAgICAgICAgICAgIHwgICAyICstCisgZ2RiL2R3YXJmMmxvYy5jICAg ICAgICAgICAgICAgICB8ICAxOCArKystLS0tCisgZ2RiL2R3YXJmMnJlYWQuYyAgICAgICAgICAg ICAgICB8ICAxMiArKy0tLQorIGdkYi9ldmFsLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMTUg KysrLS0tCisgZ2RiL2YtbGFuZy5jICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQorIGdkYi9m LWxhbmcuaCAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyBnZGIvZi12YWxwcmludC5jICAg ICAgICAgICAgICAgIHwgIDE0ICsrKy0tLQorIGdkYi9maW5kdmFyLmMgICAgICAgICAgICAgICAg ICAgfCAgIDYgKy0tCisgZ2RiL2ZyYW1lLmMgICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQor IGdkYi9mcmFtZS5oICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyBnZGIvZ2RiYXJjaC5j ICAgICAgICAgICAgICAgICAgIHwgICAyICstCisgZ2RiL2dkYmFyY2guaCAgICAgICAgICAgICAg ICAgICB8ICAgNCArLQorIGdkYi9nZGJhcmNoLnNoICAgICAgICAgICAgICAgICAgfCAgIDIgKy0K KyBnZGIvZ2RidHlwZXMuYyAgICAgICAgICAgICAgICAgIHwgIDE0ICsrKy0tLQorIGdkYi9nZGJ0 eXBlcy5oICAgICAgICAgICAgICAgICAgfCAgIDYgKy0tCisgZ2RiL2dudS12Mi1hYmkuYyAgICAg ICAgICAgICAgICB8ICAgOSArKy0tCisgZ2RiL2dudS12My1hYmkuYyAgICAgICAgICAgICAgICB8 ICAxNCArKystLS0KKyBnZGIvZ28tbGFuZy5oICAgICAgICAgICAgICAgICAgIHwgICAyICstCisg Z2RiL2dvLXZhbHByaW50LmMgICAgICAgICAgICAgICB8ICAgMiArLQorIGdkYi9pMzg2LXRkZXAu YyAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyBnZGIvbGFuZ3VhZ2UuYyAgICAgICAgICAgICAg ICAgIHwgICA0ICstCisgZ2RiL2xhbmd1YWdlLmggICAgICAgICAgICAgICAgICB8ICAgNCArLQor IGdkYi9tMi1sYW5nLmMgICAgICAgICAgICAgICAgICAgfCAgMTAgKystLQorIGdkYi9tMi1sYW5n LmggICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyBnZGIvbTItdHlwZXByaW50LmMgICAgICAg ICAgICAgIHwgICA5ICsrLS0KKyBnZGIvbTItdmFscHJpbnQuYyAgICAgICAgICAgICAgIHwgIDE2 ICsrKy0tLQorIGdkYi9tZW1yYW5nZS5jICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KKyBnZGIv bWVtcmFuZ2UuaCAgICAgICAgICAgICAgICAgIHwgICA4ICstLQorIGdkYi9taXBzLWxpbnV4LW5h dC5jICAgICAgICAgICAgfCAgIDIgKy0KKyBnZGIvbmF0L3g4Ni1kcmVncy5jICAgICAgICAgICAg IHwgICA0ICstCisgZ2RiL25hdC94ODYtZHJlZ3MuaCAgICAgICAgICAgICB8ICAgMiArLQorIGdk Yi9vcGVuY2wtbGFuZy5jICAgICAgICAgICAgICAgfCAgMjYgKysrKystLS0tLQorIGdkYi9wLWxh bmcuYyAgICAgICAgICAgICAgICAgICAgfCAgMTQgKysrLS0tCisgZ2RiL3AtbGFuZy5oICAgICAg ICAgICAgICAgICAgICB8ICAgNiArLS0KKyBnZGIvcC12YWxwcmludC5jICAgICAgICAgICAgICAg IHwgICA2ICstLQorIGdkYi9wcGMtbGludXgtbmF0LmMgICAgICAgICAgICAgfCAgIDIgKy0KKyBn ZGIvcHBjLWxpbnV4LXRkZXAuYyAgICAgICAgICAgIHwgICAyICstCisgZ2RiL3ByaW50Y21kLmMg ICAgICAgICAgICAgICAgICB8ICAgNCArLQorIGdkYi9wcm9jZnMuYyAgICAgICAgICAgICAgICAg ICAgfCAgIDIgKy0KKyBnZGIvcmVnY2FjaGUuYyAgICAgICAgICAgICAgICAgIHwgIDE5ICsrKyst LS0tCisgZ2RiL3JlZ2NhY2hlLmggICAgICAgICAgICAgICAgICB8ICAyMyArKysrLS0tLS0KKyBn ZGIvcmVtb3RlLmMgICAgICAgICAgICAgICAgICAgIHwgICAyICstCisgZ2RiL3J1c3QtbGFuZy5j ICAgICAgICAgICAgICAgICB8ICAgNCArLQorIGdkYi9zMzkwLWxpbnV4LW5hdC5jICAgICAgICAg ICAgfCAgIDIgKy0KKyBnZGIvc3B1LW11bHRpYXJjaC5jICAgICAgICAgICAgIHwgICAyICstCisg Z2RiL3N0YWNrLmMgICAgICAgICAgICAgICAgICAgICB8ICAxMCArKy0tCisgZ2RiL3N5bW1pc2Mu YyAgICAgICAgICAgICAgICAgICB8ICAgNiArLS0KKyBnZGIvdGFyZ2V0LWRlbGVnYXRlcy5jICAg ICAgICAgIHwgICA2ICstLQorIGdkYi90YXJnZXQuYyAgICAgICAgICAgICAgICAgICAgfCAgIDQg Ky0KKyBnZGIvdGFyZ2V0LmggICAgICAgICAgICAgICAgICAgIHwgICAyICstCisgZ2RiL3RyYWNl cG9pbnQuYyAgICAgICAgICAgICAgICB8ICAzMiArKysrKystLS0tLS0KKyBnZGIvdHJhY2Vwb2lu dC5oICAgICAgICAgICAgICAgIHwgICAyICstCisgZ2RiL3ZhbGFyaXRoLmMgICAgICAgICAgICAg ICAgICB8ICAxMiArKy0tLQorIGdkYi92YWxvcHMuYyAgICAgICAgICAgICAgICAgICAgfCAgMTgg KysrLS0tLQorIGdkYi92YWxwcmludC5jICAgICAgICAgICAgICAgICAgfCAgMTggKysrLS0tLQor IGdkYi92YWxwcmludC5oICAgICAgICAgICAgICAgICAgfCAgIDggKy0tCisgZ2RiL3ZhbHVlLmMg ICAgICAgICAgICAgICAgICAgICB8ICAxMCArKy0tCisgZ2RiL3ZhbHVlLmggICAgICAgICAgICAg ICAgICAgICB8ICAxNSArKystLS0KKyBnZGIveDg2LW5hdC5jICAgICAgICAgICAgICAgICAgIHwg ICAyICstCisgODMgZmlsZXMgY2hhbmdlZCwgMzgxIGluc2VydGlvbnMoKyksIDM2MiBkZWxldGlv bnMoLSkKIAotSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItOC4wLm9yaWcvZ2RiL2FkYS1sYW5nLmMJMjAxNy0wOC0xOSAyMDowNDo1OS43ODU3ODA1MDEg KzAyMDAKLSsrKyBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDU2 ODc2NTg5ICswMjAwCi1AQCAtNzYsNyArNzYsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9hYXJjaDY0 LWxpbnV4LW5hdC5jIGIvZ2RiL2FhcmNoNjQtbGludXgtbmF0LmMKK2luZGV4IDllMzE3YzA0ZTQu Ljg2MDYxMTFjMDAgMTAwNjQ0CistLS0gYS9nZGIvYWFyY2g2NC1saW51eC1uYXQuYworKysrIGIv Z2RiL2FhcmNoNjQtbGludXgtbmF0LmMKK0BAIC03MDgsNyArNzA4LDcgQEAgYWFyY2g2NF9saW51 eF9yZW1vdmVfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCisgCisgc3RhdGlj IGludAorIGFhcmNoNjRfbGludXhfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3Qg dGFyZ2V0X29wcyAqc2VsZiwKKy0JCQkJCSAgIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQorKwkJ CQkJICAgQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKQorIHsKKyAgIHJldHVybiBhYXJjaDY0 X2xpbnV4X3JlZ2lvbl9va19mb3Jfd2F0Y2hwb2ludCAoYWRkciwgbGVuKTsKKyB9CitkaWZmIC0t Z2l0IGEvZ2RiL2FkYS1sYW5nLmMgYi9nZGIvYWRhLWxhbmcuYworaW5kZXggYzU2MzZiOTJmMy4u OGIxOGEwMTFhYyAxMDA2NDQKKy0tLSBhL2dkYi9hZGEtbGFuZy5jCisrKysgYi9nZGIvYWRhLWxh bmcuYworQEAgLTc4LDcgKzc4LDcgQEAgc3RhdGljIHN0cnVjdCB0eXBlICpkZXNjX2JvdW5kc190 eXBlIChzdHJ1Y3QgdHlwZSAqKTsKICAKICBzdGF0aWMgc3RydWN0IHZhbHVlICpkZXNjX2JvdW5k cyAoc3RydWN0IHZhbHVlICopOwogIApAQCAtNDgyLDcgKzU4Myw3IEBAIEluZGV4OiBnZGItOC4w L2dkYi9hZGEtbGFuZy5jCiAgCiAgc3RhdGljIGludCBmYXRfcG50cl9ib3VuZHNfYml0c2l6ZSAo c3RydWN0IHR5cGUgKik7CiAgCi1AQCAtODQsMTMgKzg0LDEzIEBACitAQCAtODYsMTMgKzg2LDEz IEBAIHN0YXRpYyBzdHJ1Y3QgdHlwZSAqZGVzY19kYXRhX3RhcmdldF90eXBlIChzdHJ1Y3QgdHlw ZSAqKTsKICAKICBzdGF0aWMgc3RydWN0IHZhbHVlICpkZXNjX2RhdGEgKHN0cnVjdCB2YWx1ZSAq KTsKICAKQEAgLTQ5OCw3ICs1OTksNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwog IAogIHN0YXRpYyBpbnQgZGVzY19ib3VuZF9iaXRzaXplIChzdHJ1Y3QgdHlwZSAqLCBpbnQsIGlu dCk7CiAgCi1AQCAtMTczLDcgKzE3Myw3IEBACitAQCAtMTc1LDcgKzE3NSw3IEBAIHN0YXRpYyBz dHJ1Y3QgdHlwZSAqc3RhdGljX3Vud3JhcF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSk7CiAgCiAg c3RhdGljIHN0cnVjdCB2YWx1ZSAqdW53cmFwX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKik7CiAgCkBA IC01MDcsNyArNjA4LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKICAKICBzdGF0 aWMgc3RydWN0IHR5cGUgKmRlY29kZV9jb25zdHJhaW5lZF9wYWNrZWRfYXJyYXlfdHlwZSAoc3Ry dWN0IHR5cGUgKik7CiAgCi1AQCAtMTg4LDcgKzE4OCw4IEBACitAQCAtMTkwLDcgKzE5MCw4IEBA IHN0YXRpYyBpbnQgYWRhX2lzX3VuY29uc3RyYWluZWRfcGFja2VkX2FycmF5X3R5cGUgKHN0cnVj dCB0eXBlICopOwogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKnZhbHVlX3N1YnNjcmlwdF9wYWNrZWQg KHN0cnVjdCB2YWx1ZSAqLCBpbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHZhbHVlICoqKTsKICAKQEAgLTUxNyw3ICs2MTgsNyBAQCBJbmRl eDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKmNvZXJj ZV91bnNwZWNfdmFsX3RvX3R5cGUgKHN0cnVjdCB2YWx1ZSAqLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICopOwotQEAgLTIxNiwx NCArMjE3LDE0IEBACitAQCAtMjE2LDE0ICsyMTcsMTQgQEAgc3RhdGljIHN0cnVjdCB2YWx1ZSAq dmFsdWVfdmFsX2F0ciAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHZhbHVlICopOwogIHN0YXRpYyBz dHJ1Y3Qgc3ltYm9sICpzdGFuZGFyZF9sb29rdXAgKGNvbnN0IGNoYXIgKiwgY29uc3Qgc3RydWN0 IGJsb2NrICosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWlu X2VudW0pOwogIApAQCAtNTM2LDcgKzYzNyw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFu Zy5jCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqYWRhX3RvX2ZpeGVkX3ZhbHVlX2NyZWF0ZSAo c3RydWN0IHR5cGUgKiwgQ09SRV9BRERSLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2YWx1ZSAqKTsKLUBAIC0yMzcsNyArMjM4LDcgQEAK K0BAIC0yMzcsNyArMjM4LDcgQEAgc3RhdGljIGludCBhZGFfaXNfZGlyZWN0X2FycmF5X3R5cGUg KHN0cnVjdCB0eXBlICopOwogIHN0YXRpYyB2b2lkIGFkYV9sYW5ndWFnZV9hcmNoX2luZm8gKHN0 cnVjdCBnZGJhcmNoICosCiAgCQkJCSAgICBzdHJ1Y3QgbGFuZ3VhZ2VfYXJjaF9pbmZvICopOwog IApAQCAtNTQ1LDcgKzY0Niw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgCQkJ CQkgICAgIHN0cnVjdCB0eXBlICopOwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKmFzc2lnbl9h Z2dyZWdhdGUgKHN0cnVjdCB2YWx1ZSAqLCBzdHJ1Y3QgdmFsdWUgKiwgCi1AQCAtNjk5LDcgKzcw MCw3IEBACitAQCAtNzAwLDcgKzcwMSw3IEBAIGNvZXJjZV91bnNwZWNfdmFsX3RvX3R5cGUgKHN0 cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB9CiAgCiAgc3RhdGljIGNvbnN0 IGdkYl9ieXRlICoKQEAgLTU1NCw3ICs2NTUsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxh bmcuYwogIHsKICAgIGlmICh2YWxhZGRyID09IE5VTEwpCiAgICAgIHJldHVybiBOVUxMOwotQEAg LTcwOCw3ICs3MDksNyBAQAorQEAgLTcwOSw3ICs3MTAsNyBAQCBjb25kX29mZnNldF9ob3N0IChj b25zdCBnZGJfYnl0ZSAqdmFsYWRkciwgbG9uZyBvZmZzZXQpCiAgfQogIAogIHN0YXRpYyBDT1JF X0FERFIKQEAgLTU2Myw3ICs2NjQsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwog IHsKICAgIGlmIChhZGRyZXNzID09IDApCiAgICAgIHJldHVybiAwOwotQEAgLTE3NTUsNyArMTc1 Niw3IEBACitAQCAtMTc0Nyw3ICsxNzQ4LDcgQEAgZGVzY19ib3VuZHMgKHN0cnVjdCB2YWx1ZSAq YXJyKQogIC8qIElmIFRZUEUgaXMgdGhlIHR5cGUgb2YgYW4gYXJyYXktZGVzY3JpcHRvciAoZmF0 IHBvaW50ZXIpLCAgdGhlIGJpdAogICAgIHBvc2l0aW9uIG9mIHRoZSBmaWVsZCBjb250YWluaW5n IHRoZSBhZGRyZXNzIG9mIHRoZSBib3VuZHMgZGF0YS4gICovCiAgCkBAIC01NzIsNyArNjczLDcg QEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKICBmYXRfcG50cl9ib3VuZHNfYml0cG9z IChzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CiAgICByZXR1cm4gVFlQRV9GSUVMRF9CSVRQT1MgKGRl c2NfYmFzZV90eXBlICh0eXBlKSwgMSk7Ci1AQCAtMTgyMSw3ICsxODIyLDcgQEAKK0BAIC0xODEz LDcgKzE4MTQsNyBAQCBkZXNjX2RhdGEgKHN0cnVjdCB2YWx1ZSAqYXJyKQogIC8qIElmIFRZUEUg aXMgdGhlIHR5cGUgb2YgYW4gYXJyYXktZGVzY3JpcHRvciAoZmF0IHBvaW50ZXIpLCB0aGUgYml0 CiAgICAgcG9zaXRpb24gb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIGFkZHJlc3Mgb2YgdGhl IGRhdGEuICAqLwogIApAQCAtNTgxLDcgKzY4Miw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEt bGFuZy5jCiAgZmF0X3BudHJfZGF0YV9iaXRwb3MgKHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAg IHJldHVybiBUWVBFX0ZJRUxEX0JJVFBPUyAoZGVzY19iYXNlX3R5cGUgKHR5cGUpLCAwKTsKLUBA IC0xODU2LDcgKzE4NTcsNyBAQAorQEAgLTE4NDgsNyArMTg0OSw3IEBAIGRlc2Nfb25lX2JvdW5k IChzdHJ1Y3QgdmFsdWUgKmJvdW5kcywgaW50IGksIGludCB3aGljaCkKICAgICBvZiB0aGUgSXRo IGxvd2VyIGJvdW5kIHN0b3JlZCBpbiBpdCwgaWYgV0hJQ0ggaXMgMCwgYW5kIHRoZSBJdGggdXBw ZXIKICAgICBib3VuZCwgaWYgV0hJQ0ggaXMgMS4gIFRoZSBmaXJzdCBib3VuZCBpcyBJPTEuICAq LwogIApAQCAtNTkwLDcgKzY5MSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAg ZGVzY19ib3VuZF9iaXRwb3MgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaSwgaW50IHdoaWNoKQog IHsKICAgIHJldHVybiBUWVBFX0ZJRUxEX0JJVFBPUyAoZGVzY19iYXNlX3R5cGUgKHR5cGUpLCAy ICogaSArIHdoaWNoIC0gMik7Ci1AQCAtMjA0Niw3ICsyMDQ3LDcgQEAKK0BAIC0yMDM4LDcgKzIw MzksNyBAQCBhZGFfdHlwZV9vZl9hcnJheSAoc3RydWN0IHZhbHVlICphcnIsIGludCBib3VuZHMp CiAgCSAgICAgICAgIHplcm8sIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIHJlY29tcHV0ZWQuICAq LwogIAkgICAgICBpZiAobG8gPCBoaSkKICAJCXsKQEAgLTU5OSw3ICs3MDAsNyBAQCBJbmRleDog Z2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIAkJICAgICAgICAoaGkgLSBsbyArIDEpICogVFlQRV9G SUVMRF9CSVRTSVpFIChlbHRfdHlwZSwgMCk7CiAgCiAgCQkgIFRZUEVfTEVOR1RIIChhcnJheV90 eXBlKSA9IChhcnJheV9iaXRzaXplICsgNykgLyA4OwotQEAgLTIyMDYsNyArMjIwNyw3IEBACitA QCAtMjE5OCw3ICsyMTk5LDcgQEAgZGVjb2RlX3BhY2tlZF9hcnJheV9iaXRzaXplIChzdHJ1Y3Qg dHlwZSAqdHlwZSkKICAgICB0aGUgbGVuZ3RoIGlzIGFyYml0cmFyeS4gICovCiAgCiAgc3RhdGlj IHN0cnVjdCB0eXBlICoKQEAgLTYwOCw3ICs3MDksNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRh LWxhbmcuYwogIHsKICAgIHN0cnVjdCB0eXBlICpuZXdfZWx0X3R5cGU7CiAgICBzdHJ1Y3QgdHlw ZSAqbmV3X3R5cGU7Ci1AQCAtMjI2MCw3ICsyMjYxLDcgQEAKK0BAIC0yMjUyLDcgKzIyNTMsNyBA QCBkZWNvZGVfY29uc3RyYWluZWRfcGFja2VkX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICp0eXBl KQogICAgY2hhciAqbmFtZTsKICAgIGNvbnN0IGNoYXIgKnRhaWw7CiAgICBzdHJ1Y3QgdHlwZSAq c2hhZG93X3R5cGU7CkBAIC02MTcsNyArNzE4LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1s YW5nLmMKICAKICAgIGlmICghcmF3X25hbWUpCiAgICAgIHJhd19uYW1lID0gYWRhX3R5cGVfbmFt ZSAoZGVzY19iYXNlX3R5cGUgKHR5cGUpKTsKLUBAIC0yMzMxLDcgKzIzMzIsOCBAQAorQEAgLTIz MjMsNyArMjMyNCw4IEBAIGRlY29kZV9jb25zdHJhaW5lZF9wYWNrZWRfYXJyYXkgKHN0cnVjdCB2 YWx1ZSAqYXJyKQogICAJIGFycmF5IHdpdGggbm8gd3JhcHBlci4gIEluIG9yZGVyIHRvIGludGVy cHJldCB0aGUgdmFsdWUgdGhyb3VnaAogICAJIHRoZSAobGVmdC1qdXN0aWZpZWQpIHBhY2tlZCBh cnJheSB0eXBlIHdlIGp1c3QgYnVpbHQsIHdlIG11c3QKICAgCSBmaXJzdCBsZWZ0LWp1c3RpZnkg aXQuICAqLwpAQCAtNjI3LDcgKzcyOCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5j CiAgICAgICAgVUxPTkdFU1QgbW9kOwogIAogICAgICAgIG1vZCA9IGFkYV9tb2R1bHVzICh2YWx1 ZV90eXBlIChhcnIpKSAtIDE7Ci1AQCAtMjU1OSw3ICsyNTYxLDcgQEAKK0BAIC0yNTUxLDcgKzI1 NTMsNyBAQCBhZGFfdW5wYWNrX2Zyb21fY29udGVudHMgKGNvbnN0IGdkYl9ieXRlICpzcmMsIGlu dCBiaXRfb2Zmc2V0LCBpbnQgYml0X3NpemUsCiAgCiAgc3RydWN0IHZhbHVlICoKICBhZGFfdmFs dWVfcHJpbWl0aXZlX3BhY2tlZF92YWwgKHN0cnVjdCB2YWx1ZSAqb2JqLCBjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciwKQEAgLTYzNiw3ICs3MzcsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxh bmcuYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUp CiAgewogICAgc3RydWN0IHZhbHVlICp2OwotQEAgLTI2MzAsNyArMjYzMiw3IEBACitAQCAtMjYy MSw3ICsyNjIzLDcgQEAgYWRhX3ZhbHVlX3ByaW1pdGl2ZV9wYWNrZWRfdmFsIChzdHJ1Y3QgdmFs dWUgKm9iaiwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAgCiAgICBpZiAob2JqICE9IE5VTEwp CiAgICAgIHsKQEAgLTY0NSw3ICs3NDYsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcu YwogIAogICAgICAgIHNldF92YWx1ZV9jb21wb25lbnRfbG9jYXRpb24gKHYsIG9iaik7CiAgICAg ICAgc2V0X3ZhbHVlX2JpdHBvcyAodiwgYml0X29mZnNldCArIHZhbHVlX2JpdHBvcyAob2JqKSk7 Ci1AQCAtMjY3Niw3ICsyNjc4LDcgQEAKK0BAIC0yNjY3LDcgKzI2NjksNyBAQCBhZGFfdmFsdWVf cHJpbWl0aXZlX3BhY2tlZF92YWwgKHN0cnVjdCB2YWx1ZSAqb2JqLCBjb25zdCBnZGJfYnl0ZSAq dmFsYWRkciwKICAgICBub3Qgb3ZlcmxhcC4gICovCiAgc3RhdGljIHZvaWQKICBtb3ZlX2JpdHMg KGdkYl9ieXRlICp0YXJnZXQsIGludCB0YXJnX29mZnNldCwgY29uc3QgZ2RiX2J5dGUgKnNvdXJj ZSwKQEAgLTY1NCw3ICs3NTUsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIHsK ICAgIHVuc2lnbmVkIGludCBhY2N1bSwgbWFzazsKICAgIGludCBhY2N1bV9iaXRzLCBjaHVua19z aXplOwotQEAgLTI3NjYsNyArMjc2OCw3IEBACitAQCAtMjc1Nyw3ICsyNzU5LDcgQEAgYWRhX3Zh bHVlX2Fzc2lnbiAoc3RydWN0IHZhbHVlICp0b3ZhbCwgc3RydWN0IHZhbHVlICpmcm9tdmFsKQog ICAgICB7CiAgICAgICAgaW50IGxlbiA9ICh2YWx1ZV9iaXRwb3MgKHRvdmFsKQogIAkJICsgYml0 cyArIEhPU1RfQ0hBUl9CSVQgLSAxKSAvIEhPU1RfQ0hBUl9CSVQ7CkBAIC02NjMsNyArNzY0LDcg QEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKICAgICAgICBnZGJfYnl0ZSAqYnVmZmVy ID0gKGdkYl9ieXRlICopIGFsbG9jYSAobGVuKTsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbDsK ICAgICAgICBDT1JFX0FERFIgdG9fYWRkciA9IHZhbHVlX2FkZHJlc3MgKHRvdmFsKTsKLUBAIC0y ODE3LDcgKzI4MTksNyBAQAorQEAgLTI4MDgsNyArMjgxMCw3IEBAIHZhbHVlX2Fzc2lnbl90b19j b21wb25lbnQgKHN0cnVjdCB2YWx1ZSAqY29udGFpbmVyLCBzdHJ1Y3QgdmFsdWUgKmNvbXBvbmVu dCwKICAgICAgKExPTkdFU1QpICAodmFsdWVfYWRkcmVzcyAoY29tcG9uZW50KSAtIHZhbHVlX2Fk ZHJlc3MgKGNvbnRhaW5lcikpOwogICAgaW50IGJpdF9vZmZzZXRfaW5fY29udGFpbmVyID0KICAg ICAgdmFsdWVfYml0cG9zIChjb21wb25lbnQpIC0gdmFsdWVfYml0cG9zIChjb250YWluZXIpOwpA QCAtNjcyLDcgKzc3Myw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgCiAgICB2 YWwgPSB2YWx1ZV9jYXN0ICh2YWx1ZV90eXBlIChjb21wb25lbnQpLCB2YWwpOwogIAotQEAgLTQ0 NjgsNyArNDQ3MCw3IEBACitAQCAtNDQ3Myw3ICs0NDc1LDcgQEAgZW5zdXJlX2x2YWwgKHN0cnVj dCB2YWx1ZSAqdmFsKQogICAgaWYgKFZBTFVFX0xWQUwgKHZhbCkgPT0gbm90X2x2YWwKICAgICAg ICB8fCBWQUxVRV9MVkFMICh2YWwpID09IGx2YWxfaW50ZXJuYWx2YXIpCiAgICAgIHsKQEAgLTY4 MSw3ICs3ODIsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogICAgICAgIGNvbnN0 IENPUkVfQUREUiBhZGRyID0KICAgICAgICAgIHZhbHVlX2FzX2xvbmcgKHZhbHVlX2FsbG9jYXRl X3NwYWNlX2luX2luZmVyaW9yIChsZW4pKTsKICAKLUBAIC00NTUyLDcgKzQ1NTQsNyBAQAorQEAg LTQ1NTcsNyArNDU1OSw3IEBAIHN0YXRpYyBDT1JFX0FERFIKICB2YWx1ZV9wb2ludGVyIChzdHJ1 Y3QgdmFsdWUgKnZhbHVlLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CiAgICBzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwpAQCAtNjkwLDcgKzc5MSw3IEBAIElu ZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgICBnZGJfYnl0ZSAqYnVmID0gKGdkYl9ieXRl ICopIGFsbG9jYSAobGVuKTsKICAgIENPUkVfQUREUiBhZGRyOwogIAotQEAgLTY3NTIsNyArNjc1 NCw3IEBACitAQCAtNjcwNCw3ICs2NzA2LDcgQEAgdmFsdWVfdGFnX2Zyb21fY29udGVudHNfYW5k X2FkZHJlc3MgKHN0cnVjdCB0eXBlICp0eXBlLAogIAkJCQkgICAgIGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT1JFX0FERFIg YWRkcmVzcykKICB7CkBAIC02OTksNyArODAwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1s YW5nLmMKICAgIHN0cnVjdCB0eXBlICp0YWdfdHlwZTsKICAKICAgIGlmIChmaW5kX3N0cnVjdF9m aWVsZCAoIl90YWciLCB0eXBlLCAwLCAmdGFnX3R5cGUsICZ0YWdfYnl0ZV9vZmZzZXQsCi1AQCAt NzIzMyw3ICs3MjM1LDcgQEAKK0BAIC03MTg1LDcgKzcxODcsNyBAQCBhZGFfaW5fdmFyaWFudCAo TE9OR0VTVCB2YWwsIHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZmllbGRfbnVtKQogICAgIG9ubHkg aW4gdGhhdCBpdCBjYW4gaGFuZGxlIHBhY2tlZCB2YWx1ZXMgb2YgYXJiaXRyYXJ5IHR5cGUuICAq LwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzA4LDcgKzgwOSw3IEBAIEluZGV4OiBn ZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHR5cGUgKmFyZ190eXBlKQogIHsKICAgIHN0cnVjdCB0eXBlICp0eXBlOwotQEAgLTcyNDUsNyAr NzI0Nyw3IEBACitAQCAtNzE5Nyw3ICs3MTk5LDcgQEAgYWRhX3ZhbHVlX3ByaW1pdGl2ZV9maWVs ZCAoc3RydWN0IHZhbHVlICphcmcxLCBpbnQgb2Zmc2V0LCBpbnQgZmllbGRubywKICAKICAgIGlm IChUWVBFX0ZJRUxEX0JJVFNJWkUgKGFyZ190eXBlLCBmaWVsZG5vKSAhPSAwKQogICAgICB7CkBA IC03MTcsNyArODE4LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKICAgICAgICBp bnQgYml0X3NpemUgPSBUWVBFX0ZJRUxEX0JJVFNJWkUgKGFyZ190eXBlLCBmaWVsZG5vKTsKICAK ICAgICAgICByZXR1cm4gYWRhX3ZhbHVlX3ByaW1pdGl2ZV9wYWNrZWRfdmFsIChhcmcxLCB2YWx1 ZV9jb250ZW50cyAoYXJnMSksCi1AQCAtNzI3Miw5ICs3Mjc0LDkgQEAKK0BAIC03MjI0LDkgKzcy MjYsOSBAQCBhZGFfdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKmFyZzEsIGlu dCBvZmZzZXQsIGludCBmaWVsZG5vLAogICAgIFJldHVybnMgMSBpZiBmb3VuZCwgMCBvdGhlcndp c2UuICAqLwogIAogIHN0YXRpYyBpbnQKQEAgLTcyOSw3ICs4MzAsNyBAQCBJbmRleDogZ2RiLTgu MC9nZGIvYWRhLWxhbmcuYwogIAkJICAgaW50ICppbmRleF9wKQogIHsKICAgIGludCBpOwotQEAg LTcyOTIsOCArNzI5NCw4IEBACitAQCAtNzI0NCw4ICs3MjQ2LDggQEAgZmluZF9zdHJ1Y3RfZmll bGQgKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgb2Zmc2V0LAogIAog ICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTkZJRUxEUyAodHlwZSk7IGkgKz0gMSkKICAgICAgewpA QCAtNzQwLDcgKzg0MSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgICAgICAg Y29uc3QgY2hhciAqdF9maWVsZF9uYW1lID0gVFlQRV9GSUVMRF9OQU1FICh0eXBlLCBpKTsKICAK ICAgICAgICBpZiAodF9maWVsZF9uYW1lID09IE5VTEwpCi1AQCAtNzM2Myw3ICs3MzY1LDcgQEAK K0BAIC03MzE1LDcgKzczMTcsNyBAQCBudW1fdmlzaWJsZV9maWVsZHMgKHN0cnVjdCB0eXBlICp0 eXBlKQogICAgIFNlYXJjaGVzIHJlY3Vyc2l2ZWx5IHRocm91Z2ggd3JhcHBlciBmaWVsZHMgKGUu Zy4sICdfcGFyZW50JykuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzQ5LDcg Kzg1MCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIGludCBpOwotQEAgLTczOTYsNyAr NzM5OCw3IEBACitAQCAtNzM0OCw3ICs3MzUwLDcgQEAgYWRhX3NlYXJjaF9zdHJ1Y3RfZmllbGQg KGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCB2YWx1ZSAqYXJnLCBpbnQgb2Zmc2V0LAogICAgICAg ICAgICBpbnQgajsKICAgICAgICAgICAgc3RydWN0IHR5cGUgKmZpZWxkX3R5cGUgPSBhZGFfY2hl Y2tfdHlwZWRlZiAoVFlQRV9GSUVMRF9UWVBFICh0eXBlLAogIAkJCQkJCQkJCWkpKTsKQEAgLTc1 OCw3ICs4NTksNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIAogICAgICAgICAg ICBmb3IgKGogPSAwOyBqIDwgVFlQRV9ORklFTERTIChmaWVsZF90eXBlKTsgaiArPSAxKQogICAg ICAgICAgICAgIHsKLUBAIC03NDE0LDggKzc0MTYsOCBAQAorQEAgLTczNjYsOCArNzM2OCw4IEBA IGFkYV9zZWFyY2hfc3RydWN0X2ZpZWxkIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdmFsdWUg KmFyZywgaW50IG9mZnNldCwKICAgIHJldHVybiBOVUxMOwogIH0KICAKQEAgLTc2OSw3ICs4NzAs NyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIAogIAogIC8qIFJldHVybiBmaWVs ZCAjSU5ERVggaW4gQVJHLCB3aGVyZSB0aGUgaW5kZXggaXMgdGhhdCByZXR1cm5lZCBieQotQEAg LTc0MjQsNyArNzQyNiw3IEBACitAQCAtNzM3Niw3ICs3Mzc4LDcgQEAgc3RhdGljIHN0cnVjdCB2 YWx1ZSAqYWRhX2luZGV4X3N0cnVjdF9maWVsZF8xIChpbnQgKiwgc3RydWN0IHZhbHVlICosCiAg ICogSWYgZm91bmQsIHJldHVybiB2YWx1ZSwgZWxzZSByZXR1cm4gTlVMTC4gICovCiAgCiAgc3Rh dGljIHN0cnVjdCB2YWx1ZSAqCkBAIC03NzgsNyArODc5LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2Ri L2FkYS1sYW5nLmMKICAJCQlzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CiAgICByZXR1cm4gYWRhX2lu ZGV4X3N0cnVjdF9maWVsZF8xICgmaW5kZXgsIGFyZywgb2Zmc2V0LCB0eXBlKTsKLUBAIC03NDM2 LDcgKzc0MzgsNyBAQAorQEAgLTczODgsNyArNzM5MCw3IEBAIGFkYV9pbmRleF9zdHJ1Y3RfZmll bGQgKGludCBpbmRleCwgc3RydWN0IHZhbHVlICphcmcsIGludCBvZmZzZXQsCiAgICogKklOREVY X1AuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzg3LDcgKzg4OCw3IEBAIElu ZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgCQkJICBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7 CiAgICBpbnQgaTsKLUBAIC03NTI2LDcgKzc1MjgsOCBAQAorQEAgLTc0NzgsNyArNzQ4MCw4IEBA IGFkYV92YWx1ZV9zdHJ1Y3RfZWx0IChzdHJ1Y3QgdmFsdWUgKmFyZywgY29uc3QgY2hhciAqbmFt ZSwgaW50IG5vX2VycikKICAgICAgdiA9IGFkYV9zZWFyY2hfc3RydWN0X2ZpZWxkIChuYW1lLCBh cmcsIDAsIHQpOwogICAgZWxzZQogICAgICB7CkBAIC03OTcsNyArODk4LDcgQEAgSW5kZXg6IGdk Yi04LjAvZ2RiL2FkYS1sYW5nLmMKICAgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZTsKICAg ICAgICBDT1JFX0FERFIgYWRkcmVzczsKICAKLUBAIC03ODMyLDggKzc4MzUsOCBAQAorQEAgLTc3 NjksOCArNzc3Miw4IEBAIGFkYV9jb2VyY2VfcmVmIChzdHJ1Y3QgdmFsdWUgKnZhbDApCiAgLyog UmV0dXJuIE9GRiByb3VuZGVkIHVwd2FyZCBpZiBuZWNlc3NhcnkgdG8gYSBtdWx0aXBsZSBvZgog ICAgIEFMSUdOTUVOVCAoYSBwb3dlciBvZiAyKS4gICovCiAgCkBAIC04MDgsNyArOTA5LDcgQEAg SW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKICB7CiAgICByZXR1cm4gKG9mZiArIGFsaWdu bWVudCAtIDEpICYgfihhbGlnbm1lbnQgLSAxKTsKICB9Ci1AQCAtODIyNywxMCArODIzMCw5IEBA CitAQCAtODE2NCwxMCArODE2Nyw5IEBAIGFkYV90ZW1wbGF0ZV90b19maXhlZF9yZWNvcmRfdHlw ZV8xIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgIHN0cnVjdCB2YWx1ZSAqbWFyayA9IHZhbHVlX21h cmsgKCk7CiAgICBzdHJ1Y3QgdmFsdWUgKmR2YWw7CiAgICBzdHJ1Y3QgdHlwZSAqcnR5cGU7CkBA IC04MjEsNyArOTIyLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS1sYW5nLmMKICAgIGludCBm OwogIAogICAgLyogQ29tcHV0ZSB0aGUgbnVtYmVyIG9mIGZpZWxkcyBpbiB0aGlzIHJlY29yZCB0 eXBlIHRoYXQgYXJlIGdvaW5nCi1AQCAtODMwOCw3ICs4MzEwLDcgQEAKK0BAIC04MjQ1LDcgKzgy NDcsNyBAQCBhZGFfdGVtcGxhdGVfdG9fZml4ZWRfcmVjb3JkX3R5cGVfMSAoc3RydWN0IHR5cGUg KnR5cGUsCiAgCSAgICAgdGhhdCBmb2xsb3cgdGhpcyBvbmUuICAqLwogIAkgIGlmIChhZGFfaXNf YWxpZ25lcl90eXBlIChmaWVsZF90eXBlKSkKICAJICAgIHsKQEAgLTgzMCw3ICs5MzEsNyBAQCBJ bmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuYwogIAogIAkgICAgICBmaWVsZF92YWxhZGRyID0g Y29uZF9vZmZzZXRfaG9zdCAoZmllbGRfdmFsYWRkciwgZmllbGRfb2Zmc2V0KTsKICAJICAgICAg ZmllbGRfYWRkcmVzcyA9IGNvbmRfb2Zmc2V0X3RhcmdldCAoZmllbGRfYWRkcmVzcywgZmllbGRf b2Zmc2V0KTsKLUBAIC04NDQ0LDExICs4NDQ2LDExIEBACitAQCAtODM4MSwxMSArODM4MywxMSBA QCBhZGFfdGVtcGxhdGVfdG9fZml4ZWRfcmVjb3JkX3R5cGVfMSAoc3RydWN0IHR5cGUgKnR5cGUs CiAgICBpZiAoVFlQRV9MRU5HVEggKHR5cGUpIDw9IDApCiAgICAgIHsKICAgICAgICBpZiAoVFlQ RV9OQU1FIChydHlwZSkpCkBAIC04NDYsNyArOTQ3LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2Fk YS1sYW5nLmMKICAgICAgfQogICAgZWxzZQogICAgICB7Ci1AQCAtODkxNSw3ICs4OTE3LDggQEAK K0BAIC04ODUyLDcgKzg4NTQsOCBAQCB0b19maXhlZF9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAq dHlwZTAsIHN0cnVjdCB2YWx1ZSAqZHZhbCwKICAJIHR5cGUgd2FzIGEgcmVndWxhciAobm9uLXBh Y2tlZCkgYXJyYXkgdHlwZS4gIEFzIGEgcmVzdWx0LCB0aGUKICAJIGJpdHNpemUgb2YgdGhlIGFy cmF5IGVsZW1lbnRzIG5lZWRzIHRvIGJlIHNldCBhZ2FpbiwgYW5kIHRoZSBhcnJheQogIAkgbGVu Z3RoIG5lZWRzIHRvIGJlIHJlY29tcHV0ZWQgYmFzZWQgb24gdGhhdCBiaXRzaXplLiAgKi8KQEAg LTg1NiwxMSArOTU3LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5jCiAgICAgICAg aW50IGVsdF9iaXRzaXplID0gVFlQRV9GSUVMRF9CSVRTSVpFICh0eXBlMCwgMCk7CiAgCiAgICAg ICAgVFlQRV9GSUVMRF9CSVRTSVpFIChyZXN1bHQsIDApID0gVFlQRV9GSUVMRF9CSVRTSVpFICh0 eXBlMCwgMCk7Ci1JbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuaAotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi04LjAub3JpZy9nZGIvYWRhLWxhbmcuaAkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc4Njc4MDUx MCArMDIwMAotKysrIGdkYi04LjAvZ2RiL2FkYS1sYW5nLmgJMjAxNy0wOC0xOSAyMDowNToxMC4w NTY4NzY1ODkgKzAyMDAKLUBAIC0xNjgsNyArMTY4LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvYWRh LWxhbmcuaCBiL2dkYi9hZGEtbGFuZy5oCitpbmRleCAwNTMwZTlhYWNkLi4zMjMwZGU3OTQwIDEw MDY0NAorLS0tIGEvZ2RiL2FkYS1sYW5nLmgKKysrKyBiL2dkYi9hZGEtbGFuZy5oCitAQCAtMTc0 LDcgKzE3NCw3IEBAIGV4dGVybiB2b2lkIGFkYV9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqLCBj b25zdCBjaGFyICosIHN0cnVjdCB1aV9maWxlICosIGludCwKICBleHRlcm4gdm9pZCBhZGFfcHJp bnRfdHlwZWRlZiAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBzeW1ib2wgKm5ld19zeW1ib2ws CiAgCQkJICAgICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0pOwogIApAQCAtODY5LDcgKzk3MCw3 IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hZGEtbGFuZy5oCiAgCQkJICAgc3RydWN0IHVpX2ZpbGUg KiwgaW50LAogIAkJCSAgIHN0cnVjdCB2YWx1ZSAqLAogIAkJCSAgIGNvbnN0IHN0cnVjdCB2YWx1 ZV9wcmludF9vcHRpb25zICopOwotQEAgLTE4Myw3ICsxODMsNyBAQAorQEAgLTE4OSw3ICsxODks NyBAQCBleHRlcm4gdm9pZCBhZGFfZW1pdF9jaGFyIChpbnQsIHN0cnVjdCB0eXBlICosIHN0cnVj dCB1aV9maWxlICosIGludCwgaW50KTsKICBleHRlcm4gdm9pZCBhZGFfcHJpbnRjaGFyIChpbnQs IHN0cnVjdCB0eXBlICosIHN0cnVjdCB1aV9maWxlICopOwogIAogIGV4dGVybiB2b2lkIGFkYV9w cmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKiwgc3RydWN0IHR5cGUgKiwgY29uc3QgZ2RiX2J5dGUg KiwKQEAgLTg3OCw3ICs5NzksNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLWxhbmcuaAogIAkJ CSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7CiAgCiAgc3RydWN0IHZhbHVl ICphZGFfY29udmVydF9hY3R1YWwgKHN0cnVjdCB2YWx1ZSAqYWN0dWFsLAotQEAgLTI1NSw3ICsy NTUsNyBAQAorQEAgLTI2MSw3ICsyNjEsNyBAQCBleHRlcm4gaW50IGFkYV9pc19jb25zdHJhaW5l ZF9wYWNrZWRfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUgKik7CiAgCiAgZXh0ZXJuIHN0cnVjdCB2 YWx1ZSAqYWRhX3ZhbHVlX3ByaW1pdGl2ZV9wYWNrZWRfdmFsIChzdHJ1Y3QgdmFsdWUgKiwKICAJ CQkJCQkgICAgIGNvbnN0IGdkYl9ieXRlICosCkBAIC04ODcsMTEgKzk4OCwxMSBAQCBJbmRleDog Z2RiLTguMC9nZGIvYWRhLWxhbmcuaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGUgKik7CiAgCiAgZXh0ZXJuIHN0cnVjdCB0 eXBlICphZGFfY29lcmNlX3RvX3NpbXBsZV9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKLUlu ZGV4OiBnZGItOC4wL2dkYi9hZGEtdHlwZXByaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4w Lm9yaWcvZ2RiL2FkYS10eXBlcHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc4Njc4MDUxMCAr MDIwMAotKysrIGdkYi04LjAvZ2RiL2FkYS10eXBlcHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA1OjEw LjA1Nzg3NjU5OCArMDIwMAotQEAgLTg5MSw4ICs4OTEsOCBAQAorZGlmZiAtLWdpdCBhL2dkYi9h ZGEtdHlwZXByaW50LmMgYi9nZGIvYWRhLXR5cGVwcmludC5jCitpbmRleCA5ZDIzMzAyODY1Li5l NDM3Y2YxYTBlIDEwMDY0NAorLS0tIGEvZ2RiL2FkYS10eXBlcHJpbnQuYworKysrIGIvZ2RiL2Fk YS10eXBlcHJpbnQuYworQEAgLTg5Niw4ICs4OTYsOCBAQCBhZGFfcHJpbnRfdHlwZSAoc3RydWN0 IHR5cGUgKnR5cGUwLCBjb25zdCBjaGFyICp2YXJzdHJpbmcsCiAgCSAgICBjb25zdCBjaGFyICpu YW1lID0gYWRhX3R5cGVfbmFtZSAodHlwZSk7CiAgCiAgCSAgICBpZiAoIWFkYV9pc19yYW5nZV90 eXBlX25hbWUgKG5hbWUpKQpAQCAtOTAyLDcgKzEwMDMsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIv YWRhLXR5cGVwcmludC5jCiAgCSAgICBlbHNlCiAgCSAgICAgIHsKICAJCWZwcmludGZfZmlsdGVy ZWQgKHN0cmVhbSwgInJhbmdlICIpOwotQEAgLTkxMyw3ICs5MTMsOCBAQAorQEAgLTkxOCw3ICs5 MTgsOCBAQCBhZGFfcHJpbnRfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUwLCBjb25zdCBjaGFyICp2 YXJzdHJpbmcsCiAgCSAgfQogIAlicmVhazsKICAgICAgICBjYXNlIFRZUEVfQ09ERV9GTFQ6CkBA IC05MTIsMTIgKzEwMTMsMTIgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS10eXBlcHJpbnQuYwog IAlicmVhazsKICAgICAgICBjYXNlIFRZUEVfQ09ERV9FTlVNOgogIAlpZiAoc2hvdyA8IDApCi1J bmRleDogZ2RiLTguMC9nZGIvYWRhLXZhbHByaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4w Lm9yaWcvZ2RiL2FkYS12YWxwcmludC5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuNzg3NzgwNTIwICsw MjAwCi0rKysgZ2RiLTguMC9nZGIvYWRhLXZhbHByaW50LmMJMjAxNy0wOC0xOSAyMDowNToxMC4w NTc4NzY1OTggKzAyMDAKLUBAIC0zMywxMSArMzMsMTEgQEAKLSAjaW5jbHVkZSAib2JqZmlsZXMu aCIKK2RpZmYgLS1naXQgYS9nZGIvYWRhLXZhbHByaW50LmMgYi9nZGIvYWRhLXZhbHByaW50LmMK K2luZGV4IDkxZGMzMDFhZjUuLjRhYTRkN2E3OWYgMTAwNjQ0CistLS0gYS9nZGIvYWRhLXZhbHBy aW50LmMKKysrKyBiL2dkYi9hZGEtdmFscHJpbnQuYworQEAgLTM0LDExICszNCwxMSBAQAorICNp bmNsdWRlICJ0YXJnZXQtZmxvYXQuaCIKICAKICBzdGF0aWMgaW50IHByaW50X2ZpZWxkX3ZhbHVl cyAoc3RydWN0IHR5cGUgKiwgY29uc3QgZ2RiX2J5dGUgKiwKIC0JCQkgICAgICAgaW50LApAQCAt OTMwLDcgKzEwMzEsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLXZhbHByaW50LmMKICAJCQkg ICAgICAgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gKik7CiAgDAogIAotQEAgLTI3OSw3ICsy NzksNyBAQAorQEAgLTI4MCw3ICsyODAsNyBAQCBhZGFfZW1pdF9jaGFyIChpbnQgYywgc3RydWN0 IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgICAgb2YgYSBjaGFyYWN0ZXIu ICAqLwogIAogIHN0YXRpYyBpbnQKQEAgLTkzOSw3ICsxMDQwLDcgQEAgSW5kZXg6IGdkYi04LjAv Z2RiL2FkYS12YWxwcmludC5jCiAgCSBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlcikKICB7CiAg ICBpZiAodHlwZV9sZW4gPT0gMSkKLUBAIC00MzksMTEgKzQzOSwxMSBAQAorQEAgLTQ0MCwxMSAr NDQwLDExIEBAIGFkYV9wcmludF9zY2FsYXIgKHN0cnVjdCB0eXBlICp0eXBlLCBMT05HRVNUIHZh bCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKICAKICBzdGF0aWMgdm9pZAogIHByaW50c3RyIChz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSwgY29uc3QgZ2RiX2J5 dGUgKnN0cmluZywKQEAgLTk1Myw3ICsxMDU0LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS12 YWxwcmludC5jCiAgICB1bnNpZ25lZCBpbnQgdGhpbmdzX3ByaW50ZWQgPSAwOwogICAgaW50IGlu X3F1b3RlcyA9IDA7CiAgICBpbnQgbmVlZF9jb21tYSA9IDA7Ci1AQCAtNDU4LDkgKzQ1OCw5IEBA CitAQCAtNDU5LDkgKzQ1OSw5IEBAIHByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBz dHJ1Y3QgdHlwZSAqZWx0dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywKICAgICAgewogICAg ICAgIC8qIFBvc2l0aW9uIG9mIHRoZSBjaGFyYWN0ZXIgd2UgYXJlIGV4YW1pbmluZwogICAgICAg ICAgIHRvIHNlZSB3aGV0aGVyIGl0IGlzIHJlcGVhdGVkLiAgKi8KQEAgLTk2NSw3ICsxMDY2LDcg QEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS12YWxwcmludC5jCiAgCiAgICAgICAgUVVJVDsKICAK LUBAIC00OTEsNyArNDkxLDggQEAKK0BAIC00OTIsNyArNDkyLDggQEAgcHJpbnRzdHIgKHN0cnVj dCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICplbHR0eXBlLCBjb25zdCBnZGJfYnl0ZSAq c3RyaW5nLAogIAkgIGFkYV9lbWl0X2NoYXIgKGNoYXJfYXQgKHN0cmluZywgaSwgdHlwZV9sZW4s IGJ5dGVfb3JkZXIpLAogIAkJCSBlbHR0eXBlLCBzdHJlYW0sICdcJycsIHR5cGVfbGVuKTsKICAJ ICBmcHV0c19maWx0ZXJlZCAoIiciLCBzdHJlYW0pOwpAQCAtOTc1LDcgKzEwNzYsNyBAQCBJbmRl eDogZ2RiLTguMC9nZGIvYWRhLXZhbHByaW50LmMKICAJICBpID0gcmVwMSAtIDE7CiAgCSAgdGhp bmdzX3ByaW50ZWQgKz0gb3B0aW9ucy0+cmVwZWF0X2NvdW50X3RocmVzaG9sZDsKICAJICBuZWVk X2NvbW1hID0gMTsKLUBAIC01MTksNyArNTIwLDcgQEAKK0BAIC01MjAsNyArNTIxLDcgQEAgcHJp bnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICplbHR0eXBlLCBjb25z dCBnZGJfYnl0ZSAqc3RyaW5nLAogIAogIHZvaWQKICBhZGFfcHJpbnRzdHIgKHN0cnVjdCB1aV9m aWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0eXBlLApAQCAtOTg0LDcgKzEwODUsNyBAQCBJbmRl eDogZ2RiLTguMC9nZGIvYWRhLXZhbHByaW50LmMKICAJICAgICAgY29uc3QgY2hhciAqZW5jb2Rp bmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50 X29wdGlvbnMgKm9wdGlvbnMpCiAgewotQEAgLTUyOSwxMiArNTMwLDEyIEBACitAQCAtNTMwLDEy ICs1MzEsMTIgQEAgYWRhX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3Qg dHlwZSAqdHlwZSwKICAKICBzdGF0aWMgaW50CiAgcHJpbnRfdmFyaWFudF9wYXJ0IChzdHJ1Y3Qg dHlwZSAqdHlwZSwgaW50IGZpZWxkX251bSwKQEAgLTk5OSw3ICsxMTAwLDcgQEAgSW5kZXg6IGdk Yi04LjAvZ2RiL2FkYS12YWxwcmludC5jCiAgCQkgICAgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2Rl Zm4gKmxhbmd1YWdlKQogIHsKICAgIHN0cnVjdCB0eXBlICp2YXJfdHlwZSA9IFRZUEVfRklFTERf VFlQRSAodHlwZSwgZmllbGRfbnVtKTsKLUBAIC01NzAsMTEgKzU3MSwxMSBAQAorQEAgLTU3MSwx MSArNTcyLDExIEBAIHByaW50X3ZhcmlhbnRfcGFydCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBm aWVsZF9udW0sCiAgCiAgc3RhdGljIGludAogIHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5 cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLApAQCAtMTAxMyw3ICsxMTE0LDcgQEAg SW5kZXg6IGdkYi04LjAvZ2RiL2FkYS12YWxwcmludC5jCiAgCQkgICAgY29uc3Qgc3RydWN0IGxh bmd1YWdlX2RlZm4gKmxhbmd1YWdlKQogIHsKICAgIGludCBpLCBsZW47Ci1AQCAtNjQwLDcgKzY0 MSw3IEBACitAQCAtNjQxLDcgKzY0Miw3IEBAIHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5 cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogIAkgIGVsc2UKICAJICAgIHsKICAJ ICAgICAgc3RydWN0IHZhbHVlICp2OwpAQCAtMTAyMiw3ICsxMTIzLDcgQEAgSW5kZXg6IGdkYi04 LjAvZ2RiL2FkYS12YWxwcmludC5jCiAgCSAgICAgIGludCBiaXRfc2l6ZSA9IFRZUEVfRklFTERf QklUU0laRSAodHlwZSwgaSk7CiAgCSAgICAgIHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zIG9w dHM7CiAgCi1AQCAtNjg1LDggKzY4Niw4IEBACitAQCAtNjg2LDggKzY4Nyw4IEBAIGFkYV92YWxf cHJpbnRfc3RyaW5nIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIs CiAgewogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIg KGdldF90eXBlX2FyY2ggKHR5cGUpKTsKICAgIHN0cnVjdCB0eXBlICplbHR0eXBlID0gVFlQRV9U QVJHRVRfVFlQRSAodHlwZSk7CkBAIC0xMDMzLDcgKzExMzQsNyBAQCBJbmRleDogZ2RiLTguMC9n ZGIvYWRhLXZhbHByaW50LmMKICAKICAgIC8qIFdlIGtub3cgdGhhdCBFTFRUWVBFIGNhbm5vdCBw b3NzaWJseSBiZSBudWxsLCBiZWNhdXNlIHdlIGFzc3VtZQogICAgICAgdGhhdCB3ZSdyZSBjYWxs ZWQgb25seSB3aGVuIFRZUEUgaXMgYSBzdHJpbmctbGlrZSB0eXBlLgotQEAgLTcwNSw3ICs3MDYs NyBAQAorQEAgLTcwNiw3ICs3MDcsNyBAQCBhZGFfdmFsX3ByaW50X3N0cmluZyAoc3RydWN0IHR5 cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICAgICAgZWxlbWVudHMgdXAgdG8g aXQuICAqLwogICAgaWYgKG9wdGlvbnMtPnN0b3BfcHJpbnRfYXRfbnVsbCkKICAgICAgewpAQCAt MTA0Miw3ICsxMTQzLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2FkYS12YWxwcmludC5jCiAgCiAg ICAgICAgLyogTG9vayBmb3IgYSBOVUxMIGNoYXIuICAqLwogICAgICAgIGZvciAodGVtcF9sZW4g PSAwOwotQEAgLTEwNzIsNyArMTA3Myw3IEBACitAQCAtMTA3OSw3ICsxMDgwLDcgQEAgYWRhX3Zh bF9wcmludF9yZWYgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwK ICAKICBzdGF0aWMgdm9pZAogIGFkYV92YWxfcHJpbnRfMSAoc3RydWN0IHR5cGUgKnR5cGUsCkBA IC0xMDUxLDcgKzExNTIsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYWRhLXZhbHByaW50LmMKICAJ CSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCSBzdHJ1Y3QgdmFsdWUg Km9yaWdpbmFsX3ZhbHVlLAogIAkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpv cHRpb25zLAotQEAgLTExNTYsNyArMTE1Nyw3IEBACitAQCAtMTE2Myw3ICsxMTY0LDcgQEAgYWRh X3ZhbF9wcmludF8xIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAKICB2b2lkCiAgYWRhX3ZhbF9wcmlu dCAoc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0xMDYwLDExICsxMTYxLDQwIEBAIEluZGV4OiBnZGIt OC4wL2dkYi9hZGEtdmFscHJpbnQuYwogIAkgICAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwg aW50IHJlY3Vyc2UsCiAgCSAgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJICAgICAgIGNvbnN0 IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotSW5kZXg6IGdkYi04LjAvZ2Ri L2Fubm90YXRlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2Fubm90YXRlLmMJ MjAxNy0wOC0xOSAyMDowNDo1OS43ODc3ODA1MjAgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9hbm5v dGF0ZS5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDU3ODc2NTk4ICswMjAwCi1AQCAtNTMzLDIxICs1 MzMsMjEgQEAKK2RpZmYgLS1naXQgYS9nZGIvYW1kNjQtdGRlcC5jIGIvZ2RiL2FtZDY0LXRkZXAu YworaW5kZXggODFmYmU1Mjc5NS4uNmY5OThkMjMwMyAxMDA2NDQKKy0tLSBhL2dkYi9hbWQ2NC10 ZGVwLmMKKysrKyBiL2dkYi9hbWQ2NC10ZGVwLmMKK0BAIC03MjcsNyArNzI3LDcgQEAgYW1kNjRf cmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5j dGlvbiwKKyAJCSAgICBnZGJfYnl0ZSAqcmVhZGJ1ZiwgY29uc3QgZ2RiX2J5dGUgKndyaXRlYnVm KQorIHsKKyAgIGVudW0gYW1kNjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJdOworLSAgaW50IGxlbiA9 IFRZUEVfTEVOR1RIICh0eXBlKTsKKysgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUp OworICAgc3RhdGljIGludCBpbnRlZ2VyX3JlZ251bVtdID0geyBBTUQ2NF9SQVhfUkVHTlVNLCBB TUQ2NF9SRFhfUkVHTlVNIH07CisgICBzdGF0aWMgaW50IHNzZV9yZWdudW1bXSA9IHsgQU1ENjRf WE1NMF9SRUdOVU0sIEFNRDY0X1hNTTFfUkVHTlVNIH07CisgICBpbnQgaW50ZWdlcl9yZWcgPSAw OworQEAgLTg0MywxMSArODQzLDEzIEBAIGFtZDY0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCisgCisgICAgICAgZ2RiX2Fzc2Vy dCAocmVnbnVtICE9IC0xKTsKKyAKKysgICAgICBMT05HRVNUIG5sZW4gPSBsZW4gPCA4ID8gbGVu IDogODsKKysKKyAgICAgICBpZiAocmVhZGJ1ZikKKy0JcmVnY2FjaGVfcmF3X3JlYWRfcGFydCAo cmVnY2FjaGUsIHJlZ251bSwgb2Zmc2V0LCBzdGQ6Om1pbiAobGVuLCA4KSwKKysJcmVnY2FjaGVf cmF3X3JlYWRfcGFydCAocmVnY2FjaGUsIHJlZ251bSwgb2Zmc2V0LCBubGVuLAorIAkJCQlyZWFk YnVmICsgaSAqIDgpOworICAgICAgIGlmICh3cml0ZWJ1ZikKKy0JcmVnY2FjaGVfcmF3X3dyaXRl X3BhcnQgKHJlZ2NhY2hlLCByZWdudW0sIG9mZnNldCwgc3RkOjptaW4gKGxlbiwgOCksCisrCXJl Z2NhY2hlX3Jhd193cml0ZV9wYXJ0IChyZWdjYWNoZSwgcmVnbnVtLCBvZmZzZXQsIG5sZW4sCisg CQkJCSB3cml0ZWJ1ZiArIGkgKiA4KTsKKyAgICAgfQorIAorZGlmZiAtLWdpdCBhL2dkYi9hbm5v dGF0ZS5jIGIvZ2RiL2Fubm90YXRlLmMKK2luZGV4IDZhMDJmNzMyOTkuLjRjNjA5NjcyZTAgMTAw NjQ0CistLS0gYS9nZGIvYW5ub3RhdGUuYworKysrIGIvZ2RiL2Fubm90YXRlLmMKK0BAIC01MzEs MjEgKzUzMSwyMSBAQCBhbm5vdGF0ZV9mcmFtZV9lbmQgKHZvaWQpCiAgfQogIAwKICB2b2lkCkBA IC0xMDkwLDExICsxMjIwLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9hbm5vdGF0ZS5jCiAgfQog IAogIHZvaWQKLUluZGV4OiBnZGItOC4wL2dkYi9hbm5vdGF0ZS5oCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTguMC5vcmlnL2dkYi9hbm5vdGF0ZS5oCTIwMTctMDgtMTkgMjA6MDQ6NTkuNzg4NzgwNTI5 ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvYW5ub3RhdGUuaAkyMDE3LTA4LTE5IDIwOjA1OjEwLjA1 ODg3NjYwNyArMDIwMAotQEAgLTkyLDggKzkyLDggQEAKK2RpZmYgLS1naXQgYS9nZGIvYW5ub3Rh dGUuaCBiL2dkYi9hbm5vdGF0ZS5oCitpbmRleCA4YTlhNjQxNDdkLi45MWE0YmNiZTlhIDEwMDY0 NAorLS0tIGEvZ2RiL2Fubm90YXRlLmgKKysrKyBiL2dkYi9hbm5vdGF0ZS5oCitAQCAtMTAyLDgg KzEwMiw4IEBAIGV4dGVybiB2b2lkIGFubm90YXRlX2ZyYW1lX3NvdXJjZV9lbmQgKHZvaWQpOwog IGV4dGVybiB2b2lkIGFubm90YXRlX2ZyYW1lX3doZXJlICh2b2lkKTsKICBleHRlcm4gdm9pZCBh bm5vdGF0ZV9mcmFtZV9lbmQgKHZvaWQpOwogIApAQCAtMTEwNSwxMSArMTIzNSwzNyBAQCBJbmRl eDogZ2RiLTguMC9nZGIvYW5ub3RhdGUuaAogIGV4dGVybiB2b2lkIGFubm90YXRlX2VsdF9yZXBf ZW5kICh2b2lkKTsKICBleHRlcm4gdm9pZCBhbm5vdGF0ZV9lbHQgKHZvaWQpOwogIGV4dGVybiB2 b2lkIGFubm90YXRlX2FycmF5X3NlY3Rpb25fZW5kICh2b2lkKTsKLUluZGV4OiBnZGItOC4wL2dk Yi9hcm0tbGludXgtbmF0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2FybS1s aW51eC1uYXQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc4ODc4MDUyOSArMDIwMAotKysrIGdkYi04 LjAvZ2RiL2FybS1saW51eC1uYXQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA1ODg3NjYwNyArMDIw MAotQEAgLTEwNjcsNyArMTA2Nyw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2FyY2gtdXRpbHMuYyBi L2dkYi9hcmNoLXV0aWxzLmMKK2luZGV4IDZjMGUwYjMyNzYuLmIyMjAzNDMyMmIgMTAwNjQ0Cist LS0gYS9nZGIvYXJjaC11dGlscy5jCisrKysgYi9nZGIvYXJjaC11dGlscy5jCitAQCAtMjI4LDcg KzIyOCw3IEBAIGxlZ2FjeV92aXJ0dWFsX2ZyYW1lX3BvaW50ZXIgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLAorIAorIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgorIGRlZmF1bHRfZmxvYXRm b3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorLQkJCSAgICAgIGNvbnN0 IGNoYXIgKm5hbWUsIGludCBsZW4pCisrCQkJICAgICAgY29uc3QgY2hhciAqbmFtZSwgTE9OR0VT VCBsZW4pCisgeworICAgY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqZm9ybWF0ID0gTlVMTDsK KyAKK2RpZmYgLS1naXQgYS9nZGIvYXJjaC11dGlscy5oIGIvZ2RiL2FyY2gtdXRpbHMuaAoraW5k ZXggNmQzYzM2MjllZi4uNTFhNjdlNjlmMyAxMDA2NDQKKy0tLSBhL2dkYi9hcmNoLXV0aWxzLmgK KysrKyBiL2dkYi9hcmNoLXV0aWxzLmgKK0BAIC0xMzEsNyArMTMxLDcgQEAgZXh0ZXJuIGdkYmFy Y2hfdmlydHVhbF9mcmFtZV9wb2ludGVyX2Z0eXBlIGxlZ2FjeV92aXJ0dWFsX2ZyYW1lX3BvaW50 ZXI7CisgLyogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zv cl90eXBlLiAgKi8KKyBleHRlcm4gY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqCisgICBkZWZh dWx0X2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKKy0JCQkJ Y29uc3QgY2hhciAqbmFtZSwgaW50IGxlbik7CisrCQkJCWNvbnN0IGNoYXIgKm5hbWUsIExPTkdF U1QgbGVuKTsKKyAKKyBleHRlcm4gQ09SRV9BRERSIGdlbmVyaWNfc2tpcF90cmFtcG9saW5lX2Nv ZGUgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKKyAJCQkJCSAgICAgICBDT1JFX0FERFIgcGMp OworZGlmZiAtLWdpdCBhL2dkYi9hcm0tbGludXgtbmF0LmMgYi9nZGIvYXJtLWxpbnV4LW5hdC5j CitpbmRleCBjYzdhNjdhNDAyLi5iNTczMmNiNDhlIDEwMDY0NAorLS0tIGEvZ2RiL2FybS1saW51 eC1uYXQuYworKysrIGIvZ2RiL2FybS1saW51eC1uYXQuYworQEAgLTEwNjcsNyArMTA2Nyw3IEBA IGFybV9saW51eF9yZW1vdmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYs CiAgICAgQUREUj8gICovCiAgc3RhdGljIGludAogIGFybV9saW51eF9yZWdpb25fb2tfZm9yX2h3 X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLApAQCAtMTExOCwxMSArMTI3NCwx MSBAQCBJbmRleDogZ2RiLTguMC9nZGIvYXJtLWxpbnV4LW5hdC5jCiAgewogICAgY29uc3Qgc3Ry dWN0IGFybV9saW51eF9od2JwX2NhcCAqY2FwID0gYXJtX2xpbnV4X2dldF9od2JwX2NhcCAoKTsK ICAgIENPUkVfQUREUiBtYXhfd3BfbGVuZ3RoLCBhbGlnbmVkX2FkZHI7Ci1JbmRleDogZ2RiLTgu MC9nZGIvYXgtZ2RiLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2F4LWdkYi5j CTIwMTctMDgtMTkgMjA6MDQ6NTkuNzg5NzgwNTM4ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvYXgt Z2RiLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNTk4NzY2MTcgKzAyMDAKLUBAIC04MywxMiArODMs MTIgQEAKK2RpZmYgLS1naXQgYS9nZGIvYXgtZ2RiLmMgYi9nZGIvYXgtZ2RiLmMKK2luZGV4IDUw MjdmNmE0NjQuLmMyZWY3YmFhNDggMTAwNjQ0CistLS0gYS9nZGIvYXgtZ2RiLmMKKysrKyBiL2dk Yi9heC1nZGIuYworQEAgLTgyLDEyICs4MiwxMiBAQCBzdGF0aWMgdm9pZCBnZW5fdHJhY2VkX3Bv cCAoc3RydWN0IGFnZW50X2V4cHIgKiwgc3RydWN0IGF4c192YWx1ZSAqKTsKICBzdGF0aWMgdm9p ZCBnZW5fc2lnbl9leHRlbmQgKHN0cnVjdCBhZ2VudF9leHByICosIHN0cnVjdCB0eXBlICopOwog IHN0YXRpYyB2b2lkIGdlbl9leHRlbmQgKHN0cnVjdCBhZ2VudF9leHByICosIHN0cnVjdCB0eXBl ICopOwogIHN0YXRpYyB2b2lkIGdlbl9mZXRjaCAoc3RydWN0IGFnZW50X2V4cHIgKiwgc3RydWN0 IHR5cGUgKik7CkBAIC0xMTMwLDMzICsxMjg2LDMxIEBAIEluZGV4OiBnZGItOC4wL2dkYi9heC1n ZGIuYwogK3N0YXRpYyB2b2lkIGdlbl9sZWZ0X3NoaWZ0IChzdHJ1Y3QgYWdlbnRfZXhwciAqLCBM T05HRVNUKTsKICAKICAKLSBzdGF0aWMgdm9pZCBnZW5fZnJhbWVfYXJnc19hZGRyZXNzIChzdHJ1 Y3QgZ2RiYXJjaCAqLCBzdHJ1Y3QgYWdlbnRfZXhwciAqKTsKLSBzdGF0aWMgdm9pZCBnZW5fZnJh bWVfbG9jYWxzX2FkZHJlc3MgKHN0cnVjdCBnZGJhcmNoICosIHN0cnVjdCBhZ2VudF9leHByICop OworIHN0YXRpYyB2b2lkIGdlbl9mcmFtZV9hcmdzX2FkZHJlc3MgKHN0cnVjdCBhZ2VudF9leHBy ICopOworIHN0YXRpYyB2b2lkIGdlbl9mcmFtZV9sb2NhbHNfYWRkcmVzcyAoc3RydWN0IGFnZW50 X2V4cHIgKik7CiAtc3RhdGljIHZvaWQgZ2VuX29mZnNldCAoc3RydWN0IGFnZW50X2V4cHIgKmF4 LCBpbnQgb2Zmc2V0KTsKICtzdGF0aWMgdm9pZCBnZW5fb2Zmc2V0IChzdHJ1Y3QgYWdlbnRfZXhw ciAqYXgsIExPTkdFU1Qgb2Zmc2V0KTsKICBzdGF0aWMgdm9pZCBnZW5fc3ltX29mZnNldCAoc3Ry dWN0IGFnZW50X2V4cHIgKiwgc3RydWN0IHN5bWJvbCAqKTsKLSBzdGF0aWMgdm9pZCBnZW5fdmFy X3JlZiAoc3RydWN0IGdkYmFyY2ggKiwgc3RydWN0IGFnZW50X2V4cHIgKmF4LAotIAkJCSBzdHJ1 Y3QgYXhzX3ZhbHVlICp2YWx1ZSwgc3RydWN0IHN5bWJvbCAqdmFyKTsKLUBAIC0xMzcsMTUgKzEz NywxNSBAQAotIHN0YXRpYyB2b2lkIGdlbl9hZGRyZXNzX29mIChzdHJ1Y3QgYWdlbnRfZXhwciAq LCBzdHJ1Y3QgYXhzX3ZhbHVlICopOwotIHN0YXRpYyB2b2lkIGdlbl9iaXRmaWVsZF9yZWYgKHN0 cnVjdCBleHByZXNzaW9uICpleHAsIHN0cnVjdCBhZ2VudF9leHByICpheCwKLSAJCQkgICAgICBz dHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKKyBzdGF0aWMgdm9pZCBnZW5fdmFyX3JlZiAoc3RydWN0 IGFnZW50X2V4cHIgKmF4LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKKyAJCQkgc3RydWN0IHN5 bWJvbCAqdmFyKTsKK0BAIC0xMzIsMTMgKzEzMiwxMyBAQCBzdGF0aWMgdm9pZCBnZW5fY29tcGxl bWVudCAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSk7Cisg c3RhdGljIHZvaWQgZ2VuX2RlcmVmIChzdHJ1Y3QgYXhzX3ZhbHVlICopOworIHN0YXRpYyB2b2lk IGdlbl9hZGRyZXNzX29mIChzdHJ1Y3QgYXhzX3ZhbHVlICopOworIHN0YXRpYyB2b2lkIGdlbl9i aXRmaWVsZF9yZWYgKHN0cnVjdCBhZ2VudF9leHByICpheCwgc3RydWN0IGF4c192YWx1ZSAqdmFs dWUsCiAtCQkJICAgICAgc3RydWN0IHR5cGUgKnR5cGUsIGludCBzdGFydCwgaW50IGVuZCk7CiAr CQkJICAgICAgc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1Qgc3RhcnQsIExPTkdFU1QgZW5kKTsK LSBzdGF0aWMgdm9pZCBnZW5fcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhw LAotIAkJCQkgc3RydWN0IGFnZW50X2V4cHIgKmF4LAorIHN0YXRpYyB2b2lkIGdlbl9wcmltaXRp dmVfZmllbGQgKHN0cnVjdCBhZ2VudF9leHByICpheCwKICAJCQkJIHN0cnVjdCBheHNfdmFsdWUg KnZhbHVlLAogLQkJCQkgaW50IG9mZnNldCwgaW50IGZpZWxkbm8sIHN0cnVjdCB0eXBlICp0eXBl KTsKICsJCQkJIExPTkdFU1Qgb2Zmc2V0LCBpbnQgZmllbGRubywgc3RydWN0IHR5cGUgKnR5cGUp OwotIHN0YXRpYyBpbnQgZ2VuX3N0cnVjdF9yZWZfcmVjdXJzaXZlIChzdHJ1Y3QgZXhwcmVzc2lv biAqZXhwLAotIAkJCQkgICAgIHN0cnVjdCBhZ2VudF9leHByICpheCwKKyBzdGF0aWMgaW50IGdl bl9zdHJ1Y3RfcmVmX3JlY3Vyc2l2ZSAoc3RydWN0IGFnZW50X2V4cHIgKmF4LAogIAkJCQkgICAg IHN0cnVjdCBheHNfdmFsdWUgKnZhbHVlLAogLQkJCQkgICAgIGNvbnN0IGNoYXIgKmZpZWxkLCBp bnQgb2Zmc2V0LAogKwkJCQkgICAgIGNvbnN0IGNoYXIgKmZpZWxkLCBMT05HRVNUIG9mZnNldCwK ICAJCQkJICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSk7Ci0gc3RhdGljIHZvaWQgZ2VuX3N0cnVjdF9y ZWYgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIHN0cnVjdCBhZ2VudF9leHByICpheCwKKyBzdGF0 aWMgdm9pZCBnZW5fc3RydWN0X3JlZiAoc3RydWN0IGFnZW50X2V4cHIgKmF4LAogIAkJCSAgICBz dHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKLUBAIC01NDEsNyArNTQxLDcgQEAKK0BAIC01MjksNyAr NTI5LDcgQEAgZ2VuX2ZldGNoIChzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsIHN0cnVjdCB0eXBlICp0 eXBlKQogICAgIHJpZ2h0IHNoaWZ0IGl0IGJ5IC1ESVNUQU5DRSBiaXRzIGlmIERJU1RBTkNFIDwg MC4gIFRoaXMgZ2VuZXJhdGVzCiAgICAgdW5zaWduZWQgKGxvZ2ljYWwpIHJpZ2h0IHNoaWZ0cy4g ICovCiAgc3RhdGljIHZvaWQKQEAgLTExNjUsNyArMTMxOSw3IEBAIEluZGV4OiBnZGItOC4wL2dk Yi9heC1nZGIuYwogIHsKICAgIGlmIChkaXN0YW5jZSA+IDApCiAgICAgIHsKLUBAIC01OTUsNyAr NTk1LDcgQEAKK0BAIC01ODMsNyArNTgzLDcgQEAgZ2VuX2ZyYW1lX2xvY2Fsc19hZGRyZXNzIChz dHJ1Y3QgYWdlbnRfZXhwciAqYXgpCiAgICAgcHJvZ3JhbW1pbmcgaW4gTUwsIGl0IHdvdWxkIGJl IGNsZWFyZXIgd2h5IHRoZXNlIGFyZSB0aGUgc2FtZQogICAgIHRoaW5nLiAgKi8KICBzdGF0aWMg dm9pZApAQCAtMTE3NCwxNiArMTMyOCwxNiBAQCBJbmRleDogZ2RiLTguMC9nZGIvYXgtZ2RiLmMK ICB7CiAgICAvKiBJdCB3b3VsZCBzdWZmaWNlIHRvIHNpbXBseSBwdXNoIHRoZSBvZmZzZXQgYW5k IGFkZCBpdCwgYnV0IHRoaXMKICAgICAgIG1ha2VzIGl0IGVhc2llciB0byByZWFkIHBvc2l0aXZl IGFuZCBuZWdhdGl2ZSBvZmZzZXRzIGluIHRoZQotQEAgLTEyNTEsNyArMTI1MSw3IEBACitAQCAt MTI1NCw3ICsxMjU0LDcgQEAgZ2VuX2FkZHJlc3Nfb2YgKHN0cnVjdCBheHNfdmFsdWUgKnZhbHVl KQorICAgIHN0cnVjdHVyZS4gICovCiAgc3RhdGljIHZvaWQKLSBnZW5fYml0ZmllbGRfcmVmIChz dHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsCi0gCQkgIHN0cnVj dCBheHNfdmFsdWUgKnZhbHVlLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLS0JCSAgaW50IHN0YXJ0LCBp bnQgZW5kKQotKwkJICBMT05HRVNUIHN0YXJ0LCBMT05HRVNUIGVuZCkKKyBnZW5fYml0ZmllbGRf cmVmIChzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsIHN0cnVjdCBheHNfdmFsdWUgKnZhbHVlLAorLQkJ ICBzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IHN0YXJ0LCBpbnQgZW5kKQorKwkJICBzdHJ1Y3QgdHlw ZSAqdHlwZSwgTE9OR0VTVCBzdGFydCwgTE9OR0VTVCAgZW5kKQogIHsKICAgIC8qIE5vdGUgdGhh dCBvcHNbaV0gZmV0Y2hlcyA4IDw8IGkgYml0cy4gICovCiAgICBzdGF0aWMgZW51bSBhZ2VudF9v cCBvcHNbXQotQEAgLTEyODYsMTMgKzEyODYsMTMgQEAKK0BAIC0xMjg5LDEzICsxMjg5LDEzIEBA IGdlbl9iaXRmaWVsZF9yZWYgKHN0cnVjdCBhZ2VudF9leHByICpheCwgc3RydWN0IGF4c192YWx1 ZSAqdmFsdWUsCiAgCiAgICAvKiBUaGUgZmlyc3QgYW5kIG9uZS1hZnRlci1sYXN0IGJpdHMgaW4g dGhlIGZpZWxkLCBidXQgcm91bmRlZCBkb3duCiAgICAgICBhbmQgdXAgdG8gYnl0ZSBib3VuZGFy aWVzLiAgKi8KQEAgLTEyMDIsMjkgKzEzNTYsMjkgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2F4LWdk Yi5jCiAgCiAgICAvKiBUaGUgaW5kZXggaW4gb3BzIG9mIHRoZSBvcGNvZGUgd2UncmUgY29uc2lk ZXJpbmcuICAqLwogICAgaW50IG9wOwotQEAgLTE0MTEsNyArMTQxMSw3IEBACitAQCAtMTQxMyw3 ICsxNDEzLDcgQEAgZ2VuX2JpdGZpZWxkX3JlZiAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBzdHJ1 Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKKyAKICBzdGF0aWMgdm9pZAotIGdlbl9wcmltaXRpdmVfZmll bGQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsCi0gCQkgICAgIHN0cnVjdCBhZ2VudF9leHByICph eCwgc3RydWN0IGF4c192YWx1ZSAqdmFsdWUsCisgZ2VuX3ByaW1pdGl2ZV9maWVsZCAoc3RydWN0 IGFnZW50X2V4cHIgKmF4LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKIC0JCSAgICAgaW50IG9m ZnNldCwgaW50IGZpZWxkbm8sIHN0cnVjdCB0eXBlICp0eXBlKQogKwkJICAgICBMT05HRVNUIG9m ZnNldCwgaW50IGZpZWxkbm8sIHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIC8qIElzIHRoaXMg YSBiaXRmaWVsZD8gICovCiAgICBpZiAoVFlQRV9GSUVMRF9QQUNLRUQgKHR5cGUsIGZpZWxkbm8p KQotQEAgLTE0MzYsNyArMTQzNiw3IEBACitAQCAtMTQzNyw3ICsxNDM3LDcgQEAgZ2VuX3ByaW1p dGl2ZV9maWVsZCAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1 ZSwKKyAKICBzdGF0aWMgaW50Ci0gZ2VuX3N0cnVjdF9yZWZfcmVjdXJzaXZlIChzdHJ1Y3QgZXhw cmVzc2lvbiAqZXhwLCBzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsCi0gCQkJICBzdHJ1Y3QgYXhzX3Zh bHVlICp2YWx1ZSwKKyBnZW5fc3RydWN0X3JlZl9yZWN1cnNpdmUgKHN0cnVjdCBhZ2VudF9leHBy ICpheCwgc3RydWN0IGF4c192YWx1ZSAqdmFsdWUsCiAtCQkJICBjb25zdCBjaGFyICpmaWVsZCwg aW50IG9mZnNldCwgc3RydWN0IHR5cGUgKnR5cGUpCiArCQkJICBjb25zdCBjaGFyICpmaWVsZCwg TE9OR0VTVCBvZmZzZXQsIHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIGludCBpLCByc2x0Owog ICAgaW50IG5iYXNlcyA9IFRZUEVfTl9CQVNFQ0xBU1NFUyAodHlwZSk7Ci1JbmRleDogZ2RiLTgu MC9nZGIvYXgtZ2VuZXJhbC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9heC1n ZW5lcmFsLmMJMjAxNy0wOC0xOSAyMDowNDo1OS43ODk3ODA1MzggKzAyMDAKLSsrKyBnZGItOC4w L2dkYi9heC1nZW5lcmFsLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNTk4NzY2MTcgKzAyMDAKLUBA IC0xNzcsNyArMTc3LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvYXgtZ2VuZXJhbC5jIGIvZ2RiL2F4 LWdlbmVyYWwuYworaW5kZXggZTA3YTQ2OTc5Ny4uMzUyOThkZDY4NiAxMDA2NDQKKy0tLSBhL2dk Yi9heC1nZW5lcmFsLmMKKysrKyBiL2dkYi9heC1nZW5lcmFsLmMKK0BAIC0xNzcsNyArMTc3LDcg QEAgYXhfemVyb19leHQgKHN0cnVjdCBhZ2VudF9leHByICp4LCBpbnQgbikKICAKICAvKiBBcHBl bmQgYSB0cmFjZV9xdWljayBpbnN0cnVjdGlvbiB0byBFWFBSLCB0byByZWNvcmQgTiBieXRlcy4g ICovCiAgdm9pZApAQCAtMTIzMywxMSArMTM4NywxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvYXgt Z2VuZXJhbC5jCiAgewogICAgLyogTiBtdXN0IGZpdCBpbiBhIGJ5dGUuICAqLwogICAgaWYgKG4g PCAwIHx8IG4gPiAyNTUpCi1JbmRleDogZ2RiLTguMC9nZGIvYXguaAotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi04LjAub3JpZy9nZGIvYXguaAkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc4OTc4MDUzOCArMDIw MAotKysrIGdkYi04LjAvZ2RiL2F4LmgJMjAxNy0wOC0xOSAyMDowNToxMC4wNTk4NzY2MTcgKzAy MDAKLUBAIC0yMDUsNyArMjA1LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvYXguaCBiL2dkYi9heC5o CitpbmRleCAwNjZjNWVlMjFlLi5lNDA3YjViNjY1IDEwMDY0NAorLS0tIGEvZ2RiL2F4LmgKKysr KyBiL2dkYi9heC5oCitAQCAtMTkzLDcgKzE5Myw3IEBAIGV4dGVybiB2b2lkIGF4X2V4dCAoc3Ry dWN0IGFnZW50X2V4cHIgKkVYUFIsIGludCBOKTsKICBleHRlcm4gdm9pZCBheF96ZXJvX2V4dCAo c3RydWN0IGFnZW50X2V4cHIgKkVYUFIsIGludCBOKTsKICAKICAvKiBBcHBlbmQgYSB0cmFjZV9x dWljayBpbnN0cnVjdGlvbiB0byBFWFBSLCB0byByZWNvcmQgTiBieXRlcy4gICovCkBAIC0xMjQ2 LDExICsxNDAwLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9heC5oCiAgCiAgLyogQXBwZW5kIGEg Z290byBvcCB0byBFWFBSLiAgT1AgaXMgdGhlIGFjdHVhbCBvcCAobXVzdCBiZSBhb3BfZ290byBv cgogICAgIGFvcF9pZl9nb3RvKS4gIFdlIGFzc3VtZSB3ZSBkb24ndCBrbm93IHRoZSB0YXJnZXQg b2Zmc2V0IHlldCwKLUluZGV4OiBnZGItOC4wL2dkYi9icmVha3BvaW50LmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItOC4wLm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc5 Mjc4MDU2NiArMDIwMAotKysrIGdkYi04LjAvZ2RiL2JyZWFrcG9pbnQuYwkyMDE3LTA4LTE5IDIw OjA1OjEwLjA2Mzg3NjY1NCArMDIwMAotQEAgLTIyMjUsOSArMjIyNSw5IEBACitkaWZmIC0tZ2l0 IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dkYi9icmVha3BvaW50LmMKK2luZGV4IGZiMTI5YmYzOGEu LjdmNDdhZjk0MWMgMTAwNjQ0CistLS0gYS9nZGIvYnJlYWtwb2ludC5jCisrKysgYi9nZGIvYnJl YWtwb2ludC5jCitAQCAtMjA2OCw5ICsyMDY4LDkgQEAgc2hvdWxkX2JlX2luc2VydGVkIChzdHJ1 Y3QgYnBfbG9jYXRpb24gKmJsKQogIAl7CiAgCSAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3Rk bG9nLAogIAkJCSAgICAgICJpbmZydW46IHN0ZXBwaW5nIHBhc3Qgbm9uLXN0ZXBwYWJsZSB3YXRj aHBvaW50LiAiCkBAIC0xMjYyLDE2ICsxNDE2LDE2IEBAIEluZGV4OiBnZGItOC4wL2dkYi9icmVh a3BvaW50LmMKICAJfQogICAgICAgIHJldHVybiAwOwogICAgICB9Ci1AQCAtNzE1MSw3ICs3MTUx LDcgQEAKLSAKK0BAIC02ODY2LDcgKzY4NjYsNyBAQCBicmVha3BvaW50X2FkZHJlc3NfbWF0Y2gg KGNvbnN0IGFkZHJlc3Nfc3BhY2UgKmFzcGFjZTEsIENPUkVfQUREUiBhZGRyMSwKICBzdGF0aWMg aW50Ci0gYnJlYWtwb2ludF9hZGRyZXNzX21hdGNoX3JhbmdlIChzdHJ1Y3QgYWRkcmVzc19zcGFj ZSAqYXNwYWNlMSwgQ09SRV9BRERSIGFkZHIxLAotLQkJCQlpbnQgbGVuMSwgc3RydWN0IGFkZHJl c3Nfc3BhY2UgKmFzcGFjZTIsCi0rCQkJCUxPTkdFU1QgbGVuMSwgc3RydWN0IGFkZHJlc3Nfc3Bh Y2UgKmFzcGFjZTIsCisgYnJlYWtwb2ludF9hZGRyZXNzX21hdGNoX3JhbmdlIChjb25zdCBhZGRy ZXNzX3NwYWNlICphc3BhY2UxLAorIAkJCQlDT1JFX0FERFIgYWRkcjEsCistCQkJCWludCBsZW4x LCBjb25zdCBhZGRyZXNzX3NwYWNlICphc3BhY2UyLAorKwkJCQlMT05HRVNUIGxlbjEsIGNvbnN0 IGFkZHJlc3Nfc3BhY2UgKmFzcGFjZTIsCiAgCQkJCUNPUkVfQUREUiBhZGRyMikKICB7CiAgICBy ZXR1cm4gKChnZGJhcmNoX2hhc19nbG9iYWxfYnJlYWtwb2ludHMgKHRhcmdldF9nZGJhcmNoICgp KQotQEAgLTExNDQ0LDcgKzExNDQ0LDcgQEAKK0BAIC0xMDk5Myw3ICsxMDk5Myw3IEBAIGNhbl91 c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCAoc3RydWN0IHZhbHVlICp2KQogIAkJICAgICAgJiYgVFlQ RV9DT0RFICh2dHlwZSkgIT0gVFlQRV9DT0RFX0FSUkFZKSkKICAJCXsKICAJCSAgQ09SRV9BRERS IHZhZGRyID0gdmFsdWVfYWRkcmVzcyAodik7CkBAIC0xMjgwLDExICsxNDM0LDExIEBAIEluZGV4 OiBnZGItOC4wL2dkYi9icmVha3BvaW50LmMKICAJCSAgaW50IG51bV9yZWdzOwogIAogIAkJICBs ZW4gPSAodGFyZ2V0X2V4YWN0X3dhdGNocG9pbnRzCi1JbmRleDogZ2RiLTguMC9nZGIvYnJlYWtw b2ludC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9icmVha3BvaW50LmgJMjAx Ny0wOC0xOSAyMDowNDo1OS43OTM3ODA1NzYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9icmVha3Bv aW50LmgJMjAxNy0wOC0xOSAyMDowNToxMC4wNjM4NzY2NTQgKzAyMDAKLUBAIC0yNTAsNyArMjUw LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvYnJlYWtwb2ludC5oIGIvZ2RiL2JyZWFrcG9pbnQuaAor aW5kZXggZWVkMmM5NjhmMi4uNDhlMjhhOGZlYyAxMDA2NDQKKy0tLSBhL2dkYi9icmVha3BvaW50 LmgKKysrKyBiL2dkYi9icmVha3BvaW50LmgKK0BAIC0yNTIsNyArMjUyLDcgQEAgc3RydWN0IGJw X3RhcmdldF9pbmZvCiAgCiAgICAvKiBJZiB0aGlzIGlzIGEgcmFuZ2VkIGJyZWFrcG9pbnQsIHRo ZW4gdGhpcyBmaWVsZCBjb250YWlucyB0aGUKICAgICAgIGxlbmd0aCBvZiB0aGUgcmFuZ2UgdGhh dCB3aWxsIGJlIHdhdGNoZWQgZm9yIGV4ZWN1dGlvbi4gICovCkBAIC0xMjkzLDIwICsxNDQ3LDIw IEBAIEluZGV4OiBnZGItOC4wL2dkYi9icmVha3BvaW50LmgKICAKICAgIC8qIElmIHRoZSBicmVh a3BvaW50IGxpdmVzIGluIG1lbW9yeSBhbmQgcmVhZGluZyB0aGF0IG1lbW9yeSB3b3VsZAogICAg ICAgZ2l2ZSBiYWNrIHRoZSBicmVha3BvaW50LCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBjb250 ZW50cywgdGhlbgotQEAgLTQyMiw3ICs0MjIsNyBAQAorQEAgLTQyOSw3ICs0MjksNyBAQCBwdWJs aWM6CiAgICAvKiBGb3IgaGFyZHdhcmUgd2F0Y2hwb2ludHMsIHRoZSBzaXplIG9mIHRoZSBtZW1v cnkgcmVnaW9uIGJlaW5nCiAgICAgICB3YXRjaGVkLiAgRm9yIGhhcmR3YXJlIHJhbmdlZCBicmVh a3BvaW50cywgdGhlIHNpemUgb2YgdGhlCiAgICAgICBicmVha3BvaW50IHJhbmdlLiAgKi8KLS0g IGludCBsZW5ndGg7Ci0rICBMT05HRVNUIGxlbmd0aDsKKy0gIGludCBsZW5ndGggPSAwOworKyAg TE9OR0VTVCBsZW5ndGggPSAwOwogIAogICAgLyogVHlwZSBvZiBoYXJkd2FyZSB3YXRjaHBvaW50 LiAgKi8KLSAgIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgd2F0Y2hwb2ludF90eXBlOwotSW5kZXg6 IGdkYi04LjAvZ2RiL2MtbGFuZy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9j LWxhbmcuYwkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc5Mzc4MDU3NiArMDIwMAotKysrIGdkYi04LjAv Z2RiL2MtbGFuZy5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDY0ODc2NjYzICswMjAwCi1AQCAtMTg2 LDcgKzE4Niw3IEBACisgICB0YXJnZXRfaHdfYnBfdHlwZSB3YXRjaHBvaW50X3R5cGUge307Citk aWZmIC0tZ2l0IGEvZ2RiL2MtbGFuZy5jIGIvZ2RiL2MtbGFuZy5jCitpbmRleCA4ZDk2Zjk0Y2Ji Li5lYzk1NmY0NWMyIDEwMDY0NAorLS0tIGEvZ2RiL2MtbGFuZy5jCisrKysgYi9nZGIvYy1sYW5n LmMKK0BAIC0xODQsNyArMTg0LDcgQEAgY19wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAq dHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKICAKICB2b2lkCiAgY19wcmludHN0ciAoc3Ry dWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5cGUgKnR5cGUsIApAQCAtMTMxNSw3ICsxNDY5 LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2MtbGFuZy5jCiAgCSAgICBjb25zdCBjaGFyICp1c2Vy X2VuY29kaW5nLCBpbnQgZm9yY2VfZWxsaXBzZXMsCiAgCSAgICBjb25zdCBzdHJ1Y3QgdmFsdWVf cHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKICB7Ci1AQCAtNjcyLDcgKzY3Miw3IEBACitAQCAtNjY2 LDcgKzY2Niw3IEBAIGV2YWx1YXRlX3N1YmV4cF9jIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUs IHN0cnVjdCBleHByZXNzaW9uICpleHAsCiAgCSAgfQogIAllbHNlCiAgCSAgewpAQCAtMTMyNCw3 ICsxNDc4LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2MtbGFuZy5jCiAgCiAgCSAgICAvKiBXcml0 ZSB0aGUgdGVybWluYXRpbmcgY2hhcmFjdGVyLiAgKi8KICAJICAgIGZvciAoaSA9IDA7IGkgPCBU WVBFX0xFTkdUSCAodHlwZSk7ICsraSkKLUBAIC02ODEsNyArNjgxLDcgQEAKK0BAIC02NzUsNyAr Njc1LDcgQEAgZXZhbHVhdGVfc3ViZXhwX2MgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwgc3Ry dWN0IGV4cHJlc3Npb24gKmV4cCwKICAJICAgIGlmIChzYXRpc2Z5X2V4cGVjdGVkKQogIAkgICAg ICB7CiAgCQlMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZDsKQEAgLTEzMzMsMTEgKzE0ODcs MTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2MtbGFuZy5jCiAgCiAgCQlpZiAoZ2V0X2Rpc2NyZXRl X2JvdW5kcyAoVFlQRV9JTkRFWF9UWVBFIChleHBlY3RfdHlwZSksCiAgCQkJCQkgJmxvd19ib3Vu ZCwgJmhpZ2hfYm91bmQpIDwgMCkKLUluZGV4OiBnZGItOC4wL2dkYi9jLWxhbmcuaAotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvYy1sYW5nLmgJMjAxNy0wOC0xOSAyMDowNDo1OS43 OTM3ODA1NzYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9jLWxhbmcuaAkyMDE3LTA4LTE5IDIwOjA1 OjEwLjA2NDg3NjY2MyArMDIwMAotQEAgLTc3LDcgKzc3LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIv Yy1sYW5nLmggYi9nZGIvYy1sYW5nLmgKK2luZGV4IDVjZTY0ODYxYzQuLjdiODUxODgwYjcgMTAw NjQ0CistLS0gYS9nZGIvYy1sYW5nLmgKKysrKyBiL2dkYi9jLWxhbmcuaAorQEAgLTc3LDcgKzc3 LDcgQEAgZXh0ZXJuIHZvaWQgY19wcmludF90eXBlZGVmIChzdHJ1Y3QgdHlwZSAqLAogIAkJCSAg ICAgc3RydWN0IHVpX2ZpbGUgKik7CiAgCiAgZXh0ZXJuIHZvaWQgY192YWxfcHJpbnQgKHN0cnVj dCB0eXBlICosCkBAIC0xMzQ2LDcgKzE1MDAsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYy1sYW5n LmgKICAJCQkgc3RydWN0IHVpX2ZpbGUgKiwgaW50LAogIAkJCSBzdHJ1Y3QgdmFsdWUgKiwKICAJ CQkgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7Ci1AQCAtOTcsNyArOTcsNyBA QAorQEAgLTk3LDcgKzk3LDcgQEAgZXh0ZXJuIHZvaWQgY19wcmludGNoYXIgKGludCwgc3RydWN0 IHR5cGUgKiwgc3RydWN0IHVpX2ZpbGUgKik7CiAgZXh0ZXJuIHZvaWQgY19wcmludHN0ciAoc3Ry dWN0IHVpX2ZpbGUgKiBzdHJlYW0sCiAgCQkJc3RydWN0IHR5cGUgKmVsdHR5cGUsCiAgCQkJY29u c3QgZ2RiX2J5dGUgKnN0cmluZywKQEAgLTEzNTUsMTEgKzE1MDksMTEgQEAgSW5kZXg6IGdkYi04 LjAvZ2RiL2MtbGFuZy5oCiAgCQkJY29uc3QgY2hhciAqdXNlcl9lbmNvZGluZywKICAJCQlpbnQg Zm9yY2VfZWxsaXBzZXMsCiAgCQkJY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9w dGlvbnMpOwotSW5kZXg6IGdkYi04LjAvZ2RiL2MtdmFscHJpbnQuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi04LjAub3JpZy9nZGIvYy12YWxwcmludC5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuNzk0Nzgw NTg1ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvYy12YWxwcmludC5jCTIwMTctMDgtMTkgMjA6MDU6 MTAuMDY0ODc2NjYzICswMjAwCi1AQCAtMjQ0LDcgKzI0NCw3IEBACitkaWZmIC0tZ2l0IGEvZ2Ri L2MtdmFscHJpbnQuYyBiL2dkYi9jLXZhbHByaW50LmMKK2luZGV4IDk2ZTZjNTk3Y2YuLjA0NjQ2 OWQ3YTQgMTAwNjQ0CistLS0gYS9nZGIvYy12YWxwcmludC5jCisrKysgYi9nZGIvYy12YWxwcmlu dC5jCitAQCAtMjQ0LDcgKzI0NCw3IEBAIGNfdmFsX3ByaW50X2FycmF5IChzdHJ1Y3QgdHlwZSAq dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAgICBpZiAoVFlQRV9MRU5HVEggKHR5cGUp ID4gMCAmJiBUWVBFX0xFTkdUSCAodW5yZXNvbHZlZF9lbHR0eXBlKSA+IDApCiAgICAgIHsKICAg ICAgICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZDsKQEAgLTEzNjgsNyArMTUyMiw3IEBA IEluZGV4OiBnZGItOC4wL2dkYi9jLXZhbHByaW50LmMKICAgICAgICBzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwogICAgICAgIGVudW0gYmZkX2VuZGlhbiBi eXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgICAgICB1bnNpZ25l ZCBpbnQgaSA9IDA7CS8qIE51bWJlciBvZiBjaGFyYWN0ZXJzIHByaW50ZWQuICAqLwotQEAgLTMx OCw4ICszMTgsOCBAQAorQEAgLTMxOCw4ICszMTgsOCBAQCBjX3ZhbF9wcmludF9hcnJheSAoc3Ry dWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogIAkgIGlmIChjcF9pc192 dGJsX3B0cl90eXBlIChlbHR0eXBlKSkKICAJICAgIHsKICAJICAgICAgaSA9IDE7CkBAIC0xMzc5 LDcgKzE1MzMsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvYy12YWxwcmludC5jCiAgCSAgICB9CiAg CSAgZWxzZQogIAkgICAgewotQEAgLTM5Niw3ICszOTYsNyBAQAorQEAgLTM5Niw3ICszOTYsNyBA QCBjX3ZhbF9wcmludF9zdHJ1Y3QgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAq dmFsYWRkciwKICAJIC1mdnRhYmxlX3RodW5rcy4gIChPdGhlcndpc2UsIGxvb2sgdW5kZXIKICAJ IFRZUEVfQ09ERV9QVFIuKSAgKi8KICAgICAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdl dF90eXBlX2FyY2ggKHR5cGUpOwpAQCAtMTM4OCw3ICsxNTQyLDcgQEAgSW5kZXg6IGdkYi04LjAv Z2RiL2MtdmFscHJpbnQuYwogIAkJICAgICsgVFlQRV9GSUVMRF9CSVRQT1MgKHR5cGUsCiAgCQkJ CQkgVlRCTF9GTkFERFJfT0ZGU0VUKSAvIDgpOwogICAgICAgIHN0cnVjdCB0eXBlICpmaWVsZF90 eXBlID0gVFlQRV9GSUVMRF9UWVBFICh0eXBlLCBWVEJMX0ZOQUREUl9PRkZTRVQpOwotQEAgLTQ5 NSw3ICs0OTUsNyBAQAorQEAgLTQ5NSw3ICs0OTUsNyBAQCBjX3ZhbF9wcmludF9tZW1iZXJwdHIg KHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAKICB2b2lkCiAg Y192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLApAQCAtMTM5NywxMSArMTU1MSwyOSBAQCBJ bmRleDogZ2RiLTguMC9nZGIvYy12YWxwcmludC5jCiAgCSAgICAgc3RydWN0IHVpX2ZpbGUgKnN0 cmVhbSwgaW50IHJlY3Vyc2UsCiAgCSAgICAgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwK ICAJICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUluZGV4 OiBnZGItOC4wL2dkYi9jcC1hYmkuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIv Y3AtYWJpLmMJMjAxNy0wOC0xOSAyMDowNDo1OS43OTQ3ODA1ODUgKzAyMDAKLSsrKyBnZGItOC4w L2dkYi9jcC1hYmkuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA2NTg3NjY3MyArMDIwMAotQEAgLTY0 LDEyICs2NCwxMiBAQAorZGlmZiAtLWdpdCBhL2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0 LmMgYi9nZGIvY29tcGlsZS9jb21waWxlLWMtc3VwcG9ydC5jCitpbmRleCA2Zjc1OWFiYjU0Li4x NGZjZWMzNGFjIDEwMDY0NAorLS0tIGEvZ2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYwor KysrIGIvZ2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYworQEAgLTMwNywxMSArMzA3LDEx IEBAIGdlbmVyYXRlX3JlZ2lzdGVyX3N0cnVjdCAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsCisgCisgCSAgICAgIGRlZmF1bHQ6CisgCQlmcHJpbnRmX3Vu ZmlsdGVyZWQgKHN0cmVhbSwKKy0JCQkJICAgICIgIHVuc2lnbmVkIGNoYXIgJXNbJWRdIgorKwkJ CQkgICAgIiAgdW5zaWduZWQgY2hhciAlc1slc10iCisgCQkJCSAgICAiIF9fYXR0cmlidXRlX18o KF9fYWxpZ25lZF9fKCIKKyAJCQkJICAgICJfX0JJR0dFU1RfQUxJR05NRU5UX18pKSkiLAorIAkJ CQkgICAgcmVnbmFtZS5jX3N0ciAoKSwKKy0JCQkJICAgIFRZUEVfTEVOR1RIIChyZWd0eXBlKSk7 CisrCQkJCSAgICBwdWxvbmdlc3QgKFRZUEVfTEVOR1RIIChyZWd0eXBlKSkpOworIAkgICAgICB9 CisgCSAgICBmcHV0c191bmZpbHRlcmVkICgiO1xuIiwgc3RyZWFtKTsKKyAJICB9CitkaWZmIC0t Z2l0IGEvZ2RiL2NwLWFiaS5jIGIvZ2RiL2NwLWFiaS5jCitpbmRleCAxMWI4NDI0ODU2Li4xOTlj ZGFjMjZlIDEwMDY0NAorLS0tIGEvZ2RiL2NwLWFiaS5jCisrKysgYi9nZGIvY3AtYWJpLmMKK0BA IC02NCwxMiArNjQsMTIgQEAgaXNfb3BlcmF0b3JfbmFtZSAoY29uc3QgY2hhciAqbmFtZSkKICAg IHJldHVybiAoKmN1cnJlbnRfY3BfYWJpLmlzX29wZXJhdG9yX25hbWUpIChuYW1lKTsKICB9CiAg CkBAIC0xNDE2LDcgKzE1ODgsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvY3AtYWJpLmMKICAKICAg IGdkYl9hc3NlcnQgKGN1cnJlbnRfY3BfYWJpLmJhc2VjbGFzc19vZmZzZXQgIT0gTlVMTCk7CiAg Ci1AQCAtOTYsNyArOTYsNyBAQAorQEAgLTk2LDcgKzk2LDcgQEAgYmFzZWNsYXNzX29mZnNldCAo c3RydWN0IHR5cGUgKnR5cGUsIGludCBpbmRleCwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAg c3RydWN0IHZhbHVlICoKICB2YWx1ZV92aXJ0dWFsX2ZuX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKiph cmcxcCwKICAJCQlzdHJ1Y3QgZm5fZmllbGQgKmYsIGludCBqLApAQCAtMTQyNSwxMSArMTU5Nywx MSBAQCBJbmRleDogZ2RiLTguMC9nZGIvY3AtYWJpLmMKICB7CiAgICBpZiAoKGN1cnJlbnRfY3Bf YWJpLnZpcnR1YWxfZm5fZmllbGQpID09IE5VTEwpCiAgICAgIHJldHVybiBOVUxMOwotSW5kZXg6 IGdkYi04LjAvZ2RiL2NwLWFiaS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9j cC1hYmkuaAkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc5NDc4MDU4NSArMDIwMAotKysrIGdkYi04LjAv Z2RiL2NwLWFiaS5oCTIwMTctMDgtMTkgMjA6MDU6MTAuMDY1ODc2NjczICswMjAwCi1AQCAtMTA4 LDcgKzEwOCw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2NwLWFiaS5oIGIvZ2RiL2NwLWFiaS5oCitp bmRleCA2YjgyZWFjZDAxLi4xNTRjNGM4M2IxIDEwMDY0NAorLS0tIGEvZ2RiL2NwLWFiaS5oCisr KysgYi9nZGIvY3AtYWJpLmgKK0BAIC0xMDgsNyArMTA4LDcgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1 ZSAqdmFsdWVfdmlydHVhbF9mbl9maWVsZCAoc3RydWN0IHZhbHVlICoqdmFsdWVwLAogIAkJCQkJ ICAgICBzdHJ1Y3QgZm5fZmllbGQgKmYsCiAgCQkJCQkgICAgIGludCBqLAogIAkJCQkJICAgICBz dHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTE0MzgsNyArMTYxMCw3IEBAIEluZGV4OiBnZGItOC4wL2dk Yi9jcC1hYmkuaAogIAogIAogIC8qIFRyeSB0byBmaW5kIHRoZSBydW4tdGltZSB0eXBlIG9mIFZB TFVFLCB1c2luZyBDKysgcnVuLXRpbWUgdHlwZQotQEAgLTE0NCwxMSArMTQ0LDExIEBACitAQCAt MTQ0LDExICsxNDQsMTEgQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICp2YWx1ZV9ydHRpX3R5cGUgKHN0 cnVjdCB2YWx1ZSAqdmFsdWUsCiAgICAgY29udGVudHMgb2YgVkFMLiAgVGhlIHJlc3VsdCBpcyB0 aGUgb2Zmc2V0IG9mIHRoZSBiYXNlY2xhc3MgdmFsdWUKICAgICByZWxhdGl2ZSB0byAodGhlIGFk ZHJlc3Mgb2YpKEFSRykgKyBPRkZTRVQuICAqLwogIApAQCAtMTQ1NSw3ICsxNjI3LDcgQEAgSW5k ZXg6IGdkYi04LjAvZ2RiL2NwLWFiaS5oCiAgCiAgLyogRGVzY3JpYmUgdGhlIHRhcmdldCBvZiBh IHBvaW50ZXIgdG8gbWV0aG9kLiAgQ09OVEVOVFMgaXMgdGhlIGJ5dGUKICAgICBwYXR0ZXJuIHJl cHJlc2VudGluZyB0aGUgcG9pbnRlciB0byBtZXRob2QuICBUWVBFIGlzIHRoZSBwb2ludGVyIHRv Ci1AQCAtMjI2LDEyICsyMjYsMTIgQEAKK0BAIC0yMjYsMTIgKzIyNiwxMiBAQCBzdHJ1Y3QgY3Bf YWJpX29wcwogICAgc3RydWN0IHZhbHVlICooKnZpcnR1YWxfZm5fZmllbGQpIChzdHJ1Y3QgdmFs dWUgKiphcmcxcCwKICAJCQkJICAgICBzdHJ1Y3QgZm5fZmllbGQgKiBmLAogIAkJCQkgICAgIGlu dCBqLCBzdHJ1Y3QgdHlwZSAqIHR5cGUsCkBAIC0xNDcyLDExICsxNjQ0LDExIEBAIEluZGV4OiBn ZGItOC4wL2dkYi9jcC1hYmkuaAogICAgdm9pZCAoKnByaW50X21ldGhvZF9wdHIpIChjb25zdCBn ZGJfYnl0ZSAqY29udGVudHMsCiAgCQkJICAgIHN0cnVjdCB0eXBlICp0eXBlLAogIAkJCSAgICBz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKTsKLUluZGV4OiBnZGItOC4wL2dkYi9jcC12YWxwcmludC5j Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9jcC12YWxwcmludC5jCTIwMTctMDgt MTkgMjA6MDQ6NTkuNzk0NzgwNTg1ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvY3AtdmFscHJpbnQu YwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA2NTg3NjY3MyArMDIwMAotQEAgLTMzNiw3ICszMzYsNyBA QAorZGlmZiAtLWdpdCBhL2dkYi9jcC12YWxwcmludC5jIGIvZ2RiL2NwLXZhbHByaW50LmMKK2lu ZGV4IDYwOWRhYmI2NjAuLjM4YmViNGQ2MmEgMTAwNjQ0CistLS0gYS9nZGIvY3AtdmFscHJpbnQu YworKysrIGIvZ2RiL2NwLXZhbHByaW50LmMKK0BAIC0zMzUsNyArMzM1LDcgQEAgY3BfcHJpbnRf dmFsdWVfZmllbGRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHR5cGUgKnJlYWxfdHlwZSwK ICAJCX0KICAJICAgICAgZWxzZSBpZiAoaSA9PSB2cHRyX2ZpZWxkbm8gJiYgdHlwZSA9PSB2cHRy X2Jhc2V0eXBlKQogIAkJewpAQCAtMTQ4NSwxMSArMTY1NywxMSBAQCBJbmRleDogZ2RiLTguMC9n ZGIvY3AtdmFscHJpbnQuYwogIAkJICBzdHJ1Y3QgdHlwZSAqaV90eXBlID0gVFlQRV9GSUVMRF9U WVBFICh0eXBlLCBpKTsKICAKICAJCSAgaWYgKHZhbHByaW50X2NoZWNrX3ZhbGlkaXR5IChzdHJl YW0sIGlfdHlwZSwgaV9vZmZzZXQsIHZhbCkpCi1JbmRleDogZ2RiLTguMC9nZGIvZC1sYW5nLmgK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2QtbGFuZy5oCTIwMTctMDgtMTkgMjA6 MDQ6NTkuNzk0NzgwNTg1ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvZC1sYW5nLmgJMjAxNy0wOC0x OSAyMDowNToxMC4wNjU4NzY2NzMgKzAyMDAKLUBAIC04MSw3ICs4MSw3IEBACitkaWZmIC0tZ2l0 IGEvZ2RiL2QtbGFuZy5oIGIvZ2RiL2QtbGFuZy5oCitpbmRleCBmNDcwNTBhYTMwLi42OWQ0ODI5 ZGU2IDEwMDY0NAorLS0tIGEvZ2RiL2QtbGFuZy5oCisrKysgYi9nZGIvZC1sYW5nLmgKK0BAIC04 MSw3ICs4MSw3IEBAIGV4dGVybiBzdHJ1Y3QgYmxvY2tfc3ltYm9sIGRfbG9va3VwX25lc3RlZF9z eW1ib2wgKHN0cnVjdCB0eXBlICosIGNvbnN0IGNoYXIgKiwKICAvKiBEZWZpbmVkIGluIGQtdmFs cHJpbnQuYyAgKi8KICAKICBleHRlcm4gdm9pZCBkX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5 cGUsCkBAIC0xNDk4LDExICsxNjcwLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9kLWxhbmcuaAog IAkJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCQkgc3RydWN0IHZh bHVlICp2YWwsCiAgCQkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25z KTsKLUluZGV4OiBnZGItOC4wL2dkYi9kLXZhbHByaW50LmMKLT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt OC4wLm9yaWcvZ2RiL2QtdmFscHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc5NDc4MDU4NSAr MDIwMAotKysrIGdkYi04LjAvZ2RiL2QtdmFscHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA2 NTg3NjY3MyArMDIwMAotQEAgLTczLDcgKzczLDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvZC12YWxw cmludC5jIGIvZ2RiL2QtdmFscHJpbnQuYworaW5kZXggOWUxOGIyMmZmMS4uNDg3NzBiNjVhOCAx MDA2NDQKKy0tLSBhL2dkYi9kLXZhbHByaW50LmMKKysrKyBiL2dkYi9kLXZhbHByaW50LmMKK0BA IC03Myw3ICs3Myw3IEBAIGR5bmFtaWNfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsCiAg CiAgLyogSW1wbGVtZW50cyB0aGUgbGFfdmFsX3ByaW50IHJvdXRpbmUgZm9yIGxhbmd1YWdlIEQu ICAqLwogIHZvaWQKQEAgLTE1MTEsMTIgKzE2ODMsMTIgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2Qt dmFscHJpbnQuYwogICAgICAgICAgICAgICBDT1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHVpX2Zp bGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgCSAgICAgc3RydWN0IHZhbHVlICp2YWwsCiAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotSW5k ZXg6IGdkYi04LjAvZ2RiL2R3YXJmMmxvYy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmln L2dkYi9kd2FyZjJsb2MuYwkyMDE3LTA4LTE5IDIwOjA0OjU5Ljc5Njc4MDYwNCArMDIwMAotKysr IGdkYi04LjAvZ2RiL2R3YXJmMmxvYy5jCTIwMTctMDgtMTkgMjA6MDc6MDAuNjkyOTExNjA1ICsw MjAwCi1AQCAtMTgyNiw3ICsxODI2LDcgQEAKLSAgIGZvciAoOyBpIDwgYy0+bl9waWVjZXMgJiYg b2Zmc2V0IDwgbWF4X29mZnNldDsgaSsrKQorZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJsb2MuYyBi L2dkYi9kd2FyZjJsb2MuYworaW5kZXggZDI3NDJiYmQ5MS4uZDQwYTUyYzRlMCAxMDA2NDQKKy0t LSBhL2dkYi9kd2FyZjJsb2MuYworKysrIGIvZ2RiL2R3YXJmMmxvYy5jCitAQCAtMTgxOCw3ICsx ODE4LDcgQEAgcndfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYsIHN0cnVjdCB2YWx1ZSAq ZnJvbSkKKyAgIGZvciAoOyBpIDwgYy0+cGllY2VzLnNpemUgKCkgJiYgb2Zmc2V0IDwgbWF4X29m ZnNldDsgaSsrKQogICAgICB7CiAgICAgICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAm Yy0+cGllY2VzW2ldOwogLSAgICAgIHNpemVfdCB0aGlzX3NpemVfYml0cywgdGhpc19zaXplOwpA QCAtMTUyNCw3ICsxNjk2LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2R3YXJmMmxvYy5jCiAgCiAg ICAgICAgdGhpc19zaXplX2JpdHMgPSBwLT5zaXplIC0gYml0c190b19za2lwOwogICAgICAgIGlm ICh0aGlzX3NpemVfYml0cyA+IG1heF9vZmZzZXQgLSBvZmZzZXQpCi1AQCAtMjA3Myw3ICsyMDcz LDcgQEAKK0BAIC0yMDY1LDcgKzIwNjUsNyBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2 YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkKICAKICBzdGF0aWMgaW50CiAgY2hlY2tfcGll Y2VkX3N5bnRoZXRpY19wb2ludGVyIChjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBMT05HRVNU IGJpdF9vZmZzZXQsCkBAIC0xNTMzLDggKzE3MDUsOCBAQCBJbmRleDogZ2RiLTguMC9nZGIvZHdh cmYybG9jLmMKICB7CiAgICBzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqYwogICAgICA9IChzdHJ1Y3Qg cGllY2VfY2xvc3VyZSAqKSB2YWx1ZV9jb21wdXRlZF9jbG9zdXJlICh2YWx1ZSk7Ci1AQCAtMjA4 Niw3ICsyMDg2LDcgQEAKLSAgIGZvciAoaSA9IDA7IGkgPCBjLT5uX3BpZWNlcyAmJiBiaXRfbGVu Z3RoID4gMDsgaSsrKQorQEAgLTIwNzgsNyArMjA3OCw3IEBAIGNoZWNrX3BpZWNlZF9zeW50aGV0 aWNfcG9pbnRlciAoY29uc3Qgc3RydWN0IHZhbHVlICp2YWx1ZSwgTE9OR0VTVCBiaXRfb2Zmc2V0 LAorICAgZm9yIChpID0gMDsgaSA8IGMtPnBpZWNlcy5zaXplICgpICYmIGJpdF9sZW5ndGggPiAw OyBpKyspCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9ICZjLT5w aWVjZXNbaV07CiAtICAgICAgc2l6ZV90IHRoaXNfc2l6ZV9iaXRzID0gcC0+c2l6ZTsKQEAgLTE1 NDIsNyArMTcxNCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9kd2FyZjJsb2MuYwogIAogICAgICAg IGlmIChiaXRfb2Zmc2V0ID4gMCkKICAJewotQEAgLTIxOTQsOCArMjE5NCw4IEBACitAQCAtMjE4 MSw4ICsyMTgxLDggQEAgaW5kaXJlY3RfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnZhbHVl KQogICAgc3RydWN0IHR5cGUgKnR5cGU7CiAgICBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWU7CiAg ICBzdHJ1Y3QgZHdhcmYyX2xvY2V4cHJfYmF0b24gYmF0b247CkBAIC0xNTUzLDggKzE3MjUsOCBA QCBJbmRleDogZ2RiLTguMC9nZGIvZHdhcmYybG9jLmMKICAgIHN0cnVjdCBkd2FyZl9leHByX3Bp ZWNlICpwaWVjZSA9IE5VTEw7CiAgICBMT05HRVNUIGJ5dGVfb2Zmc2V0OwogICAgZW51bSBiZmRf ZW5kaWFuIGJ5dGVfb3JkZXI7Ci1AQCAtMjIxMiw3ICsyMjEyLDcgQEAKLSAgIGZvciAoaSA9IDA7 IGkgPCBjLT5uX3BpZWNlcyAmJiBiaXRfbGVuZ3RoID4gMDsgaSsrKQorQEAgLTIxOTksNyArMjE5 OSw3IEBAIGluZGlyZWN0X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2YWx1ZSkKKyAgIGZv ciAoaSA9IDA7IGkgPCBjLT5waWVjZXMuc2l6ZSAoKSAmJiBiaXRfbGVuZ3RoID4gMDsgaSsrKQog ICAgICB7CiAgICAgICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ld OwogLSAgICAgIHNpemVfdCB0aGlzX3NpemVfYml0cyA9IHAtPnNpemU7CkBAIC0xNTYyLDcgKzE3 MzQsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZHdhcmYybG9jLmMKICAKICAgICAgICBpZiAoYml0 X29mZnNldCA+IDApCiAgCXsKLUBAIC0yNTAzLDkgKzI1MDMsOSBAQAorQEAgLTI0ODksOSArMjQ4 OSw5IEBAIGlmIChmcmFtZSAhPSBOVUxMKSBzZWxlY3RfZnJhbWUgKGZyYW1lKTsKICAJY2FzZSBE V0FSRl9WQUxVRV9TVEFDSzoKICAJICB7CiAgCSAgICBzdHJ1Y3QgdmFsdWUgKnZhbHVlID0gY3R4 LmZldGNoICgwKTsKQEAgLTE1NzMsMTMgKzE3NDUsMTMgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2R3 YXJmMmxvYy5jCiArCSAgICBVTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAoc3Vib2JqX3R5cGUp OwogKwkgICAgVUxPTkdFU1QgbWF4ID0gVFlQRV9MRU5HVEggKHR5cGUpOwogIAkgICAgc3RydWN0 IGdkYmFyY2ggKm9iamZpbGVfZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2FyY2ggKG9iamZpbGUpOwot IAkgICAgc3RydWN0IGNsZWFudXAgKmNsZWFudXA7CiAgCi1JbmRleDogZ2RiLTguMC9nZGIvZHdh cmYycmVhZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJ MjAxNy0wOC0xOSAyMDowNDo1OS44MDA3ODA2NDEgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9kd2Fy ZjJyZWFkLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNzI4NzY3MzggKzAyMDAKLUBAIC0yMDY0LDEy ICsyMDY0LDEyIEBACisgCSAgICBpZiAoc3Vib2JqX2J5dGVfb2Zmc2V0ICsgbGVuID4gbWF4KQor ZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCitpbmRleCA3 MmQxNWE5NGQ4Li5mMTRmNWI1NjNhIDEwMDY0NAorLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYworKysr IGIvZ2RiL2R3YXJmMnJlYWQuYworQEAgLTIxNjUsMTIgKzIxNjUsMTIgQEAgZHdhcmYyX2NvbXBs ZXhfbG9jYXRpb25fZXhwcl9jb21wbGFpbnQgKHZvaWQpCiAgfQogIAogIHN0YXRpYyB2b2lkCkBA IC0xNTk2LDcgKzE3NjgsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZHdhcmYycmVhZC5jCiAgfQog IAogIHN0YXRpYyB2b2lkCi1AQCAtMTI4NjMsOCArMTI4NjMsOCBAQAorQEAgLTEzOTEwLDggKzEz OTEwLDggQEAgZHdhcmYyX2FkZF9maWVsZCAoc3RydWN0IGZpZWxkX2luZm8gKmZpcCwgc3RydWN0 IGRpZV9pbmZvICpkaWUsCiAgCSAgICAgICAgIG9iamVjdCwgYW5kIHRoZW4gc3VidHJhY3Qgb2Zm IHRoZSBudW1iZXIgb2YgYml0cyBvZgogIAkgICAgICAgICB0aGUgZmllbGQgaXRzZWxmLiAgVGhl IHJlc3VsdCBpcyB0aGUgYml0IG9mZnNldCBvZgogIAkgICAgICAgICB0aGUgTFNCIG9mIHRoZSBm aWVsZC4gICovCkBAIC0xNjA3LDExICsxNzc5LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9kd2Fy ZjJyZWFkLmMKICAKICAJICAgICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2J5dGVf c2l6ZSwgY3UpOwogIAkgICAgICBpZiAoYXR0cikKLUluZGV4OiBnZGItOC4wL2dkYi9ldmFsLmMK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2V2YWwuYwkyMDE3LTA4LTE5IDIwOjA0 OjU5LjgwMTc4MDY1MSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2V2YWwuYwkyMDE3LTA4LTE5IDIw OjA1OjEwLjA3Mzg3Njc0OCArMDIwMAotQEAgLTI5Nyw3ICsyOTcsOCBAQAorZGlmZiAtLWdpdCBh L2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCitpbmRleCA0NGY3YTRlZGZlLi5mM2FjY2E2YTY5IDEw MDY0NAorLS0tIGEvZ2RiL2V2YWwuYworKysrIGIvZ2RiL2V2YWwuYworQEAgLTMwMiw3ICszMDIs OCBAQCBldmFsdWF0ZV9zdHJ1Y3RfdHVwbGUgKHN0cnVjdCB2YWx1ZSAqc3RydWN0X3ZhbCwKICAg IHdoaWxlICgtLW5hcmdzID49IDApCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbCA9 IE5VTEw7CkBAIC0xNjIxLDcgKzE3OTMsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZXZhbC5jCiAg ICAgICAgYmZkX2J5dGUgKmFkZHI7CiAgCiAgICAgICAgZmllbGRubysrOwotQEAgLTM1OCw3ICsz NTksNyBAQAorQEAgLTM2Myw3ICszNjQsNyBAQCBpbml0X2FycmF5X2VsZW1lbnQgKHN0cnVjdCB2 YWx1ZSAqYXJyYXksIHN0cnVjdCB2YWx1ZSAqZWxlbWVudCwKICAJCSAgICBlbnVtIG5vc2lkZSBu b3NpZGUsIExPTkdFU1QgbG93X2JvdW5kLCBMT05HRVNUIGhpZ2hfYm91bmQpCiAgewogICAgTE9O R0VTVCBpbmRleDsKQEAgLTE2MzAsNyArMTgwMiw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9ldmFs LmMKICAKICAgIGlmIChleHAtPmVsdHNbKnBvc10ub3Bjb2RlID09IEJJTk9QX0NPTU1BKQogICAg ICB7Ci1AQCAtODAyLDExICs4MDMsMTEgQEAKK0BAIC04MDcsMTEgKzgwOCwxMSBAQCBiaW5vcF9w cm9tb3RlIChjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZ3VhZ2UsIHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLAogICAgICAvKiBGSVhNRTogQWxzbyBtaXhlZCBpbnRlZ3JhbC9ib29sZWFu cywgd2l0aCByZXN1bHQgYW4gaW50ZWdlci4gICovCiAgICAgIHsKICAgICAgICBjb25zdCBzdHJ1 Y3QgYnVpbHRpbl90eXBlICpidWlsdGluID0gYnVpbHRpbl90eXBlIChnZGJhcmNoKTsKQEAgLTE2 NDUsMTYgKzE4MTcsMTYgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2V2YWwuYwogICAgICAgIGludCB1 bnNpZ25lZF9vcGVyYXRpb247CiAgCiAgICAgICAgLyogRGV0ZXJtaW5lIHR5cGUgbGVuZ3RoIGFu ZCBzaWduZWRuZXNzIGFmdGVyIHByb21vdGlvbiBmb3IKLUBAIC05ODgsNyArOTg5LDcgQEAKK0BA IC0xNTQ4LDcgKzE1NDksNyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBl ICpleHBlY3RfdHlwZSwKICAgIHN0cnVjdCB2YWx1ZSAqKmFyZ3ZlYzsKICAgIGludCBjb2RlOwog ICAgaW50IGl4OwogLSAgbG9uZyBtZW1fb2Zmc2V0OwogKyAgTE9OR0VTVCBtZW1fb2Zmc2V0Owog ICAgc3RydWN0IHR5cGUgKiphcmdfdHlwZXM7Ci0gICBpbnQgc2F2ZV9wb3MxOwotICAgc3RydWN0 IHN5bWJvbCAqZnVuY3Rpb24gPSBOVUxMOwotQEAgLTExNjcsNyArMTE2OCw3IEBACisgCisgICBw YyA9ICgqcG9zKSsrOworQEAgLTE3MzEsNyArMTczMiw3IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFu ZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAkgIHN0cnVjdCB0eXBlICpyYW5nZV90 eXBlID0gVFlQRV9JTkRFWF9UWVBFICh0eXBlKTsKICAJICBzdHJ1Y3QgdHlwZSAqZWxlbWVudF90 eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAodHlwZSk7CiAgCSAgc3RydWN0IHZhbHVlICphcnJheSA9 IGFsbG9jYXRlX3ZhbHVlIChleHBlY3RfdHlwZSk7CkBAIC0xNjYzLDExICsxODM1LDExIEBAIElu ZGV4OiBnZGItOC4wL2dkYi9ldmFsLmMKICAJICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3Vu ZCwgaW5kZXg7CiAgCiAgCSAgaWYgKGdldF9kaXNjcmV0ZV9ib3VuZHMgKHJhbmdlX3R5cGUsICZs b3dfYm91bmQsICZoaWdoX2JvdW5kKSA8IDApCi1JbmRleDogZ2RiLTguMC9nZGIvZi1sYW5nLmMK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2YtbGFuZy5jCTIwMTctMDgtMTkgMjA6 MDQ6NTkuODAxNzgwNjUxICswMjAwCi0rKysgZ2RiLTguMC9nZGIvZi1sYW5nLmMJMjAxNy0wOC0x OSAyMDowNToxMC4wNzM4NzY3NDggKzAyMDAKLUBAIC0xMDMsNyArMTAzLDcgQEAKK2RpZmYgLS1n aXQgYS9nZGIvZi1sYW5nLmMgYi9nZGIvZi1sYW5nLmMKK2luZGV4IGZlOTA5ZmYwZjAuLmM2NDAz YmZiMTUgMTAwNjQ0CistLS0gYS9nZGIvZi1sYW5nLmMKKysrKyBiL2dkYi9mLWxhbmcuYworQEAg LTEwMSw3ICsxMDEsNyBAQCBmX3ByaW50Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0eXBlLCBz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQogIAogIHN0YXRpYyB2b2lkCiAgZl9wcmludHN0ciAoc3Ry dWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICpz dHJpbmcsCkBAIC0xNjc2LDExICsxODQ4LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9mLWxhbmcu YwogIAkgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiAgewog ICAgY29uc3QgY2hhciAqdHlwZV9lbmNvZGluZyA9IGZfZ2V0X2VuY29kaW5nICh0eXBlKTsKLUlu ZGV4OiBnZGItOC4wL2dkYi9mLWxhbmcuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9n ZGIvZi1sYW5nLmgJMjAxNy0wOC0xOSAyMDowNDo1OS44MDI3ODA2NjAgKzAyMDAKLSsrKyBnZGIt OC4wL2dkYi9mLWxhbmcuaAkyMDE3LTA4LTE5IDIwOjA1OjEwLjA3Mzg3Njc0OCArMDIwMAotQEAg LTMwLDcgKzMwLDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvZi1sYW5nLmggYi9nZGIvZi1sYW5nLmgK K2luZGV4IDU2MzNiNDEyMWQuLmZiMDBmMzc0ODYgMTAwNjQ0CistLS0gYS9nZGIvZi1sYW5nLmgK KysrKyBiL2dkYi9mLWxhbmcuaAorQEAgLTMwLDcgKzMwLDcgQEAgZXh0ZXJuIHZvaWQgZl95eWVy cm9yIChjb25zdCBjaGFyICopOwkvKiBEZWZpbmVkIGluIGYtZXhwLnkgKi8KICBleHRlcm4gdm9p ZCBmX3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlICosIGNvbnN0IGNoYXIgKiwgc3RydWN0IHVpX2Zp bGUgKiwgaW50LAogIAkJCSAgaW50LCBjb25zdCBzdHJ1Y3QgdHlwZV9wcmludF9vcHRpb25zICop OwogIApAQCAtMTY4OSwxMiArMTg2MSwxMiBAQCBJbmRleDogZ2RiLTguMC9nZGIvZi1sYW5nLmgK ICAJCQkgc3RydWN0IHVpX2ZpbGUgKiwgaW50LAogIAkJCSBzdHJ1Y3QgdmFsdWUgKiwKICAJCQkg Y29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7Ci1JbmRleDogZ2RiLTguMC9nZGIv Zi12YWxwcmludC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9mLXZhbHByaW50 LmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MDI3ODA2NjAgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9m LXZhbHByaW50LmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNzM4NzY3NDggKzAyMDAKLUBAIC0zOCw3 ICszOCw3IEBACi0gc3RhdGljIHZvaWQgaW5mb19jb21tb25fY29tbWFuZCAoY2hhciAqLCBpbnQp OworZGlmZiAtLWdpdCBhL2dkYi9mLXZhbHByaW50LmMgYi9nZGIvZi12YWxwcmludC5jCitpbmRl eCBiODc4ZDUyYjYyLi40Y2U3OGIxZDUyIDEwMDY0NAorLS0tIGEvZ2RiL2YtdmFscHJpbnQuYwor KysrIGIvZ2RiL2YtdmFscHJpbnQuYworQEAgLTM2LDcgKzM2LDcgQEAKKyAKICBzdGF0aWMgdm9p ZCBmNzdfZ2V0X2R5bmFtaWNfbGVuZ3RoX29mX2FnZ3JlZ2F0ZSAoc3RydWN0IHR5cGUgKik7CiAg CiAtaW50IGY3N19hcnJheV9vZmZzZXRfdGJsW01BWF9GT1JUUkFOX0RJTVMgKyAxXVsyXTsKQEAg LTE3MDIsNyArMTg3NCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9mLXZhbHByaW50LmMKICAKICAv KiBBcnJheSB3aGljaCBob2xkcyBvZmZzZXRzIHRvIGJlIGFwcGxpZWQgdG8gZ2V0IGEgcm93J3Mg ZWxlbWVudHMKICAgICBmb3IgYSBnaXZlbiBhcnJheS4gIEFycmF5IGFsc28gaG9sZHMgdGhlIHNp emUgb2YgZWFjaCBzdWJhcnJheS4gICovCi1AQCAtNzMsOCArNzMsOCBAQAorQEAgLTcxLDggKzcx LDggQEAgZjc3X2dldF91cHBlcmJvdW5kIChzdHJ1Y3QgdHlwZSAqdHlwZSkKICBzdGF0aWMgdm9p ZAogIGY3N19nZXRfZHluYW1pY19sZW5ndGhfb2ZfYWdncmVnYXRlIChzdHJ1Y3QgdHlwZSAqdHlw ZSkKICB7CkBAIC0xNzEzLDcgKzE4ODUsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZi12YWxwcmlu dC5jCiAgCiAgICAvKiBSZWN1cnNpdmVseSBnbyBhbGwgdGhlIHdheSBkb3duIGludG8gYSBwb3Nz aWJseSBtdWx0aS1kaW1lbnNpb25hbAogICAgICAgRjc3IGFycmF5IGFuZCBnZXQgdGhlIGJvdW5k cy4gIEZvciBzaW1wbGUgYXJyYXlzLCB0aGlzIGlzIHByZXR0eQotQEAgLTEwNiw3ICsxMDYsNyBA QAorQEAgLTEwNCw3ICsxMDQsNyBAQCBmNzdfZ2V0X2R5bmFtaWNfbGVuZ3RoX29mX2FnZ3JlZ2F0 ZSAoc3RydWN0IHR5cGUgKnR5cGUpCiAgc3RhdGljIHZvaWQKICBmNzdfcHJpbnRfYXJyYXlfMSAo aW50IG5zcywgaW50IG5kaW1lbnNpb25zLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCSAgIGNvbnN0 IGdkYl9ieXRlICp2YWxhZGRyLApAQCAtMTcyMiw3ICsxODk0LDcgQEAgSW5kZXg6IGdkYi04LjAv Z2RiL2YtdmFscHJpbnQuYwogIAkJICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vy c2UsCiAgCQkgICBjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCSAgIGNvbnN0IHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotQEAgLTExNSw3ICsxMTUsNyBAQAorQEAgLTEx Myw3ICsxMTMsNyBAQCBmNzdfcHJpbnRfYXJyYXlfMSAoaW50IG5zcywgaW50IG5kaW1lbnNpb25z LCBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgIHN0cnVjdCB0eXBlICpyYW5nZV90eXBlID0gVFlQRV9J TkRFWF9UWVBFIChjaGVja190eXBlZGVmICh0eXBlKSk7CiAgICBDT1JFX0FERFIgYWRkciA9IGFk ZHJlc3MgKyBlbWJlZGRlZF9vZmZzZXQ7CiAgICBMT05HRVNUIGxvd2VyYm91bmQsIHVwcGVyYm91 bmQ7CkBAIC0xNzMxLDcgKzE5MDMsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZi12YWxwcmludC5j CiAgCiAgICBnZXRfZGlzY3JldGVfYm91bmRzIChyYW5nZV90eXBlLCAmbG93ZXJib3VuZCwgJnVw cGVyYm91bmQpOwogIAotQEAgLTE3Nyw3ICsxNzcsNyBAQAorQEAgLTE3NSw3ICsxNzUsNyBAQCBm NzdfcHJpbnRfYXJyYXlfMSAoaW50IG5zcywgaW50IG5kaW1lbnNpb25zLCBzdHJ1Y3QgdHlwZSAq dHlwZSwKICAKICBzdGF0aWMgdm9pZAogIGY3N19wcmludF9hcnJheSAoc3RydWN0IHR5cGUgKnR5 cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLApAQCAtMTc0MCw3ICsxOTEyLDcgQEAgSW5kZXg6 IGdkYi04LjAvZ2RiL2YtdmFscHJpbnQuYwogIAkJIENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1Y3Qg dWlfZmlsZSAqc3RyZWFtLAogIAkJIGludCByZWN1cnNlLAogIAkJIGNvbnN0IHN0cnVjdCB2YWx1 ZSAqdmFsLAotQEAgLTIxNiw3ICsyMTYsNyBAQAorQEAgLTIxNCw3ICsyMTQsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGdlbmVyaWNfdmFsX3ByaW50X2RlY29yYXRpb25zIGZfZGVjb3JhdGlvbnMg PQogICAgIGZ1bmN0aW9uOyB0aGV5IGFyZSBpZGVudGljYWwuICAqLwogIAogIHZvaWQKQEAgLTE3 NDksMTEgKzE5MjEsMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2YtdmFscHJpbnQuYwogIAkgICAg IENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwK ICAJICAgICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogIAkgICAgIGNvbnN0IHN0cnVj dCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotSW5kZXg6IGdkYi04LjAvZ2RiL2ZpbmR2 YXIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvZmluZHZhci5jCTIwMTctMDgt MTkgMjA6MDQ6NTkuODAyNzgwNjYwICswMjAwCi0rKysgZ2RiLTguMC9nZGIvZmluZHZhci5jCTIw MTctMDgtMTkgMjA6MDU6MTAuMDc0ODc2NzU3ICswMjAwCi1AQCAtODE3LDcgKzgxNyw3IEBACitk aWZmIC0tZ2l0IGEvZ2RiL2ZpbmR2YXIuYyBiL2dkYi9maW5kdmFyLmMKK2luZGV4IDJiYzIwOTVi ZjcuLmNlZDg0MTg2NTkgMTAwNjQ0CistLS0gYS9nZGIvZmluZHZhci5jCisrKysgYi9nZGIvZmlu ZHZhci5jCitAQCAtODIxLDcgKzgyMSw3IEBAIHN0cnVjdCB2YWx1ZSAqCiAgZGVmYXVsdF92YWx1 ZV9mcm9tX3JlZ2lzdGVyIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKnR5 cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVnbnVtLCBzdHJ1Y3QgZnJh bWVfaWQgZnJhbWVfaWQpCiAgewpAQCAtMTc2Miw3ICsxOTM0LDcgQEAgSW5kZXg6IGdkYi04LjAv Z2RiL2ZpbmR2YXIuYwogICAgc3RydWN0IHZhbHVlICp2YWx1ZSA9IGFsbG9jYXRlX3ZhbHVlICh0 eXBlKTsKICAgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZTsKICAKLUBAIC04NjEsNyArODYxLDcg QEAKK0BAIC04NjUsNyArODY1LDcgQEAgcmVhZF9mcmFtZV9yZWdpc3Rlcl92YWx1ZSAoc3RydWN0 IHZhbHVlICp2YWx1ZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQogICAgTE9OR0VTVCBvZmZz ZXQgPSAwOwogICAgTE9OR0VTVCByZWdfb2Zmc2V0ID0gdmFsdWVfb2Zmc2V0ICh2YWx1ZSk7CiAg ICBpbnQgcmVnbnVtID0gVkFMVUVfUkVHTlVNICh2YWx1ZSk7CkBAIC0xNzcxLDcgKzE5NDMsNyBA QCBJbmRleDogZ2RiLTguMC9nZGIvZmluZHZhci5jCiAgCiAgICBnZGJfYXNzZXJ0IChWQUxVRV9M VkFMICh2YWx1ZSkgPT0gbHZhbF9yZWdpc3Rlcik7CiAgCi1AQCAtODc2LDcgKzg3Niw3IEBACitA QCAtODgwLDcgKzg4MCw3IEBAIHJlYWRfZnJhbWVfcmVnaXN0ZXJfdmFsdWUgKHN0cnVjdCB2YWx1 ZSAqdmFsdWUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKICAgIHdoaWxlIChsZW4gPiAwKQog ICAgICB7CiAgICAgICAgc3RydWN0IHZhbHVlICpyZWd2YWwgPSBnZXRfZnJhbWVfcmVnaXN0ZXJf dmFsdWUgKGZyYW1lLCByZWdudW0pOwpAQCAtMTc4MCwxMSArMTk1MiwxMSBAQCBJbmRleDogZ2Ri LTguMC9nZGIvZmluZHZhci5jCiAgCiAgICAgICAgLyogSWYgdGhlIHJlZ2lzdGVyIGxlbmd0aCBp cyBsYXJnZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGJ5dGVzCiAgICAgICAgICAgcmVtYWluaW5nIHRv IGNvcHksIHRoZW4gb25seSBjb3B5IHRoZSBhcHByb3ByaWF0ZSBieXRlcy4gICovCi1JbmRleDog Z2RiLTguMC9nZGIvZnJhbWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvZnJh bWUuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgwMzc4MDY2OSArMDIwMAotKysrIGdkYi04LjAvZ2Ri L2ZyYW1lLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNzQ4NzY3NTcgKzAyMDAKLUBAIC0xMzc1LDcg KzEzNzUsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9mcmFtZS5jIGIvZ2RiL2ZyYW1lLmMKK2luZGV4 IGU2NDM4MjM3MTYuLjk1ZTZiMjMyNTQgMTAwNjQ0CistLS0gYS9nZGIvZnJhbWUuYworKysrIGIv Z2RiL2ZyYW1lLmMKK0BAIC0xMzg2LDcgKzEzODYsNyBAQCBkZXByZWNhdGVkX2ZyYW1lX3JlZ2lz dGVyX3JlYWQgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251bSwKICAKICBpbnQK ICBnZXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50 IHJlZ251bSwKQEAgLTE3OTMsNyArMTk2NSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9mcmFtZS5j CiAgCQkJICBpbnQgKm9wdGltaXplZHAsIGludCAqdW5hdmFpbGFibGVwKQogIHsKICAgIHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X2ZyYW1lX2FyY2ggKGZyYW1lKTsKLUBAIC0xNDA0LDcg KzE0MDQsNyBAQAorQEAgLTE0MTUsNyArMTQxNSw3IEBAIGdldF9mcmFtZV9yZWdpc3Rlcl9ieXRl cyAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAogICAgICB9CiAgICBpZiAo bGVuID4gbWF4c2l6ZSkKICAgICAgZXJyb3IgKF8oIkJhZCBkZWJ1ZyBpbmZvcm1hdGlvbiBkZXRl Y3RlZDogIgpAQCAtMTgwMiwxMSArMTk3NCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvZnJhbWUu YwogIAogICAgLyogQ29weSB0aGUgZGF0YS4gICovCiAgICB3aGlsZSAobGVuID4gMCkKLUluZGV4 OiBnZGItOC4wL2dkYi9mcmFtZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9m cmFtZS5oCTIwMTctMDgtMTkgMjA6MDQ6NTkuODAzNzgwNjY5ICswMjAwCi0rKysgZ2RiLTguMC9n ZGIvZnJhbWUuaAkyMDE3LTA4LTE5IDIwOjA1OjEwLjA3NDg3Njc1NyArMDIwMAotQEAgLTYwMCw3 ICs2MDAsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9mcmFtZS5oIGIvZ2RiL2ZyYW1lLmgKK2luZGV4 IDBlZDdhMTRkMDMuLjQ3MDU4MDVjNmUgMTAwNjQ0CistLS0gYS9nZGIvZnJhbWUuaAorKysrIGIv Z2RiL2ZyYW1lLmgKK0BAIC02MDEsNyArNjAxLDcgQEAgZXh0ZXJuIHZvaWQgcHV0X2ZyYW1lX3Jl Z2lzdGVyIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sCiAgICAgY29udGVu dHMgYXJlIG9wdGltaXplZCBvdXQgb3IgdW5hdmFpbGFibGUsIHNldCAqT1BUSU1JWkVEUCwKICAg ICAqVU5BVkFJTEFCTEVQIGFjY29yZGluZ2x5LiAgKi8KICBleHRlcm4gaW50IGdldF9mcmFtZV9y ZWdpc3Rlcl9ieXRlcyAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLApAQCAt MTgxNSwyMCArMTk4Nyw2MSBAQCBJbmRleDogZ2RiLTguMC9nZGIvZnJhbWUuaAogIAkJCQkgICAg IGdkYl9ieXRlICpteWFkZHIsCiAgCQkJCSAgICAgaW50ICpvcHRpbWl6ZWRwLCBpbnQgKnVuYXZh aWxhYmxlcCk7CiAgCi1JbmRleDogZ2RiLTguMC9nZGIvZ2RidHlwZXMuYwotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi04LjAub3JpZy9nZGIvZ2RidHlwZXMuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgwNDc4 MDY3OSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2dkYnR5cGVzLmMJMjAxNy0wOC0xOSAyMDowNTox MC4wNzU4NzY3NjYgKzAyMDAKLUBAIC0yODA3LDcgKzI4MDcsNyBAQAorZGlmZiAtLWdpdCBhL2dk Yi9nZGJhcmNoLmMgYi9nZGIvZ2RiYXJjaC5jCitpbmRleCAwMDczOTJjZDZhLi5kZThkYjE5YzQ0 IDEwMDY0NAorLS0tIGEvZ2RiL2dkYmFyY2guYworKysrIGIvZ2RiL2dkYmFyY2guYworQEAgLTE4 MDUsNyArMTgwNSw3IEBAIHNldF9nZGJhcmNoX3djaGFyX3NpZ25lZCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsCisgfQorIAorIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgorLWdkYmFyY2hf ZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFy ICpuYW1lLCBpbnQgbGVuZ3RoKQorK2dkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBMT05HRVNUIGxlbmd0aCkKKyB7 CisgICBnZGJfYXNzZXJ0IChnZGJhcmNoICE9IE5VTEwpOworICAgZ2RiX2Fzc2VydCAoZ2RiYXJj aC0+ZmxvYXRmb3JtYXRfZm9yX3R5cGUgIT0gTlVMTCk7CitkaWZmIC0tZ2l0IGEvZ2RiL2dkYmFy Y2guaCBiL2dkYi9nZGJhcmNoLmgKK2luZGV4IGQyZTZiNmY2M2UuLmNiZjMzODVkYjcgMTAwNjQ0 CistLS0gYS9nZGIvZ2RiYXJjaC5oCisrKysgYi9nZGIvZ2RiYXJjaC5oCitAQCAtMTk4LDggKzE5 OCw4IEBAIGV4dGVybiB2b2lkIHNldF9nZGJhcmNoX3djaGFyX3NpZ25lZCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsIGludCB3Y2hhcl9zaWduZWQpCisgICAgTkFNRSwgaWYgbm9uLU5VTEwsIGlz IHRoZSB0eXBlIG5hbWUsIHdoaWNoIG1heSBiZSB1c2VkIHRvIGRpc3Rpbmd1aXNoCisgICAgZGlm ZmVyZW50IHRhcmdldCBmb3JtYXRzIG9mIHRoZSBzYW1lIGxlbmd0aC4gKi8KKyAKKy10eXBlZGVm IGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKiAoZ2RiYXJjaF9mbG9hdGZvcm1hdF9mb3JfdHlw ZV9mdHlwZSkgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBpbnQg bGVuZ3RoKTsKKy1leHRlcm4gY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqIGdkYmFyY2hfZmxv YXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpu YW1lLCBpbnQgbGVuZ3RoKTsKKyt0eXBlZGVmIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKiAo Z2RiYXJjaF9mbG9hdGZvcm1hdF9mb3JfdHlwZV9mdHlwZSkgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLCBjb25zdCBjaGFyICpuYW1lLCBMT05HRVNUIGxlbmd0aCk7CisrZXh0ZXJuIGNvbnN0IHN0 cnVjdCBmbG9hdGZvcm1hdCAqKiBnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgY29uc3QgY2hhciAqbmFtZSwgTE9OR0VTVCBsZW5ndGgpOworIGV4 dGVybiB2b2lkIHNldF9nZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwgZ2RiYXJjaF9mbG9hdGZvcm1hdF9mb3JfdHlwZV9mdHlwZSAqZmxvYXRmb3Jt YXRfZm9yX3R5cGUpOworIAorIC8qIEZvciBtb3N0IHRhcmdldHMsIGEgcG9pbnRlciBvbiB0aGUg dGFyZ2V0IGFuZCBpdHMgcmVwcmVzZW50YXRpb24gYXMgYW4KK2RpZmYgLS1naXQgYS9nZGIvZ2Ri YXJjaC5zaCBiL2dkYi9nZGJhcmNoLnNoCitpbmRleCA2NDU5YjEyNzQ3Li4wYjcyYWNlZWExIDEw MDc1NQorLS0tIGEvZ2RiL2dkYmFyY2guc2gKKysrKyBiL2dkYi9nZGJhcmNoLnNoCitAQCAtMzg4 LDcgKzM4OCw3IEBAIHY7aW50O3djaGFyX3NpZ25lZDs7OzE7LTE7MQorICMgUmV0dXJucyB0aGUg ZmxvYXRpbmctcG9pbnQgZm9ybWF0IHRvIGJlIHVzZWQgZm9yIHZhbHVlcyBvZiBsZW5ndGggTEVO R1RILgorICMgTkFNRSwgaWYgbm9uLU5VTEwsIGlzIHRoZSB0eXBlIG5hbWUsIHdoaWNoIG1heSBi ZSB1c2VkIHRvIGRpc3Rpbmd1aXNoCisgIyBkaWZmZXJlbnQgdGFyZ2V0IGZvcm1hdHMgb2YgdGhl IHNhbWUgbGVuZ3RoLgorLW07Y29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqO2Zsb2F0Zm9ybWF0 X2Zvcl90eXBlO2NvbnN0IGNoYXIgKm5hbWUsIGludCBsZW5ndGg7bmFtZSwgbGVuZ3RoOzA7ZGVm YXVsdF9mbG9hdGZvcm1hdF9mb3JfdHlwZTs7MAorK207Y29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0 ICoqO2Zsb2F0Zm9ybWF0X2Zvcl90eXBlO2NvbnN0IGNoYXIgKm5hbWUsIExPTkdFU1QgbGVuZ3Ro O25hbWUsIGxlbmd0aDswO2RlZmF1bHRfZmxvYXRmb3JtYXRfZm9yX3R5cGU7OzAKKyAKKyAjIEZv ciBtb3N0IHRhcmdldHMsIGEgcG9pbnRlciBvbiB0aGUgdGFyZ2V0IGFuZCBpdHMgcmVwcmVzZW50 YXRpb24gYXMgYW4KKyAjIGFkZHJlc3MgaW4gR0RCIGhhdmUgdGhlIHNhbWUgc2l6ZSBhbmQgImxv b2sgdGhlIHNhbWUiLiAgRm9yIHN1Y2ggYQorZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5jIGIv Z2RiL2dkYnR5cGVzLmMKK2luZGV4IGEyNWUwYTg0ZTkuLjc3NWYxMjA4NDUgMTAwNjQ0CistLS0g YS9nZGIvZ2RidHlwZXMuYworKysrIGIvZ2RiL2dkYnR5cGVzLmMKK0BAIC0yODE4LDcgKzI4MTgs NyBAQCBmbG9hdGZvcm1hdF9mcm9tX3R5cGUgKGNvbnN0IHN0cnVjdCB0eXBlICp0eXBlKQogICAg IGxlYXN0IGFzIGxvbmcgYXMgT0JKRklMRS4gICovCiAgCiAgc3RydWN0IHR5cGUgKgotLWluaXRf dHlwZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGVudW0gdHlwZV9jb2RlIGNvZGUsIGludCBs ZW5ndGgsCi0raW5pdF90eXBlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgZW51bSB0eXBlX2Nv ZGUgY29kZSwgTE9OR0VTVCBsZW5ndGgsCistaW5pdF90eXBlIChzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSwgZW51bSB0eXBlX2NvZGUgY29kZSwgaW50IGJpdCwKKytpbml0X3R5cGUgKHN0cnVjdCBv YmpmaWxlICpvYmpmaWxlLCBlbnVtIHR5cGVfY29kZSBjb2RlLCBMT05HRVNUIGJpdCwKICAJICAg Y29uc3QgY2hhciAqbmFtZSkKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKLUBAIC0zMTE2LDgg KzMxMTYsOCBAQAorQEAgLTMxNTAsOCArMzE1MCw4IEBAIGlzX3B1YmxpY19hbmNlc3RvciAoc3Ry dWN0IHR5cGUgKmJhc2UsIHN0cnVjdCB0eXBlICpkY2xhc3MpCiAgCiAgc3RhdGljIGludAogIGlz X3VuaXF1ZV9hbmNlc3Rvcl93b3JrZXIgKHN0cnVjdCB0eXBlICpiYXNlLCBzdHJ1Y3QgdHlwZSAq ZGNsYXNzLApAQCAtMTgzOSw3ICsyMDUyLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dkYnR5cGVz LmMKICAJCQkgICBDT1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHZhbHVlICp2YWwpCiAgewogICAg aW50IGksIGNvdW50ID0gMDsKLUBAIC0zMTI4LDcgKzMxMjgsNyBAQAorQEAgLTMxNjIsNyArMzE2 Miw3IEBAIGlzX3VuaXF1ZV9hbmNlc3Rvcl93b3JrZXIgKHN0cnVjdCB0eXBlICpiYXNlLCBzdHJ1 Y3QgdHlwZSAqZGNsYXNzLAogICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTl9CQVNFQ0xBU1NFUyAo ZGNsYXNzKSAmJiBjb3VudCA8IDI7ICsraSkKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBlICpp dGVyOwpAQCAtMTg0OCw3ICsyMDYxLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dkYnR5cGVzLmMK ICAKICAgICAgICBpdGVyID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9CQVNFQ0xBU1MgKGRjbGFzcywg aSkpOwogIAotQEAgLTMxNjksNyArMzE2OSw3IEBACitAQCAtMzIwMyw3ICszMjAzLDcgQEAgaXNf dW5pcXVlX2FuY2VzdG9yX3dvcmtlciAoc3RydWN0IHR5cGUgKmJhc2UsIHN0cnVjdCB0eXBlICpk Y2xhc3MsCiAgaW50CiAgaXNfdW5pcXVlX2FuY2VzdG9yIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3Ry dWN0IHZhbHVlICp2YWwpCiAgewpAQCAtMTg1Nyw3ICsyMDcwLDcgQEAgSW5kZXg6IGdkYi04LjAv Z2RiL2dkYnR5cGVzLmMKICAKICAgIHJldHVybiBpc191bmlxdWVfYW5jZXN0b3Jfd29ya2VyIChi YXNlLCB2YWx1ZV90eXBlICh2YWwpLCAmb2Zmc2V0LAogIAkJCQkgICAgdmFsdWVfY29udGVudHNf Zm9yX3ByaW50aW5nICh2YWwpLAotQEAgLTQ0MTUsNyArNDQxNSw3IEBACitAQCAtNDQ0OSw3ICs0 NDQ5LDcgQEAgcmVjdXJzaXZlX2R1bXBfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBzcGFj ZXMpCiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIHB1dHNfZmlsdGVyZWQgKCJcbiIpOwpAQCAt MTg2NiwyMCArMjA3OSwyMCBAQCBJbmRleDogZ2RiLTguMC9nZGIvZ2RidHlwZXMuYwogICAgaWYg KFRZUEVfT0JKRklMRV9PV05FRCAodHlwZSkpCiAgICAgIHsKICAgICAgICBwcmludGZpX2ZpbHRl cmVkIChzcGFjZXMsICJvYmpmaWxlICIpOwotQEAgLTQ4NzUsNyArNDg3NSw3IEBACitAQCAtNDg5 MCw3ICs0ODkwLDcgQEAgY29weV90eXBlIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICAKICBz dHJ1Y3QgdHlwZSAqCiAgYXJjaF90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLS0JICAg ZW51bSB0eXBlX2NvZGUgY29kZSwgaW50IGxlbmd0aCwgY29uc3QgY2hhciAqbmFtZSkKLSsJICAg ZW51bSB0eXBlX2NvZGUgY29kZSwgTE9OR0VTVCBsZW5ndGgsIGNvbnN0IGNoYXIgKm5hbWUpCist CSAgIGVudW0gdHlwZV9jb2RlIGNvZGUsIGludCBiaXQsIGNvbnN0IGNoYXIgKm5hbWUpCisrCSAg IGVudW0gdHlwZV9jb2RlIGNvZGUsIExPTkdFU1QgYml0LCBjb25zdCBjaGFyICpuYW1lKQogIHsK ICAgIHN0cnVjdCB0eXBlICp0eXBlOwogIAotSW5kZXg6IGdkYi04LjAvZ2RiL2dkYnR5cGVzLmgK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2dkYnR5cGVzLmgJMjAxNy0wOC0xOSAy MDowNDo1OS44MDU3ODA2ODggKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9nZGJ0eXBlcy5oCTIwMTct MDgtMTkgMjA6MDU6MTAuMDc2ODc2Nzc2ICswMjAwCi1AQCAtNzg3LDcgKzc4Nyw3IEBACitkaWZm IC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmggYi9nZGIvZ2RidHlwZXMuaAoraW5kZXggZDkyZmZjMjI4 Yi4uYzdlY2YzMDU1NCAxMDA2NDQKKy0tLSBhL2dkYi9nZGJ0eXBlcy5oCisrKysgYi9nZGIvZ2Ri dHlwZXMuaAorQEAgLTc4Miw3ICs3ODIsNyBAQCBzdHJ1Y3QgdHlwZQogICAgICAgdHlwZV9sZW5n dGhfdW5pdHMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgaW4gb3JkZXIgdG8gZ2V0IHRoZSBsZW5n dGgKICAgICAgIGV4cHJlc3NlZCBpbiB0YXJnZXQgYWRkcmVzc2FibGUgbWVtb3J5IHVuaXRzLiAg Ki8KICAKQEAgLTE4ODgsNyArMjEwMSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nZGJ0eXBlcy5o CiAgCiAgICAvKiAqIENvcmUgdHlwZSwgc2hhcmVkIGJ5IGEgZ3JvdXAgb2YgcXVhbGlmaWVkIHR5 cGVzLiAgKi8KICAKLUBAIC0xNjY1LDcgKzE2NjUsNyBAQAorQEAgLTE2NjIsNyArMTY2Miw3IEBA IGV4dGVybiB1bnNpZ25lZCBpbnQgdHlwZV9sZW5ndGhfdW5pdHMgKHN0cnVjdCB0eXBlICp0eXBl KTsKICAKICAvKiAqIEhlbHBlciBmdW5jdGlvbiB0byBjb25zdHJ1Y3Qgb2JqZmlsZS1vd25lZCB0 eXBlcy4gICovCiAgCkBAIC0xODk3LDcgKzIxMTAsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZ2Ri dHlwZXMuaAogIAkJCSAgICAgICBjb25zdCBjaGFyICopOwogIGV4dGVybiBzdHJ1Y3QgdHlwZSAq aW5pdF9pbnRlZ2VyX3R5cGUgKHN0cnVjdCBvYmpmaWxlICosIGludCwgaW50LAogIAkJCQkgICAg ICAgY29uc3QgY2hhciAqKTsKLUBAIC0xNjgyLDcgKzE2ODIsNyBAQAorQEAgLTE2NzksNyArMTY3 OSw3IEBAIGV4dGVybiBzdHJ1Y3QgdHlwZSAqaW5pdF9wb2ludGVyX3R5cGUgKHN0cnVjdCBvYmpm aWxlICosIGludCwgY29uc3QgY2hhciAqLAogIAkJCQkgICAgICAgc3RydWN0IHR5cGUgKik7CiAg CiAgLyogSGVscGVyIGZ1bmN0aW9ucyB0byBjb25zdHJ1Y3QgYXJjaGl0ZWN0dXJlLW93bmVkIHR5 cGVzLiAgKi8KQEAgLTE5MDYsMTEgKzIxMTksMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dkYnR5 cGVzLmgKICAJCQkgICAgICAgY29uc3QgY2hhciAqKTsKICBleHRlcm4gc3RydWN0IHR5cGUgKmFy Y2hfaW50ZWdlcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqLCBpbnQsIGludCwKICAJCQkJICAgICAg IGNvbnN0IGNoYXIgKik7Ci1JbmRleDogZ2RiLTguMC9nZGIvZ251LXYyLWFiaS5jCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9nbnUtdjItYWJpLmMJMjAxNy0wOC0xOSAyMDowNDo1 OS44MDU3ODA2ODggKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9nbnUtdjItYWJpLmMJMjAxNy0wOC0x OSAyMDowNToxMC4wNzY4NzY3NzYgKzAyMDAKLUBAIC04Miw3ICs4Miw3IEBACitkaWZmIC0tZ2l0 IGEvZ2RiL2dudS12Mi1hYmkuYyBiL2dkYi9nbnUtdjItYWJpLmMKK2luZGV4IGMyNWIyMzA4OWMu LjAwYzUxYzRiODYgMTAwNjQ0CistLS0gYS9nZGIvZ251LXYyLWFiaS5jCisrKysgYi9nZGIvZ251 LXYyLWFiaS5jCitAQCAtODIsNyArODIsNyBAQCBnbnV2Ml9pc19vcGVyYXRvcl9uYW1lIChjb25z dCBjaGFyICpuYW1lKQogICAgIFRZUEUgaXMgdGhlIHR5cGUgaW4gd2hpY2ggRiBpcyBsb2NhdGVk LiAgKi8KICBzdGF0aWMgc3RydWN0IHZhbHVlICoKICBnbnV2Ml92aXJ0dWFsX2ZuX2ZpZWxkIChz dHJ1Y3QgdmFsdWUgKiphcmcxcCwgc3RydWN0IGZuX2ZpZWxkICogZiwgaW50IGosCkBAIC0xOTE5 LDcgKzIxMzIsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZ251LXYyLWFiaS5jCiAgewogICAgc3Ry dWN0IHZhbHVlICphcmcxID0gKmFyZzFwOwogICAgc3RydWN0IHR5cGUgKnR5cGUxID0gY2hlY2tf dHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnMSkpOwotQEAgLTMzOCw3ICszMzgsNyBAQAorQEAgLTMz OCw3ICszMzgsNyBAQCB2Yl9tYXRjaCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBpbmRleCwgc3Ry dWN0IHR5cGUgKmJhc2V0eXBlKQogICAgIHRhcmdldCkuICBUaGUgcmVzdWx0IGlzIHRoZSBvZmZz ZXQgb2YgdGhlIGJhc2VjbGFzcyB2YWx1ZSByZWxhdGl2ZQogICAgIHRvICh0aGUgYWRkcmVzcyBv ZikoQVJHKSArIE9GRlNFVC4gICovCiAgCkBAIC0xOTI4LDcgKzIxNDEsNyBAQCBJbmRleDogZ2Ri LTguMC9nZGIvZ251LXYyLWFiaS5jCiAgZ251djJfYmFzZWNsYXNzX29mZnNldCAoc3RydWN0IHR5 cGUgKnR5cGUsIGludCBpbmRleCwKICAJCQljb25zdCBiZmRfYnl0ZSAqdmFsYWRkciwgTE9OR0VT VCBlbWJlZGRlZF9vZmZzZXQsCiAgCQkJQ09SRV9BRERSIGFkZHJlc3MsIGNvbnN0IHN0cnVjdCB2 YWx1ZSAqdmFsKQotQEAgLTM1OCw4ICszNTgsNyBAQAorQEAgLTM1OCw4ICszNTgsNyBAQCBnbnV2 Ml9iYXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4LAogIAkgIGlm ICh2Yl9tYXRjaCAodHlwZSwgaSwgYmFzZXR5cGUpKQogIAkgICAgewogIAkgICAgICBzdHJ1Y3Qg dHlwZSAqZmllbGRfdHlwZTsKQEAgLTE5MzgsNyArMjE1MSw3IEBAIEluZGV4OiBnZGItOC4wL2dk Yi9nbnUtdjItYWJpLmMKICAJICAgICAgQ09SRV9BRERSIGFkZHI7CiAgCiAgCSAgICAgIGZpZWxk X3R5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpKTsKLUBAIC0z ODMsNyArMzgyLDcgQEAKK0BAIC0zODMsNyArMzgyLDcgQEAgZ251djJfYmFzZWNsYXNzX29mZnNl dCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBpbmRleCwKICAJICAvKiBEb24ndCBnbyB0aHJvdWdo IGJhc2VjbGFzc19vZmZzZXQsIGFzIHRoYXQgd3JhcHMKICAJICAgICBleGNlcHRpb25zLCB0aHVz LCBpbm5lciBleGNlcHRpb25zIHdvdWxkIGJlIHdyYXBwZWQgbW9yZQogIAkgICAgIHRoYW4gb25j ZS4gICovCkBAIC0xOTQ3LDExICsyMTYwLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9nbnUtdjIt YWJpLmMKICAJICAgIGdudXYyX2Jhc2VjbGFzc19vZmZzZXQgKHR5cGUsIGksIHZhbGFkZHIsCiAg CQkJCSAgICBlbWJlZGRlZF9vZmZzZXQsIGFkZHJlc3MsIHZhbCk7CiAgCi1JbmRleDogZ2RiLTgu MC9nZGIvZ251LXYzLWFiaS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9nbnUt djMtYWJpLmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MDY3ODA2OTggKzAyMDAKLSsrKyBnZGItOC4w L2dkYi9nbnUtdjMtYWJpLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNzc4NzY3ODUgKzAyMDAKLUBA IC0xMDksNyArMTA5LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvZ251LXYzLWFiaS5jIGIvZ2RiL2du dS12My1hYmkuYworaW5kZXggMmFjY2M2MGVmYy4uYTQyYzRkNDg3ZiAxMDA2NDQKKy0tLSBhL2dk Yi9nbnUtdjMtYWJpLmMKKysrKyBiL2dkYi9nbnUtdjMtYWJpLmMKK0BAIC0xMDksNyArMTA5LDcg QEAgYnVpbGRfZ2RiX3Z0YWJsZV90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqYXJjaCkKICB7CiAgICBz dHJ1Y3QgdHlwZSAqdDsKICAgIHN0cnVjdCBmaWVsZCAqZmllbGRfbGlzdCwgKmZpZWxkOwpAQCAt MTk2MCw3ICsyMTczLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dudS12My1hYmkuYwogIAogICAg c3RydWN0IHR5cGUgKnZvaWRfcHRyX3R5cGUKICAgICAgPSBidWlsdGluX3R5cGUgKGFyY2gpLT5i dWlsdGluX2RhdGFfcHRyOwotQEAgLTE4NSw3ICsxODUsNyBAQAorQEAgLTE4NSw3ICsxODUsNyBA QCB2dGFibGVfcHRyZGlmZl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKICAvKiBSZXR1 cm4gdGhlIG9mZnNldCBmcm9tIHRoZSBzdGFydCBvZiB0aGUgaW1hZ2luYXJ5IGBzdHJ1Y3QKICAg ICBnZGJfZ251X3YzX2FiaV92dGFibGUnIG9iamVjdCB0byB0aGUgdnRhYmxlJ3MgImFkZHJlc3Mg cG9pbnQiCiAgICAgKGkuZS4sIHdoZXJlIG9iamVjdHMnIHZpcnR1YWwgdGFibGUgcG9pbnRlcnMg cG9pbnQpLiAgKi8KQEAgLTE5NjksNyArMjE4Miw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nbnUt djMtYWJpLmMKICB2dGFibGVfYWRkcmVzc19wb2ludF9vZmZzZXQgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoKQogIHsKICAgIHN0cnVjdCB0eXBlICp2dGFibGVfdHlwZQotQEAgLTQwOCw3ICs0MDgs NyBAQAorQEAgLTQwOCw3ICs0MDgsNyBAQCBnbnV2M19nZXRfdmlydHVhbF9mbiAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqY29udGFpbmVyLAogIHN0YXRpYyBzdHJ1Y3Qg dmFsdWUgKgogIGdudXYzX3ZpcnR1YWxfZm5fZmllbGQgKHN0cnVjdCB2YWx1ZSAqKnZhbHVlX3As CiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGZuX2ZpZWxkICpmLCBpbnQgaiwKQEAg LTE5NzgsNyArMjE5MSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nbnUtdjMtYWJpLmMKICB7CiAg ICBzdHJ1Y3QgdHlwZSAqdmFsdWVzX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlICgq dmFsdWVfcCkpOwogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2g7Ci1AQCAtNDM4LDcgKzQzOCw3 IEBACitAQCAtNDM4LDcgKzQzOCw3IEBAIGdudXYzX3ZpcnR1YWxfZm5fZmllbGQgKHN0cnVjdCB2 YWx1ZSAqKnZhbHVlX3AsCiAgCiAgICAgLTEgaXMgcmV0dXJuZWQgb24gZXJyb3IuICAqLwogIApA QCAtMTk4Nyw3ICsyMjAwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dudS12My1hYmkuYwogIGdu dXYzX2Jhc2VjbGFzc19vZmZzZXQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaW5kZXgsCiAgCQkJ Y29uc3QgYmZkX2J5dGUgKnZhbGFkZHIsIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAogIAkJCUNP UkVfQUREUiBhZGRyZXNzLCBjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCkKLUBAIC00NDcsNyArNDQ3 LDcgQEAKK0BAIC00NDcsNyArNDQ3LDcgQEAgZ251djNfYmFzZWNsYXNzX29mZnNldCAoc3RydWN0 IHR5cGUgKnR5cGUsIGludCBpbmRleCwKICAgIHN0cnVjdCB0eXBlICpwdHJfdHlwZTsKICAgIHN0 cnVjdCB2YWx1ZSAqdnRhYmxlOwogICAgc3RydWN0IHZhbHVlICp2YmFzZV9hcnJheTsKQEAgLTE5 OTYsNyArMjIwOSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nbnUtdjMtYWJpLmMKICAKICAgIC8q IERldGVybWluZSBhcmNoaXRlY3R1cmUuICAqLwogICAgZ2RiYXJjaCA9IGdldF90eXBlX2FyY2gg KHR5cGUpOwotQEAgLTQ3MCw3ICs0NzAsNyBAQAorQEAgLTQ3MCw3ICs0NzAsNyBAQCBnbnV2M19i YXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4LAogICAgY3VyX2Jh c2Vfb2Zmc2V0ID0gY3VyX2Jhc2Vfb2Zmc2V0ICsgdnRhYmxlX2FkZHJlc3NfcG9pbnRfb2Zmc2V0 IChnZGJhcmNoKTsKICAgIGlmICgoLSBjdXJfYmFzZV9vZmZzZXQpICUgVFlQRV9MRU5HVEggKHB0 cl90eXBlKSAhPSAwKQogICAgICBlcnJvciAoXygiTWlzYWxpZ25lZCB2YmFzZSBvZmZzZXQuIikp OwpAQCAtMjAwNSw3ICsyMjE4LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dudS12My1hYmkuYwog IAogICAgdnRhYmxlID0gZ251djNfZ2V0X3Z0YWJsZSAoZ2RiYXJjaCwgdHlwZSwgYWRkcmVzcyAr IGVtYmVkZGVkX29mZnNldCk7CiAgICBnZGJfYXNzZXJ0ICh2dGFibGUgIT0gTlVMTCk7Ci1AQCAt NTE0LDcgKzUxNCw3IEBACitAQCAtNTE0LDcgKzUxNCw3IEBAIGdudXYzX2ZpbmRfbWV0aG9kX2lu IChzdHJ1Y3QgdHlwZSAqZG9tYWluLCBDT1JFX0FERFIgdm9mZnNldCwKICAgICAgIHdlJ3JlIG91 dCBvZiBsdWNrLiAgKi8KICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05fQkFTRUNMQVNTRVMgKGRv bWFpbik7IGkrKykKICAgICAgewpAQCAtMjAxNCwxMSArMjIyNywxMSBAQCBJbmRleDogZ2RiLTgu MC9nZGIvZ251LXYzLWFiaS5jCiAgICAgICAgc3RydWN0IHR5cGUgKmJhc2V0eXBlOwogIAogICAg ICAgIGlmIChCQVNFVFlQRV9WSUFfVklSVFVBTCAoZG9tYWluLCBpKSkKLUluZGV4OiBnZGItOC4w L2dkYi9nby1sYW5nLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2dvLWxhbmcu aAkyMDE3LTA4LTE5IDIwOjA0OjU5LjgwNjc4MDY5OCArMDIwMAotKysrIGdkYi04LjAvZ2RiL2dv LWxhbmcuaAkyMDE3LTA4LTE5IDIwOjA1OjEwLjA3Nzg3Njc4NSArMDIwMAotQEAgLTg1LDcgKzg1 LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvZ28tbGFuZy5oIGIvZ2RiL2dvLWxhbmcuaAoraW5kZXgg ZTA4YjJmMGE4MC4uNWZiOWI1ZDkwZCAxMDA2NDQKKy0tLSBhL2dkYi9nby1sYW5nLmgKKysrKyBi L2dkYi9nby1sYW5nLmgKK0BAIC04NSw3ICs4NSw3IEBAIGV4dGVybiB2b2lkIGdvX3ByaW50X3R5 cGUgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBjaGFyICp2YXJzdHJpbmcsCiAgLyogRGVmaW5l ZCBpbiBnby12YWxwcmludC5jLiAgKi8KICAKICBleHRlcm4gdm9pZCBnb192YWxfcHJpbnQgKHN0 cnVjdCB0eXBlICp0eXBlLApAQCAtMjAyNywxMSArMjI0MCwxMSBAQCBJbmRleDogZ2RiLTguMC9n ZGIvZ28tbGFuZy5oCiAgCQkJICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwK ICAJCQkgIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50 X29wdGlvbnMgKm9wdGlvbnMpOwotSW5kZXg6IGdkYi04LjAvZ2RiL2dvLXZhbHByaW50LmMKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2dvLXZhbHByaW50LmMJMjAxNy0wOC0xOSAy MDowNDo1OS44MDY3ODA2OTggKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9nby12YWxwcmludC5jCTIw MTctMDgtMTkgMjA6MDU6MTAuMDc3ODc2Nzg1ICswMjAwCi1AQCAtODYsNyArODYsNyBAQAorZGlm ZiAtLWdpdCBhL2dkYi9nby12YWxwcmludC5jIGIvZ2RiL2dvLXZhbHByaW50LmMKK2luZGV4IDc3 ZDM3Mzg3YWQuLjg5NmE3MTkxMWUgMTAwNjQ0CistLS0gYS9nZGIvZ28tdmFscHJpbnQuYworKysr IGIvZ2RiL2dvLXZhbHByaW50LmMKK0BAIC04Niw3ICs4Niw3IEBAIHByaW50X2dvX3N0cmluZyAo c3RydWN0IHR5cGUgKnR5cGUsCiAgLyogSW1wbGVtZW50cyB0aGUgbGFfdmFsX3ByaW50IHJvdXRp bmUgZm9yIGxhbmd1YWdlIEdvLiAgKi8KICAKICB2b2lkCkBAIC0yMDQwLDExICsyMjUzLDI0IEBA IEluZGV4OiBnZGItOC4wL2dkYi9nby12YWxwcmludC5jCiAgCSAgICAgIENPUkVfQUREUiBhZGRy ZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJICAgICAgc3RydWN0 IHZhbHVlICp2YWwsCiAgCSAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpv cHRpb25zKQotSW5kZXg6IGdkYi04LjAvZ2RiL2xhbmd1YWdlLmMKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItOC4wLm9yaWcvZ2RiL2xhbmd1YWdlLmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MDY3ODA2OTgg KzAyMDAKLSsrKyBnZGItOC4wL2dkYi9sYW5ndWFnZS5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDc3 ODc2Nzg1ICswMjAwCi1AQCAtNzUzLDcgKzc1Myw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2kzODYt dGRlcC5jIGIvZ2RiL2kzODYtdGRlcC5jCitpbmRleCAyOTBiMWM4MzY4Li5kNGY2MWVlYzc2IDEw MDY0NAorLS0tIGEvZ2RiL2kzODYtdGRlcC5jCisrKysgYi9nZGIvaTM4Ni10ZGVwLmMKK0BAIC04 MTc1LDcgKzgxNzUsNyBAQCBpMzg2X2Zhc3RfdHJhY2Vwb2ludF92YWxpZF9hdCAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIENPUkVfQUREUiBhZGRyLAorIAorIGNvbnN0IHN0cnVjdCBmbG9hdGZv cm1hdCAqKgorIGkzODZfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLAorLQkJCSAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pCisrCQkJICAgY29uc3QgY2hh ciAqbmFtZSwgTE9OR0VTVCBsZW4pCisgeworICAgaWYgKGxlbiA9PSAxMjggJiYgbmFtZSkKKyAg ICAgaWYgKHN0cmNtcCAobmFtZSwgIl9fZmxvYXQxMjgiKSA9PSAwCitkaWZmIC0tZ2l0IGEvZ2Ri L2xhbmd1YWdlLmMgYi9nZGIvbGFuZ3VhZ2UuYworaW5kZXggYzM4NzJmYzlhNi4uYTg1MWY0Yzk2 NiAxMDA2NDQKKy0tLSBhL2dkYi9sYW5ndWFnZS5jCisrKysgYi9nZGIvbGFuZ3VhZ2UuYworQEAg LTc2Niw3ICs3NjYsNyBAQCB1bmtfbGFuZ19wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAq dHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKICAKICBzdGF0aWMgdm9pZAogIHVua19sYW5n X3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAg LTIwNTMsNyArMjI3OSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9sYW5ndWFnZS5jCiAgCQkgICBj b25zdCBjaGFyICplbmNvZGluZywgaW50IGZvcmNlX2VsbGlwc2VzLAogIAkJICAgY29uc3Qgc3Ry dWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiAgewotQEAgLTc3Miw3ICs3NzIsNyBA QAorQEAgLTc4NSw3ICs3ODUsNyBAQCB1bmtfbGFuZ19wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAq dHlwZSwgY29uc3QgY2hhciAqdmFyc3RyaW5nLAogIAogIHN0YXRpYyB2b2lkCiAgdW5rX2xhbmdf dmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTIwNjIsMTEgKzIyODgsMTEgQEAgSW5k ZXg6IGdkYi04LjAvZ2RiL2xhbmd1YWdlLmMKICAJCSAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LCBpbnQgcmVjdXJzZSwKICAJCSAgICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCSAgICBjb25zdCBz dHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUluZGV4OiBnZGItOC4wL2dkYi9s YW5ndWFnZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9sYW5ndWFnZS5oCTIw MTctMDgtMTkgMjA6MDQ6NTkuODA2NzgwNjk4ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvbGFuZ3Vh Z2UuaAkyMDE3LTA4LTE5IDIwOjA1OjEwLjA3Nzg3Njc4NSArMDIwMAotQEAgLTE5Nyw3ICsxOTcs NyBAQAorZGlmZiAtLWdpdCBhL2dkYi9sYW5ndWFnZS5oIGIvZ2RiL2xhbmd1YWdlLmgKK2luZGV4 IDQ3YWQ4ZGEwNWQuLjBjNGU1M2YwZGUgMTAwNjQ0CistLS0gYS9nZGIvbGFuZ3VhZ2UuaAorKysr IGIvZ2RiL2xhbmd1YWdlLmgKK0BAIC0xODgsNyArMTg4LDcgQEAgc3RydWN0IGxhbmd1YWdlX2Rl Zm4KICAJCQkgIHN0cnVjdCB1aV9maWxlICogc3RyZWFtKTsKICAKICAgICAgdm9pZCAoKmxhX3By aW50c3RyKSAoc3RydWN0IHVpX2ZpbGUgKiBzdHJlYW0sIHN0cnVjdCB0eXBlICplbHR0eXBlLApA QCAtMjA3NSw3ICsyMzAxLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2xhbmd1YWdlLmgKICAJCQkg Y29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJCQkgY29uc3Qgc3Ry dWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7CiAgCi1AQCAtMjM1LDcgKzIzNSw3IEBACitAQCAt MjI2LDcgKzIyNiw3IEBAIHN0cnVjdCBsYW5ndWFnZV9kZWZuCiAgICAgICAgIHByaW50aW5nLiAg Ki8KICAKICAgICAgdm9pZCAoKmxhX3ZhbF9wcmludCkgKHN0cnVjdCB0eXBlICp0eXBlLApAQCAt MjA4NCwxMSArMjMxMCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvbGFuZ3VhZ2UuaAogIAkJCSAg c3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgCQkJICBzdHJ1Y3QgdmFsdWUg KnZhbCwKICAJCQkgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKTsK LUluZGV4OiBnZGItOC4wL2dkYi9tMi1sYW5nLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9y aWcvZ2RiL20yLWxhbmcuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgwNzc4MDcwNyArMDIwMAotKysr IGdkYi04LjAvZ2RiL20yLWxhbmcuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA3ODg3Njc5NSArMDIw MAotQEAgLTEwNCwxMCArMTA0LDEwIEBACitkaWZmIC0tZ2l0IGEvZ2RiL20yLWxhbmcuYyBiL2dk Yi9tMi1sYW5nLmMKK2luZGV4IDA5MDUwYzA0ODAuLmRhYjAxMzY1MzMgMTAwNjQ0CistLS0gYS9n ZGIvbTItbGFuZy5jCisrKysgYi9nZGIvbTItbGFuZy5jCitAQCAtMTAzLDEwICsxMDMsMTAgQEAg bTJfcHJpbnRjaGFyIChpbnQgYywgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpz dHJlYW0pCiAgCiAgc3RhdGljIHZvaWQKICBtMl9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0 cmVhbSwgc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCkBAIC0yMTAx LDcgKzIzMjcsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvbTItbGFuZy5jCiAgICB1bnNpZ25lZCBp bnQgdGhpbmdzX3ByaW50ZWQgPSAwOwogICAgaW50IGluX3F1b3RlcyA9IDA7CiAgICBpbnQgbmVl ZF9jb21tYSA9IDA7Ci1AQCAtMTIyLDkgKzEyMiw5IEBACitAQCAtMTIxLDkgKzEyMSw5IEBAIG0y X3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgY29u c3QgZ2RiX2J5dGUgKnN0cmluZywKICAgICAgewogICAgICAgIC8qIFBvc2l0aW9uIG9mIHRoZSBj aGFyYWN0ZXIgd2UgYXJlIGV4YW1pbmluZwogICAgICAgICAgIHRvIHNlZSB3aGV0aGVyIGl0IGlz IHJlcGVhdGVkLiAgKi8KQEAgLTIxMTMsNyArMjMzOSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9t Mi1sYW5nLmMKICAKICAgICAgICBRVUlUOwogIAotQEAgLTE1MCw3ICsxNTAsNyBAQAorQEAgLTE0 OSw3ICsxNDksNyBAQCBtMl9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0 IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCiAgCSAgICAgIGluX3F1b3RlcyA9 IDA7CiAgCSAgICB9CiAgCSAgbTJfcHJpbnRjaGFyIChzdHJpbmdbaV0sIHR5cGUsIHN0cmVhbSk7 CkBAIC0yMTIyLDExICsyMzQ4LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9tMi1sYW5nLmMKICAJ ICBpID0gcmVwMSAtIDE7CiAgCSAgdGhpbmdzX3ByaW50ZWQgKz0gb3B0aW9ucy0+cmVwZWF0X2Nv dW50X3RocmVzaG9sZDsKICAJICBuZWVkX2NvbW1hID0gMTsKLUluZGV4OiBnZGItOC4wL2dkYi9t Mi1sYW5nLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL20yLWxhbmcuaAkyMDE3 LTA4LTE5IDIwOjA0OjU5LjgwNzc4MDcwNyArMDIwMAotKysrIGdkYi04LjAvZ2RiL20yLWxhbmcu aAkyMDE3LTA4LTE5IDIwOjA1OjEwLjA3ODg3Njc5NSArMDIwMAotQEAgLTM0LDcgKzM0LDcgQEAK K2RpZmYgLS1naXQgYS9nZGIvbTItbGFuZy5oIGIvZ2RiL20yLWxhbmcuaAoraW5kZXggMzBmZGRk N2I0Yi4uMDc2NGU3ZGQ1YSAxMDA2NDQKKy0tLSBhL2dkYi9tMi1sYW5nLmgKKysrKyBiL2dkYi9t Mi1sYW5nLmgKK0BAIC0zNCw3ICszNCw3IEBAIGV4dGVybiB2b2lkIG0yX3ByaW50X3R5cGVkZWYg KHN0cnVjdCB0eXBlICosIHN0cnVjdCBzeW1ib2wgKiwKICBleHRlcm4gaW50IG0yX2lzX2xvbmdf c2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSk7CiAgZXh0ZXJuIGludCBtMl9pc191bmJvdW5kZWRfYXJy YXkgKHN0cnVjdCB0eXBlICp0eXBlKTsKICAKQEAgLTIxMzUsMTEgKzIzNjEsMTEgQEAgSW5kZXg6 IGdkYi04LjAvZ2RiL20yLWxhbmcuaAogIAkJCSAgc3RydWN0IHVpX2ZpbGUgKiwgaW50LAogIAkJ CSAgc3RydWN0IHZhbHVlICosCiAgCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9u cyAqKTsKLUluZGV4OiBnZGItOC4wL2dkYi9tMi10eXBlcHJpbnQuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi04LjAub3JpZy9nZGIvbTItdHlwZXByaW50LmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MDc3 ODA3MDcgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9tMi10eXBlcHJpbnQuYwkyMDE3LTA4LTE5IDIw OjA1OjEwLjA3ODg3Njc5NSArMDIwMAotQEAgLTIzNCw5ICsyMzQsMTIgQEAKK2RpZmYgLS1naXQg YS9nZGIvbTItdHlwZXByaW50LmMgYi9nZGIvbTItdHlwZXByaW50LmMKK2luZGV4IDBkZDZmMTlm YzcuLjM3MDFmYmI3MjggMTAwNjQ0CistLS0gYS9nZGIvbTItdHlwZXByaW50LmMKKysrKyBiL2dk Yi9tMi10eXBlcHJpbnQuYworQEAgLTIzNCw5ICsyMzQsMTIgQEAgc3RhdGljIHZvaWQgbTJfYXJy YXkgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogIAkgIG0yX3By aW50X2JvdW5kcyAoVFlQRV9JTkRFWF9UWVBFICh0eXBlKSwgc3RyZWFtLCBzaG93LCAtMSwgMSk7 CiAgCX0KICAgICAgICBlbHNlCkBAIC0yMTU1LDExICsyMzgxLDExIEBAIEluZGV4OiBnZGItOC4w L2dkYi9tMi10eXBlcHJpbnQuYwogICAgICB9CiAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0s ICJdIE9GICIpOwogICAgbTJfcHJpbnRfdHlwZSAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSksICIi LCBzdHJlYW0sIHNob3csIGxldmVsLCBmbGFncyk7Ci1JbmRleDogZ2RiLTguMC9nZGIvbTItdmFs cHJpbnQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvbTItdmFscHJpbnQuYwky MDE3LTA4LTE5IDIwOjA0OjU5LjgwNzc4MDcwNyArMDIwMAotKysrIGdkYi04LjAvZ2RiL20yLXZh bHByaW50LmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNzg4NzY3OTUgKzAyMDAKLUBAIC0zNSw3ICsz NSw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL20yLXZhbHByaW50LmMgYi9nZGIvbTItdmFscHJpbnQu YworaW5kZXggOTY2MGZlN2MwMy4uNzEyN2FmMjZmMiAxMDA2NDQKKy0tLSBhL2dkYi9tMi12YWxw cmludC5jCisrKysgYi9nZGIvbTItdmFscHJpbnQuYworQEAgLTM1LDcgKzM1LDcgQEAgc3RhdGlj IGludCBwcmludF91bnBhY2tlZF9wb2ludGVyIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCQkJICAg c3RydWN0IHVpX2ZpbGUgKnN0cmVhbSk7CiAgc3RhdGljIHZvaWQKICBtMl9wcmludF9hcnJheV9j b250ZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLApAQCAt MjE2OCw3ICsyMzk0LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL20yLXZhbHByaW50LmMKICAJCQkg c3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgCQkJIHN0cnVjdCB2YWx1ZSAq dmFsLAogIAkJCSBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucywKLUBA IC02Nyw3ICs2Nyw3IEBACitAQCAtNjcsNyArNjcsNyBAQCBnZXRfbG9uZ19zZXRfYm91bmRzIChz dHJ1Y3QgdHlwZSAqdHlwZSwgTE9OR0VTVCAqbG93LCBMT05HRVNUICpoaWdoKQogIAogIHN0YXRp YyB2b2lkCiAgbTJfcHJpbnRfbG9uZ19zZXQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJf Ynl0ZSAqdmFsYWRkciwKQEAgLTIxNzcsNyArMjQwMyw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9t Mi12YWxwcmludC5jCiAgCQkgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQogIHsKICAgIGludCBl bXB0eV9zZXQgICAgICAgID0gMTsKLUBAIC0xNTgsNyArMTU4LDcgQEAKK0BAIC0xNTgsNyArMTU4 LDcgQEAgbTJfcHJpbnRfbG9uZ19zZXQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciwKICAKICBzdGF0aWMgdm9pZAogIG0yX3ByaW50X3VuYm91bmRlZF9hcnJheSAo c3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLApAQCAtMjE4Niw3ICsy NDEyLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL20yLXZhbHByaW50LmMKICAJCQkgIHN0cnVjdCB1 aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3By aW50X29wdGlvbnMgKm9wdGlvbnMpCiAgewotQEAgLTI2MCw3ICsyNjAsNyBAQAorQEAgLTI2MCw3 ICsyNjAsNyBAQCBwcmludF92YXJpYWJsZV9hdF9hZGRyZXNzIChzdHJ1Y3QgdHlwZSAqdHlwZSwK ICAKICBzdGF0aWMgdm9pZAogIG0yX3ByaW50X2FycmF5X2NvbnRlbnRzIChzdHJ1Y3QgdHlwZSAq dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCkBAIC0yMTk1LDcgKzI0MjEsNyBAQCBJbmRl eDogZ2RiLTguMC9nZGIvbTItdmFscHJpbnQuYwogIAkJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LCBpbnQgcmVjdXJzZSwKICAJCQkgc3RydWN0IHZhbHVlICp2YWwsCiAgCQkJIGNvbnN0IHN0cnVj dCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotQEAgLTMwOCwxMyArMzA4LDEzIEBACitA QCAtMzA4LDEzICszMDgsMTMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnZW5lcmljX3ZhbF9wcmlu dF9kZWNvcmF0aW9ucyBtMl9kZWNvcmF0aW9ucyA9CiAgICAgZnVuY3Rpb247IHRoZXkgYXJlIGlk ZW50aWNhbC4gICovCiAgCiAgdm9pZApAQCAtMjIxMSw3ICsyNDM3LDcgQEAgSW5kZXg6IGdkYi04 LjAvZ2RiL20yLXZhbHByaW50LmMKICAgIHN0cnVjdCB0eXBlICplbHR0eXBlOwogICAgQ09SRV9B RERSIGFkZHI7CiAgICBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciA9IHZhbHVlX2NvbnRlbnRzX2Zv cl9wcmludGluZyAob3JpZ2luYWxfdmFsdWUpOwotQEAgLTM0MCw3ICszNDAsNyBAQAorQEAgLTM0 MCw3ICszNDAsNyBAQCBtMl92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZW1iZWRk ZWRfb2Zmc2V0LAogIAkgICAgICAgICBlbGVtZW50cyB1cCB0byBpdC4gICovCiAgCSAgICAgIGlm IChvcHRpb25zLT5zdG9wX3ByaW50X2F0X251bGwpCiAgCQl7CkBAIC0yMjIwLDcgKzI0NDYsNyBA QCBJbmRleDogZ2RiLTguMC9nZGIvbTItdmFscHJpbnQuYwogIAogIAkJICAvKiBMb29rIGZvciBh IE5VTEwgY2hhci4gICovCiAgCQkgIGZvciAodGVtcF9sZW4gPSAwOwotQEAgLTQxNiw3ICs0MTYs NyBAQAorQEAgLTQxNiw3ICs0MTYsNyBAQCBtMl92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBl LCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAogIAl7CiAgCSAgc3RydWN0IHR5cGUgKnJhbmdlID0gZWx0 dHlwZTsKICAJICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZDsKQEAgLTIyMjksMTAgKzI0 NTUsMTAgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL20yLXZhbHByaW50LmMKICAJICBpbnQgbmVlZF9j b21tYSA9IDA7CiAgCiAgCSAgZnB1dHNfZmlsdGVyZWQgKCJ7Iiwgc3RyZWFtKTsKLUluZGV4OiBn ZGItOC4wL2dkYi9tZW1yYW5nZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9t ZW1yYW5nZS5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuODA3NzgwNzA3ICswMjAwCi0rKysgZ2RiLTgu MC9nZGIvbWVtcmFuZ2UuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA3ODg3Njc5NSArMDIwMAorZGlm ZiAtLWdpdCBhL2dkYi9tZW1yYW5nZS5jIGIvZ2RiL21lbXJhbmdlLmMKK2luZGV4IDM0ZmVhYzUz YWIuLjAwMmEzNTkxOTkgMTAwNjQ0CistLS0gYS9nZGIvbWVtcmFuZ2UuYworKysrIGIvZ2RiL21l bXJhbmdlLmMKIEBAIC0yMiw4ICsyMiw4IEBACiAgI2luY2x1ZGUgPGFsZ29yaXRobT4KICAKQEAg LTIyNDQsMTEgKzI0NzAsMjAgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL21lbXJhbmdlLmMKICB7CiAg ICBVTE9OR0VTVCBoLCBsOwogIAotSW5kZXg6IGdkYi04LjAvZ2RiL21lbXJhbmdlLmgKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL21lbXJhbmdlLmgJMjAxNy0wOC0xOSAyMDowNDo1 OS44MDg3ODA3MTYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9tZW1yYW5nZS5oCTIwMTctMDgtMTkg MjA6MDU6MTAuMDc5ODc2ODA0ICswMjAwCi1AQCAtMzAsNyArMzAsNyBAQAorZGlmZiAtLWdpdCBh L2dkYi9tZW1yYW5nZS5oIGIvZ2RiL21lbXJhbmdlLmgKK2luZGV4IGZiMTBjZGEyYjcuLmM2NjQ3 YjMyMTEgMTAwNjQ0CistLS0gYS9nZGIvbWVtcmFuZ2UuaAorKysrIGIvZ2RiL21lbXJhbmdlLmgK K0BAIC0yOCw3ICsyOCw3IEBAIHN0cnVjdCBtZW1fcmFuZ2UKKyB7CisgICBtZW1fcmFuZ2UgKCkg PSBkZWZhdWx0OworIAorLSAgbWVtX3JhbmdlIChDT1JFX0FERFIgc3RhcnRfLCBpbnQgbGVuZ3Ro XykKKysgIG1lbV9yYW5nZSAoQ09SRV9BRERSIHN0YXJ0XywgTE9OR0VTVCBsZW5ndGhfKQorICAg OiBzdGFydCAoc3RhcnRfKSwgbGVuZ3RoIChsZW5ndGhfKQorICAge30KKyAKK0BAIC00NywxNCAr NDcsMTQgQEAgc3RydWN0IG1lbV9yYW5nZQogICAgQ09SRV9BRERSIHN0YXJ0OwogIAogICAgLyog TGVuZ3RoIG9mIHRoZSByYW5nZS4gICovCkBAIC0yMjU2LDggKzI0OTEsNiBAQCBJbmRleDogZ2Ri LTguMC9nZGIvbWVtcmFuZ2UuaAogKyAgTE9OR0VTVCBsZW5ndGg7CiAgfTsKICAKLSB0eXBlZGVm IHN0cnVjdCBtZW1fcmFuZ2UgbWVtX3JhbmdlX3M7Ci1AQCAtNDAsOCArNDAsOCBAQAogIC8qIFJl dHVybnMgdHJ1ZSBpZiB0aGUgcmFuZ2VzIGRlZmluZWQgYnkgW3N0YXJ0MSwgc3RhcnQxK2xlbjEp IGFuZAogICAgIFtzdGFydDIsIHN0YXJ0MitsZW4yKSBvdmVybGFwLiAgKi8KICAKQEAgLTIyNjgs MTEgKzI1MDEsMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL21lbXJhbmdlLmgKICAKICAvKiBSZXR1 cm5zIHRydWUgaWYgQUREUiBpcyBpbiBSQU5HRS4gICovCiAgCi1JbmRleDogZ2RiLTguMC9nZGIv bWlwcy1saW51eC1uYXQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvbWlwcy1s aW51eC1uYXQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgwODc4MDcxNiArMDIwMAotKysrIGdkYi04 LjAvZ2RiL21pcHMtbGludXgtbmF0LmMJMjAxNy0wOC0xOSAyMDowNToxMC4wNzk4NzY4MDQgKzAy MDAKLUBAIC01ODQsNyArNTg0LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvbWlwcy1saW51eC1uYXQu YyBiL2dkYi9taXBzLWxpbnV4LW5hdC5jCitpbmRleCBlNmVmNWE2MTcwLi5mOTVkMTY3ZDMwIDEw MDY0NAorLS0tIGEvZ2RiL21pcHMtbGludXgtbmF0LmMKKysrKyBiL2dkYi9taXBzLWxpbnV4LW5h dC5jCitAQCAtNTc5LDcgKzU3OSw3IEBAIG1pcHNfbGludXhfc3RvcHBlZF9kYXRhX2FkZHJlc3Mg KHN0cnVjdCB0YXJnZXRfb3BzICp0LCBDT1JFX0FERFIgKnBhZGRyKQogIAogIHN0YXRpYyBpbnQK ICBtaXBzX2xpbnV4X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9v cHMgKnNlbGYsCkBAIC0yMjgxLDExICsyNTE0LDQ2IEBAIEluZGV4OiBnZGItOC4wL2dkYi9taXBz LWxpbnV4LW5hdC5jCiAgewogICAgc3RydWN0IHB0X3dhdGNoX3JlZ3MgZHVtbXlfcmVnczsKICAg IGludCBpOwotSW5kZXg6IGdkYi04LjAvZ2RiL29wZW5jbC1sYW5nLmMKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItOC4wLm9yaWcvZ2RiL29wZW5jbC1sYW5nLmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MDg3 ODA3MTYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9vcGVuY2wtbGFuZy5jCTIwMTctMDgtMTkgMjA6 MDU6MTAuMDc5ODc2ODA0ICswMjAwCi1AQCAtNzgsMTEgKzc4LDExIEBACitkaWZmIC0tZ2l0IGEv Z2RiL25hdC94ODYtZHJlZ3MuYyBiL2dkYi9uYXQveDg2LWRyZWdzLmMKK2luZGV4IDQ3OGFhOTEz ZTkuLjA1ZWEyYWJmNjIgMTAwNjQ0CistLS0gYS9nZGIvbmF0L3g4Ni1kcmVncy5jCisrKysgYi9n ZGIvbmF0L3g4Ni1kcmVncy5jCitAQCAtMzgwLDcgKzM4MCw3IEBAIHg4Nl9yZW1vdmVfYWxpZ25l ZF93YXRjaHBvaW50IChzdHJ1Y3QgeDg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCisgCisgc3Rh dGljIGludAorIHg4Nl9oYW5kbGVfbm9uYWxpZ25lZF93YXRjaHBvaW50IChzdHJ1Y3QgeDg2X2Rl YnVnX3JlZ19zdGF0ZSAqc3RhdGUsCistCQkJCSAgeDg2X3dwX29wX3Qgd2hhdCwgQ09SRV9BRERS IGFkZHIsIGludCBsZW4sCisrCQkJCSAgeDg2X3dwX29wX3Qgd2hhdCwgQ09SRV9BRERSIGFkZHIs IExPTkdFU1QgbGVuLAorIAkJCQkgIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSkKKyB7Cisg ICBpbnQgcmV0dmFsID0gMDsKK0BAIC01NDgsNyArNTQ4LDcgQEAgeDg2X2RyX3JlbW92ZV93YXRj aHBvaW50IChzdHJ1Y3QgeDg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCisgCisgaW50CisgeDg2 X2RyX3JlZ2lvbl9va19mb3Jfd2F0Y2hwb2ludCAoc3RydWN0IHg4Nl9kZWJ1Z19yZWdfc3RhdGUg KnN0YXRlLAorLQkJCQkgQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCisrCQkJCSBDT1JFX0FERFIg YWRkciwgTE9OR0VTVCBsZW4pCisgeworICAgaW50IG5yZWdzOworIAorZGlmZiAtLWdpdCBhL2dk Yi9uYXQveDg2LWRyZWdzLmggYi9nZGIvbmF0L3g4Ni1kcmVncy5oCitpbmRleCA3ZjdkNzBhNjc4 Li45Y2Y0NzRkYjI5IDEwMDY0NAorLS0tIGEvZ2RiL25hdC94ODYtZHJlZ3MuaAorKysrIGIvZ2Ri L25hdC94ODYtZHJlZ3MuaAorQEAgLTExNiw3ICsxMTYsNyBAQCBleHRlcm4gaW50IHg4Nl9kcl9y ZW1vdmVfd2F0Y2hwb2ludCAoc3RydWN0IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAorIC8q IFJldHVybiBub24temVybyBpZiB3ZSBjYW4gd2F0Y2ggYSBtZW1vcnkgcmVnaW9uIHRoYXQgc3Rh cnRzIGF0CisgICAgYWRkcmVzcyBBRERSIGFuZCB3aG9zZSBsZW5ndGggaXMgTEVOIGJ5dGVzLiAg Ki8KKyBleHRlcm4gaW50IHg4Nl9kcl9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKHN0cnVjdCB4 ODZfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKKy0JCQkJCSAgICBDT1JFX0FERFIgYWRkciwgaW50 IGxlbik7CisrCQkJCQkgICAgQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKTsKKyAKKyAvKiBJ ZiB0aGUgaW5mZXJpb3IgaGFzIHNvbWUgYnJlYWsvd2F0Y2hwb2ludCB0aGF0IHRyaWdnZXJlZCwg c2V0IHRoZQorICAgIGFkZHJlc3MgYXNzb2NpYXRlZCB3aXRoIHRoYXQgYnJlYWsvd2F0Y2hwb2lu dCBhbmQgcmV0dXJuIHRydWUuCitkaWZmIC0tZ2l0IGEvZ2RiL29wZW5jbC1sYW5nLmMgYi9nZGIv b3BlbmNsLWxhbmcuYworaW5kZXggMTI2Nzc2MDViMi4uMjYyYTRlN2ViOSAxMDA2NDQKKy0tLSBh L2dkYi9vcGVuY2wtbGFuZy5jCisrKysgYi9nZGIvb3BlbmNsLWxhbmcuYworQEAgLTc2LDExICs3 NiwxMSBAQCBidWlsdGluX29wZW5jbF90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKICAK ICBzdGF0aWMgc3RydWN0IHR5cGUgKgogIGxvb2t1cF9vcGVuY2xfdmVjdG9yX3R5cGUgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBlbnVtIHR5cGVfY29kZSBjb2RlLApAQCAtMjI5OSw3ICsyNTY3 LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL29wZW5jbC1sYW5nLmMKICAgIHN0cnVjdCB0eXBlICp0 eXBlID0gTlVMTDsKICAgIHN0cnVjdCB0eXBlICoqdHlwZXMgPSBidWlsdGluX29wZW5jbF90eXBl IChnZGJhcmNoKTsKICAKLUBAIC0xNzQsNyArMTc0LDcgQEAKK0BAIC0xNzIsNyArMTcyLDcgQEAg bHZhbF9mdW5jX3JlYWQgKHN0cnVjdCB2YWx1ZSAqdikKICAgIHN0cnVjdCB0eXBlICplbHR5cGUg PSBUWVBFX1RBUkdFVF9UWVBFIChjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChjLT52YWwpKSk7 CiAgICBMT05HRVNUIG9mZnNldCA9IHZhbHVlX29mZnNldCAodik7CiAgICBMT05HRVNUIGVsc2l6 ZSA9IFRZUEVfTEVOR1RIIChlbHR5cGUpOwpAQCAtMjMwOCw3ICsyNTc2LDcgQEAgSW5kZXg6IGdk Yi04LjAvZ2RiL29wZW5jbC1sYW5nLmMKICAgIExPTkdFU1QgbG93YiA9IDA7CiAgICBMT05HRVNU IGhpZ2hiID0gMDsKICAKLUBAIC0yMDMsNyArMjAzLDcgQEAKK0BAIC0yMDEsNyArMjAxLDcgQEAg bHZhbF9mdW5jX3dyaXRlIChzdHJ1Y3QgdmFsdWUgKnYsIHN0cnVjdCB2YWx1ZSAqZnJvbXZhbCkK ICAgIHN0cnVjdCB0eXBlICplbHR5cGUgPSBUWVBFX1RBUkdFVF9UWVBFIChjaGVja190eXBlZGVm ICh2YWx1ZV90eXBlIChjLT52YWwpKSk7CiAgICBMT05HRVNUIG9mZnNldCA9IHZhbHVlX29mZnNl dCAodik7CiAgICBMT05HRVNUIGVsc2l6ZSA9IFRZUEVfTEVOR1RIIChlbHR5cGUpOwpAQCAtMjMx Nyw3ICsyNTg1LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL29wZW5jbC1sYW5nLmMKICAgIExPTkdF U1QgbG93YiA9IDA7CiAgICBMT05HRVNUIGhpZ2hiID0gMDsKICAKLUBAIC0yNDMsMTcgKzI0Mywx NyBAQAorQEAgLTI0MSwxNyArMjQxLDE3IEBAIGx2YWxfZnVuY193cml0ZSAoc3RydWN0IHZhbHVl ICp2LCBzdHJ1Y3QgdmFsdWUgKmZyb212YWwpCiAgCiAgc3RhdGljIGludAogIGx2YWxfZnVuY19j aGVja19zeW50aGV0aWNfcG9pbnRlciAoY29uc3Qgc3RydWN0IHZhbHVlICp2LApAQCAtMjM0Miw3 ICsyNjEwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL29wZW5jbC1sYW5nLmMKICAKICAgIGlmIChl bmRyZXN0KQogICAgICBlbmQrKzsKLUBAIC0yNjMsOCArMjYzLDggQEAKK0BAIC0yNjEsOCArMjYx LDggQEAgbHZhbF9mdW5jX2NoZWNrX3N5bnRoZXRpY19wb2ludGVyIChjb25zdCBzdHJ1Y3QgdmFs dWUgKnYsCiAgCiAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKQogICAgICB7CkBAIC0y MzUzLDExICsyNjIxLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi9vcGVuY2wtbGFuZy5jCiAgCiAg ICAgICAgaWYgKCF2YWx1ZV9iaXRzX3N5bnRoZXRpY19wb2ludGVyIChjLT52YWwsCiAgCQkJCQkg Yy0+aW5kaWNlc1tpXSAqIGVsc2l6ZSArIGNvbXBfb2Zmc2V0LAotSW5kZXg6IGdkYi04LjAvZ2Ri L3AtbGFuZy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9wLWxhbmcuYwkyMDE3 LTA4LTE5IDIwOjA0OjU5LjgwODc4MDcxNiArMDIwMAotKysrIGdkYi04LjAvZ2RiL3AtbGFuZy5j CTIwMTctMDgtMTkgMjA6MDU6MTAuMDc5ODc2ODA0ICswMjAwCi1AQCAtOTUsOCArOTUsOCBAQAor ZGlmZiAtLWdpdCBhL2dkYi9wLWxhbmcuYyBiL2dkYi9wLWxhbmcuYworaW5kZXggZTkzYzE1Yjk1 Zi4uNWM4MjgyYjRlNCAxMDA2NDQKKy0tLSBhL2dkYi9wLWxhbmcuYworKysrIGIvZ2RiL3AtbGFu Zy5jCitAQCAtOTMsOCArOTMsOCBAQCBwYXNjYWxfbWFpbl9uYW1lICh2b2lkKQogICAgIGFyZSBu b3QgbXVsdGlwbGUgb2YgVEFSR0VUX0NIQVJfQklUIHRoZW4gdGhlIHJlc3VsdHMgYXJlIHdyb25n CiAgICAgYnV0IHRoaXMgZG9lcyBub3QgaGFwcGVuIGZvciBGcmVlIFBhc2NhbCBub3IgZm9yIEdQ Qy4gICovCiAgaW50CkBAIC0yMzY4LDcgKzI2MzYsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvcC1s YW5nLmMKICAJCSAgICAgICBzdHJ1Y3QgdHlwZSAqKmNoYXJfdHlwZSwKICAJCSAgICAgICBjb25z dCBjaGFyICoqYXJyYXluYW1lKQogIHsKLUBAIC0yMTYsMTIgKzIxNiwxMiBAQAorQEAgLTIxNCwx MiArMjE0LDEyIEBAIHBhc2NhbF9wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwg c3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKICAKICB2b2lkCiAgcGFzY2FsX3ByaW50c3RyIChzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTIzODMsNyArMjY1MSw3 IEBAIEluZGV4OiBnZGItOC4wL2dkYi9wLWxhbmcuYwogICAgdW5zaWduZWQgaW50IHRoaW5nc19w cmludGVkID0gMDsKICAgIGludCBpbl9xdW90ZXMgPSAwOwogICAgaW50IG5lZWRfY29tbWEgPSAw OwotQEAgLTI0OSw5ICsyNDksOSBAQAorQEAgLTI0Nyw5ICsyNDcsOSBAQCBwYXNjYWxfcHJpbnRz dHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0eXBlLAogICAgICB7CiAg ICAgICAgLyogUG9zaXRpb24gb2YgdGhlIGNoYXJhY3RlciB3ZSBhcmUgZXhhbWluaW5nCiAgICAg ICAgICAgdG8gc2VlIHdoZXRoZXIgaXQgaXMgcmVwZWF0ZWQuICAqLwpAQCAtMjM5NSw3ICsyNjYz LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3AtbGFuZy5jCiAgICAgICAgdW5zaWduZWQgbG9uZyBp bnQgY3VycmVudF9jaGFyOwogIAogICAgICAgIFFVSVQ7Ci1AQCAtMjgzLDcgKzI4Myw3IEBACitA QCAtMjgxLDcgKzI4MSw3IEBAIHBhc2NhbF9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwgc3RydWN0IHR5cGUgKnR5cGUsCiAgCSAgICAgIGluX3F1b3RlcyA9IDA7CiAgCSAgICB9CiAg CSAgcGFzY2FsX3ByaW50Y2hhciAoY3VycmVudF9jaGFyLCB0eXBlLCBzdHJlYW0pOwpAQCAtMjQw NCwxMSArMjY3MiwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvcC1sYW5nLmMKICAJICBpID0gcmVw MSAtIDE7CiAgCSAgdGhpbmdzX3ByaW50ZWQgKz0gb3B0aW9ucy0+cmVwZWF0X2NvdW50X3RocmVz aG9sZDsKICAJICBuZWVkX2NvbW1hID0gMTsKLUluZGV4OiBnZGItOC4wL2dkYi9wLWxhbmcuaAot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvcC1sYW5nLmgJMjAxNy0wOC0xOSAyMDow NDo1OS44MDk3ODA3MjYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9wLWxhbmcuaAkyMDE3LTA4LTE5 IDIwOjA1OjEwLjA4MDg3NjgxMyArMDIwMAotQEAgLTM2LDcgKzM2LDcgQEAKK2RpZmYgLS1naXQg YS9nZGIvcC1sYW5nLmggYi9nZGIvcC1sYW5nLmgKK2luZGV4IDFmODJjMWFjMWYuLmRiZTc3MDNm ZDggMTAwNjQ0CistLS0gYS9nZGIvcC1sYW5nLmgKKysrKyBiL2dkYi9wLWxhbmcuaAorQEAgLTM2 LDcgKzM2LDcgQEAgZXh0ZXJuIHZvaWQgcGFzY2FsX3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlICos IGNvbnN0IGNoYXIgKiwgc3RydWN0IHVpX2ZpbGUgKiwKICBleHRlcm4gdm9pZCBwYXNjYWxfcHJp bnRfdHlwZWRlZiAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHN5bWJvbCAqLAogIAkJCQkgIHN0cnVj dCB1aV9maWxlICopOwogIApAQCAtMjQxNyw3ICsyNjg1LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2Ri L3AtbGFuZy5oCiAgCQkJICAgICAgQ09SRV9BRERSLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCiAg CQkJICAgICAgc3RydWN0IHZhbHVlICosCiAgCQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3By aW50X29wdGlvbnMgKik7Ci1AQCAtNTAsMTMgKzUwLDEzIEBACitAQCAtNTAsMTMgKzUwLDEzIEBA IGV4dGVybiB2b2lkIHBhc2NhbF90eXBlX3ByaW50X21ldGhvZF9hcmdzIChjb25zdCBjaGFyICos IGNvbnN0IGNoYXIgKiwKICAvKiBUaGVzZSBhcmUgaW4gcC1sYW5nLmM6ICovCiAgCiAgZXh0ZXJu IGludApAQCAtMjQzMiwxMiArMjcwMCwxMiBAQCBJbmRleDogZ2RiLTguMC9nZGIvcC1sYW5nLmgK ICsJCQkgICAgIFVMT05HRVNULCBjb25zdCBjaGFyICosIGludCwKICAJCQkgICAgIGNvbnN0IHN0 cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICopOwogIAotIGV4dGVybiBzdHJ1Y3QgdHlwZSAqKmNv bnN0IChwYXNjYWxfYnVpbHRpbl90eXBlc1tdKTsKLUluZGV4OiBnZGItOC4wL2dkYi9wLXZhbHBy aW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3AtdmFscHJpbnQuYwkyMDE3 LTA4LTE5IDIwOjA0OjU5LjgwOTc4MDcyNiArMDIwMAotKysrIGdkYi04LjAvZ2RiL3AtdmFscHJp bnQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA4MDg3NjgxMyArMDIwMAotQEAgLTU5LDcgKzU5LDcg QEAKKyBleHRlcm4gc3RydWN0IHR5cGUgKipjb25zdCBwYXNjYWxfYnVpbHRpbl90eXBlc1tdOwor ZGlmZiAtLWdpdCBhL2dkYi9wLXZhbHByaW50LmMgYi9nZGIvcC12YWxwcmludC5jCitpbmRleCBk MTJiNjM2MzhiLi4zY2RjODQ3ZmUzIDEwMDY0NAorLS0tIGEvZ2RiL3AtdmFscHJpbnQuYworKysr IGIvZ2RiL3AtdmFscHJpbnQuYworQEAgLTYwLDcgKzYwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBnZW5lcmljX3ZhbF9wcmludF9kZWNvcmF0aW9ucyBwX2RlY29yYXRpb25zID0KICAKICB2b2lk CiAgcGFzY2FsX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0yNDQ2LDcgKzI3MTQs NyBAQCBJbmRleDogZ2RiLTguMC9nZGIvcC12YWxwcmludC5jCiAgCQkgIHN0cnVjdCB1aV9maWxl ICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkJICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVl LAogIAkJICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUBAIC03 MCw4ICs3MCw4IEBACitAQCAtNzEsOCArNzEsOCBAQCBwYXNjYWxfdmFsX3ByaW50IChzdHJ1Y3Qg dHlwZSAqdHlwZSwKICAgIHVuc2lnbmVkIGxlbjsKICAgIExPTkdFU1QgbG93X2JvdW5kLCBoaWdo X2JvdW5kOwogICAgc3RydWN0IHR5cGUgKmVsdHR5cGU7CkBAIC0yNDU3LDExICsyNzI1LDExIEBA IEluZGV4OiBnZGItOC4wL2dkYi9wLXZhbHByaW50LmMKICAgIHN0cnVjdCB0eXBlICpjaGFyX3R5 cGU7CiAgICBDT1JFX0FERFIgYWRkcjsKICAgIGludCB3YW50X3NwYWNlID0gMDsKLUluZGV4OiBn ZGItOC4wL2dkYi9wcGMtbGludXgtbmF0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcv Z2RiL3BwYy1saW51eC1uYXQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgwOTc4MDcyNiArMDIwMAot KysrIGdkYi04LjAvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA4MDg3 NjgxMyArMDIwMAotQEAgLTE0NDUsNyArMTQ0NSw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3BwYy1s aW51eC1uYXQuYyBiL2dkYi9wcGMtbGludXgtbmF0LmMKK2luZGV4IGY2NDUyMjFjYjQuLjQyOWI5 YzYyMzEgMTAwNjQ0CistLS0gYS9nZGIvcHBjLWxpbnV4LW5hdC5jCisrKysgYi9nZGIvcHBjLWxp bnV4LW5hdC5jCitAQCAtMTQ0NSw3ICsxNDQ1LDcgQEAgcHBjX2xpbnV4X2Nhbl91c2VfaHdfYnJl YWtwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCiAgCiAgc3RhdGljIGludAogIHBwY19s aW51eF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxm LApAQCAtMjQ3MCwxMSArMjczOCwyNCBAQCBJbmRleDogZ2RiLTguMC9nZGIvcHBjLWxpbnV4LW5h dC5jCiAgewogICAgLyogSGFuZGxlIHN1Yi04LWJ5dGUgcXVhbnRpdGllcy4gICovCiAgICBpZiAo bGVuIDw9IDApCi1JbmRleDogZ2RiLTguMC9nZGIvcHJpbnRjbWQuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi04LjAub3JpZy9nZGIvcHJpbnRjbWQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgxMDc4MDcz NSArMDIwMAotKysrIGdkYi04LjAvZ2RiL3ByaW50Y21kLmMJMjAxNy0wOC0xOSAyMDowNToxMC4w ODE4NzY4MjMgKzAyMDAKLUBAIC0yODAsNyArMjgwLDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvcHBj LWxpbnV4LXRkZXAuYyBiL2dkYi9wcGMtbGludXgtdGRlcC5jCitpbmRleCAwZTQzYTY0YjY5Li4y MGJlMmRhNjNiIDEwMDY0NAorLS0tIGEvZ2RiL3BwYy1saW51eC10ZGVwLmMKKysrKyBiL2dkYi9w cGMtbGludXgtdGRlcC5jCitAQCAtMTYyMCw3ICsxNjIwLDcgQEAgcHBjX2luaXRfbGludXhfcmVj b3JkX3RkZXAgKHN0cnVjdCBsaW51eF9yZWNvcmRfdGRlcCAqcmVjb3JkX3RkZXAsCisgCisgY29u c3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqCisgcHBjX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo YXIgKm5hbWUsIGludCBsZW4pCisrICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFy ICpuYW1lLCBMT05HRVNUIGxlbikKKyB7CisgICBpZiAobGVuID09IDEyOCAmJiBuYW1lKQorICAg ICB7CitkaWZmIC0tZ2l0IGEvZ2RiL3ByaW50Y21kLmMgYi9nZGIvcHJpbnRjbWQuYworaW5kZXgg Mzg2NDI2NDFiOS4uZDU3M2ZjOTA5ZSAxMDA2NDQKKy0tLSBhL2dkYi9wcmludGNtZC5jCisrKysg Yi9nZGIvcHJpbnRjbWQuYworQEAgLTI3Nyw3ICsyNzcsNyBAQCBwcmludF9mb3JtYXR0ZWQgKHN0 cnVjdCB2YWx1ZSAqdmFsLCBpbnQgc2l6ZSwKICAJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQog IHsKICAgIHN0cnVjdCB0eXBlICp0eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAodmFs KSk7CkBAIC0yNDgzLDIwICsyNzY0LDIwIEBAIEluZGV4OiBnZGItOC4wL2dkYi9wcmludGNtZC5j CiAgCiAgICBpZiAoVkFMVUVfTFZBTCAodmFsKSA9PSBsdmFsX21lbW9yeSkKICAgICAgbmV4dF9h ZGRyZXNzID0gdmFsdWVfYWRkcmVzcyAodmFsKSArIGxlbjsKLUBAIC0zNTcsNyArMzU3LDcgQEAK K0BAIC0zNTMsNyArMzUzLDcgQEAgcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAoY29uc3QgZ2RiX2J5 dGUgKnZhbGFkZHIsIHN0cnVjdCB0eXBlICp0eXBlLAorIAkJCWludCBzaXplLCBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtKQogIHsKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X3R5cGVf YXJjaCAodHlwZSk7Ci0gICBMT05HRVNUIHZhbF9sb25nID0gMDsKIC0gIHVuc2lnbmVkIGludCBs ZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7CiArICBVTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAo dHlwZSk7CiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRl ciAoZ2RiYXJjaCk7CiAgCiAgICAvKiBTdHJpbmcgcHJpbnRpbmcgc2hvdWxkIGdvIHRocm91Z2gg dmFsX3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQuICAqLwotSW5kZXg6IGdkYi04LjAvZ2RiL3Byb2Nm cy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9wcm9jZnMuYwkyMDE3LTA4LTE5 IDIwOjA0OjU5LjgxMTc4MDc0NCArMDIwMAotKysrIGdkYi04LjAvZ2RiL3Byb2Nmcy5jCTIwMTct MDgtMTkgMjA6MDU6MTAuMDgyODc2ODMyICswMjAwCi1AQCAtNDg2NCw3ICs0ODY0LDcgQEAKK2Rp ZmYgLS1naXQgYS9nZGIvcHJvY2ZzLmMgYi9nZGIvcHJvY2ZzLmMKK2luZGV4IDg4OGRjNjk1YzUu LjFkZDM4M2FlY2IgMTAwNjQ0CistLS0gYS9nZGIvcHJvY2ZzLmMKKysrKyBiL2dkYi9wcm9jZnMu YworQEAgLTMzOTksNyArMzM5OSw3IEBAIHByb2Nmc19yZW1vdmVfd2F0Y2hwb2ludCAoc3RydWN0 IHRhcmdldF9vcHMgKnNlbGYsCiAgCiAgc3RhdGljIGludAogIHByb2Nmc19yZWdpb25fb2tfZm9y X2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLApAQCAtMjUwNSw2MCArMjc4 Niw5MCBAQCBJbmRleDogZ2RiLTguMC9nZGIvcHJvY2ZzLmMKICB7CiAgICAvKiBUaGUgbWFuIHBh Z2UgZm9yIHByb2MoNCkgb24gU29sYXJpcyAyLjYgYW5kIHVwIHNheXMgdGhhdCB0aGUKICAgICAg IHN5c3RlbSBjYW4gc3VwcG9ydCAidGhvdXNhbmRzIiBvZiBoYXJkd2FyZSB3YXRjaHBvaW50cywg YnV0IGdpdmVzCi1JbmRleDogZ2RiLTguMC9nZGIvcmVnY2FjaGUuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi04LjAub3JpZy9nZGIvcmVnY2FjaGUuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgxMTc4MDc0 NCArMDIwMAotKysrIGdkYi04LjAvZ2RiL3JlZ2NhY2hlLmMJMjAxNy0wOC0xOSAyMDowNToxMC4w ODI4NzY4MzIgKzAyMDAKLUBAIC05ODgsNyArOTg4LDcgQEAKLSAKLSBzdGF0aWMgZW51bSByZWdp c3Rlcl9zdGF0dXMKLSByZWdjYWNoZV94ZmVyX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2Fj aGUsIGludCByZWdudW0sCi0tCQkgICAgaW50IG9mZnNldCwgaW50IGxlbiwgdm9pZCAqaW4sIGNv bnN0IHZvaWQgKm91dCwKLSsJCSAgICBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBsZW4sIHZvaWQg KmluLCBjb25zdCB2b2lkICpvdXQsCi0gCQkgICAgZW51bSByZWdpc3Rlcl9zdGF0dXMgKCpyZWFk KSAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKLSAJCQkJCQkgIGludCByZWdudW0sCi0gCQkJ CQkJICBnZGJfYnl0ZSAqYnVmKSwKLUBAIC0xMDMzLDcgKzEwMzMsNyBAQAorZGlmZiAtLWdpdCBh L2dkYi9yZWdjYWNoZS5jIGIvZ2RiL3JlZ2NhY2hlLmMKK2luZGV4IGFjOTA1YzZlNDkuLjdhZWE5 ZGYwNmEgMTAwNjQ0CistLS0gYS9nZGIvcmVnY2FjaGUuYworKysrIGIvZ2RiL3JlZ2NhY2hlLmMK K0BAIC04OTcsNyArODk3LDcgQEAgdHlwZWRlZiB2b2lkIChyZWdjYWNoZV93cml0ZV9mdHlwZSkg KHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCisgCQkJCSAgICAgY29uc3Qg dm9pZCAqYnVmKTsKKyAKKyBlbnVtIHJlZ2lzdGVyX3N0YXR1cworLXJlZ2NhY2hlOjp4ZmVyX3Bh cnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sIHZvaWQgKmluLAorK3JlZ2NhY2hl Ojp4ZmVyX3BhcnQgKGludCByZWdudW0sIExPTkdFU1Qgb2Zmc2V0LCBMT05HRVNUIGxlbiwgdm9p ZCAqaW4sCisgCQkgICAgIGNvbnN0IHZvaWQgKm91dCwgYm9vbCBpc19yYXcpCisgeworICAgc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBhcmNoICgpOworQEAgLTk0MSwxMyArOTQxLDEzIEBAIHJl Z2NhY2hlOjp4ZmVyX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sIHZvaWQg KmluLAogIAogIGVudW0gcmVnaXN0ZXJfc3RhdHVzCiAgcmVnY2FjaGVfcmF3X3JlYWRfcGFydCAo c3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IHJlZ251bSwKIC0JCQlpbnQgb2Zmc2V0LCBp bnQgbGVuLCBnZGJfYnl0ZSAqYnVmKQogKwkJCWludCBvZmZzZXQsIExPTkdFU1QgbGVuLCBnZGJf Ynl0ZSAqYnVmKQogIHsKLSAgIHN0cnVjdCByZWdjYWNoZV9kZXNjciAqZGVzY3IgPSByZWdjYWNo ZS0+ZGVzY3I7CisgICByZXR1cm4gcmVnY2FjaGUtPnJhd19yZWFkX3BhcnQgKHJlZ251bSwgb2Zm c2V0LCBsZW4sIGJ1Zik7CisgfQogIAotQEAgLTEwNDQsNyArMTA0NCw3IEBACisgZW51bSByZWdp c3Rlcl9zdGF0dXMKKy1yZWdjYWNoZTo6cmF3X3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9m ZnNldCwgaW50IGxlbiwgZ2RiX2J5dGUgKmJ1ZikKKytyZWdjYWNoZTo6cmF3X3JlYWRfcGFydCAo aW50IHJlZ251bSwgaW50IG9mZnNldCwgTE9OR0VTVCBsZW4sIGdkYl9ieXRlICpidWYpCisgewor ICAgYXNzZXJ0X3JlZ251bSAocmVnbnVtKTsKKyAgIHJldHVybiB4ZmVyX3BhcnQgKHJlZ251bSwg b2Zmc2V0LCBsZW4sIGJ1ZiwgTlVMTCwgdHJ1ZSk7CitAQCAtOTU1LDEzICs5NTUsMTMgQEAgcmVn Y2FjaGU6OnJhd19yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sIGdk Yl9ieXRlICpidWYpCiAgCiAgdm9pZAogIHJlZ2NhY2hlX3Jhd193cml0ZV9wYXJ0IChzdHJ1Y3Qg cmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVtLAogLQkJCSBpbnQgb2Zmc2V0LCBpbnQgbGVu LCBjb25zdCBnZGJfYnl0ZSAqYnVmKQogKwkJCSBpbnQgb2Zmc2V0LCBMT05HRVNUIGxlbiwgY29u c3QgZ2RiX2J5dGUgKmJ1ZikKICB7Ci0gICBzdHJ1Y3QgcmVnY2FjaGVfZGVzY3IgKmRlc2NyID0g cmVnY2FjaGUtPmRlc2NyOworICAgcmVnY2FjaGUtPnJhd193cml0ZV9wYXJ0IChyZWdudW0sIG9m ZnNldCwgbGVuLCBidWYpOworIH0KICAKLUBAIC0xMDU1LDcgKzEwNTUsNyBAQAorIHZvaWQKKy1y ZWdjYWNoZTo6cmF3X3dyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4s CisrcmVnY2FjaGU6OnJhd193cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBMT05H RVNUIGxlbiwKKyAJCQkgIGNvbnN0IGdkYl9ieXRlICpidWYpCisgeworICAgYXNzZXJ0X3JlZ251 bSAocmVnbnVtKTsKK0BAIC05NzAsMTQgKzk3MCwxNSBAQCByZWdjYWNoZTo6cmF3X3dyaXRlX3Bh cnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCiAgCiAgZW51bSByZWdpc3Rlcl9z dGF0dXMKICByZWdjYWNoZV9jb29rZWRfcmVhZF9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2Nh Y2hlLCBpbnQgcmVnbnVtLAogLQkJCSAgIGludCBvZmZzZXQsIGludCBsZW4sIGdkYl9ieXRlICpi dWYpCiArCQkJICAgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLCBnZGJfYnl0ZSAqYnVmKQog IHsKLSAgIHN0cnVjdCByZWdjYWNoZV9kZXNjciAqZGVzY3IgPSByZWdjYWNoZS0+ZGVzY3I7Cisg ICByZXR1cm4gcmVnY2FjaGUtPmNvb2tlZF9yZWFkX3BhcnQgKHJlZ251bSwgb2Zmc2V0LCBsZW4s IGJ1Zik7CisgfQogIAotQEAgLTEwNjYsNyArMTA2Niw3IEBACisgCisgZW51bSByZWdpc3Rlcl9z dGF0dXMKKy1yZWdjYWNoZTo6Y29va2VkX3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNl dCwgaW50IGxlbiwgZ2RiX2J5dGUgKmJ1ZikKKytyZWdjYWNoZTo6Y29va2VkX3JlYWRfcGFydCAo aW50IHJlZ251bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLAorKwkJCSAgICBnZGJfYnl0 ZSAqYnVmKQorIHsKKyAgIGdkYl9hc3NlcnQgKHJlZ251bSA+PSAwICYmIHJlZ251bSA8IG1fZGVz Y3ItPm5yX2Nvb2tlZF9yZWdpc3RlcnMpOworICAgcmV0dXJuIHhmZXJfcGFydCAocmVnbnVtLCBv ZmZzZXQsIGxlbiwgYnVmLCBOVUxMLCBmYWxzZSk7CitAQCAtOTg1LDEzICs5ODYsMTMgQEAgcmVn Y2FjaGU6OmNvb2tlZF9yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4s IGdkYl9ieXRlICpidWYpCiAgCiAgdm9pZAogIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZV9wYXJ0IChz dHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVtLAogLQkJCSAgICBpbnQgb2Zmc2V0 LCBpbnQgbGVuLCBjb25zdCBnZGJfYnl0ZSAqYnVmKQogKwkJCSAgICBMT05HRVNUIG9mZnNldCwg TE9OR0VTVCBsZW4sIGNvbnN0IGdkYl9ieXRlICpidWYpCiAgewotICAgc3RydWN0IHJlZ2NhY2hl X2Rlc2NyICpkZXNjciA9IHJlZ2NhY2hlLT5kZXNjcjsKKyAgIHJlZ2NhY2hlLT5jb29rZWRfd3Jp dGVfcGFydCAocmVnbnVtLCBvZmZzZXQsIGxlbiwgYnVmKTsKKyB9CiAgCi1JbmRleDogZ2RiLTgu MC9nZGIvcmVnY2FjaGUuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvcmVnY2Fj aGUuaAkyMDE3LTA4LTE5IDIwOjA0OjU5LjgxMjc4MDc1NCArMDIwMAotKysrIGdkYi04LjAvZ2Ri L3JlZ2NhY2hlLmgJMjAxNy0wOC0xOSAyMDowNToxMC4wODM4NzY4NDEgKzAyMDAKLUBAIC05NCw5 ICs5NCw5IEBACisgdm9pZAorLXJlZ2NhY2hlOjpjb29rZWRfd3JpdGVfcGFydCAoaW50IHJlZ251 bSwgaW50IG9mZnNldCwgaW50IGxlbiwKKytyZWdjYWNoZTo6Y29va2VkX3dyaXRlX3BhcnQgKGlu dCByZWdudW0sIExPTkdFU1Qgb2Zmc2V0LCBMT05HRVNUIGxlbiwKKyAJCQkgICAgIGNvbnN0IGdk Yl9ieXRlICpidWYpCisgeworICAgZ2RiX2Fzc2VydCAocmVnbnVtID49IDAgJiYgcmVnbnVtIDwg bV9kZXNjci0+bnJfY29va2VkX3JlZ2lzdGVycyk7CitkaWZmIC0tZ2l0IGEvZ2RiL3JlZ2NhY2hl LmggYi9nZGIvcmVnY2FjaGUuaAoraW5kZXggYzVlZjQxYjdhNi4uMGQ0ZjJjZGNjYyAxMDA2NDQK Ky0tLSBhL2dkYi9yZWdjYWNoZS5oCisrKysgYi9nZGIvcmVnY2FjaGUuaAorQEAgLTgyLDkgKzgy LDkgQEAgZXh0ZXJuIHZvaWQgcmVnY2FjaGVfcmF3X3NldF9jYWNoZWRfdmFsdWUKICAKICBleHRl cm4gZW51bSByZWdpc3Rlcl9zdGF0dXMKICAgIHJlZ2NhY2hlX3Jhd19yZWFkX3BhcnQgKHN0cnVj dCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0yNTcwLDcgKzI4ODEsNyBAQCBJ bmRleDogZ2RiLTguMC9nZGIvcmVnY2FjaGUuaAogIAogIHZvaWQgcmVnY2FjaGVfaW52YWxpZGF0 ZSAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IHJlZ251bSk7CiAgCi1AQCAtMTMzLDEw ICsxMzMsMTEgQEAKK0BAIC0xMjEsMTAgKzEyMSwxMSBAQCBleHRlcm4gdm9pZCByZWdjYWNoZV9j b29rZWRfd3JpdGVfdW5zaWduZWQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsCiAgICAgd3Jp dGUgc3R5bGUgb3BlcmF0aW9ucy4gICovCiAgCiAgZW51bSByZWdpc3Rlcl9zdGF0dXMgcmVnY2Fj aGVfY29va2VkX3JlYWRfcGFydCAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKQEAgLTI1ODUs MTEgKzI4OTYsNDIgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3JlZ2NhY2hlLmgKICAKICAvKiBTcGVj aWFsIHJvdXRpbmVzIHRvIHJlYWQvd3JpdGUgdGhlIFBDLiAgKi8KICAKLUluZGV4OiBnZGItOC4w L2dkYi9yZW1vdGUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvcmVtb3RlLmMJ MjAxNy0wOC0xOSAyMDowNDo1OS44MTQ3ODA3NzIgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9yZW1v dGUuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA4NTg3Njg2MCArMDIwMAotQEAgLTk5MTUsNyArOTkx NSw3IEBACitAQCAtMzAyLDE1ICszMDMsMTUgQEAgcHVibGljOgorIAorICAgdm9pZCBpbnZhbGlk YXRlIChpbnQgcmVnbnVtKTsKKyAKKy0gIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHJhd19yZWFkX3Bh cnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCisrICBlbnVtIHJlZ2lzdGVyX3N0 YXR1cyByYXdfcmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBMT05HRVNUIGxlbiwK KyAJCQkJICAgICAgZ2RiX2J5dGUgKmJ1Zik7CisgCistICB2b2lkIHJhd193cml0ZV9wYXJ0IChp bnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLCBjb25zdCBnZGJfYnl0ZSAqYnVmKTsKKysg IHZvaWQgcmF3X3dyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIExPTkdFU1QgbGVu LCBjb25zdCBnZGJfYnl0ZSAqYnVmKTsKKyAKKy0gIGVudW0gcmVnaXN0ZXJfc3RhdHVzIGNvb2tl ZF9yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCisrICBlbnVtIHJl Z2lzdGVyX3N0YXR1cyBjb29rZWRfcmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBMT05HRVNUIG9mZnNl dCwgTE9OR0VTVCBsZW4sCisgCQkJCQkgZ2RiX2J5dGUgKmJ1Zik7CisgCistICB2b2lkIGNvb2tl ZF93cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLAorKyAgdm9pZCBj b29rZWRfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVu LAorIAkJCSAgY29uc3QgZ2RiX2J5dGUgKmJ1Zik7CisgCisgICB2b2lkIHN1cHBseV9yZWdzZXQg KGNvbnN0IHN0cnVjdCByZWdzZXQgKnJlZ3NldCwKK0BAIC0zNDksOCArMzUwLDggQEAgcHJpdmF0 ZToKKyAKKyAgIHZvaWQgcmVzdG9yZSAoc3RydWN0IHJlZ2NhY2hlICpzcmMpOworIAorLSAgZW51 bSByZWdpc3Rlcl9zdGF0dXMgeGZlcl9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQg bGVuLCB2b2lkICppbiwKKy0JCQkJICBjb25zdCB2b2lkICpvdXQsIGJvb2wgaXNfcmF3KTsKKysg IGVudW0gcmVnaXN0ZXJfc3RhdHVzIHhmZXJfcGFydCAoaW50IHJlZ251bSwgTE9OR0VTVCBvZmZz ZXQsIExPTkdFU1QgbGVuLAorKwkJCQkgIHZvaWQgKmluLCBjb25zdCB2b2lkICpvdXQsIGJvb2wg aXNfcmF3KTsKKyAKKyAgIHZvaWQgdHJhbnNmZXJfcmVnc2V0IChjb25zdCBzdHJ1Y3QgcmVnc2V0 ICpyZWdzZXQsCisgCQkJc3RydWN0IHJlZ2NhY2hlICpvdXRfcmVnY2FjaGUsCitkaWZmIC0tZ2l0 IGEvZ2RiL3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jCitpbmRleCAwYTYyYWUwMGU1Li40N2QzYTA0 ZGQ5IDEwMDY0NAorLS0tIGEvZ2RiL3JlbW90ZS5jCisrKysgYi9nZGIvcmVtb3RlLmMKK0BAIC05 OTY0LDcgKzk5NjQsNyBAQCBpbnQgcmVtb3RlX2h3X2JyZWFrcG9pbnRfbGltaXQgPSAtMTsKICAK ICBzdGF0aWMgaW50CiAgcmVtb3RlX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0 IHRhcmdldF9vcHMgKnNlbGYsCkBAIC0yNTk4LDExICsyOTQwLDQ2IEBAIEluZGV4OiBnZGItOC4w L2dkYi9yZW1vdGUuYwogIHsKICAgIGlmIChyZW1vdGVfaHdfd2F0Y2hwb2ludF9sZW5ndGhfbGlt aXQgPT0gMCkKICAgICAgcmV0dXJuIDA7Ci1JbmRleDogZ2RiLTguMC9nZGIvc3B1LW11bHRpYXJj aC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9zcHUtbXVsdGlhcmNoLmMJMjAx Ny0wOC0xOSAyMDowNDo1OS44MTQ3ODA3NzIgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9zcHUtbXVs dGlhcmNoLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wODU4NzY4NjAgKzAyMDAKLUBAIC0xMjcsNyAr MTI3LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvcnVzdC1sYW5nLmMgYi9nZGIvcnVzdC1sYW5nLmMK K2luZGV4IDE4NTNmNjgzZTkuLjVkNjQ5NzZmNjEgMTAwNjQ0CistLS0gYS9nZGIvcnVzdC1sYW5n LmMKKysrKyBiL2dkYi9ydXN0LWxhbmcuYworQEAgLTQ3Miw3ICs0NzIsNyBAQCBydXN0X3ByaW50 Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQor IAorIHN0YXRpYyB2b2lkCisgcnVzdF9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwg c3RydWN0IHR5cGUgKnR5cGUsCistCSAgICAgICBjb25zdCBnZGJfYnl0ZSAqc3RyaW5nLCB1bnNp Z25lZCBpbnQgbGVuZ3RoLAorKwkgICAgICAgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywgVUxPTkdF U1QgbGVuZ3RoLAorIAkgICAgICAgY29uc3QgY2hhciAqdXNlcl9lbmNvZGluZywgaW50IGZvcmNl X2VsbGlwc2VzLAorIAkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9w dGlvbnMpCisgeworQEAgLTYxOCw3ICs2MTgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGdlbmVy aWNfdmFsX3ByaW50X2RlY29yYXRpb25zIHJ1c3RfZGVjb3JhdGlvbnMgPQorIC8qIGxhX3ZhbF9w cmludCBpbXBsZW1lbnRhdGlvbiBmb3IgUnVzdC4gICovCisgCisgc3RhdGljIHZvaWQKKy1ydXN0 X3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBlbWJlZGRlZF9vZmZzZXQsCisrcnVz dF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwK KyAJCUNPUkVfQUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJz ZSwKKyAJCXN0cnVjdCB2YWx1ZSAqdmFsLAorIAkJY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29w dGlvbnMgKm9wdGlvbnMpCitkaWZmIC0tZ2l0IGEvZ2RiL3MzOTAtbGludXgtbmF0LmMgYi9nZGIv czM5MC1saW51eC1uYXQuYworaW5kZXggMDNiMTRhOWVjYy4uMmY4NGI0MTI0NCAxMDA2NDQKKy0t LSBhL2dkYi9zMzkwLWxpbnV4LW5hdC5jCisrKysgYi9nZGIvczM5MC1saW51eC1uYXQuYworQEAg LTkyMSw3ICs5MjEsNyBAQCBzMzkwX3JlbW92ZV9od19icmVha3BvaW50IChzdHJ1Y3QgdGFyZ2V0 X29wcyAqc2VsZiwKKyAKKyBzdGF0aWMgaW50CisgczM5MF9yZWdpb25fb2tfZm9yX2h3X3dhdGNo cG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLAorLQkJCQkgIENPUkVfQUREUiBhZGRyLCBp bnQgY250KQorKwkJCQkgIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGNudCkKKyB7CisgICByZXR1 cm4gMTsKKyB9CitkaWZmIC0tZ2l0IGEvZ2RiL3NwdS1tdWx0aWFyY2guYyBiL2dkYi9zcHUtbXVs dGlhcmNoLmMKK2luZGV4IDM5Mjk5NTkwMGUuLmExNzRiZjVjYjIgMTAwNjQ0CistLS0gYS9nZGIv c3B1LW11bHRpYXJjaC5jCisrKysgYi9nZGIvc3B1LW11bHRpYXJjaC5jCitAQCAtMTI4LDcgKzEy OCw3IEBAIHNwdV90aHJlYWRfYXJjaGl0ZWN0dXJlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzLCBw dGlkX3QgcHRpZCkKICAvKiBPdmVycmlkZSB0aGUgdG9fcmVnaW9uX29rX2Zvcl9od193YXRjaHBv aW50IHJvdXRpbmUuICAqLwogIHN0YXRpYyBpbnQKICBzcHVfcmVnaW9uX29rX2Zvcl9od193YXRj aHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKQEAgLTI2MTEsMTEgKzI5ODgsMTEgQEAg SW5kZXg6IGdkYi04LjAvZ2RiL3NwdS1tdWx0aWFyY2guYwogIHsKICAgIHN0cnVjdCB0YXJnZXRf b3BzICpvcHNfYmVuZWF0aCA9IGZpbmRfdGFyZ2V0X2JlbmVhdGggKHNlbGYpOwogIAotSW5kZXg6 IGdkYi04LjAvZ2RiL3N0YWNrLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3N0 YWNrLmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MTU3ODA3ODIgKzAyMDAKLSsrKyBnZGItOC4wL2dk Yi9zdGFjay5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDg2ODc2ODY5ICswMjAwCi1AQCAtMTg5LDcg KzE4OSw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3N0YWNrLmMgYi9nZGIvc3RhY2suYworaW5kZXgg NmJkMGQ0NWMzMi4uYjI3ZmQxNThlNyAxMDA2NDQKKy0tLSBhL2dkYi9zdGFjay5jCisrKysgYi9n ZGIvc3RhY2suYworQEAgLTE5MCw3ICsxOTAsNyBAQCBwcmludF9zdGFja19mcmFtZSAoc3RydWN0 IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcHJpbnRfbGV2ZWwsCiAgICAgYXJndW1lbnQgKG5vdCBq dXN0IHRoZSBmaXJzdCBuYW1lbGVzcyBhcmd1bWVudCkuICAqLwogIAogIHN0YXRpYyB2b2lkCkBA IC0yNjI0LDcgKzMwMDEsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvc3RhY2suYwogIAkJCSAgIGlu dCBmaXJzdCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKICB7CiAgICBzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCA9IGdldF9mcmFtZV9hcmNoIChmcmFtZSk7Ci1AQCAtNTQ2LDcgKzU0Niw3IEBACitA QCAtNTQwLDcgKzU0MCw3IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1ib2wgKmZ1bmMs IHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAgIC8qIE9mZnNldCBvZiBuZXh0IHN0YWNrIGFy Z3VtZW50IGJleW9uZCB0aGUgb25lIHdlIGhhdmUgc2VlbiB0aGF0IGlzCiAgICAgICBhdCB0aGUg aGlnaGVzdCBvZmZzZXQsIG9yIC0xIGlmIHdlIGhhdmVuJ3QgY29tZSB0byBhIHN0YWNrCiAgICAg ICBhcmd1bWVudCB5ZXQuICAqLwpAQCAtMjYzMyw3ICszMDEwLDcgQEAgSW5kZXg6IGdkYi04LjAv Z2RiL3N0YWNrLmMKICAgIC8qIE51bWJlciBvZiBpbnRzIG9mIGFyZ3VtZW50cyB0aGF0IHdlIGhh dmUgcHJpbnRlZCBzbyBmYXIuICAqLwogICAgaW50IGFyZ3NfcHJpbnRlZCA9IDA7CiAgICAvKiBU cnVlIGlmIHdlIHNob3VsZCBwcmludCBhcmd1bWVudHMsIGZhbHNlIG90aGVyd2lzZS4gICovCi1A QCAtNTc1LDggKzU3NSw4IEBACitAQCAtNTY5LDggKzU2OSw4IEBAIHByaW50X2ZyYW1lX2FyZ3Mg KHN0cnVjdCBzeW1ib2wgKmZ1bmMsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAJICAgIGNh c2UgTE9DX0FSRzoKICAJICAgIGNhc2UgTE9DX1JFRl9BUkc6CiAgCSAgICAgIHsKQEAgLTI2NDQs NyArMzAyMSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9zdGFjay5jCiAgCiAgCQkvKiBDb21wdXRl IGFkZHJlc3Mgb2YgbmV4dCBhcmd1bWVudCBieSBhZGRpbmcgdGhlIHNpemUgb2YKICAJCSAgIHRo aXMgYXJndW1lbnQgYW5kIHJvdW5kaW5nIHRvIGFuIGludCBib3VuZGFyeS4gICovCi1AQCAtNzEx LDcgKzcxMSw3IEBACitAQCAtNzA1LDcgKzcwNSw3IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVj dCBzeW1ib2wgKmZ1bmMsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAgICAgIGVub3VnaCBh Ym91dCB0aGUgc3RhY2sgdG8gZmluZCB0aGVtLiAgKi8KICAgIGlmIChudW0gIT0gLTEpCiAgICAg IHsKQEAgLTI2NTMsMTEgKzMwMzAsMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3N0YWNrLmMKICAK ICAgICAgICBpZiAoaGlnaGVzdF9vZmZzZXQgPT0gLTEpCiAgCXN0YXJ0ID0gZ2RiYXJjaF9mcmFt ZV9hcmdzX3NraXAgKGdldF9mcmFtZV9hcmNoIChmcmFtZSkpOwotSW5kZXg6IGdkYi04LjAvZ2Ri L3N5bW1pc2MuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvc3ltbWlzYy5jCTIw MTctMDgtMTkgMjA6MDQ6NTkuODE1NzgwNzgyICswMjAwCi0rKysgZ2RiLTguMC9nZGIvc3ltbWlz Yy5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDg2ODc2ODY5ICswMjAwCi1AQCAtNjA0LDExICs2MDQs MTEgQEAKK2RpZmYgLS1naXQgYS9nZGIvc3ltbWlzYy5jIGIvZ2RiL3N5bW1pc2MuYworaW5kZXgg OTZhYTMwZjRmYi4uZWE3NjBlMTBlNSAxMDA2NDQKKy0tLSBhL2dkYi9zeW1taXNjLmMKKysrKyBi L2dkYi9zeW1taXNjLmMKK0BAIC01ODUsMTEgKzU4NSwxMSBAQCBwcmludF9zeW1ib2wgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3Qgc3ltYm9sICpzeW1ib2wsCiAgCiAgCWNhc2UgTE9D X0NPTlNUX0JZVEVTOgogIAkgIHsKQEAgLTI2NzIsMTEgKzMwNDksNDEgQEAgSW5kZXg6IGdkYi04 LjAvZ2RiL3N5bW1pc2MuYwogIAkgICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTEVOR1RIICh0eXBl KTsgaSsrKQogIAkgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChvdXRmaWxlLCAiICUwMngiLAogIAkJ CQkodW5zaWduZWQpIFNZTUJPTF9WQUxVRV9CWVRFUyAoc3ltYm9sKVtpXSk7Ci1JbmRleDogZ2Ri LTguMC9nZGIvdGFyZ2V0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3Rhcmdl dC5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuODE2NzgwNzkxICswMjAwCi0rKysgZ2RiLTguMC9nZGIv dGFyZ2V0LmMJMjAxNy0wOC0xOSAyMDowNToxMC4wODc4NzY4NzkgKzAyMDAKLUBAIC01Nyw3ICs1 Nyw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYyBiL2dkYi90YXJnZXQt ZGVsZWdhdGVzLmMKK2luZGV4IDk2OTEwNzRiZmUuLjA0Y2FkYzFkNGIgMTAwNjQ0CistLS0gYS9n ZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCisrKysgYi9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCitAQCAt NzYwLDE0ICs3NjAsMTQgQEAgZGVidWdfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3Ry dWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBDT1IKKyB9CisgCisgc3RhdGlj IGludAorLWRlbGVnYXRlX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdl dF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBpbnQgYXJnMikKKytkZWxlZ2F0ZV9yZWdpb25f b2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIg YXJnMSwgTE9OR0VTVCBhcmcyKQorIHsKKyAgIHNlbGYgPSBzZWxmLT5iZW5lYXRoOworICAgcmV0 dXJuIHNlbGYtPnRvX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc2VsZiwgYXJnMSwgYXJn Mik7CisgfQorIAorIHN0YXRpYyBpbnQKKy1kZWJ1Z19yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9p bnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYXJnMSwgaW50IGFyZzIpCisr ZGVidWdfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2Vs ZiwgQ09SRV9BRERSIGFyZzEsIExPTkdFU1QgYXJnMikKKyB7CisgICBpbnQgcmVzdWx0OworICAg ZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLCAiLT4gJXMtPnRvX3JlZ2lvbl9va19mb3Jf aHdfd2F0Y2hwb2ludCAoLi4uKVxuIiwgZGVidWdfdGFyZ2V0LnRvX3Nob3J0bmFtZSk7CitAQCAt Nzc3LDcgKzc3Nyw3IEBAIGRlYnVnX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0 IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBpbnQKKyAgIGZwdXRzX3VuZmlsdGVy ZWQgKCIsICIsIGdkYl9zdGRsb2cpOworICAgdGFyZ2V0X2RlYnVnX3ByaW50X0NPUkVfQUREUiAo YXJnMSk7CisgICBmcHV0c191bmZpbHRlcmVkICgiLCAiLCBnZGJfc3RkbG9nKTsKKy0gIHRhcmdl dF9kZWJ1Z19wcmludF9pbnQgKGFyZzIpOworKyAgdGFyZ2V0X2RlYnVnX3ByaW50X0xPTkdFU1Qg KGFyZzIpOworICAgZnB1dHNfdW5maWx0ZXJlZCAoIikgPSAiLCBnZGJfc3RkbG9nKTsKKyAgIHRh cmdldF9kZWJ1Z19wcmludF9pbnQgKHJlc3VsdCk7CisgICBmcHV0c191bmZpbHRlcmVkICgiXG4i LCBnZGJfc3RkbG9nKTsKK2RpZmYgLS1naXQgYS9nZGIvdGFyZ2V0LmMgYi9nZGIvdGFyZ2V0LmMK K2luZGV4IDNiZmM4YjVhZWYuLmM5NDcxZjYxZmIgMTAwNjQ0CistLS0gYS9nZGIvdGFyZ2V0LmMK KysrKyBiL2dkYi90YXJnZXQuYworQEAgLTU2LDcgKzU2LDcgQEAgc3RhdGljIGludCBkZWZhdWx0 X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICosCiAgCQkJ CQkJIENPUkVfQUREUiwgQ09SRV9BRERSLCBpbnQpOwogIAogIHN0YXRpYyBpbnQgZGVmYXVsdF9y ZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICosCkBAIC0yNjg1 LDcgKzMwOTIsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvdGFyZ2V0LmMKICAKICBzdGF0aWMgdm9p ZCBkZWZhdWx0X3JjbWQgKHN0cnVjdCB0YXJnZXRfb3BzICosIGNvbnN0IGNoYXIgKiwgc3RydWN0 IHVpX2ZpbGUgKik7CiAgCi1AQCAtMzIyOCw3ICszMjI4LDcgQEAKK0BAIC0zMTEyLDcgKzMxMTIs NyBAQCB0YXJnZXRfZmlsZWlvX3JlYWRfc3RyYWxsb2MgKHN0cnVjdCBpbmZlcmlvciAqaW5mLCBj b25zdCBjaGFyICpmaWxlbmFtZSkKICAKICBzdGF0aWMgaW50CiAgZGVmYXVsdF9yZWdpb25fb2tf Zm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLApAQCAtMjY5NCwxMSAr MzEwMSwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvdGFyZ2V0LmMKICB7CiAgICByZXR1cm4gKGxl biA8PSBnZGJhcmNoX3B0cl9iaXQgKHRhcmdldF9nZGJhcmNoICgpKSAvIFRBUkdFVF9DSEFSX0JJ VCk7CiAgfQotSW5kZXg6IGdkYi04LjAvZ2RiL3RhcmdldC5oCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTguMC5vcmlnL2dkYi90YXJnZXQuaAkyMDE3LTA4LTE5IDIwOjA0OjU5LjgxNjc4MDc5MSArMDIw MAotKysrIGdkYi04LjAvZ2RiL3RhcmdldC5oCTIwMTctMDgtMTkgMjA6MDU6MTAuMDg4ODc2ODg4 ICswMjAwCi1AQCAtNTU1LDcgKzU1NSw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3RhcmdldC5oIGIv Z2RiL3RhcmdldC5oCitpbmRleCA5OTk1NDFkNWQyLi4zNDllODdkZTZmIDEwMDY0NAorLS0tIGEv Z2RiL3RhcmdldC5oCisrKysgYi9nZGIvdGFyZ2V0LmgKK0BAIC01NTAsNyArNTUwLDcgQEAgc3Ry dWN0IHRhcmdldF9vcHMKICAgICAgLyogRG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJvdXRpbmUgaXMg cHJvdmlkZWQgd2l0aCB0aGUgY29ycmVzcG9uZGluZwogICAgICAgICB0YXJnZXRfKiBtYWNyby4g ICovCiAgICAgIGludCAoKnRvX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCkgKHN0cnVjdCB0 YXJnZXRfb3BzICosCkBAIC0yNzA3LDExICszMTE0LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi90 YXJnZXQuaAogICAgICAgIFRBUkdFVF9ERUZBVUxUX0ZVTkMgKGRlZmF1bHRfcmVnaW9uX29rX2Zv cl9od193YXRjaHBvaW50KTsKICAKICAgICAgaW50ICgqdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRf Y29uZGl0aW9uKSAoc3RydWN0IHRhcmdldF9vcHMgKiwKLUluZGV4OiBnZGItOC4wL2dkYi90cmFj ZXBvaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3RyYWNlcG9pbnQuYwky MDE3LTA4LTE5IDIwOjA0OjU5LjgxNzc4MDgwMCArMDIwMAotKysrIGdkYi04LjAvZ2RiL3RyYWNl cG9pbnQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA4ODg3Njg4OCArMDIwMAotQEAgLTkwNCwxMCAr OTA0LDEwIEBACitkaWZmIC0tZ2l0IGEvZ2RiL3RyYWNlcG9pbnQuYyBiL2dkYi90cmFjZXBvaW50 LmMKK2luZGV4IDc2ZDA1ZGZjMTMuLmRkOTRlYThjOGEgMTAwNjQ0CistLS0gYS9nZGIvdHJhY2Vw b2ludC5jCisrKysgYi9nZGIvdHJhY2Vwb2ludC5jCitAQCAtODUyLDEwICs4NTIsMTAgQEAgY29s bGVjdGlvbl9saXN0OjphZGRfcmVnaXN0ZXIgKHVuc2lnbmVkIGludCByZWdubykKICB2b2lkCiAg Y29sbGVjdGlvbl9saXN0OjphZGRfbWVtcmFuZ2UgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAog IAkJCSAgICAgICBpbnQgdHlwZSwgYmZkX3NpZ25lZF92bWEgYmFzZSwKQEAgLTI3MjQsNyArMzEz MSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi90cmFjZXBvaW50LmMKICAKICAgIC8qIHR5cGU6IG1l bXJhbmdlX2Fic29sdXRlID09IG1lbW9yeSwgb3RoZXIgbiA9PSBiYXNlcmVnICovCiAgICAvKiBi YXNlOiBhZGRyIGlmIG1lbW9yeSwgb2Zmc2V0IGlmIHJlZyByZWxhdGl2ZS4gICovCi1AQCAtOTI3 LDcgKzkyNyw3IEBACitAQCAtODc1LDcgKzg3NSw3IEBAIGNvbGxlY3Rpb25fbGlzdDo6Y29sbGVj dF9zeW1ib2wgKHN0cnVjdCBzeW1ib2wgKnN5bSwKICAJCQkJIENPUkVfQUREUiBzY29wZSwKICAJ CQkJIGludCB0cmFjZV9zdHJpbmcpCiAgewpAQCAtMjczMyw3ICszMTQwLDcgQEAgSW5kZXg6IGdk Yi04LjAvZ2RiL3RyYWNlcG9pbnQuYwogICAgdW5zaWduZWQgaW50IHJlZzsKICAgIGJmZF9zaWdu ZWRfdm1hIG9mZnNldDsKICAgIGludCB0cmVhdF9hc19leHByID0gMDsKLUBAIC05NDgsOCArOTQ4 LDggQEAKK0BAIC04OTYsOCArODk2LDggQEAgY29sbGVjdGlvbl9saXN0Ojpjb2xsZWN0X3N5bWJv bCAoc3RydWN0IHN5bWJvbCAqc3ltLAogICAgICAgIG9mZnNldCA9IFNZTUJPTF9WQUxVRV9BRERS RVNTIChzeW0pOwogICAgICAgIGlmIChpbmZvX3ZlcmJvc2UpCiAgCXsKQEAgLTI3NDQsNyArMzE1 MSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi90cmFjZXBvaW50LmMKICAJCQkgICBwYWRkcmVzcyAo Z2RiYXJjaCwgb2Zmc2V0KSk7CiAgCX0KICAgICAgICAvKiBBIHN0cnVjdCBtYXkgYmUgYSBDKysg Y2xhc3Mgd2l0aCBzdGF0aWMgZmllbGRzLCBnbyB0byBnZW5lcmFsCi1AQCAtOTgxLDkgKzk4MSw5 IEBACitAQCAtOTI5LDkgKzkyOSw5IEBAIGNvbGxlY3Rpb25fbGlzdDo6Y29sbGVjdF9zeW1ib2wg KHN0cnVjdCBzeW1ib2wgKnN5bSwKICAgICAgICBvZmZzZXQgPSBmcmFtZV9vZmZzZXQgKyBTWU1C T0xfVkFMVUUgKHN5bSk7CiAgICAgICAgaWYgKGluZm9fdmVyYm9zZSkKICAJewpAQCAtMjc1Niw3 ICszMTYzLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3RyYWNlcG9pbnQuYwogIAkJCSAgIHBhZGRy ZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwogIAl9CiAgICAgICAgYWRkX21lbXJhbmdlIChn ZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuKTsKLUBAIC05OTMsOSArOTkzLDkgQEAKK0BAIC05NDEs OSArOTQxLDkgQEAgY29sbGVjdGlvbl9saXN0Ojpjb2xsZWN0X3N5bWJvbCAoc3RydWN0IHN5bWJv bCAqc3ltLAogICAgICAgIG9mZnNldCA9IDA7CiAgICAgICAgaWYgKGluZm9fdmVyYm9zZSkKICAJ ewpAQCAtMjc2OCw3ICszMTc1LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3RyYWNlcG9pbnQuYwog IAkJCSAgIHBhZGRyZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwogIAl9CiAgICAgICAgYWRk X21lbXJhbmdlIChnZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuKTsKLUBAIC0xMDA1LDkgKzEwMDUs OSBAQAorQEAgLTk1Myw5ICs5NTMsOSBAQCBjb2xsZWN0aW9uX2xpc3Q6OmNvbGxlY3Rfc3ltYm9s IChzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgICAgICAgb2Zmc2V0ID0gZnJhbWVfb2Zmc2V0ICsgU1lN Qk9MX1ZBTFVFIChzeW0pOwogICAgICAgIGlmIChpbmZvX3ZlcmJvc2UpCiAgCXsKQEAgLTI3ODAs MTcgKzMxODcsMTcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3RyYWNlcG9pbnQuYwogIAkJCSAgIHBh ZGRyZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwogIAl9CiAgICAgICAgYWRkX21lbXJhbmdl IChnZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuKTsKLUBAIC0yNTg1LDcgKzI1ODUsOCBAQAorQEAg LTI1MDAsNyArMjUwMCw4IEBAIGluZm9fc2NvcGVfY29tbWFuZCAoY29uc3QgY2hhciAqYXJnc19p biwgaW50IGZyb21fdHR5KQogICAgY29uc3QgY2hhciAqc3ltbmFtZTsKLSAgIGNoYXIgKnNhdmVf YXJncyA9IGFyZ3M7CisgICBjb25zdCBjaGFyICpzYXZlX2FyZ3MgPSBhcmdzX2luOwogICAgc3Ry dWN0IGJsb2NrX2l0ZXJhdG9yIGl0ZXI7CiAtICBpbnQgaiwgY291bnQgPSAwOwogKyAgaW50IGNv dW50ID0gMDsKICsgIExPTkdFU1QgajsKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOwogICAg aW50IHJlZ25vOwotIAotQEAgLTI3MjcsOCArMjcyOCwxMSBAQAorICAgY29uc3QgY2hhciAqYXJn cyA9IGFyZ3NfaW47CitAQCAtMjY0NCw4ICsyNjQ1LDExIEBAIGluZm9fc2NvcGVfY29tbWFuZCAo Y29uc3QgY2hhciAqYXJnc19pbiwgaW50IGZyb21fdHR5KQogIAkJfQogIAkgICAgfQogIAkgIGlm IChTWU1CT0xfVFlQRSAoc3ltKSkKQEAgLTI4MDQsMTEgKzMyMTEsMjQgQEAgSW5kZXg6IGdkYi04 LjAvZ2RiL3RyYWNlcG9pbnQuYwogIAl9CiAgICAgICAgaWYgKEJMT0NLX0ZVTkNUSU9OIChibG9j aykpCiAgCWJyZWFrOwotSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbGFyaXRoLmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItOC4wLm9yaWcvZ2RiL3ZhbGFyaXRoLmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MTg3 ODA4MTAgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi92YWxhcml0aC5jCTIwMTctMDgtMTkgMjA6MDU6 MTAuMDg5ODc2ODk3ICswMjAwCi1AQCAtMTg4LDcgKzE4OCw3IEBACitkaWZmIC0tZ2l0IGEvZ2Ri L3RyYWNlcG9pbnQuaCBiL2dkYi90cmFjZXBvaW50LmgKK2luZGV4IDYwY2FhN2FkMzkuLmY2NzA3 OWNkY2YgMTAwNjQ0CistLS0gYS9nZGIvdHJhY2Vwb2ludC5oCisrKysgYi9nZGIvdHJhY2Vwb2lu dC5oCitAQCAtMjU1LDcgKzI1NSw3IEBAIHB1YmxpYzoKKyAgIHZvaWQgYWRkX3JlZ2lzdGVyICh1 bnNpZ25lZCBpbnQgcmVnbm8pOworICAgdm9pZCBhZGRfbWVtcmFuZ2UgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLAorIAkJICAgICBpbnQgdHlwZSwgYmZkX3NpZ25lZF92bWEgYmFzZSwKKy0JCSAg ICAgdW5zaWduZWQgbG9uZyBsZW4pOworKwkJICAgICBVTE9OR0VTVCBsZW4pOworICAgdm9pZCBj b2xsZWN0X3N5bWJvbCAoc3RydWN0IHN5bWJvbCAqc3ltLAorIAkJICAgICAgIHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLAorIAkJICAgICAgIGxvbmcgZnJhbWVfcmVnbm8sIGxvbmcgZnJhbWVfb2Zm c2V0LAorZGlmZiAtLWdpdCBhL2dkYi92YWxhcml0aC5jIGIvZ2RiL3ZhbGFyaXRoLmMKK2luZGV4 IDU5YWY5ZmNkZTQuLjkwMDI0MzAyYmMgMTAwNjQ0CistLS0gYS9nZGIvdmFsYXJpdGguYworKysr IGIvZ2RiL3ZhbGFyaXRoLmMKK0BAIC0xODQsNyArMTg0LDcgQEAgdmFsdWVfc3Vic2NyaXB0IChz dHJ1Y3QgdmFsdWUgKmFycmF5LCBMT05HRVNUIGluZGV4KQogICAgIHRvIGRvdWJsZXMsIGJ1dCBu byBsb25nZXIgZG9lcy4gICovCiAgCiAgc3RydWN0IHZhbHVlICoKQEAgLTI4MTcsNyArMzIzNyw3 IEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWxhcml0aC5jCiAgewogICAgc3RydWN0IHR5cGUgKmFy cmF5X3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcnJheSkpOwogICAgc3RydWN0 IHR5cGUgKmVsdF90eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlf dHlwZSkpOwotQEAgLTY2NSw3ICs2NjUsNyBAQAorQEAgLTY2MSw3ICs2NjEsNyBAQCB2YWx1ZV9j b25jYXQgKHN0cnVjdCB2YWx1ZSAqYXJnMSwgc3RydWN0IHZhbHVlICphcmcyKQogICAgc3RydWN0 IHZhbHVlICppbnZhbDE7CiAgICBzdHJ1Y3QgdmFsdWUgKmludmFsMjsKICAgIHN0cnVjdCB2YWx1 ZSAqb3V0dmFsID0gTlVMTDsKQEAgLTI4MjYsNyArMzI0Niw3IEBAIEluZGV4OiBnZGItOC4wL2dk Yi92YWxhcml0aC5jCiAgICBpbnQgY291bnQsIGlkeDsKICAgIGNoYXIgKnB0cjsKICAgIGNoYXIg aW5jaGFyOwotQEAgLTE1MTgsNyArMTUxOCw3IEBACitAQCAtMTQyMiw3ICsxNDIyLDcgQEAgdmFs dWVfYmlub3AgKHN0cnVjdCB2YWx1ZSAqYXJnMSwgc3RydWN0IHZhbHVlICphcmcyLCBlbnVtIGV4 cF9vcGNvZGUgb3ApCiAgaW50CiAgdmFsdWVfbG9naWNhbF9ub3QgKHN0cnVjdCB2YWx1ZSAqYXJn MSkKICB7CkBAIC0yODM1LDcgKzMyNTUsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvdmFsYXJpdGgu YwogICAgY29uc3QgZ2RiX2J5dGUgKnA7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTE7CiAgCi1AQCAt MTU0OSwxMSArMTU0OSwxMSBAQAorQEAgLTE0NTAsMTEgKzE0NTAsMTEgQEAgdmFsdWVfbG9naWNh bF9ub3QgKHN0cnVjdCB2YWx1ZSAqYXJnMSkKICBzdGF0aWMgaW50CiAgdmFsdWVfc3RyY21wIChz dHJ1Y3QgdmFsdWUgKmFyZzEsIHN0cnVjdCB2YWx1ZSAqYXJnMikKICB7CkBAIC0yODUwLDExICsz MjcwLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWxhcml0aC5jCiAgCiAgICBmb3IgKGkgPSAw OyBpIDwgbGVuOyBpKyspCiAgICAgIHsKLUluZGV4OiBnZGItOC4wL2dkYi92YWxvcHMuYwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvdmFsb3BzLmMJMjAxNy0wOC0xOSAyMDowNDo1 OS44MTk3ODA4MTkgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi92YWxvcHMuYwkyMDE3LTA4LTE5IDIw OjA1OjEwLjA5MDg3NjkwNyArMDIwMAotQEAgLTc5LDcgKzc5LDcgQEAKK2RpZmYgLS1naXQgYS9n ZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3BzLmMKK2luZGV4IDMwNjIzZWZjNmUuLmE3YzM2MTNkODQg MTAwNjQ0CistLS0gYS9nZGIvdmFsb3BzLmMKKysrKyBiL2dkYi92YWxvcHMuYworQEAgLTgwLDcg KzgwLDcgQEAgb2xvYWRfY2xhc3NpZmljYXRpb24gY2xhc3NpZnlfb2xvYWRfbWF0Y2ggKHN0cnVj dCBiYWRuZXNzX3ZlY3RvciAqLAogIAkJCQkJICAgaW50LCBpbnQpOwogIAogIHN0YXRpYyBzdHJ1 Y3QgdmFsdWUgKnZhbHVlX3N0cnVjdF9lbHRfZm9yX3JlZmVyZW5jZSAoc3RydWN0IHR5cGUgKiwK QEAgLTI4NjMsNyArMzI4Myw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWxvcHMuYwogIAkJCQkJ CSAgICAgY29uc3QgY2hhciAqLAogIAkJCQkJCSAgICAgc3RydWN0IHR5cGUgKiwKICAJCQkJCQkg ICAgIGludCwgZW51bSBub3NpZGUpOwotQEAgLTE4Myw3ICsxODMsNyBAQAorQEAgLTE4Miw3ICsx ODIsNyBAQCBmaW5kX2Z1bmN0aW9uX2luX2luZmVyaW9yIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1 Y3Qgb2JqZmlsZSAqKm9iamZfcCkKICAgICBzcGFjZS4gICovCiAgCiAgc3RydWN0IHZhbHVlICoK QEAgLTI4NzIsNyArMzI5Miw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWxvcHMuYwogIHsKICAg IHN0cnVjdCBvYmpmaWxlICpvYmpmOwogICAgc3RydWN0IHZhbHVlICp2YWwgPSBmaW5kX2Z1bmN0 aW9uX2luX2luZmVyaW9yICgibWFsbG9jIiwgJm9iamYpOwotQEAgLTM5MywxMiArMzkzLDEyIEBA CitAQCAtMzk3LDEyICszOTcsMTIgQEAgdmFsdWVfY2FzdCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0 cnVjdCB2YWx1ZSAqYXJnMikKICAgIGlmIChjb2RlMSA9PSBUWVBFX0NPREVfQVJSQVkpCiAgICAg IHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqZWxlbWVudF90eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAo dHlwZSk7CkBAIC0yODg3LDcgKzMzMDcsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvdmFsb3BzLmMK ICAJICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZCwgbmV3X2xlbmd0aDsKICAKICAJICBp ZiAoZ2V0X2Rpc2NyZXRlX2JvdW5kcyAocmFuZ2VfdHlwZSwgJmxvd19ib3VuZCwgJmhpZ2hfYm91 bmQpIDwgMCkKLUBAIC0xMDY1LDcgKzEwNjUsNyBAQAorQEAgLTEwNTQsNyArMTA1NCw3IEBAIHZh bHVlX2Fzc2lnbiAoc3RydWN0IHZhbHVlICp0b3ZhbCwgc3RydWN0IHZhbHVlICpmcm9tdmFsKQog ICAgICAgIHsKICAJY29uc3QgZ2RiX2J5dGUgKmRlc3RfYnVmZmVyOwogIAlDT1JFX0FERFIgY2hh bmdlZF9hZGRyOwpAQCAtMjg5Niw3ICszMzE2LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbG9w cy5jCiAgICAgICAgICBnZGJfYnl0ZSBidWZmZXJbc2l6ZW9mIChMT05HRVNUKV07CiAgCiAgCWlm ICh2YWx1ZV9iaXRzaXplICh0b3ZhbCkpCi1AQCAtMzM0MCw3ICszMzQwLDcgQEAKK0BAIC0zMzI1 LDcgKzMzMjUsNyBAQCBjb21wYXJlX3BhcmFtZXRlcnMgKHN0cnVjdCB0eXBlICp0MSwgc3RydWN0 IHR5cGUgKnQyLCBpbnQgc2tpcF9hcnRpZmljaWFsKQogICAgIHRoZSBmb3JtICJET01BSU46Ok5B TUUiLiAgKi8KICAKICBzdGF0aWMgc3RydWN0IHZhbHVlICoKQEAgLTI5MDUsNyArMzMyNSw3IEBA IEluZGV4OiBnZGItOC4wL2dkYi92YWxvcHMuYwogIAkJCQlzdHJ1Y3QgdHlwZSAqY3VydHlwZSwg Y29uc3QgY2hhciAqbmFtZSwKICAJCQkJc3RydWN0IHR5cGUgKmludHlwZSwgCiAgCQkJCWludCB3 YW50X2FkZHJlc3MsCi1AQCAtMzM3NCw3ICszMzc0LDcgQEAKK0BAIC0zMzU5LDcgKzMzNTksNyBA QCB2YWx1ZV9zdHJ1Y3RfZWx0X2Zvcl9yZWZlcmVuY2UgKHN0cnVjdCB0eXBlICpkb21haW4sIGlu dCBvZmZzZXQsCiAgCSAgaWYgKHdhbnRfYWRkcmVzcykKICAJICAgIHJldHVybiB2YWx1ZV9mcm9t X2xvbmdlc3QKICAJICAgICAgKGxvb2t1cF9tZW1iZXJwdHJfdHlwZSAoVFlQRV9GSUVMRF9UWVBF ICh0LCBpKSwgZG9tYWluKSwKQEAgLTI5MTQsNyArMzMzNCw3IEBAIEluZGV4OiBnZGItOC4wL2dk Yi92YWxvcHMuYwogIAkgIGVsc2UgaWYgKG5vc2lkZSAhPSBFVkFMX05PUk1BTCkKICAJICAgIHJl dHVybiBhbGxvY2F0ZV92YWx1ZSAoVFlQRV9GSUVMRF9UWVBFICh0LCBpKSk7CiAgCSAgZWxzZQot QEAgLTM1NDIsNyArMzU0Miw3IEBACitAQCAtMzUzMiw3ICszNTMyLDcgQEAgdmFsdWVfc3RydWN0 X2VsdF9mb3JfcmVmZXJlbmNlIChzdHJ1Y3QgdHlwZSAqZG9tYWluLCBpbnQgb2Zmc2V0LAogICAg Zm9yIChpID0gVFlQRV9OX0JBU0VDTEFTU0VTICh0KSAtIDE7IGkgPj0gMDsgaS0tKQogICAgICB7 CiAgICAgICAgc3RydWN0IHZhbHVlICp2OwpAQCAtMjkyMyw3ICszMzQzLDcgQEAgSW5kZXg6IGdk Yi04LjAvZ2RiL3ZhbG9wcy5jCiAgCiAgICAgICAgaWYgKEJBU0VUWVBFX1ZJQV9WSVJUVUFMICh0 LCBpKSkKICAJYmFzZV9vZmZzZXQgPSAwOwotQEAgLTM2OTEsNyArMzY5MSw3IEBACitAQCAtMzY4 MSw3ICszNjgxLDcgQEAgdmFsdWVfcnR0aV9pbmRpcmVjdF90eXBlIChzdHJ1Y3QgdmFsdWUgKnYs IGludCAqZnVsbCwKICBzdHJ1Y3QgdmFsdWUgKgogIHZhbHVlX2Z1bGxfb2JqZWN0IChzdHJ1Y3Qg dmFsdWUgKmFyZ3AsIAogIAkJICAgc3RydWN0IHR5cGUgKnJ0eXBlLCAKQEAgLTI5MzIsMTEgKzMz NTIsMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbG9wcy5jCiAgCQkgICBpbnQgeHVzaW5nX2Vu YykKICB7CiAgICBzdHJ1Y3QgdHlwZSAqcmVhbF90eXBlOwotSW5kZXg6IGdkYi04LjAvZ2RiL3Zh bHByaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3ZhbHByaW50LmMJMjAx Ny0wOC0xOSAyMDowNDo1OS44MjA3ODA4MjggKzAyMDAKLSsrKyBnZGItOC4wL2dkYi92YWxwcmlu dC5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDkwODc2OTA3ICswMjAwCi1AQCAtOTMzLDcgKzkzMyw3 IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHByaW50LmMgYi9nZGIvdmFscHJpbnQuYworaW5kZXgg MjBlM2E0MTc4Yi4uZTM0ODc0YzQ2MSAxMDA2NDQKKy0tLSBhL2dkYi92YWxwcmludC5jCisrKysg Yi9nZGIvdmFscHJpbnQuYworQEAgLTg4Miw3ICs4ODIsNyBAQCBnZW5lcmljX3ZhbF9wcmludF9j b21wbGV4IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAKICB2b2lkCiAgZ2VuZXJpY192YWxfcHJpbnQg KHN0cnVjdCB0eXBlICp0eXBlLApAQCAtMjk0NSwxNiArMzM2NSwxNiBAQCBJbmRleDogZ2RiLTgu MC9nZGIvdmFscHJpbnQuYwogIAkJICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vy c2UsCiAgCQkgICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogIAkJICAgY29uc3Qgc3Ry dWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCi1AQCAtMTg3Myw3ICsxODczLDcgQEAK K0BAIC0xNzc2LDcgKzE3NzYsNyBAQCBwcmludF9kZWNpbWFsX2NoYXJzIChzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAKICB2b2lkCiAgcHJpbnRfaGV4 X2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwK LS0JCSB1bnNpZ25lZCBsZW4sIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyKQotKwkJIFVMT05H RVNUIGxlbiwgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIpCistCQkgdW5zaWduZWQgbGVuLCBl bnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciwKKysJCSBVTE9OR0VTVCBsZW4sIGVudW0gYmZkX2Vu ZGlhbiBieXRlX29yZGVyLAorIAkJIGJvb2wgemVyb19wYWQpCiAgewogICAgY29uc3QgZ2RiX2J5 dGUgKnA7Ci0gCi1AQCAtMTk5NSwxNyArMTk5NSwxNyBAQAorQEAgLTE5MjksMTcgKzE5MjksMTcg QEAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCQkgIGlu dCByZWN1cnNlLAogIAkJCSAgc3RydWN0IHZhbHVlICp2YWwsCiAgCQkJICBjb25zdCBzdHJ1Y3Qg dmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucywKQEAgLTI5NzcsNyArMzM5Nyw3IEBAIEluZGV4 OiBnZGItOC4wL2dkYi92YWxwcmludC5jCiAgICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3Vu ZDsKICAgIExPTkdFU1QgbG93X3BvcywgaGlnaF9wb3M7CiAgCi1AQCAtMjA5NSw3ICsyMDk1LDcg QEAKK0BAIC0yMDI5LDcgKzIwMjksNyBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVj dCB0eXBlICp0eXBlLAogIAkJICAgICBhZGRyZXNzLCBzdHJlYW0sIHJlY3Vyc2UgKyAxLCB2YWws IG9wdGlvbnMsCiAgCQkgICAgIGN1cnJlbnRfbGFuZ3VhZ2UpOwogIAkgIGFubm90YXRlX2VsdF9y ZXAgKHJlcHMpOwpAQCAtMjk4Niw3ICszNDA2LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbHBy aW50LmMKICAJICBhbm5vdGF0ZV9lbHRfcmVwX2VuZCAoKTsKICAKICAJICBpID0gcmVwMSAtIDE7 Ci1AQCAtMjc0Nyw3ICsyNzQ3LDcgQEAKK0BAIC0yNjc1LDcgKzI2NzUsNyBAQCBwcmludF9jb252 ZXJ0ZWRfY2hhcnNfdG9fb2JzdGFjayAoc3RydWN0IG9ic3RhY2sgKm9ic3RhY2ssCiAgCiAgdm9p ZAogIGdlbmVyaWNfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBl ICp0eXBlLCAKQEAgLTI5OTUsMjkgKzM0MTUsMjkgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbHBy aW50LmMKICAJCSAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJ CSAgaW50IHF1b3RlX2NoYXIsIGludCBjX3N0eWxlX3Rlcm1pbmF0b3IsCiAgCQkgIGNvbnN0IHN0 cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotSW5kZXg6IGdkYi04LjAvZ2RiL3Zh bHByaW50LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3ZhbHByaW50LmgJMjAx Ny0wOC0xOSAyMDowNDo1OS44MjA3ODA4MjggKzAyMDAKLSsrKyBnZGItOC4wL2dkYi92YWxwcmlu dC5oCTIwMTctMDgtMTkgMjA6MDU6MTAuMDkwODc2OTA3ICswMjAwCi1AQCAtMTE5LDcgKzExOSw3 IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHByaW50LmggYi9nZGIvdmFscHJpbnQuaAoraW5kZXgg MzAyNjI2ZDlkNi4uYTkyYWNmYWNlYyAxMDA2NDQKKy0tLSBhL2dkYi92YWxwcmludC5oCisrKysg Yi9nZGIvdmFscHJpbnQuaAorQEAgLTExOSw3ICsxMTksNyBAQCBleHRlcm4gdm9pZCB2YWxfcHJp bnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0eXBlICosIExPTkdFU1QsCiAgCQkJCSAgICAgIENP UkVfQUREUiwgc3RydWN0IHVpX2ZpbGUgKiwgaW50LAogIAkJCQkgICAgICBzdHJ1Y3QgdmFsdWUg KiwKICAJCQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKiwKIC0JCQkJ ICAgICAgdW5zaWduZWQgaW50KTsKICsJCQkJICAgICAgVUxPTkdFU1QpOwogIAotIGV4dGVybiB2 b2lkIHZhbF9wcmludF90eXBlX2NvZGVfaW50IChzdHJ1Y3QgdHlwZSAqLCBjb25zdCBnZGJfYnl0 ZSAqLAotIAkJCQkgICAgIHN0cnVjdCB1aV9maWxlICopOwotQEAgLTE0MSw3ICsxNDEsNyBAQAot IAkJCQkgdW5zaWduZWQgaW50LCBlbnVtIGJmZF9lbmRpYW4pOworIGV4dGVybiB2b2lkIHZhbF9w cmludF9zY2FsYXJfZm9ybWF0dGVkIChzdHJ1Y3QgdHlwZSAqLAorIAkJCQkJTE9OR0VTVCwKK0BA IC0xMzgsNyArMTM4LDcgQEAgZXh0ZXJuIHZvaWQgcHJpbnRfZGVjaW1hbF9jaGFycyAoc3RydWN0 IHVpX2ZpbGUgKiwgY29uc3QgZ2RiX2J5dGUgKiwKKyAJCQkJIHVuc2lnbmVkIGludCwgYm9vbCwg ZW51bSBiZmRfZW5kaWFuKTsKICAKICBleHRlcm4gdm9pZCBwcmludF9oZXhfY2hhcnMgKHN0cnVj dCB1aV9maWxlICosIGNvbnN0IGdkYl9ieXRlICosCi0tCQkJICAgICB1bnNpZ25lZCBpbnQsIGVu dW0gYmZkX2VuZGlhbik7Ci0rCQkJICAgICBVTE9OR0VTVCwgZW51bSBiZmRfZW5kaWFuKTsKKy0J CQkgICAgIHVuc2lnbmVkIGludCwgZW51bSBiZmRfZW5kaWFuLCBib29sKTsKKysJCQkgICAgIFVM T05HRVNULCBlbnVtIGJmZF9lbmRpYW4sIGJvb2wpOwogIAogIGV4dGVybiB2b2lkIHByaW50X2No YXJfY2hhcnMgKHN0cnVjdCB1aV9maWxlICosIHN0cnVjdCB0eXBlICosCiAgCQkJICAgICAgY29u c3QgZ2RiX2J5dGUgKiwgdW5zaWduZWQgaW50LCBlbnVtIGJmZF9lbmRpYW4pOwotQEAgLTE5NCw3 ICsxOTQsNyBAQAorQEAgLTE5MSw3ICsxOTEsNyBAQCBzdHJ1Y3QgZ2VuZXJpY192YWxfcHJpbnRf ZGVjb3JhdGlvbnMKICAKICAKICBleHRlcm4gdm9pZCBnZW5lcmljX3ZhbF9wcmludCAoc3RydWN0 IHR5cGUgKnR5cGUsCkBAIC0zMDI2LDcgKzM0NDYsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvdmFs cHJpbnQuaAogIAkJCSAgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwK ICAJCQkgICAgICAgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKICAJCQkgICAgICAgY29u c3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCi1AQCAtMjA0LDcgKzIwNCw3 IEBACitAQCAtMjAxLDcgKzIwMSw3IEBAIGV4dGVybiB2b2lkIGdlbmVyaWNfZW1pdF9jaGFyIChp bnQgYywgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgCQkJICAg ICAgIGludCBxdW90ZXIsIGNvbnN0IGNoYXIgKmVuY29kaW5nKTsKICAKICBleHRlcm4gdm9pZCBn ZW5lcmljX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlw ZSwgCkBAIC0zMDM1LDExICszNDU1LDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWxwcmludC5o CiAgCQkJICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJ CQkgICAgICBpbnQgcXVvdGVfY2hhciwgaW50IGNfc3R5bGVfdGVybWluYXRvciwKICAJCQkgICAg ICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucyk7Ci1JbmRleDogZ2Ri LTguMC9nZGIvdmFsdWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvdmFsdWUu YwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgyMTc4MDgzOCArMDIwMAotKysrIGdkYi04LjAvZ2RiL3Zh bHVlLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wOTE4NzY5MTYgKzAyMDAKLUBAIC0zNjcsNyArMzY3 LDggQEAKK2RpZmYgLS1naXQgYS9nZGIvdmFsdWUuYyBiL2dkYi92YWx1ZS5jCitpbmRleCBhNjFm NzI4NTUwLi4wYzg3YWU3NWVlIDEwMDY0NAorLS0tIGEvZ2RiL3ZhbHVlLmMKKysrKyBiL2dkYi92 YWx1ZS5jCitAQCAtMzYzLDcgKzM2Myw4IEBAIHZhbHVlX2J5dGVzX2F2YWlsYWJsZSAoY29uc3Qg c3RydWN0IHZhbHVlICp2YWx1ZSwKICB9CiAgCiAgaW50CkBAIC0zMDQ5LDIwICszNDY5LDE4IEBA IEluZGV4OiBnZGItOC4wL2dkYi92YWx1ZS5jCiAgewogICAgZ2RiX2Fzc2VydCAoIXZhbHVlLT5s YXp5KTsKICAKLUBAIC04MTMsOSArODE0LDkgQEAKK0BAIC04MDksOCArODEwLDggQEAgZmluZF9m aXJzdF9yYW5nZV9vdmVybGFwX2FuZF9tYXRjaCAoc3RydWN0IHJhbmdlc19hbmRfaWR4ICpycDEs CiAgICAgUmV0dXJuIHRydWUgaWYgdGhlIGF2YWlsYWJsZSBiaXRzIG1hdGNoLiAgKi8KICAKLSBz dGF0aWMgaW50Cisgc3RhdGljIGJvb2wKIC12YWx1ZV9jb250ZW50c19iaXRzX2VxIChjb25zdCBz dHJ1Y3QgdmFsdWUgKnZhbDEsIGludCBvZmZzZXQxLAogLQkJCWNvbnN0IHN0cnVjdCB2YWx1ZSAq dmFsMiwgaW50IG9mZnNldDIsCi0tCQkJaW50IGxlbmd0aCkKICt2YWx1ZV9jb250ZW50c19iaXRz X2VxIChjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbDEsIExPTkdFU1Qgb2Zmc2V0MSwKICsJCQljb25z dCBzdHJ1Y3QgdmFsdWUgKnZhbDIsIExPTkdFU1Qgb2Zmc2V0MiwKLSsJCQlMT05HRVNUIGxlbmd0 aCkKKyAJCQlpbnQgbGVuZ3RoKQogIHsKICAgIC8qIEVhY2ggYXJyYXkgZWxlbWVudCBjb3JyZXNw b25kcyB0byBhIHJhbmdlcyBzb3VyY2UgKHVuYXZhaWxhYmxlLAotICAgICAgb3B0aW1pemVkIG91 dCkuICAnMScgaXMgZm9yIFZBTDEsICcyJyBmb3IgVkFMMi4gICovCi1AQCAtMTQ1NSw3ICsxNDU2 LDggQEAKK0BAIC0xNDQ1LDcgKzE0NDYsOCBAQCB2YWx1ZV9vcHRpbWl6ZWRfb3V0IChzdHJ1Y3Qg dmFsdWUgKnZhbHVlKQogICAgIHRoZSBmb2xsb3dpbmcgTEVOR1RIIGJ5dGVzLiAgKi8KICAKICB2 b2lkCkBAIC0zMDcyLDExICszNDkwLDExIEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWx1ZS5jCiAg ewogICAgbWFya192YWx1ZV9iaXRzX29wdGltaXplZF9vdXQgKHZhbHVlLAogIAkJCQkgb2Zmc2V0 ICogVEFSR0VUX0NIQVJfQklULAotSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbHVlLmgKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3ZhbHVlLmgJMjAxNy0wOC0xOSAyMDowNDo1OS44MjI3 ODA4NDcgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi92YWx1ZS5oCTIwMTctMDgtMTkgMjA6MDU6MTAu MDkyODc2OTI1ICswMjAwCi1AQCAtMjQ2LDcgKzI0Niw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3Zh bHVlLmggYi9nZGIvdmFsdWUuaAoraW5kZXggOGU4NTQ1Mjk2OS4uNWM4NTk3ZjM4YyAxMDA2NDQK Ky0tLSBhL2dkYi92YWx1ZS5oCisrKysgYi9nZGIvdmFsdWUuaAorQEAgLTI0NSw3ICsyNDUsNyBA QCBzdHJ1Y3QgbHZhbF9mdW5jcwogICAgLyogSWYgbm9uLU5VTEwsIHRoaXMgaXMgdXNlZCB0byBk ZXRlcm1pbmUgd2hldGhlciB0aGUgaW5kaWNhdGVkIGJpdHMKICAgICAgIG9mIFZBTFVFIGFyZSBh IHN5bnRoZXRpYyBwb2ludGVyLiAgKi8KICAgIGludCAoKmNoZWNrX3N5bnRoZXRpY19wb2ludGVy KSAoY29uc3Qgc3RydWN0IHZhbHVlICp2YWx1ZSwKQEAgLTMwODUsNyArMzUwMyw3IEBAIEluZGV4 OiBnZGItOC4wL2dkYi92YWx1ZS5oCiAgCiAgICAvKiBSZXR1cm4gYSBkdXBsaWNhdGUgb2YgVkFM VUUncyBjbG9zdXJlLCBmb3IgdXNlIGluIGEgbmV3IHZhbHVlLgogICAgICAgVGhpcyBtYXkgc2lt cGx5IHJldHVybiB0aGUgc2FtZSBjbG9zdXJlLCBpZiBWQUxVRSdzIGlzCi1AQCAtMzc3LDcgKzM3 Nyw4IEBACitAQCAtMzc2LDcgKzM3Niw4IEBAIGV4dGVybiBpbnQgdmFsdWVfb3B0aW1pemVkX291 dCAoc3RydWN0IHZhbHVlICp2YWx1ZSk7CiAgICAgb3RoZXJ3aXNlLiAgKi8KICAKICBleHRlcm4g aW50IHZhbHVlX2JpdHNfYW55X29wdGltaXplZF9vdXQgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFs dWUsCkBAIC0zMDk1LDcgKzM1MTMsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvdmFsdWUuaAogIAog IC8qIExpa2UgdmFsdWVfb3B0aW1pemVkX291dCwgYnV0IHJldHVybiB0cnVlIGlmZiB0aGUgd2hv bGUgdmFsdWUgaXMKICAgICBvcHRpbWl6ZWQgb3V0LiAgKi8KLUBAIC0zODcsNyArMzg4LDcgQEAK K0BAIC0zODYsNyArMzg3LDcgQEAgZXh0ZXJuIGludCB2YWx1ZV9lbnRpcmVseV9vcHRpbWl6ZWRf b3V0IChzdHJ1Y3QgdmFsdWUgKnZhbHVlKTsKICAgICBMRU5HVEggYnl0ZXMgYXMgb3B0aW1pemVk IG91dC4gICovCiAgCiAgZXh0ZXJuIHZvaWQgbWFya192YWx1ZV9ieXRlc19vcHRpbWl6ZWRfb3V0 IChzdHJ1Y3QgdmFsdWUgKnZhbHVlLApAQCAtMzEwNCw3ICszNTIyLDcgQEAgSW5kZXg6IGdkYi04 LjAvZ2RiL3ZhbHVlLmgKICAKICAvKiBNYXJrIFZBTFVFJ3MgY29udGVudCBiaXRzIHN0YXJ0aW5n IGF0IE9GRlNFVCBhbmQgZXh0ZW5kaW5nIGZvcgogICAgIExFTkdUSCBiaXRzIGFzIG9wdGltaXpl ZCBvdXQuICAqLwotQEAgLTgxOSwxMiArODIwLDExIEBACitAQCAtODIwLDEyICs4MjEsMTEgQEAg ZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUg KmFyZzEsIExPTkdFU1Qgb2Zmc2V0LAogIAkJCQkJICAgIGludCBmaWVsZG5vLAogIAkJCQkJICAg IHN0cnVjdCB0eXBlICphcmdfdHlwZSk7CiAgCkBAIC0zMTE4LDcgKzM1MzYsNyBAQCBJbmRleDog Z2RiLTguMC9nZGIvdmFsdWUuaAogIAogIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2Nhc3Rf cG9pbnRlcnMgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB2YWx1ZSAqLCBpbnQpOwogIAotQEAgLTEx MTMsMTAgKzExMTMsMTEgQEAKK0BAIC0xMTM2LDEwICsxMTM2LDExIEBAIGV4dGVybiBzdHJ1Y3Qg dmFsdWUgKnZhbHVlX2xpdGVyYWxfY29tcGxleCAoc3RydWN0IHZhbHVlICosIHN0cnVjdCB2YWx1 ZSAqLAogIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKmZpbmRfZnVuY3Rpb25faW5faW5mZXJpb3IgKGNv bnN0IGNoYXIgKiwKICAJCQkJCQlzdHJ1Y3Qgb2JqZmlsZSAqKik7CiAgCkBAIC0zMTMyLDEyMCAr MzU1MCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvdmFsdWUuaAogIAogIC8qIFVzZXIgZnVuY3Rp b24gaGFuZGxlci4gICovCiAgCi1JbmRleDogZ2RiLTguMC9nZGIvczM5MC1saW51eC1uYXQuYwot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvczM5MC1saW51eC1uYXQuYwkyMDE3LTA4 LTE5IDIwOjA0OjU5LjgyMjc4MDg0NyArMDIwMAotKysrIGdkYi04LjAvZ2RiL3MzOTAtbGludXgt bmF0LmMJMjAxNy0wOC0xOSAyMDowNToxMC4wOTI4NzY5MjUgKzAyMDAKLUBAIC05MDAsNyArOTAw LDcgQEAKLSAKLSBzdGF0aWMgaW50Ci0gczM5MF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQg KHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLAotLQkJCQkgIENPUkVfQUREUiBhZGRyLCBpbnQgY250 KQotKwkJCQkgIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGNudCkKLSB7Ci0gICByZXR1cm4gMTsK LSB9Ci1JbmRleDogZ2RiLTguMC9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTguMC5vcmlnL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMJMjAxNy0wOC0xOSAyMDowNDo1 OS44MjM3ODA4NTYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMJMjAx Ny0wOC0xOSAyMDowNToxMC4wOTM4NzY5MzUgKzAyMDAKLUBAIC03NjAsMTQgKzc2MCwxNCBAQAot IH0KLSAKLSBzdGF0aWMgaW50Ci0tZGVsZWdhdGVfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50 IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFyZzEsIGludCBhcmcyKQotK2Rl bGVnYXRlX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNl bGYsIENPUkVfQUREUiBhcmcxLCBMT05HRVNUIGFyZzIpCi0gewotICAgc2VsZiA9IHNlbGYtPmJl bmVhdGg7Ci0gICByZXR1cm4gc2VsZi0+dG9fcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChz ZWxmLCBhcmcxLCBhcmcyKTsKLSB9Ci0gCi0gc3RhdGljIGludAotLWRlYnVnX3JlZ2lvbl9va19m b3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcx LCBpbnQgYXJnMikKLStkZWJ1Z19yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0 YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYXJnMSwgTE9OR0VTVCBhcmcyKQotIHsKLSAgIGlu dCByZXN1bHQ7Ci0gICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICItPiAlcy0+dG9f cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50ICguLi4pXG4iLCBkZWJ1Z190YXJnZXQudG9fc2hv cnRuYW1lKTsKLUBAIC03NzcsNyArNzc3LDcgQEAKLSAgIGZwdXRzX3VuZmlsdGVyZWQgKCIsICIs IGdkYl9zdGRsb2cpOwotICAgdGFyZ2V0X2RlYnVnX3ByaW50X0NPUkVfQUREUiAoYXJnMSk7Ci0g ICBmcHV0c191bmZpbHRlcmVkICgiLCAiLCBnZGJfc3RkbG9nKTsKLS0gIHRhcmdldF9kZWJ1Z19w cmludF9pbnQgKGFyZzIpOwotKyAgdGFyZ2V0X2RlYnVnX3ByaW50X0xPTkdFU1QgKGFyZzIpOwot ICAgZnB1dHNfdW5maWx0ZXJlZCAoIikgPSAiLCBnZGJfc3RkbG9nKTsKLSAgIHRhcmdldF9kZWJ1 Z19wcmludF9pbnQgKHJlc3VsdCk7Ci0gICBmcHV0c191bmZpbHRlcmVkICgiXG4iLCBnZGJfc3Rk bG9nKTsKLUluZGV4OiBnZGItOC4wL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCTIwMTctMDgtMTkgMjA6 MDQ6NTkuODIzNzgwODU2ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvYWFyY2g2NC1saW51eC1uYXQu YwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA5Mzg3NjkzNSArMDIwMAotQEAgLTcwOCw3ICs3MDgsNyBA QAotIAotIHN0YXRpYyBpbnQKLSBhYXJjaDY0X2xpbnV4X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hw b2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCi0tCQkJCQkgICBDT1JFX0FERFIgYWRkciwg aW50IGxlbikKLSsJCQkJCSAgIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKLSB7Ci0gICBy ZXR1cm4gYWFyY2g2NF9saW51eF9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKGFkZHIsIGxlbik7 Ci0gfQotSW5kZXg6IGdkYi04LjAvZ2RiL25hdC94ODYtZHJlZ3MuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi04LjAub3JpZy9nZGIvbmF0L3g4Ni1kcmVncy5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuODIz NzgwODU2ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvbmF0L3g4Ni1kcmVncy5jCTIwMTctMDgtMTkg MjA6MDU6MTAuMDkzODc2OTM1ICswMjAwCi1AQCAtMzg0LDcgKzM4NCw3IEBACi0gCi0gc3RhdGlj IGludAotIHg4Nl9oYW5kbGVfbm9uYWxpZ25lZF93YXRjaHBvaW50IChzdHJ1Y3QgeDg2X2RlYnVn X3JlZ19zdGF0ZSAqc3RhdGUsCi0tCQkJCSAgeDg2X3dwX29wX3Qgd2hhdCwgQ09SRV9BRERSIGFk ZHIsIGludCBsZW4sCi0rCQkJCSAgeDg2X3dwX29wX3Qgd2hhdCwgQ09SRV9BRERSIGFkZHIsIExP TkdFU1QgbGVuLAotIAkJCQkgIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSkKLSB7Ci0gICBp bnQgcmV0dmFsID0gMDsKLUBAIC01NTIsNyArNTUyLDcgQEAKLSAKLSBpbnQKLSB4ODZfZHJfcmVn aW9uX29rX2Zvcl93YXRjaHBvaW50IChzdHJ1Y3QgeDg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUs Ci0tCQkJCSBDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSsJCQkJIENPUkVfQUREUiBhZGRyLCBM T05HRVNUIGxlbikKLSB7Ci0gICBpbnQgbnJlZ3M7Ci0gCi1JbmRleDogZ2RiLTguMC9nZGIvY29t cGlsZS9jb21waWxlLWMtc3VwcG9ydC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dk Yi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMJMjAxNy0wOC0xOSAyMDowNDo1OS44MjQ3ODA4 NjYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMJMjAx Ny0wOC0xOSAyMDowNToxMC4wOTM4NzY5MzUgKzAyMDAKLUBAIC0zMDksMTEgKzMwOSwxMSBAQAot IAotIAkgICAgICBkZWZhdWx0OgotIAkJZnByaW50Zl91bmZpbHRlcmVkIChzdHJlYW0sCi0tCQkJ CSAgICAiICB1bnNpZ25lZCBjaGFyICVzWyVkXSIKLSsJCQkJICAgICIgIHVuc2lnbmVkIGNoYXIg JXNbJXNdIgotIAkJCQkgICAgIiBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXygiCi0gCQkJCSAg ICAiX19CSUdHRVNUX0FMSUdOTUVOVF9fKSkpIiwKLSAJCQkJICAgIHJlZ25hbWUsCi0tCQkJCSAg ICBUWVBFX0xFTkdUSCAocmVndHlwZSkpOwotKwkJCQkgICAgcHVsb25nZXN0IChUWVBFX0xFTkdU SCAocmVndHlwZSkpKTsKLSAJICAgICAgfQotIAkgICAgZnB1dHNfdW5maWx0ZXJlZCAoIjtcbiIs IHN0cmVhbSk7Ci0gCi1JbmRleDogZ2RiLTguMC9nZGIvbmF0L3g4Ni1kcmVncy5oCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9uYXQveDg2LWRyZWdzLmgJMjAxNy0wOC0xOSAyMDow NDo1OS44MjQ3ODA4NjYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9uYXQveDg2LWRyZWdzLmgJMjAx Ny0wOC0xOSAyMDowNToxMC4wOTQ4NzY5NDQgKzAyMDAKLUBAIC0xMTYsNyArMTE2LDcgQEAKLSAv KiBSZXR1cm4gbm9uLXplcm8gaWYgd2UgY2FuIHdhdGNoIGEgbWVtb3J5IHJlZ2lvbiB0aGF0IHN0 YXJ0cyBhdAotICAgIGFkZHJlc3MgQUREUiBhbmQgd2hvc2UgbGVuZ3RoIGlzIExFTiBieXRlcy4g ICovCi0gZXh0ZXJuIGludCB4ODZfZHJfcmVnaW9uX29rX2Zvcl93YXRjaHBvaW50IChzdHJ1Y3Qg eDg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCi0tCQkJCQkgICAgQ09SRV9BRERSIGFkZHIsIGlu dCBsZW4pOwotKwkJCQkJICAgIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbik7Ci0gCi0gLyog SWYgdGhlIGluZmVyaW9yIGhhcyBzb21lIGJyZWFrL3dhdGNocG9pbnQgdGhhdCB0cmlnZ2VyZWQs IHNldCB0aGUKLSAgICBhZGRyZXNzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGJyZWFrL3dhdGNocG9p bnQgYW5kIHJldHVybiB0cnVlLgotSW5kZXg6IGdkYi04LjAvZ2RiL3g4Ni1uYXQuYwotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIveDg2LW5hdC5jCTIwMTctMDgtMTkgMjA6MDQ6NTku ODI0NzgwODY2ICswMjAwCi0rKysgZ2RiLTguMC9nZGIveDg2LW5hdC5jCTIwMTctMDgtMTkgMjA6 MDU6MTAuMDk0ODc2OTQ0ICswMjAwCi1AQCAtMTc0LDcgKzE3NCw3IEBACitkaWZmIC0tZ2l0IGEv Z2RiL3g4Ni1uYXQuYyBiL2dkYi94ODYtbmF0LmMKK2luZGV4IGEyNjY4NTkxNGEuLjI1NWNkNTc0 OWYgMTAwNjQ0CistLS0gYS9nZGIveDg2LW5hdC5jCisrKysgYi9nZGIveDg2LW5hdC5jCitAQCAt MTc0LDcgKzE3NCw3IEBAIHg4Nl9yZW1vdmVfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMg KnNlbGYsIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLAogIAogIHN0YXRpYyBpbnQKICB4ODZfcmVn aW9uX29rX2Zvcl93YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKQEAgLTMyNTQs MTQ0ICszNTYzLDYgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3g4Ni1uYXQuYwogIHsKICAgIHN0cnVj dCB4ODZfZGVidWdfcmVnX3N0YXRlICpzdGF0ZQogICAgICA9IHg4Nl9kZWJ1Z19yZWdfc3RhdGUg KHB0aWRfZ2V0X3BpZCAoaW5mZXJpb3JfcHRpZCkpOwotSW5kZXg6IGdkYi04LjAvZ2RiL3J1c3Qt bGFuZy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9ydXN0LWxhbmcuYwkyMDE3 LTA4LTE5IDIwOjA0OjU5LjgyNDc4MDg2NiArMDIwMAotKysrIGdkYi04LjAvZ2RiL3J1c3QtbGFu Zy5jCTIwMTctMDgtMTkgMjA6MDU6MTAuMDk0ODc2OTQ0ICswMjAwCi1AQCAtNDM5LDcgKzQzOSw3 IEBACi0gCi0gc3RhdGljIHZvaWQKLSBydXN0X3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3Ry ZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLS0JICAgICAgIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcs IHVuc2lnbmVkIGludCBsZW5ndGgsCi0rCSAgICAgICBjb25zdCBnZGJfYnl0ZSAqc3RyaW5nLCBV TE9OR0VTVCBsZW5ndGgsCi0gCSAgICAgICBjb25zdCBjaGFyICp1c2VyX2VuY29kaW5nLCBpbnQg Zm9yY2VfZWxsaXBzZXMsCi0gCSAgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9u cyAqb3B0aW9ucykKLSB7Ci1AQCAtNTYzLDcgKzU2Myw3IEBACi0gLyogbGFfdmFsX3ByaW50IGlt cGxlbWVudGF0aW9uIGZvciBSdXN0LiAgKi8KLSAKLSBzdGF0aWMgdm9pZAotLXJ1c3RfdmFsX3By aW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGVtYmVkZGVkX29mZnNldCwKLStydXN0X3ZhbF9w cmludCAoc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAotIAkJQ09S RV9BRERSIGFkZHJlc3MsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAotIAkJ c3RydWN0IHZhbHVlICp2YWwsCi0gCQljb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAq b3B0aW9ucykKLUluZGV4OiBnZGItOC4wL2dkYi9hcmNoLXV0aWxzLmMKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItOC4wLm9yaWcvZ2RiL2FyY2gtdXRpbHMuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgyNTc4 MDg3NSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2FyY2gtdXRpbHMuYwkyMDE3LTA4LTE5IDIwOjA1 OjEwLjA5NTg3Njk1MyArMDIwMAotQEAgLTI0Nyw3ICsyNDcsNyBAQAotIAotIGNvbnN0IHN0cnVj dCBmbG9hdGZvcm1hdCAqKgotIGRlZmF1bHRfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLAotLQkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pCi0r CQkJICAgICAgY29uc3QgY2hhciAqbmFtZSwgTE9OR0VTVCBsZW4pCi0gewotICAgY29uc3Qgc3Ry dWN0IGZsb2F0Zm9ybWF0ICoqZm9ybWF0ID0gTlVMTDsKLSAKLUluZGV4OiBnZGItOC4wL2dkYi9h cmNoLXV0aWxzLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2FyY2gtdXRpbHMu aAkyMDE3LTA4LTE5IDIwOjA0OjU5LjgyNTc4MDg3NSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2Fy Y2gtdXRpbHMuaAkyMDE3LTA4LTE5IDIwOjA1OjEwLjA5NTg3Njk1MyArMDIwMAotQEAgLTE0NCw3 ICsxNDQsNyBAQAotIC8qIERlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgZ2RiYXJjaF9mbG9hdGZv cm1hdF9mb3JfdHlwZS4gICovCi0gZXh0ZXJuIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgot ICAgZGVmYXVsdF9mbG9hdGZvcm1hdF9mb3JfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs Ci0tCQkJCWNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pOwotKwkJCQljb25zdCBjaGFyICpuYW1l LCBMT05HRVNUIGxlbik7Ci0gCi0gZXh0ZXJuIENPUkVfQUREUiBnZW5lcmljX3NraXBfdHJhbXBv bGluZV9jb2RlIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCi0gCQkJCQkgICAgICAgQ09SRV9B RERSIHBjKTsKLUluZGV4OiBnZGItOC4wL2dkYi9maW5kY21kLmMKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItOC4wLm9yaWcvZ2RiL2ZpbmRjbWQuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgyNTc4MDg3NSAr MDIwMAotKysrIGdkYi04LjAvZ2RiL2ZpbmRjbWQuYwkyMDE3LTA4LTE5IDIwOjA1OjEwLjA5NTg3 Njk1MyArMDIwMAotQEAgLTE4MCw3ICsxODAsNyBAQAotIAkgbmVlZCB0byBncm93IHRoZSBwYXR0 ZXJuIGJ1Zi4gICovCi0gICAgICAgcGF0dGVybl9idWZfc2l6ZV9uZWVkID0gKHBhdHRlcm5fYnVm X2VuZCAtIHBhdHRlcm5fYnVmCi0gCQkJICAgICAgICsgc3RkOjptYXggKFRZUEVfTEVOR1RIICh0 KSwKLS0JCQkJCSAgICh1bnNpZ25lZCkgc2l6ZW9mIChpbnQ2NF90KSkpOwotKwkJCQkJICAgKFVM T05HRVNUKSBzaXplb2YgKGludDY0X3QpKSk7Ci0gICAgICAgaWYgKHBhdHRlcm5fYnVmX3NpemVf bmVlZCA+IHBhdHRlcm5fYnVmX3NpemUpCi0gCXsKLSAJICBzaXplX3QgY3VycmVudF9vZmZzZXQg PSBwYXR0ZXJuX2J1Zl9lbmQgLSBwYXR0ZXJuX2J1ZjsKLUluZGV4OiBnZGItOC4wL2dkYi9nZGJh cmNoLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2dkYmFyY2guYwkyMDE3LTA4 LTE5IDIwOjA0OjU5LjgyNjc4MDg4NSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2dkYmFyY2guYwky MDE3LTA4LTE5IDIwOjA1OjEwLjA5Njg3Njk2MyArMDIwMAotQEAgLTE4MDYsNyArMTgwNiw3IEBA Ci0gfQotIAotIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgotLWdkYmFyY2hfZmxvYXRmb3Jt YXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBp bnQgbGVuZ3RoKQotK2dkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBMT05HRVNUIGxlbmd0aCkKLSB7Ci0gICBnZGJf YXNzZXJ0IChnZGJhcmNoICE9IE5VTEwpOwotICAgZ2RiX2Fzc2VydCAoZ2RiYXJjaC0+ZmxvYXRm b3JtYXRfZm9yX3R5cGUgIT0gTlVMTCk7Ci1JbmRleDogZ2RiLTguMC9nZGIvZ2RiYXJjaC5oCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9nZGJhcmNoLmgJMjAxNy0wOC0xOSAyMDow NDo1OS44MjY3ODA4ODUgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9nZGJhcmNoLmgJMjAxNy0wOC0x OSAyMDowNToxMC4wOTY4NzY5NjMgKzAyMDAKLUBAIC0yMDMsOCArMjAzLDggQEAKLSAgICBOQU1F LCBpZiBub24tTlVMTCwgaXMgdGhlIHR5cGUgbmFtZSwgd2hpY2ggbWF5IGJlIHVzZWQgdG8gZGlz dGluZ3Vpc2gKLSAgICBkaWZmZXJlbnQgdGFyZ2V0IGZvcm1hdHMgb2YgdGhlIHNhbWUgbGVuZ3Ro LiAqLwotIAotLXR5cGVkZWYgY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqIChnZGJhcmNoX2Zs b2F0Zm9ybWF0X2Zvcl90eXBlX2Z0eXBlKSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGNvbnN0 IGNoYXIgKm5hbWUsIGludCBsZW5ndGgpOwotLWV4dGVybiBjb25zdCBzdHJ1Y3QgZmxvYXRmb3Jt YXQgKiogZ2RiYXJjaF9mbG9hdGZvcm1hdF9mb3JfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW5ndGgpOwotK3R5cGVkZWYgY29uc3Qgc3RydWN0 IGZsb2F0Zm9ybWF0ICoqIChnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlX2Z0eXBlKSAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsIGNvbnN0IGNoYXIgKm5hbWUsIExPTkdFU1QgbGVuZ3RoKTsK LStleHRlcm4gY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqIGdkYmFyY2hfZmxvYXRmb3JtYXRf Zm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBMT05H RVNUIGxlbmd0aCk7Ci0gZXh0ZXJuIHZvaWQgc2V0X2dkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5 cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBl X2Z0eXBlICpmbG9hdGZvcm1hdF9mb3JfdHlwZSk7Ci0gCi0gLyogRm9yIG1vc3QgdGFyZ2V0cywg YSBwb2ludGVyIG9uIHRoZSB0YXJnZXQgYW5kIGl0cyByZXByZXNlbnRhdGlvbiBhcyBhbgotSW5k ZXg6IGdkYi04LjAvZ2RiL2dkYmFyY2guc2gKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcv Z2RiL2dkYmFyY2guc2gJMjAxNy0wOC0xOSAyMDowNDo1OS44Mjc3ODA4OTQgKzAyMDAKLSsrKyBn ZGItOC4wL2dkYi9nZGJhcmNoLnNoCTIwMTctMDgtMTkgMjA6MDU6MTAuMDk3ODc2OTcyICswMjAw Ci1AQCAtMzkyLDcgKzM5Miw3IEBACi0gIyBSZXR1cm5zIHRoZSBmbG9hdGluZy1wb2ludCBmb3Jt YXQgdG8gYmUgdXNlZCBmb3IgdmFsdWVzIG9mIGxlbmd0aCBMRU5HVEguCi0gIyBOQU1FLCBpZiBu b24tTlVMTCwgaXMgdGhlIHR5cGUgbmFtZSwgd2hpY2ggbWF5IGJlIHVzZWQgdG8gZGlzdGluZ3Vp c2gKLSAjIGRpZmZlcmVudCB0YXJnZXQgZm9ybWF0cyBvZiB0aGUgc2FtZSBsZW5ndGguCi0tbTpj b25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKio6ZmxvYXRmb3JtYXRfZm9yX3R5cGU6Y29uc3QgY2hh ciAqbmFtZSwgaW50IGxlbmd0aDpuYW1lLCBsZW5ndGg6MDpkZWZhdWx0X2Zsb2F0Zm9ybWF0X2Zv cl90eXBlOjowCi0rbTpjb25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKio6ZmxvYXRmb3JtYXRfZm9y X3R5cGU6Y29uc3QgY2hhciAqbmFtZSwgTE9OR0VTVCBsZW5ndGg6bmFtZSwgbGVuZ3RoOjA6ZGVm YXVsdF9mbG9hdGZvcm1hdF9mb3JfdHlwZTo6MAotIAotICMgRm9yIG1vc3QgdGFyZ2V0cywgYSBw b2ludGVyIG9uIHRoZSB0YXJnZXQgYW5kIGl0cyByZXByZXNlbnRhdGlvbiBhcyBhbgotICMgYWRk cmVzcyBpbiBHREIgaGF2ZSB0aGUgc2FtZSBzaXplIGFuZCAibG9vayB0aGUgc2FtZSIuICBGb3Ig c3VjaCBhCi1JbmRleDogZ2RiLTguMC9nZGIvaTM4Ni10ZGVwLmMKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItOC4wLm9yaWcvZ2RiL2kzODYtdGRlcC5jCTIwMTctMDgtMTkgMjA6MDQ6NTkuODI4NzgwOTAz ICswMjAwCi0rKysgZ2RiLTguMC9nZGIvaTM4Ni10ZGVwLmMJMjAxNy0wOC0xOSAyMDowNToxMC4w OTg4NzY5ODIgKzAyMDAKLUBAIC04MTgwLDcgKzgxODAsNyBAQAotIAotIGNvbnN0IHN0cnVjdCBm bG9hdGZvcm1hdCAqKgotIGkzODZfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLAotLQkJCSAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pCi0rCQkJICAgY29u c3QgY2hhciAqbmFtZSwgTE9OR0VTVCBsZW4pCi0gewotICAgaWYgKGxlbiA9PSAxMjggJiYgbmFt ZSkKLSAgICAgaWYgKHN0cmNtcCAobmFtZSwgIl9fZmxvYXQxMjgiKSA9PSAwCi1JbmRleDogZ2Ri LTguMC9nZGIvcHBjLWxpbnV4LXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9n ZGIvcHBjLWxpbnV4LXRkZXAuYwkyMDE3LTA4LTE5IDIwOjA0OjU5LjgyOTc4MDkxMyArMDIwMAot KysrIGdkYi04LjAvZ2RiL3BwYy1saW51eC10ZGVwLmMJMjAxNy0wOC0xOSAyMDowNToxMC4wOTg4 NzY5ODIgKzAyMDAKLUBAIC0xNjMyLDcgKzE2MzIsNyBAQAotIAotIGNvbnN0IHN0cnVjdCBmbG9h dGZvcm1hdCAqKgotIHBwY19mbG9hdGZvcm1hdF9mb3JfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBpbnQg bGVuKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwgTE9OR0VT VCBsZW4pCi0gewotICAgaWYgKGxlbiA9PSAxMjggJiYgbmFtZSkKLSAgICAgaWYgKHN0cmNtcCAo bmFtZSwgIl9fZmxvYXQxMjgiKSA9PSAwCi1JbmRleDogZ2RiLTguMC9nZGIvdHJhY2Vwb2ludC5o Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi90cmFjZXBvaW50LmgJMjAxNy0wOC0x OSAyMDowNDo1OS44Mjk3ODA5MTMgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi90cmFjZXBvaW50LmgJ MjAxNy0wOC0xOSAyMDowNToxMC4wOTk4NzY5OTEgKzAyMDAKLUBAIC0yNTQsNyArMjU0LDcgQEAK LSAgIHZvaWQgYWRkX3JlZ2lzdGVyICh1bnNpZ25lZCBpbnQgcmVnbm8pOwotICAgdm9pZCBhZGRf bWVtcmFuZ2UgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotIAkJICAgICBpbnQgdHlwZSwgYmZk X3NpZ25lZF92bWEgYmFzZSwKLS0JCSAgICAgdW5zaWduZWQgbG9uZyBsZW4pOwotKwkJICAgICBV TE9OR0VTVCBsZW4pOwotICAgdm9pZCBjb2xsZWN0X3N5bWJvbCAoc3RydWN0IHN5bWJvbCAqc3lt LAotIAkJICAgICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotIAkJICAgICAgIGxvbmcgZnJh bWVfcmVnbm8sIGxvbmcgZnJhbWVfb2Zmc2V0LAorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBh L2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1iaXRw b3MtMjFvZjI1LnBhdGNoCmluZGV4IDExNWZmMGQuLmM1MWQ1MmMgMTAwNjQ0Ci0tLSBhL2dkYi1y aGJ6Nzk1NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2gKKysrIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9z LTIxb2YyNS5wYXRjaApAQCAtMSwxMiArMSwxNSBAQAorRnJvbSA4OTE2MzhkZTk4YTVjMWFjYTQy NTMzYmRhMTViZTFhYzgwYmI0YzIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVk b3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIw MTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzRdIEFkZCBhIGNoZWNrIHRvIGVu c3VyZSB0aGF0IGEgdHlwZSBtYXkgZml0IGludG8gaG9zdCBtZW1vcnkKK1N1YmplY3Q6IEFkZCBh IGNoZWNrIHRvIGVuc3VyZSB0aGF0IGEgdHlwZSBtYXkgZml0IGludG8gaG9zdCBtZW1vcnkKIAog RmlsZU5hbWU6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2gKIAotaHR0cDovL3Nv dXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDkvbXNnMDA2MzIuaHRtbAotCis7OyBG aXggYEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdl ciB0aGFuIDI1Nk1CJworOzsgKFJIIEJaIDc5NTQyNCkuCis7Oz1wdXNoCiAKK2h0dHA6Ly9zb3Vy Y2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEyLTA5L21zZzAwNjMyLmh0bWwKIAogLS1NUF8v UG5MNmwzTFVzWFdwWi9vbHFhd1dsemIKIENvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNl dD1VUy1BU0NJSQpAQCAtNTcsMTIgKzYwLDIyIEBAIGdkYi9DaGFuZ2VMb2cKIENvbnRlbnQtVHlw ZTogdGV4dC94LXBhdGNoCiBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CiBDb250ZW50 LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1iaXRwb3MtZW5zdXJlLXNpemVfdC5w YXRjaAorLS0tCisgZ2RiL2FscGhhLXRkZXAuYyAgfCAgNyArKysrKysrCisgZ2RiL2NwLXZhbHBy aW50LmMgfCAgMSArCisgZ2RiL2RlZnMuaCAgICAgICAgfCAgMiArKworIGdkYi9wLXZhbHByaW50 LmMgIHwgIDEgKworIGdkYi91dGlscy5jICAgICAgIHwgMTIgKysrKysrKysrKysrCisgZ2RiL3Zh bG9wcy5jICAgICAgfCAgMSArCisgZ2RiL3ZhbHVlLmMgICAgICAgfCAgNCArKysrCisgZ2RiL3Zh eC10ZGVwLmMgICAgfCAgMSArCisgOCBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspCiAK LUluZGV4OiBnZGItOC4wL2dkYi9hbHBoYS10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4w Lm9yaWcvZ2RiL2FscGhhLXRkZXAuYwkyMDE3LTA4LTE5IDIwOjA3OjQ1LjQ2OTMzMDQ5NiArMDIw MAotKysrIGdkYi04LjAvZ2RiL2FscGhhLXRkZXAuYwkyMDE3LTA4LTE5IDIwOjA3OjUwLjY3MDM3 OTE1MiArMDIwMAotQEAgLTQxNCw2ICs0MTQsMTMgQEAKK2RpZmYgLS1naXQgYS9nZGIvYWxwaGEt dGRlcC5jIGIvZ2RiL2FscGhhLXRkZXAuYworaW5kZXggMzEwMGQ3MmFkMS4uNmZiZjQxYmNkYyAx MDA2NDQKKy0tLSBhL2dkYi9hbHBoYS10ZGVwLmMKKysrKyBiL2dkYi9hbHBoYS10ZGVwLmMKK0BA IC00MTUsNiArNDE1LDEzIEBAIGFscGhhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgICAgIGFjY3VtdWxhdGVfc2l6ZSA9 IDA7CiAgICBlbHNlCiAgICAgIGFjY3VtdWxhdGVfc2l6ZSAtPSBzaXplb2YoYXJnX3JlZ19idWZm ZXIpOwpAQCAtNzYsNDggKzg5LDQ2IEBAIEluZGV4OiBnZGItOC4wL2dkYi9hbHBoYS10ZGVwLmMK ICAgIHNwIC09IGFjY3VtdWxhdGVfc2l6ZTsKICAKICAgIC8qIEtlZXAgc3AgYWxpZ25lZCB0byBh IG11bHRpcGxlIG9mIDE2IGFzIHRoZSBBQkkgcmVxdWlyZXMuICAqLwotSW5kZXg6IGdkYi04LjAv Z2RiL2NwLXZhbHByaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2NwLXZh bHByaW50LmMJMjAxNy0wOC0xOSAyMDowNzo0NS40NzAzMzA1MDUgKzAyMDAKLSsrKyBnZGItOC4w L2dkYi9jcC12YWxwcmludC5jCTIwMTctMDgtMTkgMjA6MDc6NTAuNjcwMzc5MTUyICswMjAwCi1A QCAtNTM3LDYgKzUzNyw4IEBACi0gCQkgIGdkYl9ieXRlICpidWY7Ci0gCQkgIHN0cnVjdCBjbGVh bnVwICpiYWNrX3RvOwotIAorZGlmZiAtLWdpdCBhL2dkYi9jcC12YWxwcmludC5jIGIvZ2RiL2Nw LXZhbHByaW50LmMKK2luZGV4IDM4YmViNGQ2MmEuLmJjYjU5NTA3YmQgMTAwNjQ0CistLS0gYS9n ZGIvY3AtdmFscHJpbnQuYworKysrIGIvZ2RiL2NwLXZhbHByaW50LmMKK0BAIC01MjksNiArNTI5 LDcgQEAgY3BfcHJpbnRfdmFsdWUgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdHlwZSAqcmVh bF90eXBlLAorIAkgICAgICBpZiAoKGJvZmZzZXQgKyBvZmZzZXQpIDwgMAorIAkJICB8fCAoYm9m ZnNldCArIG9mZnNldCkgPj0gVFlQRV9MRU5HVEggKHJlYWxfdHlwZSkpCisgCQl7CiArCQkgIHVs b25nZXN0X2ZpdHNfaG9zdF9vcl9lcnJvciAoVFlQRV9MRU5HVEggKGJhc2VjbGFzcykpOwotKwot IAkJICBidWYgPSAoZ2RiX2J5dGUgKikgeG1hbGxvYyAoVFlQRV9MRU5HVEggKGJhc2VjbGFzcykp OwotIAkJICBiYWNrX3RvID0gbWFrZV9jbGVhbnVwICh4ZnJlZSwgYnVmKTsKKyAJCSAgZ2RiOjpi eXRlX3ZlY3RvciBidWYgKFRZUEVfTEVOR1RIIChiYXNlY2xhc3MpKTsKICAKLUluZGV4OiBnZGIt OC4wL2dkYi9maW5kY21kLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2ZpbmRj bWQuYwkyMDE3LTA4LTE5IDIwOjA3OjQ1LjQ3MjMzMDUyNCArMDIwMAotKysrIGdkYi04LjAvZ2Ri L2ZpbmRjbWQuYwkyMDE3LTA4LTE5IDIwOjA3OjUwLjY3MjM3OTE3MSArMDIwMAotQEAgLTE4Niw2 ICsxODYsNyBAQAotIAkgIHNpemVfdCBjdXJyZW50X29mZnNldCA9IHBhdHRlcm5fYnVmX2VuZCAt IHBhdHRlcm5fYnVmOworIAkJICBpZiAodGFyZ2V0X3JlYWRfbWVtb3J5IChhZGRyZXNzICsgYm9m ZnNldCwgYnVmLmRhdGEgKCksCitkaWZmIC0tZ2l0IGEvZ2RiL2RlZnMuaCBiL2dkYi9kZWZzLmgK K2luZGV4IGY3NjI5M2ZlZGYuLjI3ZjNiZWNhYjAgMTAwNjQ0CistLS0gYS9nZGIvZGVmcy5oCisr KysgYi9nZGIvZGVmcy5oCitAQCAtNzA1LDQgKzcwNSw2IEBAIERFRl9FTlVNX0ZMQUdTX1RZUEUg KGVudW0gdXNlcl9zZWxlY3RlZF93aGF0X2ZsYWcsIHVzZXJfc2VsZWN0ZWRfd2hhdCk7CiAgCi0g CSAgcGF0dGVybl9idWZfc2l6ZSA9IHBhdHRlcm5fYnVmX3NpemVfbmVlZCAqIDI7Ci0rCSAgdWxv bmdlc3RfZml0c19ob3N0X29yX2Vycm9yIChwYXR0ZXJuX2J1Zl9zaXplKTsKLSAJICBwYXR0ZXJu X2J1ZiA9IChnZGJfYnl0ZSAqKSB4cmVhbGxvYyAocGF0dGVybl9idWYsIHBhdHRlcm5fYnVmX3Np emUpOwotIAkgIHBhdHRlcm5fYnVmX2VuZCA9IHBhdHRlcm5fYnVmICsgY3VycmVudF9vZmZzZXQ7 Ci0gCX0KLUluZGV4OiBnZGItOC4wL2dkYi9wLXZhbHByaW50LmMKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItOC4wLm9yaWcvZ2RiL3AtdmFscHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA3OjQ1LjQ3MjMzMDUy NCArMDIwMAotKysrIGdkYi04LjAvZ2RiL3AtdmFscHJpbnQuYwkyMDE3LTA4LTE5IDIwOjA3OjUw LjY3MzM3OTE4MCArMDIwMAotQEAgLTc3Miw2ICs3NzIsNyBAQAotIAkgICAgICBnZGJfYnl0ZSAq YnVmOwotIAkgICAgICBzdHJ1Y3QgY2xlYW51cCAqYmFja190bzsKKyAjaW5jbHVkZSAidXRpbHMu aCIKICAKKytleHRlcm4gdm9pZCB1bG9uZ2VzdF9maXRzX2hvc3Rfb3JfZXJyb3IgKFVMT05HRVNU IG51bSk7CisrCisgI2VuZGlmIC8qICNpZm5kZWYgREVGU19IICovCitkaWZmIC0tZ2l0IGEvZ2Ri L3AtdmFscHJpbnQuYyBiL2dkYi9wLXZhbHByaW50LmMKK2luZGV4IDNjZGM4NDdmZTMuLjhkNWIz OTVhZmQgMTAwNjQ0CistLS0gYS9nZGIvcC12YWxwcmludC5jCisrKysgYi9nZGIvcC12YWxwcmlu dC5jCitAQCAtNzcxLDYgKzc3MSw3IEBAIHBhc2NhbF9vYmplY3RfcHJpbnRfdmFsdWUgKHN0cnVj dCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKKyAKKyAJICBpZiAoYm9mZnNl dCA8IDAgfHwgYm9mZnNldCA+PSBUWVBFX0xFTkdUSCAodHlwZSkpCisgCSAgICB7CiArCSAgICAg IHVsb25nZXN0X2ZpdHNfaG9zdF9vcl9lcnJvciAoVFlQRV9MRU5HVEggKGJhc2VjbGFzcykpOwot IAkgICAgICBidWYgPSAoZ2RiX2J5dGUgKikgeG1hbGxvYyAoVFlQRV9MRU5HVEggKGJhc2VjbGFz cykpOwotIAkgICAgICBiYWNrX3RvID0gbWFrZV9jbGVhbnVwICh4ZnJlZSwgYnVmKTsKKyAJICAg ICAgYnVmLnJlc2l6ZSAoVFlQRV9MRU5HVEggKGJhc2VjbGFzcykpOwogIAotSW5kZXg6IGdkYi04 LjAvZ2RiL3V0aWxzLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3V0aWxzLmMJ MjAxNy0wOC0xOSAyMDowNzo0NS40NzMzMzA1MzMgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi91dGls cy5jCTIwMTctMDgtMTkgMjA6MDc6NTAuNjczMzc5MTgwICswMjAwCi1AQCAtMjc3Niw2ICsyNzc2 LDE4IEBACisgCSAgICAgIGJhc2VfdmFsYWRkciA9IGJ1Zi5kYXRhICgpOworZGlmZiAtLWdpdCBh L2dkYi91dGlscy5jIGIvZ2RiL3V0aWxzLmMKK2luZGV4IDVlOTlhNGQ1MDEuLmY3MmRkYWI5OTIg MTAwNjQ0CistLS0gYS9nZGIvdXRpbHMuYworKysrIGIvZ2RiL3V0aWxzLmMKK0BAIC0yODIyLDYg KzI4MjIsMTggQEAgc3RyaW5nX3RvX2NvcmVfYWRkciAoY29uc3QgY2hhciAqbXlfc3RyaW5nKQog ICAgcmV0dXJuIGFkZHI7CiAgfQogIApAQCAtMTMzLDI2ICsxNDQsMjYgQEAgSW5kZXg6IGdkYi04 LjAvZ2RiL3V0aWxzLmMKICsJICAgcHVsb25nZXN0IChTSVpFX01BWCAvIDgpKTsKICt9CiArCi0g Y2hhciAqCisgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4KICBnZGJfcmVhbHBhdGggKGNv bnN0IGNoYXIgKmZpbGVuYW1lKQogIHsKLUluZGV4OiBnZGItOC4wL2dkYi92YWxvcHMuYwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvdmFsb3BzLmMJMjAxNy0wOC0xOSAyMDowNzo0 NS40NzQzMzA1NDIgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi92YWxvcHMuYwkyMDE3LTA4LTE5IDIw OjA3OjUwLjY3NDM3OTE5MCArMDIwMAotQEAgLTIxMDAsNiArMjEwMCw3IEBACi0gCSAgICAgIHN0 cnVjdCBjbGVhbnVwICpiYWNrX3RvOworZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92 YWxvcHMuYworaW5kZXggYTdjMzYxM2Q4NC4uZWViY2I4ZTVlMSAxMDA2NDQKKy0tLSBhL2dkYi92 YWxvcHMuYworKysrIGIvZ2RiL3ZhbG9wcy5jCitAQCAtMjA4Nyw2ICsyMDg3LDcgQEAgc2VhcmNo X3N0cnVjdF9tZXRob2QgKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCB2YWx1ZSAqKmFyZzFwLAor IAkgICAgewogIAkgICAgICBDT1JFX0FERFIgYWRkcmVzczsKICAKICsJICAgICAgdWxvbmdlc3Rf Zml0c19ob3N0X29yX2Vycm9yIChUWVBFX0xFTkdUSCAoYmFzZWNsYXNzKSk7Ci0gCSAgICAgIHRt cCA9IChnZGJfYnl0ZSAqKSB4bWFsbG9jIChUWVBFX0xFTkdUSCAoYmFzZWNsYXNzKSk7Ci0gCSAg ICAgIGJhY2tfdG8gPSBtYWtlX2NsZWFudXAgKHhmcmVlLCB0bXApOworIAkgICAgICBnZGI6OmJ5 dGVfdmVjdG9yIHRtcCAoVFlQRV9MRU5HVEggKGJhc2VjbGFzcykpOwogIAkgICAgICBhZGRyZXNz ID0gdmFsdWVfYWRkcmVzcyAoKmFyZzFwKTsKLUluZGV4OiBnZGItOC4wL2dkYi92YWx1ZS5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi92YWx1ZS5jCTIwMTctMDgtMTkgMjA6MDc6 NDUuNDc2MzMwNTYxICswMjAwCi0rKysgZ2RiLTguMC9nZGIvdmFsdWUuYwkyMDE3LTA4LTE5IDIw OjA3OjUwLjY3NTM3OTE5OSArMDIwMAotQEAgLTkzNiw2ICs5MzYsNyBAQAorIAorZGlmZiAtLWdp dCBhL2dkYi92YWx1ZS5jIGIvZ2RiL3ZhbHVlLmMKK2luZGV4IDBjODdhZTc1ZWUuLjEwNWMyOGJl YTcgMTAwNjQ0CistLS0gYS9nZGIvdmFsdWUuYworKysrIGIvZ2RiL3ZhbHVlLmMKK0BAIC05MjYs NiArOTI2LDcgQEAgYWxsb2NhdGVfdmFsdWVfbGF6eSAoc3RydWN0IHR5cGUgKnR5cGUpCiAgICAg ICBkZXNjcmlwdGlvbiBjb3JyZWN0bHkuICAqLwogICAgY2hlY2tfdHlwZWRlZiAodHlwZSk7CiAg CkBAIC0xNjAsNyArMTcxLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbHVlLmMKICAgIHZhbCA9 IFhDTkVXIChzdHJ1Y3QgdmFsdWUpOwogICAgdmFsLT5jb250ZW50cyA9IE5VTEw7CiAgICB2YWwt Pm5leHQgPSBhbGxfdmFsdWVzOwotQEAgLTEwMzMsNiArMTAzNCw4IEBACitAQCAtMTAyMyw2ICsx MDI0LDggQEAgY2hlY2tfdHlwZV9sZW5ndGhfYmVmb3JlX2FsbG9jIChjb25zdCBzdHJ1Y3QgdHlw ZSAqdHlwZSkKICBzdGF0aWMgdm9pZAogIGFsbG9jYXRlX3ZhbHVlX2NvbnRlbnRzIChzdHJ1Y3Qg dmFsdWUgKnZhbCkKICB7CkBAIC0xNjksNyArMTgwLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3Zh bHVlLmMKICAgIGlmICghdmFsLT5jb250ZW50cykKICAgICAgewogICAgICAgIGNoZWNrX3R5cGVf bGVuZ3RoX2JlZm9yZV9hbGxvYyAodmFsLT5lbmNsb3NpbmdfdHlwZSk7Ci1AQCAtMzA5Myw2ICsz MDk2LDcgQEAKK0BAIC0zMDE1LDYgKzMwMTgsNyBAQCBzZXRfdmFsdWVfZW5jbG9zaW5nX3R5cGUg KHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdHlwZSAqbmV3X2VuY2xfdHlwZSkKICAgIGlmIChU WVBFX0xFTkdUSCAobmV3X2VuY2xfdHlwZSkgPiBUWVBFX0xFTkdUSCAodmFsdWVfZW5jbG9zaW5n X3R5cGUgKHZhbCkpKQogICAgICB7CiAgICAgICAgY2hlY2tfdHlwZV9sZW5ndGhfYmVmb3JlX2Fs bG9jIChuZXdfZW5jbF90eXBlKTsKQEAgLTE3NywxMSArMTg4LDExIEBAIEluZGV4OiBnZGItOC4w L2dkYi92YWx1ZS5jCiAgICAgICAgdmFsLT5jb250ZW50cwogIAk9IChnZGJfYnl0ZSAqKSB4cmVh bGxvYyAodmFsLT5jb250ZW50cywgVFlQRV9MRU5HVEggKG5ld19lbmNsX3R5cGUpKTsKICAgICAg fQotSW5kZXg6IGdkYi04LjAvZ2RiL3ZheC10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4w Lm9yaWcvZ2RiL3ZheC10ZGVwLmMJMjAxNy0wOC0xOSAyMDowNzo0NS40NzYzMzA1NjEgKzAyMDAK LSsrKyBnZGItOC4wL2dkYi92YXgtdGRlcC5jCTIwMTctMDgtMTkgMjA6MDc6NTAuNjc1Mzc5MTk5 ICswMjAwCi1AQCAtMjE5LDYgKzIxOSw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3ZheC10ZGVwLmMg Yi9nZGIvdmF4LXRkZXAuYworaW5kZXggYzFmMTBjOGI2NS4uZjMxYWNjOGYwMSAxMDA2NDQKKy0t LSBhL2dkYi92YXgtdGRlcC5jCisrKysgYi9nZGIvdmF4LXRkZXAuYworQEAgLTIxOCw2ICsyMTgs NyBAQCB2YXhfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZh bHVlICpmdW5jdGlvbiwKICAJICBVTE9OR0VTVCBhZGRyOwogIAogIAkgIHJlZ2NhY2hlX3Jhd19y ZWFkX3Vuc2lnbmVkIChyZWdjYWNoZSwgVkFYX1IwX1JFR05VTSwgJmFkZHIpOwpAQCAtMTg5LDE0 ICsyMDAsNiBAQCBJbmRleDogZ2RiLTguMC9nZGIvdmF4LXRkZXAuYwogIAkgIHJlYWRfbWVtb3J5 IChhZGRyLCByZWFkYnVmLCBsZW4pOwogIAl9CiAgCi1JbmRleDogZ2RiLTguMC9nZGIvZGVmcy5o Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi9kZWZzLmgJMjAxNy0wOC0xOSAyMDow Nzo0NS40NzYzMzA1NjEgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi9kZWZzLmgJMjAxNy0wOC0xOSAy MDowNzo1MC42NzYzNzkyMDggKzAyMDAKLUBAIC03NTAsNCArNzUwLDYgQEAKLSAKLSAjaW5jbHVk ZSAidXRpbHMuaCIKLSAKLStleHRlcm4gdm9pZCB1bG9uZ2VzdF9maXRzX2hvc3Rfb3JfZXJyb3Ig KFVMT05HRVNUIG51bSk7Ci0rCi0gI2VuZGlmIC8qICNpZm5kZWYgREVGU19IICovCistLSAKKzIu MTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRjaCBi L2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMm9mMjUucGF0Y2gKaW5kZXggMGI3NGZhNC4uODJlNGM1 ZiAxMDA2NDQKLS0tIGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRjaAorKysgYi9n ZGItcmhiejc5NTQyNC1iaXRwb3MtMjJvZjI1LnBhdGNoCkBAIC0xLDEyICsxLDE1IEBACitGcm9t IDBkMjgzYTAxMjkzNGEzNmFkYWRlOWMzZjBjNTA0NDI0YTA3OGJjNTEgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgog RGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogW1BBVENIIDMv NF0gRXhwYW5kIHdhdGNocG9pbnQgbGVuZ3RocyB0byBMT05HRVNUCitTdWJqZWN0OiBFeHBhbmQg d2F0Y2hwb2ludCBsZW5ndGhzIHRvIExPTkdFU1QKIAogRmlsZU5hbWU6IGdkYi1yaGJ6Nzk1NDI0 LWJpdHBvcy0yMm9mMjUucGF0Y2gKIAotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRj aGVzLzIwMTItMDkvbXNnMDA2MjkuaHRtbAotCis7OyBGaXggYEdEQiBjYW5ub3QgYWNjZXNzIHN0 cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJworOzsgKFJIIEJa IDc5NTQyNCkuCis7Oz1wdXNoCiAKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hl cy8yMDEyLTA5L21zZzAwNjI5Lmh0bWwKIAogLS1NUF8vNkhSbEg2dnB5cXRTeTRDWXlNclg2YjIK IENvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VUy1BU0NJSQpAQCAtMTAxLDEyICsx MDQsMzcgQEAgZ2RiL0NoYW5nZUxvZzoKIENvbnRlbnQtVHlwZTogdGV4dC94LXBhdGNoCiBDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CiBDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2ht ZW50OyBmaWxlbmFtZT1iaXRwb3Mtd3AucGF0Y2gKKy0tLQorIGdkYi9hYXJjaDY0LWxpbnV4LW5h dC5jICAgICAgICAgIHwgIDIgKy0KKyBnZGIvYXJtLWxpbnV4LW5hdC5jICAgICAgICAgICAgICB8 ICAyICstCisgZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmMgfCAyMSArKysrKysrKysr Ky0tLS0tLS0tLS0KKyBnZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuaCB8ICA0ICsrLS0K KyBnZGIvcHBjLWxpbnV4LW5hdC5jICAgICAgICAgICAgICB8IDE0ICsrKysrKystLS0tLS0tCisg Z2RiL3Byb2Nmcy5jICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCisgZ2RiL3JlbW90ZS5j ICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KKyBnZGIvdGFyZ2V0LWRlbGVnYXRlcy5j ICAgICAgICAgICB8IDE0ICsrKysrKystLS0tLS0tCisgZ2RiL3RhcmdldC5jICAgICAgICAgICAg ICAgICAgICAgfCAgNCArKy0tCisgZ2RiL3RhcmdldC5oICAgICAgICAgICAgICAgICAgICAgfCAg NCArKy0tCisgMTAgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25z KC0pCiAKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvYXJtLWxpbnV4LW5hdC5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcub3JpZy9nZGIvYXJtLWxpbnV4LW5h dC5jCTIwMTUtMTEtMDggMTA6MzY6MzMuMDUwMDcxODEyICswMTAwCi0rKysgZ2RiLTcuMTAuNTAu MjAxNTEwMjcvZ2RiL2FybS1saW51eC1uYXQuYwkyMDE1LTExLTA4IDEwOjM2OjMzLjA5NDA3MjEx MCArMDEwMAotQEAgLTEyMDksNyArMTIwOSw3IEBAIGFybV9saW51eF9zdG9wcGVkX2J5X3dhdGNo cG9pbnQgKHN0cnVjdAorZGlmZiAtLWdpdCBhL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jIGIvZ2Ri L2FhcmNoNjQtbGludXgtbmF0LmMKK2luZGV4IDg2MDYxMTFjMDAuLjlhMjk0NDUzMjAgMTAwNjQ0 CistLS0gYS9nZGIvYWFyY2g2NC1saW51eC1uYXQuYworKysrIGIvZ2RiL2FhcmNoNjQtbGludXgt bmF0LmMKK0BAIC03NjcsNyArNzY3LDcgQEAgYWFyY2g2NF9saW51eF9zdG9wcGVkX2J5X3dhdGNo cG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMpCisgc3RhdGljIGludAorIGFhcmNoNjRfbGlu dXhfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMgKnRhcmdl dCwKKyAJCQkJCSAgICBDT1JFX0FERFIgYWRkciwKKy0JCQkJCSAgICBDT1JFX0FERFIgc3RhcnQs IGludCBsZW5ndGgpCisrCQkJCQkgICAgQ09SRV9BRERSIHN0YXJ0LCBMT05HRVNUIGxlbmd0aCkK KyB7CisgICByZXR1cm4gc3RhcnQgPD0gYWRkciAmJiBzdGFydCArIGxlbmd0aCAtIDEgPj0gYWRk cjsKKyB9CitkaWZmIC0tZ2l0IGEvZ2RiL2FybS1saW51eC1uYXQuYyBiL2dkYi9hcm0tbGludXgt bmF0LmMKK2luZGV4IGI1NzMyY2I0OGUuLmY3MjQ5ZmE3OTkgMTAwNjQ0CistLS0gYS9nZGIvYXJt LWxpbnV4LW5hdC5jCisrKysgYi9nZGIvYXJtLWxpbnV4LW5hdC5jCitAQCAtMTE3Nyw3ICsxMTc3 LDcgQEAgYXJtX2xpbnV4X3N0b3BwZWRfYnlfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMg Km9wcykKICBzdGF0aWMgaW50CiAgYXJtX2xpbnV4X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFu Z2UgKHN0cnVjdCB0YXJnZXRfb3BzICp0YXJnZXQsCiAgCQkJCQlDT1JFX0FERFIgYWRkciwKQEAg LTExNSwxMSArMTQzLDEwNyBAQCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL2FybS1s aW51eC1uYXQuYwogIHsKICAgIHJldHVybiBzdGFydCA8PSBhZGRyICYmIHN0YXJ0ICsgbGVuZ3Ro IC0gMSA+PSBhZGRyOwogIH0KLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvcHBjLWxp bnV4LW5hdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcub3JpZy9nZGIv cHBjLWxpbnV4LW5hdC5jCTIwMTUtMTEtMDggMTA6MzY6MzMuMDY0MDcxOTA3ICswMTAwCi0rKysg Z2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDE1LTExLTA4IDEwOjM2 OjMzLjA5NTA3MjExNyArMDEwMAotQEAgLTE4MDcsMTEgKzE4MDcsMTEgQEAgY2FuX3VzZV93YXRj aHBvaW50X2NvbmRfYWNjZWwgKHZvaWQpCitkaWZmIC0tZ2l0IGEvZ2RiL25hdC9hYXJjaDY0LWxp bnV4LWh3LXBvaW50LmMgYi9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuYworaW5kZXgg OTgwMGQ5YTU5Yy4uZWUxZWE0MDY2NCAxMDA2NDQKKy0tLSBhL2dkYi9uYXQvYWFyY2g2NC1saW51 eC1ody1wb2ludC5jCisrKysgYi9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuYworQEAg LTExMSw3ICsxMTEsNyBAQCBhYXJjaDY0X3BvaW50X2VuY29kZV9jdHJsX3JlZyAoZW51bSB0YXJn ZXRfaHdfYnBfdHlwZSB0eXBlLCBpbnQgbGVuKQorICAgIFJldHVybiAwIGZvciBhbnkgbm9uLWNv bXBsaWFudCBBRERSIGFuZC9vciBMRU47IHJldHVybiAxIG90aGVyd2lzZS4gICovCisgCisgc3Rh dGljIGludAorLWFhcmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAoaW50IGlzX3dhdGNocG9pbnQsIENP UkVfQUREUiBhZGRyLCBpbnQgbGVuKQorK2FhcmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAoaW50IGlz X3dhdGNocG9pbnQsIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKKyB7CisgICB1bnNpZ25l ZCBpbnQgYWxpZ25tZW50ID0gMDsKKyAKK0BAIC0xODAsOSArMTgwLDEwIEBAIGFhcmNoNjRfcG9p bnRfaXNfYWxpZ25lZCAoaW50IGlzX3dhdGNocG9pbnQsIENPUkVfQUREUiBhZGRyLCBpbnQgbGVu KQorICAgIGxpbWl0YXRpb25zIGNhbiBiZSBsYXJnZWx5IHJlbGF4ZWQgd2l0aCBzb21lIGZ1cnRo ZXIgd29yay4gICovCisgCisgc3RhdGljIHZvaWQKKy1hYXJjaDY0X2FsaWduX3dhdGNocG9pbnQg KENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBDT1JFX0FERFIgKmFsaWduZWRfYWRkcl9wLAorK2Fh cmNoNjRfYWxpZ25fd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuLAorKwkJ CSAgQ09SRV9BRERSICphbGlnbmVkX2FkZHJfcCwKKyAJCQkgIGludCAqYWxpZ25lZF9sZW5fcCwg Q09SRV9BRERSICpuZXh0X2FkZHJfcCwKKy0JCQkgIGludCAqbmV4dF9sZW5fcCkKKysJCQkgIExP TkdFU1QgKm5leHRfbGVuX3ApCisgeworICAgaW50IGFsaWduZWRfbGVuOworICAgdW5zaWduZWQg aW50IG9mZnNldDsKK0BAIC01MDEsNyArNTAyLDcgQEAgYWFyY2g2NF9oYW5kbGVfYWxpZ25lZF93 YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCisgCisgc3RhdGljIGludAor IGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90 eXBlIHR5cGUsCistCQkJCSAgICAgQ09SRV9BRERSIGFkZHIsIGludCBsZW4sIGludCBpc19pbnNl cnQsCisrCQkJCSAgICAgQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuLCBpbnQgaXNfaW5zZXJ0 LAorIAkJCQkgICAgIHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUpCisgewor ICAgd2hpbGUgKGxlbiA+IDApCitAQCAtNTI0LDkgKzUyNSw5IEBAIGFhcmNoNjRfaGFuZGxlX3Vu YWxpZ25lZF93YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCisgCQkgICAg ICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCisgCQkgICAgICAiYWxpZ25lZF9hZGRy OiAlcywgYWxpZ25lZF9sZW46ICVkXG4iCisgCQkgICAgICAiICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiCistCQkgICAgICAibmV4dF9hZGRyOiAlcywgICAgbmV4dF9sZW46ICVkXG4i LAorKwkJICAgICAgIm5leHRfYWRkcjogJXMsICAgIG5leHRfbGVuOiAlc1xuIiwKKyAJCSAgICAg IGlzX2luc2VydCwgY29yZV9hZGRyX3RvX3N0cmluZ19ueiAoYWxpZ25lZF9hZGRyKSwKKy0JCSAg ICAgIGFsaWduZWRfbGVuLCBjb3JlX2FkZHJfdG9fc3RyaW5nX256IChhZGRyKSwgbGVuKTsKKysJ CSAgICAgIGFsaWduZWRfbGVuLCBjb3JlX2FkZHJfdG9fc3RyaW5nX256IChhZGRyKSwgcGxvbmdl c3QgKGxlbikpOworIAorICAgICAgIGlmIChyZXQgIT0gMCkKKyAJcmV0dXJuIHJldDsKK0BAIC01 MzcsNyArNTM4LDcgQEAgYWFyY2g2NF9oYW5kbGVfdW5hbGlnbmVkX3dhdGNocG9pbnQgKGVudW0g dGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwKKyAKKyBpbnQKKyBhYXJjaDY0X2hhbmRsZV93YXRjaHBv aW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIENPUkVfQUREUiBhZGRyLAorLQkJCSAg IGludCBsZW4sIGludCBpc19pbnNlcnQsCisrCQkJICAgTE9OR0VTVCBsZW4sIGludCBpc19pbnNl cnQsCisgCQkJICAgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSkKKyB7Cisg ICBpZiAoYWFyY2g2NF9wb2ludF9pc19hbGlnbmVkICgxIC8qIGlzX3dhdGNocG9pbnQgKi8gLCBh ZGRyLCBsZW4pKQorQEAgLTU4OCwxNCArNTg5LDE0IEBAIGFhcmNoNjRfbGludXhfc2V0X2RlYnVn X3JlZ3MgKGNvbnN0IHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCisgdm9p ZAorIGFhcmNoNjRfc2hvd19kZWJ1Z19yZWdfc3RhdGUgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3Jl Z19zdGF0ZSAqc3RhdGUsCisgCQkJICAgICAgY29uc3QgY2hhciAqZnVuYywgQ09SRV9BRERSIGFk ZHIsCistCQkJICAgICAgaW50IGxlbiwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlKQorKwkJ CSAgICAgIExPTkdFU1QgbGVuLCBlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUpCisgeworICAg aW50IGk7CisgCisgICBkZWJ1Z19wcmludGYgKCIlcyIsIGZ1bmMpOworICAgaWYgKGFkZHIgfHwg bGVuKQorLSAgICBkZWJ1Z19wcmludGYgKCIgKGFkZHI9MHglMDhseCwgbGVuPSVkLCB0eXBlPSVz KSIsCistCQkgICh1bnNpZ25lZCBsb25nKSBhZGRyLCBsZW4sCisrICAgIGRlYnVnX3ByaW50ZiAo IiAoYWRkcj0weCUwOGx4LCBsZW49JXMsIHR5cGU9JXMpIiwKKysJCSAgKHVuc2lnbmVkIGxvbmcp IGFkZHIsIHBsb25nZXN0IChsZW4pLAorIAkJICB0eXBlID09IGh3X3dyaXRlID8gImh3LXdyaXRl LXdhdGNocG9pbnQiCisgCQkgIDogKHR5cGUgPT0gaHdfcmVhZCA/ICJody1yZWFkLXdhdGNocG9p bnQiCisgCQkgICAgIDogKHR5cGUgPT0gaHdfYWNjZXNzID8gImh3LWFjY2Vzcy13YXRjaHBvaW50 IgorZGlmZiAtLWdpdCBhL2dkYi9uYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5oIGIvZ2RiL25h dC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmgKK2luZGV4IDYxMGE1ZjEyMTUuLjE4ZTFjODI2YzMg MTAwNjQ0CistLS0gYS9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuaAorKysrIGIvZ2Ri L25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmgKK0BAIC0xNzIsNyArMTcyLDcgQEAgaW50IGFh cmNoNjRfaGFuZGxlX2JyZWFrcG9pbnQgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwgQ09S RV9BRERSIGFkZHIsCisgCQkJICAgICAgIGludCBsZW4sIGludCBpc19pbnNlcnQsCisgCQkJICAg ICAgIHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUpOworIGludCBhYXJjaDY0 X2hhbmRsZV93YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIENPUkVfQURE UiBhZGRyLAorLQkJCSAgICAgICBpbnQgbGVuLCBpbnQgaXNfaW5zZXJ0LAorKwkJCSAgICAgICBM T05HRVNUIGxlbiwgaW50IGlzX2luc2VydCwKKyAJCQkgICAgICAgc3RydWN0IGFhcmNoNjRfZGVi dWdfcmVnX3N0YXRlICpzdGF0ZSk7CisgCisgdm9pZCBhYXJjaDY0X2xpbnV4X3NldF9kZWJ1Z19y ZWdzIChjb25zdCBzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAorQEAgLTE4 MCw3ICsxODAsNyBAQCB2b2lkIGFhcmNoNjRfbGludXhfc2V0X2RlYnVnX3JlZ3MgKGNvbnN0IHN0 cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCisgCisgdm9pZCBhYXJjaDY0X3No b3dfZGVidWdfcmVnX3N0YXRlIChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRl LAorIAkJCQkgICBjb25zdCBjaGFyICpmdW5jLCBDT1JFX0FERFIgYWRkciwKKy0JCQkJICAgaW50 IGxlbiwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlKTsKKysJCQkJICAgTE9OR0VTVCBsZW4s IGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSk7CisgCisgdm9pZCBhYXJjaDY0X2xpbnV4X2dl dF9kZWJ1Z19yZWdfY2FwYWNpdHkgKGludCB0aWQpOworIAorZGlmZiAtLWdpdCBhL2dkYi9wcGMt bGludXgtbmF0LmMgYi9nZGIvcHBjLWxpbnV4LW5hdC5jCitpbmRleCA0MjliOWM2MjMxLi4zOTAw NGMxYTc3IDEwMDY0NAorLS0tIGEvZ2RiL3BwYy1saW51eC1uYXQuYworKysrIGIvZ2RiL3BwYy1s aW51eC1uYXQuYworQEAgLTE3OTgsMTEgKzE3OTgsMTEgQEAgY2FuX3VzZV93YXRjaHBvaW50X2Nv bmRfYWNjZWwgKHZvaWQpCiAgICAgQ09ORElUSU9OX1ZBTFVFIHdpbGwgaG9sZCB0aGUgdmFsdWUg d2hpY2ggc2hvdWxkIGJlIHB1dCBpbiB0aGUKICAgICBEVkMgcmVnaXN0ZXIuICAqLwogIHN0YXRp YyB2b2lkCkBAIC0xMzQsNyArMjU4LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dk Yi9wcGMtbGludXgtbmF0LmMKICAgIENPUkVfQUREUiBhZGRyX2VuZF9kYXRhLCBhZGRyX2VuZF9k dmM7CiAgCiAgICAvKiBUaGUgRFZDIHJlZ2lzdGVyIGNvbXBhcmVzIGJ5dGVzIHdpdGhpbiBmaXhl ZC1sZW5ndGggd2luZG93cyB3aGljaAotQEAgLTE4OTgsNyArMTg5OCw3IEBAIG51bV9tZW1vcnlf YWNjZXNzZXMgKHN0cnVjdCB2YWx1ZSAqdikKK0BAIC0xODg5LDcgKzE4ODksNyBAQCBudW1fbWVt b3J5X2FjY2Vzc2VzIChzdHJ1Y3QgdmFsdWUgKnYpCiAgICAgb2YgdGhlIGNvbnN0YW50LiAgKi8K ICBzdGF0aWMgaW50CiAgY2hlY2tfY29uZGl0aW9uIChDT1JFX0FERFIgd2F0Y2hfYWRkciwgc3Ry dWN0IGV4cHJlc3Npb24gKmNvbmQsCkBAIC0xNDMsNyArMjY3LDcgQEAgSW5kZXg6IGdkYi03LjEw LjUwLjIwMTUxMDI3L2dkYi9wcGMtbGludXgtbmF0LmMKICB7CiAgICBpbnQgcGMgPSAxLCBudW1f YWNjZXNzZXNfbGVmdCwgbnVtX2FjY2Vzc2VzX3JpZ2h0OwogICAgc3RydWN0IHZhbHVlICpsZWZ0 X3ZhbCwgKnJpZ2h0X3ZhbCwgKmxlZnRfY2hhaW4sICpyaWdodF9jaGFpbjsKLUBAIC0xOTY2LDcg KzE5NjYsNyBAQCBjaGVja19jb25kaXRpb24gKENPUkVfQUREUiB3YXRjaF9hZGRyLCBzCitAQCAt MTk1Nyw3ICsxOTU3LDcgQEAgY2hlY2tfY29uZGl0aW9uIChDT1JFX0FERFIgd2F0Y2hfYWRkciwg c3RydWN0IGV4cHJlc3Npb24gKmNvbmQsCiAgICAgdHJ1ZS4gICovCiAgc3RhdGljIGludAogIHBw Y19saW51eF9jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKHN0cnVjdCB0YXJnZXRfb3Bz ICpzZWxmLApAQCAtMTUyLDcgKzI3Niw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9n ZGIvcHBjLWxpbnV4LW5hdC5jCiAgCQkJCQkgIHN0cnVjdCBleHByZXNzaW9uICpjb25kKQogIHsK ICAgIENPUkVfQUREUiBkYXRhX3ZhbHVlOwotQEAgLTE5ODMsNyArMTk4Myw3IEBAIHBwY19saW51 eF9jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24KK0BAIC0xOTc0LDcgKzE5NzQsNyBAQCBw cGNfbGludXhfY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChzdHJ1Y3QgdGFyZ2V0X29w cyAqc2VsZiwKICAKICBzdGF0aWMgdm9pZAogIGNyZWF0ZV93YXRjaHBvaW50X3JlcXVlc3QgKHN0 cnVjdCBwcGNfaHdfYnJlYWtwb2ludCAqcCwgQ09SRV9BRERSIGFkZHIsCkBAIC0xNjEsNyArMjg1 LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9wcGMtbGludXgtbmF0LmMKICAJ CQkgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCwgaW50IGluc2VydCkKICB7CiAgICBpZiAobGVu ID09IDEKLUBAIC0yMjQ5LDcgKzIyNDksNyBAQCBwcGNfbGludXhfc3RvcHBlZF9ieV93YXRjaHBv aW50IChzdHJ1Y3QKK0BAIC0yMjQwLDcgKzIyNDAsNyBAQCBwcGNfbGludXhfc3RvcHBlZF9ieV93 YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzKQogIHN0YXRpYyBpbnQKICBwcGNfbGlu dXhfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMgKnRhcmdl dCwKICAJCQkJCUNPUkVfQUREUiBhZGRyLApAQCAtMTcwLDIwICsyOTQsMjAgQEAgSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTUxMDI3L2dkYi9wcGMtbGludXgtbmF0LmMKICB7CiAgICBpbnQgbWFzazsK ICAKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvcHJvY2ZzLmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMC41MC4yMDE1MTAyNy5vcmlnL2dkYi9wcm9jZnMuYwkyMDE1LTExLTA4IDEw OjM2OjMzLjA2NTA3MTkxMyArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9wcm9j ZnMuYwkyMDE1LTExLTA4IDEwOjM2OjMzLjA5NjA3MjEyMyArMDEwMAotQEAgLTI0MjcsNyArMjQy Nyw3IEBAIHByb2Nmc19hZGRyZXNzX3RvX2hvc3RfcG9pbnRlciAoQ09SRV9BREQKLSAjZW5kaWYK K2RpZmYgLS1naXQgYS9nZGIvcHJvY2ZzLmMgYi9nZGIvcHJvY2ZzLmMKK2luZGV4IDFkZDM4M2Fl Y2IuLmRiYjk4YzE2NWQgMTAwNjQ0CistLS0gYS9nZGIvcHJvY2ZzLmMKKysrKyBiL2dkYi9wcm9j ZnMuYworQEAgLTE1NjMsNyArMTU2Myw3IEBAIHByb2Nmc19hZGRyZXNzX3RvX2hvc3RfcG9pbnRl ciAoQ09SRV9BRERSIGFkZHIpCisgfQogIAogIHN0YXRpYyBpbnQKIC1wcm9jX3NldF93YXRjaHBv aW50IChwcm9jaW5mbyAqcGksIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgd2ZsYWdzKQog K3Byb2Nfc2V0X3dhdGNocG9pbnQgKHByb2NpbmZvICpwaSwgQ09SRV9BRERSIGFkZHIsIExPTkdF U1QgbGVuLCBpbnQgd2ZsYWdzKQogIHsKLSAjaWYgIWRlZmluZWQgKFBDV0FUQ0gpICYmICFkZWZp bmVkIChQSU9DU1dBVENIKQotICAgLyogSWYgbmVpdGhlciBvciB0aGVzZSBpcyBkZWZpbmVkLCB3 ZSBjYW4ndCBzdXBwb3J0IHdhdGNocG9pbnRzLgotQEAgLTQ3MDYsNyArNDcwNiw3IEBAIHByb2Nm c19waWRfdG9fc3RyIChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3AKKyAgIHN0cnVjdCB7CisgICAgIHBy b2Nmc19jdGxfdCBjbWQ7CitAQCAtMzI1MCw3ICszMjUwLDcgQEAgcHJvY2ZzX3BpZF90b19zdHIg KHN0cnVjdCB0YXJnZXRfb3BzICpvcHMsIHB0aWRfdCBwdGlkKQogIC8qIEluc2VydCBhIHdhdGNo cG9pbnQuICAqLwogIAogIHN0YXRpYyBpbnQKQEAgLTE5MSwxMiArMzE1LDEyIEBAIEluZGV4OiBn ZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvcHJvY2ZzLmMKICtwcm9jZnNfc2V0X3dhdGNocG9pbnQg KHB0aWRfdCBwdGlkLCBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4sIGludCByd2ZsYWcsCiAg CQkgICAgICAgaW50IGFmdGVyKQogIHsKLSAjaWZuZGVmIEFJWDUKLUluZGV4OiBnZGItNy4xMC41 MC4yMDE1MTAyNy9nZGIvcmVtb3RlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41MC4yMDE1 MTAyNy5vcmlnL2dkYi9yZW1vdGUuYwkyMDE1LTExLTA4IDEwOjM2OjMzLjA2NzA3MTkyNyArMDEw MAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9yZW1vdGUuYwkyMDE1LTExLTA4IDEwOjM2 OjMzLjA5NzA3MjEzMCArMDEwMAotQEAgLTkwODUsNyArOTA4NSw3IEBAIHJlbW90ZV9pbnNlcnRf d2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF8KKyAgIGludCAgICAgICBwZmxhZ3MgPSAwOworZGlm ZiAtLWdpdCBhL2dkYi9yZW1vdGUuYyBiL2dkYi9yZW1vdGUuYworaW5kZXggNDdkM2EwNGRkOS4u MzAzZmNkZGQ4YSAxMDA2NDQKKy0tLSBhL2dkYi9yZW1vdGUuYworKysrIGIvZ2RiL3JlbW90ZS5j CitAQCAtOTg5Miw3ICs5ODkyLDcgQEAgcmVtb3RlX2luc2VydF93YXRjaHBvaW50IChzdHJ1Y3Qg dGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFkZHIsIGludCBsZW4sCiAgICBwID0gc3RyY2hy IChycy0+YnVmLCAnXDAnKTsKICAgIGFkZHIgPSByZW1vdGVfYWRkcmVzc19tYXNrZWQgKGFkZHIp OwogICAgcCArPSBoZXhudW1zdHIgKHAsIChVTE9OR0VTVCkgYWRkcik7CkBAIC0yMDUsNyArMzI5 LDcgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9yZW1vdGUuYwogIAogICAgcHV0 cGt0IChycy0+YnVmKTsKICAgIGdldHBrdCAoJnJzLT5idWYsICZycy0+YnVmX3NpemUsIDApOwot QEAgLTkxMDUsNyArOTEwNSw3IEBAIHJlbW90ZV9pbnNlcnRfd2F0Y2hwb2ludCAoc3RydWN0IHRh cmdldF8KK0BAIC05OTEyLDcgKzk5MTIsNyBAQCByZW1vdGVfaW5zZXJ0X3dhdGNocG9pbnQgKHN0 cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKICAKICBzdGF0 aWMgaW50CiAgcmVtb3RlX3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJn ZXRfb3BzICp0YXJnZXQsIENPUkVfQUREUiBhZGRyLApAQCAtMjE0LDcgKzMzOCw3IEBAIEluZGV4 OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvcmVtb3RlLmMKICB7CiAgICBDT1JFX0FERFIgZGlm ZiA9IHJlbW90ZV9hZGRyZXNzX21hc2tlZCAoYWRkciAtIHN0YXJ0KTsKICAKLUBAIC05MTM0LDcg KzkxMzQsNyBAQCByZW1vdGVfcmVtb3ZlX3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfCitAQCAt OTk0MSw3ICs5OTQxLDcgQEAgcmVtb3RlX3JlbW92ZV93YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0 X29wcyAqc2VsZiwgQ09SRV9BRERSIGFkZHIsIGludCBsZW4sCiAgICBwID0gc3RyY2hyIChycy0+ YnVmLCAnXDAnKTsKICAgIGFkZHIgPSByZW1vdGVfYWRkcmVzc19tYXNrZWQgKGFkZHIpOwogICAg cCArPSBoZXhudW1zdHIgKHAsIChVTE9OR0VTVCkgYWRkcik7CkBAIC0yMjMsNjggKzM0NywxMSBA QCBJbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3JlbW90ZS5jCiAgICBwdXRwa3QgKHJz LT5idWYpOwogICAgZ2V0cGt0ICgmcnMtPmJ1ZiwgJnJzLT5idWZfc2l6ZSwgMCk7CiAgCi1JbmRl eDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2RiL3RhcmdldC5jCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTAuNTAuMjAxNTEwMjcub3JpZy9nZGIvdGFyZ2V0LmMJMjAxNS0xMS0wOCAxMDozNjozMy4w NjkwNzE5NDEgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGFyZ2V0LmMJMjAx NS0xMS0wOCAxMDozNjozMy4wOTgwNzIxMzcgKzAxMDAKLUBAIC01MSw3ICs1MSw3IEBAIHN0YXRp YyB2b2lkIGdlbmVyaWNfdGxzX2Vycm9yICh2b2lkKSBBVFQKLSBzdGF0aWMgdm9pZCBkZWZhdWx0 X3Rlcm1pbmFsX2luZm8gKHN0cnVjdCB0YXJnZXRfb3BzICosIGNvbnN0IGNoYXIgKiwgaW50KTsK LSAKLSBzdGF0aWMgaW50IGRlZmF1bHRfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3Ry dWN0IHRhcmdldF9vcHMgKiwKLS0JCQkJCQkgQ09SRV9BRERSLCBDT1JFX0FERFIsIGludCk7Ci0r CQkJCQkJIENPUkVfQUREUiwgQ09SRV9BRERSLCBMT05HRVNUKTsKLSAKLSBzdGF0aWMgaW50IGRl ZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAot IAkJCQkJCUNPUkVfQUREUiwgTE9OR0VTVCk7Ci1AQCAtMzE0MCw3ICszMTQwLDcgQEAgZGVmYXVs dF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cgotIHN0YXRpYyBpbnQKLSBkZWZhdWx0 X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICp0YXJnZXQs Ci0gCQkJCSAgICAgIENPUkVfQUREUiBhZGRyLAotLQkJCQkgICAgICBDT1JFX0FERFIgc3RhcnQs IGludCBsZW5ndGgpCi0rCQkJCSAgICAgIENPUkVfQUREUiBzdGFydCwgTE9OR0VTVCBsZW5ndGgp Ci0gewotICAgcmV0dXJuIGFkZHIgPj0gc3RhcnQgJiYgYWRkciA8IHN0YXJ0ICsgbGVuZ3RoOwot IH0KLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGFyZ2V0LmgKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMC41MC4yMDE1MTAyNy5vcmlnL2dkYi90YXJnZXQuaAkyMDE1LTExLTA4IDEw OjM2OjMzLjA2OTA3MTk0MSArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi90YXJn ZXQuaAkyMDE1LTExLTA4IDEwOjM2OjMzLjA5ODA3MjEzNyArMDEwMAotQEAgLTU0Myw3ICs1NDMs NyBAQCBzdHJ1Y3QgdGFyZ2V0X29wcwotICAgICBpbnQgKCp0b19zdG9wcGVkX2RhdGFfYWRkcmVz cykgKHN0cnVjdCB0YXJnZXRfb3BzICosIENPUkVfQUREUiAqKQotICAgICAgIFRBUkdFVF9ERUZB VUxUX1JFVFVSTiAoMCk7Ci0gICAgIGludCAoKnRvX3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFu Z2UpIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAotLQkJCQkJICAgIENPUkVfQUREUiwgQ09SRV9BRERS LCBpbnQpCi0rCQkJCQkgICAgQ09SRV9BRERSLCBDT1JFX0FERFIsIExPTkdFU1QpCi0gICAgICAg VEFSR0VUX0RFRkFVTFRfRlVOQyAoZGVmYXVsdF93YXRjaHBvaW50X2FkZHJfd2l0aGluX3Jhbmdl KTsKLSAKLSAgICAgLyogRG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJvdXRpbmUgaXMgcHJvdmlkZWQg d2l0aCB0aGUgY29ycmVzcG9uZGluZwotQEAgLTU1Myw3ICs1NTMsNyBAQCBzdHJ1Y3QgdGFyZ2V0 X29wcwotICAgICAgIFRBUkdFVF9ERUZBVUxUX0ZVTkMgKGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9o d193YXRjaHBvaW50KTsKLSAKLSAgICAgaW50ICgqdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29u ZGl0aW9uKSAoc3RydWN0IHRhcmdldF9vcHMgKiwKLS0JCQkJCSAgICAgIENPUkVfQUREUiwgaW50 LCBpbnQsCi0rCQkJCQkgICAgICBDT1JFX0FERFIsIExPTkdFU1QsIGludCwKLSAJCQkJCSAgICAg IHN0cnVjdCBleHByZXNzaW9uICopCi0gICAgICAgVEFSR0VUX0RFRkFVTFRfUkVUVVJOICgwKTsK LSAgICAgaW50ICgqdG9fbWFza2VkX3dhdGNoX251bV9yZWdpc3RlcnMpIChzdHJ1Y3QgdGFyZ2V0 X29wcyAqLAotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTUxMDI3L2dkYi9hYXJjaDY0LWxpbnV4LW5h dC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcub3JpZy9nZGIvYWFyY2g2 NC1saW51eC1uYXQuYwkyMDE1LTExLTA4IDEwOjM2OjMzLjA3NDA3MTk3NSArMDEwMAotKysrIGdk Yi03LjEwLjUwLjIwMTUxMDI3L2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCTIwMTUtMTEtMDggMTA6 MzY6MzMuMDk4MDcyMTM3ICswMTAwCi1AQCAtNzk1LDcgKzc5NSw3IEBAIGFhcmNoNjRfbGludXhf c3RvcHBlZF9ieV93YXRjaHBvaW50IChzdHIKLSBzdGF0aWMgaW50Ci0gYWFyY2g2NF9saW51eF93 YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LAot IAkJCQkJICAgIENPUkVfQUREUiBhZGRyLAotLQkJCQkJICAgIENPUkVfQUREUiBzdGFydCwgaW50 IGxlbmd0aCkKLSsJCQkJCSAgICBDT1JFX0FERFIgc3RhcnQsIExPTkdFU1QgbGVuZ3RoKQotIHsK LSAgIHJldHVybiBzdGFydCA8PSBhZGRyICYmIHN0YXJ0ICsgbGVuZ3RoIC0gMSA+PSBhZGRyOwot IH0KLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMTAuNTAuMjAxNTEwMjcub3JpZy9nZGIvdGFyZ2V0LWRlbGVn YXRlcy5jCTIwMTUtMTEtMDggMTA6MzY6MzMuMDczMDcxOTY4ICswMTAwCi0rKysgZ2RiLTcuMTAu NTAuMjAxNTEwMjcvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwkyMDE1LTExLTA4IDEwOjM2OjMzLjA5 OTA3MjE0NCArMDEwMAotQEAgLTcwOSwxNCArNzA5LDE0IEBAIGRlYnVnX3N0b3BwZWRfZGF0YV9h ZGRyZXNzIChzdHJ1Y3QgdGFyZ2UKK2RpZmYgLS1naXQgYS9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5j IGIvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYworaW5kZXggMDRjYWRjMWQ0Yi4uMDUyNjM4YjkyYiAx MDA2NDQKKy0tLSBhL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMKKysrKyBiL2dkYi90YXJnZXQtZGVs ZWdhdGVzLmMKK0BAIC03MzMsMTQgKzczMywxNCBAQCBkZWJ1Z19zdG9wcGVkX2RhdGFfYWRkcmVz cyAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiAqYXJnMSkKICB9CiAgCiAgc3Rh dGljIGludApAQCAtMzAxLDcgKzM2OCw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9n ZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCiAgewogICAgaW50IHJlc3VsdDsKICAgIGZwcmludGZfdW5m aWx0ZXJlZCAoZ2RiX3N0ZGxvZywgIi0+ICVzLT50b193YXRjaHBvaW50X2FkZHJfd2l0aGluX3Jh bmdlICguLi4pXG4iLCBkZWJ1Z190YXJnZXQudG9fc2hvcnRuYW1lKTsKLUBAIC03MjgsNyArNzI4 LDcgQEAgZGVidWdfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydQorQEAgLTc1Miw3 ICs3NTIsNyBAQCBkZWJ1Z193YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFy Z2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFyZzEsIENPUgogICAgZnB1dHNfdW5maWx0ZXJlZCAo IiwgIiwgZ2RiX3N0ZGxvZyk7CiAgICB0YXJnZXRfZGVidWdfcHJpbnRfQ09SRV9BRERSIChhcmcy KTsKICAgIGZwdXRzX3VuZmlsdGVyZWQgKCIsICIsIGdkYl9zdGRsb2cpOwpAQCAtMzEwLDcgKzM3 Nyw3IEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5j CiAgICBmcHV0c191bmZpbHRlcmVkICgiKSA9ICIsIGdkYl9zdGRsb2cpOwogICAgdGFyZ2V0X2Rl YnVnX3ByaW50X2ludCAocmVzdWx0KTsKICAgIGZwdXRzX3VuZmlsdGVyZWQgKCJcbiIsIGdkYl9z dGRsb2cpOwotQEAgLTc2MSwyMCArNzYxLDIwIEBAIGRlYnVnX3JlZ2lvbl9va19mb3JfaHdfd2F0 Y2hwb2ludCAoc3RydWMKK0BAIC03ODUsMjAgKzc4NSwyMCBAQCBkZWJ1Z19yZWdpb25fb2tfZm9y X2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYXJnMSwg TE9ORwogIH0KICAKICBzdGF0aWMgaW50CkBAIC0zMzQsNyArNDAxLDcgQEAgSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTUxMDI3L2dkYi90YXJnZXQtZGVsZWdhdGVzLmMKICB7CiAgICBpbnQgcmVzdWx0 OwogICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLCAiLT4gJXMtPnRvX2Nhbl9hY2Nl bF93YXRjaHBvaW50X2NvbmRpdGlvbiAoLi4uKVxuIiwgZGVidWdfdGFyZ2V0LnRvX3Nob3J0bmFt ZSk7Ci1AQCAtNzg0LDcgKzc4NCw3IEBAIGRlYnVnX2Nhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRp dGlvbiAoc3QKK0BAIC04MDgsNyArODA4LDcgQEAgZGVidWdfY2FuX2FjY2VsX3dhdGNocG9pbnRf Y29uZGl0aW9uIChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFyZzEsIGkKICAg IGZwdXRzX3VuZmlsdGVyZWQgKCIsICIsIGdkYl9zdGRsb2cpOwogICAgdGFyZ2V0X2RlYnVnX3By aW50X0NPUkVfQUREUiAoYXJnMSk7CiAgICBmcHV0c191bmZpbHRlcmVkICgiLCAiLCBnZGJfc3Rk bG9nKTsKQEAgLTM0Myw5OSArNDEwLDUwIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9n ZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCiAgICBmcHV0c191bmZpbHRlcmVkICgiLCAiLCBnZGJfc3Rk bG9nKTsKICAgIHRhcmdldF9kZWJ1Z19wcmludF9pbnQgKGFyZzMpOwogICAgZnB1dHNfdW5maWx0 ZXJlZCAoIiwgIiwgZ2RiX3N0ZGxvZyk7Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2Ri L25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMC41 MC4yMDE1MTAyNy5vcmlnL2dkYi9uYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5jCTIwMTUtMTAt MjcgMDI6NDg6MzEuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNTEwMjcvZ2Ri L25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmMJMjAxNS0xMS0wOCAxMDozNjozMy4wOTkwNzIx NDQgKzAxMDAKLUBAIC0xMTEsNyArMTExLDcgQEAgYWFyY2g2NF9wb2ludF9lbmNvZGVfY3RybF9y ZWcgKGVudW0gdGFyZwotICAgIFJldHVybiAwIGZvciBhbnkgbm9uLWNvbXBsaWFudCBBRERSIGFu ZC9vciBMRU47IHJldHVybiAxIG90aGVyd2lzZS4gICovCi0gCi0gc3RhdGljIGludAotLWFhcmNo NjRfcG9pbnRfaXNfYWxpZ25lZCAoaW50IGlzX3dhdGNocG9pbnQsIENPUkVfQUREUiBhZGRyLCBp bnQgbGVuKQotK2FhcmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAoaW50IGlzX3dhdGNocG9pbnQsIENP UkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKLSB7Ci0gICB1bnNpZ25lZCBpbnQgYWxpZ25tZW50 ID0gMDsKLSAKLUBAIC0xODAsOSArMTgwLDEwIEBAIGFhcmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAo aW50IGlzX3dhdGNocG8KLSAgICBsaW1pdGF0aW9ucyBjYW4gYmUgbGFyZ2VseSByZWxheGVkIHdp dGggc29tZSBmdXJ0aGVyIHdvcmsuICAqLworZGlmZiAtLWdpdCBhL2dkYi90YXJnZXQuYyBiL2dk Yi90YXJnZXQuYworaW5kZXggYzk0NzFmNjFmYi4uYmNjNjdhOWI0YiAxMDA2NDQKKy0tLSBhL2dk Yi90YXJnZXQuYworKysrIGIvZ2RiL3RhcmdldC5jCitAQCAtNTMsNyArNTMsNyBAQCBzdGF0aWMg dm9pZCBnZW5lcmljX3Rsc19lcnJvciAodm9pZCkgQVRUUklCVVRFX05PUkVUVVJOOworIHN0YXRp YyB2b2lkIGRlZmF1bHRfdGVybWluYWxfaW5mbyAoc3RydWN0IHRhcmdldF9vcHMgKiwgY29uc3Qg Y2hhciAqLCBpbnQpOwogIAotIHN0YXRpYyB2b2lkCi0tYWFyY2g2NF9hbGlnbl93YXRjaHBvaW50 IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwgQ09SRV9BRERSICphbGlnbmVkX2FkZHJfcCwKLSth YXJjaDY0X2FsaWduX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbiwKLSsJ CQkgIENPUkVfQUREUiAqYWxpZ25lZF9hZGRyX3AsCi0gCQkJICBpbnQgKmFsaWduZWRfbGVuX3As IENPUkVfQUREUiAqbmV4dF9hZGRyX3AsCi0tCQkJICBpbnQgKm5leHRfbGVuX3ApCi0rCQkJICBM T05HRVNUICpuZXh0X2xlbl9wKQotIHsKLSAgIGludCBhbGlnbmVkX2xlbjsKLSAgIHVuc2lnbmVk IGludCBvZmZzZXQ7Ci1AQCAtNDk0LDcgKzQ5NSw3IEBAIGFhcmNoNjRfaGFuZGxlX2FsaWduZWRf d2F0Y2hwb2ludCAoZW51bQorIHN0YXRpYyBpbnQgZGVmYXVsdF93YXRjaHBvaW50X2FkZHJfd2l0 aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAorLQkJCQkJCSBDT1JFX0FERFIsIENPUkVf QUREUiwgaW50KTsKKysJCQkJCQkgQ09SRV9BRERSLCBDT1JFX0FERFIsIExPTkdFU1QpOwogIAor IHN0YXRpYyBpbnQgZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0 YXJnZXRfb3BzICosCisgCQkJCQkJQ09SRV9BRERSLCBMT05HRVNUKTsKK0BAIC0zMTIwLDcgKzMx MjAsNyBAQCBkZWZhdWx0X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdl dF9vcHMgKnNlbGYsCiAgc3RhdGljIGludAotIGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRj aHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCi0tCQkJCSAgICAgQ09SRV9BRERS IGFkZHIsIGludCBsZW4sIGludCBpc19pbnNlcnQsCi0rCQkJCSAgICAgQ09SRV9BRERSIGFkZHIs IExPTkdFU1QgbGVuLCBpbnQgaXNfaW5zZXJ0LAotIAkJCQkgICAgIHN0cnVjdCBhYXJjaDY0X2Rl YnVnX3JlZ19zdGF0ZSAqc3RhdGUpCi0gewotICAgd2hpbGUgKGxlbiA+IDApCi1AQCAtNTE3LDkg KzUxOCw5IEBAIGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRjaHBvaW50IChlbnUKLSAJCSAg ICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLSAJCSAgICAgICJhbGlnbmVkX2Fk ZHI6ICVzLCBhbGlnbmVkX2xlbjogJWRcbiIKLSAJCSAgICAgICIgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICIKLS0JCSAgICAgICJuZXh0X2FkZHI6ICVzLCAgICBuZXh0X2xlbjogJWRc biIsCi0rCQkgICAgICAibmV4dF9hZGRyOiAlcywgICAgbmV4dF9sZW46ICVzXG4iLAotIAkJICAg ICAgaXNfaW5zZXJ0LCBjb3JlX2FkZHJfdG9fc3RyaW5nX256IChhbGlnbmVkX2FkZHIpLAotLQkJ ICAgICAgYWxpZ25lZF9sZW4sIGNvcmVfYWRkcl90b19zdHJpbmdfbnogKGFkZHIpLCBsZW4pOwot KwkJICAgICAgYWxpZ25lZF9sZW4sIGNvcmVfYWRkcl90b19zdHJpbmdfbnogKGFkZHIpLCBwbG9u Z2VzdCAobGVuKSk7Ci0gCi0gICAgICAgaWYgKHJldCAhPSAwKQotIAlyZXR1cm4gcmV0OwotQEAg LTUzMCw3ICs1MzEsNyBAQCBhYXJjaDY0X2hhbmRsZV91bmFsaWduZWRfd2F0Y2hwb2ludCAoZW51 Ci0gCi0gaW50Ci0gYWFyY2g2NF9oYW5kbGVfd2F0Y2hwb2ludCAoZW51bSB0YXJnZXRfaHdfYnBf dHlwZSB0eXBlLCBDT1JFX0FERFIgYWRkciwKLS0JCQkgICBpbnQgbGVuLCBpbnQgaXNfaW5zZXJ0 LAotKwkJCSAgIExPTkdFU1QgbGVuLCBpbnQgaXNfaW5zZXJ0LAotIAkJCSAgIHN0cnVjdCBhYXJj aDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUpCi0gewotICAgaWYgKGFhcmNoNjRfcG9pbnRfaXNf YWxpZ25lZCAoMSAvKiBpc193YXRjaHBvaW50ICovICwgYWRkciwgbGVuKSkKLUBAIC01ODEsMTQg KzU4MiwxNCBAQCBhYXJjaDY0X2xpbnV4X3NldF9kZWJ1Z19yZWdzIChjb25zdCBzdHJ1Ci0gdm9p ZAotIGFhcmNoNjRfc2hvd19kZWJ1Z19yZWdfc3RhdGUgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3Jl Z19zdGF0ZSAqc3RhdGUsCi0gCQkJICAgICAgY29uc3QgY2hhciAqZnVuYywgQ09SRV9BRERSIGFk ZHIsCi0tCQkJICAgICAgaW50IGxlbiwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlKQotKwkJ CSAgICAgIExPTkdFU1QgbGVuLCBlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUpCisgZGVmYXVs dF93YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0 LAorIAkJCQkgICAgICBDT1JFX0FERFIgYWRkciwKKy0JCQkJICAgICAgQ09SRV9BRERSIHN0YXJ0 LCBpbnQgbGVuZ3RoKQorKwkJCQkgICAgICBDT1JFX0FERFIgc3RhcnQsIExPTkdFU1QgbGVuZ3Ro KQogIHsKLSAgIGludCBpOwotIAotICAgZGVidWdfcHJpbnRmICgiJXMiLCBmdW5jKTsKLSAgIGlm IChhZGRyIHx8IGxlbikKLS0gICAgZGVidWdfcHJpbnRmICgiIChhZGRyPTB4JTA4bHgsIGxlbj0l ZCwgdHlwZT0lcykiLAotLQkJICAodW5zaWduZWQgbG9uZykgYWRkciwgbGVuLAotKyAgICBkZWJ1 Z19wcmludGYgKCIgKGFkZHI9MHglMDhseCwgbGVuPSVzLCB0eXBlPSVzKSIsCi0rCQkgICh1bnNp Z25lZCBsb25nKSBhZGRyLCBwbG9uZ2VzdCAobGVuKSwKLSAJCSAgdHlwZSA9PSBod193cml0ZSA/ ICJody13cml0ZS13YXRjaHBvaW50IgotIAkJICA6ICh0eXBlID09IGh3X3JlYWQgPyAiaHctcmVh ZC13YXRjaHBvaW50IgotIAkJICAgICA6ICh0eXBlID09IGh3X2FjY2VzcyA/ICJody1hY2Nlc3Mt d2F0Y2hwb2ludCIKLUluZGV4OiBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvbmF0L2FhcmNoNjQt bGludXgtaHctcG9pbnQuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUwLjIwMTUxMDI3Lm9y aWcvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmgJMjAxNS0xMC0yNyAwMjo0ODozMS4w MDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4xMC41MC4yMDE1MTAyNy9nZGIvbmF0L2FhcmNoNjQt bGludXgtaHctcG9pbnQuaAkyMDE1LTExLTA4IDEwOjM2OjQ3LjY1NjE3MDgzOSArMDEwMAotQEAg LTE2OCw3ICsxNjgsNyBAQCBpbnQgYWFyY2g2NF9oYW5kbGVfYnJlYWtwb2ludCAoZW51bSB0YXJn Ci0gCQkJICAgICAgIGludCBsZW4sIGludCBpc19pbnNlcnQsCi0gCQkJICAgICAgIHN0cnVjdCBh YXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUpOwotIGludCBhYXJjaDY0X2hhbmRsZV93YXRj aHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIENPUkVfQUREUiBhZGRyLAotLQkJ CSAgICAgICBpbnQgbGVuLCBpbnQgaXNfaW5zZXJ0LAotKwkJCSAgICAgICBMT05HRVNUIGxlbiwg aW50IGlzX2luc2VydCwKLSAJCQkgICAgICAgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRl ICpzdGF0ZSk7Ci0gCi0gdm9pZCBhYXJjaDY0X2xpbnV4X3NldF9kZWJ1Z19yZWdzIChjb25zdCBz dHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotQEAgLTE3Niw3ICsxNzYsNyBA QCB2b2lkIGFhcmNoNjRfbGludXhfc2V0X2RlYnVnX3JlZ3MgKGNvbnN0Ci0gCi0gdm9pZCBhYXJj aDY0X3Nob3dfZGVidWdfcmVnX3N0YXRlIChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUg KnN0YXRlLAotIAkJCQkgICBjb25zdCBjaGFyICpmdW5jLCBDT1JFX0FERFIgYWRkciwKLS0JCQkJ ICAgaW50IGxlbiwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlKTsKLSsJCQkJICAgTE9OR0VT VCBsZW4sIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSk7CisgICByZXR1cm4gYWRkciA+PSBz dGFydCAmJiBhZGRyIDwgc3RhcnQgKyBsZW5ndGg7CisgfQorZGlmZiAtLWdpdCBhL2dkYi90YXJn ZXQuaCBiL2dkYi90YXJnZXQuaAoraW5kZXggMzQ5ZTg3ZGU2Zi4uOTdjZTE2Y2FmNCAxMDA2NDQK Ky0tLSBhL2dkYi90YXJnZXQuaAorKysrIGIvZ2RiL3RhcmdldC5oCitAQCAtNTQ0LDcgKzU0NCw3 IEBAIHN0cnVjdCB0YXJnZXRfb3BzCisgICAgIGludCAoKnRvX3N0b3BwZWRfZGF0YV9hZGRyZXNz KSAoc3RydWN0IHRhcmdldF9vcHMgKiwgQ09SRV9BRERSICopCisgICAgICAgVEFSR0VUX0RFRkFV TFRfUkVUVVJOICgwKTsKKyAgICAgaW50ICgqdG9fd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5n ZSkgKHN0cnVjdCB0YXJnZXRfb3BzICosCistCQkJCQkgICAgQ09SRV9BRERSLCBDT1JFX0FERFIs IGludCkKKysJCQkJCSAgICBDT1JFX0FERFIsIENPUkVfQUREUiwgTE9OR0VTVCkKKyAgICAgICBU QVJHRVRfREVGQVVMVF9GVU5DIChkZWZhdWx0X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2Up OwogIAotIHZvaWQgYWFyY2g2NF9saW51eF9nZXRfZGVidWdfcmVnX2NhcGFjaXR5IChpbnQgdGlk KTsKKyAgICAgLyogRG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJvdXRpbmUgaXMgcHJvdmlkZWQgd2l0 aCB0aGUgY29ycmVzcG9uZGluZworQEAgLTU1NCw3ICs1NTQsNyBAQCBzdHJ1Y3QgdGFyZ2V0X29w cworICAgICAgIFRBUkdFVF9ERUZBVUxUX0ZVTkMgKGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193 YXRjaHBvaW50KTsKICAKKyAgICAgaW50ICgqdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0 aW9uKSAoc3RydWN0IHRhcmdldF9vcHMgKiwKKy0JCQkJCSAgICAgIENPUkVfQUREUiwgaW50LCBp bnQsCisrCQkJCQkgICAgICBDT1JFX0FERFIsIExPTkdFU1QsIGludCwKKyAJCQkJCSAgICAgIHN0 cnVjdCBleHByZXNzaW9uICopCisgICAgICAgVEFSR0VUX0RFRkFVTFRfUkVUVVJOICgwKTsKKyAg ICAgaW50ICgqdG9fbWFza2VkX3dhdGNoX251bV9yZWdpc3RlcnMpIChzdHJ1Y3QgdGFyZ2V0X29w cyAqLAorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0y M29mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjNvZjI1LnBhdGNoCmluZGV4IDMw ODAzMDIuLmRmNTU0ZmUgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUu cGF0Y2gKKysrIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaApAQCAtMSwxMiAr MSwxNSBAQAorRnJvbSA2OTQxMjNhYWQ2YmRmM2ExY2I3NTNlMzgwZjJiODY2ZGUxMTljZWQ3IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlk QGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1Ympl Y3Q6IFtQQVRDSCA0LzRdIEJpdHBvcyBleHBhbnNpb24gLSB0ZGVwIGNoYW5nZXMKK1N1YmplY3Q6 IEJpdHBvcyBleHBhbnNpb24gLSB0ZGVwIGNoYW5nZXMKIAogRmlsZU5hbWU6IGdkYi1yaGJ6Nzk1 NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKIAotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1w YXRjaGVzLzIwMTItMDkvbXNnMDA2MzAuaHRtbAotCis7OyBGaXggYEdEQiBjYW5ub3QgYWNjZXNz IHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJworOzsgKFJI IEJaIDc5NTQyNCkuCis7Oz1wdXNoCiAKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0 Y2hlcy8yMDEyLTA5L21zZzAwNjMwLmh0bWwKIAogLS1NUF8vWF9XakRPdnovQl9mdmxzcm1Dd1Jk eGUKIENvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VUy1BU0NJSQpAQCAtMTQyLDEy ICsxNDUsNDggQEAgZ2RiL0NoYW5nZUxvZwogQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gKIENv bnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKIENvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFj aG1lbnQ7IGZpbGVuYW1lPWJpdHBvcy10ZGVwLnBhdGNoCistLS0KKyBnZGIvYWxwaGEtdGRlcC5j ICAgICAgICAgfCAxNCArKysrKysrLS0tLS0tLQorIGdkYi9hbWQ2NC10ZGVwLmMgICAgICAgICB8 ICA4ICsrKystLS0tCisgZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jIHwgIDIgKy0KKyBnZGIvYXJt LXRkZXAuYyAgICAgICAgICAgfCAyMCArKysrKysrKysrKy0tLS0tLS0tLQorIGdkYi9hdnItdGRl cC5jICAgICAgICAgICB8IDEwICsrKysrLS0tLS0KKyBnZGIvYmZpbi10ZGVwLmMgICAgICAgICAg fCAgNCArKy0tCisgZ2RiL2NyaXMtdGRlcC5jICAgICAgICAgIHwgMTIgKysrKysrLS0tLS0tCisg Z2RiL2g4MzAwLXRkZXAuYyAgICAgICAgIHwgIDggKysrKy0tLS0KKyBnZGIvaHBwYS10ZGVwLmMg ICAgICAgICAgfCAgNCArKy0tCisgZ2RiL2kzODYtZGFyd2luLXRkZXAuYyAgIHwgIDIgKy0KKyBn ZGIvaTM4Ni10ZGVwLmMgICAgICAgICAgfCAxNCArKysrKysrLS0tLS0tLQorIGdkYi9pcTIwMDAt dGRlcC5jICAgICAgICB8ICA1ICsrKy0tCisgZ2RiL20zMnItdGRlcC5jICAgICAgICAgIHwgIDIg Ky0KKyBnZGIvbTY4ay10ZGVwLmMgICAgICAgICAgfCAgOCArKysrLS0tLQorIGdkYi9tODhrLXRk ZXAuYyAgICAgICAgICB8ICA4ICsrKystLS0tCisgZ2RiL21lcC10ZGVwLmMgICAgICAgICAgIHwg IDIgKy0KKyBnZGIvbWlwcy10ZGVwLmMgICAgICAgICAgfCA0OCArKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBnZGIvbW4xMDMwMC10ZGVwLmMgICAgICAg fCAgMiArLQorIGdkYi9tdC10ZGVwLmMgICAgICAgICAgICB8ICA0ICsrLS0KKyBnZGIvcHBjLXN5 c3YtdGRlcC5jICAgICAgfCAyMyArKysrKysrKysrKystLS0tLS0tLS0tLQorIGdkYi9ybDc4LXRk ZXAuYyAgICAgICAgICB8ICA0ICsrLS0KKyBnZGIvcnM2MDAwLWFpeC10ZGVwLmMgICAgfCAgNiAr KystLS0KKyBnZGIvczM5MC1saW51eC10ZGVwLmMgICAgfCAgNiArKystLS0KKyBnZGIvc2NvcmUt dGRlcC5jICAgICAgICAgfCAgMiArLQorIGdkYi9zaC10ZGVwLmMgICAgICAgICAgICB8IDEwICsr KysrKy0tLS0KKyBnZGIvc2g2NC10ZGVwLmMgICAgICAgICAgfCAgNCArKy0tCisgZ2RiL3NwYXJj NjQtdGRlcC5jICAgICAgIHwgMTIgKysrKysrLS0tLS0tCisgZ2RiL3NwdS10ZGVwLmMgICAgICAg ICAgIHwgIDQgKystLQorIGdkYi90aWM2eC10ZGVwLmMgICAgICAgICB8ICA5ICsrKysrLS0tLQor IGdkYi90aWxlZ3gtdGRlcC5jICAgICAgICB8ICAyICstCisgZ2RiL3Y4NTAtdGRlcC5jICAgICAg ICAgIHwgIDQgKystLQorIGdkYi92YXgtdGRlcC5jICAgICAgICAgICB8ICA0ICsrLS0KKyBnZGIv eHN0b3JteTE2LXRkZXAuYyAgICAgfCAgNSArKystLQorIGdkYi94dGVuc2EtdGRlcC5jICAgICAg ICB8IDIyICsrKysrKysrKysrLS0tLS0tLS0tLS0KKyAzNCBmaWxlcyBjaGFuZ2VkLCAxNTEgaW5z ZXJ0aW9ucygrKSwgMTQzIGRlbGV0aW9ucygtKQogCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2FscGhhLXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL2FscGhhLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljg5NDU2NjM3MSArMDIw MAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbHBoYS10ZGVwLmMJMjAxNy0wNC0yMCAy MzoxMjoxMS4yMjg1ODg3MDMgKzAyMDAKLUBAIC0zMDAsMTcgKzMwMCwxNyBAQAorZGlmZiAtLWdp dCBhL2dkYi9hbHBoYS10ZGVwLmMgYi9nZGIvYWxwaGEtdGRlcC5jCitpbmRleCA2ZmJmNDFiY2Rj Li5lOWVhMGI0YmExIDEwMDY0NAorLS0tIGEvZ2RiL2FscGhhLXRkZXAuYworKysrIGIvZ2RiL2Fs cGhhLXRkZXAuYworQEAgLTMwMSwxNyArMzAxLDE3IEBAIGFscGhhX3B1c2hfZHVtbXlfY2FsbCAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgewogICAg ZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gp OwogICAgaW50IGk7CkBAIC0xNjksNyArMjA4LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9hbHBoYS10ZGVwLmMKICAgIENPUkVfQUREUiBmdW5jX2FkZHIgPSBmaW5kX2Z1bmN0 aW9uX2FkZHIgKGZ1bmN0aW9uLCBOVUxMKTsKICAKICAgIC8qIFRoZSBBQkkgcGxhY2VzIHRoZSBh ZGRyZXNzIG9mIHRoZSBjYWxsZWQgZnVuY3Rpb24gaW4gVDEyLiAgKi8KLUBAIC00MzAsOCArNDMw LDggQEAKK0BAIC00MzEsOCArNDMxLDggQEAgYWxwaGFfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAgIGZvciAoaSA9IG5h cmdzOyBtX2FyZy0tLCAtLWkgPj0gMDspCiAgICAgIHsKICAgICAgICBjb25zdCBnZGJfYnl0ZSAq Y29udGVudHMgPSBtX2FyZy0+Y29udGVudHM7CkBAIC0xODAsNyArMjE5LDcgQEAgSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbHBoYS10ZGVwLmMKICAKICAgICAgICAvKiBDb3B5IHRo ZSBieXRlcyBkZXN0aW5lZCBmb3IgcmVnaXN0ZXJzIGludG8gYXJnX3JlZ19idWZmZXIuICAqLwog ICAgICAgIGlmIChvZmZzZXQgPCBzaXplb2YoYXJnX3JlZ19idWZmZXIpKQotQEAgLTQ0Myw3ICs0 NDMsNyBAQAorQEAgLTQ0NCw3ICs0NDQsNyBAQCBhbHBoYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAkgICAgfQogIAkg IGVsc2UKICAJICAgIHsKQEAgLTE4OSwzMyArMjI4LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvYWxwaGEtdGRlcC5jCiAgCSAgICAgIG1lbWNweSAoYXJnX3JlZ19idWZmZXIg KyBvZmZzZXQsIGNvbnRlbnRzLCB0bGVuKTsKICAJICAgICAgb2Zmc2V0ICs9IHRsZW47CiAgCSAg ICAgIGNvbnRlbnRzICs9IHRsZW47Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2Ft ZDY0LXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2Ri L2FtZDY0LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljg5NzU2NjM5MSArMDIwMAotKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbWQ2NC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4y Mjk1ODg3MTAgKzAyMDAKLUBAIC03MzUsNyArNzM1LDcgQEAKLSAJCSAgICBnZGJfYnl0ZSAqcmVh ZGJ1ZiwgY29uc3QgZ2RiX2J5dGUgKndyaXRlYnVmKQotIHsKLSAgIGVudW0gYW1kNjRfcmVnX2Ns YXNzIHRoZWNsYXNzWzJdOwotLSAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsgIExP TkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotICAgc3RhdGljIGludCBpbnRlZ2VyX3Jl Z251bVtdID0geyBBTUQ2NF9SQVhfUkVHTlVNLCBBTUQ2NF9SRFhfUkVHTlVNIH07Ci0gICBzdGF0 aWMgaW50IHNzZV9yZWdudW1bXSA9IHsgQU1ENjRfWE1NMF9SRUdOVU0sIEFNRDY0X1hNTTFfUkVH TlVNIH07Ci0gICBpbnQgaW50ZWdlcl9yZWcgPSAwOwotQEAgLTg1MiwxMCArODUyLDEwIEBACi0g ICAgICAgZ2RiX2Fzc2VydCAocmVnbnVtICE9IC0xKTsKLSAKLSAgICAgICBpZiAocmVhZGJ1ZikK LS0JcmVnY2FjaGVfcmF3X3JlYWRfcGFydCAocmVnY2FjaGUsIHJlZ251bSwgb2Zmc2V0LCBzdGQ6 Om1pbiAobGVuLCA4KSwKLSsJcmVnY2FjaGVfcmF3X3JlYWRfcGFydCAocmVnY2FjaGUsIHJlZ251 bSwgb2Zmc2V0LCBzdGQ6Om1pbiAobGVuLCAoTE9OR0VTVCkgOCksCi0gCQkJCXJlYWRidWYgKyBp ICogOCk7Ci0gICAgICAgaWYgKHdyaXRlYnVmKQotLQlyZWdjYWNoZV9yYXdfd3JpdGVfcGFydCAo cmVnY2FjaGUsIHJlZ251bSwgb2Zmc2V0LCBzdGQ6Om1pbiAobGVuLCA4KSwKLSsJcmVnY2FjaGVf cmF3X3dyaXRlX3BhcnQgKHJlZ2NhY2hlLCByZWdudW0sIG9mZnNldCwgc3RkOjptaW4gKGxlbiwg KExPTkdFU1QpIDgpLAotIAkJCQkgd3JpdGVidWYgKyBpICogOCk7Ci0gICAgIH0KLSAKLUBAIC04 ODYsOCArODg2LDggQEAKK2RpZmYgLS1naXQgYS9nZGIvYW1kNjQtdGRlcC5jIGIvZ2RiL2FtZDY0 LXRkZXAuYworaW5kZXggNmY5OThkMjMwMy4uMDBjOGRkOTBkMCAxMDA2NDQKKy0tLSBhL2dkYi9h bWQ2NC10ZGVwLmMKKysrKyBiL2dkYi9hbWQ2NC10ZGVwLmMKK0BAIC04ODAsOCArODgwLDggQEAg YW1kNjRfcHVzaF9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJn cywKICAgIH07CiAgICBzdHJ1Y3QgdmFsdWUgKipzdGFja19hcmdzID0gWEFMTE9DQVZFQyAoc3Ry dWN0IHZhbHVlICosIG5hcmdzKTsKICAgIGludCBudW1fc3RhY2tfYXJncyA9IDA7CkBAIC0yMjYs NyArMjQzLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbWQ2NC10ZGVwLmMK ICAgIGludCBpbnRlZ2VyX3JlZyA9IDA7CiAgICBpbnQgc3NlX3JlZyA9IDA7CiAgICBpbnQgaTsK LUBAIC04OTksNyArODk5LDcgQEAKK0BAIC04OTMsNyArODkzLDcgQEAgYW1kNjRfcHVzaF9hcmd1 bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKICAgIGZvciAoaSA9 IDA7IGkgPCBuYXJnczsgaSsrKQogICAgICB7CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2 YWx1ZV90eXBlIChhcmdzW2ldKTsKQEAgLTIzNSw3ICsyNTIsNyBAQCBJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2FtZDY0LXRkZXAuYwogICAgICAgIGVudW0gYW1kNjRfcmVnX2NsYXNz IHRoZWNsYXNzWzJdOwogICAgICAgIGludCBuZWVkZWRfaW50ZWdlcl9yZWdzID0gMDsKICAgICAg ICBpbnQgbmVlZGVkX3NzZV9yZWdzID0gMDsKLUBAIC05NjMsNyArOTYzLDcgQEAKK0BAIC05NTcs NyArOTU3LDcgQEAgYW1kNjRfcHVzaF9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2Fj aGUsIGludCBuYXJncywKICAKICAJICAgICAgZ2RiX2Fzc2VydCAocmVnbnVtICE9IC0xKTsKICAJ ICAgICAgbWVtc2V0IChidWYsIDAsIHNpemVvZiBidWYpOwpAQCAtMjQ0LDExICsyNjEsMTEgQEAg SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbWQ2NC10ZGVwLmMKICAJICAgICAgcmVn Y2FjaGVfcmF3X3dyaXRlX3BhcnQgKHJlZ2NhY2hlLCByZWdudW0sIG9mZnNldCwgOCwgYnVmKTsK ICAJICAgIH0KICAJfQotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hbWQ2NC13aW5k b3dzLXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2Ri L2FtZDY0LXdpbmRvd3MtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuODk3NTY2MzkxICswMjAw Ci0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCTIwMTct MDQtMjAgMjM6MTI6MTEuMjMwNTg4NzE3ICswMjAwCi1AQCAtMjkwLDcgKzI5MCw3IEBACitkaWZm IC0tZ2l0IGEvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jIGIvZ2RiL2FtZDY0LXdpbmRvd3MtdGRl cC5jCitpbmRleCA5NzVjNjg0OGE0Li5hMGVlZGIyYTliIDEwMDY0NAorLS0tIGEvZ2RiL2FtZDY0 LXdpbmRvd3MtdGRlcC5jCisrKysgYi9nZGIvYW1kNjQtd2luZG93cy10ZGVwLmMKK0BAIC0yOTEs NyArMjkxLDcgQEAgYW1kNjRfd2luZG93c19yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAkJCSAgICBzdHJ1Y3QgdHlwZSAqdHlw ZSwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKICAJCQkgICAgZ2RiX2J5dGUgKnJlYWRidWYs IGNvbnN0IGdkYl9ieXRlICp3cml0ZWJ1ZikKICB7CkBAIC0yNTcsMTEgKzI3NCwxMSBAQCBJbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCiAgICBpbnQg cmVnbnVtID0gLTE7CiAgCiAgICAvKiBTZWUgaWYgb3VyIHZhbHVlIGlzIHJldHVybmVkIHRocm91 Z2ggYSByZWdpc3Rlci4gIElmIGl0IGlzLCB0aGVuCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL2FybS10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5v cmlnL2dkYi9hcm0tdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTA1NTY2NDQ1ICswMjAwCi0r KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2FybS10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjox MS4yMzM1ODg3MzcgKzAyMDAKLUBAIC0zNDkyLDcgKzM0OTIsNyBAQAorZGlmZiAtLWdpdCBhL2dk Yi9hcm0tdGRlcC5jIGIvZ2RiL2FybS10ZGVwLmMKK2luZGV4IDU0YzYzOTJiYTcuLjM5ZGNkYjcz ZmYgMTAwNjQ0CistLS0gYS9nZGIvYXJtLXRkZXAuYworKysrIGIvZ2RiL2FybS10ZGVwLmMKK0BA IC0zNDc3LDcgKzM0NzcsNyBAQCBhcm1fdmZwX2NwcmNfcmVnX2NoYXIgKGVudW0gYXJtX3ZmcF9j cHJjX2Jhc2VfdHlwZSBiKQogICAgIGFycmF5KS4gIFZlY3RvciB0eXBlcyBhcmUgbm90IGN1cnJl bnRseSBzdXBwb3J0ZWQsIG1hdGNoaW5nIHRoZQogICAgIGdlbmVyaWMgQUFQQ1Mgc3VwcG9ydC4g ICovCiAgCkBAIC0yNzAsNyArMjg3LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9hcm0tdGRlcC5jCiAgYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0 LAogIAkJCSAgICBlbnVtIGFybV92ZnBfY3ByY19iYXNlX3R5cGUgKmJhc2VfdHlwZSkKICB7Ci1A QCAtMzU3NSw3ICszNTc1LDcgQEAKK0BAIC0zNTYwLDcgKzM1NjAsNyBAQCBhcm1fdmZwX2NwcmNf c3ViX2NhbmRpZGF0ZSAoc3RydWN0IHR5cGUgKnQsCiAgCSAgfQogIAllbHNlCiAgCSAgewpAQCAt Mjc5LDcgKzI5Niw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYXJtLXRkZXAu YwogIAkgICAgdW5zaWduZWQgdW5pdGxlbjsKICAKICAJICAgIGNvdW50ID0gYXJtX3ZmcF9jcHJj X3N1Yl9jYW5kaWRhdGUgKFRZUEVfVEFSR0VUX1RZUEUgKHQpLAotQEAgLTM1OTgsMTIgKzM1OTgs MTIgQEAKK0BAIC0zNTgzLDEyICszNTgzLDEyIEBAIGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRl IChzdHJ1Y3QgdHlwZSAqdCwKICAKICAgICAgY2FzZSBUWVBFX0NPREVfU1RSVUNUOgogICAgICAg IHsKQEAgLTI5NCw3ICszMTEsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2Fy bS10ZGVwLmMKICAKICAJICAgIGlmICghZmllbGRfaXNfc3RhdGljICgmVFlQRV9GSUVMRCAodCwg aSkpKQogIAkgICAgICBzdWJfY291bnQgPSBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoVFlQ RV9GSUVMRF9UWVBFICh0LCBpKSwKLUBAIC0zNjI3LDEzICszNjI3LDE1IEBACitAQCAtMzYxMiwx MyArMzYxMiwxNSBAQCBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoc3RydWN0IHR5cGUgKnQs CiAgCiAgICAgIGNhc2UgVFlQRV9DT0RFX1VOSU9OOgogICAgICAgIHsKQEAgLTMxMyw3ICszMzAs NyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2FybS10ZGVwLmMKICAJICAgIGlm IChzdWJfY291bnQgPT0gLTEpCiAgCSAgICAgIHJldHVybiAtMTsKICAJICAgIGNvdW50ID0gKGNv dW50ID4gc3ViX2NvdW50ID8gY291bnQgOiBzdWJfY291bnQpOwotQEAgLTM2NjksNyArMzY3MSw3 IEBACitAQCAtMzY1NCw3ICszNjU2LDcgQEAgYXJtX3ZmcF9jYWxsX2NhbmRpZGF0ZSAoc3RydWN0 IHR5cGUgKnQsIGVudW0gYXJtX3ZmcF9jcHJjX2Jhc2VfdHlwZSAqYmFzZV90eXBlLAogIAkJCWlu dCAqY291bnQpCiAgewogICAgZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90eXBlIGIgPSBWRlBfQ1BS Q19VTktOT1dOOwpAQCAtMzIyLDcgKzMzOSw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvYXJtLXRkZXAuYwogICAgaWYgKGMgPD0gMCB8fCBjID4gNCkKICAgICAgcmV0dXJuIDA7 CiAgICAqYmFzZV90eXBlID0gYjsKLUBAIC0zNzUwLDcgKzM3NTIsNyBAQAorQEAgLTM3MzUsNyAr MzczNyw3IEBAIGFybV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBz dHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAogICAgZm9yIChhcmdudW0gPSAwOyBhcmdudW0gPCBu YXJnczsgYXJnbnVtKyspCiAgICAgIHsKQEAgLTMzMSwxMSArMzQ4LDExIEBAIEluZGV4OiBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvYXJtLXRkZXAuYwogICAgICAgIHN0cnVjdCB0eXBlICphcmdf dHlwZTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdGFyZ2V0X3R5cGU7CiAgICAgICAgZW51bSB0eXBl X2NvZGUgdHlwZWNvZGU7Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2F2ci10ZGVw LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9hdnItdGRl cC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTA3NTY2NDU4ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL2F2ci10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzQ1ODg3NDMgKzAy MDAKLUBAIC0xMTkxLDEzICsxMTkxLDEzIEBACitkaWZmIC0tZ2l0IGEvZ2RiL2F2ci10ZGVwLmMg Yi9nZGIvYXZyLXRkZXAuYworaW5kZXggZjRjZTI3MDZkNC4uOWJkNTFmZDY0MyAxMDA2NDQKKy0t LSBhL2dkYi9hdnItdGRlcC5jCisrKysgYi9nZGIvYXZyLXRkZXAuYworQEAgLTExOTEsMTMgKzEx OTEsMTMgQEAgYXZyX2R1bW15X2lkIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IGZy YW1lX2luZm8gKnRoaXNfZnJhbWUpCiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0KICB7CkBAIC0zNTEs NyArMzY4LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hdnItdGRlcC5jCiAg ewogICAgc3RydWN0IHN0YWNrX2l0ZW0gKnNpOwogICAgc2kgPSBYTkVXIChzdHJ1Y3Qgc3RhY2tf aXRlbSk7Ci1AQCAtMTI4NSwxMiArMTI4NSwxMiBAQAorQEAgLTEyODUsMTIgKzEyODUsMTIgQEAg YXZyX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1 ZSAqZnVuY3Rpb24sCiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgbmFyZ3M7IGkrKykKICAgICAgewpA QCAtMzY3LDExICszODQsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9hdnIt dGRlcC5jCiAgCiAgICAgICAgLyogQ2FsY3VsYXRlIHRoZSBwb3RlbnRpYWwgbGFzdCByZWdpc3Rl ciBuZWVkZWQuCiAgICAgICAgICAgRS5nLiBGb3IgbGVuZ3RoIDIsIHJlZ2lzdGVycyByZWdudW0g YW5kIHJlZ251bS0xIChzYXkgMjUgYW5kIDI0KQotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9iZmluLXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9y aWcvZ2RiL2JmaW4tdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTA3NTY2NDU4ICswMjAwCi0r KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2JmaW4tdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6 MTEuMjM0NTg4NzQzICswMjAwCi1AQCAtNTA0LDcgKzUwNCw3IEBACitkaWZmIC0tZ2l0IGEvZ2Ri L2JmaW4tdGRlcC5jIGIvZ2RiL2JmaW4tdGRlcC5jCitpbmRleCBmOTU5NGQ3OTQ3Li4xNjI4ZjJh ODIwIDEwMDY0NAorLS0tIGEvZ2RiL2JmaW4tdGRlcC5jCisrKysgYi9nZGIvYmZpbi10ZGVwLmMK K0BAIC01MDQsNyArNTA0LDcgQEAgYmZpbl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLAogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVf b3JkZXIgKGdkYmFyY2gpOwogICAgaW50IGk7CiAgICBsb25nIHJlZ19yMCwgcmVnX3IxLCByZWdf cjI7CkBAIC0zODAsNyArMzk3LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9i ZmluLXRkZXAuYwogIAogICAgZm9yIChpID0gbmFyZ3MgLSAxOyBpID49IDA7IGktLSkKICAgICAg ewotQEAgLTUyNiw3ICs1MjYsNyBAQAorQEAgLTUyNiw3ICs1MjYsNyBAQCBiZmluX3B1c2hfZHVt bXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgICAgIHsKICAgICAgICBzdHJ1Y3Qg dHlwZSAqdmFsdWVfdHlwZSA9IHZhbHVlX2VuY2xvc2luZ190eXBlIChhcmdzW2ldKTsKICAgICAg ICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlKTsKQEAg LTM4OSwxMSArNDA2LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvYmZpbi10 ZGVwLmMKICAKICAgICAgICBzcCAtPSBjb250YWluZXJfbGVuOwogICAgICAgIHdyaXRlX21lbW9y eSAoc3AsIHZhbHVlX2NvbnRlbnRzIChhcmdzW2ldKSwgY29udGFpbmVyX2xlbik7Ci1JbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2NyaXMtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvY3Jpcy10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjow Ny45MDk1NjY0NzEgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvY3Jpcy10ZGVw LmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzU1ODg3NTAgKzAyMDAKLUBAIC02NjMsMTMgKzY2Mywx MyBAQAorZGlmZiAtLWdpdCBhL2dkYi9jcmlzLXRkZXAuYyBiL2dkYi9jcmlzLXRkZXAuYworaW5k ZXggOWZiYjhiNGZhYy4uODJmMjUwODRiZCAxMDA2NDQKKy0tLSBhL2dkYi9jcmlzLXRkZXAuYwor KysrIGIvZ2RiL2NyaXMtdGRlcC5jCitAQCAtNjYzLDEzICs2NjMsMTMgQEAgc3RhdGljIENPUkVf QUREUiBjcmlzX3Vud2luZF9zcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgCiAgc3RydWN0 IHN0YWNrX2l0ZW0KICB7CkBAIC00MDksNyArNDI2LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9jcmlzLXRkZXAuYwogIHsKICAgIHN0cnVjdCBzdGFja19pdGVtICpzaSA9IFhO RVcgKHN0cnVjdCBzdGFja19pdGVtKTsKICAgIHNpLT5kYXRhID0gKGdkYl9ieXRlICopIHhtYWxs b2MgKGxlbik7Ci1AQCAtODMzLDEzICs4MzMsMTMgQEAKK0BAIC04MzMsMTMgKzgzMywxMyBAQCBj cmlzX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1 ZSAqZnVuY3Rpb24sCiAgCiAgICBmb3IgKGFyZ251bSA9IDA7IGFyZ251bSA8IG5hcmdzOyBhcmdu dW0rKykKICAgICAgewpAQCAtNDI3LDExICs0NDQsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi9jcmlzLXRkZXAuYwogICAgICAgIAogICAgICAgIC8qIEhvdyBtYXkgcmVnaXN0 ZXJzIHdvcnRoIG9mIHN0b3JhZ2UgZG8gd2UgbmVlZCBmb3IgdGhpcyBhcmd1bWVudD8gICovCiAg ICAgICAgcmVnX2RlbWFuZCA9IChsZW4gLyA0KSArIChsZW4gJSA0ICE9IDAgPyAxIDogMCk7Ci1J bmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2g4MzAwLXRkZXAuYwotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2g4MzAwLXRkZXAuYwkyMDE3LTA0LTIw IDIzOjEyOjA3LjkxMDU2NjQ3OCArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9o ODMwMC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzU1ODg3NTAgKzAyMDAKLUBAIC02Mzcs NyArNjM3LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvaDgzMDAtdGRlcC5jIGIvZ2RiL2g4MzAwLXRk ZXAuYworaW5kZXggYWNjMmRhOTNhNC4uOWUzODBlMTJiYSAxMDA2NDQKKy0tLSBhL2dkYi9oODMw MC10ZGVwLmMKKysrKyBiL2dkYi9oODMwMC10ZGVwLmMKK0BAIC02MzcsNyArNjM3LDcgQEAgaDgz MDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVl ICpmdW5jdGlvbiwKICAJCSAgICAgICBpbnQgc3RydWN0X3JldHVybiwgQ09SRV9BRERSIHN0cnVj dF9hZGRyKQogIHsKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRl X29yZGVyIChnZGJhcmNoKTsKQEAgLTQ0MCw5ICs0NTcsOSBAQCBJbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL2g4MzAwLXRkZXAuYwogICAgaW50IHdvcmRzaXplID0gQklOV09SRCAoZ2Ri YXJjaCk7CiAgICBpbnQgcmVnID0gRV9BUkcwX1JFR05VTTsKICAgIGludCBhcmd1bWVudDsKLUBA IC02NjQsMTEgKzY2NCwxMSBAQAorQEAgLTY2MywxMSArNjYzLDExIEBAIGg4MzAwX3B1c2hfZHVt bXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24s CisgICBmb3IgKGFyZ3VtZW50ID0gMDsgYXJndW1lbnQgPCBuYXJnczsgYXJndW1lbnQrKykKICAg ICAgewotICAgICAgIHN0cnVjdCBjbGVhbnVwICpiYWNrX3RvOwogICAgICAgIHN0cnVjdCB0eXBl ICp0eXBlID0gdmFsdWVfdHlwZSAoYXJnc1thcmd1bWVudF0pOwogLSAgICAgIGludCBsZW4gPSBU WVBFX0xFTkdUSCAodHlwZSk7CiArICAgICAgc3NpemVfdCBsZW4gPSBUWVBFX0xFTkdUSCAodHlw ZSk7CkBAIC00NTEsMTAgKzQ2OCwxMCBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L2g4MzAwLXRkZXAuYwogICAgICAgIC8qIFBhZCB0aGUgYXJndW1lbnQgYXBwcm9wcmlhdGVseS4g ICovCiAtICAgICAgaW50IHBhZGRlZF9sZW4gPSBhbGlnbl91cCAobGVuLCB3b3Jkc2l6ZSk7CiAr ICAgICAgc3NpemVfdCBwYWRkZWRfbGVuID0gYWxpZ25fdXAgKGxlbiwgd29yZHNpemUpOwotICAg ICAgIGdkYl9ieXRlICpwYWRkZWQgPSAoZ2RiX2J5dGUgKikgeG1hbGxvYyAocGFkZGVkX2xlbik7 Ci0gICAgICAgYmFja190byA9IG1ha2VfY2xlYW51cCAoeGZyZWUsIHBhZGRlZCk7CisgICAgICAg LyogVXNlIHN0ZDo6dmVjdG9yIGhlcmUgdG8gZ2V0IHplcm8gaW5pdGlhbGl6YXRpb24uICAqLwor ICAgICAgIHN0ZDo6dmVjdG9yPGdkYl9ieXRlPiBwYWRkZWQgKHBhZGRlZF9sZW4pOwogIAotQEAg LTY5Nyw3ICs2OTcsNyBAQAorQEAgLTY5Niw3ICs2OTYsNyBAQCBoODMwMF9wdXNoX2R1bW15X2Nh bGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAkg ICAgICAvKiBIZWF2ZW5zIHRvIEJldHN5IC0tLSBpdCdzIHJlYWxseSBnb2luZyBpbiByZWdpc3Rl cnMhCiAgCSAgICAgICAgIE5vdGUgdGhhdCBvbiB0aGUgaDgvMzAwcywgdGhlcmUgYXJlIGdhcHMg YmV0d2VlbiB0aGUKICAJICAgICAgICAgcmVnaXN0ZXJzIGluIHRoZSByZWdpc3RlciBmaWxlLiAg Ki8KQEAgLTQ2MywxMSArNDgwLDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv aDgzMDAtdGRlcC5jCiAgCiAgCSAgICAgIGZvciAob2Zmc2V0ID0gMDsgb2Zmc2V0IDwgcGFkZGVk X2xlbjsgb2Zmc2V0ICs9IHdvcmRzaXplKQogIAkJewotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9ocHBhLXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL2hwcGEtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTExNTY2NDg1ICswMjAw Ci0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2hwcGEtdGRlcC5jCTIwMTctMDQtMjAgMjM6 MTI6MTEuMjM2NTg4NzU3ICswMjAwCi1AQCAtOTg5LDcgKzk4OSw3IEBACitkaWZmIC0tZ2l0IGEv Z2RiL2hwcGEtdGRlcC5jIGIvZ2RiL2hwcGEtdGRlcC5jCitpbmRleCAxNDEzOTlmNmEzLi44MjIz Zjg0ZGE0IDEwMDY0NAorLS0tIGEvZ2RiL2hwcGEtdGRlcC5jCisrKysgYi9nZGIvaHBwYS10ZGVw LmMKK0BAIC05ODksNyArOTg5LDcgQEAgaHBwYTY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgICAgIHsKICAgICAgICBz dHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2 YWx1ZV90eXBlIChhcmcpOwpAQCAtNDc2LDcgKzQ5Myw3IEBAIEluZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvaHBwYS10ZGVwLmMKICAgICAgICBjb25zdCBiZmRfYnl0ZSAqdmFsYnVmOwog ICAgICAgIGJmZF9ieXRlIGZwdHJidWZbOF07CiAgICAgICAgaW50IHJlZ251bTsKLUBAIC0xMTg0 LDcgKzExODQsNyBAQAorQEAgLTExODQsNyArMTE4NCw3IEBAIGhwcGE2NF9yZXR1cm5fdmFsdWUg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAkJICAg ICBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKICAJCSAgICAg Z2RiX2J5dGUgKnJlYWRidWYsIGNvbnN0IGdkYl9ieXRlICp3cml0ZWJ1ZikKICB7CkBAIC00ODUs MTEgKzUwMiwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2hwcGEtdGRlcC5j CiAgICBpbnQgcmVnbnVtLCBvZmZzZXQ7CiAgCiAgICBpZiAobGVuID4gMTYpCi1JbmRleDogZ2Ri LTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwkyMDE3LTA0 LTIwIDIzOjEyOjA3LjkxMjU2NjQ5MiArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9pMzg2LWRhcndpbi10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzc1ODg3NjMgKzAyMDAK LUBAIC0xNjcsNyArMTY3LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvaTM4Ni1kYXJ3aW4tdGRlcC5j IGIvZ2RiL2kzODYtZGFyd2luLXRkZXAuYworaW5kZXggYzY0MjA0MDQzMi4uMWIzMGE1MDYzOSAx MDA2NDQKKy0tLSBhL2dkYi9pMzg2LWRhcndpbi10ZGVwLmMKKysrKyBiL2dkYi9pMzg2LWRhcndp bi10ZGVwLmMKK0BAIC0xNjYsNyArMTY2LDcgQEAgaTM4Nl9kYXJ3aW5fcHVzaF9kdW1teV9jYWxs IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAKICAg IGZvciAod3JpdGVfcGFzcyA9IDA7IHdyaXRlX3Bhc3MgPCAyOyB3cml0ZV9wYXNzKyspCiAgICAg IHsKQEAgLTQ5OCwxMSArNTE1LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv aTM4Ni1kYXJ3aW4tdGRlcC5jCiAgICAgICAgaW50IG51bV9tMTI4ID0gMDsKICAKICAgICAgICBp ZiAoc3RydWN0X3JldHVybikKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaTM4Ni10 ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9pMzg2 LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3LjkxNzU2NjUyNSArMDIwMAotKysrIGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9pMzg2LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjIzOTU4ODc3 NyArMDIwMAotQEAgLTI2ODIsNyArMjY4Miw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2kzODYtdGRl cC5jIGIvZ2RiL2kzODYtdGRlcC5jCitpbmRleCBkNGY2MWVlYzc2Li41ZjZlMzFjOWIzIDEwMDY0 NAorLS0tIGEvZ2RiL2kzODYtdGRlcC5jCisrKysgYi9nZGIvaTM4Ni10ZGVwLmMKK0BAIC0yNjc3 LDcgKzI2NzcsNyBAQCBpMzg2X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgICBnZGJfYnl0ZSBidWZbNF07CiAgICBpbnQg aTsKICAgIGludCB3cml0ZV9wYXNzOwpAQCAtNTExLDcgKzUyOCw3IEBAIEluZGV4OiBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvaTM4Ni10ZGVwLmMKICAKICAgIC8qIEJORCByZWdpc3RlcnMgY2Fu IGJlIGluIGFyYml0cmFyeSB2YWx1ZXMgYXQgdGhlIG1vbWVudCBvZiB0aGUKICAgICAgIGluZmVy aW9yIGNhbGwuICBUaGlzIGNhbiBjYXVzZSBib3VuZGFyeSB2aW9sYXRpb25zIHRoYXQgYXJlIG5v dAotQEAgLTI2OTcsNyArMjY5Nyw3IEBACitAQCAtMjY5Miw3ICsyNjkyLDcgQEAgaTM4Nl9wdXNo X2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0 aW9uLAogIAogICAgZm9yICh3cml0ZV9wYXNzID0gMDsgd3JpdGVfcGFzcyA8IDI7IHdyaXRlX3Bh c3MrKykKICAgICAgewpAQCAtNTIwLDcgKzUzNyw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvaTM4Ni10ZGVwLmMKICAKICAgICAgICBpZiAoc3RydWN0X3JldHVybikKICAJewot QEAgLTI3MTQsNyArMjcxNCw3IEBACitAQCAtMjcwOSw3ICsyNzA5LDcgQEAgaTM4Nl9wdXNoX2R1 bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9u LAogIAogICAgICAgIGZvciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQogIAl7CkBAIC01MjksNyAr NTQ2LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9pMzg2LXRkZXAuYwogIAog IAkgIGlmICh3cml0ZV9wYXNzKQogIAkgICAgewotQEAgLTI5MjEsNyArMjkyMSw3IEBACitAQCAt MjkxNiw3ICsyOTE2LDcgQEAgaTM4Nl9yZWdfc3RydWN0X3JldHVybl9wIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKnR5cGUpCiAgewogICAgc3RydWN0IGdkYmFyY2hfdGRl cCAqdGRlcCA9IGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCk7CiAgICBlbnVtIHR5cGVfY29kZSBjb2Rl ID0gVFlQRV9DT0RFICh0eXBlKTsKQEAgLTUzOCw3ICs1NTUsNyBAQCBJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2kzODYtdGRlcC5jCiAgCiAgICBnZGJfYXNzZXJ0IChjb2RlID09IFRZ UEVfQ09ERV9TVFJVQ1QKICAgICAgICAgICAgICAgIHx8IGNvZGUgPT0gVFlQRV9DT0RFX1VOSU9O Ci1AQCAtMzc0Myw3ICszNzQzLDcgQEAKK0BAIC0zNzM4LDcgKzM3MzgsNyBAQCBzdGF0aWMgaW50 CiAgaTM4Nl9jb252ZXJ0X3JlZ2lzdGVyX3AgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogIAkJ CSBpbnQgcmVnbnVtLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CkBAIC01NDcsNyArNTY0LDcgQEAg SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9pMzg2LXRkZXAuYwogIAogICAgLyogVmFs dWVzIG1heSBiZSBzcHJlYWQgYWNyb3NzIG11bHRpcGxlIHJlZ2lzdGVycy4gIE1vc3QgZGVidWdn aW5nCiAgICAgICBmb3JtYXRzIGFyZW4ndCBleHByZXNzaXZlIGVub3VnaCB0byBzcGVjaWZ5IHRo ZSBsb2NhdGlvbnMsIHNvCi1AQCAtMzc3Niw3ICszNzc2LDcgQEAKK0BAIC0zNzcxLDcgKzM3NzEs NyBAQCBpMzg2X3JlZ2lzdGVyX3RvX3ZhbHVlIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGlu dCByZWdudW0sCiAgCQkJaW50ICpvcHRpbWl6ZWRwLCBpbnQgKnVuYXZhaWxhYmxlcCkKICB7CiAg ICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9hcmNoIChmcmFtZSk7CkBAIC01 NTYsNyArNTczLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9pMzg2LXRkZXAu YwogIAogICAgaWYgKGkzODZfZnBfcmVnbnVtX3AgKGdkYmFyY2gsIHJlZ251bSkpCiAgICAgIHJl dHVybiBpMzg3X3JlZ2lzdGVyX3RvX3ZhbHVlIChmcmFtZSwgcmVnbnVtLCB0eXBlLCB0bywKLUBA IC0zODEyLDcgKzM4MTIsNyBAQAorQEAgLTM4MDcsNyArMzgwNyw3IEBAIHN0YXRpYyB2b2lkCiAg aTM4Nl92YWx1ZV90b19yZWdpc3RlciAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVn bnVtLAogIAkJCXN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqZnJvbSkKICB7CkBA IC01NjUsMTEgKzU4MiwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2kzODYt dGRlcC5jCiAgCiAgICBpZiAoaTM4Nl9mcF9yZWdudW1fcCAoZ2V0X2ZyYW1lX2FyY2ggKGZyYW1l KSwgcmVnbnVtKSkKICAgICAgewotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9pcTIw MDAtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIv aXEyMDAwLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3LjkxODU2NjUzMiArMDIwMAotKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9pcTIwMDAtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEu MjM5NTg4Nzc3ICswMjAwCi1AQCAtNjUxLDggKzY1MSw5IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2lx MjAwMC10ZGVwLmMgYi9nZGIvaXEyMDAwLXRkZXAuYworaW5kZXggZTQ3Y2MwNmExZi4uN2RjOTk5 ZDEwZSAxMDA2NDQKKy0tLSBhL2dkYi9pcTIwMDAtdGRlcC5jCisrKysgYi9nZGIvaXEyMDAwLXRk ZXAuYworQEAgLTY1MSw4ICs2NTEsOSBAQCBpcTIwMDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAgIGNvbnN0IGJmZF9i eXRlICp2YWw7CiAgICBiZmRfYnl0ZSBidWZbNF07CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKQEAg LTU4MSwxMSArNTk4LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvaXEyMDAw LXRkZXAuYwogICAgLyogVXNlZCB0byBjb3B5IHN0cnVjdCBhcmd1bWVudHMgaW50byB0aGUgc3Rh Y2suICAqLwogICAgQ09SRV9BRERSIHN0cnVjdF9wdHI7CiAgCi1JbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL20zMnItdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAx NzA0MjAub3JpZy9nZGIvbTMyci10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yMzk1ODg3Nzcg KzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbTMyci10ZGVwLmMJMjAxNy0wNC0y MCAyMzoxMjozMC4zODU3MTcwMjMgKzAyMDAKLUBAIC02ODEsNyArNjgxLDcgQEAKK2RpZmYgLS1n aXQgYS9nZGIvbTMyci10ZGVwLmMgYi9nZGIvbTMyci10ZGVwLmMKK2luZGV4IGMwMDQ1NWJiNWYu LjY2M2NhMjA0ODYgMTAwNjQ0CistLS0gYS9nZGIvbTMyci10ZGVwLmMKKysrKyBiL2dkYi9tMzJy LXRkZXAuYworQEAgLTY3OSw3ICs2NzksNyBAQCBtMzJyX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgICBDT1JFX0FERFIg cmVndmFsOwogICAgZ2RiX2J5dGUgKnZhbDsKICAgIGdkYl9ieXRlIHZhbGJ1ZltNMzJSX0FSR19S RUdJU1RFUl9TSVpFXTsKQEAgLTU5NCwxMSArNjExLDExIEBAIEluZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvbTMyci10ZGVwLmMKICAKICAgIC8qIEZpcnN0IGZvcmNlIHNwIHRvIGEgNC1i eXRlIGFsaWdubWVudC4gICovCiAgICBzcCA9IHNwICYgfjM7Ci1JbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL202OGstdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAx NzA0MjAub3JpZy9nZGIvbTY4ay10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MTk1NjY1Mzgg KzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbTY4ay10ZGVwLmMJMjAxNy0wNC0y MCAyMzoxMjoxMS4yNDA1ODg3ODMgKzAyMDAKLUBAIC0zNzcsNyArMzc3LDcgQEAKK2RpZmYgLS1n aXQgYS9nZGIvbTY4ay10ZGVwLmMgYi9nZGIvbTY4ay10ZGVwLmMKK2luZGV4IDlkYzFmZTZmMDEu LjE5Yzc1ZjIxZDMgMTAwNjQ0CistLS0gYS9nZGIvbTY4ay10ZGVwLmMKKysrKyBiL2dkYi9tNjhr LXRkZXAuYworQEAgLTM3Myw3ICszNzMsNyBAQCBtNjhrX3JlZ19zdHJ1Y3RfcmV0dXJuX3AgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICB7CiAgICBzdHJ1Y3Qg Z2RiYXJjaF90ZGVwICp0ZGVwID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKTsKICAgIGVudW0gdHlw ZV9jb2RlIGNvZGUgPSBUWVBFX0NPREUgKHR5cGUpOwpAQCAtNjA3LDcgKzYyNCw3IEBAIEluZGV4 OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbTY4ay10ZGVwLmMKICAKICAgIGdkYl9hc3NlcnQg KGNvZGUgPT0gVFlQRV9DT0RFX1NUUlVDVCB8fCBjb2RlID09IFRZUEVfQ09ERV9VTklPTgogIAkg ICAgICB8fCBjb2RlID09IFRZUEVfQ09ERV9DT01QTEVYKTsKLUBAIC01MDksOSArNTA5LDkgQEAK K0BAIC01MDUsOSArNTA1LDkgQEAgbTY4a19wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgZm9yIChpID0gbmFyZ3MgLSAx OyBpID49IDA7IGktLSkKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBlICp2YWx1ZV90eXBlID0g dmFsdWVfZW5jbG9zaW5nX3R5cGUgKGFyZ3NbaV0pOwpAQCAtNjIwLDEzICs2MzcsMTMgQEAgSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tNjhrLXRkZXAuYwogIAogICAgICAgIC8qIE5v bi1zY2FsYXJzIGJpZ2dlciB0aGFuIDQgYnl0ZXMgYXJlIGxlZnQgYWxpZ25lZCwgb3RoZXJzIGFy ZQogIAkgcmlnaHQgYWxpZ25lZC4gICovCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L204OGstdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9n ZGIvbTg4ay10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MTk1NjY1MzggKzAyMDAKLSsrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbTg4ay10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4y NDA1ODg3ODMgKzAyMDAKLUBAIC0yNTQsMTMgKzI1NCwxMyBAQAorZGlmZiAtLWdpdCBhL2dkYi9t ODhrLXRkZXAuYyBiL2dkYi9tODhrLXRkZXAuYworaW5kZXggNmJlMjdhOTZjNi4uOGYxODZjNzVh MiAxMDA2NDQKKy0tLSBhL2dkYi9tODhrLXRkZXAuYworKysrIGIvZ2RiL204OGstdGRlcC5jCitA QCAtMjU0LDEzICsyNTQsMTMgQEAgbTg4a19zdG9yZV9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNo ZSAqcmVnY2FjaGUsIGludCBuYXJncywKICB7Ci0gICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9 IGdldF9yZWdjYWNoZV9hcmNoIChyZWdjYWNoZSk7CisgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCA9IHJlZ2NhY2hlLT5hcmNoICgpOwogICAgaW50IG51bV9yZWdpc3Rlcl93b3JkcyA9IDA7CiAt ICBpbnQgbnVtX3N0YWNrX3dvcmRzID0gMDsKICsgIExPTkdFU1QgbnVtX3N0YWNrX3dvcmRzID0g MDsKQEAgLTY0MCw3ICs2NTcsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL204 OGstdGRlcC5jCiAgCiAgICAgICAgaWYgKG04OGtfaW50ZWdyYWxfb3JfcG9pbnRlcl9wICh0eXBl KSAmJiBsZW4gPCA0KQogIAl7Ci1AQCAtMzAyLDggKzMwMiw4IEBACitAQCAtMzAyLDggKzMwMiw4 IEBAIG04OGtfc3RvcmVfYXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQg bmFyZ3MsCiAgICAgIHsKICAgICAgICBjb25zdCBiZmRfYnl0ZSAqdmFsYnVmID0gdmFsdWVfY29u dGVudHMgKGFyZ3NbaV0pOwogICAgICAgIHN0cnVjdCB0eXBlICp0eXBlID0gdmFsdWVfdHlwZSAo YXJnc1tpXSk7CkBAIC02NTEsMTEgKzY2OCwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL204OGstdGRlcC5jCiAgCiAgICAgICAgaWYgKG04OGtfaW5fcmVnaXN0ZXJfcCAodHlw ZSkpCiAgCXsKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWVwLXRkZXAuYwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL21lcC10ZGVwLmMJMjAx Ny0wNC0yMCAyMzoxMjowNy45MjA1NjY1NDUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvbWVwLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI0MTU4ODc5MCArMDIwMAotQEAg LTIyNjIsNyArMjI2Miw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL21lcC10ZGVwLmMgYi9nZGIvbWVw LXRkZXAuYworaW5kZXggYmYwOGNhMTRkMi4uMjI0NjQyZmU0MiAxMDA2NDQKKy0tLSBhL2dkYi9t ZXAtdGRlcC5jCisrKysgYi9nZGIvbWVwLXRkZXAuYworQEAgLTIyNTYsNyArMjI1Niw3IEBAIHB1 c2hfbGFyZ2VfYXJndW1lbnRzIChDT1JFX0FERFIgc3AsIGludCBhcmdjLCBzdHJ1Y3QgdmFsdWUg Kiphcmd2LAogIAogICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykKICAgICAgewpAQCAtNjY0 LDExICs2ODEsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tZXAtdGRlcC5j CiAgCiAgICAgICAgaWYgKGFyZ19sZW4gPiBNRVBfR1BSX1NJWkUpCiAgICAgICAgICB7Ci1JbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL21pcHMtdGRlcC5jCi09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbWlwcy10ZGVwLmMJMjAxNy0wNC0yMCAyMzox MjowNy45Mjg1NjY1OTkgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy10 ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNDM1ODg4MDQgKzAyMDAKLUBAIC00NzQsNyArNDc0 LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvbWlwcy10ZGVwLmMgYi9nZGIvbWlwcy10ZGVwLmMKK2lu ZGV4IDgzMDUzNWY3M2QuLjBhY2E4Y2UzZTAgMTAwNjQ0CistLS0gYS9nZGIvbWlwcy10ZGVwLmMK KysrKyBiL2dkYi9taXBzLXRkZXAuYworQEAgLTQ3Nyw3ICs0NzcsNyBAQCBzdGF0aWMgdm9pZAog IG1pcHNfeGZlcl9yZWdpc3RlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCByZWdj YWNoZSAqcmVnY2FjaGUsCiAgCQkgICAgaW50IHJlZ19udW0sIGludCBsZW5ndGgsCiAgCQkgICAg ZW51bSBiZmRfZW5kaWFuIGVuZGlhbiwgZ2RiX2J5dGUgKmluLApAQCAtNjc3LDcgKzY5NCw3IEBA IEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy10ZGVwLmMKICB7CiAgICBpbnQg cmVnX29mZnNldCA9IDA7CiAgCi1AQCAtNDk3LDggKzQ5Nyw4IEBACitAQCAtNTAwLDggKzUwMCw4 IEBAIG1pcHNfeGZlcl9yZWdpc3RlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCBy ZWdjYWNoZSAqcmVnY2FjaGUsCiAgICAgIH0KICAgIGlmIChtaXBzX2RlYnVnKQogICAgICBmcHJp bnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRlcnIsCkBAIC02ODgsOCArNzA1LDggQEAgSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9taXBzLXRkZXAuYwogICAgaWYgKG1pcHNfZGVidWcgJiYg b3V0ICE9IE5VTEwpCiAgICAgIHsKICAgICAgICBpbnQgaTsKLUBAIC00NTMwLDEzICs0NTMwLDEz IEBACi0gICAgICAgZ2RiX2J5dGUgdmFsYnVmW01BWF9SRUdJU1RFUl9TSVpFXTsKK0BAIC00NTM0 LDEzICs0NTM0LDEzIEBAIG1pcHNfZWFiaV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAorICAgICAgIGdkYl9ieXRlIHJlZl92 YWxidWZbTUFYX01JUFNfQUJJX1JFR1NJWkVdOwogICAgICAgIHN0cnVjdCB2YWx1ZSAqYXJnID0g YXJnc1thcmdudW1dOwogICAgICAgIHN0cnVjdCB0eXBlICphcmdfdHlwZSA9IGNoZWNrX3R5cGVk ZWYgKHZhbHVlX3R5cGUgKGFyZykpOwogLSAgICAgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAoYXJn X3R5cGUpOwpAQCAtNzA1LDcgKzcyMiw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvbWlwcy10ZGVwLmMKICAKICAgICAgICAvKiBUaGUgRUFCSSBwYXNzZXMgc3RydWN0dXJlcyB0 aGF0IGRvIG5vdCBmaXQgaW4gYSByZWdpc3RlciBieQogICAgICAgICAgIHJlZmVyZW5jZS4gICov Ci1AQCAtNDgwNSw3ICs0ODA1LDcgQEAKK0BAIC00ODEwLDcgKzQ4MTAsNyBAQCBtaXBzX2VhYmlf cmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5j dGlvbiwKICAKICBzdGF0aWMgaW50CiAgbWlwc19uMzJuNjRfZnBfYXJnX2NodW5rX3AgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUsCkBAIC03MTQsNyArNzMx LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9taXBzLXRkZXAuYwogIHsKICAg IGludCBpOwogIAotQEAgLTQ4MjAsNyArNDgyMCw3IEBACitAQCAtNDgyNSw3ICs0ODI1LDcgQEAg bWlwc19uMzJuNjRfZnBfYXJnX2NodW5rX3AgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1 Y3QgdHlwZSAqYXJnX3R5cGUsCiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTIChh cmdfdHlwZSk7IGkrKykKICAgICAgewpAQCAtNzIzLDcgKzc0MCw3IEBAIEluZGV4OiBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvbWlwcy10ZGVwLmMKICAgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRf dHlwZTsKICAKICAgICAgICAvKiBXZSdyZSBvbmx5IGxvb2tpbmcgYXQgbm9ybWFsIGZpZWxkcy4g ICovCi1AQCAtNDg2Miw3ICs0ODYyLDcgQEAKK0BAIC00ODY3LDcgKzQ4NjcsNyBAQCBtaXBzX24z Mm42NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFs dWUgKmZ1bmN0aW9uLAogICAgaW50IGFyZ3JlZzsKICAgIGludCBmbG9hdF9hcmdyZWc7CiAgICBp bnQgYXJnbnVtOwpAQCAtNzMyLDcgKzc0OSw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvbWlwcy10ZGVwLmMKICAgIGludCBzdGFja19vZmZzZXQgPSAwOwogICAgZW51bSBiZmRf ZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgQ09S RV9BRERSIGZ1bmNfYWRkciA9IGZpbmRfZnVuY3Rpb25fYWRkciAoZnVuY3Rpb24sIE5VTEwpOwot QEAgLTUyMTMsMTEgKzUyMTMsMTEgQEAKK0BAIC01MjE4LDExICs1MjE4LDExIEBAIG1pcHNfbjMy bjY0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAq ZnVuY3Rpb24sCiAgCQkJCTogTUlQU19WMF9SRUdOVU0pOwogIAkgICBmaWVsZCA8IFRZUEVfTkZJ RUxEUyAodHlwZSk7IGZpZWxkKyssIHJlZ251bSArPSAyKQogIAl7CkBAIC03NDgsNyArNzY1LDcg QEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9taXBzLXRkZXAuYwogIAkgIGlmIChU WVBFX0xFTkdUSCAoVFlQRV9GSUVMRF9UWVBFICh0eXBlLCBmaWVsZCkpID09IDE2KQogIAkgICAg ewogIAkgICAgICAvKiBBIDE2LWJ5dGUgbG9uZyBkb3VibGUgZmllbGQgZ29lcyBpbiB0d28gY29u c2VjdXRpdmUKLUBAIC01MjU5LDggKzUyNTksOCBAQAorQEAgLTUyNjQsOCArNTI2NCw4IEBAIG1p cHNfbjMybjY0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2 YWx1ZSAqZnVuY3Rpb24sCiAgCSAgaWYgKG9mZnNldCArIHhmZXIgPiBUWVBFX0xFTkdUSCAodHlw ZSkpCiAgCSAgICB4ZmVyID0gVFlQRV9MRU5HVEggKHR5cGUpIC0gb2Zmc2V0OwogIAkgIGlmICht aXBzX2RlYnVnKQpAQCAtNzU5LDcgKzc3Niw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvbWlwcy10ZGVwLmMKICAJICBtaXBzX3hmZXJfcmVnaXN0ZXIgKGdkYmFyY2gsIHJlZ2Nh Y2hlLAogIAkJCSAgICAgIGdkYmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gpICsgcmVnbnVtLAogIAkJ CSAgICAgIHhmZXIsIEJGRF9FTkRJQU5fVU5LTk9XTiwgcmVhZGJ1Ziwgd3JpdGVidWYsCi1AQCAt NTMxOCw3ICs1MzE4LDcgQEAKK0BAIC01MzIzLDcgKzUzMjMsNyBAQCBtaXBzX28zMl9wdXNoX2R1 bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9u LAogICAgaW50IGFyZ3JlZzsKICAgIGludCBmbG9hdF9hcmdyZWc7CiAgICBpbnQgYXJnbnVtOwpA QCAtNzY4LDcgKzc4NSw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvbWlwcy10 ZGVwLmMKICAgIGludCBzdGFja19vZmZzZXQgPSAwOwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVf b3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgQ09SRV9BRERSIGZ1bmNf YWRkciA9IGZpbmRfZnVuY3Rpb25fYWRkciAoZnVuY3Rpb24sIE5VTEwpOwotQEAgLTUzODIsMTMg KzUzODIsMTMgQEAKK0BAIC01Mzg3LDEzICs1Mzg3LDEzIEBAIG1pcHNfbzMyX3B1c2hfZHVtbXlf Y2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAg ICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFy Z3NbYXJnbnVtXTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUgPSBjaGVja190eXBlZGVm ICh2YWx1ZV90eXBlIChhcmcpKTsKQEAgLTc4NSw3ICs4MDIsNyBAQCBJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL21pcHMtdGRlcC5jCiAgCiAgICAgICAgdmFsID0gdmFsdWVfY29udGVu dHMgKGFyZyk7CiAgCi1AQCAtNTg0Myw4ICs1ODQzLDggQEAKK0BAIC01ODQ3LDggKzU4NDcsOCBA QCBtaXBzX282NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1 Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgaW50IGFyZ3JlZzsKICAgIGludCBmbG9hdF9hcmdyZWc7 CiAgICBpbnQgYXJnbnVtOwpAQCAtNzk2LDcgKzgxMyw3IEBAIEluZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvbWlwcy10ZGVwLmMKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0g Z2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIENPUkVfQUREUiBmdW5jX2FkZHIgPSBm aW5kX2Z1bmN0aW9uX2FkZHIgKGZ1bmN0aW9uLCBOVUxMKTsKICAKLUBAIC01OTA0LDEzICs1OTA0 LDEzIEBACitAQCAtNTkwOCwxMyArNTkwOCwxMyBAQCBtaXBzX282NF9wdXNoX2R1bW15X2NhbGwg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgICAg IGNvbnN0IGdkYl9ieXRlICp2YWw7CiAgICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2Fy Z251bV07CiAgICAgICAgc3RydWN0IHR5cGUgKmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFs dWVfdHlwZSAoYXJnKSk7CkBAIC04MTMsMTEgKzgzMCwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL21pcHMtdGRlcC5jCiAgCiAgICAgICAgdmFsID0gdmFsdWVfY29udGVudHMg KGFyZyk7CiAgCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL21uMTAzMDAtdGRlcC5j Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvbW4xMDMwMC10 ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45Mjk1NjY2MDUgKzAyMDAKLSsrKyBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvbW4xMDMwMC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNDM1ODg4 MDQgKzAyMDAKLUBAIC0xMjIwLDcgKzEyMjAsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9tbjEwMzAw LXRkZXAuYyBiL2dkYi9tbjEwMzAwLXRkZXAuYworaW5kZXggZWFkYmJiMzY3ZS4uMzlkMjRiMmFk MSAxMDA2NDQKKy0tLSBhL2dkYi9tbjEwMzAwLXRkZXAuYworKysrIGIvZ2RiL21uMTAzMDAtdGRl cC5jCitAQCAtMTIxMiw3ICsxMjEyLDcgQEAgbW4xMDMwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLAogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJh cmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgY29uc3QgaW50IHB1c2hfc2l6ZSA9IHJlZ2lz dGVyX3NpemUgKGdkYmFyY2gsIEVfUENfUkVHTlVNKTsKICAgIGludCByZWdzX3VzZWQ7CkBAIC04 MjYsMTEgKzg0MywxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL21uMTAzMDAt dGRlcC5jCiAgICBpbnQgc3RhY2tfb2Zmc2V0ID0gMDsKICAgIGludCBhcmdudW07CiAgICBjb25z dCBnZGJfYnl0ZSAqdmFsOwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9tdC10ZGVw LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9tdC10ZGVw LmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MzA1NjY2MTIgKzAyMDAKLSsrKyBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvbXQtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEuMjQ0NTg4ODEwICswMjAw Ci1AQCAtNzg4LDkgKzc4OCw5IEBACitkaWZmIC0tZ2l0IGEvZ2RiL210LXRkZXAuYyBiL2dkYi9t dC10ZGVwLmMKK2luZGV4IDc5OTIzOTRjYTIuLjVkZDIwY2E4YjAgMTAwNjQ0CistLS0gYS9nZGIv bXQtdGRlcC5jCisrKysgYi9nZGIvbXQtdGRlcC5jCitAQCAtNzg5LDkgKzc4OSw5IEBAIG10X3B1 c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVu Y3Rpb24sCiAgICBnZGJfYnl0ZSBidWZbTVRfTUFYX1NUUlVDVF9TSVpFXTsKICAgIGludCBhcmdy ZWcgPSBNVF8xU1RfQVJHUkVHOwogICAgaW50IHNwbGl0X3BhcmFtX2xlbiA9IDA7CkBAIC04NDIs MTEgKzg1OSwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL210LXRkZXAuYwog ICAgaW50IGksIGo7CiAgCiAgICAvKiBGaXJzdCBoYW5kbGUgaG93ZXZlciBtYW55IGFyZ3Mgd2Ug Y2FuIGZpdCBpbnRvIE1UXzFTVF9BUkdSRUcgdGhydQotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9wcGMtc3lzdi10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3 MDQyMC5vcmlnL2dkYi9wcGMtc3lzdi10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MzE1NjY2 MTkgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcHBjLXN5c3YtdGRlcC5jCTIw MTctMDQtMjAgMjM6MTI6MTEuMjQ1NTg4ODE3ICswMjAwCi1AQCAtNjcsNyArNjcsNyBAQAorZGlm ZiAtLWdpdCBhL2dkYi9wcGMtc3lzdi10ZGVwLmMgYi9nZGIvcHBjLXN5c3YtdGRlcC5jCitpbmRl eCBiNDNmMjJkYTE3Li4yNDgyMGZhNmFiIDEwMDY0NAorLS0tIGEvZ2RiL3BwYy1zeXN2LXRkZXAu YworKysrIGIvZ2RiL3BwYy1zeXN2LXRkZXAuYworQEAgLTY4LDcgKzY4LDcgQEAgcHBjX3N5c3Zf YWJpX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1 ZSAqZnVuY3Rpb24sCiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0 ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBpbnQgb3BlbmNsX2FiaSA9IHBwY19zeXN2X3VzZV9vcGVu Y2xfYWJpICh2YWx1ZV90eXBlIChmdW5jdGlvbikpOwogICAgVUxPTkdFU1Qgc2F2ZWRfc3A7CkBA IC04NTUsNyArODcyLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9wcGMtc3lz di10ZGVwLmMKICAgIGludCB3cml0ZV9wYXNzOwogIAogICAgZ2RiX2Fzc2VydCAodGRlcC0+d29y ZHNpemUgPT0gNCk7Ci1AQCAtOTgsOSArOTgsOSBAQAorQEAgLTk5LDkgKzk5LDkgQEAgcHBjX3N5 c3ZfYWJpX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2 YWx1ZSAqZnVuY3Rpb24sCiAgICAgICAgLyogTmV4dCBhdmFpbGFibGUgdmVjdG9yIHJlZ2lzdGVy IGZvciB2ZWN0b3IgYXJndW1lbnRzLiAgKi8KICAgICAgICBpbnQgdnJlZyA9IDI7CiAgICAgICAg LyogQXJndW1lbnRzIHN0YXJ0IGFib3ZlIHRoZSAiTFIgc2F2ZSB3b3JkIiBhbmQgIkJhY2sgY2hh aW4iLiAgKi8KQEAgLTg2Nyw3ICs4ODQsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3BwYy1zeXN2LXRkZXAuYwogIAogICAgICAgIC8qIElmIHRoZSBmdW5jdGlvbiBpcyByZXR1 cm5pbmcgYSBgc3RydWN0JywgdGhlbiB0aGUgZmlyc3Qgd29yZAogICAgICAgICAgICh3aGljaCB3 aWxsIGJlIHBhc3NlZCBpbiByMykgaXMgdXNlZCBmb3Igc3RydWN0IHJldHVybgotQEAgLTExOSw3 ICsxMTksNyBAQAorQEAgLTEyMCw3ICsxMjAsNyBAQCBwcGNfc3lzdl9hYmlfcHVzaF9kdW1teV9j YWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAJ ewogIAkgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1thcmdub107CiAgCSAgc3RydWN0IHR5cGUg KnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKQEAgLTg3Niw3ICs4OTMs NyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BwYy1zeXN2LXRkZXAuYwogIAkg IGNvbnN0IGJmZF9ieXRlICp2YWwgPSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKICAKICAJICBpZiAo VFlQRV9DT0RFICh0eXBlKSA9PSBUWVBFX0NPREVfRkxUICYmIGxlbiA8PSA4Ci1AQCAtMTI4NCwx MSArMTI4NCwxMSBAQAorQEAgLTEyODUsMTEgKzEyODUsMTEgQEAgc3RydWN0IHBwYzY0X3N5c3Zf YXJncG9zCiAgCiAgc3RhdGljIHZvaWQKICBwcGM2NF9zeXN2X2FiaV9wdXNoX3ZhbCAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsCkBAIC04ODYsMTUgKzkwMyw2MSBAQCBJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3BwYy1zeXN2LXRkZXAuYwogIHsKICAgIHN0cnVjdCBnZGJhcmNoX3Rk ZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwogLSAgaW50IG9mZnNldCA9IDA7Ci0r ICBzc2l6ZV90IG9mZnNldCA9IDA7CisrICBMT05HRVNUIG9mZnNldCA9IDA7CiAgCiAgICAvKiBF bmZvcmNlIGFsaWdubWVudCBvZiBzdGFjayBsb2NhdGlvbiwgaWYgcmVxdWVzdGVkLiAgKi8KICAg IGlmIChhbGlnbiA+IHRkZXAtPndvcmRzaXplKQotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi9ybDc4LXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9y aWcvZ2RiL3JsNzgtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTMxNTY2NjE5ICswMjAwCi0r KysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3JsNzgtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6 MTEuMjQ1NTg4ODE3ICswMjAwCi1AQCAtMTM1Miw4ICsxMzUyLDggQEAKK0BAIC0xMzI3LDcgKzEz MjcsNyBAQCBwcGM2NF9zeXN2X2FiaV9wdXNoX3ZhbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs CisgICAgICAgaWYgKGFyZ3Bvcy0+cmVnY2FjaGUgJiYgYXJncG9zLT5ncmVnIDw9IDEwKQorIAly ZWdjYWNoZV9jb29rZWRfd3JpdGVfcGFydCAoYXJncG9zLT5yZWdjYWNoZSwKKyAJCQkJICAgIHRk ZXAtPnBwY19ncDBfcmVnbnVtICsgYXJncG9zLT5ncmVnLAorLQkJCQkgICAgb2Zmc2V0LCBsZW4s IHZhbCk7CisrCQkJCSAgICBvZmZzZXQsIChMT05HRVNUKSBsZW4sIHZhbCk7CisgICAgICAgYXJn cG9zLT5ncmVnKys7CisgICAgIH0KKyB9CitAQCAtMTM4Niw3ICsxMzg2LDcgQEAgcHBjNjRfc3lz dl9hYmlfcHVzaF9mcmVnIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKKyAgICAgICBpZiAoYXJn cG9zLT5yZWdjYWNoZSAmJiBhcmdwb3MtPmZyZWcgPD0gMTMpCisgCXsKKyAJICBpbnQgcmVnbnVt ID0gdGRlcC0+cHBjX2ZwMF9yZWdudW0gKyBhcmdwb3MtPmZyZWc7CistCSAgaW50IG9mZnNldCA9 IDA7CisrCSAgTE9OR0VTVCBvZmZzZXQgPSAwOworIAorIAkgIGlmIChnZGJhcmNoX2J5dGVfb3Jk ZXIgKGdkYmFyY2gpID09IEJGRF9FTkRJQU5fQklHKQorIAkgICAgb2Zmc2V0ID0gOCAtIFRZUEVf TEVOR1RIICh0eXBlKTsKK0BAIC0xODM2LDcgKzE4MzYsNyBAQCBwcGM2NF9zeXN2X2FiaV9yZXR1 cm5fdmFsdWVfYmFzZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICp2YWx0 eXBlLAorICAgICAgICYmIFRZUEVfQ09ERSAodmFsdHlwZSkgPT0gVFlQRV9DT0RFX0RFQ0ZMT0FU KQorICAgICB7CisgICAgICAgaW50IHJlZ251bSA9IHRkZXAtPnBwY19mcDBfcmVnbnVtICsgMSAr IGluZGV4OworLSAgICAgIGludCBvZmZzZXQgPSAwOworKyAgICAgIExPTkdFU1Qgb2Zmc2V0ID0g MDsKKyAKKyAgICAgICBpZiAoZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKSA9PSBCRkRfRU5E SUFOX0JJRykKKyAJb2Zmc2V0ID0gOCAtIFRZUEVfTEVOR1RIICh2YWx0eXBlKTsKK0BAIC0xOTEy LDcgKzE5MTIsNyBAQCBwcGM2NF9zeXN2X2FiaV9yZXR1cm5fdmFsdWVfYmFzZSAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICp2YWx0eXBlLAorICAgICAgICYmIFRZUEVfQ09E RSAodmFsdHlwZSkgPT0gVFlQRV9DT0RFX0FSUkFZICYmIFRZUEVfVkVDVE9SICh2YWx0eXBlKSkK KyAgICAgeworICAgICAgIGludCByZWdudW0gPSB0ZGVwLT5wcGNfZ3AwX3JlZ251bSArIDMgKyBp bmRleDsKKy0gICAgICBpbnQgb2Zmc2V0ID0gMDsKKysgICAgICBMT05HRVNUIG9mZnNldCA9IDA7 CisgCisgICAgICAgaWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCkgPT0gQkZEX0VORElB Tl9CSUcpCisgCW9mZnNldCA9IDggLSBUWVBFX0xFTkdUSCAodmFsdHlwZSk7CitAQCAtMjAyMCw3 ICsyMDIwLDggQEAgcHBjNjRfc3lzdl9hYmlfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKKyAgICAgICAmJiBUWVBFX0xFTkdUSCAo VFlQRV9UQVJHRVRfVFlQRSAodmFsdHlwZSkpID09IDEpCisgICAgIHsKKyAgICAgICBpbnQgcmVn bnVtID0gdGRlcC0+cHBjX2dwMF9yZWdudW0gKyAzOworLSAgICAgIGludCBvZmZzZXQgPSAocmVn aXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbnVtKSAtIFRZUEVfTEVOR1RIICh2YWx0eXBlKSk7Cisr ICAgICAgTE9OR0VTVCBvZmZzZXQKKysJPSAocmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbnVt KSAtIFRZUEVfTEVOR1RIICh2YWx0eXBlKSk7CisgCisgICAgICAgaWYgKHdyaXRlYnVmICE9IE5V TEwpCisgCXJlZ2NhY2hlX2Nvb2tlZF93cml0ZV9wYXJ0IChyZWdjYWNoZSwgcmVnbnVtLAorZGlm ZiAtLWdpdCBhL2dkYi9ybDc4LXRkZXAuYyBiL2dkYi9ybDc4LXRkZXAuYworaW5kZXggMTlmODA5 OGI3Yi4uOTJhNDhiYTUxMyAxMDA2NDQKKy0tLSBhL2dkYi9ybDc4LXRkZXAuYworKysrIGIvZ2Ri L3JsNzgtdGRlcC5jCitAQCAtMTM0Nyw4ICsxMzQ3LDggQEAgcmw3OF9wdXNoX2R1bW15X2NhbGwg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgZm9y IChpID0gbmFyZ3MgLSAxOyBpID49IDA7IGktLSkKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBl ICp2YWx1ZV90eXBlID0gdmFsdWVfZW5jbG9zaW5nX3R5cGUgKGFyZ3NbaV0pOwpAQCAtOTA1LDEx ICs5NjgsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ybDc4LXRkZXAuYwog IAogICAgICAgIHNwIC09IGNvbnRhaW5lcl9sZW47CiAgICAgICAgd3JpdGVfbWVtb3J5IChybDc4 X21ha2VfZGF0YV9hZGRyZXNzIChzcCksCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3JzNjAwMC1haXgtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAu b3JpZy9nZGIvcnM2MDAwLWFpeC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MzI1NjY2MjYg KzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnM2MDAwLWFpeC10ZGVwLmMJMjAx Ny0wNC0yMCAyMzoxMjoxMS4yNDU1ODg4MTcgKzAyMDAKLUBAIC0xODYsOSArMTg2LDkgQEAKK2Rp ZmYgLS1naXQgYS9nZGIvcnM2MDAwLWFpeC10ZGVwLmMgYi9nZGIvcnM2MDAwLWFpeC10ZGVwLmMK K2luZGV4IDhjYzc1MzlhOGMuLmZjOTUzYzMzZDQgMTAwNjQ0CistLS0gYS9nZGIvcnM2MDAwLWFp eC10ZGVwLmMKKysrKyBiL2dkYi9yczYwMDAtYWl4LXRkZXAuYworQEAgLTE4Nyw5ICsxODcsOSBA QCByczYwMDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0 IHZhbHVlICpmdW5jdGlvbiwKICAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNo X3RkZXAgKGdkYmFyY2gpOwogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNo X2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgaW50IGlpOwpAQCAtOTIxLDcgKzk4NCw3IEBAIElu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKICAgIGdkYl9i eXRlIHRtcF9idWZmZXJbNTBdOwogICAgaW50IGZfYXJnbm8gPSAwOwkJLyogY3VycmVudCBmbG9h dGluZyBwb2ludCBhcmdubyAqLwogICAgaW50IHdvcmRzaXplID0gZ2RiYXJjaF90ZGVwIChnZGJh cmNoKS0+d29yZHNpemU7Ci1AQCAtMzE5LDcgKzMxOSw3IEBACitAQCAtMzE5LDcgKzMxOSw3IEBA IHJhbl9vdXRfb2ZfcmVnaXN0ZXJzX2Zvcl9hcmd1bWVudHM6CiAgCiAgICBpZiAoKGFyZ25vIDwg bmFyZ3MpIHx8IGFyZ2J5dGVzKQogICAgICB7CkBAIC05MzAsMTEgKzk5MywxMSBAQCBJbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCiAgCiAgICAgICAgaWYg KGFyZ2J5dGVzKQogIAl7Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3MzOTAtbGlu dXgtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIv czM5MC1saW51eC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45MzQ1NjY2MzkgKzAyMDAKLSsr KyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvczM5MC1saW51eC10ZGVwLmMJMjAxNy0wNC0yMCAy MzoxMjoxMS4yNDc1ODg4MzAgKzAyMDAKLUBAIC0zMDgxLDcgKzMwODEsNyBAQAorZGlmZiAtLWdp dCBhL2dkYi9zMzkwLWxpbnV4LXRkZXAuYyBiL2dkYi9zMzkwLWxpbnV4LXRkZXAuYworaW5kZXgg YTBkNGNkZDc0MC4uMjYxNzkxOWU4YSAxMDA2NDQKKy0tLSBhL2dkYi9zMzkwLWxpbnV4LXRkZXAu YworKysrIGIvZ2RiL3MzOTAtbGludXgtdGRlcC5jCitAQCAtMzEzMiw3ICszMTMyLDcgQEAgczM5 MF9mdW5jdGlvbl9hcmdfdmVjdG9yIChzdHJ1Y3QgdHlwZSAqdHlwZSkKICAvKiBEZXRlcm1pbmUg d2hldGhlciBOIGlzIGEgcG93ZXIgb2YgdHdvLiAgKi8KICAKICBzdGF0aWMgaW50CkBAIC05NDMs MjAgKzEwMDYsMjkgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zMzkwLWxpbnV4 LXRkZXAuYwogIHsKICAgIHJldHVybiBuICYmICgobiAmIChuIC0gMSkpID09IDApOwogIH0KLUBA IC0zMTM4LDcgKzMxMzgsNyBAQAorQEAgLTMxODksNyArMzE4OSw3IEBAIHMzOTBfaGFuZGxlX2Fy ZyAoc3RydWN0IHMzOTBfYXJnX3N0YXRlICphcywgc3RydWN0IHZhbHVlICphcmcsCiAgCQkgZW51 bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIsIGludCBpc191bm5hbWVkKQogIHsKICAgIHN0cnVjdCB0 eXBlICp0eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CiAtICB1bnNpZ25l ZCBpbnQgbGVuZ3RoID0gVFlQRV9MRU5HVEggKHR5cGUpOwotKyAgVUxPTkdFU1QgbGVuZ3RoID0g VFlQRV9MRU5HVEggKHR5cGUpOworKyAgTE9OR0VTVCBsZW5ndGggPSBUWVBFX0xFTkdUSCAodHlw ZSk7CiAgICBpbnQgd3JpdGVfbW9kZSA9IGFzLT5yZWdjYWNoZSAhPSBOVUxMOwogIAogICAgaWYg KHMzOTBfZnVuY3Rpb25fYXJnX2Zsb2F0ICh0eXBlKSkKLUluZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvc2NvcmUtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0 MjAub3JpZy9nZGIvc2NvcmUtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTM1NTY2NjQ2ICsw MjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Njb3JlLXRkZXAuYwkyMDE3LTA0LTIw IDIzOjEyOjExLjI0ODU4ODgzNyArMDIwMAotQEAgLTUyNSw3ICs1MjUsNyBAQAorQEAgLTM0NTIs NyArMzQ1Miw3IEBAIHMzOTBfcmVnaXN0ZXJfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwgc3RydWN0IHR5cGUgKnR5cGUsCisgeworICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVf b3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOworICAgaW50IHdvcmRfc2l6ZSA9 IGdkYmFyY2hfcHRyX2JpdCAoZ2RiYXJjaCkgLyA4OworLSAgaW50IGxlbmd0aCA9IFRZUEVfTEVO R1RIICh0eXBlKTsKKysgIExPTkdFU1QgbGVuZ3RoID0gVFlQRV9MRU5HVEggKHR5cGUpOworICAg aW50IGNvZGUgPSBUWVBFX0NPREUgKHR5cGUpOworIAorICAgaWYgKGNvZGUgPT0gVFlQRV9DT0RF X0ZMVCB8fCBjb2RlID09IFRZUEVfQ09ERV9ERUNGTE9BVCkKK2RpZmYgLS1naXQgYS9nZGIvc2Nv cmUtdGRlcC5jIGIvZ2RiL3Njb3JlLXRkZXAuYworaW5kZXggNWI2OGEyYjMzMi4uOWExNmNjODA5 ZSAxMDA2NDQKKy0tLSBhL2dkYi9zY29yZS10ZGVwLmMKKysrKyBiL2dkYi9zY29yZS10ZGVwLmMK K0BAIC01MTYsNyArNTE2LDcgQEAgc2NvcmVfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAgIGVudW0gYmZkX2VuZGlhbiBi eXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGludCBhcmdudW07 CiAgICBpbnQgYXJncmVnOwpAQCAtOTY1LDExICsxMDM3LDExIEBAIEluZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvc2NvcmUtdGRlcC5jCiAgICBDT1JFX0FERFIgc3RhY2tfb2Zmc2V0ID0g MDsKICAgIENPUkVfQUREUiBhZGRyID0gMDsKICAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvc2gtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3Jp Zy9nZGIvc2gtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTM2NTY2NjUyICswMjAwCi0rKysg Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NoLXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjExLjI0 ODU4ODgzNyArMDIwMAotQEAgLTgxNCw3ICs4MTQsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9zaC10 ZGVwLmMgYi9nZGIvc2gtdGRlcC5jCitpbmRleCAyMzY3NWJiNmNjLi42MGNjNmQzZjRlIDEwMDY0 NAorLS0tIGEvZ2RiL3NoLXRkZXAuYworKysrIGIvZ2RiL3NoLXRkZXAuYworQEAgLTgxMyw3ICs4 MTMsNyBAQCBzaF9za2lwX3Byb2xvZ3VlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9B RERSIHBjKQogIHN0YXRpYyBpbnQKICBzaF91c2Vfc3RydWN0X2NvbnZlbnRpb24gKGludCByZW5l c2FzX2FiaSwgc3RydWN0IHR5cGUgKnR5cGUpCiAgewpAQCAtOTc4LDcgKzEwNTAsNyBAQCBJbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NoLXRkZXAuYwogICAgaW50IG5lbGVtID0gVFlQ RV9ORklFTERTICh0eXBlKTsKICAKICAgIC8qIFRoZSBSZW5lc2FzIEFCSSByZXR1cm5zIGFnZ3Jl Z2F0ZSB0eXBlcyBhbHdheXMgb24gc3RhY2suICAqLwotQEAgLTkxNiw3ICs5MTYsNyBAQAorQEAg LTkxNSw3ICs5MTUsNyBAQCBzaF9mcmFtZV9hbGlnbiAoc3RydWN0IGdkYmFyY2ggKmlnbm9yZSwg Q09SRV9BRERSIHNwKQogIAogIC8qIEhlbHBlciBmdW5jdGlvbiB0byBqdXN0aWZ5IHZhbHVlIGlu IHJlZ2lzdGVyIGFjY29yZGluZyB0byBlbmRpYW5lc3MuICAqLwogIHN0YXRpYyBjb25zdCBnZGJf Ynl0ZSAqCkBAIC05ODcsNyArMTA1OSw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvc2gtdGRlcC5jCiAgewogICAgc3RhdGljIGdkYl9ieXRlIHZhbGJ1Zls0XTsKICAKLUBAIC0x MDc2LDcgKzEwNzYsOCBAQAorQEAgLTEwNzUsNyArMTA3NSw4IEBAIHNoX3B1c2hfZHVtbXlfY2Fs bF9mcHUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogICAgc3RydWN0IHR5cGUgKnR5cGU7CiAg ICBDT1JFX0FERFIgcmVndmFsOwogICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKQEAgLTk5Nyw3ICsx MDY5LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zaC10ZGVwLmMKICAgIGlu dCBwYXNzX29uX3N0YWNrID0gMDsKICAgIGludCB0cmVhdF9hc19mbHQ7CiAgICBpbnQgbGFzdF9y ZWdfYXJnID0gSU5UX01BWDsKLUBAIC0xMjE3LDcgKzEyMTgsOCBAQAorQEAgLTEyMTYsNyArMTIx Nyw4IEBAIHNoX3B1c2hfZHVtbXlfY2FsbF9ub2ZwdSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAgIENPUkVfQUREUiByZWd2YWw7CiAgICBjb25zdCBn ZGJfYnl0ZSAqdmFsOwpAQCAtMTAwNywxMSArMTA3OSwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL3NoLXRkZXAuYwogICAgaW50IHBhc3Nfb25fc3RhY2sgPSAwOwogICAgaW50 IGxhc3RfcmVnX2FyZyA9IElOVF9NQVg7CiAgCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3NoNjQtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3Jp Zy9nZGIvc2g2NC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45Mzc1NjY2NTkgKzAyMDAKLSsr KyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc2g2NC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjox MS4yNDk1ODg4NDQgKzAyMDAKLUBAIC0xMDYyLDcgKzEwNjIsNyBAQAorZGlmZiAtLWdpdCBhL2dk Yi9zaDY0LXRkZXAuYyBiL2dkYi9zaDY0LXRkZXAuYworaW5kZXggMzAwNGYxNWIwMy4uMDFkMGNh ODcwYyAxMDA2NDQKKy0tLSBhL2dkYi9zaDY0LXRkZXAuYworKysrIGIvZ2RiL3NoNjQtdGRlcC5j CitAQCAtMTA3OSw3ICsxMDc5LDcgQEAgc2g2NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLAogIAkJICAgICAgQ09SRV9BRERSIHN0cnVjdF9hZGRyKQogIHsKICAgIGVu dW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsK QEAgLTEwMjAsNyArMTA5Miw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc2g2 NC10ZGVwLmMKICAgIGludCBpbnRfYXJncmVnOwogICAgaW50IGZsb2F0X2FyZ19pbmRleCA9IDA7 CiAgICBpbnQgZG91YmxlX2FyZ19pbmRleCA9IDA7Ci1AQCAtMTA3MSw3ICsxMDcxLDcgQEAKK0BA IC0xMDg4LDcgKzEwODgsNyBAQCBzaDY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsCiAgICBDT1JFX0FERFIgcmVndmFsOwogICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsK ICAgIGdkYl9ieXRlIHZhbGJ1Zls4XTsKQEAgLTEwMjksMzQgKzExMDEsMjAgQEAgSW5kZXg6IGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zaDY0LXRkZXAuYwogICAgaW50IGFyZ3JlZ19zaXplOwog ICAgaW50IGZwX2FyZ3NbMTJdOwogIAotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9z cGFyYy10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9zcGFyYy10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45Mzg1NjY2NjYgKzAyMDAKLSsrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc3BhcmMtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MTEu MjQ5NTg4ODQ0ICswMjAwCi1AQCAtNTY3LDcgKzU2Nyw3IEBACi0gICBmb3IgKGkgPSAwOyBpIDwg bmFyZ3M7IGkrKykKLSAgICAgewotICAgICAgIHN0cnVjdCB0eXBlICp0eXBlID0gdmFsdWVfdHlw ZSAoYXJnc1tpXSk7Ci0tICAgICAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsgICAg ICBMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAKLSAgICAgICBpZiAoc3BhcmNf c3RydWN0dXJlX29yX3VuaW9uX3AgKHR5cGUpCi0gCSAgfHwgKHNwYXJjX2Zsb2F0aW5nX3AgKHR5 cGUpICYmIGxlbiA9PSAxNikKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvc3BhcmM2 NC10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9z cGFyYzY0LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3LjkzOTU2NjY3MiArMDIwMAotKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zcGFyYzY0LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjEx LjI1MDU4ODg1MSArMDIwMAotQEAgLTY5Niw3ICs2OTYsOCBAQAorZGlmZiAtLWdpdCBhL2dkYi9z cGFyYzY0LXRkZXAuYyBiL2dkYi9zcGFyYzY0LXRkZXAuYworaW5kZXggNTVhZWYxMzJkOS4uY2Ux Y2Y0MWQyZiAxMDA2NDQKKy0tLSBhL2dkYi9zcGFyYzY0LXRkZXAuYworKysrIGIvZ2RiL3NwYXJj NjQtdGRlcC5jCitAQCAtMTIwNSw3ICsxMjA1LDcgQEAgc3BhcmM2NF8xNl9ieXRlX2FsaWduX3Ag KHN0cnVjdCB0eXBlICp0eXBlKQogIAogIHN0YXRpYyB2b2lkCiAgc3BhcmM2NF9zdG9yZV9mbG9h dGluZ19maWVsZHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHN0cnVjdCB0eXBlICp0eXBl LAogLQkJCSAgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFsYnVmLCBpbnQgZWxlbWVudCwgaW50IGJp dHBvcykKLSsJCQkgICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGJ1ZiwgaW50IGVsZW1lbnQsCi0r CQkJICAgICAgIExPTkdFU1QgYml0cG9zKQorKwkJCSAgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFs YnVmLCBpbnQgZWxlbWVudCwgTE9OR0VTVCBiaXRwb3MpCiAgewotICAgc3RydWN0IGdkYmFyY2gg KmdkYmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpOworICAgc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2ggPSByZWdjYWNoZS0+YXJjaCAoKTsKICAgIGludCBsZW4gPSBUWVBFX0xFTkdU SCAodHlwZSk7Ci1AQCAtNzQwLDcgKzc0MSw3IEBACitAQCAtMTI2NSw3ICsxMjY1LDcgQEAgc3Bh cmM2NF9zdG9yZV9mbG9hdGluZ19maWVsZHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHN0 cnVjdCB0eXBlICp0eXBlLAogICAgICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05GSUVMRFMgKHR5 cGUpOyBpKyspCiAgCXsKICAJICBzdHJ1Y3QgdHlwZSAqc3VidHlwZSA9IGNoZWNrX3R5cGVkZWYg KFRZUEVfRklFTERfVFlQRSAodHlwZSwgaSkpOwpAQCAtMTA2NSwxNiArMTEyMywxNiBAQCBJbmRl eDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NwYXJjNjQtdGRlcC5jCiAgCiAgCSAgc3BhcmM2 NF9zdG9yZV9mbG9hdGluZ19maWVsZHMgKHJlZ2NhY2hlLCBzdWJ0eXBlLCB2YWxidWYsCiAgCQkJ CQkgZWxlbWVudCwgc3VicG9zKTsKLUBAIC03NzIsNyArNzczLDcgQEAKK0BAIC0xMjk3LDcgKzEy OTcsNyBAQCBzcGFyYzY0X3N0b3JlX2Zsb2F0aW5nX2ZpZWxkcyAoc3RydWN0IHJlZ2NhY2hlICpy ZWdjYWNoZSwgc3RydWN0IHR5cGUgKnR5cGUsCiAgCiAgc3RhdGljIHZvaWQKICBzcGFyYzY0X2V4 dHJhY3RfZmxvYXRpbmdfZmllbGRzIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBzdHJ1Y3Qg dHlwZSAqdHlwZSwKIC0JCQkJIGdkYl9ieXRlICp2YWxidWYsIGludCBiaXRwb3MpCiArCQkJCSBn ZGJfYnl0ZSAqdmFsYnVmLCBMT05HRVNUIGJpdHBvcykKICB7Ci0gICBzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCA9IGdldF9yZWdjYWNoZV9hcmNoIChyZWdjYWNoZSk7CisgICBzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCA9IHJlZ2NhY2hlLT5hcmNoICgpOwogIAotQEAgLTgxMiw3ICs4MTMsNyBAQAor QEAgLTEzNTMsNyArMTM1Myw3IEBAIHNwYXJjNjRfZXh0cmFjdF9mbG9hdGluZ19maWVsZHMgKHN0 cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHN0cnVjdCB0eXBlICp0eXBlLAogICAgICAgIGZvciAo aSA9IDA7IGkgPCBUWVBFX05GSUVMRFMgKHR5cGUpOyBpKyspCiAgCXsKICAJICBzdHJ1Y3QgdHlw ZSAqc3VidHlwZSA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfRklFTERfVFlQRSAodHlwZSwgaSkpOwpA QCAtMTA4Myw3ICsxMTQxLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9zcGFy YzY0LXRkZXAuYwogIAogIAkgIHNwYXJjNjRfZXh0cmFjdF9mbG9hdGluZ19maWVsZHMgKHJlZ2Nh Y2hlLCBzdWJ0eXBlLCB2YWxidWYsIHN1YnBvcyk7CiAgCX0KLUBAIC04NDUsNyArODQ2LDcgQEAK K0BAIC0xMzg2LDcgKzEzODYsNyBAQCBzcGFyYzY0X3N0b3JlX2FyZ3VtZW50cyAoc3RydWN0IHJl Z2NhY2hlICpyZWdjYWNoZSwgaW50IG5hcmdzLAogICAgZm9yIChpID0gMDsgaSA8IG5hcmdzOyBp KyspCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IHZhbHVlX3R5cGUgKGFyZ3Nb aV0pOwpAQCAtMTA5Miw3ICsxMTUwLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9zcGFyYzY0LXRkZXAuYwogIAogICAgICAgIGlmIChzcGFyYzY0X3N0cnVjdHVyZV9vcl91bmlv bl9wICh0eXBlKQogIAkgIHx8IChzcGFyYzY0X2NvbXBsZXhfZmxvYXRpbmdfcCAodHlwZSkgJiYg bGVuID09IDMyKSkKLUBAIC05NDUsNyArOTQ2LDcgQEAKK0BAIC0xNDg2LDcgKzE0ODYsNyBAQCBz cGFyYzY0X3N0b3JlX2FyZ3VtZW50cyAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IG5h cmdzLAogICAgICB7CiAgICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGJ1ZiA9IHZhbHVlX2NvbnRl bnRzIChhcmdzW2ldKTsKICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IHZhbHVlX3R5cGUgKGFy Z3NbaV0pOwpAQCAtMTEwMSwxMSArMTE1OSwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3NwYXJjNjQtdGRlcC5jCiAgICAgICAgaW50IHJlZ251bSA9IC0xOwogICAgICAgIGdk Yl9ieXRlIGJ1ZlsxNl07CiAgCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3NwdS10 ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9zcHUt dGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTQwNTY2Njc5ICswMjAwCi0rKysgZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3NwdS10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4yNTE1ODg4NTcg KzAyMDAKLUBAIC0xNDMxLDcgKzE0MzEsNyBAQAorZGlmZiAtLWdpdCBhL2dkYi9zcHUtdGRlcC5j IGIvZ2RiL3NwdS10ZGVwLmMKK2luZGV4IDM0YTUzNmEyNjAuLjRiMzliMTc4NWUgMTAwNjQ0Cist LS0gYS9nZGIvc3B1LXRkZXAuYworKysrIGIvZ2RiL3NwdS10ZGVwLmMKK0BAIC0xNDMwLDcgKzE0 MzAsNyBAQCBzcHVfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3Ry dWN0IHZhbHVlICpmdW5jdGlvbiwKICAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07 CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChh cmcpKTsKICAgICAgICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHMgPSB2YWx1ZV9jb250ZW50cyAo YXJnKTsKQEAgLTExMTQsNyArMTE3Miw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIvc3B1LXRkZXAuYwogIAogICAgICAgIC8qIElmIHRoZSBhcmd1bWVudCBkb2Vzbid0IHdob2xs eSBmaXQgaW50byByZWdpc3RlcnMsIGl0IGFuZAogIAkgYWxsIHN1YnNlcXVlbnQgYXJndW1lbnRz IGdvIHRvIHRoZSBzdGFjay4gICovCi1AQCAtMTQ2Myw3ICsxNDYzLDcgQEAKK0BAIC0xNDYyLDcg KzE0NjIsNyBAQCBzcHVfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg c3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAJewogIAkgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJn c1tpXTsKICAJICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUg KGFyZykpOwpAQCAtMTEyMywxMSArMTE4MSwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3NwdS10ZGVwLmMKICAJICBpbnQgcHJlZmVycmVkX3Nsb3Q7CiAgCSAgCiAgCSAgaWYg KHNwdV9zY2FsYXJfdmFsdWVfcCAodHlwZSkpCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3RpYzZ4LXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9y aWcvZ2RiL3RpYzZ4LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljk0MDU2NjY3OSArMDIwMAot KysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90aWM2eC10ZGVwLmMJMjAxNy0wNC0yMCAyMzox MjoxMS4yNTE1ODg4NTcgKzAyMDAKLUBAIC04OTksNyArODk5LDcgQEAKK2RpZmYgLS1naXQgYS9n ZGIvdGljNngtdGRlcC5jIGIvZ2RiL3RpYzZ4LXRkZXAuYworaW5kZXggNjZmMjI1OTYxMi4uM2M3 ZjU1ZjUwMCAxMDA2NDQKKy0tLSBhL2dkYi90aWM2eC10ZGVwLmMKKysrKyBiL2dkYi90aWM2eC10 ZGVwLmMKK0BAIC04ODMsNyArODgzLDcgQEAgdGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAgIGludCBhcmdyZWcg PSAwOwogICAgaW50IGFyZ251bTsKICAgIGludCBzdGFja19vZmZzZXQgPSA0OwpAQCAtMTEzNiw3 ICsxMTk0LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90aWM2eC10ZGVwLmMK ICAgIENPUkVfQUREUiBmdW5jX2FkZHIgPSBmaW5kX2Z1bmN0aW9uX2FkZHIgKGZ1bmN0aW9uLCBO VUxMKTsKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVy IChnZGJhcmNoKTsKICAgIHN0cnVjdCB0eXBlICpmdW5jX3R5cGUgPSB2YWx1ZV90eXBlIChmdW5j dGlvbik7Ci1AQCAtOTMzLDcgKzkzMyw3IEBACitAQCAtOTE3LDcgKzkxNyw3IEBAIHRpYzZ4X3B1 c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVu Y3Rpb24sCiAgICAvKiBOb3cgbWFrZSBzcGFjZSBvbiB0aGUgc3RhY2sgZm9yIHRoZSBhcmdzLiAg Ki8KICAgIGZvciAoYXJnbnVtID0gMDsgYXJnbnVtIDwgbmFyZ3M7IGFyZ251bSsrKQogICAgICB7 CkBAIC0xMTQ1LDcgKzEyMDMsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rp YzZ4LXRkZXAuYwogICAgICAgIGlmIChhcmdudW0gPj0gMTAgLSBhcmdyZWcpCiAgCXJlZmVyZW5j ZXNfb2Zmc2V0ICs9IGxlbjsKICAgICAgICBzdGFja19vZmZzZXQgKz0gbGVuOwotQEAgLTk1Miw3 ICs5NTIsNyBAQAorQEAgLTkzNiw3ICs5MzYsNyBAQCB0aWM2eF9wdXNoX2R1bW15X2NhbGwgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgICAgIGNv bnN0IGdkYl9ieXRlICp2YWw7CiAgICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2FyZ251 bV07CiAgICAgICAgc3RydWN0IHR5cGUgKmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVf dHlwZSAoYXJnKSk7CkBAIC0xMTU0LDcgKzEyMTIsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL3RpYzZ4LXRkZXAuYwogICAgICAgIGVudW0gdHlwZV9jb2RlIHR5cGVjb2RlID0g VFlQRV9DT0RFIChhcmdfdHlwZSk7CiAgCiAgICAgICAgdmFsID0gdmFsdWVfY29udGVudHMgKGFy Zyk7Ci1AQCAtMTExMiw3ICsxMTEyLDggQEAKK0BAIC0xMDk2LDcgKzEwOTYsOCBAQCB0aWM2eF9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1 bmN0aW9uLAogIAkgICAgfQogIAkgIGVsc2UKICAJICAgIGludGVybmFsX2Vycm9yIChfX0ZJTEVf XywgX19MSU5FX18sCkBAIC0xMTY0LDExICsxMjIyLDExIEBAIEluZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvdGljNngtdGRlcC5jCiAgCiAgCSAgYWRkciA9IHNwICsgc3RhY2tfb2Zmc2V0 OwogIAkgIHdyaXRlX21lbW9yeSAoYWRkciwgdmFsLCBsZW4pOwotSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi90aWxlZ3gtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAu MjAxNzA0MjAub3JpZy9nZGIvdGlsZWd4LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljk0MTU2 NjY4NiArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90aWxlZ3gtdGRlcC5jCTIw MTctMDQtMjAgMjM6MTI6MTEuMjUxNTg4ODU3ICswMjAwCi1AQCAtMjg5LDcgKzI4OSw3IEBACitk aWZmIC0tZ2l0IGEvZ2RiL3RpbGVneC10ZGVwLmMgYi9nZGIvdGlsZWd4LXRkZXAuYworaW5kZXgg M2E2MzBjMzNkOC4uMzNhM2NhYWZjZiAxMDA2NDQKKy0tLSBhL2dkYi90aWxlZ3gtdGRlcC5jCisr KysgYi9nZGIvdGlsZWd4LXRkZXAuYworQEAgLTI4OCw3ICsyODgsNyBAQCB0aWxlZ3hfcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAgIENPUkVfQUREUiBzdGFja19k ZXN0ID0gc3A7CiAgICBpbnQgYXJncmVnID0gVElMRUdYX1IwX1JFR05VTTsKICAgIGludCBpLCBq OwpAQCAtMTE3NywxMSArMTIzNSwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3RpbGVneC10ZGVwLmMKICAgIHN0YXRpYyBjb25zdCBnZGJfYnl0ZSBmb3VyX3plcm9fd29yZHNb MTZdID0geyAwIH07CiAgCiAgICAvKiBJZiBzdHJ1Y3RfcmV0dXJuIGlzIDEsIHRoZW4gdGhlIHN0 cnVjdCByZXR1cm4gYWRkcmVzcyB3aWxsCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3Y4NTAtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9n ZGIvdjg1MC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45NDE1NjY2ODYgKzAyMDAKLSsrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdjg1MC10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjoxMS4y NTI1ODg4NjQgKzAyMDAKLUBAIC0xMDE5LDcgKzEwMTksNyBAQAorZGlmZiAtLWdpdCBhL2dkYi92 ODUwLXRkZXAuYyBiL2dkYi92ODUwLXRkZXAuYworaW5kZXggMDY1Y2M5Yjg4Mi4uNzliODc3MzI1 YiAxMDA2NDQKKy0tLSBhL2dkYi92ODUwLXRkZXAuYworKysrIGIvZ2RiL3Y4NTAtdGRlcC5jCitA QCAtMTAxOSw3ICsxMDE5LDcgQEAgdjg1MF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLAogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVf b3JkZXIgKGdkYmFyY2gpOwogICAgaW50IGFyZ3JlZzsKICAgIGludCBhcmdudW07CkBAIC0xMTkw LDcgKzEyNDgsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Y4NTAtdGRlcC5j CiAgICBpbnQgc3RhY2tfb2Zmc2V0OwogIAogICAgaWYgKGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCkt PmFiaSA9PSBWODUwX0FCSV9SSDg1MCkKLUBAIC0xMDQ3LDcgKzEwNDcsNyBAQAorQEAgLTEwNDcs NyArMTA0Nyw3IEBAIHY4NTBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwKICAgICAgIGluIGZvdXIgcmVnaXN0ZXJzIGF2YWlsYWJsZS4gIExvb3AgdGhydSBhcmdzIGZy b20gZmlyc3QgdG8gbGFzdC4gICovCiAgICBmb3IgKGFyZ251bSA9IDA7IGFyZ251bSA8IG5hcmdz OyBhcmdudW0rKykKICAgICAgewpAQCAtMTE5OSwxMiArMTI1NywxMiBAQCBJbmRleDogZ2RiLTcu OTkuOTAuMjAxNzA0MjAvZ2RiL3Y4NTAtdGRlcC5jCiAgICAgICAgZ2RiX2J5dGUgKnZhbDsKICAg ICAgICBnZGJfYnl0ZSB2YWxidWZbdjg1MF9yZWdfc2l6ZV07CiAgCi1JbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL3ZheC10ZGVwLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4y MDE3MDQyMC5vcmlnL2dkYi92YXgtdGRlcC5jCTIwMTctMDQtMjAgMjM6MTI6MDcuOTQyNTY2Njky ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZheC10ZGVwLmMJMjAxNy0wNC0y MCAyMzoxMjoxMS4yNTI1ODg4NjQgKzAyMDAKLUBAIC0xMTEsNyArMTExLDcgQEAKLSAgIHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X3JlZ2NhY2hlX2FyY2ggKHJlZ2NhY2hlKTsKK2RpZmYg LS1naXQgYS9nZGIvdmF4LXRkZXAuYyBiL2dkYi92YXgtdGRlcC5jCitpbmRleCBmMzFhY2M4ZjAx Li4wM2Q3YzYxZGNkIDEwMDY0NAorLS0tIGEvZ2RiL3ZheC10ZGVwLmMKKysrKyBiL2dkYi92YXgt dGRlcC5jCitAQCAtMTEwLDcgKzExMCw3IEBAIHZheF9zdG9yZV9hcmd1bWVudHMgKHN0cnVjdCBy ZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKKyAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo ID0gcmVnY2FjaGUtPmFyY2ggKCk7CiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdk YmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBnZGJfYnl0ZSBidWZbNF07CiAtICBpbnQg Y291bnQgPSAwOwpAQCAtMTIxMiw3ICsxMjcwLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi92YXgtdGRlcC5jCiAgICBpbnQgaTsKICAKICAgIC8qIFdlIGNyZWF0ZSBhbiBhcmd1 bWVudCBsaXN0IG9uIHRoZSBzdGFjaywgYW5kIG1ha2UgdGhlIGFyZ3VtZW50Ci1AQCAtMTIwLDcg KzEyMCw3IEBACitAQCAtMTE5LDcgKzExOSw3IEBAIHZheF9zdG9yZV9hcmd1bWVudHMgKHN0cnVj dCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKICAgIC8qIFB1c2ggYXJndW1lbnRzIGlu IHJldmVyc2Ugb3JkZXIuICAqLwogICAgZm9yIChpID0gbmFyZ3MgLSAxOyBpID49IDA7IGktLSkK ICAgICAgewpAQCAtMTIyMSwxMSArMTI3OSwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3ZheC10ZGVwLmMKICAKICAgICAgICBzcCAtPSAobGVuICsgMykgJiB+MzsKICAgICAg ICBjb3VudCArPSAobGVuICsgMykgLyA0OwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi94c3Rvcm15MTYtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAu b3JpZy9nZGIveHN0b3JteTE2LXRkZXAuYwkyMDE3LTA0LTIwIDIzOjEyOjA3Ljk0MjU2NjY5MiAr MDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi94c3Rvcm15MTYtdGRlcC5jCTIwMTct MDQtMjAgMjM6MTI6MTEuMjUyNTg4ODY0ICswMjAwCi1AQCAtMjMzLDggKzIzMyw5IEBACitkaWZm IC0tZ2l0IGEvZ2RiL3hzdG9ybXkxNi10ZGVwLmMgYi9nZGIveHN0b3JteTE2LXRkZXAuYworaW5k ZXggMTUzMzc1YTFiZC4uNWFlMTg2ZDdmYiAxMDA2NDQKKy0tLSBhL2dkYi94c3Rvcm15MTYtdGRl cC5jCisrKysgYi9nZGIveHN0b3JteTE2LXRkZXAuYworQEAgLTIzMiw4ICsyMzIsOSBAQCB4c3Rv cm15MTZfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAgIGVudW0g YmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAg IENPUkVfQUREUiBzdGFja19kZXN0ID0gc3A7CiAgICBpbnQgYXJncmVnID0gRV8xU1RfQVJHX1JF R05VTTsKQEAgLTEyMzcsMTEgKzEyOTUsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIw L2dkYi94c3Rvcm15MTYtdGRlcC5jCiAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwogICAgZ2RiX2J5 dGUgYnVmW3hzdG9ybXkxNl9wY19zaXplXTsKICAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIveHRlbnNhLXRkZXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIw Lm9yaWcvZ2RiL3h0ZW5zYS10ZGVwLmMJMjAxNy0wNC0yMCAyMzoxMjowNy45NDQ1NjY3MDYgKzAy MDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIveHRlbnNhLXRkZXAuYwkyMDE3LTA0LTIw IDIzOjEyOjExLjI1MzU4ODg3MCArMDIwMAotQEAgLTE2MzcsOCArMTYzNyw3IEBACitkaWZmIC0t Z2l0IGEvZ2RiL3h0ZW5zYS10ZGVwLmMgYi9nZGIveHRlbnNhLXRkZXAuYworaW5kZXggMGIwZWMy ZTQxNi4uOWI1MzhjNmQ3ZCAxMDA2NDQKKy0tLSBhL2dkYi94dGVuc2EtdGRlcC5jCisrKysgYi9n ZGIveHRlbnNhLXRkZXAuYworQEAgLTE2MzIsOCArMTYzMiw3IEBAIHh0ZW5zYV9zdG9yZV9yZXR1 cm5fdmFsdWUgKHN0cnVjdCB0eXBlICp0eXBlLAogIAogICAgICAgIGlmIChsZW4gPiAoY2FsbHNp emUgPiA4ID8gOCA6IDE2KSkKICAJaW50ZXJuYWxfZXJyb3IgKF9fRklMRV9fLCBfX0xJTkVfXywK QEAgLTEyNTEsNyArMTMwOSw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIveHRl bnNhLXRkZXAuYwogICAgICAgIGFyZWcgPSBhcnJlZ19udW1iZXIgKGdkYmFyY2gsCiAgCQkJICAg Z2RiYXJjaF90ZGVwIChnZGJhcmNoKS0+YTBfYmFzZSArIDIgKyBjYWxsc2l6ZSwgd2IpOwogIAot QEAgLTE3MTIsMTggKzE3MTEsMTggQEAKK0BAIC0xNzA3LDE4ICsxNzA2LDE4IEBAIHh0ZW5zYV9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogIHsKICAgIGVudW0gYmZk X2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGlu dCBpOwpAQCAtMTI3Myw3ICsxMzMxLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi94dGVuc2EtdGRlcC5jCiAgICAgICAgaW50IHJlZ25vOwkJLyogcmVnbm8gaWYgaW4gcmVnaXN0 ZXIuICAqLwogICAgICB9IHU7CiAgICB9OwotQEAgLTE3NDcsOSArMTc0NiwxMCBAQAorQEAgLTE3 NDIsOSArMTc0MSwxMCBAQCB4dGVuc2FfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwKICAgICAgICAgIHsKICAJICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAg CSAgc3RydWN0IHR5cGUgKmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJn KSk7CkBAIC0xMjg3LDcgKzEzNDUsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L3h0ZW5zYS10ZGVwLmMKICAJICBzd2l0Y2ggKFRZUEVfQ09ERSAoYXJnX3R5cGUpKQogIAkgICAg ewogIAkgICAgY2FzZSBUWVBFX0NPREVfSU5UOgotQEAgLTE4MTksOCArMTgxOSw4IEBACitAQCAt MTgxNCw4ICsxODE0LDggQEAgeHRlbnNhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsCiAgCSAgaW5mby0+YWxpZ24gPSBUWVBFX0xFTkdUSCAoYnVpbHRpbl90eXBlIChn ZGJhcmNoKS0+YnVpbHRpbl9sb25nKTsKICAJICBicmVhazsKICAJfQpAQCAtMTI5Nyw3ICsxMzU1 LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi94dGVuc2EtdGRlcC5jCiAgCiAg ICAgICAgLyogQWxpZ24gc2l6ZSBhbmQgb25zdGFja19zaXplLiAgKi8KICAgICAgICBzaXplID0g KHNpemUgKyBpbmZvLT5hbGlnbiAtIDEpICYgfihpbmZvLT5hbGlnbiAtIDEpOwotQEAgLTE4NjUs NyArMTg2NSw3IEBACitAQCAtMTg2MCw3ICsxODYwLDcgQEAgeHRlbnNhX3B1c2hfZHVtbXlfY2Fs bCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgCiAgICAgICAgaWYgKGluZm8tPm9uc3RhY2sp CiAgCXsKQEAgLTEzMDYsNyArMTM2NCw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9n ZGIveHRlbnNhLXRkZXAuYwogIAkgIENPUkVfQUREUiBvZmZzZXQgPSBzcCArIGluZm8tPnUub2Zm c2V0OwogIAogIAkgIC8qIE9kZC1zaXplZCBzdHJ1Y3RzIGFyZSBhbGlnbmVkIHRvIHRoZSBsb3dl ciBzaWRlIG9mIGEgbWVtb3J5Ci1AQCAtMTg4MSw3ICsxODgxLDcgQEAKK0BAIC0xODc2LDcgKzE4 NzYsNyBAQCB4dGVuc2FfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwK ICAJfQogICAgICAgIGVsc2UKICAJewpAQCAtMTMxNSwzICsxMzczLDYgQEAgSW5kZXg6IGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi94dGVuc2EtdGRlcC5jCiAgCSAgY29uc3QgYmZkX2J5dGUgKmNw ID0gaW5mby0+Y29udGVudHM7CiAgCSAgaW50IHIgPSBpbmZvLT51LnJlZ25vOwogIAorLS0gCisy LjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUtdGVzdC5w YXRjaCBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUtdGVzdC5wYXRjaAppbmRleCAzZTRm YjIzLi5jNWI2ODNiIDEwMDY0NAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LXRl c3QucGF0Y2gKKysrIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTI1b2YyNS10ZXN0LnBhdGNoCkBA IC0xLDExICsxLDE1IEBACitGcm9tIDI0ZTE2ZDQzNmM5YWNmYTQ0MTA2ZjgzZGM0MzU5ZjMzYWUz NmIzN2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMg PGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIw MAotU3ViamVjdDogUmU6IFtQQVRDSF0gRXhwYW5kIGZvcnRyYW4gYXJyYXkgYm91bmRzIHNpemVz IHRvIExPTkdFU1QKK1N1YmplY3Q6IEV4cGFuZCBmb3J0cmFuIGFycmF5IGJvdW5kcyBzaXplcyB0 byBMT05HRVNUCiAKIEZpbGVOYW1lOiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LXRlc3Qu cGF0Y2gKIAotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMTAvbXNn MDAyMzEuaHRtbAorOzsgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3Nl IG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKKzs7IChSSCBCWiA3OTU0MjQpLgorOzs9cHVz aAogCitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0xMC9tc2cwMDIz MS5odG1sCiAKIE9uIE1vbiwgMTUgT2N0IDIwMTIgMTU6MjU6NTUgKzAyMDAsIEphbiBLcmF0b2No dmlsIHdyb3RlOgogPiBJIGhhdmUgZmlsZWQgZm9yIGl0IG5vdzoKQEAgLTE1LDkxICsxOSwyOSBA QCBPbiBNb24sIDE1IE9jdCAyMDEyIDE1OjI1OjU1ICswMjAwLCBKYW4gS3JhdG9jaHZpbCB3cm90 ZToKIFRoZXJlZm9yZSBpdCBsb29rcyBhcyBhIHZhbGlkIGdmb3J0cmFuIEZTRiBHQ0MgSEVBRCBi dWcgc28gcHJvdmlkZWQKIGEgaGFuZC1wYXRjaGVkIC5TIGZpbGUgZm9yIGkzODY7IHBhdGNoZWQg R0RCIFBBU1NlcyB3aXRoIGl0LgogCi0KIFRoYW5rcywKIEphbgogCi0KIDIwMTItMTAtMTUgIFNp ZGRoZXNoIFBveWFyZWthciAgPHNpZGRoZXNoQHJlZGhhdC5jb20+CiAJICAgIEphbiBLcmF0b2No dmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIAogCSogZ2RiLmZvcnRyYW4vYXJyYXkt Ym91bmRzLmV4cDogTmV3IHRlc3QgZmlsZS4KIAkqIGdkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5m OiBOZXcgdGVzdCBmaWxlLgogCSogZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLlM6IE5ldyB0ZXN0 IGZpbGUuCistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5TICAg fCA1MjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2FycmF5LWJvdW5kcy5leHAgfCAgNDMgKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9hcnJheS1ib3VuZHMuZiAgIHwgIDIyICsrCisgMyBmaWxlcyBjaGFuZ2VkLCA1OTQgaW5z ZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2FycmF5LWJvdW5kcy5TCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vYXJyYXktYm91bmRzLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5mCiAKLS0tLSAvZGV2L251bGwJMjAxMi0wOS0yNiAx NTozMjoxNi4wOTg1MDYzMTAgKzAyMDAKLSsrKyBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vYXJyYXktYm91bmRzLmV4cAkyMDEyLTEwLTE1IDIwOjUzOjI2LjQyNzA3MjU4MyArMDIw MAotQEAgLTAsMCArMSw0MyBAQAotKyMgQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCi0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMKLSsjIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAotKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKLSsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCi0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotKyMgVGhp cyBmaWxlIGlzIHBhcnQgb2YgdGhlIGdkYiB0ZXN0c3VpdGUuICBJdCBjb250YWlucyB0ZXN0IHRv IGVuc3VyZSB0aGF0Ci0rIyBhcnJheSBib3VuZHMgYWNjZXB0IExPTkdFU1QuCi0rCi0raWYgeyBb c2tpcF9mb3J0cmFuX3Rlc3RzXSB9IHsgcmV0dXJuIC0xIH0KLSsKLStzZXQgdGVzdGZpbGUgImFy cmF5LWJvdW5kcyIKLSsKLStpZiB7IFtpc19pbHAzMl90YXJnZXRdICYmIChbaXN0YXJnZXQgImlc WzM0NTY3XF04Ni0qLWxpbnV4KiJdCi0rCQkJICAgfHwgW2lzdGFyZ2V0ICJ4ODZfNjQtKi1saW51 eCoiXSkgfSB7Ci0rICAgIHNldCBzcmNmaWxlICR7dGVzdGZpbGV9LlMKLSsgICAgc2V0IG9wdHMg e25vZGVidWcgZjkwfQotK30gZWxzZSB7Ci0rICAgIHNldCBzcmNmaWxlICR7dGVzdGZpbGV9LmYK LSsgICAgc2V0IG9wdHMge2RlYnVnIGY5MH0KLSt9Ci0rCi0raWYge1twcmVwYXJlX2Zvcl90ZXN0 aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlICRvcHRzXX0gewotKyAgICBwcmlu dCAiY29tcGlsZSBmYWlsZWQiCi0rICAgIHJldHVybiAtMQotK30KLSsKLStpZiB7ICFbcnVudG8g TUFJTl9fXSB9IHsKLSsgICAgcGVycm9yICJDb3VsZCBub3QgcnVuIHRvIGJyZWFrcG9pbnQgYE1B SU5fXycuIgotKyAgICBjb250aW51ZQotK30KLSsKLStnZGJfdGVzdCAicHJpbnQgJmZvbyIgey4q XCg0Mjk0OTY3Mjk2OjQyOTQ5NjcyOTdcKS4qfQotK2dkYl90ZXN0ICJwcmludCAmYmFyIiB7Lipc KC00Mjk0OTY3Mjk3Oi00Mjk0OTY3Mjk2XCkuKn0KLS0tLSAvZGV2L251bGwJMjAxMi0wOS0yNiAx NTozMjoxNi4wOTg1MDYzMTAgKzAyMDAKLSsrKyBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vYXJyYXktYm91bmRzLmYJMjAxMi0xMC0xNSAxOTozNToxMi41MDAyNTQyNjEgKzAyMDAK LUBAIC0wLDAgKzEsMjIgQEAKLStjIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgotKwotK2MgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLStjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rYyB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv cgotK2MgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLStjCi0rYyBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK LStjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCi0rYyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCi0rYyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgotK2MKLStjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rYyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSsKLSsgICAgICAg IGRpbWVuc2lvbiBmb28oNDI5NDk2NzI5Nl84OjQyOTQ5NjcyOTdfOCkKLSsgICAgICAgIGRpbWVu c2lvbiBiYXIoLTQyOTQ5NjcyOTdfODotNDI5NDk2NzI5Nl84KQotKyAgICAgICAgYmFyID0gNDIK LSsgICAgICAgIGZvbz1iYXIKLSsgICAgICAgIHN0b3AKLSsgICAgICAgIGVuZAotKwotLS0tIC9k ZXYvbnVsbAkyMDEyLTA5LTI2IDE1OjMyOjE2LjA5ODUwNjMxMCArMDIwMAotKysrIGdkYi03LjIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuUwkyMDEyLTEwLTE1IDIwOjUy OjM2Ljg1MTExODIxNSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vYXJyYXktYm91bmRzLlMgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5k cy5TCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNDYzYTQyNzY1MAor LS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3Vu ZHMuUwogQEAgLTAsMCArMSw1MjkgQEAKICsvKiBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTYzMCw0ICs1NzIsODMgQEAgSmFuCiArCS5zdHJpbmcJ ImFyZ3YiCiArCS5pZGVudAkiR0NDOiAoR05VKSA0LjguMCAyMDEyMTAxNSAoZXhwZXJpbWVudGFs KSIKICsJLnNlY3Rpb24JLm5vdGUuR05VLXN0YWNrLCIiLEBwcm9nYml0cworZGlmZiAtLWdpdCBh L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLmJhMGViZTEzYjgKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmV4cAorQEAgLTAsMCArMSw0MyBAQAorKyMg Q29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysj IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIGdk YiB0ZXN0c3VpdGUuICBJdCBjb250YWlucyB0ZXN0IHRvIGVuc3VyZSB0aGF0CisrIyBhcnJheSBi b3VuZHMgYWNjZXB0IExPTkdFU1QuCisrCisraWYgeyBbc2tpcF9mb3J0cmFuX3Rlc3RzXSB9IHsg cmV0dXJuIC0xIH0KKysKKytzZXQgdGVzdGZpbGUgImFycmF5LWJvdW5kcyIKKysKKytpZiB7IFtp c19pbHAzMl90YXJnZXRdICYmIChbaXN0YXJnZXQgImlcWzM0NTY3XF04Ni0qLWxpbnV4KiJdCisr CQkJICAgfHwgW2lzdGFyZ2V0ICJ4ODZfNjQtKi1saW51eCoiXSkgfSB7CisrICAgIHNldCBzcmNm aWxlICR7dGVzdGZpbGV9LlMKKysgICAgc2V0IG9wdHMge25vZGVidWcgZjkwfQorK30gZWxzZSB7 CisrICAgIHNldCBzcmNmaWxlICR7dGVzdGZpbGV9LmYKKysgICAgc2V0IG9wdHMge2RlYnVnIGY5 MH0KKyt9CisrCisraWYge1twcmVwYXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZS5leHAgJHRlc3Rm aWxlICRzcmNmaWxlICRvcHRzXX0geworKyAgICBwcmludCAiY29tcGlsZSBmYWlsZWQiCisrICAg IHJldHVybiAtMQorK30KKysKKytpZiB7ICFbcnVudG8gTUFJTl9fXSB9IHsKKysgICAgcGVycm9y ICJDb3VsZCBub3QgcnVuIHRvIGJyZWFrcG9pbnQgYE1BSU5fXycuIgorKyAgICBjb250aW51ZQor K30KKysKKytnZGJfdGVzdCAicHJpbnQgJmZvbyIgey4qXCg0Mjk0OTY3Mjk2OjQyOTQ5NjcyOTdc KS4qfQorK2dkYl90ZXN0ICJwcmludCAmYmFyIiB7LipcKC00Mjk0OTY3Mjk3Oi00Mjk0OTY3Mjk2 XCkuKn0KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5k cy5mIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZgorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjc4YjM2ZTZjMjcKKy0tLSAvZGV2L251bGwK KysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmYKK0BAIC0wLDAg KzEsMjIgQEAKKytjIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorKworK2MgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKKytjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrYyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorK2MgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKytjCisrYyBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKytjIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisrYyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCisrYyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorK2MKKytjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCisrYyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKysgICAgICAgIGRpbWVuc2lv biBmb28oNDI5NDk2NzI5Nl84OjQyOTQ5NjcyOTdfOCkKKysgICAgICAgIGRpbWVuc2lvbiBiYXIo LTQyOTQ5NjcyOTdfODotNDI5NDk2NzI5Nl84KQorKyAgICAgICAgYmFyID0gNDIKKysgICAgICAg IGZvbz1iYXIKKysgICAgICAgIHN0b3AKKysgICAgICAgIGVuZAorKworLS0gCisyLjE0LjMKIAoK ZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUucGF0Y2ggYi9nZGItcmhi ejc5NTQyNC1iaXRwb3MtMjVvZjI1LnBhdGNoCmluZGV4IDc4MjA2NmMuLjNlMzA3NmIgMTAwNjQ0 Ci0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUucGF0Y2gKKysrIGIvZ2RiLXJoYno3 OTU0MjQtYml0cG9zLTI1b2YyNS5wYXRjaApAQCAtMSwxMiArMSwxNSBAQAorRnJvbSBmNDg3ZjUx OWZhNTk2NWY0MDA0OWU4MDJjNTBiY2ViMzIxMTUzYmUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZy aSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gRXhwYW5kIGZv cnRyYW4gYXJyYXkgYm91bmRzIHNpemVzIHRvIExPTkdFU1QKK1N1YmplY3Q6IEV4cGFuZCBmb3J0 cmFuIGFycmF5IGJvdW5kcyBzaXplcyB0byBMT05HRVNUCiAKIEZpbGVOYW1lOiBnZGItcmhiejc5 NTQyNC1iaXRwb3MtMjVvZjI1LnBhdGNoCiAKLWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGIt cGF0Y2hlcy8yMDEyLTA4L21zZzAwNTYyLmh0bWwKLQorOzsgRml4IGBHREIgY2Fubm90IGFjY2Vz cyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKKzs7IChS SCBCWiA3OTU0MjQpLgorOzs9cHVzaAogCitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBh dGNoZXMvMjAxMi0wOC9tc2cwMDU2Mi5odG1sCiAKIC0tTVBfLzkwSjdiY2syZnFEeVNFWDlKa1p0 YXFMCiBDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVMtQVNDSUkKQEAgLTUyLDEy ICs1NSwxNyBAQCB0ZXN0c3VpdGUvQ2hhbmdlTG9nOgogQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0 Y2gKIENvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKIENvbnRlbnQtRGlzcG9zaXRpb246 IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPWY3Ny1ib3VuZHMucGF0Y2gKKy0tLQorIGdkYi9mLWxhbmcu aCAgICAgIHwgIDQgKystLQorIGdkYi9mLXR5cGVwcmludC5jIHwgMTAgKysrKystLS0tLQorIGdk Yi9mLXZhbHByaW50LmMgIHwgIDQgKystLQorIDMgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25z KCspLCA5IGRlbGV0aW9ucygtKQogCi1JbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA5MDcvZ2RiL2Yt bGFuZy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA5MDcub3JpZy9nZGIvZi1s YW5nLmgJMjAxNi0wOS0wNyAyMTo0ODozMy4zMDg2MjQwMTkgKzAyMDAKLSsrKyBnZGItNy4xMS45 MC4yMDE2MDkwNy9nZGIvZi1sYW5nLmgJMjAxNi0wOS0wNyAyMTo0ODo0MC45Njc2OTI0NjkgKzAy MDAKLUBAIC00OSw5ICs0OSw5IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2YtbGFuZy5oIGIvZ2RiL2Yt bGFuZy5oCitpbmRleCBmYjAwZjM3NDg2Li42MjVhZjk2ZTE2IDEwMDY0NAorLS0tIGEvZ2RiL2Yt bGFuZy5oCisrKysgYi9nZGIvZi1sYW5nLmgKK0BAIC00OSw5ICs0OSw5IEBAIHN0cnVjdCBjb21t b25fYmxvY2sKICAgIHN0cnVjdCBzeW1ib2wgKmNvbnRlbnRzWzFdOwogIH07CiAgCkBAIC02OSwx MSArNzcsMTEgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi9mLWxhbmcuaAogIAog IGV4dGVybiB2b2lkIGY3N19nZXRfZHluYW1pY19hcnJheV9sZW5ndGggKHN0cnVjdCB0eXBlICop OwogIAotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi9mLXR5cGVwcmludC5jCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA5MDcub3JpZy9nZGIvZi10eXBlcHJpbnQuYwky MDE2LTA5LTA3IDIxOjQ4OjMzLjMwOTYyNDAyOCArMDIwMAotKysrIGdkYi03LjExLjkwLjIwMTYw OTA3L2dkYi9mLXR5cGVwcmludC5jCTIwMTYtMDktMDcgMjE6NDg6NDAuOTY3NjkyNDY5ICswMjAw Ci1AQCAtMTQ3LDcgKzE0Nyw3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2YtdHlwZXByaW50LmMgYi9n ZGIvZi10eXBlcHJpbnQuYworaW5kZXggZGNjZGZlNzljNi4uNDE4NjkzZWFiYSAxMDA2NDQKKy0t LSBhL2dkYi9mLXR5cGVwcmludC5jCisrKysgYi9nZGIvZi10eXBlcHJpbnQuYworQEAgLTE0OSw3 ICsxNDksNyBAQCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBl LCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogIAkJCSAgICAgaW50IHNob3csIGludCBwYXNzZWRf YV9wdHIsIGludCBkZW1hbmdsZWRfYXJncywKICAJCQkgICAgIGludCBhcnJheXByaW50X3JlY3Vy c2VfbGV2ZWwsIGludCBwcmludF9yYW5rX29ubHkpCiAgewpAQCAtODIsNyArOTAsNyBAQCBJbmRl eDogZ2RiLTcuMTEuOTAuMjAxNjA5MDcvZ2RiL2YtdHlwZXByaW50LmMKICAKICAgIC8qIE5vIHN0 YXRpYyB2YXJpYWJsZXMgYXJlIHBlcm1pdHRlZCBhcyBhbiBlcnJvciBjYWxsIG1heSBvY2N1ciBk dXJpbmcKICAgICAgIGV4ZWN1dGlvbiBvZiB0aGlzIGZ1bmN0aW9uLiAgKi8KLUBAIC0xOTQsNyAr MTk0LDcgQEAKK0BAIC0xOTYsNyArMTk2LDcgQEAgZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4 IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKICAJewogIAkgIGxv d2VyX2JvdW5kID0gZjc3X2dldF9sb3dlcmJvdW5kICh0eXBlKTsKICAJICBpZiAobG93ZXJfYm91 bmQgIT0gMSkJLyogTm90IHRoZSBkZWZhdWx0LiAgKi8KQEAgLTkxLDcgKzk5LDcgQEAgSW5kZXg6 IGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi9mLXR5cGVwcmludC5jCiAgCiAgCSAgLyogTWFrZSBz dXJlIHRoYXQsIGlmIHdlIGhhdmUgYW4gYXNzdW1lZCBzaXplIGFycmF5LCB3ZQogIAkgICAgICAg cHJpbnQgb3V0IGEgd2FybmluZyBhbmQgcHJpbnQgdGhlIHVwcGVyYm91bmQgYXMgJyonLiAgKi8K LUBAIC0yMDQsNyArMjA0LDcgQEAKK0BAIC0yMDYsNyArMjA2LDcgQEAgZl90eXBlX3ByaW50X3Zh cnNwZWNfc3VmZml4IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwK ICAJICBlbHNlCiAgCSAgICB7CiAgCSAgICAgIHVwcGVyX2JvdW5kID0gZjc3X2dldF91cHBlcmJv dW5kICh0eXBlKTsKQEAgLTEwMCw3ICsxMDgsNyBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA5 MDcvZ2RiL2YtdHlwZXByaW50LmMKICAJICAgIH0KICAJfQogIAotQEAgLTI3Niw3ICsyNzYsNyBA QAorQEAgLTI3OCw3ICsyNzgsNyBAQCB2b2lkCiAgZl90eXBlX3ByaW50X2Jhc2UgKHN0cnVjdCB0 eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgc2hvdywKICAJCSAgIGludCBs ZXZlbCkKICB7CkBAIC0xMDksNyArMTE3LDcgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwOTA3 L2dkYi9mLXR5cGVwcmludC5jCiAgICBpbnQgaW5kZXg7CiAgCiAgICBRVUlUOwotQEAgLTM1OCw3 ICszNTgsNyBAQAorQEAgLTM2NSw3ICszNjUsNyBAQCBmX3R5cGVfcHJpbnRfYmFzZSAoc3RydWN0 IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCBzaG93LAogICAgICAgIGVs c2UKICAJewogIAkgIHVwcGVyX2JvdW5kID0gZjc3X2dldF91cHBlcmJvdW5kICh0eXBlKTsKQEAg LTExOCwxMSArMTI2LDExIEBAIEluZGV4OiBnZGItNy4xMS45MC4yMDE2MDkwNy9nZGIvZi10eXBl cHJpbnQuYwogIAl9CiAgICAgICAgYnJlYWs7CiAgCi1JbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA5 MDcvZ2RiL2YtdmFscHJpbnQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjExLjkwLjIwMTYwOTA3 Lm9yaWcvZ2RiL2YtdmFscHJpbnQuYwkyMDE2LTA5LTA3IDIxOjQ4OjMzLjMwOTYyNDAyOCArMDIw MAotKysrIGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi9mLXZhbHByaW50LmMJMjAxNi0wOS0wNyAy MTo0ODo0MC45Njc2OTI0NjkgKzAyMDAKLUBAIC00Myw3ICs0Myw3IEBACitkaWZmIC0tZ2l0IGEv Z2RiL2YtdmFscHJpbnQuYyBiL2dkYi9mLXZhbHByaW50LmMKK2luZGV4IDRjZTc4YjFkNTIuLjEw YzU3NGM3ZmEgMTAwNjQ0CistLS0gYS9nZGIvZi12YWxwcmludC5jCisrKysgYi9nZGIvZi12YWxw cmludC5jCitAQCAtNDEsNyArNDEsNyBAQCBMT05HRVNUIGY3N19hcnJheV9vZmZzZXRfdGJsW01B WF9GT1JUUkFOX0RJTVMgKyAxXVsyXTsKICAvKiBBcnJheSB3aGljaCBob2xkcyBvZmZzZXRzIHRv IGJlIGFwcGxpZWQgdG8gZ2V0IGEgcm93J3MgZWxlbWVudHMKICAgICBmb3IgYSBnaXZlbiBhcnJh eS4gIEFycmF5IGFsc28gaG9sZHMgdGhlIHNpemUgb2YgZWFjaCBzdWJhcnJheS4gICovCiAgCkBA IC0xMzEsNyArMTM5LDcgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwOTA3L2dkYi9mLXZhbHBy aW50LmMKICBmNzdfZ2V0X2xvd2VyYm91bmQgKHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIGlm IChUWVBFX0FSUkFZX0xPV0VSX0JPVU5EX0lTX1VOREVGSU5FRCAodHlwZSkpCi1AQCAtNTIsNyAr NTIsNyBAQAorQEAgLTUwLDcgKzUwLDcgQEAgZjc3X2dldF9sb3dlcmJvdW5kIChzdHJ1Y3QgdHlw ZSAqdHlwZSkKICAgIHJldHVybiBUWVBFX0FSUkFZX0xPV0VSX0JPVU5EX1ZBTFVFICh0eXBlKTsK ICB9CiAgCkBAIC0xNDAsMyArMTQ4LDYgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwOTA3L2dk Yi9mLXZhbHByaW50LmMKICBmNzdfZ2V0X3VwcGVyYm91bmQgKHN0cnVjdCB0eXBlICp0eXBlKQog IHsKICAgIGlmIChUWVBFX0FSUkFZX1VQUEVSX0JPVU5EX0lTX1VOREVGSU5FRCAodHlwZSkpCist LSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLWxhenl2YWx1 ZS5wYXRjaCBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy1sYXp5dmFsdWUucGF0Y2gKaW5kZXggMGZk MDE2Mi4uZDZmNGVjNiAxMDA2NDQKLS0tIGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLWxhenl2YWx1 ZS5wYXRjaAorKysgYi9nZGItcmhiejc5NTQyNC1iaXRwb3MtbGF6eXZhbHVlLnBhdGNoCkBAIC0x LDExMCArMSwyOSBAQAorRnJvbSA1NzlmZDA5YjQyMjNkMWEzYTA1NTczZDdkMzhkZGFlZmI0YzAx YTg3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxp bnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAK IFN1YmplY3Q6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy1sYXp5dmFsdWUucGF0Y2gKIAogRmlsZU5h bWU6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy1sYXp5dmFsdWUucGF0Y2gKIAotSW5kZXg6IGdkYi03 LjExLjUwLjIwMTYwNjMwL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJp dC5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuZXhwCTIwMTYtMDctMDMgMTU6MDA6NTcuNjE3MzQ3ODUw ICswMjAwCi1AQCAtMCwwICsxLDU5IEBACi0rIyBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RC LCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyMgQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCi0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMKLSsjIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAotKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKLSsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCi0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotK3N0 YW5kYXJkX3Rlc3RmaWxlIC5jIGxvbmdlc3QtdHlwZXMtNjRiaXQuUwotKwotK3Byb2MgdGVzdCB7 IG5hbWUgfSB7IHdpdGhfdGVzdF9wcmVmaXggJG5hbWUgewotKyAgICAjIDY0LWJpdCBhcnJheSBz aXplIHNob3VsZCBub3Qgb3ZlcmZsb3cKLSsgICAgZ2RiX3Rlc3QgInByaW50ICZmLT5idWYiIHs9 IFwoY2hhciBcKFwqXClcWzEwOTk0OTQ4NTA1NjBcXVwpIDB4MH0KLSsKLSsgICAgIyBUaGUgb2Zm c2V0IHNob3VsZCBub3Qgb3ZlcmZsb3cKLSsgICAgZ2RiX3Rlc3QgInByaW50ICZmLT5idWYyIiB7 PSBcKGNoYXIgXChcKlwpXFsyXF1cKSAweGZmZmYwMDAwMDB9Ci0rfX0KLSsKLSsKLSsjIFRlc3Qg NjQtYml0IGZpbGUgZmlyc3QgYXMgaXQgaXMgbm90IGNvbXBpbGVkIHNvIGl0cyBjb21waWxhdGlv biBuZXZlciBmYWlscy4KLSsKLStzZXQgZmlsZTY0Yml0YnoydXUgJHtzcmNkaXJ9LyR7c3ViZGly fS8ke3Rlc3RmaWxlfS5iejIudXUKLStzZXQgZmlsZTY0Yml0IFtzdGFuZGFyZF9vdXRwdXRfZmls ZSAke3Rlc3RmaWxlfV0KLSsKLStpZiB7W2NhdGNoICJzeXN0ZW0gXCJ1dWRlY29kZSAtbyAtICR7 ZmlsZTY0Yml0YnoydXV9IHwgYnppcDIgLWRjID4ke2ZpbGU2NGJpdH1cIiJdICE9IDB9IHsKLSsg ICAgdW50ZXN0ZWQgImZhaWxlZCB1dWRlY29kZSBvciBiemlwMiIKLSsgICAgcmV0dXJuIC0xCi0r fQotK2ZpbGUgc3RhdCAke2ZpbGU2NGJpdH0gZmlsZTY0Yml0c3RhdAotK2lmIHskZmlsZTY0Yml0 c3RhdChzaXplKSAhPSA5NTAxfSB7Ci0rICAgIHVudGVzdGVkICJ1dWRlY29kZSBvciBiemlwMiBw cm9kdWNlIGludmFsaWQgcmVzdWx0IgotKyAgICByZXR1cm4gLTEKLSt9Ci0rCi0rY2xlYW5fcmVz dGFydCAke2ZpbGU2NGJpdH0KLSsKLSsjaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3Rm aWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHNyY2ZpbGUyIHtub2RlYnVnfV0gfSB7Ci0rIyAgICByZXR1 cm4gLTEKLSsjfQotKwotK3Rlc3QgIjY0Yml0IgotKwotKwotKyMgQW5kIGhlcmUgaXMgdGhlIG5h dGl2ZSBidWlsZCB0ZXN0LgotKwotK2lmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0Zmls ZX0uZXhwICR7dGVzdGZpbGV9ICRzcmNmaWxlIHtkZWJ1ZyBxdWlldH1dIH0gewotKyAgICByZXR1 cm4gLTEKLSt9Ci0rCi0rdGVzdCAibmF0aXZlIgotSW5kZXg6IGdkYi03LjExLjUwLjIwMTYwNjMw L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5jCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVz LTY0Yml0LmMJMjAxNi0wNy0wMyAxNTowMDo1Ny42MTgzNDc4NTkgKzAyMDAKLUBAIC0wLDAgKzEs MjggQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2Vy LgotKwotKyAgIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgot KwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLStzdHJ1Y3Qg Zm9vCi0rewotKyAgY2hhciBidWZbMHhmZmZmMDAwMDAwXTsKLSsgIGNoYXIgYnVmMlsyXTsKLSt9 ICpmOwotKwotK2ludAotK21haW4gKHZvaWQpCi0rewotKyAgcmV0dXJuIDA7Ci0rfQotSW5kZXg6 IGdkYi03LjExLjUwLjIwMTYwNjMwL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBl cy02NGJpdC5TCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEuNTAuMjAxNjA2MzAvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LlMJMjAxNi0wNy0wMyAxNTowMDo1Ny42MTgzNDc4 NTkgKzAyMDAKKzs7IEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBv ZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCis7OyAoUkggQlogNzk1NDI0KS4KKzs7PXB1c2gK Ky0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5TICAgICAg fCAyNDkgKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9u Z2VzdC10eXBlcy02NGJpdC5iejIudXUgfCAgNjcgKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmMgICAgICB8ICAyOCArKysKKyBnZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuZXhwICAgIHwgIDU5ICsrKysrCisgNCBmaWxl cyBjaGFuZ2VkLCA0MDMgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuUworIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuYnoyLnV1CisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJp dC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10 eXBlcy02NGJpdC5leHAKKworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9u Z2VzdC10eXBlcy02NGJpdC5TIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVz LTY0Yml0LlMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4zMzZkM2Zk YjdhCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3Qt dHlwZXMtNjRiaXQuUwogQEAgLTAsMCArMSwyNDkgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMzU1LDEwICsyNzQsMTEgQEAgSW5k ZXg6IGdkYi03LjExLjUwLjIwMTYwNjMwL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10 eXBlcy02NGJpdC5TCiArCS5zdHJpbmcJImNoYXIiCiArCS5pZGVudAkiR0NDOiAoR05VKSA0Ljcu MyAyMDEyMTEwOSAocHJlcmVsZWFzZSkiCiArCS5zZWN0aW9uCS5ub3RlLkdOVS1zdGFjaywiIixA cHJvZ2JpdHMKLUluZGV4OiBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuYnoyLnV1Ci09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEuNTAuMjAx NjA2MzAvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmJ6Mi51dQky MDE2LTA3LTAzIDE1OjAwOjU3LjYxODM0Nzg1OSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5iejIudXUgYi9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuYnoyLnV1CituZXcgZmlsZSBtb2RlIDEwMDY0 NAoraW5kZXggMDAwMDAwMDAwMC4uNDAwN2RhMjkxNworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmJ6Mi51dQogQEAgLTAsMCAr MSw2NyBAQAogK2JlZ2luIDc1NSBnZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmJ6MgogK00w RUlILjMlITYyOTM2PCdOI09IYCJHL19fX19fX19fXl9fX19fXz9fWV9fX19fXy8vXTdTUUQ1J14v XyUKQEAgLTQyNywzICszNDcsMTA1IEBAIEluZGV4OiBnZGItNy4xMS41MC4yMDE2MDYzMC9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuYnoyLnV1CiArPzw1NSEyXjZf OEokKS1PPD5cSDBVLzZRXj5VRzAlVyklLiUiMFA+WC5eQGBgCiArYAogK2VuZAorZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5jIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmMKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwMDAwLi4xMzk0YzA4YmRjCistLS0gL2Rldi9udWxsCisrKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuYworQEAgLTAsMCArMSwy OCBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIu CisrCisrICAgQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisr CisrICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworK3N0cnVjdCBm b28KKyt7CisrICBjaGFyIGJ1ZlsweGZmZmYwMDAwMDBdOworKyAgY2hhciBidWYyWzJdOworK30g KmY7CisrCisraW50CisrbWFpbiAodm9pZCkKKyt7CisrICByZXR1cm4gMDsKKyt9CitkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5leHAKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi40ODcxZGVjNzJmCistLS0gL2Rldi9udWxsCisr KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuZXhwCitAQCAt MCwwICsxLDU5IEBACisrIyBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRl YnVnZ2VyLgorKworKyMgQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90 LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworK3N0YW5kYXJkX3Rlc3Rm aWxlIC5jIGxvbmdlc3QtdHlwZXMtNjRiaXQuUworKworK3Byb2MgdGVzdCB7IG5hbWUgfSB7IHdp dGhfdGVzdF9wcmVmaXggJG5hbWUgeworKyAgICAjIDY0LWJpdCBhcnJheSBzaXplIHNob3VsZCBu b3Qgb3ZlcmZsb3cKKysgICAgZ2RiX3Rlc3QgInByaW50ICZmLT5idWYiIHs9IFwoY2hhciBcKFwq XClcWzEwOTk0OTQ4NTA1NjBcXVwpIDB4MH0KKysKKysgICAgIyBUaGUgb2Zmc2V0IHNob3VsZCBu b3Qgb3ZlcmZsb3cKKysgICAgZ2RiX3Rlc3QgInByaW50ICZmLT5idWYyIiB7PSBcKGNoYXIgXChc KlwpXFsyXF1cKSAweGZmZmYwMDAwMDB9CisrfX0KKysKKysKKysjIFRlc3QgNjQtYml0IGZpbGUg Zmlyc3QgYXMgaXQgaXMgbm90IGNvbXBpbGVkIHNvIGl0cyBjb21waWxhdGlvbiBuZXZlciBmYWls cy4KKysKKytzZXQgZmlsZTY0Yml0YnoydXUgJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3Rlc3RmaWxl fS5iejIudXUKKytzZXQgZmlsZTY0Yml0IFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAke3Rlc3RmaWxl fV0KKysKKytpZiB7W2NhdGNoICJzeXN0ZW0gXCJ1dWRlY29kZSAtbyAtICR7ZmlsZTY0Yml0Ynoy dXV9IHwgYnppcDIgLWRjID4ke2ZpbGU2NGJpdH1cIiJdICE9IDB9IHsKKysgICAgdW50ZXN0ZWQg ImZhaWxlZCB1dWRlY29kZSBvciBiemlwMiIKKysgICAgcmV0dXJuIC0xCisrfQorK2ZpbGUgc3Rh dCAke2ZpbGU2NGJpdH0gZmlsZTY0Yml0c3RhdAorK2lmIHskZmlsZTY0Yml0c3RhdChzaXplKSAh PSA5NTAxfSB7CisrICAgIHVudGVzdGVkICJ1dWRlY29kZSBvciBiemlwMiBwcm9kdWNlIGludmFs aWQgcmVzdWx0IgorKyAgICByZXR1cm4gLTEKKyt9CisrCisrY2xlYW5fcmVzdGFydCAke2ZpbGU2 NGJpdH0KKysKKysjaWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0 ZXN0ZmlsZX0gJHNyY2ZpbGUyIHtub2RlYnVnfV0gfSB7CisrIyAgICByZXR1cm4gLTEKKysjfQor KworK3Rlc3QgIjY0Yml0IgorKworKworKyMgQW5kIGhlcmUgaXMgdGhlIG5hdGl2ZSBidWlsZCB0 ZXN0LgorKworK2lmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVz dGZpbGV9ICRzcmNmaWxlIHtkZWJ1ZyBxdWlldH1dIH0geworKyAgICByZXR1cm4gLTEKKyt9Cisr CisrdGVzdCAibmF0aXZlIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6OTQ3 NTY0LWZpbmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRjaCBiL2dkYi1y aGJ6OTQ3NTY0LWZpbmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRjaApp bmRleCBiZWEzN2MzLi5kNjBjZTFhIDEwMDY0NAotLS0gYS9nZGItcmhiejk0NzU2NC1maW5kdmFy LWFzc2VydGlvbi1mcmFtZS1mYWlsZWQtdGVzdGNhc2UucGF0Y2gKKysrIGIvZ2RiLXJoYno5NDc1 NjQtZmluZHZhci1hc3NlcnRpb24tZnJhbWUtZmFpbGVkLXRlc3RjYXNlLnBhdGNoCkBAIC0xLDEz ICsxLDI1IEBACitGcm9tIGQzMTQwMzE5MTRlM2ViMDljYmQ5ODMzZTNiNGY0MmYzZTQyOGJjOTIg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFs aWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3Vi amVjdDogZ2RiLXJoYno5NDc1NjQtZmluZHZhci1hc3NlcnRpb24tZnJhbWUtZmFpbGVkLXRlc3Rj YXNlLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItcmhiejk0NzU2NC1maW5kdmFyLWFzc2VydGlvbi1m cmFtZS1mYWlsZWQtdGVzdGNhc2UucGF0Y2gKIAotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjEx L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXJoYno5NDc1NjQuY2MKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1yaGJ6OTQ3 NTY0LmNjCTIwMTYtMDItMTUgMjM6Mzk6MjEuNzkxNDU4OTI3ICswMTAwCis7OyBJbXBvcnQgcmVn cmVzc2lvbiB0ZXN0IGZvciBgZ2RiL2ZpbmR2YXIuYzo0MTc6IGludGVybmFsLWVycm9yOgorOzsg cmVhZF92YXJfdmFsdWU6IEFzc2VydGlvbiBgZnJhbWUnIGZhaWxlZC4nIChSSCBCWiA5NDc1NjQp IGZyb20gUkhFTCA2LjUuCis7Oz1mZWRvcmF0ZXN0CistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi50 aHJlYWRzL3Rscy1yaGJ6OTQ3NTY0LmNjICB8IDUzICsrKysrKysrKysrKysrKysrKysrCisgZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtcmhiejk0NzU2NC5leHAgfCA3NSArKysrKysrKysr KysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAxMjggaW5zZXJ0aW9ucygrKQor IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1yaGJ6OTQ3 NTY0LmNjCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxz LXJoYno5NDc1NjQuZXhwCisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRz L3Rscy1yaGJ6OTQ3NTY0LmNjIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtcmhiejk0 NzU2NC5jYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmVmYjI1YWI5 MjYKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvdGxzLXJo Yno5NDc1NjQuY2MKIEBAIC0wLDAgKzEsNTMgQEAKICsjaW5jbHVkZSA8aW9zdHJlYW0+CiArI2lu Y2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYyLDEwICs3NCwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAu MjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtcmhiejk0NzU2NC5jYwogKwog KyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3Vp dGUvZ2RiLnRocmVhZHMvdGxzLXJoYno5NDc1NjQuZXhwCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuOTAu MjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtcmhiejk0NzU2NC5leHAJMjAx Ni0wMi0xNSAyMzozOTozMC4wMjk1MTc0MTggKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL3Rscy1yaGJ6OTQ3NTY0LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvdGxzLXJoYno5NDc1NjQuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMDAwMC4uZTgxMTJlOTY1ZAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy90bHMtcmhiejk0NzU2NC5leHAKIEBAIC0wLDAgKzEsNzUgQEAKICsjIENvcHly aWdodCAoQykgMjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE0Miwz ICsxNTUsNiBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIu dGhyZWFkcy90bHMtcmhiejk0NzU2NC5leHAKICt9IGVsc2UgewogKyAgICBmYWlsICJkaWZmZXJl bnQgdmFsdWVzIGZvciBUTFMgdmFyaWFibGUiCiArfQorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdp dCBhL2dkYi1yaGVsNS45LXRlc3RjYXNlLXhsZi12YXItaW5zaWRlLW1vZC5wYXRjaCBiL2dkYi1y aGVsNS45LXRlc3RjYXNlLXhsZi12YXItaW5zaWRlLW1vZC5wYXRjaAppbmRleCBiZTY0MGU5Li42 NDYzYzFmIDEwMDY0NAotLS0gYS9nZGItcmhlbDUuOS10ZXN0Y2FzZS14bGYtdmFyLWluc2lkZS1t b2QucGF0Y2gKKysrIGIvZ2RiLXJoZWw1LjktdGVzdGNhc2UteGxmLXZhci1pbnNpZGUtbW9kLnBh dGNoCkBAIC0xLDE0ICsxLDI2IEBACitGcm9tIDk5OGFhZGUzN2U3ZThmZmFmNjA1MDNlMmZhMWI0 NTczYTFkNDY5NTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBh dGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1 MCArMDIwMAogU3ViamVjdDogZ2RiLXJoZWw1LjktdGVzdGNhc2UteGxmLXZhci1pbnNpZGUtbW9k LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItcmhlbDUuOS10ZXN0Y2FzZS14bGYtdmFyLWluc2lkZS1t b2QucGF0Y2gKIAorOzsgSW5jbHVkZSB0ZXN0Y2FzZSBmb3IgYFVuYWJsZSB0byBzZWUgYSB2YXJp YWJsZSBpbnNpZGUgYSBtb2R1bGUgKFhMRiknIChCWiA4MjM3ODkpLgorOzs9ZmVkb3JhdGVzdAor LS0tCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi94bGYtdmFyaWFibGUuUyAgIHwgNjM4ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi94 bGYtdmFyaWFibGUuZXhwIHwgIDM3ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi94bGYt dmFyaWFibGUuZiAgIHwgIDMzICsrCisgMyBmaWxlcyBjaGFuZ2VkLCA3MDggaW5zZXJ0aW9ucygr KQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3hsZi12YXJp YWJsZS5TCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxm LXZhcmlhYmxlLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3hsZi12YXJpYWJsZS5mCiAKLUluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAzL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLlMKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2RpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3hsZi12YXJpYWJsZS5TIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi94bGYtdmFyaWFibGUuUworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAwMDAuLmU4MjZjODQ0YzcKIC0tLSAvZGV2L251bGwKLSsrKyBnZGItNy40LjUwLjIw MTIwNjAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLlMKKysrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLlMKIEBAIC0wLDAgKzEsNjM4IEBA CiArLyogQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtNjQ4LDEwICs2NjAsMTEgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDMvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi94bGYtdmFyaWFibGUuUwogKwkubG9uZyAweDAwMDAwMDAwCiAr CiArCS5jb21tICAgX19OX19tb2QxLDQsMTYKLUluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAzL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLmV4cAotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLmV4cAorbmV3IGZpbGUgbW9kZSAx MDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjA4NWRhMTI1NjcKIC0tLSAvZGV2L251bGwKLSsrKyBn ZGItNy40LjUwLjIwMTIwNjAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxl LmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi94bGYtdmFyaWFibGUuZXhwCiBA QCAtMCwwICsxLDM3IEBACiArIyBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICsKQEAgLTY5MCwxMCArNzAzLDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIw NjAzL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4veGxmLXZhcmlhYmxlLmV4cAogK2dkYl90ZXN0 ICJzdGVwIiAiLipudWxsaWZ5IFxcKHlcXCkuKiIgIm51bGxpZnkgKHkpIgogK2dkYl90ZXN0ICJw cmludCB6IiAiPSAzIiAieiA9IDMiCiArZ2RiX3Rlc3QgInB0eXBlIHoiICI9IFJFQUwiICJ6IGlz IFJFQUwiCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3hsZi12YXJpYWJsZS5mCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi94bGYtdmFyaWFibGUuZiBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v eGxmLXZhcmlhYmxlLmYKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi4w YjQ1OGY4YjBjCiAtLS0gL2Rldi9udWxsCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMy9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3hsZi12YXJpYWJsZS5mCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3hsZi12YXJpYWJsZS5mCiBAQCAtMCwwICsxLDMzIEBACiArYyBDb3B5cmlnaHQg MjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICtjCkBAIC03MjgsMyArNzQyLDYg QEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi94 bGYtdmFyaWFibGUuZgogKyAgICAgICAgdXNlIG1vZDEKICsgICAgICAgIGNhbGwgc3ViMQogKyAg ICAgICAgZW5kCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXJ1bnRlc3QtcGllLW92 ZXJyaWRlLnBhdGNoIGIvZ2RiLXJ1bnRlc3QtcGllLW92ZXJyaWRlLnBhdGNoCmluZGV4IDFiZGE1 YmIuLmJlZDVkNjkgMTAwNjQ0Ci0tLSBhL2dkYi1ydW50ZXN0LXBpZS1vdmVycmlkZS5wYXRjaAor KysgYi9nZGItcnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKQEAgLTEsOSArMSwxMiBAQAorRnJv bSA3NjUyOGRhYjZmNjk3MWYzNzUzNzI3YjJmY2E3YjllZDgzMjU4ODllIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4K IERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi1ydW50 ZXN0LXBpZS1vdmVycmlkZS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLXJ1bnRlc3QtcGllLW92ZXJy aWRlLnBhdGNoCiAKKzs7IEhhY2sgZm9yIHByb3BlciBQSUUgcnVuIG9mIHRoZSB0ZXN0c3VpdGUu Cis7Oz1mZWRvcmF0ZXN0CiAKIG1ha2UgY2hlY2svL3VuaXgvLWZQSUUvLXBpZSBSVU5URVNURkxB R1M9c29saWItZGlzcGxheS5leHAKIApAQCAtMjAsMTAgKzIzLDE1IEBAIG1ha2UgY2hlY2svL3Vu aXggUlVOVEVTVEZMQUdTPSdDQ19GT1JfVEFSR0VUPWdjY1wgLWZQSUNcIC1waWUgQ1hYX0ZPUl9U QVJHRVQ9ZysrCiAKIEJ1dCB0aGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0ZXN0c3VpdGUudW5peCBu b24tdW5pcXVlIHN1YmRpciBuYW1lIGFuZCBhbHNvCiBhIHByb2JsZW0gd2l0aCBtYWtlIC1qIHBh cmFsbGVsaXphdGlvbiBvZiB0aGUgdGVzdHN1aXRlLgotCi0tLS0gZ2RiLTcuMy41MC4yMDExMDcy Mi9nZGIvdGVzdHN1aXRlL2xpYi9mdXR1cmUuZXhwCTIwMTEtMTAtMTEgMTY6NDQ6MDUuMDAwMDAw MDAwICswMjAwCi0rKysgZ2RiLTcuMy41MC4yMDExMDcyMi9nZGIvdGVzdHN1aXRlL2xpYi9mdXR1 cmUuZXhwCTIwMTEtMTAtMTEgMTY6NDQ6MTAuMDAwMDAwMDAwICswMjAwCi1AQCAtNzcsNiArNzcs MTAgQEAgcHJvYyBnZGJfZGVmYXVsdF90YXJnZXRfY29tcGlsZSB7c291cmNlCistLS0KKyBnZGIv dGVzdHN1aXRlL2xpYi9mdXR1cmUuZXhwIHwgOCArKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0 IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2xpYi9mdXR1cmUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZnV0dXJlLmV4cAoraW5kZXgg YWVkMmNmZDQ3Ni4uMjQwZDIyNTNlYyAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvbGliL2Z1 dHVyZS5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvbGliL2Z1dHVyZS5leHAKK0BAIC0xODUsNiAr MTg1LDEwIEBAIHByb2MgZ2RiX2RlZmF1bHRfdGFyZ2V0X2NvbXBpbGUge3NvdXJjZSBkZXN0Zmls ZSB0eXBlIG9wdGlvbnN9IHsKICAgICAgc2V0IGxkZmxhZ3MgIiIKICAgICAgc2V0IGRlc3QgW3Rh cmdldF9pbmZvIG5hbWVdCiAgCkBAIC0zNCw3ICs0Miw3IEBAIGEgcHJvYmxlbSB3aXRoIG1ha2Ug LWogcGFyYWxsZWxpemF0aW9uIG9mIHRoZSB0ZXN0c3VpdGUuCiAgICAgIGlmIHtbaW5mbyBleGlz dHMgQ0ZMQUdTX0ZPUl9UQVJHRVRdfSB7CiAgCWFwcGVuZCBhZGRfZmxhZ3MgIiAkQ0ZMQUdTX0ZP Ul9UQVJHRVQiCiAgICAgIH0KLUBAIC0zMzMsMTAgKzMzNyw2IEBAIHByb2MgZ2RiX2RlZmF1bHRf dGFyZ2V0X2NvbXBpbGUge3NvdXJjZQorQEAgLTUxOSwxMCArNTIzLDYgQEAgcHJvYyBnZGJfZGVm YXVsdF90YXJnZXRfY29tcGlsZSB7c291cmNlIGRlc3RmaWxlIHR5cGUgb3B0aW9uc30gewogIAl9 CiAgICAgIH0KICAKQEAgLTQ1LDMgKzUzLDYgQEAgYSBwcm9ibGVtIHdpdGggbWFrZSAtaiBwYXJh bGxlbGl6YXRpb24gb2YgdGhlIHRlc3RzdWl0ZS4KICAgICAgdmVyYm9zZSAiZG9pbmcgY29tcGls ZSIKICAKICAgICAgc2V0IHNvdXJjZXMgIiIKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9n ZGItc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQtdGVzdC5wYXRjaCBiL2dkYi1z aW11bHRhbmVvdXMtc3RlcC1yZXN1bWUtYnJlYWtwb2ludC10ZXN0LnBhdGNoCmluZGV4IDIwNTI1 MWIuLjFmNWRhZmQgMTAwNjQ0Ci0tLSBhL2dkYi1zaW11bHRhbmVvdXMtc3RlcC1yZXN1bWUtYnJl YWtwb2ludC10ZXN0LnBhdGNoCisrKyBiL2dkYi1zaW11bHRhbmVvdXMtc3RlcC1yZXN1bWUtYnJl YWtwb2ludC10ZXN0LnBhdGNoCkBAIC0xLDg0ICsxLDI0IEBACitGcm9tIDkxYzI1MjE0NGYzYTQy NTZhYWFkNzQ3MzJiYjZmYTAxYWE2NGU2NDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9t OiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTogRnJpLCAyNyBP Y3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLXNpbXVsdGFuZW91cy1zdGVwLXJl c3VtZS1icmVha3BvaW50LXRlc3QucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi1zaW11bHRhbmVvdXMt c3RlcC1yZXN1bWUtYnJlYWtwb2ludC10ZXN0LnBhdGNoCiAKKzs7IE5ldyB0ZXN0IGZvciBzdGVw LXJlc3VtZSBicmVha3BvaW50IHBsYWNlZCBpbiBtdWx0aXBsZSB0aHJlYWRzIGF0IG9uY2UuCis7 Oz1mZWRvcmF0ZXN0CistLS0KKyAuLi4vc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9p bnQuYyAgICAgICAgICB8IDc5ICsrKysrKysrKysrKysrKysrKysrKysKKyAuLi4vc2ltdWx0YW5l b3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuZXhwICAgICAgICB8IDY1ICsrKysrKysrKysrKysr KysrKworIDIgZmlsZXMgY2hhbmdlZCwgMTQ0IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAx MDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9zaW11bHRhbmVvdXMtc3RlcC1yZXN1bWUt YnJlYWtwb2ludC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuZXhwCiAKLUluZGV4OiBnZGIt Ny4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3NpbXVsdGFuZW91cy1z dGVwLXJlc3VtZS1icmVha3BvaW50LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcw LTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjEx L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFr cG9pbnQuZXhwCTIwMTYtMDItMTUgMjM6Mzg6MjMuMzY2MDQ0MTAxICswMTAwCi1AQCAtMCwwICsx LDY1IEBACi0rIyBDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCi0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyMgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKLSsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCi0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90 LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsjIFRlc3QgbXVs dGlwbGUgdGhyZWFkcyBzdGVwcGluZyBpbnRvIGEgLmRlYnVnX2xpbmUtbGVzcyBmdW5jdGlvbiB3 aXRoCi0rIyBhIGJyZWFrcG9pbnQgcGxhY2VkIG9uIGl0cyByZXR1cm4tdG8tY2FsbGVyIHBvaW50 LgotKwotK3NldCB0ZXN0ZmlsZSBzaW11bHRhbmVvdXMtc3RlcC1yZXN1bWUtYnJlYWtwb2ludAot K3NldCBzcmNmaWxlICR7dGVzdGZpbGV9LmMKLStzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0 X2ZpbGUgJHt0ZXN0ZmlsZX1dCi0rCi0raWYge1tnZGJfY29tcGlsZV9wdGhyZWFkcyAiJHtzcmNk aXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSB7ZGVidWd9 XSAhPSAiIiB9IHsKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2dkYl9leGl0Ci0rZ2RiX3N0YXJ0 Ci0rZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGlyCi0rCi0rIyBFbnN1cmUgd2Ug aGF2ZSBubyBkZWJ1Z2luZm8gZm9yIHRoZSBgc2xlZXAnIGNhbGwgaXRzZWxmICg9Zm9yIGxpYmMp LgotK2dkYl90ZXN0ICJzZXQgZGVidWctZmlsZS1kaXJlY3RvcnkgL0RvZXNOb3RFeGlzdCIKLSsK LStnZGJfbG9hZCAke2JpbmZpbGV9Ci0raWYgIVtydW50b19tYWluXSB7Ci0rICAgcmV0dXJuIC0x Ci0rfQotKwotKyMgUmVkIEhhdCB2ZW5kb3IgcGF0Y2ggZG9lcyBzZXQgaXQgdG8gInN0ZXAiIGJ5 IGRlZmF1bHQuCi0rZ2RiX3Rlc3QgInNldCBzY2hlZHVsZXItbG9ja2luZyBvZmYiCi0rCi0rZ2Ri X2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgImZpbmFsLWV4aXQiXQotKwotK2dkYl9i cmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJzbGVlcC1jYWxsIl0KLStnZGJfY29udGlu dWVfdG9fYnJlYWtwb2ludCAic2xlZXAtY2FsbCIKLSsKLStnZGJfdGVzdCAic3RlcCIgInNsZWVw LWNhbGwuKiIgInN0ZXAgdGhyZWFkIDEiCi0rZ2RiX3Rlc3QgInN0ZXAiICJzbGVlcC1jYWxsLioi ICJzdGVwIHRocmVhZCAyIgotK2dkYl90ZXN0ICJzdGVwIiAic2xlZXAtYWZ0ZXIuKiIgInN0ZXAg dGhyZWFkIDMiCi0rCi0rc2V0IHRlc3QgImZpcnN0IGNvbnRpbnVlIgotK2dkYl90ZXN0X211bHRp cGxlICJjb250aW51ZSIgJHRlc3QgewotKyAgICAtcmUgImZpbmFsLWV4aXQuKiRnZGJfcHJvbXB0 ICQiIHsKLSsJIyBnZGItNy4wLgotKwlwYXNzICR0ZXN0Ci0rCXJldHVybgotKyAgICB9Ci0rICAg IC1yZSAic2xlZXAtYWZ0ZXIuKiRnZGJfcHJvbXB0ICQiIHsKLSsJIyBGZWRvcmEvUkhFTCBicmFu Y2guCi0rCXBhc3MgJHRlc3QKLSsgICAgfQotK30KLSsKLStnZGJfdGVzdCAiY29udGludWUiICJz bGVlcC1hZnRlci4qIiAic2Vjb25kIGNvbnRpbnVlIgotK2dkYl90ZXN0ICJjb250aW51ZSIgImZp bmFsLWV4aXQuKiIgInRoaXJkIGNvbnRpbnVlIgotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjEx L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFr cG9pbnQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuYwkyMDE2LTAyLTE1 IDIzOjM4OjE4LjI1NzAwNzgyNiArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuYyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLnRocmVhZHMvc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuYwor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjFmMzJiYmY4ODkKKy0tLSAv ZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc2ltdWx0YW5lb3VzLXN0 ZXAtcmVzdW1lLWJyZWFrcG9pbnQuYwogQEAgLTAsMCArMSw3OSBAQAogKy8qIENvcHlyaWdodCAy MDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTU5LDMgKzk5LDc3IEBA IEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3Np bXVsdGFuZW91cy1zdGVwLXJlc3VtZS1iCiArCiArICByZXR1cm4gMDsJLyogZmluYWwtZXhpdCAq LwogK30KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3NpbXVsdGFuZW91 cy1zdGVwLXJlc3VtZS1icmVha3BvaW50LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv c2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQuZXhwCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYWM1MTExYzVjZQorLS0tIC9kZXYvbnVsbAorKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9zaW11bHRhbmVvdXMtc3RlcC1yZXN1bWUtYnJlYWtw b2ludC5leHAKK0BAIC0wLDAgKzEsNjUgQEAKKysjIENvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisr IworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u ICAqLworKworKyMgVGVzdCBtdWx0aXBsZSB0aHJlYWRzIHN0ZXBwaW5nIGludG8gYSAuZGVidWdf bGluZS1sZXNzIGZ1bmN0aW9uIHdpdGgKKysjIGEgYnJlYWtwb2ludCBwbGFjZWQgb24gaXRzIHJl dHVybi10by1jYWxsZXIgcG9pbnQuCisrCisrc2V0IHRlc3RmaWxlIHNpbXVsdGFuZW91cy1zdGVw LXJlc3VtZS1icmVha3BvaW50Cisrc2V0IHNyY2ZpbGUgJHt0ZXN0ZmlsZX0uYworK3NldCBiaW5m aWxlIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAke3Rlc3RmaWxlfV0KKysKKytpZiB7W2dkYl9jb21w aWxlX3B0aHJlYWRzICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7c3JjZmlsZX0iICIke2JpbmZpbGV9 IiBleGVjdXRhYmxlIHtkZWJ1Z31dICE9ICIiIH0geworKyAgICByZXR1cm4gLTEKKyt9CisrCisr Z2RiX2V4aXQKKytnZGJfc3RhcnQKKytnZGJfcmVpbml0aWFsaXplX2RpciAkc3JjZGlyLyRzdWJk aXIKKysKKysjIEVuc3VyZSB3ZSBoYXZlIG5vIGRlYnVnaW5mbyBmb3IgdGhlIGBzbGVlcCcgY2Fs bCBpdHNlbGYgKD1mb3IgbGliYykuCisrZ2RiX3Rlc3QgInNldCBkZWJ1Zy1maWxlLWRpcmVjdG9y eSAvRG9lc05vdEV4aXN0IgorKworK2dkYl9sb2FkICR7YmluZmlsZX0KKytpZiAhW3J1bnRvX21h aW5dIHsKKysgICByZXR1cm4gLTEKKyt9CisrCisrIyBSZWQgSGF0IHZlbmRvciBwYXRjaCBkb2Vz IHNldCBpdCB0byAic3RlcCIgYnkgZGVmYXVsdC4KKytnZGJfdGVzdCAic2V0IHNjaGVkdWxlci1s b2NraW5nIG9mZiIKKysKKytnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251bWJlciAiZmlu YWwtZXhpdCJdCisrCisrZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInNsZWVw LWNhbGwiXQorK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJzbGVlcC1jYWxsIgorKworK2dk Yl90ZXN0ICJzdGVwIiAic2xlZXAtY2FsbC4qIiAic3RlcCB0aHJlYWQgMSIKKytnZGJfdGVzdCAi c3RlcCIgInNsZWVwLWNhbGwuKiIgInN0ZXAgdGhyZWFkIDIiCisrZ2RiX3Rlc3QgInN0ZXAiICJz bGVlcC1hZnRlci4qIiAic3RlcCB0aHJlYWQgMyIKKysKKytzZXQgdGVzdCAiZmlyc3QgY29udGlu dWUiCisrZ2RiX3Rlc3RfbXVsdGlwbGUgImNvbnRpbnVlIiAkdGVzdCB7CisrICAgIC1yZSAiZmlu YWwtZXhpdC4qJGdkYl9wcm9tcHQgJCIgeworKwkjIGdkYi03LjAuCisrCXBhc3MgJHRlc3QKKysJ cmV0dXJuCisrICAgIH0KKysgICAgLXJlICJzbGVlcC1hZnRlci4qJGdkYl9wcm9tcHQgJCIgewor KwkjIEZlZG9yYS9SSEVMIGJyYW5jaC4KKysJcGFzcyAkdGVzdAorKyAgICB9CisrfQorKworK2dk Yl90ZXN0ICJjb250aW51ZSIgInNsZWVwLWFmdGVyLioiICJzZWNvbmQgY29udGludWUiCisrZ2Ri X3Rlc3QgImNvbnRpbnVlIiAiZmluYWwtZXhpdC4qIiAidGhpcmQgY29udGludWUiCistLSAKKzIu MTQuMworCgpkaWZmIC0tZ2l0IGEvZ2RiLXN0YWxlLWZyYW1lX2luZm8ucGF0Y2ggYi9nZGItc3Rh bGUtZnJhbWVfaW5mby5wYXRjaAppbmRleCAzOTIxYmZmLi5hYjEzZWJjIDEwMDY0NAotLS0gYS9n ZGItc3RhbGUtZnJhbWVfaW5mby5wYXRjaAorKysgYi9nZGItc3RhbGUtZnJhbWVfaW5mby5wYXRj aApAQCAtMSwxMyArMSwxNSBAQAorRnJvbSA3OGVkNzg1ODQ4NzZjMWM3ZTJhYWRhMmY5NjE0ZmFi YjM0NTk3MzI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRj aGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAg KzAyMDAKLVN1YmplY3Q6IFtkb3duc3RyZWFtIHBhdGNoIEZZSV0gd29ya2Fyb3VuZCBzdGFsZSBm cmFtZV9pbmZvICogKFBSIDEzODY2KQorU3ViamVjdDogd29ya2Fyb3VuZCBzdGFsZSBmcmFtZV9p bmZvICogKFBSIDEzODY2KQogCiBGaWxlTmFtZTogZ2RiLXN0YWxlLWZyYW1lX2luZm8ucGF0Y2gK IAorOzsgV29ya2Fyb3VuZCBjcmFzaGVzIGZyb20gc3RhbGUgZnJhbWVfaW5mbyBwb2ludGVyIChC WiA4MDQyNTYpLgorOzs9cHVzaCtqYW4KIAogaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1w YXRjaGVzLzIwMTItMDQvbXNnMDAwNTguaHRtbAogCi0KIEhpLAogCiBJIGRpZCBub3QgbG9vayBh dCB3aGljaCBjb21taXQgY2F1c2VkIHRoaXMgcmVncmVzc2lvbiBidXQgYXBwYXJlbnRseSBpdCB3 YXMKQEAgLTI4LDM5ICszMCw0MSBAQCB0ZXN0c3VpdGUgdW5kZXIgdmFsZ3JpbmQgSSBkaWQgbm90 IGZpbmQgZmVhc2libGUuCiAKIE5vIHJlZ3Jlc3Npb25zIG9uIHt4ODZfNjQseDg2XzY0LW0zMixp Njg2fS1mZWRvcmExNy1saW51eC1nbnUuCiAKLQogVGhhbmtzLAogSmFuCiAKLQogZ2RiLwogMjAx Mi0wNC0wNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgogCiAJ V29ya2Fyb3VuZCBQUiBiYWNrdHJhY2UvMTM4NjYuCiAJKiBwcm9nc3BhY2UuYyAoc3dpdGNoX3Rv X3Byb2dyYW1fc3BhY2VfYW5kX3RocmVhZCk6IFRyeSBub3QgdG8gY2FsbAogCXN3aXRjaF90b190 aHJlYWQuCi0KLS0tLSBhL2dkYi9wcm9nc3BhY2UuYwotKysrIGIvZ2RiL3Byb2dzcGFjZS5jCi1A QCAtNDgxLDE3ICs0ODEsMjggQEAgc2F2ZV9jdXJyZW50X3NwYWNlX2FuZF90aHJlYWQgKHZvaWQp CistLS0KKyBnZGIvcHJvZ3NwYWNlLWFuZC10aHJlYWQuYyB8IDE4ICsrKysrKysrKysrKysrKyst LQorIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvZ2RiL3Byb2dzcGFjZS1hbmQtdGhyZWFkLmMgYi9nZGIvcHJvZ3NwYWNlLWFu ZC10aHJlYWQuYworaW5kZXggYTQ4ZmFhMGY5Ni4uODQ0NmJmYTMzNiAxMDA2NDQKKy0tLSBhL2dk Yi9wcm9nc3BhY2UtYW5kLXRocmVhZC5jCisrKysgYi9nZGIvcHJvZ3NwYWNlLWFuZC10aHJlYWQu YworQEAgLTIzLDE1ICsyMywyOSBAQAogIHZvaWQKLSBzd2l0Y2hfdG9fcHJvZ3JhbV9zcGFjZV9h bmRfdGhyZWFkIChzdHJ1Y3QgcHJvZ3JhbV9zcGFjZSAqcHNwYWNlKQorIHN3aXRjaF90b19wcm9n cmFtX3NwYWNlX2FuZF90aHJlYWQgKHByb2dyYW1fc3BhY2UgKnBzcGFjZSkKICB7Ci0tICBzdHJ1 Y3QgaW5mZXJpb3IgKmluZjsKLSsgIHN0cnVjdCBpbmZlcmlvciAqaW5mID0gY3VycmVudF9pbmZl cmlvciAoKTsKLSAKLS0gIGluZiA9IGZpbmRfaW5mZXJpb3JfZm9yX3Byb2dyYW1fc3BhY2UgKHBz cGFjZSk7CistICBpbmZlcmlvciAqaW5mID0gZmluZF9pbmZlcmlvcl9mb3JfcHJvZ3JhbV9zcGFj ZSAocHNwYWNlKTsKKysgIGluZmVyaW9yICppbmYgPSBjdXJyZW50X2luZmVyaW9yICgpOworKwog KyAgaWYgKGluZi0+cHNwYWNlICE9IHBzcGFjZSkKICsgICAgaW5mID0gZmluZF9pbmZlcmlvcl9m b3JfcHJvZ3JhbV9zcGFjZSAocHNwYWNlKTsKKyAKICAgIGlmIChpbmYgIT0gTlVMTCAmJiBpbmYt PnBpZCAhPSAwKQogICAgICB7Ci0tICAgICAgc3RydWN0IHRocmVhZF9pbmZvICp0cDsKLSsgICAg ICBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRwLCAqY3VycmVudF90cCA9IE5VTEw7CisgICAgICAgdGhy ZWFkX2luZm8gKnRwID0gYW55X2xpdmVfdGhyZWFkX29mX3Byb2Nlc3MgKGluZi0+cGlkKTsKKysg ICAgICB0aHJlYWRfaW5mbyAqY3VycmVudF90cCA9IE5VTEw7CiArCiArICAgICAgaWYgKHB0aWRf Z2V0X3BpZCAoaW5mZXJpb3JfcHRpZCkgPT0gaW5mLT5waWQpCiArCWN1cnJlbnRfdHAgPSBmaW5k X3RocmVhZF9wdGlkIChpbmZlcmlvcl9wdGlkKTsKICAKLSAgICAgICB0cCA9IGFueV9saXZlX3Ro cmVhZF9vZl9wcm9jZXNzIChpbmYtPnBpZCk7CiAgICAgICAgaWYgKHRwICE9IE5VTEwpCiAgCXsK IC0JICBzd2l0Y2hfdG9fdGhyZWFkICh0cC0+cHRpZCk7CkBAIC03NSwxMDcgKzc5LDYgQEAgZ2Ri LwogIAkgIC8qIFN3aXRjaGluZyB0aHJlYWQgc3dpdGNoZXMgcHNwYWNlIGltcGxpY2l0bHkuICBX ZSdyZQogIAkgICAgIGRvbmUuICAqLwogIAkgIHJldHVybjsKKy0tIAorMi4xNC4zCiAKLQotUmVw cm9kdWNlciB3aXRoOgotLi9nZGIgLW54IH4vdC90aHJlYWQgLWV4ICdiIDI0JyAtZXggciAtZXgg J3VudGlsIDI1JwotQnJlYWtwb2ludCAxLCBtYWluICgpIGF0IC9ob21lL2prcmF0b2NoL3QvdGhy ZWFkLmM6MjQKLTI0CSAgdisrOwotU2VnbWVudGF0aW9uIGZhdWx0IChjb3JlIGR1bXBlZCkKLQot I2luY2x1ZGUgPHB0aHJlYWQuaD4KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDx1bmlz dGQuaD4KLQotc3RhdGljIGludCB2OwotCi1zdGF0aWMgdm9pZCAqc3RhcnQgKHZvaWQgKmFyZykK LXsKLSAgdisrOwotICB2Kys7Ci0gIHYrKzsKLSAgdisrOwotICBzbGVlcCAoMTAwKTsKLSAgcmV0 dXJuIGFyZzsKLX0KLQotaW50IG1haW4gKHZvaWQpCi17Ci0gIHB0aHJlYWRfdCB0aHJlYWQxOwot ICBpbnQgaTsKLQotICBpID0gcHRocmVhZF9jcmVhdGUgKCZ0aHJlYWQxLCBOVUxMLCBzdGFydCwg TlVMTCk7Ci0gIGFzc2VydCAoaSA9PSAwKTsKLSAgdisrOwotICB2Kys7Ci0gIHYrKzsKLSAgdisr OwotICBpID0gcHRocmVhZF9qb2luICh0aHJlYWQxLCBOVUxMKTsKLSAgYXNzZXJ0IChpID09IDAp OwotCi0gIHJldHVybiAwOwotfQotIyMjIC0tLSBhL2dkYi9mcmFtZS5jCi0jIyMgKysrIGIvZ2Ri L2ZyYW1lLmMKLSMjIyBAQCAtMTUyMiwxMiArMTUyMiwzMCBAQCBmcmFtZV9vYnNlcnZlcl90YXJn ZXRfY2hhbmdlZCAoc3RydWN0IHRhcmdldF9vcHMgKnRhcmdldCkKLSMjIyAgICByZWluaXRfZnJh bWVfY2FjaGUgKCk7Ci0jIyMgIH0KLSMjIyAgCi0jIyMgK3R5cGVkZWYgc3RydWN0IG9ic3RhY2sg b2JzdGFja19zOwotIyMjICtERUZfVkVDX08gKG9ic3RhY2tfcyk7Ci0jIyMgK3N0YXRpYyBWRUMg KG9ic3RhY2tfcykgKmZyYW1lX3BvaXNvbl92ZWM7Ci0jIyMgKwotIyMjICt2b2lkIGZyYW1lX2dh cmJhZ2VfY29sbGVjdGlvbiAodm9pZCk7Ci0jIyMgK3ZvaWQKLSMjIyArZnJhbWVfZ2FyYmFnZV9j b2xsZWN0aW9uICh2b2lkKQotIyMjICt7Ci0jIyMgKyAgc3RydWN0IG9ic3RhY2sgKm9ic3RhY2tf cDsKLSMjIyArICBpbnQgaXg7Ci0jIyMgKwotIyMjICsgIGZvciAoaXggPSAwOyBWRUNfaXRlcmF0 ZSAob2JzdGFja19zLCBmcmFtZV9wb2lzb25fdmVjLCBpeCwgb2JzdGFja19wKTsgaXgrKykKLSMj IyArICAgIG9ic3RhY2tfZnJlZSAob2JzdGFja19wLCAwKTsKLSMjIyArCi0jIyMgKyAgVkVDX2Zy ZWUgKG9ic3RhY2tfcywgZnJhbWVfcG9pc29uX3ZlYyk7Ci0jIyMgKyAgZnJhbWVfcG9pc29uX3Zl YyA9IE5VTEw7Ci0jIyMgK30KLSMjIyArCi0jIyMgIC8qIEZsdXNoIHRoZSBlbnRpcmUgZnJhbWUg Y2FjaGUuICAqLwotIyMjICAKLSMjIyAgdm9pZAotIyMjICByZWluaXRfZnJhbWVfY2FjaGUgKHZv aWQpCi0jIyMgIHsKLSMjIyAtICBzdHJ1Y3QgZnJhbWVfaW5mbyAqZmk7Ci0jIyMgKyAgc3RydWN0 IGZyYW1lX2luZm8gKmZpLCAqZmlfcHJldjsKLSMjIyAgCi0jIyMgICAgLyogVGVhciBkb3duIGFs bCBmcmFtZSBjYWNoZXMuICAqLwotIyMjICAgIGZvciAoZmkgPSBjdXJyZW50X2ZyYW1lOyBmaSAh PSBOVUxMOyBmaSA9IGZpLT5wcmV2KQotIyMjIEBAIC0xNTM4LDggKzE1NTYsMTQgQEAgcmVpbml0 X2ZyYW1lX2NhY2hlICh2b2lkKQotIyMjICAJZmktPmJhc2UtPnVud2luZC0+ZGVhbGxvY19jYWNo ZSAoZmksIGZpLT5iYXNlX2NhY2hlKTsKLSMjIyAgICAgIH0KLSMjIyAgCi0jIyMgKyAgZm9yIChm aSA9IGN1cnJlbnRfZnJhbWU7IGZpICE9IE5VTEw7IGZpID0gZmlfcHJldikKLSMjIyArICAgIHsK LSMjIyArICAgICAgZmlfcHJldiA9IGZpLT5wcmV2OwotIyMjICsgICAgICBtZW1zZXQgKGZpLCAw LCBzaXplb2YgKCpmaSkpOwotIyMjICsgICAgfQotIyMjICsgIFZFQ19zYWZlX3B1c2ggKG9ic3Rh Y2tfcywgZnJhbWVfcG9pc29uX3ZlYywgJmZyYW1lX2NhY2hlX29ic3RhY2spOwotIyMjICsKLSMj IyAgICAvKiBTaW5jZSB3ZSBjYW4ndCByZWFsbHkgYmUgc3VyZSB3aGF0IHRoZSBmaXJzdCBvYmpl Y3QgYWxsb2NhdGVkIHdhcy4gICovCi0jIyMgLSAgb2JzdGFja19mcmVlICgmZnJhbWVfY2FjaGVf b2JzdGFjaywgMCk7Ci0jIyMgICAgb2JzdGFja19pbml0ICgmZnJhbWVfY2FjaGVfb2JzdGFjayk7 Ci0jIyMgIAotIyMjICAgIGlmIChjdXJyZW50X2ZyYW1lICE9IE5VTEwpCi0jIyMgLS0tIGEvZ2Ri L3RvcC5jCi0jIyMgKysrIGIvZ2RiL3RvcC5jCi0jIyMgQEAgLTM1OSw2ICszNTksMTEgQEAgcHJl cGFyZV9leGVjdXRlX2NvbW1hbmQgKHZvaWQpCi0jIyMgICAgaWYgKG5vbl9zdG9wKQotIyMjICAg ICAgdGFyZ2V0X2RjYWNoZV9pbnZhbGlkYXRlICgpOwotIyMjICAKLSMjIyArICB7Ci0jIyMgKyAg ICBleHRlcm4gdm9pZCBmcmFtZV9nYXJiYWdlX2NvbGxlY3Rpb24gKHZvaWQpOwotIyMjICsgICAg ZnJhbWVfZ2FyYmFnZV9jb2xsZWN0aW9uICgpOwotIyMjICsgIH0KLSMjIyArCi0jIyMgICAgcmV0 dXJuIGNsZWFudXA7Ci0jIyMgIH0KLSMjIyAgCgpkaWZmIC0tZ2l0IGEvZ2RiLXRlc3QtYnQtY2Zp LXdpdGhvdXQtZGllLnBhdGNoIGIvZ2RiLXRlc3QtYnQtY2ZpLXdpdGhvdXQtZGllLnBhdGNoCmlu ZGV4IDM5ZWY3MTkuLjBjZDc1MmIgMTAwNjQ0Ci0tLSBhL2dkYi10ZXN0LWJ0LWNmaS13aXRob3V0 LWRpZS5wYXRjaAorKysgYi9nZGItdGVzdC1idC1jZmktd2l0aG91dC1kaWUucGF0Y2gKQEAgLTEs MTcgKzEsMjAgQEAKK0Zyb20gY2NjNmZhZDE1YmZlOGQ3ZTgzM2QyZDg0ZDIzNjczYmUzYjlmNTk1 YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52 YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1T dWJqZWN0OiBbZGVsYXllZC1zeW1maWxlXSBbY29tbWl0XSBGaXggYSByZWdyZXNzaW9uIG9uIENG SSB3aXRob3V0IERJRSAgW1JlOgorU3ViamVjdDogRml4IGEgcmVncmVzc2lvbiBvbiBDRkkgd2l0 aG91dCBESUUgW1JlOgogCiBGaWxlTmFtZTogZ2RiLXRlc3QtYnQtY2ZpLXdpdGhvdXQtZGllLnBh dGNoCiAKKzs7IFtkZWxheWVkLXN5bWZpbGVdIFRlc3QgYSBiYWNrdHJhY2UgcmVncmVzc2lvbiBv biBDRklzIHdpdGhvdXQgRElFIChCWiA2MTQ2MDQpLgorOzs9ZmVkb3JhdGVzdAogCiBodHRwOi8v c291cmNld2FyZS5vcmcvbWwvYXJjaGVyLzIwMTAtcTMvbXNnMDAwMjguaHRtbAogCiBPbiBXZWQs IDI1IEZlYiAyMDA5IDAwOjE0OjI5ICswMTAwLCBKYW4gS3JhdG9jaHZpbCB3cm90ZToKID4gY29t bWl0IDZhMzdjMmI5OTYyMjU4ZWNmOTI5OWNjMzRhNjUwZTY0YTA2YWNhYTUKLT4gCis+CiA+IFRo ZXJlIHdhcyBhIHJlZ3Jlc3Npb24gb24gZ2RiLmJhc2Uvc2F2ZWRyZWdzLmV4cC4KLT4gCis+CiA+ IHF1aWNrX2FkZHJtYXAvcmVxdWlyZV9wYXJ0aWFsX3N5bWJvbHMgc2hvdWxkIGJlIHVzZWQgZXZl biBmb3IgdGhlIHVud2luZCBkZWJ1ZwogPiBpbmZvIGNoZWNraW5nIGFzIGl0cyBsb2FkIGhhcyBi ZWVuIGFsc28gZGVsYXllZCBieSB0aGlzIGJyYW5jaC4KIFsuLi5dCkBAIC0yMSw3ICsyNCw3IEBA IE9uIFdlZCwgMjUgRmViIDIwMDkgMDA6MTQ6MjkgKzAxMDAsIEphbiBLcmF0b2NodmlsIHdyb3Rl OgogPiBAQCAtMTQ5OSw2ICsxNTAwLDE0IEBAIGR3YXJmMl9mcmFtZV9maW5kX2ZkZSAoQ09SRV9B RERSICpwYykKID4gICAgICAgIHN0cnVjdCBkd2FyZjJfZmRlICpmZGU7CiA+ICAgICAgICBDT1JF X0FERFIgb2Zmc2V0OwotPiAgCis+CiA+ICsgICAgICBpZiAob2JqZmlsZS0+cXVpY2tfYWRkcm1h cCkKID4gKwl7CiA+ICsJICBpZiAoIWFkZHJtYXBfZmluZCAob2JqZmlsZS0+cXVpY2tfYWRkcm1h cCwgKnBjKSkKQEAgLTQ4LDExICs1MSw5IEBAIE5vIHJlZ3Jlc3Npb25zIG9uIHt4ODZfNjQseDg2 XzY0LW0zMixpNjg2fS1mZWRvcmExMy1saW51eC1nbnUuCiAKIENoZWNrZWQtaW4uCiAKLQogVGhh bmtzLAogSmFuCiAKLQogZWI4ZGY4NTY2YWNjMWVkOTYzZTNlOWI3N2MxM2I5YzJjM2RiMDNmYgog CiBUZXN0IENGSSBpcyBwYXJzZWQgZXZlbiBmb3IgcmFuZ2UgKGZ1bmN0aW9uKSBub3QgZGVzY3Jp YmVkIGJ5IGFueSBESUUuCkBAIC02NywxOSArNjgsMTkgQEAgZ2RiL3Rlc3RzdWl0ZS8KIAkqIGdk Yi5iYXNlL2NmaS13aXRob3V0LWRpZS5leHAsIGdkYi5iYXNlL2NmaS13aXRob3V0LWRpZS1tYWlu LmMsCiAJZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLWNhbGxlci5jOiBOZXcgZmlsZXMuCiAtLS0K LSBnZGIvZHdhcmYyLWZyYW1lLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDgg Ky0tCi0gZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91dC1kaWUtY2FsbGVyLmMgfCAg IDI4ICsrKysrKysrKysKLSBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS1t YWluLmMgICB8ICAgMzIgKysrKysrKysrKysKLSBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13 aXRob3V0LWRpZS5leHAgICAgICB8ICAgNjcgKysrKysrKysrKysrKysrKysrKysrKysKLSA0IGZp bGVzIGNoYW5nZWQsIDEzMCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorIGdkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLWNhbGxlci5jIHwgMjggKysrKysrKysrKwor IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLW1haW4uYyAgIHwgMzIgKysr KysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS5leHAgICAg ICB8IDcxICsrKysrKysrKysrKysrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDEzMSBp bnNlcnRpb25zKCspCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv Y2ZpLXdpdGhvdXQtZGllLWNhbGxlci5jCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLW1haW4uYwogIGNyZWF0ZSBtb2RlIDEwMDY0NCBn ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0LWRpZS5leHAKIAotSW5kZXg6IGdkYi03 LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLWNh bGxlci5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9jZmktd2l0aG91dC1kaWUtY2FsbGVyLmMJMjAxNi0wMS0wOCAyMToxMDoxNS40OTgwNzk1 ODcgKzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NmaS13aXRob3V0 LWRpZS1jYWxsZXIuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLWNh bGxlci5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYWZkZmQ1MzMx YQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91 dC1kaWUtY2FsbGVyLmMKIEBAIC0wLDAgKzEsMjggQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTA5LDEwICsxMTAsMTEgQEAgSW5k ZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhv dXQtZGllLWNhbGxlci5jCiArICAvKiBNb2RpZnkgdGhlIHJldHVybiB2YWx1ZSB0byBwcmV2ZW50 IGFueSB0YWlsLWNhbGwgb3B0aW1pemF0aW9uLiAgKi8KICsgIHJldHVybiAoKmNhbGxiYWNrKSAo KSAtIG9uZTsKICt9Ci1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9jZmktd2l0aG91dC1kaWUtbWFpbi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuNTAuMjAx NjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jZmktd2l0aG91dC1kaWUtbWFpbi5jCTIwMTYt MDEtMDggMjE6MTA6MTUuNDk4MDc5NTg3ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9jZmktd2l0aG91dC1kaWUtbWFpbi5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9jZmktd2l0aG91dC1kaWUtbWFpbi5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMDAwMC4uODQ1MWM0YmU3MAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9jZmktd2l0aG91dC1kaWUtbWFpbi5jCiBAQCAtMCwwICsxLDMyIEBACiArLyogVGhp cyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTE0Niwx MCArMTQ4LDExIEBAIEluZGV4OiBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2NmaS13aXRob3V0LWRpZS1tYWluLmMKICt7CiArICByZXR1cm4gY2FsbGVyIChjYWxs YmFjayk7CiArfQotSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvY2ZpLXdpdGhvdXQtZGllLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcw LTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGllLmV4cAkyMDE2LTAxLTA4IDIx OjEzOjA0LjUyOTk5ODAwOSArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvY2ZpLXdpdGhvdXQtZGllLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhv dXQtZGllLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjU4ODBk NDZmNmQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdp dGhvdXQtZGllLmV4cAogQEAgLTAsMCArMSw3MSBAQAogKyMgQ29weXJpZ2h0IDIwMTAgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0yMjIsMyArMjI1LDYgQEAgSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2ZpLXdpdGhvdXQtZGll LmV4cAogKyMgIzEgIDB4MDAwMDAwMDAwMDQwMDRlOSBpbiBjYWxsZXIgKCkKICsjICMyICAweDAw MDAwMDAwMDA0MDA0Y2QgaW4gbWFpbiAoKSBhdCAuLi4KICtnZGJfdGVzdCAiYnQiICIjMCArY2Fs bGJhY2sgXFteXHJcblxdK1xyXG4jMSBcW15cclxuXF0rIGluIGNhbGxlciBcW15cclxuXF0rXHJc biMyIFxbXlxyXG5cXSsgaW4gbWFpbiBcW15cclxuXF0rIiAidmVyaWZ5IHVud2luZGluIHdvcmtz IGZvciBDRkkgd2l0aG91dCBESUVzIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi10 ZXN0LWR3Mi1hcmFuZ2VzLnBhdGNoIGIvZ2RiLXRlc3QtZHcyLWFyYW5nZXMucGF0Y2gKaW5kZXgg NGVkYjM2OC4uYzdkM2M5MiAxMDA2NDQKLS0tIGEvZ2RiLXRlc3QtZHcyLWFyYW5nZXMucGF0Y2gK KysrIGIvZ2RiLXRlc3QtZHcyLWFyYW5nZXMucGF0Y2gKQEAgLTEsOSArMSwxMiBAQAorRnJvbSBm MzkwNjNjYzE1OGY0Yzc0NzUwNmJmNTQ4Zjk1NmRhYjVjMDhiMjA3IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERh dGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi10ZXN0LWR3 Mi1hcmFuZ2VzLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItdGVzdC1kdzItYXJhbmdlcy5wYXRjaAog Cis7OyBbYXJjaGVyLXRyb21leS1kZWxheWVkLXN5bWZpbGVdIE5ldyB0ZXN0IGdkYi5kd2FyZjIv ZHcyLWFyYW5nZXMuZXhwLgorOzs9ZmVkb3JhdGVzdAogCiBbYXJjaGVyLXRyb21leS1kZWxheWVk LXN5bWZpbGVdCiAKQEAgLTEyLDI1ICsxNSwzMiBAQCBBdXRob3I6IEphbiBLcmF0b2NodmlsIDxq a3JhdG9jaEBob3N0MS5keW4uamFua3JhdG9jaHZpbC5uZXQ+CiBEYXRlOiAgIFNhdCBBdWcgMTUg MTU6MDU6NTQgMjAwOSArMDIwMAogCiAgICAgVGVzdCBmb3IgImhhbmRsZSBpbmNvcnJlY3QgYXJh bmdlcyIuCi0gICAgCisKICAgICByZWFkZWxmOgogICAgIENvbnRlbnRzIG9mIHRoZSAuZGVidWdf YXJhbmdlcyBzZWN0aW9uOgotICAgIAorCiAgICAgICBMZW5ndGg6ICAgICAgICAgICAgICAgICAg IDgKICAgICAgIFZlcnNpb246ICAgICAgICAgICAgICAgICAgMgogICAgICAgT2Zmc2V0IGludG8g LmRlYnVnX2luZm86ICAweDAKICAgICAgIFBvaW50ZXIgU2l6ZTogICAgICAgICAgICAgMAogICAg ICAgU2VnbWVudCBTaXplOiAgICAgICAgICAgICAwCi0gICAgCisKICAgICAgICAgQWRkcmVzcyAg ICBMZW5ndGgKICAgICBGbG9hdGluZyBwb2ludCBleGNlcHRpb24KLSAgICAKKwogICAgIAkqIGdk Yi5kd2FyZjIvZHcyLWFyYW5nZXMuZXhwLCBnZGIuZHdhcmYyL2R3Mi1hcmFuZ2VzLlM6IE5ldyBm aWxlcy4KKy0tLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYXJhbmdlcy5TICAgfCAx NDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItYXJhbmdlcy5leHAgfCAgNDAgKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAx ODAgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5k d2FyZjIvZHcyLWFyYW5nZXMuUworIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLWFyYW5nZXMuZXhwCiAKLUluZGV4OiBnZGItNy43L2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItYXJhbmdlcy5TCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNy9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvZHcyLWFyYW5nZXMuUwkyMDE0LTAyLTA2IDIyOjAyOjIyLjA4NzQ0OTY2MCAr MDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYXJhbmdlcy5T IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1hcmFuZ2VzLlMKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5kNWI5Y2E1YTNjCistLS0gL2Rldi9udWxsCisrKysg Yi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWFyYW5nZXMuUwogQEAgLTAsMCArMSwxNDAg QEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgog KwpAQCAtMTcyLDEwICsxODIsMTEgQEAgSW5kZXg6IGdkYi03LjcvZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1hcmFuZ2VzLlMKICsJLmJ5dGUJCTAJCQkvKiBhcmFuZ2VzIHNlZ21lbnRfc2l6 ZSAqLwogKwogKy5MYXJhbmdlc19lbmQ6Ci1JbmRleDogZ2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLWFyYW5nZXMuZXhwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNy9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvZHcyLWFyYW5nZXMuZXhwCTIwMTQtMDItMDYgMjI6MDk6MDguMzIyODUyNzcx ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1hcmFuZ2Vz LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYXJhbmdlcy5leHAKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5mOTViZGU0YzM1CistLS0gL2Rldi9udWxs CisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWFyYW5nZXMuZXhwCiBAQCAtMCww ICsxLDQwIEBACiArIyBDb3B5cmlnaHQgMjAwNCwgMjAwNSwgMjAwNywgMjAwOCwgMjAwOSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTIxNywzICsyMjgsNiBAQCBJbmRleDog Z2RiLTcuNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWFyYW5nZXMuZXhwCiArCiArIyBG YWlsZWQgZ2RiX2xvYWQgd291bGQgYWJvcnQgdGhlIHRlc3RjYXNlIGV4ZWN1dGlvbiBlYXJsaWVy LgogK3Bhc3MgImZpbGUgbG9hZGVkIgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi10 ZXN0LWV4cHItY3VtdWxhdGl2ZS1hcmNoZXIucGF0Y2ggYi9nZGItdGVzdC1leHByLWN1bXVsYXRp dmUtYXJjaGVyLnBhdGNoCmluZGV4IGFmMTU4YjkuLjAyYjMwYjQgMTAwNjQ0Ci0tLSBhL2dkYi10 ZXN0LWV4cHItY3VtdWxhdGl2ZS1hcmNoZXIucGF0Y2gKKysrIGIvZ2RiLXRlc3QtZXhwci1jdW11 bGF0aXZlLWFyY2hlci5wYXRjaApAQCAtMSwxNyArMSwzMSBAQAorRnJvbSA0NWYzN2E3OGJiMzEx ZTE1NDBmY2ZiMGM4YTgwMGVjY2JkMWEzYjhmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJv bTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcg T2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi10ZXN0LWV4cHItY3VtdWxhdGl2 ZS1hcmNoZXIucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi10ZXN0LWV4cHItY3VtdWxhdGl2ZS1hcmNo ZXIucGF0Y2gKIAorOzsgW2FyY2hlci1rZWl0aHMtZXhwci1jdW11bGF0aXZlK3Vwc3RyZWFtXSBJ bXBvcnQgQysrIHRlc3RjYXNlcy4KKzs7PWZlZG9yYXRlc3QKIAogYXJjaGVyIGFyY2hlci1rZWl0 aHMtZXhwci1jdW11bGF0aXZlCiBiNWE3NDk3MzQwYjI0MTk5ZjBjN2JhN2ZkZjBkNTRkNGRmNDRk NmJjCistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2UtbmVzdGVkLWltcG9ydHMu Y2MgIHwgMzYgKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmFtZXNwYWNlLW5l c3RlZC1pbXBvcnRzLmV4cCB8IDUwICsrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dk Yi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5jYyAgICAgIHwgMzcgKysrKysrKysrKysrCisgZ2Ri L3Rlc3RzdWl0ZS9nZGIuY3AvbmFtZXNwYWNlLW5vLWltcG9ydHMuZXhwICAgICB8IDY5ICsrKysr KysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAxOTIgaW5zZXJ0aW9ucygrKQor IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2UtbmVzdGVk LWltcG9ydHMuY2MKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmFt ZXNwYWNlLW5lc3RlZC1pbXBvcnRzLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5jYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBn ZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5leHAKIAotSW5kZXg6IGdk Yi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uZXN0ZWQt aW1wb3J0cy5jYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUv Z2RiLmNwL25hbWVzcGFjZS1uZXN0ZWQtaW1wb3J0cy5jYwkyMDE2LTAyLTE1IDIzOjM0OjMyLjE5 NjQwMjc3MyArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFj ZS1uZXN0ZWQtaW1wb3J0cy5jYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uZXN0 ZWQtaW1wb3J0cy5jYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjk3 MjNmODc0ZDkKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVz cGFjZS1uZXN0ZWQtaW1wb3J0cy5jYwogQEAgLTAsMCArMSwzNiBAQAogK25hbWVzcGFjZSBBCiAr ewpAQCAtNDksMTAgKzYzLDExIEBAIEluZGV4OiBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVz dHN1aXRlL2dkYi5jcC9uYW1lc3BhY2UtbmVzdGVkLWltcG9ydHMuY2MKICsgIC8vYWI7CiArICBy ZXR1cm4gQzo6Zmlyc3QoKTsKICt9Ci1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvbmFtZXNwYWNlLW5lc3RlZC1pbXBvcnRzLmV4cAotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uZXN0ZWQt aW1wb3J0cy5leHAJMjAxNi0wMi0xNSAyMzozNDo1MS45MjY1NDI4NTkgKzAxMDAKK2RpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2UtbmVzdGVkLWltcG9ydHMuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmFtZXNwYWNlLW5lc3RlZC1pbXBvcnRzLmV4cAorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmE2MDZjNDNjYjMKKy0tLSAvZGV2L251 bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uZXN0ZWQtaW1wb3J0cy5l eHAKIEBAIC0wLDAgKzEsNTAgQEAKICsjIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogKwpAQCAtMTA0LDEwICsxMTksMTEgQEAgSW5kZXg6IGdkYi03LjEwLjkw LjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uZXN0ZWQtaW1wb3J0cy5l eHAKICtnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiQzo6RDo6c2Vjb25kIgogKwogK2dkYl90 ZXN0ICJwcmludCBhYiIgIj0gMTEiCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvbmFtZXNwYWNlLW5vLWltcG9ydHMuY2MKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4x MC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5j YwkyMDE2LTAyLTE1IDIzOjM0OjMyLjE5NjQwMjc3MyArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmNwL25hbWVzcGFjZS1uby1pbXBvcnRzLmNjIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3AvbmFtZXNwYWNlLW5vLWltcG9ydHMuY2MKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwMDAwLi5kMWM2OGFiYWVhCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5jYwogQEAgLTAsMCArMSwzNyBAQAogKwog K25hbWVzcGFjZSBBCkBAIC0xNDYsMTAgKzE2MiwxMSBAQCBJbmRleDogZ2RiLTcuMTAuOTAuMjAx NjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmFtZXNwYWNlLW5vLWltcG9ydHMuY2MKICsgIEE6 OkI6OkM6OmFiYzsKICsgIHJldHVybiBBOjpCOjpmaXJzdCgpOwogK30KLUluZGV4OiBnZGItNy4x MC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5l eHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9u YW1lc3BhY2Utbm8taW1wb3J0cy5leHAJMjAxNi0wMi0xNSAyMzozNDo1MS45MjY1NDI4NTkgKzAx MDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0 cy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5leHAKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5hNGFlOWIzY2QyCistLS0gL2Rl di9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5l eHAKIEBAIC0wLDAgKzEsNjkgQEAKICsjIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogKwpAQCAtMjIwLDMgKzIzNyw2IEBAIEluZGV4OiBnZGItNy4xMC45MC4y MDE2MDIxMS9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uYW1lc3BhY2Utbm8taW1wb3J0cy5leHAKICtn ZGJfdGVzdCAicHJpbnQgX2EiICI9IDExIgogK2dkYl90ZXN0ICJwcmludCBhYiIgIj0gMjIiCiAr Z2RiX3Rlc3QgInByaW50IGFiYyIgIj0gMzMiCistLSAKKzIuMTQuMworCgpkaWZmIC0tZ2l0IGEv Z2RiLXRlc3QtaXZ5LWJyaWRnZS5wYXRjaCBiL2dkYi10ZXN0LWl2eS1icmlkZ2UucGF0Y2gKaW5k ZXggNGQ5NzNhOC4uNDEwODM0NCAxMDA2NDQKLS0tIGEvZ2RiLXRlc3QtaXZ5LWJyaWRnZS5wYXRj aAorKysgYi9nZGItdGVzdC1pdnktYnJpZGdlLnBhdGNoCkBAIC0xLDE0ICsxLDEzMiBAQAorRnJv bSBmNGNlNzRiZTNjOTZmNDEwNTdjMmU4ODQzYjY2OGM1MTlhNzdmYjAzIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4K IERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6IGdkYi10ZXN0 LWl2eS1icmlkZ2UucGF0Y2gKIAogRmlsZU5hbWU6IGdkYi10ZXN0LWl2eS1icmlkZ2UucGF0Y2gK IAorOzsgVGVzdCBHREIgb3Bjb2Rlcy8gZGlzYXNzZW1ibHkgb2YgSW50ZWwgSXZ5IEJyaWRnZSBp bnN0cnVjdGlvbnMgKEJaIDY5Njg5MCkuCis7Oz1mZWRvcmF0ZXN0CistLS0KKyBnZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL2FtZDY0LWl2eS1icmlkZ2UuUyAgIHwgIDk4ICsrKysrKysrKysrKysrKysK KyBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWl2eS1icmlkZ2UuZXhwIHwgMTcwICsrKysr KysrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtaXZ5 LWJyaWRnZS5TICAgIHwgIDY3ICsrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9p Mzg2LWl2eS1icmlkZ2UuZXhwICB8IDEwNiArKysrKysrKysrKysrKysrKworIDQgZmlsZXMgY2hh bmdlZCwgNDQxIGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC9hbWQ2NC1pdnktYnJpZGdlLlMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1pdnktYnJpZGdlLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtaXZ5LWJyaWRnZS5TCisgY3JlYXRlIG1vZGUg MTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1pdnktYnJpZGdlLmV4cAogCi1JbmRl eDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1pdnktYnJpZGdlLmV4cAot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtaXZ5LWJyaWRn ZS5leHAJMjAxNi0xMC0yMCAyMDo1NzozMS42NTI2MzA0NTUgKzAyMDAKK2RpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWl2eS1icmlkZ2UuUyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gvYW1kNjQtaXZ5LWJyaWRnZS5TCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMC4uMjRlNDFjMGUwMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC9hbWQ2NC1pdnktYnJpZGdlLlMKK0BAIC0wLDAgKzEsOTggQEAKKysvKiBDb3B5 cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQor KyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRw Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0 aGUgZ2RiIHRlc3RzdWl0ZS4gICovCisrCisrCS5nbG9ibCBfc3RhcnQKKytfc3RhcnQ6CS50ZXh0 CisrCisrLyogZ2FzL2kzODYveDg2LTY0LXJkcm5kLnMgKi8KKysJLmF0dF9zeW50YXggcHJlZml4 CisrCXJkcmFuZCAlYngKKysJcmRyYW5kICVlYngKKysJcmRyYW5kICVyYngKKysJcmRyYW5kICVy OHcKKysJcmRyYW5kICVyOGQKKysJcmRyYW5kICVyOAorKworKwkuaW50ZWxfc3ludGF4IG5vcHJl Zml4CisrCXJkcmFuZCBieAorKwlyZHJhbmQgZWJ4CisrCXJkcmFuZCByYngKKysJcmRyYW5kIHI4 dworKwlyZHJhbmQgcjhkCisrCXJkcmFuZCByOAorKworKy8qIGdhcy9pMzg2L3g4Ni02NC1mMTZj LnMgKi8KKysJLmF0dF9zeW50YXggcHJlZml4CisrCXZjdnRwaDJwcyAleG1tNCwleW1tNAorKwl2 Y3Z0cGgycHMgKCVyOCksJXltbTgKKysJdmN2dHBoMnBzICV4bW00LCV4bW02CisrCXZjdnRwaDJw cyAoJXJjeCksJXhtbTQKKysJdmN2dHBzMnBoICQweDIsJXltbTQsJXhtbTQKKysJdmN2dHBzMnBo ICQweDIsJXltbTgsKCVyOCkKKysJdmN2dHBzMnBoICQweDIsJXhtbTQsJXhtbTQKKysJdmN2dHBz MnBoICQweDIsJXhtbTQsKCVyY3gpIAorKworKwkuaW50ZWxfc3ludGF4IG5vcHJlZml4CisrCXZj dnRwaDJwcyB5bW00LHhtbTQKKysJdmN2dHBoMnBzIHltbTgsWE1NV09SRCBQVFIgW3I4XQorKwl2 Y3Z0cGgycHMgeW1tNCxbcmN4XQorKwl2Y3Z0cGgycHMgeG1tNix4bW00CisrCXZjdnRwaDJwcyB4 bW00LFFXT1JEIFBUUiBbcmN4XSAgICAgICAgICAKKysJdmN2dHBoMnBzIHhtbTQsW3JjeF0KKysJ dmN2dHBzMnBoIHhtbTQseW1tNCwweDIKKysJdmN2dHBzMnBoIFhNTVdPUkQgUFRSIFtyY3hdLHlt bTQsMHgyICAgIAorKwl2Y3Z0cHMycGggW3JjeF0seW1tNCwweDIgCisrCXZjdnRwczJwaCB4bW00 LHhtbTQsMHgyCisrCXZjdnRwczJwaCBRV09SRCBQVFIgW3I4XSx4bW04LDB4MiAgICAgICAKKysJ dmN2dHBzMnBoIFtyY3hdLHhtbTQsMHgyIAorKworKy8qIGdhcy9pMzg2L3g4Ni02NC1mc2dzLnMg Ki8KKysJLmF0dF9zeW50YXggcHJlZml4CisrCXJkZnNiYXNlICVlYngKKysJcmRmc2Jhc2UgJXJi eAorKwlyZGZzYmFzZSAlcjhkCisrCXJkZnNiYXNlICVyOAorKwlyZGdzYmFzZSAlZWJ4CisrCXJk Z3NiYXNlICVyYnggICAKKysJcmRnc2Jhc2UgJXI4ZCAgIAorKwlyZGdzYmFzZSAlcjggICAgCisr CXdyZnNiYXNlICVlYnggICAKKysJd3Jmc2Jhc2UgJXJieCAgIAorKwl3cmZzYmFzZSAlcjhkICAg CisrCXdyZnNiYXNlICVyOCAgICAKKysJd3Jnc2Jhc2UgJWVieCAgIAorKwl3cmdzYmFzZSAlcmJ4 ICAgCisrCXdyZ3NiYXNlICVyOGQgICAKKysJd3Jnc2Jhc2UgJXI4ICAgIAorKworKwkuaW50ZWxf c3ludGF4IG5vcHJlZml4CisrCXJkZnNiYXNlIGVieCAgICAKKysJcmRmc2Jhc2UgcmJ4ICAgIAor KwlyZGZzYmFzZSByOGQgICAgCisrCXJkZnNiYXNlIHI4CisrCXJkZ3NiYXNlIGVieCAgICAKKysJ cmRnc2Jhc2UgcmJ4ICAgIAorKwlyZGdzYmFzZSByOGQgICAgCisrCXJkZ3NiYXNlIHI4CisrCXdy ZnNiYXNlIGVieCAgICAKKysJd3Jmc2Jhc2UgcmJ4ICAgIAorKwl3cmZzYmFzZSByOGQgICAgCisr CXdyZnNiYXNlIHI4CisrCXdyZ3NiYXNlIGVieCAgICAKKysJd3Jnc2Jhc2UgcmJ4ICAgIAorKwl3 cmdzYmFzZSByOGQgICAgCisrCXdyZ3NiYXNlIHI4CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC9hbWQ2NC1pdnktYnJpZGdlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv YW1kNjQtaXZ5LWJyaWRnZS5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwLi5kMWIxZjI3ZGI0CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5h cmNoL2FtZDY0LWl2eS1icmlkZ2UuZXhwCiBAQCAtMCwwICsxLDE3MCBAQAogKyMgQ29weXJpZ2h0 IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xODAsMTAgKzI5OCw4 NCBAQCBJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1pdnktYnJp ZGdlLmV4cAogK1xbXlxyXG5cXSs6XHRmMyA0MSAwZiBhZSBkOFx0XCggICAgICAgICAgXCk/d3Jn c2Jhc2UgcjhkXHIKICtcW15cclxuXF0rOlx0ZjMgNDkgMGYgYWUgZDhcdFwoICAgICAgICAgIFwp P3dyZ3NiYXNlIHI4XHIKICtFbmQgb2YgYXNzZW1ibGVyIGR1bXBcXC4iICJpbnRlbCIKLUluZGV4 OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtaXZ5LWJyaWRnZS5leHAKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtaXZ5LWJyaWRnZS5l eHAJMjAxNi0xMC0yMCAyMDo1Nzo0My4yNTE3MjExNDcgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtaXZ5LWJyaWRnZS5TIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC9pMzg2LWl2eS1icmlkZ2UuUworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAwMDAuLmZmOTYwOGQzODkKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gvaTM4Ni1pdnktYnJpZGdlLlMKK0BAIC0wLDAgKzEsNjcgQEAKKysvKiBDb3B5cmlnaHQg MjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQor KyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgZ2Ri IHRlc3RzdWl0ZS4gICovCisrCisrCS5nbG9ibCBfc3RhcnQKKytfc3RhcnQ6CS50ZXh0CisrCisr LyogZ2FzL2kzODYvcmRybmQucyAqLworKwkuYXR0X3N5bnRheCBwcmVmaXgKKysJcmRyYW5kICVi eAorKwlyZHJhbmQgJWVieAorKworKwkuaW50ZWxfc3ludGF4IG5vcHJlZml4CisrCXJkcmFuZCBi eAorKwlyZHJhbmQgZWJ4CisrCisrLyogZ2FzL2kzODYvZjE2Yy5zICovCisrCS5hdHRfc3ludGF4 IHByZWZpeAorKwl2Y3Z0cGgycHMgJXhtbTQsJXltbTQKKysJdmN2dHBoMnBzICglZWN4KSwleW1t NAorKwl2Y3Z0cGgycHMgJXhtbTQsJXhtbTYKKysJdmN2dHBoMnBzICglZWN4KSwleG1tNAorKwl2 Y3Z0cHMycGggJDB4MiwleW1tNCwleG1tNAorKwl2Y3Z0cHMycGggJDB4MiwleW1tNCwoJWVjeCkg CisrCXZjdnRwczJwaCAkMHgyLCV4bW00LCV4bW00CisrCXZjdnRwczJwaCAkMHgyLCV4bW00LCgl ZWN4KSAKKysKKysJLmludGVsX3N5bnRheCBub3ByZWZpeAorKwl2Y3Z0cGgycHMgeW1tNCx4bW00 CisrCXZjdnRwaDJwcyB5bW00LFhNTVdPUkQgUFRSIFtlY3hdCisrCXZjdnRwaDJwcyB5bW00LFtl Y3hdCisrCXZjdnRwaDJwcyB4bW02LHhtbTQKKysJdmN2dHBoMnBzIHhtbTQsUVdPUkQgUFRSIFtl Y3hdICAgICAgICAgIAorKwl2Y3Z0cGgycHMgeG1tNCxbZWN4XQorKwl2Y3Z0cHMycGggeG1tNCx5 bW00LDB4MgorKwl2Y3Z0cHMycGggWE1NV09SRCBQVFIgW2VjeF0seW1tNCwweDIgICAgCisrCXZj dnRwczJwaCBbZWN4XSx5bW00LDB4MiAKKysJdmN2dHBzMnBoIHhtbTQseG1tNCwweDIKKysJdmN2 dHBzMnBoIFFXT1JEIFBUUiBbZWN4XSx4bW00LDB4MiAgICAgIAorKwl2Y3Z0cHMycGggW2VjeF0s eG1tNCwweDIgCisrCisrLyogZ2FzL2kzODYvZnNncy5zICovCisrCS5hdHRfc3ludGF4IHByZWZp eAorKwlyZGZzYmFzZSAlZWJ4CisrCXJkZ3NiYXNlICVlYngKKysJd3Jmc2Jhc2UgJWVieAorKwl3 cmdzYmFzZSAlZWJ4CisrCisrCS5pbnRlbF9zeW50YXggbm9wcmVmaXgKKysJcmRmc2Jhc2UgZWJ4 ICAgIAorKwlyZGdzYmFzZSBlYnggICAgCisrCXdyZnNiYXNlIGVieCAgICAKKysJd3Jnc2Jhc2Ug ZWJ4ICAgIAorKworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1pdnkt YnJpZGdlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1pdnktYnJpZGdlLmV4cAor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjRlYTkzZWRiMDYKKy0tLSAv ZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1pdnktYnJpZGdlLmV4 cAogQEAgLTAsMCArMSwxMDYgQEAKICsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogKwpAQCAtMjkxLDE3OCArNDgzLDYgQEAgSW5kZXg6IGdkYi03LjEyL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gvaTM4Ni1pdnktYnJpZGdlLmV4cAogK1xbXlxyXG5cXSs6XHRm MyAwZiBhZSBkM1x0XCggICAgICAgICAgICAgXCk/d3Jmc2Jhc2UgZWJ4XHIKICtcW15cclxuXF0r Olx0ZjMgMGYgYWUgZGJcdFwoICAgICAgICAgICAgIFwpP3dyZ3NiYXNlIGVieFxyCiArRW5kIG9m IGFzc2VtYmxlciBkdW1wXFwuIiAiaW50ZWwiCi1JbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC9hbWQ2NC1pdnktYnJpZGdlLlMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMi9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL2FtZDY0LWl2eS1icmlkZ2UuUwkyMDE2LTEwLTIwIDIwOjU1OjUwLjg1 Mzg0MjMyNCArMDIwMAotQEAgLTAsMCArMSw5OCBAQAotKy8qIENvcHlyaWdodCAyMDExIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgotKwotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBnZGIgdGVzdHN1aXRl LiAgKi8KLSsKLSsJLmdsb2JsIF9zdGFydAotK19zdGFydDoJLnRleHQKLSsKLSsvKiBnYXMvaTM4 Ni94ODYtNjQtcmRybmQucyAqLwotKwkuYXR0X3N5bnRheCBwcmVmaXgKLSsJcmRyYW5kICVieAot KwlyZHJhbmQgJWVieAotKwlyZHJhbmQgJXJieAotKwlyZHJhbmQgJXI4dwotKwlyZHJhbmQgJXI4 ZAotKwlyZHJhbmQgJXI4Ci0rCi0rCS5pbnRlbF9zeW50YXggbm9wcmVmaXgKLSsJcmRyYW5kIGJ4 Ci0rCXJkcmFuZCBlYngKLSsJcmRyYW5kIHJieAotKwlyZHJhbmQgcjh3Ci0rCXJkcmFuZCByOGQK LSsJcmRyYW5kIHI4Ci0rCi0rLyogZ2FzL2kzODYveDg2LTY0LWYxNmMucyAqLwotKwkuYXR0X3N5 bnRheCBwcmVmaXgKLSsJdmN2dHBoMnBzICV4bW00LCV5bW00Ci0rCXZjdnRwaDJwcyAoJXI4KSwl eW1tOAotKwl2Y3Z0cGgycHMgJXhtbTQsJXhtbTYKLSsJdmN2dHBoMnBzICglcmN4KSwleG1tNAot Kwl2Y3Z0cHMycGggJDB4MiwleW1tNCwleG1tNAotKwl2Y3Z0cHMycGggJDB4MiwleW1tOCwoJXI4 KQotKwl2Y3Z0cHMycGggJDB4MiwleG1tNCwleG1tNAotKwl2Y3Z0cHMycGggJDB4MiwleG1tNCwo JXJjeCkgCi0rCi0rCS5pbnRlbF9zeW50YXggbm9wcmVmaXgKLSsJdmN2dHBoMnBzIHltbTQseG1t NAotKwl2Y3Z0cGgycHMgeW1tOCxYTU1XT1JEIFBUUiBbcjhdCi0rCXZjdnRwaDJwcyB5bW00LFty Y3hdCi0rCXZjdnRwaDJwcyB4bW02LHhtbTQKLSsJdmN2dHBoMnBzIHhtbTQsUVdPUkQgUFRSIFty Y3hdICAgICAgICAgIAotKwl2Y3Z0cGgycHMgeG1tNCxbcmN4XQotKwl2Y3Z0cHMycGggeG1tNCx5 bW00LDB4MgotKwl2Y3Z0cHMycGggWE1NV09SRCBQVFIgW3JjeF0seW1tNCwweDIgICAgCi0rCXZj dnRwczJwaCBbcmN4XSx5bW00LDB4MiAKLSsJdmN2dHBzMnBoIHhtbTQseG1tNCwweDIKLSsJdmN2 dHBzMnBoIFFXT1JEIFBUUiBbcjhdLHhtbTgsMHgyICAgICAgIAotKwl2Y3Z0cHMycGggW3JjeF0s eG1tNCwweDIgCi0rCi0rLyogZ2FzL2kzODYveDg2LTY0LWZzZ3MucyAqLwotKwkuYXR0X3N5bnRh eCBwcmVmaXgKLSsJcmRmc2Jhc2UgJWVieAotKwlyZGZzYmFzZSAlcmJ4Ci0rCXJkZnNiYXNlICVy OGQKLSsJcmRmc2Jhc2UgJXI4Ci0rCXJkZ3NiYXNlICVlYngKLSsJcmRnc2Jhc2UgJXJieCAgIAot KwlyZGdzYmFzZSAlcjhkICAgCi0rCXJkZ3NiYXNlICVyOCAgICAKLSsJd3Jmc2Jhc2UgJWVieCAg IAotKwl3cmZzYmFzZSAlcmJ4ICAgCi0rCXdyZnNiYXNlICVyOGQgICAKLSsJd3Jmc2Jhc2UgJXI4 ICAgIAotKwl3cmdzYmFzZSAlZWJ4ICAgCi0rCXdyZ3NiYXNlICVyYnggICAKLSsJd3Jnc2Jhc2Ug JXI4ZCAgIAotKwl3cmdzYmFzZSAlcjggICAgCi0rCi0rCS5pbnRlbF9zeW50YXggbm9wcmVmaXgK LSsJcmRmc2Jhc2UgZWJ4ICAgIAotKwlyZGZzYmFzZSByYnggICAgCi0rCXJkZnNiYXNlIHI4ZCAg ICAKLSsJcmRmc2Jhc2UgcjgKLSsJcmRnc2Jhc2UgZWJ4ICAgIAotKwlyZGdzYmFzZSByYnggICAg Ci0rCXJkZ3NiYXNlIHI4ZCAgICAKLSsJcmRnc2Jhc2UgcjgKLSsJd3Jmc2Jhc2UgZWJ4ICAgIAot Kwl3cmZzYmFzZSByYnggICAgCi0rCXdyZnNiYXNlIHI4ZCAgICAKLSsJd3Jmc2Jhc2UgcjgKLSsJ d3Jnc2Jhc2UgZWJ4ICAgIAotKwl3cmdzYmFzZSByYnggICAgCi0rCXdyZ3NiYXNlIHI4ZCAgICAK LSsJd3Jnc2Jhc2UgcjgKLUluZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kz ODYtaXZ5LWJyaWRnZS5TCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6 MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9pMzg2LWl2eS1icmlkZ2UuUwkyMDE2LTEwLTIwIDIwOjU1OjUwLjg1Mzg0MjMyNCArMDIwMAot QEAgLTAsMCArMSw2NyBAQAotKy8qIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwot KyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBnZGIgdGVzdHN1aXRlLiAgKi8KLSsKLSsJLmds b2JsIF9zdGFydAotK19zdGFydDoJLnRleHQKLSsKLSsvKiBnYXMvaTM4Ni9yZHJuZC5zICovCi0r CS5hdHRfc3ludGF4IHByZWZpeAotKwlyZHJhbmQgJWJ4Ci0rCXJkcmFuZCAlZWJ4Ci0rCi0rCS5p bnRlbF9zeW50YXggbm9wcmVmaXgKLSsJcmRyYW5kIGJ4Ci0rCXJkcmFuZCBlYngKLSsKLSsvKiBn YXMvaTM4Ni9mMTZjLnMgKi8KLSsJLmF0dF9zeW50YXggcHJlZml4Ci0rCXZjdnRwaDJwcyAleG1t NCwleW1tNAotKwl2Y3Z0cGgycHMgKCVlY3gpLCV5bW00Ci0rCXZjdnRwaDJwcyAleG1tNCwleG1t NgotKwl2Y3Z0cGgycHMgKCVlY3gpLCV4bW00Ci0rCXZjdnRwczJwaCAkMHgyLCV5bW00LCV4bW00 Ci0rCXZjdnRwczJwaCAkMHgyLCV5bW00LCglZWN4KSAKLSsJdmN2dHBzMnBoICQweDIsJXhtbTQs JXhtbTQKLSsJdmN2dHBzMnBoICQweDIsJXhtbTQsKCVlY3gpIAotKwotKwkuaW50ZWxfc3ludGF4 IG5vcHJlZml4Ci0rCXZjdnRwaDJwcyB5bW00LHhtbTQKLSsJdmN2dHBoMnBzIHltbTQsWE1NV09S RCBQVFIgW2VjeF0KLSsJdmN2dHBoMnBzIHltbTQsW2VjeF0KLSsJdmN2dHBoMnBzIHhtbTYseG1t NAotKwl2Y3Z0cGgycHMgeG1tNCxRV09SRCBQVFIgW2VjeF0gICAgICAgICAgCi0rCXZjdnRwaDJw cyB4bW00LFtlY3hdCi0rCXZjdnRwczJwaCB4bW00LHltbTQsMHgyCi0rCXZjdnRwczJwaCBYTU1X T1JEIFBUUiBbZWN4XSx5bW00LDB4MiAgICAKLSsJdmN2dHBzMnBoIFtlY3hdLHltbTQsMHgyIAot Kwl2Y3Z0cHMycGggeG1tNCx4bW00LDB4MgotKwl2Y3Z0cHMycGggUVdPUkQgUFRSIFtlY3hdLHht bTQsMHgyICAgICAgCi0rCXZjdnRwczJwaCBbZWN4XSx4bW00LDB4MiAKLSsKLSsvKiBnYXMvaTM4 Ni9mc2dzLnMgKi8KLSsJLmF0dF9zeW50YXggcHJlZml4Ci0rCXJkZnNiYXNlICVlYngKLSsJcmRn c2Jhc2UgJWVieAotKwl3cmZzYmFzZSAlZWJ4Ci0rCXdyZ3NiYXNlICVlYngKLSsKLSsJLmludGVs X3N5bnRheCBub3ByZWZpeAotKwlyZGZzYmFzZSBlYnggICAgCi0rCXJkZ3NiYXNlIGVieCAgICAK LSsJd3Jmc2Jhc2UgZWJ4ICAgIAotKwl3cmdzYmFzZSBlYnggICAgCi0rCistLSAKKzIuMTQuMwor CgpkaWZmIC0tZ2l0IGEvZ2RiLXRlc3QtcGlkMC1jb3JlLnBhdGNoIGIvZ2RiLXRlc3QtcGlkMC1j b3JlLnBhdGNoCmluZGV4IDFjZjlkMmQuLjA0NDkyYmQgMTAwNjQ0Ci0tLSBhL2dkYi10ZXN0LXBp ZDAtY29yZS5wYXRjaAorKysgYi9nZGItdGVzdC1waWQwLWNvcmUucGF0Y2gKQEAgLTEsOSArMSwx MiBAQAorRnJvbSBkYjg3NzFiMTZjZjM2OGFhNjgzY2JmNWQ2ZDhiOGE3ZjNhOWFjNTA4IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVt YWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1YmplY3Q6 IGdkYi10ZXN0LXBpZDAtY29yZS5wYXRjaAogCiBGaWxlTmFtZTogZ2RiLXRlc3QtcGlkMC1jb3Jl LnBhdGNoCiAKKzs7IE5ldyB0ZXN0IGdkYi5hcmNoL3g4Nl82NC1waWQwLWNvcmUuZXhwIGZvciBr ZXJuZWwgUElEIDAgY29yZXMgKEJaIDYxMTQzNSkuCis7Oz1mZWRvcmF0ZXN0CiAKIGh0dHBzOi8v YnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NjExNDM1CiAKQEAgLTEyLDExICsx NSwxOCBAQCBSZTogW1JGQV1jb3JlbG93LmM6IEFkZCB0aWQgdG8gYWRkX3RvX3RocmVhZF9saXN0 CiBodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMC0wOC9tc2cwMDA4NS5o dG1sCiBodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLWN2cy8yMDEwLTA4L21zZzAwMDI2Lmh0 bWwKIDJlNWJjZmRlZjFlYzM4ODNkNDhjM2Y4N2E0YmU1YzBkZmYyNWUxN2UKKy0tLQorIC4uLi9n ZGIuYXJjaC94ODZfNjQtcGlkMC1jb3JlLmNvcmUuYnoyLnV1ICAgICAgICAgIHwgMjAgKysrKysr KysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXBpZDAtY29yZS5leHAgICAgICAg IHwgNDYgKysrKysrKysrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0 aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82 NC1waWQwLWNvcmUuY29yZS5iejIudXUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC94ODZfNjQtcGlkMC1jb3JlLmV4cAogCi1JbmRleDogZ2RiLTcuMTAuOTAuMjAx NjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtcGlkMC1jb3JlLmNvcmUuYnoyLnV1 Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCi0rKysgZ2RiLTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94 ODZfNjQtcGlkMC1jb3JlLmNvcmUuYnoyLnV1CTIwMTYtMDItMTUgMjM6MjM6NDAuNzcyNzcyMTY1 ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtcGlkMC1j b3JlLmNvcmUuYnoyLnV1IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtcGlkMC1jb3Jl LmNvcmUuYnoyLnV1CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNGM4 MjAwYzI0MworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZf NjQtcGlkMC1jb3JlLmNvcmUuYnoyLnV1CiBAQCAtMCwwICsxLDIwIEBACiArYmVnaW4gNjAwIHg4 Nl82NC1waWQwLWNvcmUuY29yZS5iejIKICtNMEVJSC4zJSE2MjkzNjIsQ0E+UCEkLydfX19fX14q I0VaLUEhU1AzNlAmXzpHMCM9MTRgYDA0QSY4LCdVCkBAIC0zOCwxMCArNDgsMTEgQEAgSW5kZXg6 IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXBpZDAt Y29yZS5jb3JlLmJ6Mi51dQogKzRCLlohLywwLUlaXldfUT1SMTNBMEQiLENBPlBgCiArYAogK2Vu ZAotSW5kZXg6IGdkYi03LjEwLjkwLjIwMTYwMjExL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2 XzY0LXBpZDAtY29yZS5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC45MC4yMDE2MDIxMS9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL3g4Nl82NC1waWQwLWNvcmUuZXhwCTIwMTYtMDItMTUgMjM6MjM6NTUu MTQ1ODc1NzA0ICswMTAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZf NjQtcGlkMC1jb3JlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXBpZDAtY29y ZS5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi43YTVhMWNhYzE5 CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC1waWQw LWNvcmUuZXhwCiBAQCAtMCwwICsxLDQ2IEBACiArIyBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2Yg R0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKyMgCkBAIC04OSwzICsxMDAsNiBAQCBJbmRleDogZ2Ri LTcuMTAuOTAuMjAxNjAyMTEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtcGlkMC1jb3Jl LmV4cAogKyMgRm9ybWVyIGNyYXNoIHdhczoKICsjIHRocmVhZC5jOjg4NDogaW50ZXJuYWwtZXJy b3I6IHN3aXRjaF90b190aHJlYWQ6IEFzc2VydGlvbiBgaW5mICE9IE5VTEwnIGZhaWxlZC4KICtn ZGJfdGVzdCAiY29yZS1maWxlICR7Y29yZWZpbGV9IiAiUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGgg c2lnbmFsICgxMXxTSUdTRUdWKSwgU2VnbWVudGF0aW9uIGZhdWx0XFwuXHJcbi4qIgorLS0gCisy LjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQucGF0 Y2ggYi9nZGItdGVzdHN1aXRlLXJlYWRsaW5lNjMtc2lnaW50LnBhdGNoCmluZGV4IDIzZmVjODEu LjA5N2QyN2UgMTAwNjQ0Ci0tLSBhL2dkYi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQucGF0 Y2gKKysrIGIvZ2RiLXRlc3RzdWl0ZS1yZWFkbGluZTYzLXNpZ2ludC5wYXRjaApAQCAtMSwyMCAr MSwyNyBAQAorRnJvbSAwNDI2ZWFmM2RjYTM3YWEwMGVkZjkyNjY4NjcwMWJkMjY0NDJjMzY4IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlk QGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKIFN1Ympl Y3Q6IGdkYi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQucGF0Y2gKIAogRmlsZU5hbWU6IGdk Yi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQucGF0Y2gKIAorOzsgW3Rlc3RzdWl0ZV0gRml4 IGZhbHNlIHNlbGZ0ZXN0LmV4cCBGQUlMIGZyb20gc3lzdGVtIHJlYWRsaW5lLTYuMysgKFBhdHJp Y2sgUGFsa2EpLgorOzs9ZmVkb3JhdGVzdAorCiBnZGIvdXNlcnMvcHBhbGthL3JlYWRsaW5lLTcu MC11cGRhdGUKIGNvbW1pdCAzNzkwNTkyMTVlODIzNTU1YTM3YThkYzdlMDJjZWY4ZmQ4NjU2NmU0 CiBodHRwczovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTUtMDcvbXNnMDA0MjIu aHRtbAogTWVzc2FnZS1JZDogPDE0MzY5Mjc3MjQtNDA1OS0xLWdpdC1zZW5kLWVtYWlsLXBhdHJp Y2tAcGFyY3MuYXRoLmN4PgogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNn aT9pZD0xMzAxMTc1CistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwIHwg MjIgKysrKysrKysrKysrKysrKysrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQogCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMzEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEwLjUw LjIwMTYwMTMxLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAkyMDE2LTAx LTMxIDE5OjQ0OjQ3LjE1Njk2MzQxOSArMDEwMAotKysrIGdkYi03LjEwLjUwLjIwMTYwMTMxL2dk Yi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAJMjAxNi0wMS0zMSAxOTo0NToxMS4yNDUx MzUxNzMgKzAxMDAKLUBAIC00NTgsOSArNDU4LDI1IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVz dC5leHAKK2luZGV4IGE0YTQ0NmY5ZGYuLmNjODBkMTcxZGMgMTAwNjQ0CistLS0gYS9nZGIvdGVz dHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIv c2VsZnRlc3QuZXhwCitAQCAtMTA0LDkgKzEwNCwyNSBAQCBwcm9jIHRlc3Rfd2l0aF9zZWxmIHsg fSB7CiAgICAgIH0KICAgICAgCiAgICAgIHNldCBkZXNjcmlwdGlvbiAic2VuZCBTSUdJTlQgc2ln bmFsIHRvIGNoaWxkIHByb2Nlc3MiCkBAIC00MywzICs1MCw2IEBAIEluZGV4OiBnZGItNy4xMC41 MC4yMDE2MDEzMS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCiAgCiAgICAgICMg U3dpdGNoIGJhY2sgdG8gdGhlIEdEQiB0aHJlYWQgaWYgR3VpbGUgc3VwcG9ydCBpcyBsaW5rZWQg aW4uCiAgICAgICMgInNpZ25hbCBTSUdJTlQiIGNvdWxkIGFsc28gc3dpdGNoIHRoZSBjdXJyZW50 IHRocmVhZC4KKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItdGxzLTFvZjIucGF0Y2gg Yi9nZGItdGxzLTFvZjIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmNjYw YWEuLjAwMDAwMDAKLS0tIGEvZ2RiLXRscy0xb2YyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs NTMgKzAsMCBAQAotRnJvbTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4K LURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IFtwYXRjaCs3 LjEyLjEgMS8yXSBDb2RlIGNsZWFudXA6IHdyaXRlX2V4cF9tc3ltYm9sOiAraXNfdGxzCi0KLUZp bGVOYW1lOiBnZGItdGxzLTFvZjIucGF0Y2gKLQotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dk Yi1wYXRjaGVzLzIwMTYtMTAvbXNnMDAyMDYuaHRtbAotCi0KLQotLS1YTUN3ajVJUW53S3R1eUJH Ci1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKLUNvbnRlbnQtRGlz cG9zaXRpb246IGlubGluZQotCi1IaSwKLQotbm8gZnVuY3Rpb25hbGl0eSBjaGFuZ2UsIGZvciBw YXRjaCAyLzIuCi0KLQotSmFuCi0KLS0tWE1Dd2o1SVFud0t0dXlCRwotQ29udGVudC1UeXBlOiB0 ZXh0L3BsYWluOyBjaGFyc2V0PXVzLWFzY2lpCi1Db250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7 IGZpbGVuYW1lPSJ0bHMxLnBhdGNoIgotCi1nZGIvQ2hhbmdlTG9nCi0yMDE2LTEwLTA5ICBKYW4g S3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci0KLQkqIHBhcnNlLmMgKHdy aXRlX2V4cF9tc3ltYm9sKTogTmV3IHZhcmlhYmxlIGlzX3RscywgdXNlIGl0LgotCi0tLS0gYS9n ZGIvcGFyc2UuYwotKysrIGIvZ2RiL3BhcnNlLmMKLUBAIC00ODQsNiArNDg0LDggQEAgd3JpdGVf ZXhwX21zeW1ib2wgKHN0cnVjdCBwYXJzZXJfc3RhdGUgKnBzLAotICAgc3RydWN0IG9ial9zZWN0 aW9uICpzZWN0aW9uID0gTVNZTUJPTF9PQkpfU0VDVElPTiAob2JqZmlsZSwgbXN5bWJvbCk7Ci0g ICBlbnVtIG1pbmltYWxfc3ltYm9sX3R5cGUgdHlwZSA9IE1TWU1CT0xfVFlQRSAobXN5bWJvbCk7 Ci0gICBDT1JFX0FERFIgcGM7Ci0rICBjb25zdCBpbnQgaXNfdGxzID0gKHNlY3Rpb24gIT0gTlVM TAotKwkJICAgICAgJiYgc2VjdGlvbi0+dGhlX2JmZF9zZWN0aW9uLT5mbGFncyAmIFNFQ19USFJF QURfTE9DQUwpOwotIAotICAgLyogVGhlIG1pbmltYWwgc3ltYm9sIG1pZ2h0IHBvaW50IHRvIGEg ZnVuY3Rpb24gZGVzY3JpcHRvcjsKLSAgICAgIHJlc29sdmUgaXQgdG8gdGhlIGFjdHVhbCBjb2Rl IGFkZHJlc3MgaW5zdGVhZC4gICovCi1AQCAtNTIwLDcgKzUyMiw3IEBAIHdyaXRlX2V4cF9tc3lt Ym9sIChzdHJ1Y3QgcGFyc2VyX3N0YXRlICpwcywKLSAgIHdyaXRlX2V4cF9lbHRfbG9uZ2NzdCAo cHMsIChMT05HRVNUKSBhZGRyKTsKLSAgIHdyaXRlX2V4cF9lbHRfb3Bjb2RlIChwcywgT1BfTE9O Ryk7Ci0gCi0tICBpZiAoc2VjdGlvbiAmJiBzZWN0aW9uLT50aGVfYmZkX3NlY3Rpb24tPmZsYWdz ICYgU0VDX1RIUkVBRF9MT0NBTCkKLSsgIGlmIChpc190bHMpCi0gICAgIHsKLSAgICAgICB3cml0 ZV9leHBfZWx0X29wY29kZSAocHMsIFVOT1BfTUVNVkFMX1RMUyk7Ci0gICAgICAgd3JpdGVfZXhw X2VsdF9vYmpmaWxlIChwcywgb2JqZmlsZSk7Ci0KLS0tWE1Dd2o1SVFud0t0dXlCRy0tCi0KCmRp ZmYgLS1naXQgYS9nZGItdGxzLTJvZjIucGF0Y2ggYi9nZGItdGxzLTJvZjIucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmMDUwZTIuLjAwMDAwMDAKLS0tIGEvZ2RiLXRscy0y b2YyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTY1ICswLDAgQEAKLUZyb206IEZlZG9yYSBH REIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIx OjA3OjUwICswMjAwCi1TdWJqZWN0OiBbcGF0Y2grNy4xMi4xIDIvMl0gRml4IFRMUyAoc3VjaCBh cyAnZXJybm8nKSByZWdyZXNzaW9uCi0KLUZpbGVOYW1lOiBnZGItdGxzLTJvZjIucGF0Y2gKLQot aHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTYtMTAvbXNnMDAyMDcuaHRt bAotCi0KLQotLS0zUHFsOG1pdWdJWlgwNzIyCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9dXMtYXNjaWkKLUNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQotCi1IaSwKLQotMjI3 M2YwYWM5NWE3OWNlMjllZjQyMDI1YzYzZjkwZTgyY2Y5MDdkNyBpcyB0aGUgZmlyc3QgYmFkIGNv bW1pdAotY29tbWl0IDIyNzNmMGFjOTVhNzljZTI5ZWY0MjAyNWM2M2Y5MGU4MmNmOTA3ZDcKLUF1 dGhvcjogVG9tIFRyb21leSA8dHJvbWV5QHJlZGhhdC5jb20+Ci1EYXRlOiAgIFR1ZSBPY3QgMTUg MTM6Mjg6NTcgMjAxMyAtMDYwMAotICAgIGNoYW5nZSBtaW5zeW1zIG5vdCB0byBiZSByZWxvY2F0 ZWQgYXQgcmVhZC10aW1lCi1bRllJIHYzIDA2LzEwXSBjaGFuZ2UgbWluc3ltcyBub3QgdG8gYmUg cmVsb2NhdGVkIGF0IHJlYWQtdGltZQotTWVzc2FnZS1JZDogPDEzOTM0NDEyNzMtMzIyNjgtNy1n aXQtc2VuZC1lbWFpbC10cm9tZXlAcmVkaGF0LmNvbT4KLWh0dHBzOi8vc291cmNld2FyZS5vcmcv bWwvZ2RiLXBhdGNoZXMvMjAxNC0wMi9tc2cwMDc5OC5odG1sCi0KLW12IC91c3IvbGliL2RlYnVn IC91c3IvbGliL2RlYnVnLXgKLWVjaG8gJ2ludCBtYWluKCl7fSd8Z2NjIC1wdGhyZWFkIC14IGMg LQotLi9nZGIgLXEgLWV4IHN0YXJ0IC1leCAnc2V0IGRlYnVnIGV4cHIgMScgLWV4ICdwIGVycm5v JyAuL2Eub3V0IAotCSAgICAwICBVTk9QX01FTVZBTF9UTFMgICAgICAgVExTIHR5cGUgQDB4MzVk ZjdlMCAoX190aHJlYWQgLyogIi9saWI2NC9saWJjLnNvLjYiICovIDx0aHJlYWQgbG9jYWwgdmFy aWFibGUsIG5vIGRlYnVnIGluZm8+KQotCSAgICA0ICAgIE9QX0xPTkcgICAgICAgICAgICAgICBU eXBlIEAweDM1ZGY4NTAgKF9fQ09SRV9BRERSKSwgdmFsdWUgMTQwNzM3MzQ1NzI4NTI4ICgweDdm ZmZmNzdmYjAxMCkKLUNhbm5vdCBhY2Nlc3MgbWVtb3J5IGF0IGFkZHJlc3MgMHhmZmZmZWY3Yzk2 OTgKLS0+Ci0JICAgIDAgIFVOT1BfTUVNVkFMX1RMUyAgICAgICBUTFMgdHlwZSBAMHgzYWQ5NTIw IChfX3RocmVhZCAvKiAiL2xpYjY0L2xpYmMuc28uNiIgKi8gPHRocmVhZCBsb2NhbCB2YXJpYWJs ZSwgbm8gZGVidWcgaW5mbz4pCi0JICAgIDQgICAgT1BfTE9ORyAgICAgICAgICAgICAgIFR5cGUg QDB4M2FkOTU5MCAoX19DT1JFX0FERFIpLCB2YWx1ZSAxNiAoMHgxMCkKLSQxID0gMAotCi1XaXRo IGdsaWJjIGRlYnVnaW5mbywgdGhhdCBpcyB3aXRob3V0OiBtdiAvdXNyL2xpYi9kZWJ1ZyAvdXNy L2xpYi9kZWJ1Zy14Ci0JICAgIDAgIE9QX1ZBUl9WQUxVRSAgICAgICAgICBCbG9jayBAMHgzYjMw ZTcwLCBzeW1ib2wgQDB4M2IzMGQxMCAoZXJybm8pCi0kMSA9IDAKLVNvIHN1Y2ggY2FzZSBpcyB1 bnJlbGF0ZWQgdG8gdGhpcyBwYXRjaCBhbmQgdGhlIHJlZ3Jlc3Npb24gaXMgbm90IHZpc2libGUg d2l0aAotZ2xpYmMgZGVidWdpbmZvIGluc3RhbGxlZC4KLQotSSBndWVzcyBhbGwgdGhlc2UgaXNz dWVzIHdpbGwgYmUgc29sdmVkIGJ5IEdhcnkgQmVuc29uJ3MgSW5maW5pdHkuCi1CdXQgYXQgbGVh c3QgZm9yIG9sZGVyIG5vbi1JbmZpbml0eSBnbGliY3MgR0RCIHNob3VsZCBub3QgcmVncmVzcy4K LQotRm9yIHRoZSB0ZXN0Y2FzZSBpdCBpcyBpbXBvcnRhbnQgdGhlIHZhcmlhYmxlIGlzIGluIG9i amZpbGUgd2l0aCBub24temVybyBiYXNlCi1hZGRyZXNzLiAgZ2xpYmMgaXMgYSBzaGFyZWQgbGli cmFyeSBmb3IgJ2Vycm5vJyBidXQgSSBmb3VuZCBlYXNpZXIgZm9yIHRoZQotdGVzdGNhc2UgdG8g dXNlIFBJRSBpbnN0ZWFkIG9mIGEgc2hsaWIuICBGb3IgVExTIHZhcmlhYmxlcyBpbiBQVF9FWEVD IHRoZQotcmVncmVzc2lvbiBvYnZpb3VzbHkgZG9lcyBub3QgaGFwcGVuLgotCi1JdCBoYXMgYmVl biBmb3VuZCBieSBhIG1vcmUgY29tcGxldGUgdGVzdGNhc2UgcHJlc2VudCBpbiBGZWRvcmEsIHRo ZSBmaXggdGhlcmUKLWFsc28gc29sdmVzIG1vcmUgY2FzZXMgd2hlcmUgRlNGIEdEQiBjdXJyZW50 bHkgY2Fubm90IHJlc29sdmUgJ2Vycm5vJzoKLQlodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9y Zy9jZ2l0L3JwbXMvZ2RiLmdpdC90cmVlL2dkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0 aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKLQlGQUlMOiBnZGIuZHdhcmYyL2R3Mi1lcnJubzIuZXhw OiBtYWNyb3M9TiB0aHJlYWRzPVk6IHByaW50IGVycm5vIGZvciBjb3JlCi0KLU5vIHJlZ3Jlc3Np b25zIG9uIHt4ODZfNjQseDg2XzY0LW0zMixpNjg2fS1mZWRvcmEyNnByZS1saW51eC1nbnUuCi0K LU9LIGZvciBjaGVjay1pbj8KLQotCi1UaGFua3MsCi1KYW4KLQotLS0zUHFsOG1pdWdJWlgwNzIy Ci1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKLUNvbnRlbnQtRGlz cG9zaXRpb246IGlubGluZTsgZmlsZW5hbWU9InRsczEtMi5wYXRjaCIKLQotZ2RiL0NoYW5nZUxv ZwotMjAxNi0xMC0wOSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29t PgotCi0JKiBwYXJzZS5jICh3cml0ZV9leHBfbXN5bWJvbCk6IEZpeCBBRERSIGNvbXB1dGF0aW9u LgotCi1nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwotMjAxNi0xMC0wOSAgSmFuIEtyYXRvY2h2aWwg IDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotCi0JKiBnZGIudGhyZWFkcy90bHMtbm9kZWJ1 Zy1waWUuYzogTmV3IGZpbGUuCi0JKiBnZGIudGhyZWFkcy90bHMtbm9kZWJ1Zy1waWUuZXhwOiBO ZXcgZmlsZS4KLQotLS0tIGEvZ2RiL3BhcnNlLmMKLSsrKyBiL2dkYi9wYXJzZS5jCi1AQCAtNDgw LDEzICs0ODAsMTcgQEAgd3JpdGVfZXhwX21zeW1ib2wgKHN0cnVjdCBwYXJzZXJfc3RhdGUgKnBz LAotICAgc3RydWN0IG9iamZpbGUgKm9iamZpbGUgPSBib3VuZF9tc3ltLm9iamZpbGU7Ci0gICBz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2FyY2ggKG9iamZpbGUpOwotIAot LSAgQ09SRV9BRERSIGFkZHIgPSBCTVNZTUJPTF9WQUxVRV9BRERSRVNTIChib3VuZF9tc3ltKTsK LSAgIHN0cnVjdCBvYmpfc2VjdGlvbiAqc2VjdGlvbiA9IE1TWU1CT0xfT0JKX1NFQ1RJT04gKG9i amZpbGUsIG1zeW1ib2wpOwotICAgZW51bSBtaW5pbWFsX3N5bWJvbF90eXBlIHR5cGUgPSBNU1lN Qk9MX1RZUEUgKG1zeW1ib2wpOwotLSAgQ09SRV9BRERSIHBjOwotKyAgQ09SRV9BRERSIGFkZHIs IHBjOwotICAgY29uc3QgaW50IGlzX3RscyA9IChzZWN0aW9uICE9IE5VTEwKLSAJCSAgICAgICYm IHNlY3Rpb24tPnRoZV9iZmRfc2VjdGlvbi0+ZmxhZ3MgJiBTRUNfVEhSRUFEX0xPQ0FMKTsKLSAK LSsgIGlmIChpc190bHMpCi0rICAgIGFkZHIgPSBNU1lNQk9MX1ZBTFVFX1JBV19BRERSRVNTIChi b3VuZF9tc3ltLm1pbnN5bSk7Ci0rICBlbHNlCi0rICAgIGFkZHIgPSBCTVNZTUJPTF9WQUxVRV9B RERSRVNTIChib3VuZF9tc3ltKTsKLSsKLSAgIC8qIFRoZSBtaW5pbWFsIHN5bWJvbCBtaWdodCBw b2ludCB0byBhIGZ1bmN0aW9uIGRlc2NyaXB0b3I7Ci0gICAgICByZXNvbHZlIGl0IHRvIHRoZSBh Y3R1YWwgY29kZSBhZGRyZXNzIGluc3RlYWQuICAqLwotICAgcGMgPSBnZGJhcmNoX2NvbnZlcnRf ZnJvbV9mdW5jX3B0cl9hZGRyIChnZGJhcmNoLCBhZGRyLCAmY3VycmVudF90YXJnZXQpOwotLS0t IC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90bHMtbm9kZWJ1Zy1w aWUuYwotQEAgLTAsMCArMSwyNyBAQAotKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIs IHRoZSBHTlUgZGVidWdnZXIuCi0rCi0rICAgQ29weXJpZ2h0IDIwMTYgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAg IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsg ICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKLSsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgotKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u ICAqLwotKwotKyNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0rCi0rX190aHJlYWQgaW50IHRocmVhZF9s b2NhbCA9IDQyOwotKwotK2ludCBtYWluKHZvaWQpCi0rewotKyAgLyogRW5zdXJlIHdlIGxpbmsg YWdhaW5zdCBwdGhyZWFkcyBldmVuIHdpdGggLS1hcy1uZWVkZWQuICAqLwotKyAgcHRocmVhZF90 ZXN0Y2FuY2VsKCk7Ci0rICByZXR1cm4gMDsKLSt9Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL3Rscy1ub2RlYnVnLXBpZS5leHAKLUBAIC0wLDAgKzEsMjkg QEAKLSsjIENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwot KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKLSsjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyMgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsjCi0rIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsjIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCi0rIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKyMK LSsjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCi0rIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSsKLStzdGFuZGFyZF90ZXN0ZmlsZQotKwot K2lmIHtbZ2RiX2NvbXBpbGVfcHRocmVhZHMgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxl fSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUgXAotKwkJCSAgW2xpc3QgImFkZGl0aW9uYWxfZmxh Z3M9LWZQSUUgLXBpZSJdXSAhPSAiIiB9IHsKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2NsZWFu X3Jlc3RhcnQgJHtiaW5maWxlfQotK2lmICFbcnVudG9fbWFpbl0gdGhlbiB7Ci0rICAgcmV0dXJu IDAKLSt9Ci0rCi0rIyBGb3JtZXJseTogQ2Fubm90IGFjY2VzcyBtZW1vcnkgYXQgYWRkcmVzcyAw eGQ1NTU0ZDUyMTZmYwotK2dkYl90ZXN0ICJwIHRocmVhZF9sb2NhbCIgIiA9IDQyIiAidGhyZWFk IGxvY2FsIHN0b3JhZ2UiCi0KLS0tM1BxbDhtaXVnSVpYMDcyMi0tCi0KCmRpZmYgLS1naXQgYS9n ZGItdXBzdHJlYW0ucGF0Y2ggYi9nZGItdXBzdHJlYW0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IGFhNDhlZjAuLjAwMDAwMDAKLS0tIGEvZ2RiLXVwc3RyZWFtLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotY29tbWl0IDE2ZWI2YjJkYjQ5ZTZjZjJmZGNh NTZlZmQzNzY4OWZjYzE3MGNkMzcKLUF1dGhvcjogTGVzemVrIFN3aXJza2kgPGxlc3pla3NAZ29v Z2xlLmNvbT4KLURhdGU6ICAgTW9uIEF1ZyA3IDE2OjQwOjM4IDIwMTcgKzAyMDAKLQotICAgIEZp eCBkd2FyZjJfc3RyaW5nX2F0dHIgZm9yIC1nc3BsaXQtZHdhcmYKLSAgICAKLSAgICBUaGUgZHdh cmYyX3N0cmluZ19hdHRyIGRpZCBub3QgYWxsb3cgRFdfRk9STV9HTlVfc3RyX2luZGV4IGFzIGEg Zm9ybSBmb3IKLSAgICBzdHJpbmcgdHlwZXMuIFRoaXMgbWFuaWZlc3RlZCBhcyBudWxsIHN0cmlu Z3MgaW4gdGhlIG5hbWVzcGFjZV9uYW1lCi0gICAgbG9va3VwIChyZXBsYWNlZCB3aXRoICIoYW5v bnltb3VzIG5hbWVzcGFjZSkiKSB3aGVuIGRlYnVnZ2luZwotICAgIEZpc3Npb24tY29tcGlsZWQg Y29kZS4KLSAgICAKLSAgICBnZGIvQ2hhbmdlTG9nOgotICAgIAotICAgICAgICAgICAgKiBkd2Fy ZjJyZWFkLmMgKGR3YXJmMl9zdHJpbmdfYXR0cik6IEFsbG93IERXX0ZPUk1fR05VX3N0cnBfYWx0 LgotCi0jIyMgYS9nZGIvQ2hhbmdlTG9nCi0jIyMgYi9nZGIvQ2hhbmdlTG9nCi0jIyAtMSwzICsx LDcgQEAKLSsyMDE3LTA4LTA3ICBMZXN6ZWsgU3dpcnNraSAgPGxlc3pla3NAZ29vZ2xlLmNvbT4K LSsKLSsJKiBkd2FyZjJyZWFkLmMgKGR3YXJmMl9zdHJpbmdfYXR0cik6IEFsbG93IERXX0ZPUk1f R05VX3N0cnBfYWx0LgotKwotIDIwMTctMDgtMDcgIFNpbW9uIE1hcmNoaSAgPHNpbW9uLm1hcmNo aUBlcmljc3Nvbi5jb20+Ci0gCi0gCSogcmVtb3RlLXNpbS5jIChnZGJzaW1fbG9hZCk6IFJlbW92 ZSBjaGFyICoqYXJndiBsb2NhbCB2YXJpYWJsZS4KLS0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKLSsr KyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0xNzYyMyw3ICsxNzYyMyw4IEBAIGR3YXJmMl9zdHJp bmdfYXR0ciAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHVuc2lnbmVkIGludCBuYW1lLCBzdHJ1Y3Qg ZHdhcmYyX2N1ICpjCi0gICBpZiAoYXR0ciAhPSBOVUxMKQotICAgICB7Ci0gICAgICAgaWYgKGF0 dHItPmZvcm0gPT0gRFdfRk9STV9zdHJwIHx8IGF0dHItPmZvcm0gPT0gRFdfRk9STV9saW5lX3N0 cnAKLS0JICB8fCBhdHRyLT5mb3JtID09IERXX0ZPUk1fc3RyaW5nIHx8IGF0dHItPmZvcm0gPT0g RFdfRk9STV9HTlVfc3RycF9hbHQpCi0rCSAgfHwgYXR0ci0+Zm9ybSA9PSBEV19GT1JNX3N0cmlu ZyB8fCBEV19GT1JNX0dOVV9zdHJfaW5kZXgKLSsJICB8fCBhdHRyLT5mb3JtID09IERXX0ZPUk1f R05VX3N0cnBfYWx0KQotIAlzdHIgPSBEV19TVFJJTkcgKGF0dHIpOwotICAgICAgIGVsc2UKLSAg ICAgICAgIGNvbXBsYWludCAoJnN5bWZpbGVfY29tcGxhaW50cywKLQotCi0KLWNvbW1pdCBiMzM0 MDQzODhlNWJiZDhhMWZkZGZkZTczY2Q0NTkzYWUyYjU1N2U4Ci1BdXRob3I6IEguSi4gTHUgPGhq bC50b29sc0BnbWFpbC5jb20+Ci1EYXRlOiAgIFdlZCBBdWcgOSAwNTowMTo1NSAyMDE3IC0wNzAw Ci0KLSAgICBnZGI6IEZpeCBidWlsZCBmYWlsdXJlIHdpdGggR0NDIDcKLSAgICAKLSAgICBGaXg6 Ci0gICAgCi0gICAgL2V4cG9ydC9nbnUvaW1wb3J0L2dpdC9zb3VyY2VzL2JpbnV0aWxzLWdkYi9n ZGIvZHdhcmYycmVhZC5jOiBJbiBmdW5jdGlvbiDigJhjb25zdCBjaGFyKiBkd2FyZjJfc3RyaW5n X2F0dHIoZGllX2luZm8qLCB1bnNpZ25lZCBpbnQsIGR3YXJmMl9jdSop4oCZOgotICAgIC9leHBv cnQvZ251L2ltcG9ydC9naXQvc291cmNlcy9iaW51dGlscy1nZGIvZ2RiL2R3YXJmMnJlYWQuYzox NzYyNjozOTogZXJyb3I6IGVudW0gY29uc3RhbnQgaW4gYm9vbGVhbiBjb250ZXh0IFstV2Vycm9y PWludC1pbi1ib29sLWNvbnRleHRdCi0gICAgICAgIHx8IGF0dHItPmZvcm0gPT0gRFdfRk9STV9z dHJpbmcgfHwgRFdfRk9STV9HTlVfc3RyX2luZGV4Ci0gICAgCi0gICAgICAgICAgICAqIGR3YXJm MnJlYWQuYyAoZHdhcmYyX3N0cmluZ19hdHRyKTogRml4IGEgdHlwby4KLQotIyMjIGEvZ2RiL0No YW5nZUxvZwotIyMjIGIvZ2RiL0NoYW5nZUxvZwotIyMgLTEsMyArMSw3IEBACi0rMjAxNy0wOC0w OSAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgotKwotKwkqIGR3YXJmMnJlYWQuYyAo ZHdhcmYyX3N0cmluZ19hdHRyKTogRml4IGEgdHlwby4KLSsKLSAyMDE3LTA4LTA5ICBBbGV4IExp bmRzYXkgIDxhbGV4bGluZHNheTIzOUBnbWFpbC5jb20+Ci0gCSAgICBZYW8gUWkgIDx5YW8ucWlA bGluYXJvLm9yZz4KLSAKLS0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKLSsrKyBiL2dkYi9kd2FyZjJy ZWFkLmMKLUBAIC0xNzYyMyw3ICsxNzYyMyw4IEBAIGR3YXJmMl9zdHJpbmdfYXR0ciAoc3RydWN0 IGRpZV9pbmZvICpkaWUsIHVuc2lnbmVkIGludCBuYW1lLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjCi0g ICBpZiAoYXR0ciAhPSBOVUxMKQotICAgICB7Ci0gICAgICAgaWYgKGF0dHItPmZvcm0gPT0gRFdf Rk9STV9zdHJwIHx8IGF0dHItPmZvcm0gPT0gRFdfRk9STV9saW5lX3N0cnAKLS0JICB8fCBhdHRy LT5mb3JtID09IERXX0ZPUk1fc3RyaW5nIHx8IERXX0ZPUk1fR05VX3N0cl9pbmRleAotKwkgIHx8 IGF0dHItPmZvcm0gPT0gRFdfRk9STV9zdHJpbmcKLSsJICB8fCBhdHRyLT5mb3JtID09IERXX0ZP Uk1fR05VX3N0cl9pbmRleAotIAkgIHx8IGF0dHItPmZvcm0gPT0gRFdfRk9STV9HTlVfc3RycF9h bHQpCi0gCXN0ciA9IERXX1NUUklORyAoYXR0cik7Ci0gICAgICAgZWxzZQoKZGlmZiAtLWdpdCBh L2dkYi12bGEtaW50ZWwtZml4LXByaW50LWNoYXItYXJyYXkucGF0Y2ggYi9nZGItdmxhLWludGVs LWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjBhNjBhZGEKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItdmxhLWludGVsLWZpeC1wcmlu dC1jaGFyLWFycmF5LnBhdGNoCkBAIC0wLDAgKzEsNzIgQEAKK0Zyb20gMmE1MTBjMzhlNzZkYmFh NWNlNjdlNmUyZGE1ZDI3MjA5MzY4NzJiOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IFNlcmdpbyBEdXJpZ2FuIEp1bmlvciA8c2VyZ2lvZGpAcmVkaGF0LmNvbT4KK0RhdGU6IFRodSwg NyBEZWMgMjAxNyAxNjoyMDozMSAtMDUwMAorU3ViamVjdDogZ2RiLXZsYS1pbnRlbC1maXgtcHJp bnQtY2hhci1hcnJheS5wYXRjaAorCitGaWxlTmFtZTogZ2RiLXZsYS1pbnRlbC1maXgtcHJpbnQt Y2hhci1hcnJheS5wYXRjaAorCis7OyBSZXZlcnQgdXBzdHJlYW0gY29tbWl0IDQ2OTQxMmRkOWNj YzRkZTU4NzRmZDMyOTliMTA1ODMzZjM2YjM0Y2QKKworUmV2ZXJ0IGNvbW1pdCAob25seSB0aGUg cGFydCB0b3VjaGluZyBnZGIvZi12YWxwcmludC5jKToKKworICBjb21taXQgNDY5NDEyZGQ5Y2Nj NGRlNTg3NGZkMzI5OWIxMDU4MzNmMzZiMzRjZAorICBBdXRob3I6IENocmlzdG9waCBXZWlubWFu biA8Y2hyaXN0b3BoLnQud2Vpbm1hbm5AaW50ZWwuY29tPgorICBEYXRlOiAgIEZyaSBTZXAgOCAx NToxMTo0NyAyMDE3ICswMjAwCisKKyAgICAgIFJlbW92ZSBDL0MrKyByZWxldmFudCBjb2RlIGlu IEZvcnRyYW4gc3BlY2lmaWMgZmlsZS4KKworICAgICAgUmVtb3ZlIGNvZGUgcmVsZXZhbnQgZm9y IHByaW50aW5nIEMvQysrIEludGVnZXIgdmFsdWVzIGluIGEKKyAgICAgIEZvcnRyYW4gc3BlY2lm aWMgZmlsZSB0byB1bmlmeSBwcmludGluZyBvZiBGb3J0cmFuIHZhbHVlcy4KKyAgICAgIFRoaXMg ZG9lcyBub3QgY2hhbmdlIHRoZSBvdXRwdXQuCisKK0FuZCBhZGp1c3QgaXRzIHRlc3RjYXNlLgor LS0tCisgZ2RiL2YtdmFscHJpbnQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxOCAr KysrKysrKysrKysrKysrLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50aW5nLXR5 cGVzLmV4cCB8ICAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2RiL2YtdmFscHJpbnQuYyBiL2dkYi9mLXZhbHBy aW50LmMKK2luZGV4IDEwYzU3NGM3ZmEuLmVlZTA5MGRmZGQgMTAwNjQ0CistLS0gYS9nZGIvZi12 YWxwcmludC5jCisrKysgYi9nZGIvZi12YWxwcmludC5jCitAQCAtMzE0LDggKzMxNCwyMiBAQCBm X3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAor IAkJCQkgICAgICBvcmlnaW5hbF92YWx1ZSwgJm9wdHMsIDAsIHN0cmVhbSk7CisgCX0KKyAgICAg ICBlbHNlCistCXZhbF9wcmludF9zY2FsYXJfZm9ybWF0dGVkICh0eXBlLCBlbWJlZGRlZF9vZmZz ZXQsCistCQkJCSAgICBvcmlnaW5hbF92YWx1ZSwgb3B0aW9ucywgMCwgc3RyZWFtKTsKKysJewor KwkgIHZhbF9wcmludF9zY2FsYXJfZm9ybWF0dGVkICh0eXBlLCBlbWJlZGRlZF9vZmZzZXQsCisr CQkJCSAgICAgIG9yaWdpbmFsX3ZhbHVlLCBvcHRpb25zLCAwLCBzdHJlYW0pOworKwkgIC8qIEMg YW5kIEMrKyBoYXMgbm8gc2luZ2xlIGJ5dGUgaW50IHR5cGUsIGNoYXIgaXMgdXNlZCBpbnN0ZWFk LgorKwkgICAgIFNpbmNlIHdlIGRvbid0IGtub3cgd2hldGhlciB0aGUgdmFsdWUgaXMgcmVhbGx5 IGludGVuZGVkIHRvCisrCSAgICAgYmUgdXNlZCBhcyBhbiBpbnRlZ2VyIG9yIGEgY2hhcmFjdGVy LCBwcmludCB0aGUgY2hhcmFjdGVyCisrCSAgICAgZXF1aXZhbGVudCBhcyB3ZWxsLiAgKi8KKysJ ICBpZiAoVFlQRV9MRU5HVEggKHR5cGUpID09IDEpCisrCSAgICB7CisrCSAgICAgIExPTkdFU1Qg YzsKKysKKysJICAgICAgZnB1dHNfZmlsdGVyZWQgKCIgIiwgc3RyZWFtKTsKKysJICAgICAgYyA9 IHVucGFja19sb25nICh0eXBlLCB2YWxhZGRyICsgZW1iZWRkZWRfb2Zmc2V0KTsKKysJICAgICAg TEFfUFJJTlRfQ0hBUiAoKHVuc2lnbmVkIGNoYXIpIGMsIHR5cGUsIHN0cmVhbSk7CisrCSAgICB9 CisrCX0KKyAgICAgICBicmVhazsKKyAKKyAgICAgY2FzZSBUWVBFX0NPREVfU1RSVUNUOgorZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRpbmctdHlwZXMuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludGluZy10eXBlcy5leHAKK2luZGV4IDA4NWRl NGZjOGYuLjdiMmM2NTE2ZGEgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ByaW50aW5nLXR5cGVzLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmlu dGluZy10eXBlcy5leHAKK0BAIC0yOSw3ICsyOSw3IEBAIGlmIHshW3J1bnRvIE1BSU5fX119IHRo ZW4geworIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ3cml0ZSJdCisgZ2Ri X2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgIndyaXRlIgorIAorLWdkYl90ZXN0ICJwcmludCBvbmVC eXRlIgkiID0gMSIKKytnZGJfdGVzdCAicHJpbnQgb25lQnl0ZSIJIiA9IDEgXCdcXFxcMDAxXCci CisgZ2RiX3Rlc3QgInByaW50IHR3b2J5dGVzIgkiID0gMiIKKyBnZGJfdGVzdCAicHJpbnQgY2h2 YWx1ZSIJIiA9IFwnYVwnIgorIGdkYl90ZXN0ICJwcmludCBsb2d2YWx1ZSIJIiA9IFwuVFJVRVwu IgorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi12bGEtaW50ZWwtZm9ydHJhbi1zdHJp ZGVzLnBhdGNoIGIvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2gKaW5kZXggN2Vh N2UyYy4uNTEwNmI2ZiAxMDA2NDQKLS0tIGEvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMu cGF0Y2gKKysrIGIvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2gKQEAgLTEsMTAg KzEsMTMgQEAKLUZyb20gZjQwOGJhODIxZjhjOGI1YWQ2NTY0Yjk4ODA2NjY2ZDI0NzhmNzU5OSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZDMyMzg4MmQyYzQ5NzI4NGYwMTBiNzBjYTYw NWIxMDAwNjhkZTMzMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEZlZG9yYSBHREIg cGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3 OjUwICswMjAwCiBTdWJqZWN0OiBnZGItdmxhLWludGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaAog CiBGaWxlTmFtZTogZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2gKIAorOzsgVkxB IChGb3J0cmFuIGR5bmFtaWMgYXJyYXlzKSBmcm9tIEludGVsICsgYXJjaGVyLWphbmtyYXRvY2h2 aWwtdmxhIHRlc3RzLgorOzs9cHVzaAorCiBnaXQgZGlmZiAtLXN0YXQgLXAgZ2RiL21hc3Rlci4u LmdkYi91c2Vycy9iaGVja2VsL2ZvcnRyYW4tc3RyaWRlcwogZGJmZDcxNDBiZjRjMDUwMGQxZjVk MTkyYmU3ODFmODNmNzhmNzkyMgogCkBAIC0zMiwxMiArMzUsNDEgQEAgZGJmZDcxNDBiZjRjMDUw MGQxZjVkMTkyYmU3ODFmODNmNzhmNzkyMgogIGdkYi92YWxvcHMuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAxOTcgKysrKysrKysrKystLQogIGdkYi92YWx1ZS5oICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwogIDIzIGZpbGVzIGNoYW5nZWQsIDEyNDIg aW5zZXJ0aW9ucygrKSwgMTgzIGRlbGV0aW9ucygtKQorLS0tCisgZ2RiL2R3YXJmMmxvYy5jICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0NiArKy0KKyBnZGIvZHdhcmYybG9jLmggICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2ICsKKyBnZGIvZHdhcmYycmVhZC5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDEzICstCisgZ2RiL2V2YWwuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IDM5MSArKysrKysrKysrKysrKysrKysrKystLS0tLQorIGdk Yi9leHBwcmludC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjAgKy0KKyBnZGIv ZXhwcmVzc2lvbi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE4ICstCisgZ2RiL2Yt ZXhwLnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0MiArKy0KKyBnZGIvZi12 YWxwcmludC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA4ICstCisgZ2RiL2dkYnR5 cGVzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzNCArKy0KKyBnZGIvZ2RidHlw ZXMuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE4ICstCisgZ2RiL3BhcnNlLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyNCArLQorIGdkYi9ydXN0LWV4cC55 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTIgKy0KKyBnZGIvcnVzdC1sYW5nLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE3ICstCisgZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9zdGF0aWMtYXJyYXlzLmV4cCB8IDQyMSArKysrKysrKysrKysrKysrKysrKysrKysr KysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdGF0aWMtYXJyYXlzLmY5MCB8ICA1NSAr KysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwICAgICB8ICAgNCAr CisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cCAgICB8ICAgNCArCisg Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRlLmV4cCAgICB8ICA0NCArKysKKyBn ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZjkwICAgIHwgIDI5ICsrCisgZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEuZjkwICAgICAgICAgICB8ICAxMCArCisgZ2RiL3Zh bGFyaXRoLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMCArLQorIGdkYi92YWxv cHMuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxOTkgKysrKysrKysrKystLQor IGdkYi92YWx1ZS5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKworIDIz IGZpbGVzIGNoYW5nZWQsIDEyNDUgaW5zZXJ0aW9ucygrKSwgMTgyIGRlbGV0aW9ucygtKQorIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0YXRpYy1hcnJheXMu ZXhwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGlj LWFycmF5cy5mOTAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtc3RyaWRlLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ZsYS1zdHJpZGUuZjkwCiAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv ZHdhcmYybG9jLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9kd2FyZjJsb2MuYwkyMDE3LTA0LTIwIDIyOjI1OjQzLjk3MzI1NDY4NSArMDIwMAotKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJsb2MuYwkyMDE3LTA0LTIwIDIyOjI2OjE0LjM1 NjQ0NjU2MiArMDIwMAotQEAgLTI2MjIsMTEgKzI2MjIsMTQgQEAKK2RpZmYgLS1naXQgYS9nZGIv ZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKK2luZGV4IGZlMmZlYTBkMGUuLjU0NTkyZjBi ZmMgMTAwNjQ0CistLS0gYS9nZGIvZHdhcmYybG9jLmMKKysrKyBiL2dkYi9kd2FyZjJsb2MuYwor QEAgLTI2MDQsMTEgKzI2MDQsMTQgQEAgZHdhcmYyX2xvY2V4cHJfYmF0b25fZXZhbCAoY29uc3Qg c3RydWN0IGR3YXJmMl9sb2NleHByX2JhdG9uICpkbGJhdG9uLAogIC8qIFNlZSBkd2FyZjJsb2Mu aC4gICovCiAgCiAgaW50CkBAIC01NCw3ICs4Niw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvZHdhcmYybG9jLmMKICAgIGlmIChwcm9wID09IE5VTEwpCiAgICAgIHJldHVybiAw OwogIAotQEAgLTI2NTAsNyArMjY1Myw3IEBACitAQCAtMjYzMiw3ICsyNjM1LDcgQEAgZHdhcmYy X2V2YWx1YXRlX3Byb3BlcnR5IChjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLAogIAog IAkJKnZhbHVlID0gdmFsdWVfYXNfYWRkcmVzcyAodmFsKTsKICAJICAgICAgfQpAQCAtNjMsNyAr OTUsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMmxvYy5jCiAgCSAg fQogICAgICAgIH0KICAgICAgICBicmVhazsKLUBAIC0yNjcyLDcgKzI2NzUsNyBAQAorQEAgLTI2 NTQsNyArMjY1Nyw3IEBAIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0IGR5 bmFtaWNfcHJvcCAqcHJvcCwKICAJICAgIGlmICghdmFsdWVfb3B0aW1pemVkX291dCAodmFsKSkK ICAJICAgICAgewogIAkJKnZhbHVlID0gdmFsdWVfYXNfYWRkcmVzcyAodmFsKTsKQEAgLTcyLDcg KzEwNCw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYybG9jLmMKICAJ ICAgICAgfQogIAkgIH0KICAgICAgICB9Ci1AQCAtMjY4MCw4ICsyNjgzLDggQEAKK0BAIC0yNjYy LDggKzI2NjUsOCBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5h bWljX3Byb3AgKnByb3AsCiAgCiAgICAgIGNhc2UgUFJPUF9DT05TVDoKICAgICAgICAqdmFsdWUg PSBwcm9wLT5kYXRhLmNvbnN0X3ZhbDsKQEAgLTgzLDcgKzExNSw3IEBAIEluZGV4OiBnZGItNy45 OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYybG9jLmMKICAgICAgY2FzZSBQUk9QX0FERFJfT0ZGU0VU OgogICAgICAgIHsKICAJc3RydWN0IGR3YXJmMl9wcm9wZXJ0eV9iYXRvbiAqYmF0b24KLUBAIC0y NzAyLDExICsyNzA1LDM4IEBACitAQCAtMjY4NCwxMSArMjY4NywzOCBAQCBkd2FyZjJfZXZhbHVh dGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCiAgCSAgdmFsID0g dmFsdWVfYXQgKGJhdG9uLT5vZmZzZXRfaW5mby50eXBlLAogIAkJCSAgcGluZm8tPmFkZHIgKyBi YXRvbi0+b2Zmc2V0X2luZm8ub2Zmc2V0KTsKICAJKnZhbHVlID0gdmFsdWVfYXNfYWRkcmVzcyAo dmFsKTsKQEAgLTkxLDggKzEyMyw5IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv ZHdhcmYybG9jLmMKICsJcmMgPSAxOwogICAgICAgIH0KICsgICAgICBicmVhazsKLSsgICAgfQot KworICAgICB9CisgCistICByZXR1cm4gMDsKICsgIGlmIChyYyA9PSAxICYmIGlzX3NpZ25lZCA9 PSAxKQogKyAgICB7CiArICAgICAgLyogSWYgd2UgaGF2ZSBhIHZhbGlkIHJldHVybiBjYW5kaWRh dGUgYW5kIGl0J3MgdmFsdWUgaXMgc2lnbmVkLApAQCAtMTA1LDExICsxMzgsMTAgQEAgSW5kZXg6 IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJsb2MuYwogKyAgICAgIC8qIENoZWNrIGlm IHNpZ25lZCBiaXQgaXMgc2V0IGFuZCBzaWduLWV4dGVuZCB2YWx1ZXMuICAqLwogKyAgICAgIGlm ICgqdmFsdWUgJiAobmVnX21hc2spKQogKwkqdmFsdWUgfD0gKG5lZ19tYXNrICk7Ci0gICAgIH0K KysgICAgfQogKyAgcmV0dXJuIHJjOwogK30KLSAKLS0gIHJldHVybiAwOworKwogK2ludAogK2R3 YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAqcHJvcCwK ICsJCQkgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKQEAgLTEyNCwxMSArMTU2LDExIEBAIElu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYybG9jLmMKICB9CiAgCiAgLyogU2Vl IGR3YXJmMmxvYy5oLiAgKi8KLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYy bG9jLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9kd2Fy ZjJsb2MuaAkyMDE3LTA0LTIwIDIyOjI1OjQzLjk3MzI1NDY4NSArMDIwMAotKysrIGdkYi03Ljk5 LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJsb2MuaAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM1NjQ0NjU2 MiArMDIwMAotQEAgLTE0Myw2ICsxNDMsMTIgQEAKK2RpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9j LmggYi9nZGIvZHdhcmYybG9jLmgKK2luZGV4IGRiMDI2ZDNlNjguLjZkMjRhMDI3YTMgMTAwNjQ0 CistLS0gYS9nZGIvZHdhcmYybG9jLmgKKysrKyBiL2dkYi9kd2FyZjJsb2MuaAorQEAgLTE0Myw2 ICsxNDMsMTIgQEAgaW50IGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0IGR5 bmFtaWNfcHJvcCAqcHJvcCwKICAJCQkgICAgICBzdHJ1Y3QgcHJvcGVydHlfYWRkcl9pbmZvICph ZGRyX3N0YWNrLAogIAkJCSAgICAgIENPUkVfQUREUiAqdmFsdWUpOwogIApAQCAtMTQxLDExICsx NzMsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJsb2MuaAogIC8q IEEgaGVscGVyIGZvciB0aGUgY29tcGlsZXIgaW50ZXJmYWNlIHRoYXQgY29tcGlsZXMgYSBzaW5n bGUgZHluYW1pYwogICAgIHByb3BlcnR5IHRvIEMgY29kZS4KICAKLUluZGV4OiBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVhZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuOTkuOTAu MjAxNzA0MjAub3JpZy9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDQtMjAgMjI6MjU6NDMuOTczMjU0 Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3 LTA0LTIwIDIyOjI3OjA4LjUxMDc4ODU2MiArMDIwMAotQEAgLTE1MjY4LDcgKzE1MjY4LDcgQEAK K2RpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYworaW5kZXgg NzhjNjYzYzQ5Yi4uNGYyZDA0MzI5YyAxMDA2NDQKKy0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKKysr KyBiL2dkYi9kd2FyZjJyZWFkLmMKK0BAIC0xNjMxMCw3ICsxNjMxMCw3IEBAIHJlYWRfc3VicmFu Z2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAg c3RydWN0IHR5cGUgKmJhc2VfdHlwZSwgKm9yaWdfYmFzZV90eXBlOwogICAgc3RydWN0IHR5cGUg KnJhbmdlX3R5cGU7CiAgICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMTU0LDcgKzE4Niw3 IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZHdhcmYycmVhZC5jCiAgICBpbnQg bG93X2RlZmF1bHRfaXNfdmFsaWQ7CiAgICBpbnQgaGlnaF9ib3VuZF9pc19jb3VudCA9IDA7CiAg ICBjb25zdCBjaGFyICpuYW1lOwotQEAgLTE1Mjg4LDcgKzE1Mjg4LDkgQEAKK0BAIC0xNjMzMCw3 ICsxNjMzMCw5IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0 cnVjdCBkd2FyZjJfY3UgKmN1KQogIAogICAgbG93LmtpbmQgPSBQUk9QX0NPTlNUOwogICAgaGln aC5raW5kID0gUFJPUF9DT05TVDsKQEAgLTE2NCw3ICsxOTYsNyBAQCBJbmRleDogZ2RiLTcuOTku OTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQuYwogIAogICAgLyogU2V0IExPV19ERUZBVUxUX0lT X1ZBTElEIGlmIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIERXQVJGIHZlcnNpb24gYWxsb3cKICAgICAg IG9taXR0aW5nIERXX0FUX2xvd2VyX2JvdW5kLiAgKi8KLUBAIC0xNTMyMSw2ICsxNTMyMywxMyBA QAorQEAgLTE2MzYzLDYgKzE2MzY1LDEzIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRp ZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgICAgIGJyZWFrOwogICAgICB9 CiAgCkBAIC0xNzgsNyArMjEwLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9k d2FyZjJyZWFkLmMKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9sb3dlcl9ib3Vu ZCwgY3UpOwogICAgaWYgKGF0dHIpCiAgICAgIGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBk aWUsIGN1LCAmbG93KTsKLUBAIC0xNTM5Nyw3ICsxNTQwNiw3IEBACitAQCAtMTY0MzksNyArMTY0 NDgsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3Qg ZHdhcmYyX2N1ICpjdSkKICAgICAgICAmJiAhVFlQRV9VTlNJR05FRCAoYmFzZV90eXBlKSAmJiAo aGlnaC5kYXRhLmNvbnN0X3ZhbCAmIG5lZ2F0aXZlX21hc2spKQogICAgICBoaWdoLmRhdGEuY29u c3RfdmFsIHw9IG5lZ2F0aXZlX21hc2s7CiAgCkBAIC0xODcsMTEgKzIxOSwxMSBAQCBJbmRleDog Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2R3YXJmMnJlYWQuYwogIAogICAgaWYgKGhpZ2hfYm91 bmRfaXNfY291bnQpCiAgICAgIFRZUEVfUkFOR0VfREFUQSAocmFuZ2VfdHlwZSktPmZsYWdfdXBw ZXJfYm91bmRfaXNfY291bnQgPSAxOwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9l dmFsLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9ldmFs LmMJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvZXZhbC5jCTIwMTctMDQtMjAgMjI6MjY6MTQuMzYyNDQ2NjAwICswMjAwCi1A QCAtMzc5LDI5ICszNzksMzI1IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFs LmMKK2luZGV4IDE0YTNlMDVhZGUuLjQ0ZjdhNGVkZmUgMTAwNjQ0CistLS0gYS9nZGIvZXZhbC5j CisrKysgYi9nZGIvZXZhbC5jCitAQCAtMzg0LDI5ICszODQsMzI1IEBAIGluaXRfYXJyYXlfZWxl bWVudCAoc3RydWN0IHZhbHVlICphcnJheSwgc3RydWN0IHZhbHVlICplbGVtZW50LAogICAgcmV0 dXJuIGluZGV4OwogIH0KICAKQEAgLTIxNiw2ICsyNDgsMTEgQEAgSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9ldmFsLmMKIC0gICAgPSAoZW51bSByYW5nZV90eXBlKSBsb25nZXN0X3Rv X2ludCAoZXhwLT5lbHRzW3BjXS5sb25nY29uc3QpOwogLSAKIC0gICpwb3MgKz0gMzsKKy0KKy0g IGlmIChyYW5nZV90eXBlID09IExPV19CT1VORF9ERUZBVUxUIHx8IHJhbmdlX3R5cGUgPT0gQk9U SF9CT1VORF9ERUZBVUxUKQorLSAgICBsb3dfYm91bmQgPSBUWVBFX0xPV19CT1VORCAocmFuZ2Up OworLSAgZWxzZQorLSAgICBsb3dfYm91bmQgPSB2YWx1ZV9hc19sb25nIChldmFsdWF0ZV9zdWJl eHAgKE5VTExfVFlQRSwgZXhwLCBwb3MsIG5vc2lkZSkpOwogKyAgc3RydWN0IHZhbHVlICpuZXdf YXJyYXkgPSBhcnJheTsKICsgIHN0cnVjdCB0eXBlICphcnJheV90eXBlID0gY2hlY2tfdHlwZWRl ZiAodmFsdWVfdHlwZSAobmV3X2FycmF5KSk7CiArICBzdHJ1Y3QgdHlwZSAqZWx0X3R5cGU7CkBA IC0yNzAsMjEgKzMwNywxNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V2YWwu YwogKyAgICB7CiArICAgICAgc3RydWN0IHN1YnNjcmlwdF9zdG9yZSAqaW5kZXggPSAmc3Vic2Ny aXB0X2FycmF5W2ldOwogIAotLSAgaWYgKHJhbmdlX3R5cGUgPT0gTE9XX0JPVU5EX0RFRkFVTFQg fHwgcmFuZ2VfdHlwZSA9PSBCT1RIX0JPVU5EX0RFRkFVTFQpCi0tICAgIGxvd19ib3VuZCA9IFRZ UEVfTE9XX0JPVU5EIChyYW5nZSk7CistICBpZiAocmFuZ2VfdHlwZSA9PSBISUdIX0JPVU5EX0RF RkFVTFQgfHwgcmFuZ2VfdHlwZSA9PSBCT1RIX0JPVU5EX0RFRkFVTFQpCistICAgIGhpZ2hfYm91 bmQgPSBUWVBFX0hJR0hfQk9VTkQgKHJhbmdlKTsKIC0gIGVsc2UKLS0gICAgbG93X2JvdW5kID0g dmFsdWVfYXNfbG9uZyAoZXZhbHVhdGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBub3Np ZGUpKTsKKy0gICAgaGlnaF9ib3VuZCA9IHZhbHVlX2FzX2xvbmcgKGV2YWx1YXRlX3N1YmV4cCAo TlVMTF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKSk7CiArICAgICAgLyogVGhlIHVzZXIgaW5wdXQg aXMgYSByYW5nZSwgd2l0aCBvciB3aXRob3V0IGxvd2VyIGFuZCB1cHBlciBib3VuZC4KICsJIEUu Zy46ICJwIGFycnkoMjo1KSIsICJwIGFycnkoIDo1KSIsICJwIGFycnkoIDogKSIsIGV0Yy4gICov CiArICAgICAgaWYgKGV4cC0+ZWx0c1sqcG9zXS5vcGNvZGUgPT0gT1BfUkFOR0UpCiArCXsKICsJ ICBpbnQgcGMgPSAoKnBvcykgKyAxOwogKwkgIHN1YnNjcmlwdF9yYW5nZSAqcmFuZ2U7Ci0gCi0t ICBpZiAocmFuZ2VfdHlwZSA9PSBISUdIX0JPVU5EX0RFRkFVTFQgfHwgcmFuZ2VfdHlwZSA9PSBC T1RIX0JPVU5EX0RFRkFVTFQpCi0tICAgIGhpZ2hfYm91bmQgPSBUWVBFX0hJR0hfQk9VTkQgKHJh bmdlKTsKLS0gIGVsc2UKLS0gICAgaGlnaF9ib3VuZCA9IHZhbHVlX2FzX2xvbmcgKGV2YWx1YXRl X3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKSk7CisrCiArCSAgaW5kZXgtPmtp bmQgPSBTVUJTQ1JJUFRfUkFOR0U7CiArCSAgcmFuZ2UgPSAmaW5kZXgtPlUucmFuZ2U7CiArCkBA IC0zNzgsOCArNDExLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ldmFsLmMK ICsKICsJY2FzZSBTVUJTQ1JJUFRfSU5ERVg6CiArCSAgYnJlYWs7Ci0gCi0tICByZXR1cm4gdmFs dWVfc2xpY2UgKGFycmF5LCBsb3dfYm91bmQsIGhpZ2hfYm91bmQgLSBsb3dfYm91bmQgKyAxKTsK KysKICsJfQogKwogKyAgICAgICBhcnJheV90eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlf dHlwZSk7CkBAIC00OTksNyArNTMxLDggQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9ldmFsLmMKICsJICAgICAgc3RydWN0IHR5cGUgKnJhbmdlX3R5cGUsICppbnRlcmltX2FycmF5 X3R5cGU7CiArCiArCSAgICAgIGludCBuZXdfbGVuZ3RoOwotKworIAorLSAgcmV0dXJuIHZhbHVl X3NsaWNlIChhcnJheSwgbG93X2JvdW5kLCBoaWdoX2JvdW5kIC0gbG93X2JvdW5kICsgMSk7CiAr CSAgICAgIC8qIFRoZSBsZW5ndGggb2YgYSBzdWItZGltZW5zaW9uIHdpdGggYWxsIGVsZW1lbnRz IGJldHdlZW4gdGhlCiArCQkgYm91bmRzIHBsdXMgdGhlIHN0YXJ0IGVsZW1lbnQgaXRzZWxmLiAg SXQgbWF5IGJlIG1vZGlmaWVkIGJ5CiArCQkgYSB1c2VyIHByb3ZpZGVkIHN0cmlkZSB2YWx1ZS4g ICovCkBAIC01MzQsNyArNTY3LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9l dmFsLmMKICB9CiAgCiAgCi1AQCAtMTc5MCwxOSArMjA4Niw4IEBACitAQCAtMTkyOCwxOSArMjIy NCw4IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBl LAogICAgICAgIHN3aXRjaCAoY29kZSkKICAJewogIAljYXNlIFRZUEVfQ09ERV9BUlJBWToKQEAg LTU1NSw3ICs1ODgsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V2YWwuYwog IAogIAljYXNlIFRZUEVfQ09ERV9QVFI6CiAgCWNhc2UgVFlQRV9DT0RFX0ZVTkM6Ci1AQCAtMjIw Myw0OSArMjQ4OCw2IEBACitAQCAtMjMzNiw0OSArMjYyMSw2IEBAIGV2YWx1YXRlX3N1YmV4cF9z dGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAl9CiAgICAgICAgcmV0dXJuIChh cmcxKTsKICAKQEAgLTYwNSw3ICs2MzgsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2V2YWwuYwogICAgICBjYXNlIEJJTk9QX0xPR0lDQUxfQU5EOgogICAgICAgIGFyZzEgPSBl dmFsdWF0ZV9zdWJleHAgKE5VTExfVFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7CiAgICAgICAgaWYg KG5vc2lkZSA9PSBFVkFMX1NLSVApCi1AQCAtMzEwMiw2ICszMzQ0LDkgQEAKK0BAIC0zMjgyLDYg KzM1MjQsOSBAQCBjYWxjX2Y3N19hcnJheV9kaW1zIChzdHJ1Y3QgdHlwZSAqYXJyYXlfdHlwZSkK ICAgIGludCBuZGltZW4gPSAxOwogICAgc3RydWN0IHR5cGUgKnRtcF90eXBlOwogIApAQCAtNjE1 LDExICs2NDgsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ldmFsLmMKICAg IGlmICgoVFlQRV9DT0RFIChhcnJheV90eXBlKSAhPSBUWVBFX0NPREVfQVJSQVkpKQogICAgICBl cnJvciAoXygiQ2FuJ3QgZ2V0IGRpbWVuc2lvbnMgZm9yIGEgbm9uLWFycmF5IHR5cGUiKSk7CiAg Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V4cHByaW50LmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9leHBwcmludC5jCTIwMTctMDQtMjAg MjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V4 cHByaW50LmMJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjM0NDY2MDcgKzAyMDAKLUBAIC01NjgsMTIg KzU2OCwxMCBAQAorZGlmZiAtLWdpdCBhL2dkYi9leHBwcmludC5jIGIvZ2RiL2V4cHByaW50LmMK K2luZGV4IGE5OTgzMmM3YWIuLjcxMzVmYjUwZTIgMTAwNjQ0CistLS0gYS9nZGIvZXhwcHJpbnQu YworKysrIGIvZ2RiL2V4cHByaW50LmMKK0BAIC01ODEsMTIgKzU4MSwxMCBAQCBwcmludF9zdWJl eHBfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLAogIAkqcG9zICs9 IDI7CiAgCiAgCWZwdXRzX2ZpbHRlcmVkICgiUkFOR0UoIiwgc3RyZWFtKTsKQEAgLTYzNCw3ICs2 NjcsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V4cHByaW50LmMKICAJICBw cmludF9zdWJleHAgKGV4cCwgcG9zLCBzdHJlYW0sIFBSRUNfQUJPVkVfQ09NTUEpOwogIAlmcHV0 c19maWx0ZXJlZCAoIikiLCBzdHJlYW0pOwogIAlyZXR1cm47Ci1AQCAtMTA1NSwxNiArMTA1Mywx NiBAQAorQEAgLTEwOTQsMTYgKzEwOTIsMTYgQEAgZHVtcF9zdWJleHBfYm9keV9zdGFuZGFyZCAo c3RydWN0IGV4cHJlc3Npb24gKmV4cCwKICAKICAJc3dpdGNoIChyYW5nZV90eXBlKQogIAkgIHsK QEAgLTY1NSw3ICs2ODgsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2V4cHBy aW50LmMKICAJICAgIGZwdXRzX2ZpbHRlcmVkICgiUmFuZ2UgJ0VYUC4uRVhQJyIsIHN0cmVhbSk7 CiAgCSAgICBicmVhazsKICAJICBkZWZhdWx0OgotQEAgLTEwNzIsMTEgKzEwNzAsOSBAQAorQEAg LTExMTEsMTEgKzExMDksOSBAQCBkdW1wX3N1YmV4cF9ib2R5X3N0YW5kYXJkIChzdHJ1Y3QgZXhw cmVzc2lvbiAqZXhwLAogIAkgICAgYnJlYWs7CiAgCSAgfQogIApAQCAtNjY5LDExICs3MDIsMTEg QEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9leHBwcmludC5jCiAgCSAgZWx0ID0g ZHVtcF9zdWJleHAgKGV4cCwgc3RyZWFtLCBlbHQpOwogICAgICAgIH0KICAgICAgICBicmVhazsK LUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZXhwcmVzc2lvbi5oCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuOTkuOTAuMjAxNzA0MjAub3JpZy9nZGIvZXhwcmVzc2lvbi5oCTIwMTctMDQt MjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2Ri L2V4cHJlc3Npb24uaAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2MzQ0NjYwNyArMDIwMAotQEAgLTE1 NCwxNyArMTU0LDE3IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2V4cHJlc3Npb24uaCBiL2dkYi9leHBy ZXNzaW9uLmgKK2luZGV4IDI3MWJhYTlmMGQuLjI3ODFkMzU1YmYgMTAwNjQ0CistLS0gYS9nZGIv ZXhwcmVzc2lvbi5oCisrKysgYi9nZGIvZXhwcmVzc2lvbi5oCitAQCAtMTUzLDE3ICsxNTMsMTcg QEAgZXh0ZXJuIHZvaWQgZHVtcF9yYXdfZXhwcmVzc2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKiwK ICAJCQkJIHN0cnVjdCB1aV9maWxlICosIGNvbnN0IGNoYXIgKik7CiAgZXh0ZXJuIHZvaWQgZHVt cF9wcmVmaXhfZXhwcmVzc2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKiwgc3RydWN0IHVpX2ZpbGUg Kik7CiAgCkBAIC03MDAsMTEgKzczMywxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL2V4cHJlc3Npb24uaAogICAgfTsKICAKICAjZW5kaWYgLyogIWRlZmluZWQgKEVYUFJFU1NJ T05fSCkgKi8KLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZi1leHAueQotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2YtZXhwLnkJMjAxNy0wNC0y MCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv Zi1leHAueQkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2MzQ0NjYwNyArMDIwMAotQEAgLTI1NCwzMSAr MjU0LDYzIEBACitkaWZmIC0tZ2l0IGEvZ2RiL2YtZXhwLnkgYi9nZGIvZi1leHAueQoraW5kZXgg MjE3MTkxYWM4OC4uNzFjNjFjYWI2OSAxMDA2NDQKKy0tLSBhL2dkYi9mLWV4cC55CisrKysgYi9n ZGIvZi1leHAueQorQEAgLTI1NywzMSArMjU3LDYzIEBAIGFyZ2xpc3QgOglzdWJyYW5nZQogICAg IAogIGFyZ2xpc3QJOglhcmdsaXN0ICcsJyBleHAgICAlcHJlYyBBQk9WRV9DT01NQQogIAkJCXsg YXJnbGlzdF9sZW4rKzsgfQpAQCAtNzczLDExICs4MDYsMTEgQEAgSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9mLWV4cC55CiAgCQkJICB3cml0ZV9leHBfZWx0X29wY29kZSAocHN0YXRl LCBPUF9SQU5HRSk7IH0KICAJOwogIAotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9m LXZhbHByaW50LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dk Yi9mLXZhbHByaW50LmMJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKLSsrKyBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZi12YWxwcmludC5jCTIwMTctMDQtMjAgMjI6MjY6MTQu MzY0NDQ2NjEzICswMjAwCi1AQCAtMTIxLDggKzEyMSwxNCBAQAorZGlmZiAtLWdpdCBhL2dkYi9m LXZhbHByaW50LmMgYi9nZGIvZi12YWxwcmludC5jCitpbmRleCBjOWVjZTBkNWMwLi5iODc4ZDUy YjYyIDEwMDY0NAorLS0tIGEvZ2RiL2YtdmFscHJpbnQuYworKysrIGIvZ2RiL2YtdmFscHJpbnQu YworQEAgLTExOSw4ICsxMTksMTQgQEAgZjc3X3ByaW50X2FycmF5XzEgKGludCBuc3MsIGludCBu ZGltZW5zaW9ucywgc3RydWN0IHR5cGUgKnR5cGUsCiAgCiAgICBpZiAobnNzICE9IG5kaW1lbnNp b25zKQogICAgICB7CkBAIC03OTMsMTEgKzgyNiwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAx NzA0MjAvZ2RiL2YtdmFscHJpbnQuYwogIAogICAgICAgIGZvciAoaSA9IGxvd2VyYm91bmQ7CiAg CSAgIChpIDwgdXBwZXJib3VuZCArIDEgJiYgKCplbHRzKSA8IG9wdGlvbnMtPnByaW50X21heCk7 Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dkYnR5cGVzLmMKLT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTctMDQtMjAg MjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dk YnR5cGVzLmMJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjU0NDY2MTkgKzAyMDAKLUBAIC04NjIsNyAr ODYyLDggQEAKK2RpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuYyBiL2dkYi9nZGJ0eXBlcy5jCitp bmRleCAwMWFiNmZhOGM3Li42M2FkYTVhNDZjIDEwMDY0NAorLS0tIGEvZ2RiL2dkYnR5cGVzLmMK KysrKyBiL2dkYi9nZGJ0eXBlcy5jCitAQCAtODY0LDcgKzg2NCw4IEBAIGFsbG9jYXRlX3N0dWJf bWV0aG9kIChzdHJ1Y3QgdHlwZSAqdHlwZSkKICBzdHJ1Y3QgdHlwZSAqCiAgY3JlYXRlX3Jhbmdl X3R5cGUgKHN0cnVjdCB0eXBlICpyZXN1bHRfdHlwZSwgc3RydWN0IHR5cGUgKmluZGV4X3R5cGUs CiAgCQkgICBjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpsb3dfYm91bmQsCkBAIC04MDcsNyAr ODQwLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5jCiAgewog ICAgaWYgKHJlc3VsdF90eXBlID09IE5VTEwpCiAgICAgIHJlc3VsdF90eXBlID0gYWxsb2NfdHlw ZV9jb3B5IChpbmRleF90eXBlKTsKLUBAIC04NzcsNiArODc4LDcgQEAKK0BAIC04NzksNiArODgw LDcgQEAgY3JlYXRlX3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICpyZXN1bHRfdHlwZSwgc3RydWN0 IHR5cGUgKmluZGV4X3R5cGUsCiAgICAgIFRZUEVfWkFMTE9DIChyZXN1bHRfdHlwZSwgc2l6ZW9m IChzdHJ1Y3QgcmFuZ2VfYm91bmRzKSk7CiAgICBUWVBFX1JBTkdFX0RBVEEgKHJlc3VsdF90eXBl KS0+bG93ID0gKmxvd19ib3VuZDsKICAgIFRZUEVfUkFOR0VfREFUQSAocmVzdWx0X3R5cGUpLT5o aWdoID0gKmhpZ2hfYm91bmQ7CkBAIC04MTUsNyArODQ4LDcgQEAgSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5jCiAgCiAgICBpZiAobG93X2JvdW5kLT5raW5kID09IFBS T1BfQ09OU1QgJiYgbG93X2JvdW5kLT5kYXRhLmNvbnN0X3ZhbCA+PSAwKQogICAgICBUWVBFX1VO U0lHTkVEIChyZXN1bHRfdHlwZSkgPSAxOwotQEAgLTkwNSw3ICs5MDcsNyBAQAorQEAgLTkwNyw3 ICs5MDksNyBAQCBzdHJ1Y3QgdHlwZSAqCiAgY3JlYXRlX3N0YXRpY19yYW5nZV90eXBlIChzdHJ1 Y3QgdHlwZSAqcmVzdWx0X3R5cGUsIHN0cnVjdCB0eXBlICppbmRleF90eXBlLAogIAkJCSAgTE9O R0VTVCBsb3dfYm91bmQsIExPTkdFU1QgaGlnaF9ib3VuZCkKICB7CkBAIC04MjQsNyArODU3LDcg QEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5jCiAgCiAgICBsb3cu a2luZCA9IFBST1BfQ09OU1Q7CiAgICBsb3cuZGF0YS5jb25zdF92YWwgPSBsb3dfYm91bmQ7Ci1A QCAtOTEzLDcgKzkxNSwxMSBAQAorQEAgLTkxNSw3ICs5MTcsMTEgQEAgY3JlYXRlX3N0YXRpY19y YW5nZV90eXBlIChzdHJ1Y3QgdHlwZSAqcmVzdWx0X3R5cGUsIHN0cnVjdCB0eXBlICppbmRleF90 eXBlLAogICAgaGlnaC5raW5kID0gUFJPUF9DT05TVDsKICAgIGhpZ2guZGF0YS5jb25zdF92YWwg PSBoaWdoX2JvdW5kOwogIApAQCAtODM3LDcgKzg3MCw3IEBAIEluZGV4OiBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvZ2RidHlwZXMuYwogIAogICAgcmV0dXJuIHJlc3VsdF90eXBlOwogIH0KLUBA IC0xMTEwLDE2ICsxMTE2LDIwIEBACitAQCAtMTExMiwxNiArMTExOCwyMCBAQCBjcmVhdGVfYXJy YXlfdHlwZV93aXRoX3N0cmlkZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLAogICAgICAgICYm ICghdHlwZV9ub3RfYXNzb2NpYXRlZCAocmVzdWx0X3R5cGUpCiAgCSAgJiYgIXR5cGVfbm90X2Fs bG9jYXRlZCAocmVzdWx0X3R5cGUpKSkKICAgICAgewpAQCAtODU5LDcgKzg5Miw3IEBAIEluZGV4 OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ2RidHlwZXMuYwogICAgICAgIGVsc2UgaWYgKGJp dF9zdHJpZGUgPiAwKQogIAlUWVBFX0xFTkdUSCAocmVzdWx0X3R5cGUpID0KICAJICAoYml0X3N0 cmlkZSAqIChoaWdoX2JvdW5kIC0gbG93X2JvdW5kICsgMSkgKyA3KSAvIDg7Ci1AQCAtMTkxMiwx MiArMTkyMiwxMiBAQAorQEAgLTE5MTQsMTIgKzE5MjQsMTIgQEAgcmVzb2x2ZV9keW5hbWljX3Jh bmdlIChzdHJ1Y3QgdHlwZSAqZHluX3JhbmdlX3R5cGUsCiAgICBDT1JFX0FERFIgdmFsdWU7CiAg ICBzdHJ1Y3QgdHlwZSAqc3RhdGljX3JhbmdlX3R5cGUsICpzdGF0aWNfdGFyZ2V0X3R5cGU7CiAg ICBjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wOwpAQCAtODc0LDcgKzkwNyw3IEBAIElu ZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ2RidHlwZXMuYwogICAgICB7CiAgICAgICAg bG93X2JvdW5kLmtpbmQgPSBQUk9QX0NPTlNUOwogICAgICAgIGxvd19ib3VuZC5kYXRhLmNvbnN0 X3ZhbCA9IHZhbHVlOwotQEAgLTE5MjksNyArMTkzOSw3IEBACitAQCAtMTkzMSw3ICsxOTQxLDcg QEAgcmVzb2x2ZV9keW5hbWljX3JhbmdlIChzdHJ1Y3QgdHlwZSAqZHluX3JhbmdlX3R5cGUsCiAg ICAgIH0KICAKICAgIHByb3AgPSAmVFlQRV9SQU5HRV9EQVRBIChkeW5fcmFuZ2VfdHlwZSktPmhp Z2g7CkBAIC04ODMsNyArOTE2LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9n ZGJ0eXBlcy5jCiAgICAgIHsKICAgICAgICBoaWdoX2JvdW5kLmtpbmQgPSBQUk9QX0NPTlNUOwog ICAgICAgIGhpZ2hfYm91bmQuZGF0YS5jb25zdF92YWwgPSB2YWx1ZTsKLUBAIC0xOTQ0LDEyICsx OTU0LDIwIEBACitAQCAtMTk0NiwxMiArMTk1NiwyMCBAQCByZXNvbHZlX2R5bmFtaWNfcmFuZ2Ug KHN0cnVjdCB0eXBlICpkeW5fcmFuZ2VfdHlwZSwKICAgICAgICBoaWdoX2JvdW5kLmRhdGEuY29u c3RfdmFsID0gMDsKICAgICAgfQogIApAQCAtOTA1LDExICs5MzgsMTEgQEAgSW5kZXg6IGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5jCiAgICBUWVBFX1JBTkdFX0RBVEEgKHN0YXRp Y19yYW5nZV90eXBlKS0+ZmxhZ19ib3VuZF9ldmFsdWF0ZWQgPSAxOwogICAgcmV0dXJuIHN0YXRp Y19yYW5nZV90eXBlOwogIH0KLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ2RidHlw ZXMuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL2dkYnR5 cGVzLmgJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKLSsrKyBnZGItNy45OS45 MC4yMDE3MDQyMC9nZGIvZ2RidHlwZXMuaAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2NTQ0NjYxOSAr MDIwMAotQEAgLTU1MSw2ICs1NTEsMTAgQEAKK2RpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuaCBi L2dkYi9nZGJ0eXBlcy5oCitpbmRleCAwMzcwOWFhMTQ1Li5lMjZhMDliNDU2IDEwMDY0NAorLS0t IGEvZ2RiL2dkYnR5cGVzLmgKKysrKyBiL2dkYi9nZGJ0eXBlcy5oCitAQCAtNTQ3LDYgKzU0Nywx MCBAQCBzdHJ1Y3QgcmFuZ2VfYm91bmRzCiAgCiAgICBzdHJ1Y3QgZHluYW1pY19wcm9wIGhpZ2g7 CiAgCkBAIC05MjAsNyArOTUzLDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9n ZGJ0eXBlcy5oCiAgICAvKiBUcnVlIGlmIEhJR0ggcmFuZ2UgYm91bmQgY29udGFpbnMgdGhlIG51 bWJlciBvZiBlbGVtZW50cyBpbiB0aGUKICAgICAgIHN1YnJhbmdlLiBUaGlzIGFmZmVjdHMgaG93 IHRoZSBmaW5hbCBoaWdodCBib3VuZCBpcyBjb21wdXRlZC4gICovCiAgCi1AQCAtNzEzLDcgKzcx Nyw2IEBACitAQCAtNzA4LDcgKzcxMiw2IEBAIHN0cnVjdCBtYWluX3R5cGUKICAgICAgLyogKiBV bmlvbiBtZW1iZXIgdXNlZCBmb3IgcmFuZ2UgdHlwZXMuICAqLwogIAogICAgICBzdHJ1Y3QgcmFu Z2VfYm91bmRzICpib3VuZHM7CkBAIC05MjgsNyArOTYxLDcgQEAgSW5kZXg6IGdkYi03Ljk5Ljkw LjIwMTcwNDIwL2dkYi9nZGJ0eXBlcy5oCiAgICB9IGZsZHNfYm5kczsKICAKICAgIC8qICogU2xv dCB0byBwb2ludCB0byBhZGRpdGlvbmFsIGxhbmd1YWdlLXNwZWNpZmljIGZpZWxkcyBvZiB0aGlz Ci1AQCAtMTIyOCw2ICsxMjMxLDE1IEBACitAQCAtMTIyMyw2ICsxMjI2LDE1IEBAIGV4dGVybiB2 b2lkIGFsbG9jYXRlX2duYXRfYXV4X3R5cGUgKHN0cnVjdCB0eXBlICopOwogICAgVFlQRV9SQU5H RV9EQVRBKHJhbmdlX3R5cGUpLT5oaWdoLmtpbmQKICAjZGVmaW5lIFRZUEVfTE9XX0JPVU5EX0tJ TkQocmFuZ2VfdHlwZSkgXAogICAgVFlQRV9SQU5HRV9EQVRBKHJhbmdlX3R5cGUpLT5sb3cua2lu ZApAQCAtOTQ0LDcgKzk3Nyw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvZ2Ri dHlwZXMuaAogIAogIC8qIFByb3BlcnR5IGFjY2Vzc29ycyBmb3IgdGhlIHR5cGUgZGF0YSBsb2Nh dGlvbi4gICovCiAgI2RlZmluZSBUWVBFX0RBVEFfTE9DQVRJT04odGhpc3R5cGUpIFwKLUBAIC0x MjYyLDYgKzEyNzQsOSBAQAorQEAgLTEyNTcsNiArMTI2OSw5IEBAIGV4dGVybiB2b2lkIGFsbG9j YXRlX2duYXRfYXV4X3R5cGUgKHN0cnVjdCB0eXBlICopOwogICAgIFRZUEVfSElHSF9CT1VORF9V TkRFRklORUQoVFlQRV9JTkRFWF9UWVBFKGFycmF5dHlwZSkpCiAgI2RlZmluZSBUWVBFX0FSUkFZ X0xPV0VSX0JPVU5EX0lTX1VOREVGSU5FRChhcnJheXR5cGUpIFwKICAgICBUWVBFX0xPV19CT1VO RF9VTkRFRklORUQoVFlQRV9JTkRFWF9UWVBFKGFycmF5dHlwZSkpCkBAIC05NTQsMTkgKzk4Nywx OSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL2dkYnR5cGVzLmgKICAKICAjZGVm aW5lIFRZUEVfQVJSQVlfVVBQRVJfQk9VTkRfVkFMVUUoYXJyYXl0eXBlKSBcCiAgICAgKFRZUEVf SElHSF9CT1VORChUWVBFX0lOREVYX1RZUEUoKGFycmF5dHlwZSkpKSkKLUBAIC0xNzc2LDYgKzE3 OTEsNyBAQAorQEAgLTE3NzIsNiArMTc4Nyw3IEBAIGV4dGVybiBzdHJ1Y3QgdHlwZSAqY3JlYXRl X2FycmF5X3R5cGVfd2l0aF9zdHJpZGUKKyAgIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlwZSAq LCBzdHJ1Y3QgdHlwZSAqLCB1bnNpZ25lZCBpbnQpOwogIAogIGV4dGVybiBzdHJ1Y3QgdHlwZSAq Y3JlYXRlX3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBlICosCi0gCQkJCSAg ICAgICBjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICosCiArCQkJCSAgICAgICBjb25zdCBzdHJ1 Y3QgZHluYW1pY19wcm9wICosCisgCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9w ICosCiAgCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICopOwogIAotIGV4dGVy biBzdHJ1Y3QgdHlwZSAqY3JlYXRlX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0 eXBlICosCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BhcnNlLmMKLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi9wYXJzZS5jCTIwMTctMDQtMjAg MjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Bh cnNlLmMJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjY0NDY2MjUgKzAyMDAKLUBAIC0xMDA3LDIyICsx MDA3LDIwIEBACitkaWZmIC0tZ2l0IGEvZ2RiL3BhcnNlLmMgYi9nZGIvcGFyc2UuYworaW5kZXgg NTA2ZWZhMzhmYi4uOWJhNjMxNGFiMiAxMDA2NDQKKy0tLSBhL2dkYi9wYXJzZS5jCisrKysgYi9n ZGIvcGFyc2UuYworQEAgLTk4OCwyMiArOTg4LDIwIEBAIG9wZXJhdG9yX2xlbmd0aF9zdGFuZGFy ZCAoY29uc3Qgc3RydWN0IGV4cHJlc3Npb24gKmV4cHIsIGludCBlbmRwb3MsCiAgCiAgICAgIGNh c2UgT1BfUkFOR0U6CiAgICAgICAgb3BsZW4gPSAzOwpAQCAtMTAwMCwxMSArMTAzMywxMSBAQCBJ bmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3BhcnNlLmMKICAKICAgICAgICBicmVhazsK ICAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnVzdC1leHAueQotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3J1c3QtZXhwLnkJMjAxNy0wNC0y MCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKLSsrKyBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIv cnVzdC1leHAueQkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2NjQ0NjYyNSArMDIwMAotQEAgLTI0MDks MjMgKzI0MDksMTcgQEAKK2RpZmYgLS1naXQgYS9nZGIvcnVzdC1leHAueSBiL2dkYi9ydXN0LWV4 cC55CitpbmRleCBlMzcyYTZlYTFlLi44YmJlY2QyZjJmIDEwMDY0NAorLS0tIGEvZ2RiL3J1c3Qt ZXhwLnkKKysrKyBiL2dkYi9ydXN0LWV4cC55CitAQCAtMjQ1MiwyMyArMjQ1MiwxNyBAQCBjb252 ZXJ0X2FzdF90b19leHByZXNzaW9uIChzdHJ1Y3QgcGFyc2VyX3N0YXRlICpzdGF0ZSwKICAKICAg ICAgY2FzZSBPUF9SQU5HRToKICAgICAgICB7CkBAIC0xMDMxLDExICsxMDY0LDExIEBAIEluZGV4 OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnVzdC1leHAueQogIAkgIH0KICAJd3JpdGVfZXhw X2VsdF9vcGNvZGUgKHN0YXRlLCBPUF9SQU5HRSk7CiAgCXdyaXRlX2V4cF9lbHRfbG9uZ2NzdCAo c3RhdGUsIGtpbmQpOwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ydXN0LWxhbmcu YwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3J1c3QtbGFu Zy5jCTIwMTctMDQtMjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL3J1c3QtbGFuZy5jCTIwMTctMDQtMjAgMjI6MjY6MTQuMzY3NDQ2NjMyICsw MjAwCi1AQCAtMTMxNCw5ICsxMzE0LDkgQEAKK2RpZmYgLS1naXQgYS9nZGIvcnVzdC1sYW5nLmMg Yi9nZGIvcnVzdC1sYW5nLmMKK2luZGV4IGYzNTYyZTBmMzIuLjE4NTNmNjgzZTkgMTAwNjQ0Cist LS0gYS9nZGIvcnVzdC1sYW5nLmMKKysrKyBiL2dkYi9ydXN0LWxhbmcuYworQEAgLTEzNjgsOSAr MTM2OCw5IEBAIHJ1c3RfcmFuZ2UgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLCBl bnVtIG5vc2lkZSBub3NpZGUpCiAgICBraW5kID0gKGVudW0gcmFuZ2VfdHlwZSkgbG9uZ2VzdF90 b19pbnQgKGV4cC0+ZWx0c1sqcG9zICsgMV0ubG9uZ2NvbnN0KTsKICAgICpwb3MgKz0gMzsKICAK QEAgLTEwNDcsNyArMTA4MCw3IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnVz dC1sYW5nLmMKICAgICAgaGlnaCA9IGV2YWx1YXRlX3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBv cywgbm9zaWRlKTsKICAKICAgIGlmIChub3NpZGUgPT0gRVZBTF9TS0lQKQotQEAgLTE0MDUsNyAr MTQwNSw3IEBACitAQCAtMTQ1OSw3ICsxNDU5LDcgQEAgcnVzdF9jb21wdXRlX3JhbmdlIChzdHJ1 Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHZhbHVlICpyYW5nZSwKICAKICAgICpsb3cgPSAwOwogICAg KmhpZ2ggPSAwOwpAQCAtMTA1Niw3ICsxMDg5LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcw NDIwL2dkYi9ydXN0LWxhbmcuYwogIAogICAgaWYgKFRZUEVfTkZJRUxEUyAodHlwZSkgPT0gMCkK ICAgICAgcmV0dXJuOwotQEAgLTE0MTMsMTUgKzE0MTMsMTQgQEAKK0BAIC0xNDY3LDE1ICsxNDY3 LDE0IEBAIHJ1c3RfY29tcHV0ZV9yYW5nZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB2YWx1 ZSAqcmFuZ2UsCiAgICBpID0gMDsKICAgIGlmIChzdHJjbXAgKFRZUEVfRklFTERfTkFNRSAodHlw ZSwgMCksICJzdGFydCIpID09IDApCiAgICAgIHsKQEAgLTEwNzQsNyArMTEwNyw3IEBAIEluZGV4 OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvcnVzdC1sYW5nLmMKICAgICAgICAqaGlnaCA9IHZh bHVlX2FzX2xvbmcgKHZhbHVlX2ZpZWxkIChyYW5nZSwgaSkpOwogICAgICB9CiAgfQotQEAgLTE0 MzYsNyArMTQzNSw3IEBACitAQCAtMTQ5MCw3ICsxNDg5LDcgQEAgcnVzdF9zdWJzY3JpcHQgKHN0 cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLCBlbnVtIG5vc2lkZSBub3NpZGUsCiAgICBz dHJ1Y3QgdHlwZSAqcmhzdHlwZTsKICAgIExPTkdFU1QgbG93LCBoaWdoX2JvdW5kOwogICAgLyog SW5pdGlhbGl6ZWQgdG8gYXBwZWFzZSB0aGUgY29tcGlsZXIuICAqLwpAQCAtMTA4Myw3ICsxMTE2 LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ydXN0LWxhbmcuYwogICAgTE9O R0VTVCBoaWdoID0gMDsKICAgIGludCB3YW50X3NsaWNlID0gMDsKICAKLUBAIC0xNDk4LDcgKzE0 OTcsNyBAQAorQEAgLTE1ODgsNyArMTU4Nyw3IEBAIHJ1c3Rfc3Vic2NyaXB0IChzdHJ1Y3QgZXhw cmVzc2lvbiAqZXhwLCBpbnQgKnBvcywgZW51bSBub3NpZGUgbm9zaWRlLAogIAllcnJvciAoXygi Q2Fubm90IHN1YnNjcmlwdCBub24tYXJyYXkgdHlwZSIpKTsKICAKICAgICAgICBpZiAod2FudF9z bGljZQpAQCAtMTA5Miw3ICsxMTI1LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dk Yi9ydXN0LWxhbmcuYwogIAlsb3cgPSBsb3dfYm91bmQ7CiAgICAgICAgaWYgKGxvdyA8IDApCiAg CWVycm9yIChfKCJJbmRleCBsZXNzIHRoYW4gemVybyIpKTsKLUBAIC0xNTE2LDcgKzE1MTUsNyBA QAorQEAgLTE2MDYsNyArMTYwNSw3IEBAIHJ1c3Rfc3Vic2NyaXB0IChzdHJ1Y3QgZXhwcmVzc2lv biAqZXhwLCBpbnQgKnBvcywgZW51bSBub3NpZGUgbm9zaWRlLAogIAkgIENPUkVfQUREUiBhZGRy OwogIAkgIHN0cnVjdCB2YWx1ZSAqYWRkcnZhbCwgKnRlbTsKICAKQEAgLTExMDEsMTAgKzExMzQs MTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9ydXN0LWxhbmcuYwogIAkgICAg aGlnaCA9IGhpZ2hfYm91bmQ7CiAgCSAgaWYgKGhpZ2ggPCAwKQogIAkgICAgZXJyb3IgKF8oIkhp Z2ggaW5kZXggbGVzcyB0aGFuIHplcm8iKSk7Ci1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdGF0aWMtYXJyYXlzLmV4cAotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFycmF5 cy5leHAJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjc0NDY2MzIgKzAyMDAKK2RpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0YXRpYy1hcnJheXMuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9zdGF0aWMtYXJyYXlzLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLmNjOWVjYzA0YWIKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFycmF5cy5leHAKIEBAIC0wLDAgKzEsNDIxIEBACiAr IyBDb3B5cmlnaHQgMjAxNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsjCkBAIC0x NTI3LDEwICsxNTYxLDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3N0YXRpYy1hcnJheXMuZXhwCiArZ2RiX3Rlc3QgInByaW50IGFyMVwo Mzo3XCkgPSA0MiIgXAogKwkJIkludmFsaWQgY2FzdC4iIFwKICsJCSJBc3NpZ25tZW50IG9mIHZh bHVlIHRvIHN1YmFycmF5IgotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vc3RhdGljLWFycmF5cy5mOTAKLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy45OS45MC4y MDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0YXRpYy1hcnJheXMuZjkwCTIwMTct MDQtMjAgMjI6MjY6MTQuMzY4NDQ2NjM4ICswMjAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9zdGF0aWMtYXJyYXlzLmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vc3RhdGljLWFycmF5cy5mOTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwLi5mMjJmY2JlMTI0CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3N0YXRpYy1hcnJheXMuZjkwCiBAQCAtMCwwICsxLDU1IEBACiArISBDb3B5cmlnaHQg MjAxNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICshCkBAIC0xNTg3LDExICsxNjIy LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3N0YXRpYy1hcnJheXMuZjkwCiArcHJvZ3JhbSB0ZXN0cHJvZwogKyAgY2FsbCBzdWIKICtl bmQKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ZsYS1wdHlwZS5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmln L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAkyMDE3LTA0LTIwIDIyOjI1 OjQzLjk3MzI1NDY4NSArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2ODQ0NjYz OCArMDIwMAotQEAgLTk4LDMgKzk4LDcgQEAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1w dHlwZS5leHAKK2luZGV4IGM4ZTcyZTkyZTcuLjc2ZjQ3NzA4ZDggMTAwNjQ0CistLS0gYS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAorQEAgLTk4LDMgKzk4LDcgQEAgZ2RiX3Rlc3QgInB0 eXBlIHZsYTIiICJ0eXBlID0gPG5vdCBhbGxvY2F0ZWQ+IiAicHR5cGUgdmxhMiBub3QgYWxsb2Nh dGVkIgogIGdkYl90ZXN0ICJwdHlwZSB2bGEyKDUsIDQ1LCAyMCkiIFwKICAgICJubyBzdWNoIHZl Y3RvciBlbGVtZW50IFxcXCh2ZWN0b3Igbm90IGFsbG9jYXRlZFxcXCkiIFwKICAgICJwdHlwZSB2 bGEyKDUsIDQ1LCAyMCkgbm90IGFsbG9jYXRlZCIKQEAgLTE1OTksMTEgKzE2MzQsMTEgQEAgSW5k ZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0 eXBlLmV4cAogK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2bGExLW5lZy1i b3VuZHMiXQogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2bGExLW5lZy1ib3VuZHMiCiAr Z2RiX3Rlc3QgInB0eXBlIHZsYTEiICJ0eXBlID0gJHJlYWwgXFwoLTI6MSwtNTo0LC0zOi0xXFwp IiAicHR5cGUgdmxhMSBuZWdhdGl2ZSBib3VuZHMiCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cAotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtc2l6ZW9mLmV4cAkyMDE3LTA0LTIwIDIyOjI1OjQzLjk3MzI1NDY4NSArMDIwMAotKysrIGdk Yi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXNpemVvZi5l eHAJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjg0NDY2MzggKzAyMDAKLUBAIC00NCwzICs0NCw3IEBA CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc2l6ZW9mLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXNpemVvZi5leHAKK2luZGV4IDg3Yjc2ODM1 ZGIuLjI3NDAzZjFmNDcgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1zaXplb2YuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zaXplb2Yu ZXhwCitAQCAtNDQsMyArNDQsNyBAQCBnZGJfdGVzdCAicHJpbnQgc2l6ZW9mKHB2bGEpIiAiID0g MCIgInByaW50IHNpemVvZiBub24tYXNzb2NpYXRlZCBwdmxhIgogIGdkYl9icmVha3BvaW50IFtn ZGJfZ2V0X2xpbmVfbnVtYmVyICJwdmxhLWFzc29jaWF0ZWQiXQogIGdkYl9jb250aW51ZV90b19i cmVha3BvaW50ICJwdmxhLWFzc29jaWF0ZWQiCiAgZ2RiX3Rlc3QgInByaW50IHNpemVvZihwdmxh KSIgIiA9IDQwMDAiICJwcmludCBzaXplb2YgYXNzb2NpYXRlZCBwdmxhIgpAQCAtMTYxMSwxMCAr MTY0NiwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEtc2l6ZW9mLmV4cAogK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVt YmVyICJ2bGExLW5lZy1ib3VuZHMiXQogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2bGEx LW5lZy1ib3VuZHMiCiArZ2RiX3Rlc3QgInByaW50IHNpemVvZih2bGExKSIgIiA9IDQ4MCIgInBy aW50IHNpemVvZiB2bGExIG5lZ2F0aXZlIGJvdW5kcyIKLUluZGV4OiBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZXhwCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaWRl LmV4cAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2ODQ0NjYzOCArMDIwMAorZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS1zdHJpZGUuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMDAwMC4uZGNmMTVlNWRhZgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEtc3RyaWRlLmV4cAogQEAgLTAsMCArMSw0NCBAQAogKyMgQ29weXJpZ2h0 IDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xNjYwLDEwICsxNjk2 LDExIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1zdHJpZGUuZXhwCiArZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgInNpbmdsZS1l bGVtZW50IgogK2dkYl90ZXN0ICJwcmludCBwdmxhIiAiID0gXFxcKDVcXFwpIiAicHJpbnQgc2lu Z2xlLWVsZW1lbnQiCiArZ2RiX3Rlc3QgInByaW50IHB2bGEoMSkiICIgPSA1IiAicHJpbnQgb25l IHNpbmdsZS1lbGVtZW50IgotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmlkZS5mOTAKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy45OS45MC4yMDE3 MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUuZjkwCTIwMTctMDQtMjAg MjI6MjY6MTQuMzY4NDQ2NjM4ICswMjAwCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEtc3RyaWRlLmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0 cmlkZS5mOTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi44ZDI0MjUy MjJlCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1z dHJpZGUuZjkwCiBAQCAtMCwwICsxLDI5IEBACiArISBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICshCkBAIC0xNjk0LDExICsxNzMxLDExIEBAIEluZGV4OiBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpZGUu ZjkwCiArCiArICBwdmxhID0+IG51bGwoKSAgICAgICAgISBzaW5nbGUtZWxlbWVudAogK2VuZCBw cm9ncmFtIHZsYV9zdHJpZGUKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS5mOTAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3 MDQyMC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLmY5MAkyMDE3LTA0LTIwIDIy OjI1OjQzLjk3MzI1NDY4NSArMDIwMAotKysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLmY5MAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM2ODQ0NjYzOCAr MDIwMAotQEAgLTU0LDQgKzU0LDE0IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEuZjkwCitpbmRl eCAwMDA2YjMzNjRhLi5iM2FkYTBhNDFiIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEuZjkwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS5mOTAK K0BAIC01NCw0ICs1NCwxNCBAQCBwcm9ncmFtIHZsYQogIAogICAgYWxsb2NhdGUgKHZsYTMgKDIs MikpICAgICAgICAgICAgICAgISB2bGEyLWRlYWxsb2NhdGVkCiAgICB2bGEzKDosOikgPSAxMwpA QCAtMTcxMywxMSArMTc1MCwxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEuZjkwCiArICBsID0gYWxsb2NhdGVkKHZsYTEpCiArCiAg ZW5kIHByb2dyYW0gdmxhCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbGFyaXRo LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5vcmlnL2dkYi92YWxhcml0 aC5jCTIwMTctMDQtMjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAu MjAxNzA0MjAvZ2RiL3ZhbGFyaXRoLmMJMjAxNy0wNC0yMCAyMjoyNjoxNC4zNjk0NDY2NDQgKzAy MDAKLUBAIC0xOTMsMTAgKzE5MywxNiBAQAorZGlmZiAtLWdpdCBhL2dkYi92YWxhcml0aC5jIGIv Z2RiL3ZhbGFyaXRoLmMKK2luZGV4IDg5ZTQ0ZjNmYjAuLjU5YWY5ZmNkZTQgMTAwNjQ0CistLS0g YS9nZGIvdmFsYXJpdGguYworKysrIGIvZ2RiL3ZhbGFyaXRoLmMKK0BAIC0xODksMTAgKzE4OSwx NiBAQCB2YWx1ZV9zdWJzY3JpcHRlZF9ydmFsdWUgKHN0cnVjdCB2YWx1ZSAqYXJyYXksIExPTkdF U1QgaW5kZXgsIGludCBsb3dlcmJvdW5kKQogICAgc3RydWN0IHR5cGUgKmFycmF5X3R5cGUgPSBj aGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcnJheSkpOwogICAgc3RydWN0IHR5cGUgKmVsdF90 eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlfdHlwZSkpOwogICAg VUxPTkdFU1QgZWx0X3NpemUgPSB0eXBlX2xlbmd0aF91bml0cyAoZWx0X3R5cGUpOwpAQCAtMTcz NiwxNCArMTc3MywxNSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbGFyaXRo LmMKICAgICAgewogICAgICAgIGlmICh0eXBlX25vdF9hc3NvY2lhdGVkIChhcnJheV90eXBlKSkK ICAgICAgICAgIGVycm9yIChfKCJubyBzdWNoIHZlY3RvciBlbGVtZW50ICh2ZWN0b3Igbm90IGFz c29jaWF0ZWQpIikpOwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWxvcHMuYwot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcvZ2RiL3ZhbG9wcy5jCTIw MTctMDQtMjAgMjI6MjU6NDMuOTczMjU0Njg1ICswMjAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0 MjAvZ2RiL3ZhbG9wcy5jCTIwMTctMDQtMjAgMjI6MjY6MTQuMzcwNDQ2NjUxICswMjAwCi1AQCAt Mzc4Niw1NSArMzc4NiwxOTQgQEAKK2RpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFs b3BzLmMKK2luZGV4IGNjYzJiYzJhZmUuLjQ3MTU5MTJiOTQgMTAwNjQ0CistLS0gYS9nZGIvdmFs b3BzLmMKKysrKyBiL2dkYi92YWxvcHMuYworQEAgLTM3NzYsNTYgKzM3NzYsMTk1IEBAIHZhbHVl X29mX3RoaXNfc2lsZW50IChjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZykKKyAKICBz dHJ1Y3QgdmFsdWUgKgogIHZhbHVlX3NsaWNlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBpbnQgbG93 Ym91bmQsIGludCBsZW5ndGgpCi0geworK3sKICsgIC8qIFBhc3MgdW5hbHRlcmVkIGFyZ3VtZW50 cyB0byBWQUxVRV9TTElDRV8xLCBwbHVzIGEgZGVmYXVsdCBzdHJpZGUKICsgICAgIHZhbHVlIG9m ICcxJywgd2hpY2ggcmV0dXJucyBldmVyeSBlbGVtZW50IGJldHdlZW4gTE9XQk9VTkQgYW5kCiAr ICAgICAoTE9XQk9VTkQgKyBMRU5HVEgpLiAgV2UgYWxzbyBwcm92aWRlIGEgZGVmYXVsdCBDQUxM X0NPVU5UIG9mICcxJwpAQCAtMTc2OCw3ICsxODA2LDcgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi92YWxvcHMuYwogK3N0cnVjdCB2YWx1ZSAqCiArdmFsdWVfc2xpY2VfMSAoc3Ry dWN0IHZhbHVlICphcnJheSwgaW50IGxvd2JvdW5kLCBpbnQgbGVuZ3RoLAogKwkgICAgICAgaW50 IHN0cmlkZV9sZW5ndGgsIGludCBjYWxsX2NvdW50KQotK3sKKyB7CiAgICBzdHJ1Y3QgdHlwZSAq c2xpY2VfcmFuZ2VfdHlwZSwgKnNsaWNlX3R5cGUsICpyYW5nZV90eXBlOwogLSAgTE9OR0VTVCBs b3dlcmJvdW5kLCB1cHBlcmJvdW5kOwogLSAgc3RydWN0IHZhbHVlICpzbGljZTsKQEAgLTE3OTAs MTAgKzE4MjgsNiBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3ZhbG9wcy5jCiAt ICByYW5nZV90eXBlID0gVFlQRV9JTkRFWF9UWVBFIChhcnJheV90eXBlKTsKIC0gIGlmIChnZXRf ZGlzY3JldGVfYm91bmRzIChyYW5nZV90eXBlLCAmbG93ZXJib3VuZCwgJnVwcGVyYm91bmQpIDwg MCkKIC0gICAgZXJyb3IgKF8oInNsaWNlIGZyb20gYmFkIGFycmF5IG9yIGJpdHN0cmluZyIpKTsK LS0KLS0gIGlmIChsb3dib3VuZCA8IGxvd2VyYm91bmQgfHwgbGVuZ3RoIDwgMAotLSAgICAgIHx8 IGxvd2JvdW5kICsgbGVuZ3RoIC0gMSA+IHVwcGVyYm91bmQpCi0tICAgIGVycm9yIChfKCJzbGlj ZSBvdXQgb2YgcmFuZ2UiKSk7CiArICBhcnlfbG93X2JvdW5kID0gVFlQRV9MT1dfQk9VTkQgKFRZ UEVfSU5ERVhfVFlQRSAoYXJyYXlfdHlwZSkpOwogKyAgYXJ5X2hpZ2hfYm91bmQgPSBUWVBFX0hJ R0hfQk9VTkQgKFRZUEVfSU5ERVhfVFlQRSAoYXJyYXlfdHlwZSkpOwogKwpAQCAtMTgxOSw3ICsx ODUzLDEwIEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdmFsb3BzLmMKICsKICsg IGVsdF9zaXplID0gVFlQRV9MRU5HVEggKGVsdF90eXBlKTsKICsgIGVsdF9vZmZzID0gbG93Ym91 bmQgLSBhcnlfbG93X2JvdW5kOwotKworIAorLSAgaWYgKGxvd2JvdW5kIDwgbG93ZXJib3VuZCB8 fCBsZW5ndGggPCAwCistICAgICAgfHwgbG93Ym91bmQgKyBsZW5ndGggLSAxID4gdXBwZXJib3Vu ZCkKKy0gICAgZXJyb3IgKF8oInNsaWNlIG91dCBvZiByYW5nZSIpKTsKICsgIGVsdF9vZmZzICo9 IGVsdF9zaXplOwogKwogKyAgLyogQ2hlY2sgZm9yIHZhbGlkIHVzZXIgaW5wdXQuICBJbiBjYXNl IG9mIEZvcnRyYW4gdGhpcyB3YXMgYWxyZWFkeSBkb25lCkBAIC0xODY2LDExICsxOTAzLDYgQEAg SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWxvcHMuYwogLSAgICBzdHJ1Y3QgdHlw ZSAqZWxlbWVudF90eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlfdHlwZSk7CiAtICAgIExP TkdFU1Qgb2Zmc2V0CiAtICAgICAgPSAobG93Ym91bmQgLSBsb3dlcmJvdW5kKSAqIFRZUEVfTEVO R1RIIChjaGVja190eXBlZGVmIChlbGVtZW50X3R5cGUpKTsKLS0KLS0gICAgc2xpY2VfdHlwZSA9 IGNyZWF0ZV9hcnJheV90eXBlICgoc3RydWN0IHR5cGUgKikgTlVMTCwKLS0JCQkJICAgIGVsZW1l bnRfdHlwZSwKLS0JCQkJICAgIHNsaWNlX3JhbmdlX3R5cGUpOwotLSAgICBUWVBFX0NPREUgKHNs aWNlX3R5cGUpID0gVFlQRV9DT0RFIChhcnJheV90eXBlKTsKICsgICAgc3RydWN0IHR5cGUgKmVs ZW1lbnRfdHlwZTsKICsKICsgICAgLyogV2hlbiBib3RoIENBTExfQ09VTlQgYW5kIFNUUklERV9M RU5HVEggZXF1YWwgMSwgd2UgY2FuIHVzZSB0aGUgbGVnYWN5CkBAIC0xODgwLDkgKzE5MTIsMTUg QEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi92YWxvcHMuYwogKwllbGVtZW50X3R5 cGUgPSBUWVBFX1RBUkdFVF9UWVBFIChhcnJheV90eXBlKTsKICsKICsJc2xpY2VfdHlwZSA9IGNy ZWF0ZV9hcnJheV90eXBlIChOVUxMLCBlbGVtZW50X3R5cGUsIHNsaWNlX3JhbmdlX3R5cGUpOwot KworIAorLSAgICBzbGljZV90eXBlID0gY3JlYXRlX2FycmF5X3R5cGUgKChzdHJ1Y3QgdHlwZSAq KSBOVUxMLAorLQkJCQkgICAgZWxlbWVudF90eXBlLAorLQkJCQkgICAgc2xpY2VfcmFuZ2VfdHlw ZSk7CistICAgIFRZUEVfQ09ERSAoc2xpY2VfdHlwZSkgPSBUWVBFX0NPREUgKGFycmF5X3R5cGUp OwogKwlUWVBFX0NPREUgKHNsaWNlX3R5cGUpID0gVFlQRV9DT0RFIChhcnJheV90eXBlKTsKLSsK KyAKKy0gICAgaWYgKFZBTFVFX0xWQUwgKGFycmF5KSA9PSBsdmFsX21lbW9yeSAmJiB2YWx1ZV9s YXp5IChhcnJheSkpCistICAgICAgc2xpY2UgPSBhbGxvY2F0ZV92YWx1ZV9sYXp5IChzbGljZV90 eXBlKTsKICsJaWYgKFZBTFVFX0xWQUwgKGFycmF5KSA9PSBsdmFsX21lbW9yeSAmJiB2YWx1ZV9s YXp5IChhcnJheSkpCiArCSAgdiA9IGFsbG9jYXRlX3ZhbHVlX2xhenkgKHNsaWNlX3R5cGUpOwog KwllbHNlCkBAIC0xODk0LDkgKzE5MzIsNyBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAv Z2RiL3ZhbG9wcy5jCiArCQkJCSB2YWx1ZV9lbWJlZGRlZF9vZmZzZXQgKGFycmF5KSArIGVsdF9v ZmZzLAogKwkJCQkgZWx0X3NpemUgKiBsb25nZXN0X3RvX2ludCAobGVuZ3RoKSk7CiArCSAgfQot IAotLSAgICBpZiAoVkFMVUVfTFZBTCAoYXJyYXkpID09IGx2YWxfbWVtb3J5ICYmIHZhbHVlX2xh enkgKGFycmF5KSkKLS0gICAgICBzbGljZSA9IGFsbG9jYXRlX3ZhbHVlX2xhenkgKHNsaWNlX3R5 cGUpOworKwogKyAgICAgIH0KICsgICAgLyogV2l0aCBhIENBTExfQ09VTlQgb3IgU1RSSURFX0xF TkdUSCBhcmUgZ3JlYXRlciB0aGFuIDEgd2UgYXJlIHdvcmtpbmcKICsgICAgICAgb24gYSByYW5n ZSBvZiByYW5nZXMuICBTbyB3ZSBjb3B5IHRoZSByZWxldmFudCBlbGVtZW50cyBpbnRvIHRoZQpA QCAtMTk2NywxMSArMjAwMywxMSBAQCBJbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Zh bG9wcy5jCiAgfQogIAogIC8qIENyZWF0ZSBhIHZhbHVlIGZvciBhIEZPUlRSQU4gY29tcGxleCBu dW1iZXIuICBDdXJyZW50bHkgbW9zdCBvZiB0aGUKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvdmFsdWUuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03Ljk5LjkwLjIwMTcwNDIwLm9yaWcv Z2RiL3ZhbHVlLmgJMjAxNy0wNC0yMCAyMjoyNTo0My45NzMyNTQ2ODUgKzAyMDAKLSsrKyBnZGIt Ny45OS45MC4yMDE3MDQyMC9nZGIvdmFsdWUuaAkyMDE3LTA0LTIwIDIyOjI2OjE0LjM3MDQ0NjY1 MSArMDIwMAotQEAgLTExMDYsNiArMTEwNiw4IEBACitkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmgg Yi9nZGIvdmFsdWUuaAoraW5kZXggZTBkZTg0NDI3ZS4uOGU4NTQ1Mjk2OSAxMDA2NDQKKy0tLSBh L2dkYi92YWx1ZS5oCisrKysgYi9nZGIvdmFsdWUuaAorQEAgLTExMjgsNiArMTEyOCw4IEBAIGV4 dGVybiBzdHJ1Y3QgdmFsdWUgKnZhcnlpbmdfdG9fc2xpY2UgKHN0cnVjdCB2YWx1ZSAqKTsKICAK ICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9zbGljZSAoc3RydWN0IHZhbHVlICosIGludCwg aW50KTsKICAKQEAgLTE5ODAsMyArMjAxNiw2IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvdmFsdWUuaAogIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2xpdGVyYWxfY29tcGxl eCAoc3RydWN0IHZhbHVlICosIHN0cnVjdCB2YWx1ZSAqLAogIAkJCQkJICAgIHN0cnVjdCB0eXBl ICopOwogIAorLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dkYi12bGEtaW50ZWwtZm9ydHJh bi12bGEtc3RyaW5ncy5wYXRjaCBiL2dkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5w YXRjaAppbmRleCBjMjBkZjFkLi43ODFhMTc0IDEwMDY0NAotLS0gYS9nZGItdmxhLWludGVsLWZv cnRyYW4tdmxhLXN0cmluZ3MucGF0Y2gKKysrIGIvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1z dHJpbmdzLnBhdGNoCkBAIC0xLDEwICsxLDEyIEBACi1Gcm9tIGY0MDhiYTgyMWY4YzhiNWFkNjU2 NGI5ODgwNjY2NmQyNDc4Zjc1OTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDE0M2Yx NjA1ODVmMTQyMzc3ZjBlZDQ2ZmFjMzUzYTcxODlmZGNjYmIgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCiBGcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgogRGF0ZTog RnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAogU3ViamVjdDogZ2RiLXZsYS1pbnRlbC1m b3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItdmxhLWludGVsLWZvcnRy YW4tdmxhLXN0cmluZ3MucGF0Y2gKIAorOzs9cHVzaAorCiBnaXQgZGlmZiAtLXN0YXQgLXAgZ2Ri L21hc3Rlci4uLmdkYi91c2Vycy9iaGVja2VsL2ZvcnRyYW4tdmxhLXN0cmluZ3MKIDBhZDdkOGQx YTNhMzZjNmUwNGUzYjZkMzdkODgyNWYxOGQ1OTU3MjMKIApAQCAtMjksMjUgKzMxLDUxIEBAIGdp dCBkaWZmIC0tc3RhdCAtcCBnZGIvbWFzdGVyLi4uZ2RiL3VzZXJzL2JoZWNrZWwvZm9ydHJhbi12 bGEtc3RyaW5ncwogIGdkYi92YWxvcHMuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDE2ICsrLQogIGdkYi92YWxwcmludC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2 IC0tCiAgMjAgZmlsZXMgY2hhbmdlZCwgODI3IGluc2VydGlvbnMoKyksIDExMCBkZWxldGlvbnMo LSkKKy0tLQorIGdkYi9ORVdTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAy ICsKKyBnZGIvYy12YWxwcmludC5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyMiArKysr CisgZ2RiL2R3YXJmMnJlYWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNjAgKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tCisgZ2RiL2YtdHlwZXByaW50LmMgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgOTMgKysrKysrKysrLS0tLS0tLS0KKyBnZGIvZ2RidHlwZXMuYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICA0NCArKysrKysrLQorIGdkYi90ZXN0c3VpdGUvZ2Ri LmNwL3ZsYS1jeHguY2MgICAgICAgICAgIHwgICA5ICsrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Av dmxhLWN4eC5leHAgICAgICAgICAgfCAgIDkgKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3BvaW50ZXJzLmV4cCAgICB8IDE0MyArKysrKysrKysrKysrKysrKysrKysrKysrKworIGdkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkwICAgIHwgMTA5ICsrKysrKysrKysrKysr KysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cCAgfCAxMDAg KysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBl LmV4cCAgIHwgIDEyICstLQorIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3Mu ZXhwIHwgMTAzICsrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ZsYS1zdHJpbmdzLmY5MCB8ICAzOSArKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLXR5cGUuZXhwICAgIHwgICA3ICstCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtdmFsdWUuZXhwICAgfCAgIDQgKy0KKyBnZGIvdGVzdHN1aXRlL2dkYi5taS9taS12bGEtZm9y dHJhbi5leHAgICB8ICAgOCArLQorIGdkYi90eXBlcHJpbnQuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDE5ICsrKysKKyBnZGIvdmFsb3BzLmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAxNiArKy0KKyBnZGIvdmFscHJpbnQuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgNiAtLQorIDE5IGZpbGVzIGNoYW5nZWQsIDgwNyBpbnNlcnRpb25zKCspLCA5OCBkZWxl dGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9w b2ludGVycy5leHAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9wb2ludGVycy5mOTAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9wcmludF90eXBlLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmY5MAogCi1JbmRleDogZ2RiLTguMC9nZGIvTkVX UwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvTkVXUwkyMDE3LTA2LTA5IDA1OjUx OjU4LjIxMTQwMTcxOCArMDIwMAotKysrIGdkYi04LjAvZ2RiL05FV1MJMjAxNy0wNi0wOSAwNTo1 MjoxMS41ODY1MDQ5MjcgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvTkVXUyBiL2dkYi9ORVdTCitp bmRleCBmZjlhODE5OTE4Li4xMDA0NzBiOTBkIDEwMDY0NAorLS0tIGEvZ2RiL05FV1MKKysrKyBi L2dkYi9ORVdTCiBAQCAtMSw2ICsxLDggQEAKICAJCVdoYXQgaGFzIGNoYW5nZWQgaW4gR0RCPwog IAkgICAgIChPcmdhbml6ZWQgcmVsZWFzZSBieSByZWxlYXNlKQogIAogKyogRm9ydHJhbjogU3Vw cG9ydCBwb2ludGVycyB0byBkeW5hbWljIHR5cGVzLgogKwotICoqKiBDaGFuZ2VzIGluIEdEQiA4 LjAKKyAqKiogQ2hhbmdlcyBzaW5jZSBHREIgOC4wCiAgCi0gKiBHREIgbm93IHN1cHBvcnRzIGFj Y2VzcyB0byB0aGUgUEtVIHJlZ2lzdGVyIG9uIEdOVS9MaW51eC4gVGhlIHJlZ2lzdGVyIGlzCi1J bmRleDogZ2RiLTguMC9nZGIvYy12YWxwcmludC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTguMC5v cmlnL2dkYi9jLXZhbHByaW50LmMJMjAxNy0wNi0wOSAwNTo1MTo1NS44MzgzODM0MDYgKzAyMDAK LSsrKyBnZGItOC4wL2dkYi9jLXZhbHByaW50LmMJMjAxNy0wNi0wOSAwNTo1MTo1OC4yMTI0MDE3 MjYgKzAyMDAKLUBAIC02NTAsNiArNjUwLDI4IEBACisgKiBOZXcgIi0tcmVhZG5ldmVyIiBjb21t YW5kIGxpbmUgb3B0aW9uIGluc3RydWN0cyBHREIgdG8gbm90IHJlYWQgZWFjaAorZGlmZiAtLWdp dCBhL2dkYi9jLXZhbHByaW50LmMgYi9nZGIvYy12YWxwcmludC5jCitpbmRleCA2NTNmZWQ2NTdh Li45NmU2YzU5N2NmIDEwMDY0NAorLS0tIGEvZ2RiL2MtdmFscHJpbnQuYworKysrIGIvZ2RiL2Mt dmFscHJpbnQuYworQEAgLTY1MCw2ICs2NTAsMjggQEAgY192YWx1ZV9wcmludCAoc3RydWN0IHZh bHVlICp2YWwsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgICAgICAgZWxzZQogIAl7CiAgCSAg Lyogbm9ybWFsIGNhc2UgKi8KQEAgLTc2LDExICsxMDQsMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2Ri L2MtdmFscHJpbnQuYwogIAkgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIigiKTsKICAJICB0 eXBlX3ByaW50ICh2YWx1ZV90eXBlICh2YWwpLCAiIiwgc3RyZWFtLCAtMSk7CiAgCSAgZnByaW50 Zl9maWx0ZXJlZCAoc3RyZWFtLCAiKSAiKTsKLUluZGV4OiBnZGItOC4wL2dkYi9kd2FyZjJyZWFk LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDE3LTA2 LTA5IDA1OjUxOjU1Ljg1OTM4MzU2OSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2R3YXJmMnJlYWQu YwkyMDE3LTA2LTA5IDA1OjUxOjU4LjIxODQwMTc3MiArMDIwMAotQEAgLTE4NzIsNyArMTg3Miw4 IEBACitkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKK2lu ZGV4IDRmMmQwNDMyOWMuLmZkZDFkOWQ2ODggMTAwNjQ0CistLS0gYS9nZGIvZHdhcmYycmVhZC5j CisrKysgYi9nZGIvZHdhcmYycmVhZC5jCitAQCAtMTk3NCw3ICsxOTc0LDggQEAgc3RhdGljIHZv aWQgcmVhZF9zaWduYXR1cmVkX3R5cGUgKHN0cnVjdCBzaWduYXR1cmVkX3R5cGUgKik7CiAgCiAg c3RhdGljIGludCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAq YXR0ciwKICAJCQkJIHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwK QEAgLTkwLDcgKzExOCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9kd2FyZjJyZWFkLmMKICAKICAv KiBtZW1vcnkgYWxsb2NhdGlvbiBpbnRlcmZhY2UgKi8KICAKLUBAIC0xMTU1Nyw3ICsxMTU1OCw3 IEBACitAQCAtMTI1NjIsNyArMTI1NjMsNyBAQCByZWFkX2Z1bmNfc2NvcGUgKHN0cnVjdCBkaWVf aW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAgewogICAgICAgIG5ld29iai0+ c3RhdGljX2xpbmsKICAJPSBYT0JORVcgKCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssIHN0cnVj dCBkeW5hbWljX3Byb3ApOwpAQCAtOTksMTYgKzEyNywxNiBAQCBJbmRleDogZ2RiLTguMC9nZGIv ZHdhcmYycmVhZC5jCiAgICAgIH0KICAKICAgIGN1LT5saXN0X2luX3Njb3BlID0gJmxvY2FsX3N5 bWJvbHM7Ci1AQCAtMTQ3OTEsMjkgKzE0NzkyLDk0IEBACitAQCAtMTU4MzQsMjkgKzE1ODM1LDk0 IEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3 YXJmMl9jdSAqY3UpCiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2Fy Y2ggKG9iamZpbGUpOwogICAgc3RydWN0IHR5cGUgKnR5cGUsICpyYW5nZV90eXBlLCAqaW5kZXhf dHlwZSwgKmNoYXJfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CiAtICB1bnNpZ25l ZCBpbnQgbGVuZ3RoOwogKyAgdW5zaWduZWQgaW50IGxlbmd0aCA9IFVJTlRfTUFYOwotIAorKwog KyAgaW5kZXhfdHlwZSA9IG9iamZpbGVfdHlwZSAob2JqZmlsZSktPmJ1aWx0aW5faW50OwogKyAg cmFuZ2VfdHlwZSA9IGNyZWF0ZV9zdGF0aWNfcmFuZ2VfdHlwZSAoTlVMTCwgaW5kZXhfdHlwZSwg MSwgbGVuZ3RoKTsKLSsKKyAKICsgIC8qIElmIERXX0FUX3N0cmluZ19sZW5ndGggaXMgZGVmaW5l ZCwgdGhlIGxlbmd0aCBpcyBzdG9yZWQgaW4gbWVtb3J5LiAgKi8KICAgIGF0dHIgPSBkd2FyZjJf YXR0ciAoZGllLCBEV19BVF9zdHJpbmdfbGVuZ3RoLCBjdSk7CiAgICBpZiAoYXR0cikKQEAgLTIw NSw3ICsyMzMsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZHdhcmYycmVhZC5jCiAgICBjaGFyX3R5 cGUgPSBsYW5ndWFnZV9zdHJpbmdfY2hhcl90eXBlIChjdS0+bGFuZ3VhZ2VfZGVmbiwgZ2RiYXJj aCk7CiAgICB0eXBlID0gY3JlYXRlX3N0cmluZ190eXBlIChOVUxMLCBjaGFyX3R5cGUsIHJhbmdl X3R5cGUpOwogIAotQEAgLTE1MTYzLDcgKzE1MjI5LDggQEAKK0BAIC0xNjIwNSw3ICsxNjI3MSw4 IEBAIHJlYWRfYmFzZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9j dSAqY3UpCiAgCiAgc3RhdGljIGludAogIGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1 Y3QgYXR0cmlidXRlICphdHRyLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKQEAgLTIxNSw3ICsyNDMs NyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZHdhcmYycmVhZC5jCiAgewogICAgc3RydWN0IGR3YXJm Ml9wcm9wZXJ0eV9iYXRvbiAqYmF0b247CiAgICBzdHJ1Y3Qgb2JzdGFjayAqb2JzdGFjayA9ICZj dS0+b2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrOwotQEAgLTE1MTczLDE0ICsxNTI0MCwzMyBAQAor QEAgLTE2MjE1LDE0ICsxNjI4MiwzMyBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3Ry dWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCiAgCiAgICBpZiAoYXR0 cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewpAQCAtMjUzLDcgKzI4MSw3IEBAIEluZGV4 OiBnZGItOC4wL2dkYi9kd2FyZjJyZWFkLmMKICAgICAgfQogICAgZWxzZSBpZiAoYXR0cl9mb3Jt X2lzX3JlZiAoYXR0cikpCiAgICAgIHsKLUBAIC0xNTIxMyw4ICsxNTI5OSwyOCBAQAorQEAgLTE2 MjU1LDggKzE2MzQxLDI4IEBAIGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3QgYXR0 cmlidXRlICphdHRyLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKICAJCWJhdG9uID0gWE9CTkVXIChv YnN0YWNrLCBzdHJ1Y3QgZHdhcmYyX3Byb3BlcnR5X2JhdG9uKTsKICAJCWJhdG9uLT5yZWZlcmVu Y2VkX3R5cGUgPSBkaWVfdHlwZSAodGFyZ2V0X2RpZSwgdGFyZ2V0X2N1KTsKICAJCWJhdG9uLT5s b2NleHByLnBlcl9jdSA9IGN1LT5wZXJfY3U7CkBAIC0yODQsNyArMzEyLDcgQEAgSW5kZXg6IGdk Yi04LjAvZ2RiL2R3YXJmMnJlYWQuYwogIAkJcHJvcC0+ZGF0YS5iYXRvbiA9IGJhdG9uOwogIAkJ cHJvcC0+a2luZCA9IFBST1BfTE9DRVhQUjsKICAJCWdkYl9hc3NlcnQgKHByb3AtPmRhdGEuYmF0 b24gIT0gTlVMTCk7Ci1AQCAtMTUzMjUsMjQgKzE1NDMxLDI0IEBACitAQCAtMTYzNjcsMjQgKzE2 NDczLDI0IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVj dCBkd2FyZjJfY3UgKmN1KQogIAogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2J5 dGVfc3RyaWRlLCBjdSk7CiAgICBpZiAoYXR0cikKQEAgLTMxMyw3ICszNDEsNyBAQCBJbmRleDog Z2RiLTguMC9nZGIvZHdhcmYycmVhZC5jCiAgCXsKICAJICAvKiBJZiBib3VuZHMgYXJlIGNvbnN0 YW50IGRvIHRoZSBmaW5hbCBjYWxjdWxhdGlvbiBoZXJlLiAgKi8KICAJICBpZiAobG93LmtpbmQg PT0gUFJPUF9DT05TVCAmJiBoaWdoLmtpbmQgPT0gUFJPUF9DT05TVCkKLUBAIC0yMjk2Nyw3ICsy MzA3Myw3IEBACitAQCAtMjM5NzMsNyArMjQwNzksNyBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBk aWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAg ICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfYWxsb2NhdGVkLCBjdSk7CiAgICBpZiAo YXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewpAQCAtMzIyLDcgKzM1MCw3IEBAIElu ZGV4OiBnZGItOC4wL2dkYi9kd2FyZjJyZWFkLmMKICAgICAgICAgIGFkZF9keW5fcHJvcCAoRFlO X1BST1BfQUxMT0NBVEVELCBwcm9wLCB0eXBlLCBvYmpmaWxlKTsKICAgICAgfQogICAgZWxzZSBp ZiAoYXR0ciAhPSBOVUxMKQotQEAgLTIyOTgyLDcgKzIzMDg4LDcgQEAKK0BAIC0yMzk4OCw3ICsy NDA5NCw3IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBl ICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGll LCBEV19BVF9hc3NvY2lhdGVkLCBjdSk7CiAgICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRy KSkKICAgICAgewpAQCAtMzMxLDcgKzM1OSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9kd2FyZjJy ZWFkLmMKICAgICAgICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfQVNTT0NJQVRFRCwgcHJvcCwg dHlwZSwgb2JqZmlsZSk7CiAgICAgIH0KICAgIGVsc2UgaWYgKGF0dHIgIT0gTlVMTCkKLUBAIC0y Mjk5NSw3ICsyMzEwMSw3IEBACitAQCAtMjQwMDEsNyArMjQxMDcsNyBAQCBzZXRfZGllX3R5cGUg KHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9j dSAqY3UpCiAgCiAgICAvKiBSZWFkIERXX0FUX2RhdGFfbG9jYXRpb24gYW5kIHNldCBpbiB0eXBl LiAgKi8KICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9kYXRhX2xvY2F0aW9uLCBj dSk7CkBAIC0zNDAsMTEgKzM2OCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvZHdhcmYycmVhZC5j CiAgICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfREFUQV9MT0NBVElPTiwgcHJvcCwgdHlwZSwg b2JqZmlsZSk7CiAgCiAgICBpZiAoZHdhcmYyX3Blcl9vYmpmaWxlLT5kaWVfdHlwZV9oYXNoID09 IE5VTEwpCi1JbmRleDogZ2RiLTguMC9nZGIvZi10eXBlcHJpbnQuYwotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi04LjAub3JpZy9nZGIvZi10eXBlcHJpbnQuYwkyMDE3LTA2LTA5IDA1OjUxOjM5LjI3MzI1 NTU4MSArMDIwMAotKysrIGdkYi04LjAvZ2RiL2YtdHlwZXByaW50LmMJMjAxNy0wNi0wOSAwNTo1 MTo1OC4yMTg0MDE3NzIgKzAyMDAKLUBAIC0zNyw3ICszNyw3IEBACitkaWZmIC0tZ2l0IGEvZ2Ri L2YtdHlwZXByaW50LmMgYi9nZGIvZi10eXBlcHJpbnQuYworaW5kZXggOWQ5YTFmMzBiOS4uZGNj ZGZlNzljNiAxMDA2NDQKKy0tLSBhL2dkYi9mLXR5cGVwcmludC5jCisrKysgYi9nZGIvZi10eXBl cHJpbnQuYworQEAgLTM3LDcgKzM3LDcgQEAgc3RhdGljIHZvaWQgZl90eXBlX3ByaW50X2FyZ3Mg KHN0cnVjdCB0eXBlICosIHN0cnVjdCB1aV9maWxlICopOwogICNlbmRpZgogIAogIHN0YXRpYyB2 b2lkIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHVp X2ZpbGUgKiwgaW50LApAQCAtMzUzLDcgKzM4MSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9mLXR5 cGVwcmludC5jCiAgCiAgdm9pZCBmX3R5cGVfcHJpbnRfdmFyc3BlY19wcmVmaXggKHN0cnVjdCB0 eXBlICosIHN0cnVjdCB1aV9maWxlICosCiAgCQkJCSAgaW50LCBpbnQpOwotQEAgLTUzLDE4ICs1 Myw2IEBACitAQCAtNTMsMTggKzUzLDYgQEAgZl9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlw ZSwgY29uc3QgY2hhciAqdmFyc3RyaW5nLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogIHsKICAg IGVudW0gdHlwZV9jb2RlIGNvZGU7CiAgCkBAIC0zNzIsNyArNDAwLDcgQEAgSW5kZXg6IGdkYi04 LjAvZ2RiL2YtdHlwZXByaW50LmMKICAgIGZfdHlwZV9wcmludF9iYXNlICh0eXBlLCBzdHJlYW0s IHNob3csIGxldmVsKTsKICAgIGNvZGUgPSBUWVBFX0NPREUgKHR5cGUpOwogICAgaWYgKCh2YXJz dHJpbmcgIT0gTlVMTCAmJiAqdmFyc3RyaW5nICE9ICdcMCcpCi1AQCAtODksNyArNzcsNyBAQAor QEAgLTg5LDcgKzc3LDcgQEAgZl9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3Qg Y2hhciAqdmFyc3RyaW5nLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogIAogICAgICAgIGRlbWFu Z2xlZF9hcmdzID0gKCp2YXJzdHJpbmcgIT0gJ1wwJwogIAkJCSYmIHZhcnN0cmluZ1tzdHJsZW4g KHZhcnN0cmluZykgLSAxXSA9PSAnKScpOwpAQCAtMzgxLDcgKzQwOSw3IEBAIEluZGV4OiBnZGIt OC4wL2dkYi9mLXR5cGVwcmludC5jCiAgICAgfQogIH0KICAKLUBAIC0xNTksNyArMTQ3LDcgQEAK K0BAIC0xNTksNyArMTQ3LDcgQEAgZl90eXBlX3ByaW50X3ZhcnNwZWNfcHJlZml4IChzdHJ1Y3Qg dHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKICBzdGF0aWMgdm9pZAogIGZfdHlw ZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxl ICpzdHJlYW0sCiAgCQkJICAgICBpbnQgc2hvdywgaW50IHBhc3NlZF9hX3B0ciwgaW50IGRlbWFu Z2xlZF9hcmdzLApAQCAtMzkwLDcgKzQxOCw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9mLXR5cGVw cmludC5jCiAgewogICAgaW50IHVwcGVyX2JvdW5kLCBsb3dlcl9ib3VuZDsKICAKLUBAIC0xODMs MzQgKzE3MSw1MCBAQAorQEAgLTE4MywzNCArMTcxLDUwIEBAIGZfdHlwZV9wcmludF92YXJzcGVj X3N1ZmZpeCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgCWZw cmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIigiKTsKICAKICAgICAgICBpZiAodHlwZV9ub3RfYXNz b2NpYXRlZCAodHlwZSkpCkBAIC00NjcsNyArNDk1LDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2Yt dHlwZXByaW50LmMKICAgICAgICBpZiAoYXJyYXlwcmludF9yZWN1cnNlX2xldmVsID09IDEpCiAg CWZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIikiKTsKICAgICAgICBlbHNlCi1AQCAtMjIxLDEz ICsyMjUsMTQgQEAKK0BAIC0yMjEsMTMgKzIyNSwxNCBAQCBmX3R5cGVfcHJpbnRfdmFyc3BlY19z dWZmaXggKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogICAgICBj YXNlIFRZUEVfQ09ERV9QVFI6CiAgICAgIGNhc2UgVFlQRV9DT0RFX1JFRjoKICAgICAgICBmX3R5 cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpLCBzdHJlYW0s IDAsIDEsIDAsCkBAIC00ODQsNyArNTEyLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2YtdHlwZXBy aW50LmMKICAgICAgICBpZiAocGFzc2VkX2FfcHRyKQogIAlmcHJpbnRmX2ZpbHRlcmVkIChzdHJl YW0sICIpIik7CiAgCi1AQCAtMzc4LDcgKzM4Myw3IEBACitAQCAtMzgzLDcgKzM4OCw3IEBAIGZf dHlwZV9wcmludF9iYXNlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwgaW50IHNob3csCiAgCSAgICAgIGZwdXRzX2ZpbHRlcmVkICgiIDo6ICIsIHN0cmVhbSk7CiAg CSAgICAgIGZwdXRzX2ZpbHRlcmVkIChUWVBFX0ZJRUxEX05BTUUgKHR5cGUsIGluZGV4KSwgc3Ry ZWFtKTsKICAJICAgICAgZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChUWVBFX0ZJRUxEX1RZ UEUgKHR5cGUsIGluZGV4KSwKQEAgLTQ5MywxMSArNTIxLDExIEBAIEluZGV4OiBnZGItOC4wL2dk Yi9mLXR5cGVwcmludC5jCiAgCSAgICAgIGZwdXRzX2ZpbHRlcmVkICgiXG4iLCBzdHJlYW0pOwog IAkgICAgfQogIAkgIGZwcmludGZpX2ZpbHRlcmVkIChsZXZlbCwgc3RyZWFtLCAiRW5kIFR5cGUg Iik7Ci1JbmRleDogZ2RiLTguMC9nZGIvZ2RidHlwZXMuYwotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04 LjAub3JpZy9nZGIvZ2RidHlwZXMuYwkyMDE3LTA2LTA5IDA1OjUxOjU1Ljg2NDM4MzYwNyArMDIw MAotKysrIGdkYi04LjAvZ2RiL2dkYnR5cGVzLmMJMjAxNy0wNi0wOSAwNTo1MTo1OC4yMTk0MDE3 ODAgKzAyMDAKLUBAIC0xODM5LDcgKzE4MzksOCBAQAorZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBl cy5jIGIvZ2RiL2dkYnR5cGVzLmMKK2luZGV4IDYzYWRhNWE0NmMuLmEyNWUwYTg0ZTkgMTAwNjQ0 CistLS0gYS9nZGIvZ2RidHlwZXMuYworKysrIGIvZ2RiL2dkYnR5cGVzLmMKK0BAIC0xODQyLDcg KzE4NDIsOCBAQCBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBlICp0eXBlLCBp bnQgdG9wX2xldmVsKQogICAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHR5cGUpOwogIAogICAgLyog V2Ugb25seSB3YW50IHRvIHJlY29nbml6ZSByZWZlcmVuY2VzIGF0IHRoZSBvdXRlcm1vc3QgbGV2 ZWwuICAqLwpAQCAtNTA3LDcgKzUzNSw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nZGJ0eXBlcy5j CiAgICAgIHR5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSk7CiAg CiAgICAvKiBUeXBlcyB0aGF0IGhhdmUgYSBkeW5hbWljIFRZUEVfREFUQV9MT0NBVElPTiBhcmUg Y29uc2lkZXJlZAotQEAgLTE4NzMsNiArMTg3NCw3IEBACitAQCAtMTg3Niw2ICsxODc3LDcgQEAg aXNfZHluYW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IHRvcF9sZXZl bCkKICAgICAgICB9CiAgCiAgICAgIGNhc2UgVFlQRV9DT0RFX0FSUkFZOgpAQCAtNTE1LDcgKzU0 Myw3IEBAIEluZGV4OiBnZGItOC4wL2dkYi9nZGJ0eXBlcy5jCiAgICAgICAgewogIAlnZGJfYXNz ZXJ0IChUWVBFX05GSUVMRFMgKHR5cGUpID09IDEpOwogIAotQEAgLTE5ODUsNyArMTk4Nyw4IEBA CitAQCAtMTk4OCw3ICsxOTkwLDggQEAgcmVzb2x2ZV9keW5hbWljX2FycmF5IChzdHJ1Y3QgdHlw ZSAqdHlwZSwKICAgIHN0cnVjdCB0eXBlICphcnlfZGltOwogICAgc3RydWN0IGR5bmFtaWNfcHJv cCAqcHJvcDsKICAKQEAgLTUyNSw3ICs1NTMsNyBAQCBJbmRleDogZ2RiLTguMC9nZGIvZ2RidHlw ZXMuYwogIAogICAgdHlwZSA9IGNvcHlfdHlwZSAodHlwZSk7CiAgCi1AQCAtMjAxMCwxMyArMjAx MywxNyBAQAorQEAgLTIwMTMsMTMgKzIwMTYsMTcgQEAgcmVzb2x2ZV9keW5hbWljX2FycmF5IChz dHJ1Y3QgdHlwZSAqdHlwZSwKICAKICAgIGFyeV9kaW0gPSBjaGVja190eXBlZGVmIChUWVBFX1RB UkdFVF9UWVBFIChlbHRfdHlwZSkpOwogIApAQCAtNTQ2LDcgKzU3NCw3IEBAIEluZGV4OiBnZGIt OC4wL2dkYi9nZGJ0eXBlcy5jCiAgfQogIAogIC8qIFJlc29sdmUgZHluYW1pYyBib3VuZHMgb2Yg bWVtYmVycyBvZiB0aGUgdW5pb24gVFlQRSB0byBzdGF0aWMKLUBAIC0yMTQ2LDYgKzIxNTMsMjgg QEAKK0BAIC0yMTQ5LDYgKzIxNTYsMjggQEAgcmVzb2x2ZV9keW5hbWljX3N0cnVjdCAoc3RydWN0 IHR5cGUgKnR5cGUsCiAgICByZXR1cm4gcmVzb2x2ZWRfdHlwZTsKICB9CiAgCkBAIC01NzUsNyAr NjAzLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dkYnR5cGVzLmMKICAvKiBXb3JrZXIgZm9yIHJl c29sdmVkX2R5bmFtaWNfdHlwZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB0eXBlICoKLUBAIC0y MTk0LDcgKzIyMjMsMTIgQEAKK0BAIC0yMTk3LDcgKzIyMjYsMTIgQEAgcmVzb2x2ZV9keW5hbWlj X3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBlICp0eXBlLAogIAkgICAgYnJlYWs7CiAgCSAgfQog IApAQCAtNTg4LDEwICs2MTYsMTAgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL2dkYnR5cGVzLmMKICAJ ICByZXNvbHZlZF90eXBlID0gcmVzb2x2ZV9keW5hbWljX2FycmF5ICh0eXBlLCBhZGRyX3N0YWNr KTsKICAJICBicmVhazsKICAKLUluZGV4OiBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3Zs YS1jeHguY2MKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvdmxhLWN4eC5jYwkyMDE3LTA2LTA5IDA1OjUxOjU1Ljg2NDM4MzYwNyArMDIwMAotKysrIGdk Yi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYwkyMDE3LTA2LTA5IDA1OjUxOjU4 LjIxOTQwMTc4MCArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1j eHguY2MgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmNjCitpbmRleCA4M2JkMjRiMTkw Li4xNWM2ODNlODljIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5j YworKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYwogQEAgLTE1LDYgKzE1LDEw IEBACiAgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCkBAIC02MDMsNyArNjMxLDcg QEAgSW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYwogIHN0cnVj dCBjb250YWluZXI7CiAgCiAgc3RydWN0IGVsZW1lbnQKLUBAIC00MCwxMSArNDQsMTYgQEAKK0BA IC00MCwxMSArNDQsMTYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgdHlw ZWRlZiB0eXBlb2YgKHZsYSkgJnZsYXJlZnR5cGVkZWY7CiAgICB2bGFyZWZ0eXBlZGVmIHZsYXJl ZjIgKHZsYSk7CiAgICBjb250YWluZXIgYzsKQEAgLTYyMCwxMSArNjQ4LDExIEBAIEluZGV4OiBn ZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MKICsKICAgIHJldHVybiB2bGFb Ml07CiAgfQotSW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5leHAK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4 eC5leHAJMjAxNy0wNi0wOSAwNTo1MTo1NS44NjQzODM2MDcgKzAyMDAKLSsrKyBnZGItOC4wL2dk Yi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCTIwMTctMDYtMDkgMDU6NTE6NTguMjIwNDAx Nzg3ICswMjAwCi1AQCAtMjMsNiArMjMsMTIgQEAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5jcC92bGEtY3h4LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCitp bmRleCBhOGQ4MTFkY2YyLi4wNGI0YWU2ZTEwIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3AvdmxhLWN4eC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhw CitAQCAtMjMsNiArMjMsMTIgQEAgaWYgIVtydW50b19tYWluXSB7CiAgICAgIHJldHVybiAtMQog IH0KICAKQEAgLTYzNywxNyArNjY1LDE4IEBAIEluZGV4OiBnZGItOC4wL2dkYi90ZXN0c3VpdGUv Z2RiLmNwL3ZsYS1jeHguZXhwCiAgZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIg InZsYXNfZmlsbGVkIl0KICBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAidmxhc19maWxsZWQi CiAgCi1AQCAtMzMsMyArMzksNiBAQAorQEAgLTMzLDMgKzM5LDYgQEAgZ2RiX3Rlc3QgInByaW50 IHZsYXJlZiIgIiA9IFxcKGludCBcXCgmXFwpXFxcWzNcXFxdXFwpIEAkaGV4OiBcXHs1LCA3LCA5 XFx9IgogICMgYnVnIGJlaW5nIHRlc3RlZCwgaXQncyBiZXR0ZXIgbm90IHRvIGRlcGVuZCBvbiB0 aGUgZXhhY3Qgc3BlbGxpbmcuCiAgZ2RiX3Rlc3QgInByaW50IHZsYXJlZjIiICIgPSBcXCguKlxc KSBAJGhleDogXFx7NSwgNywgOVxcfSIKICBnZGJfdGVzdCAicHJpbnQgYyIgIiA9IFxce2UgPSBc XHtjID0gQCRoZXhcXH1cXH0iCiArZ2RiX3Rlc3QgInB0eXBlIHB0ciIgImludCBcXChcXCpcXClc XFxbM1xcXF0iCiArZ2RiX3Rlc3QgInByaW50IHB0ciIgIlxcKGludCBcXChcXCpcXClcXFxbM1xc XF1cXCkgJGhleCIKICtnZGJfdGVzdCAicHJpbnQgKnB0ciIgIiA9IFxcezUsIDcsIDlcXH0iCi1J bmRleDogZ2RiLTguMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4cAotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5leHAJMjAx Ny0wNi0wOSAwNTo1MTo1OC4yMjA0MDE3ODcgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v cG9pbnRlcnMuZXhwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNjdj Zjk5OTg5ZAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9w b2ludGVycy5leHAKIEBAIC0wLDAgKzEsMTQzIEBACiArIyBDb3B5cmlnaHQgMjAxNiBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTc5MiwxMCArODIxLDExIEBAIEluZGV4OiBn ZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZXhwCiArZ2RiX3Rlc3Qg InByaW50ICooKGludGVnZXIqKSAmaW50YSArIDIpIiAiPSAzIiAicHJpbnQgdGVtcG9yYXJ5IHBv aW50ZXIsIGFycmF5IgogK2dkYl90ZXN0ICJwcmludCAqKChpbnRlZ2VyKikgJmludHZsYSArIDMp IiAiPSA0IiAicHJpbnQgdGVtcG9yYXJ5IHBvaW50ZXIsIGFsbG9jYXRlZCB2bGEiCiArZ2RiX3Rl c3QgInByaW50IFwkcGMiICI9IFxcKFBUUiBUTyAtPiBcXCggdm9pZCBcXChcXClcXChcXClcXClc XCkgJGhleCA8cG9pbnRlcnNcXCtcXGQrPiIgIlByaW50IHByb2dyYW0gY291bnRlciIKLUluZGV4 OiBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkwCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTguMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmY5MAkyMDE3LTA2 LTA5IDA1OjUxOjU4LjIyMDQwMTc4NyArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2lu dGVycy5mOTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi42MjQwYzg3 OTg4CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50 ZXJzLmY5MAogQEAgLTAsMCArMSwxMDkgQEAKICshIENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTkwNiwxMCArOTM2LDExIEBAIEluZGV4OiBnZGIt OC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkwCiArICBpbnR2ID0gaW50 diArIDEgISBBZnRlciB2YWx1ZSBhc3NpZ25tZW50CiArCiArZW5kIHByb2dyYW0gcG9pbnRlcnMK LUluZGV4OiBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAK LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5l eHAJMjAxNy0wNi0wOSAwNTo1MTo1OC4yMjA0MDE3ODcgKzAyMDAKK2RpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9wcmludF90eXBlLmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAwMDAuLjQ1YjQ5NjhmNmMKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKIEBAIC0wLDAgKzEsMTAwIEBACiArIyBDb3B5cmlnaHQg MjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEwMTEsMTEgKzEwNDIs MTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBl LmV4cAogKyAgICB9CiArfQogK2dkYl90ZXN0ICJwdHlwZSByZWFscCIgInR5cGUgPSBQVFIgVE8g LT4gXFwoICRyZWFsIFxcKSIKLUluZGV4OiBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLXB0eXBlLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAJMjAxNy0wNi0wOSAwNTo1MTo1NS44NjUzODM2 MTUgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBl LmV4cAkyMDE3LTA2LTA5IDA1OjUxOjU4LjIyMTQwMTc5NSArMDIwMAotQEAgLTMyLDkgKzMyLDkg QEAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAg Yi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKK2luZGV4IDc2ZjQ3NzA4 ZDguLmVlYTkzNTM0ZDIgMTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1wdHlwZS5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4 cAorQEAgLTMyLDkgKzMyLDkgQEAgc2V0IHJlYWwgW2ZvcnRyYW5fcmVhbDRdCiAgIyBDaGVjayB0 aGUgcHR5cGUgb2YgdmFyaW91cyBWTEEgc3RhdGVzIGFuZCBwb2ludGVyIHRvIFZMQSdzLgogIGdk Yl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2bGExLWluaXQiXQogIGdkYl9jb250 aW51ZV90b19icmVha3BvaW50ICJ2bGExLWluaXQiCkBAIC0xMDI4LDcgKzEwNTksNyBAQCBJbmRl eDogZ2RiLTguMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKICBnZGJf dGVzdCAicHR5cGUgdmxhMSgzLCA2LCA5KSIgIm5vIHN1Y2ggdmVjdG9yIGVsZW1lbnQgXFxcKHZl Y3RvciBub3QgYWxsb2NhdGVkXFxcKSIgXAogICAgInB0eXBlIHZsYTEoMywgNiwgOSkgbm90IGlu aXRpYWxpemVkIgogIGdkYl90ZXN0ICJwdHlwZSB2bGEyKDUsIDQ1LCAyMCkiIFwKLUBAIC04MSwy MCArODEsMjAgQEAKK0BAIC04MSwyMCArODEsMjAgQEAgZ2RiX3Rlc3QgInB0eXBlIHZsYTIoNSwg NDUsIDIwKSIgInR5cGUgPSAkcmVhbCIgXAogIAogIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xp bmVfbnVtYmVyICJwdmxhLWRlYXNzb2NpYXRlZCJdCiAgZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9p bnQgInB2bGEtZGVhc3NvY2lhdGVkIgpAQCAtMTA1MiwxMCArMTA4MywxMSBAQCBJbmRleDogZ2Ri LTguMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKICBnZGJfdGVzdCAi cHR5cGUgdmxhMig1LCA0NSwgMjApIiBcCiAgICAibm8gc3VjaCB2ZWN0b3IgZWxlbWVudCBcXFwo dmVjdG9yIG5vdCBhbGxvY2F0ZWRcXFwpIiBcCiAgICAicHR5cGUgdmxhMig1LCA0NSwgMjApIG5v dCBhbGxvY2F0ZWQiCi1JbmRleDogZ2RiLTguMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1zdHJpbmdzLmV4cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtc3RyaW5ncy5leHAJMjAxNy0wNi0wOSAwNTo1MTo1OC4yMjE0MDE3OTUgKzAyMDAKK2Rp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhwCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNDg0ZmRjYjY1MgorLS0tIC9kZXYvbnVsbAorKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5leHAKIEBAIC0wLDAgKzEsMTAz IEBACiArIyBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsK QEAgLTExNjAsMTAgKzExOTIsMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEtc3RyaW5ncy5leHAKICsJICAgIHBhc3MgJHRlc3QKICsgICAgfQogK30KLUlu ZGV4OiBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZjkwCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTguMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmY5 MAkyMDE3LTA2LTA5IDA1OjUxOjU4LjIyMTQwMTc5NSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEtc3RyaW5ncy5mOTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwLi4zYzIyNzM1ZmRiCistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmY5MAogQEAgLTAsMCArMSwzOSBAQAogKyEgQ29weXJpZ2h0 IDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTIwNCwxMSArMTIz NywxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJp bmdzLmY5MAogKyAgdmFyX2NoYXJfcCA9PiBudWxsKCkKICsgIGwgPSBhc3NvY2lhdGVkKHZhcl9j aGFyX3ApICAgICAgICAgICAgICAhIHZhcl9jaGFyX3Atbm90LWFzc29jaWF0ZWQKICtlbmQgcHJv Z3JhbSB2bGFfc3RyaW5ncwotSW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtdHlwZS5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItOC4wLm9yaWcvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5leHAJMjAxNy0wNi0wOSAwNTo1MTo1NS44NjYzODM2MjIg KzAyMDAKLSsrKyBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhw CTIwMTctMDYtMDkgMDU6NTE6NTguMjIxNDAxNzk1ICswMjAwCi1AQCAtMTMyLDcgKzEzMiwxMCBA QAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXR5cGUuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5leHAKK2luZGV4IDY3MjhiNDhiZTcu Ljg3YWFjMzk2YTIgMTAwNzU1CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10 eXBlLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5leHAKK0BA IC0xMzIsNyArMTMyLDEwIEBAIGdkYl90ZXN0ICJwdHlwZSBmaXZlYXJyKDIpJXRvbmUiIFwKICAg ICAgICAgICAgICAgICAgICAgICAiRW5kIFR5cGUgb25lIiBdCiAgCiAgIyBDaGVjayBhbGxvY2F0 aW9uIHN0YXR1cyBvZiBkeW5hbWljIGFycmF5IGFuZCBpdCdzIGR5bmFtaWMgbWVtYmVycwpAQCAt MTIyMCw3ICsxMjUzLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtdHlwZS5leHAKICBnZGJfdGVzdCAibmV4dCIgIiIKICBnZGJfdGVzdCAicHR5cGUgZml2 ZWR5bmFycigyKSIgXAogICAgICAgICAgIFttdWx0aV9saW5lICJ0eXBlID0gVHlwZSBmaXZlIiBc Ci1AQCAtMTQxLDcgKzE0NCw3IEBACitAQCAtMTQxLDcgKzE0NCw3IEBAIGdkYl90ZXN0ICJwdHlw ZSBmaXZlZHluYXJyKDIpIiBcCiAgICAgICAgICAgInB0eXBlIGZpdmVkeW5hcnIoMiksIHRvbmUg aXMgbm90IGFsbG9jYXRlZCIKICBnZGJfdGVzdCAicHR5cGUgZml2ZWR5bmFycigyKSV0b25lIiBc CiAgICAgICAgICAgW211bHRpX2xpbmUgInR5cGUgPSBUeXBlIG9uZSIgXApAQCAtMTIyOSwxMTQg KzEyNjIsMzUgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt dHlwZS5leHAKICAgICAgICAgICAgICAgICAgICAgICAiRW5kIFR5cGUgb25lIiBdIFwKICAgICAg ICAgICAicHR5cGUgZml2ZWR5bmFycigyKSV0b25lLCBub3QgYWxsb2NhdGVkIgogIAotSW5kZXg6 IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTguMC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVl LmV4cAkyMDE3LTA2LTA5IDA1OjUxOjU1Ljg2NjM4MzYyMiArMDIwMAotKysrIGdkYi04LjAvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCTIwMTctMDYtMDkgMDU6NTE6NTgu MjIxNDAxNzk1ICswMjAwCi1AQCAtMTQsNiArMTQsNyBAQAotICMgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gCi0g c3RhbmRhcmRfdGVzdGZpbGUgInZsYS5mOTAiCi0rbG9hZF9saWIgImZvcnRyYW4uZXhwIgotIAot IGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxl fSAke3NyY2ZpbGV9IFwKLSAgICAgIHtkZWJ1ZyBmOTAgcXVpZXR9XSB9IHsKLUBAIC0yNSwxMiAr MjYsMTUgQEAKLSAgICAgcmV0dXJuIC0xCi0gfQotIAotKyMgRGVwZW5kaW5nIG9uIHRoZSBjb21w aWxlciBiZWluZyB1c2VkLCB0aGUgdHlwZSBuYW1lcyBjYW4gYmUgcHJpbnRlZCBkaWZmZXJlbnRs eS4KLStzZXQgcmVhbCBbZm9ydHJhbl9yZWFsNF0KLSsKLSAjIFRyeSB0byBhY2Nlc3MgdmFsdWVz IGluIG5vbiBhbGxvY2F0ZWQgVkxBCi0gZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1i ZXIgInZsYTEtaW5pdCJdCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtdmFsdWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCitp bmRleCA2MDAyMmM1ZjYyLi43ZjAzYjc2Y2QxIDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ZsYS12YWx1ZS5leHAKK0BAIC0zNSw3ICszNSw3IEBAIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0 X2xpbmVfbnVtYmVyICJ2bGExLWluaXQiXQogIGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2 bGExLWluaXQiCiAgZ2RiX3Rlc3QgInByaW50IHZsYTEiICIgPSA8bm90IGFsbG9jYXRlZD4iICJw cmludCBub24tYWxsb2NhdGVkIHZsYTEiCiAgZ2RiX3Rlc3QgInByaW50ICZ2bGExIiBcCi0tICAi ID0gXFxcKFBUUiBUTyAtPiBcXFwoIHJlYWxcXFwoa2luZD00XFxcKSBcXFwoPG5vdCBhbGxvY2F0 ZWQ+XFxcKVxcXClcXFwpICRoZXgiIFwKKy0gICIgPSBcXFwoUFRSIFRPIC0+IFxcXCggJHJlYWwg XFxcKDxub3QgYWxsb2NhdGVkPlxcXClcXFwpXFxcKSAkaGV4IiBcCiArICAiID0gXFxcKFBUUiBU TyAtPiBcXFwoICRyZWFsIFxcXCg6LDosOlxcXClcXFwpXFxcKSAkaGV4IiBcCiAgICAicHJpbnQg bm9uLWFsbG9jYXRlZCAmdmxhMSIKICBnZGJfdGVzdCAicHJpbnQgdmxhMSgxLDEsMSkiICJubyBz dWNoIHZlY3RvciBlbGVtZW50IFxcXCh2ZWN0b3Igbm90IGFsbG9jYXRlZFxcXCkiIFwKICAgICJw cmludCBtZW1iZXIgaW4gbm9uLWFsbG9jYXRlZCB2bGExICgxKSIKLUBAIC01MSw3ICs1NSw3IEBA Ci0gCSJzdGVwIG92ZXIgdmFsdWUgYXNzaWdubWVudCBvZiB2bGExIgotIH0KLSBnZGJfdGVzdCAi cHJpbnQgJnZsYTEiIFwKLS0gICIgPSBcXFwoUFRSIFRPIC0+IFxcXCggcmVhbFxcXChraW5kPTRc XFwpIFxcXCgxMCwxMCwxMFxcXClcXFwpXFxcKSAkaGV4IiBcCi0rICAiID0gXFxcKFBUUiBUTyAt PiBcXFwoICRyZWFsIFxcXCgxMCwxMCwxMFxcXClcXFwpXFxcKSAkaGV4IiBcCi0gICAicHJpbnQg YWxsb2NhdGVkICZ2bGExIgotIGdkYl90ZXN0ICJwcmludCB2bGExKDMsIDYsIDkpIiAiID0gMTMx MSIgInByaW50IGFsbG9jYXRlZCB2bGExKDMsNiw5KSIKLSBnZGJfdGVzdCAicHJpbnQgdmxhMSgx LCAzLCA4KSIgIiA9IDEzMTEiICJwcmludCBhbGxvY2F0ZWQgdmxhMSgxLDMsOCkiCi1AQCAtNzEs NyArNzUsNyBAQAorQEAgLTc2LDcgKzc2LDcgQEAgZ2RiX3Rlc3QgInByaW50IHZsYTEoOSwgOSwg OSkiICIgPSA5OTkiIFwKICAjIFRyeSB0byBhY2Nlc3MgdmFsdWVzIGluIHVuZGVmaW5lZCBwb2lu dGVyIHRvIFZMQSAoZGFuZ2xpbmcpCiAgZ2RiX3Rlc3QgInByaW50IHB2bGEiICIgPSA8bm90IGFz c29jaWF0ZWQ+IiAicHJpbnQgdW5kZWZpbmVkIHB2bGEiCiAgZ2RiX3Rlc3QgInByaW50ICZwdmxh IiBcCi0tICAiID0gXFxcKFBUUiBUTyAtPiBcXFwoIHJlYWxcXFwoa2luZD00XFxcKSBcXFwoPG5v dCBhc3NvY2lhdGVkPlxcXClcXFwpXFxcKSAkaGV4IiBcCistICAiID0gXFxcKFBUUiBUTyAtPiBc XFwoICRyZWFsIFxcXCg8bm90IGFzc29jaWF0ZWQ+XFxcKVxcXClcXFwpICRoZXgiIFwKICsgICIg PSBcXFwoUFRSIFRPIC0+IFxcXCggJHJlYWwgXFxcKDosOiw6XFxcKVxcXClcXFwpICRoZXgiIFwK ICAgICJwcmludCBub24tYXNzb2NpYXRlZCAmcHZsYSIKICBnZGJfdGVzdCAicHJpbnQgcHZsYSgx LCAzLCA4KSIgIm5vIHN1Y2ggdmVjdG9yIGVsZW1lbnQgXFxcKHZlY3RvciBub3QgYXNzb2NpYXRl ZFxcXCkiIFwKICAgICJwcmludCB1bmRlZmluZWQgcHZsYSgxLDMsOCkiCi1AQCAtODAsNyArODQs NyBAQAotIGdkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJwdmxhLWFzc29jaWF0 ZWQiXQotIGdkYl9jb250aW51ZV90b19icmVha3BvaW50ICJwdmxhLWFzc29jaWF0ZWQiCi0gZ2Ri X3Rlc3QgInByaW50ICZwdmxhIiBcCi0tICAiID0gXFxcKFBUUiBUTyAtPiBcXFwoIHJlYWxcXFwo a2luZD00XFxcKSBcXFwoMTAsMTAsMTBcXFwpXFxcKVxcXCkgJGhleCIgXAotKyAgIiA9IFxcXChQ VFIgVE8gLT4gXFxcKCAkcmVhbCBcXFwoMTAsMTAsMTBcXFwpXFxcKVxcXCkgJGhleCIgXAotICAg InByaW50IGFzc29jaWF0ZWQgJnB2bGEiCi0gZ2RiX3Rlc3QgInByaW50IHB2bGEoMywgNiwgOSki ICIgPSA0MiIgInByaW50IGFzc29jaWF0ZWQgcHZsYSgzLDYsOSkiCi0gZ2RiX3Rlc3QgInByaW50 IHB2bGEoMSwgMywgOCkiICIgPSAxMDAxIiAicHJpbnQgYXNzb2NpYXRlZCBwdmxhKDEsMyw4KSIK LUluZGV4OiBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXIt Y2hpbGQtZi5leHAJMjAxNy0wNi0wOSAwNTo1MTo1NS44NjczODM2MzAgKzAyMDAKLSsrKyBnZGIt OC4wL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAkyMDE3LTA2LTA5IDA1 OjUxOjU4LjIyMjQwMTgwMyArMDIwMAotQEAgLTE3LDYgKzE3LDcgQEAKLSAKLSBsb2FkX2xpYiBt aS1zdXBwb3J0LmV4cAotIHNldCBNSUZMQUdTICItaT1taSIKLStsb2FkX2xpYiAiZm9ydHJhbi5l eHAiCi0gCi0gaWYgeyBbc2tpcF9mb3J0cmFuX3Rlc3RzXSB9IHsgcmV0dXJuIC0xIH0KLSAKLUBA IC00MCwxMCArNDEsOCBAQAotIG1pX2NyZWF0ZV92YXJvYmogImFycmF5IiAiYXJyYXkiICJjcmVh dGUgbG9jYWwgdmFyaWFibGUgYXJyYXkiCi0gCi0gCi0tIyBEZXBlbmRpbmcgb24gdGhlIGNvbXBp bGVyIHZlcnNpb24gYmVpbmcgdXNlZCwgdGhlIG5hbWUgb2YgdGhlIDQtYnl0ZSBpbnRlZ2VyCi0t IyBhbmQgcmVhbCB0eXBlcyBjYW4gYmUgcHJpbnRlZCBkaWZmZXJlbnRseS4gIEZvciBpbnN0YW5j ZSwgZ2ZvcnRyYW4tNC4xIHVzZXMKLS0jICJpbnQ0IiB3aGVyZWFzIGdmb3J0cmFuLTQuMyB1c2Vz ICJpbnRlZ2VyKGtpbmQ9NCkiLgotLXNldCBpbnQ0ICIoaW50NHxpbnRlZ2VyXFwoa2luZD00XFwp KSIKLSsjIERlcGVuZGluZyBvbiB0aGUgY29tcGlsZXIgYmVpbmcgdXNlZCwgdGhlIHR5cGUgbmFt ZXMgY2FuIGJlIHByaW50ZWQgZGlmZmVyZW50bHkuCi0rc2V0IGludDQgW2ZvcnRyYW5faW50NF0K LSAKLSBzZXQgY2hpbGRyZW4gW2xpc3QgW2xpc3QgImFycmF5Li0xIiAiLTEiIDIgIiRpbnQ0IFxc KDJcXCkiXSBcCi0gCQkgIFtsaXN0ICJhcnJheS4wIiAiMCIgMiAiJGludDQgXFwoMlxcKSJdIFwK LUluZGV4OiBnZGItOC4wL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFuLmV4cAot PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12bGEt Zm9ydHJhbi5leHAJMjAxNy0wNi0wOSAwNTo1MTo1NS44NjczODM2MzAgKzAyMDAKLSsrKyBnZGIt OC4wL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFuLmV4cAkyMDE3LTA2LTA5IDA1 OjUxOjU4LjIyMjQwMTgwMyArMDIwMAotQEAgLTE3LDcgKzE3LDkgQEAKLSAjIEFycmF5IChWTEEp LgotIAotIGxvYWRfbGliIG1pLXN1cHBvcnQuZXhwCi0rbG9hZF9saWIgZm9ydHJhbi5leHAKLSBz ZXQgTUlGTEFHUyAiLWk9bWkiCi0rbG9hZF9saWIgImZvcnRyYW4uZXhwIgotIAotIGdkYl9leGl0 Ci0gaWYgW21pX2dkYl9zdGFydF0gewotQEAgLTMyLDYgKzM0LDkgQEAKLSAgICAgIHJldHVybiAt MQotIH0KLSAKLSsjIERlcGVuZGluZyBvbiB0aGUgY29tcGlsZXIgYmVpbmcgdXNlZCwgdGhlIHR5 cGUgbmFtZXMgY2FuIGJlIHByaW50ZWQgZGlmZmVyZW50bHkuCi0rc2V0IHJlYWwgW2ZvcnRyYW5f cmVhbDRdCi0rCi0gbWlfZGVsZXRlX2JyZWFrcG9pbnRzCi0gbWlfZ2RiX3JlaW5pdGlhbGl6ZV9k aXIgJHNyY2Rpci8kc3ViZGlyCi0gbWlfZ2RiX2xvYWQgJHtiaW5maWxlfQotQEAgLTQ2LDEwICs1 MSwxMCBAQAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFu LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFuLmV4cAoraW5kZXggYmVl NmViZTE1Ni4uZjZlYjA0NjlhOSAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21p LXZsYS1mb3J0cmFuLmV4cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmxhLWZvcnRy YW4uZXhwCitAQCAtNTEsMTAgKzUxLDEwIEBAIG1pX2V4cGVjdF9zdG9wICJicmVha3BvaW50LWhp dCIgInZsYSIgIiIgIi4qdmxhLmY5MCIgIiRicF9saW5lbm8iIFwKICBtaV9nZGJfdGVzdCAiNTAw LWRhdGEtZXZhbHVhdGUtZXhwcmVzc2lvbiB2bGExIiBcCi0gICAiNTAwXFxeZG9uZSx2YWx1ZT1c Ijxub3QgYWxsb2NhdGVkPlwiIiAiZXZhbHVhdGUgbm90IGFsbG9jYXRlZCB2bGEiCisgICAiNTAw XFxeZG9uZSx2YWx1ZT1cIjxub3QgYWxsb2NhdGVkPlwiIiAiZXZhbHVhdGUgbm90IGFsbG9jYXRl ZCB2bGEsIGJlZm9yZSBhbGxvY2F0aW9uIgogIAogLW1pX2NyZWF0ZV92YXJvYmpfY2hlY2tlZCB2 bGExX25vdF9hbGxvY2F0ZWQgdmxhMSAiPG5vdCBhbGxvY2F0ZWQ+IiBcCiArbWlfY3JlYXRlX3Zh cm9ial9jaGVja2VkIHZsYTFfbm90X2FsbG9jYXRlZCB2bGExICIkcmVhbCBcXCg6XFwpIiBcCkBA IC0xMzQ3LDM4ICsxMzAxLDcgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkv bWktdmxhLWZvcnRyYW4uZXhwCiAgICAiaW5mbyB0eXBlIHZhcmlhYmxlIHZsYTFfbm90X2FsbG9j YXRlZCIKICBtaV9nZGJfdGVzdCAiNTAyLXZhci1zaG93LWZvcm1hdCB2bGExX25vdF9hbGxvY2F0 ZWQiIFwKICAgICI1MDJcXF5kb25lLGZvcm1hdD1cIm5hdHVyYWxcIiIgXAotQEAgLTU4LDcgKzYz LDcgQEAKLSAgICI1MDNcXF5kb25lLHZhbHVlPVwiXFxcWzBcXFxdXCIiIFwKLSAgICJldmFsIHZh cmlhYmxlIHZsYTFfbm90X2FsbG9jYXRlZCIKLSBtaV9saXN0X2FycmF5X3Zhcm9ial9jaGlsZHJl bl93aXRoX2luZGV4ICJ2bGExX25vdF9hbGxvY2F0ZWQiICIwIiAiMSIgXAotLSAgICAicmVhbFxc XChraW5kPTRcXFwpIiAiZ2V0IGNoaWxkcmVuIG9mIHZsYTFfbm90X2FsbG9jYXRlZCIKLSsgICAg IiRyZWFsIiAiZ2V0IGNoaWxkcmVuIG9mIHZsYTFfbm90X2FsbG9jYXRlZCIKLSAKLSAKLSAKLUBA IC03MSwxMCArNzYsMTAgQEAKLSBtaV9nZGJfdGVzdCAiNTEwLWRhdGEtZXZhbHVhdGUtZXhwcmVz c2lvbiB2bGExIiBcCi0gICAiNTEwXFxeZG9uZSx2YWx1ZT1cIlxcKC4qXFwpXCIiICJldmFsdWF0 ZSBhbGxvY2F0ZWQgdmxhIgotIAotLW1pX2NyZWF0ZV92YXJvYmpfY2hlY2tlZCB2bGExX2FsbG9j YXRlZCB2bGExICJyZWFsXFxcKGtpbmQ9NFxcXCkgXFxcKDVcXFwpIiBcCi0rbWlfY3JlYXRlX3Zh cm9ial9jaGVja2VkIHZsYTFfYWxsb2NhdGVkIHZsYTEgIiRyZWFsIFxcXCg1XFxcKSIgXAotICAg ImNyZWF0ZSBsb2NhbCB2YXJpYWJsZSB2bGExX2FsbG9jYXRlZCIKLSBtaV9nZGJfdGVzdCAiNTEx LXZhci1pbmZvLXR5cGUgdmxhMV9hbGxvY2F0ZWQiIFwKLS0gICI1MTFcXF5kb25lLHR5cGU9XCJy ZWFsXFxcKGtpbmQ9NFxcXCkgXFxcKDVcXFwpXCIiIFwKLSsgICI1MTFcXF5kb25lLHR5cGU9XCIk cmVhbCBcXFwoNVxcXClcIiIgXAotICAgImluZm8gdHlwZSB2YXJpYWJsZSB2bGExX2FsbG9jYXRl ZCIKLSBtaV9nZGJfdGVzdCAiNTEyLXZhci1zaG93LWZvcm1hdCB2bGExX2FsbG9jYXRlZCIgXAot ICAgIjUxMlxcXmRvbmUsZm9ybWF0PVwibmF0dXJhbFwiIiBcCi1AQCAtODMsNyArODgsNyBAQAot ICAgIjUxM1xcXmRvbmUsdmFsdWU9XCJcXFxbNVxcXF1cIiIgXAotICAgImV2YWwgdmFyaWFibGUg dmxhMV9hbGxvY2F0ZWQiCi0gbWlfbGlzdF9hcnJheV92YXJvYmpfY2hpbGRyZW5fd2l0aF9pbmRl eCAidmxhMV9hbGxvY2F0ZWQiICI1IiAiMSIgXAotLSAgICAicmVhbFxcXChraW5kPTRcXFwpIiAi Z2V0IGNoaWxkcmVuIG9mIHZsYTFfYWxsb2NhdGVkIgotKyAgICAiJHJlYWwiICJnZXQgY2hpbGRy ZW4gb2YgdmxhMV9hbGxvY2F0ZWQiCi0gCi0gCi0gc2V0IGJwX2xpbmVubyBbZ2RiX2dldF9saW5l X251bWJlciAidmxhMS1maWxsZWQiXQotQEAgLTEzNiwxMCArMTQxLDEwIEBACitAQCAtMTQ2LDEw ICsxNDYsMTAgQEAgZ2RiX2V4cGVjdCB7CiAgICAgIC1yZSAiNTgwXFxeZG9uZSx2YWx1ZT1cIjxu b3QgYXNzb2NpYXRlZD5cIi4qJHttaV9nZGJfcHJvbXB0fSQiIHsKICAJcGFzcyAkdGVzdAogIApA QCAtMTM5MSwzMiArMTMxNCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvdGVzdHN1aXRlL2dkYi5t aS9taS12bGEtZm9ydHJhbi5leHAKICAJICAgICJpbmZvIHR5cGUgdmFyaWFibGUgcHZsYTJfbm90 X2Fzc29jaWF0ZWQiCiAgCW1pX2dkYl90ZXN0ICI1ODItdmFyLXNob3ctZm9ybWF0IHB2bGEyX25v dF9hc3NvY2lhdGVkIiBcCiAgCSAgICAiNTgyXFxeZG9uZSxmb3JtYXQ9XCJuYXR1cmFsXCIiIFwK LUBAIC0xNDgsNyArMTUzLDcgQEAKLSAJICAgICI1ODNcXF5kb25lLHZhbHVlPVwiXFxcWzBcXFxd XCIiIFwKLSAJICAgICJldmFsIHZhcmlhYmxlIHB2bGEyX25vdF9hc3NvY2lhdGVkIgotIAltaV9s aXN0X2FycmF5X3Zhcm9ial9jaGlsZHJlbl93aXRoX2luZGV4ICJwdmxhMl9ub3RfYXNzb2NpYXRl ZCIgIjAiICIxIiBcCi0tCSAgICAicmVhbFxcXChraW5kPTRcXFwpIiAiZ2V0IGNoaWxkcmVuIG9m IHB2bGEyX25vdF9hc3NvY2lhdGVkIgotKwkgICAgIiRyZWFsIiAiZ2V0IGNoaWxkcmVuIG9mIHB2 bGEyX25vdF9hc3NvY2lhdGVkIgotICAgICB9Ci0gICAgIC1yZSAiNTgwXFxeZXJyb3IsbXNnPVwi dmFsdWUgY29udGVudHMgdG9vIGxhcmdlIFxcKFxbMC05XF0rIGJ5dGVzXFwpLioke21pX2dkYl9w cm9tcHR9JCIgewotIAkjIFVuZGVmaW5lZCBiZWhhdmlvdXIgaW4gZ2ZvcnRyYW4uCi1AQCAtMTcz LDkgKzE3OCw5IEBACi0gICAiZXZhbHVhdGUgYXNzb2NpYXRlZCB2bGEiCi0gCi0gbWlfY3JlYXRl X3Zhcm9ial9jaGVja2VkIHB2bGEyX2Fzc29jaWF0ZWQgcHZsYTIgXAotLSAgInJlYWxcXFwoa2lu ZD00XFxcKSBcXFwoNSwyXFxcKSIgImNyZWF0ZSBsb2NhbCB2YXJpYWJsZSBwdmxhMl9hc3NvY2lh dGVkIgotKyAgIiRyZWFsIFxcXCg1LDJcXFwpIiAiY3JlYXRlIGxvY2FsIHZhcmlhYmxlIHB2bGEy X2Fzc29jaWF0ZWQiCi0gbWlfZ2RiX3Rlc3QgIjU5MS12YXItaW5mby10eXBlIHB2bGEyX2Fzc29j aWF0ZWQiIFwKLS0gICI1OTFcXF5kb25lLHR5cGU9XCJyZWFsXFxcKGtpbmQ9NFxcXCkgXFxcKDUs MlxcXClcIiIgXAotKyAgIjU5MVxcXmRvbmUsdHlwZT1cIiRyZWFsIFxcXCg1LDJcXFwpXCIiIFwK LSAgICJpbmZvIHR5cGUgdmFyaWFibGUgcHZsYTJfYXNzb2NpYXRlZCIKLSBtaV9nZGJfdGVzdCAi NTkyLXZhci1zaG93LWZvcm1hdCBwdmxhMl9hc3NvY2lhdGVkIiBcCi0gICAiNTkyXFxeZG9uZSxm b3JtYXQ9XCJuYXR1cmFsXCIiIFwKLUluZGV4OiBnZGItOC4wL2dkYi90eXBlcHJpbnQuYwotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvdHlwZXByaW50LmMJMjAxNy0wNi0wOSAwNTo1 MTo1NS44NjczODM2MzAgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi90eXBlcHJpbnQuYwkyMDE3LTA2 LTA5IDA1OjUxOjU4LjIyMjQwMTgwMyArMDIwMAotQEAgLTQ3NCw2ICs0NzQsMjUgQEAKK2RpZmYg LS1naXQgYS9nZGIvdHlwZXByaW50LmMgYi9nZGIvdHlwZXByaW50LmMKK2luZGV4IDQyN2FmMTdh ZDcuLmFkMTUwY2JmZDEgMTAwNjQ0CistLS0gYS9nZGIvdHlwZXByaW50LmMKKysrKyBiL2dkYi90 eXBlcHJpbnQuYworQEAgLTUxMSw2ICs1MTEsMjUgQEAgd2hhdGlzX2V4cCAoY29uc3QgY2hhciAq ZXhwLCBpbnQgc2hvdykKICAgICAgICBwcmludGZfZmlsdGVyZWQgKCIgKi9cbiIpOyAgICAKICAg ICAgfQogIApAQCAtMTQ0MiwxMSArMTM0NCwxMSBAQCBJbmRleDogZ2RiLTguMC9nZGIvdHlwZXBy aW50LmMKICAgIExBX1BSSU5UX1RZUEUgKHR5cGUsICIiLCBnZGJfc3Rkb3V0LCBzaG93LCAwLCAm ZmxhZ3MpOwogICAgcHJpbnRmX2ZpbHRlcmVkICgiXG4iKTsKICAKLUluZGV4OiBnZGItOC4wL2dk Yi92YWxvcHMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAub3JpZy9nZGIvdmFsb3BzLmMJMjAx Ny0wNi0wOSAwNTo1MTo1NS44NjkzODM2NDYgKzAyMDAKLSsrKyBnZGItOC4wL2dkYi92YWxvcHMu YwkyMDE3LTA2LTA5IDA1OjUxOjU4LjIyMzQwMTgxMSArMDIwMAotQEAgLTE1NzQsNiArMTU3NCwx OSBAQAorZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYworaW5kZXggNDcx NTkxMmI5NC4uNGVjZmE5ZmQ5NiAxMDA2NDQKKy0tLSBhL2dkYi92YWxvcHMuYworKysrIGIvZ2Ri L3ZhbG9wcy5jCitAQCAtMTU2NCw2ICsxNTY0LDE5IEBAIHZhbHVlX2luZCAoc3RydWN0IHZhbHVl ICphcmcxKQogICAgaWYgKFRZUEVfQ09ERSAoYmFzZV90eXBlKSA9PSBUWVBFX0NPREVfUFRSKQog ICAgICB7CiAgICAgICAgc3RydWN0IHR5cGUgKmVuY190eXBlOwpAQCAtMTQ2Niw3ICsxMzY4LDcg QEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbG9wcy5jCiAgCiAgICAgICAgLyogV2UgbWF5IGJlIHBv aW50aW5nIHRvIHNvbWV0aGluZyBlbWJlZGRlZCBpbiBhIGxhcmdlciBvYmplY3QuCiAgICAgICAg ICAgR2V0IHRoZSByZWFsIHR5cGUgb2YgdGhlIGVuY2xvc2luZyBvYmplY3QuICAqLwotQEAgLTE1 ODksOCArMTYwMiw3IEBACitAQCAtMTU3OSw4ICsxNTkyLDcgQEAgdmFsdWVfaW5kIChzdHJ1Y3Qg dmFsdWUgKmFyZzEpCiAgICAgICAgZWxzZQogIAkvKiBSZXRyaWV2ZSB0aGUgZW5jbG9zaW5nIG9i amVjdCBwb2ludGVkIHRvLiAgKi8KICAJYXJnMiA9IHZhbHVlX2F0X2xhenkgKGVuY190eXBlLCAK QEAgLTE0NzYsMTEgKzEzNzgsMTEgQEAgSW5kZXg6IGdkYi04LjAvZ2RiL3ZhbG9wcy5jCiAgCiAg ICAgICAgZW5jX3R5cGUgPSB2YWx1ZV90eXBlIChhcmcyKTsKICAgICAgICByZXR1cm4gcmVhZGp1 c3RfaW5kaXJlY3RfdmFsdWVfdHlwZSAoYXJnMiwgZW5jX3R5cGUsIGJhc2VfdHlwZSwgYXJnMSk7 Ci1JbmRleDogZ2RiLTguMC9nZGIvdmFscHJpbnQuYwotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi04LjAu b3JpZy9nZGIvdmFscHJpbnQuYwkyMDE3LTA2LTA0IDE3OjUxOjI3LjAwMDAwMDAwMCArMDIwMAot KysrIGdkYi04LjAvZ2RiL3ZhbHByaW50LmMJMjAxNy0wNi0wOSAwNTo1MTo1OC4yMjQ0MDE4MTgg KzAyMDAKLUBAIC0xMTY2LDEyICsxMTY2LDYgQEAKK2RpZmYgLS1naXQgYS9nZGIvdmFscHJpbnQu YyBiL2dkYi92YWxwcmludC5jCitpbmRleCA5YjA3MjIxZjFmLi4yMGUzYTQxNzhiIDEwMDY0NAor LS0tIGEvZ2RiL3ZhbHByaW50LmMKKysrKyBiL2dkYi92YWxwcmludC5jCitAQCAtMTExMSwxMiAr MTExMSw2IEBAIHZhbHVlX2NoZWNrX3ByaW50YWJsZSAoc3RydWN0IHZhbHVlICp2YWwsIHN0cnVj dCB1aV9maWxlICpzdHJlYW0sCiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0KICAKQEAgLTE0OTMs MyArMTM5NSw2IEBAIEluZGV4OiBnZGItOC4wL2dkYi92YWxwcmludC5jCiAgICBpZiAodHlwZV9u b3RfYWxsb2NhdGVkICh2YWx1ZV90eXBlICh2YWwpKSkKICAgICAgewogICAgICAgIHZhbF9wcmlu dF9ub3RfYWxsb2NhdGVkIChzdHJlYW0pOworLS0gCisyLjE0LjMKKwoKZGlmZiAtLWdpdCBhL2dk Yi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoIGIvZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1m aXgucGF0Y2gKaW5kZXggYTI5NWRjMi4uNDc1MzRhNiAxMDA2NDQKLS0tIGEvZ2RiLXZsYS1pbnRl bC1zdHJpbmdidC1maXgucGF0Y2gKKysrIGIvZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0 Y2gKQEAgLTEsOSArMSwxMyBAQAorRnJvbSA1MzkyN2ViMmQzZThiODIxN2I0YjM1NWI3MjNmNTIz MWEwOTQ5N2ZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSmFuIEtyYXRvY2h2aWwg PGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDEgQXVnIDIwMTQgMjM6MDI6 MTcgKzAyMDAKLVN1YmplY3Q6IFtwYXRjaCAxLzJdIFJlOiBDcmFzaCByZWdyZXNzaW9uKD8pIHBy aW50aW5nIEZvcnRyYW4gc3RyaW5ncyBpbiBidCAgW1JlOiBbVjIgMDAvMjNdIEZvcnRyYW4gZHlu YW1pYyBhcnJheSBzdXBwb3J0XQorU3ViamVjdDogQ3Jhc2ggcmVncmVzc2lvbig/KSBwcmludGlu ZyBGb3J0cmFuIHN0cmluZ3MgaW4gYnQgW1JlOiBbVjIgMDAvMjNdCisgRm9ydHJhbiBkeW5hbWlj IGFycmF5IHN1cHBvcnRdCiAKIEZpbGVOYW1lOiBnZGItdmxhLWludGVsLXN0cmluZ2J0LWZpeC5w YXRjaAogCis7Oz1wdXNoK2phbgorCiBodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNo ZXMvMjAxNC0wOC9tc2cwMDAyNS5odG1sCiAKIE9uIEZyaSwgMDEgQXVnIDIwMTQgMDk6MjA6MTkg KzAyMDAsIEtldmVuIEJvZWxsIHdyb3RlOgpAQCAtMjMsMjMgKzI3LDMxIEBAIHNvIHRoYXQgdGhl cmUgaXMgbm8gbG9uZ2VyIG5lZWRlZCB0aGUgcGF0Y2g6CiBUaGUgZml4IGJlbG93IGhhcyBubyBy ZWdyZXNzaW9ucyBmb3IgbWUuICBVbmZvcnR1bmF0ZWx5IEkgZG8gbm90IHNlZSB3aHkgeW91CiBj YW5ub3QgcmVwcm9kdWNlIGl0LgogCi0KIFRoYW5rcywKIEphbgorLS0tCisgZ2RiL2R3YXJmMmxv Yy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNSArKysrKysrKysKKyAu Li4vZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5MCAgICAgICB8IDI0ICsr KysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJh bWUuZXhwICB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysKKyBnZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwICB8IDM2ICsrKysrKysrKysrKysrKysrKysr CisgNCBmaWxlcyBjaGFuZ2VkLCAxMTQgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUtc3R1Yi5mOTAK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90 aGVyLWZyYW1lLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCiAKLUluZGV4OiBnZGItNy45OS45MC4yMDE3MDQy MC9nZGIvZHdhcmYybG9jLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy45OS45MC4yMDE3MDQyMC5v cmlnL2dkYi9kd2FyZjJsb2MuYwkyMDE3LTA0LTIwIDIyOjI4OjU5LjY4NjQ5MDY2NiArMDIwMAot KysrIGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJsb2MuYwkyMDE3LTA0LTIwIDIyOjI5 OjEzLjEwNDU3NTQwNCArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJsb2MuYyBiL2dkYi9k d2FyZjJsb2MuYworaW5kZXggNTQ1OTJmMGJmYy4uZDI3NDJiYmQ5MSAxMDA2NDQKKy0tLSBhL2dk Yi9kd2FyZjJsb2MuYworKysrIGIvZ2RiL2R3YXJmMmxvYy5jCiBAQCAtNDIsNiArNDIsNyBAQAog ICNpbmNsdWRlIDxhbGdvcml0aG0+CiAgI2luY2x1ZGUgPHZlY3Rvcj4KICAjaW5jbHVkZSA8dW5v cmRlcmVkX3NldD4KICsjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KICAjaW5jbHVkZSAiY29tbW9uL3Vu ZGVybHlpbmcuaCIKKyAjaW5jbHVkZSAiY29tbW9uL2J5dGUtdmVjdG9yLmgiCiAgCi0gZXh0ZXJu IGludCBkd2FyZl9hbHdheXNfZGlzYXNzZW1ibGU7Ci1AQCAtMjM2Niw2ICsyMzY3LDIwIEBACitA QCAtMjM1MCw2ICsyMzUxLDIwIEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1 Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAogICAgY3R4LnBlcl9jdSA9 IHBlcl9jdTsKICAgIGN0eC5vYmpfYWRkcmVzcyA9IDA7CiAgCkBAIC02MCwxMCArNzIsMTEgQEAg SW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi9kd2FyZjJsb2MuYwogICAgc2NvcGVkX3Zh bHVlX21hcmsgZnJlZV92YWx1ZXM7CiAgCiAgICBjdHguZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2Fy Y2ggKG9iamZpbGUpOwotSW5kZXg6IGdkYi03Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5MAotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1m cmFtZS1zdHViLmY5MAkyMDE3LTA0LTIwIDIyOjI5OjAwLjY3MzQ5Njg5OSArMDIwMAorZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHVi LmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHVi LmY5MAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjI2MWNlMTdhZTUK Ky0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1v dGhlci1mcmFtZS1zdHViLmY5MAogQEAgLTAsMCArMSwyNCBAQAogKyEgQ29weXJpZ2h0IDIwMTAg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtODksMTAgKzEwMiwxMSBAQCBJ bmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5h bWljLW90aGVyLWZyYW1lLXN0dWIuZgogKyAgcmVhbCA6OiBkdW1teQogKyAgZHVtbXkgPSAxCiAr ZW5kIHN1YnJvdXRpbmUgYmFyCi1JbmRleDogZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1lLmV4cAotPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 Ljk5LjkwLjIwMTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1m cmFtZS5leHAJMjAxNy0wNC0yMCAyMjoyOTowMC42NzM0OTY4OTkgKzAyMDAKK2RpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1lLmV4cAorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjU3MGEyOGNhNjUKKy0tLSAvZGV2L251bGwK KysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5leHAK IEBAIC0wLDAgKzEsMzkgQEAKICsjIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKwpAQCAtMTMzLDEwICsxNDcsMTEgQEAgSW5kZXg6IGdkYi03Ljk5LjkwLjIw MTcwNDIwL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS5leHAK ICt9CiArCiArZ2RiX3Rlc3QgImJ0IiB7Zm9vIFwoc3RyaW5nPSdoZWxsbycuKn0KLUluZGV4OiBn ZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3Ro ZXItZnJhbWUuZjkwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuOTkuOTAuMjAxNzA0MjAvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1lLmY5MAkyMDE3LTA0LTIwIDIyOjI5OjAw LjY3MzQ5Njg5OSArMDIwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v ZHluYW1pYy1vdGhlci1mcmFtZS5mOTAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFt aWMtb3RoZXItZnJhbWUuZjkwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAw MC4uMmJjNjM3ZGI0OQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9keW5hbWljLW90aGVyLWZyYW1lLmY5MAogQEAgLTAsMCArMSwzNiBAQAogKyEgQ29weXJp Z2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTc0LDMgKzE4 OSw2IEBAIEluZGV4OiBnZGItNy45OS45MC4yMDE3MDQyMC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCiArICBlbmQgaW50ZXJmYWNlCiArICBjYWxsIGZv byAoJ2hlbGxvJykKICtlbmQKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGItdmxhLWlu dGVsLXRlc3RzLnBhdGNoIGIvZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAppbmRleCA2N2YxNjA1 Li5hOWVkZjkzIDEwMDY0NAotLS0gYS9nZGItdmxhLWludGVsLXRlc3RzLnBhdGNoCisrKyBiL2dk Yi12bGEtaW50ZWwtdGVzdHMucGF0Y2gKQEAgLTEsMTMgKzEsMjcgQEAKK0Zyb20gMTY3MWJiNDU0 ZWQwYmFiOTZmMzE2OTg2ZjM5NmVlNjdkODRhYjdjYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK IEZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+CiBEYXRlOiBGcmks IDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCiBTdWJqZWN0OiBnZGItdmxhLWludGVsLXRlc3Rz LnBhdGNoCiAKIEZpbGVOYW1lOiBnZGItdmxhLWludGVsLXRlc3RzLnBhdGNoCiAKLUluZGV4OiBn ZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4 cAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vdmxhLWZ1bmMuZXhwCTIwMTYtMDEtMDggMTk6MTU6NDQuOTgzNjM3NjgwICswMTAwCis7Oz1m ZWRvcmF0ZXN0CistLS0KKyBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4cCAg ICAgICB8ICA2MSArKysrKysrKysrKysrKysrCisgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtZnVuYy5mOTAgICAgICAgfCAgNzEgKysrKysrKysrKysrKysrKysrKworIGdkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQuZXhwIHwgMTAxICsrKysrKysrKysrKysrKysr KysrKysrKysrKworIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQuZjkw IHwgIDQwICsrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAyNzMgaW5zZXJ0aW9ucygrKQor IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmV4 cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5j LmY5MAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1z dHJpbmdzb2xkLmV4cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS1zdHJpbmdzb2xkLmY5MAorCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEtZnVuYy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5j LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmYwZjIzNmJlZjAK Ky0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWZ1bmMu ZXhwCiBAQCAtMCwwICsxLDYxIEBACiArIyBDb3B5cmlnaHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KICsKQEAgLTcwLDEwICs4NCwxMSBAQCBJbmRleDogZ2RiLTcuMTAuNTAu MjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZnVuYy5leHAKICsgICJwcmlu dCB2bGEzIChhZnRlciBmdW5jMikiCiArZ2RiX3Rlc3QgInB0eXBlIHZsYTMiICJ0eXBlID0gaW50 ZWdlclxcXChraW5kPTRcXFwpIFxcXCgxMFxcXCkiIFwKICsgICJwdHlwZSB2bGEzIChhZnRlciBm dW5jMikiCi1JbmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi92bGEtZnVuYy5mOTAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmY5MAkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk4MzYz NzY4MCArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWZ1 bmMuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtZnVuYy5mOTAKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi43NTQwZjU0ZGJiCistLS0gL2Rldi9udWxs CisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1mdW5jLmY5MAogQEAgLTAsMCAr MSw3MSBAQAogKyEgQ29weXJpZ2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CiArIQpAQCAtMTQ2LDEwICsxNjEsMTEgQEAgSW5kZXg6IGdkYi03LjEwLjUwLjIwMTYwMTA2L2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLWZ1bmMuZjkwCiArCiArICByZXQgPSAuVFJVRS4g ICAgICAgICAgICAgICAgISBmdW5jMi1yZXR1cm5lZAogK2VuZCBwcm9ncmFtIHZsYV9mdW5jCi1J bmRleDogZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt c3RyaW5nc29sZC5leHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMC41MC4yMDE2MDEwNi9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzb2xkLmV4cAkyMDE2LTAxLTA4IDE5OjE1OjQ0Ljk4 NDYzNzY4NiArMDEwMAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxh LXN0cmluZ3NvbGQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5nc29s ZC5leHAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5jMWJmN2VmNzYz CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJp bmdzb2xkLmV4cAogQEAgLTAsMCArMSwxMDEgQEAKICsjIENvcHlyaWdodCAyMDE0IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMjUyLDEwICsyNjgsMTEgQEAgSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3Nv bGQuZXhwCiArICAid2hhdGlzIHZhcl9jaGFyX3AgYWZ0ZXIgYXNzb2NpYXRlZCIKICtnZGJfdGVz dCAicHR5cGUgdmFyX2NoYXJfcCIgInR5cGUgPSBQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjcg XFwpIiBcCiArICAicHR5cGUgdmFyX2NoYXJfcCBhZnRlciBhc3NvY2lhdGVkIgotSW5kZXg6IGdk Yi03LjEwLjUwLjIwMTYwMTA2L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3Nv bGQuZjkwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTAuNTAuMjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEtc3RyaW5nc29sZC5mOTAJMjAxNi0wMS0wOCAxOToxNTo0NC45ODQ2Mzc2ODYg KzAxMDAKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdz b2xkLmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQuZjkwCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMGExZDUyMjFkMAorLS0tIC9k ZXYvbnVsbAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5nc29sZC5m OTAKIEBAIC0wLDAgKzEsNDAgQEAKICshIENvcHlyaWdodCAyMDE0IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogKyEKQEAgLTI5NywzICszMTQsNiBAQCBJbmRleDogZ2RiLTcuMTAuNTAu MjAxNjAxMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5nc29sZC5mOTAKICsg IHZhcl9jaGFyX3AgPT4gbnVsbCgpCiArICBsID0gYXNzb2NpYXRlZCh2YXJfY2hhcl9wKSAgICAg ICAgICAgICAgISB2YXJfY2hhcl9wLW5vdC1hc3NvY2lhdGVkCiArZW5kIHByb2dyYW0gdmxhX3N0 cmluZ3MKKy0tIAorMi4xNC4zCisKCmRpZmYgLS1naXQgYS9nZGIteDg2XzY0LWkzODYtc3lzY2Fs bC1yZXN0YXJ0LnBhdGNoIGIvZ2RiLXg4Nl82NC1pMzg2LXN5c2NhbGwtcmVzdGFydC5wYXRjaApp bmRleCAyY2EwMDRmLi5lZGVlNGY0IDEwMDY0NAotLS0gYS9nZGIteDg2XzY0LWkzODYtc3lzY2Fs bC1yZXN0YXJ0LnBhdGNoCisrKyBiL2dkYi14ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3RhcnQucGF0 Y2gKQEAgLTEsOSArMSwxMiBAQAorRnJvbSA0MThiMDI0ZWVhNmNlYTQyZTc4N2ZmMDU2Njk3Zjgx ZmEwYjU1ZTBiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRmVkb3JhIEdEQiBwYXRj aGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KIERhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAg KzAyMDAKIFN1YmplY3Q6IGdkYi14ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3RhcnQucGF0Y2gKIAog RmlsZU5hbWU6IGdkYi14ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3RhcnQucGF0Y2gKIAorOzsgRml4 IHN5c2NhbGwgcmVzdGFydHMgZm9yIGFtZDY0LT5pMzg2IGJpYXJjaC4KKzs7PXB1c2gramFuCiAK IGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDA5LTExL21zZzAwNTkyLmh0 bWwKIFN1YmplY3Q6IFtwYXRjaF0gRml4IHN5c2NhbGwgcmVzdGFydHMgZm9yIGFtZDY0LT5pMzg2 IGJpYXJjaApAQCAtMjIsNyArMjUsNiBAQCB4ODZfNjQgaTM4NiAgICAgaTM4NiAgICAgUEFTUyBv biByZWNlbnQga2VybmVscwogICAgICAgICAgICAgICAgICAgICAgICAgIChQQVNTOiBrZXJuZWwt Mi42LjMyLTAuNTUucmM4LmdpdDEuZmMxMy54ODZfNjQpCiBpMzg2ICAgaTM4NiAgICAgaTM4NiAg ICAgUEFTUwogCi0KIEN1cnJlbnRseSBnZGIuYmFzZS9pbnRlcnJ1cHQuZXhwIGZhaWxzIG9uIGFt ZDY0IGhvc3QgcnVubmluZyB1bmRlcgogLS10YXJnZXRfYm9hcmQgdW5peC8tbTMyIHdpdGg6CiAJ Y29udGludWUKQEAgLTM2LDcgKzM4LDYgQEAgQ3VycmVudGx5IGdkYi5iYXNlL2ludGVycnVwdC5l eHAgZmFpbHMgb24gYW1kNjQgaG9zdCBydW5uaW5nIHVuZGVyCiAgKiBhdCBzeXNjYWxsIGV4aXQg dHJhY2luZywgYnV0IHRoZXkgd2lsbCBuZXZlciBiZSBsZWZ0IGZvciB0aGUgZGVidWdnZWQgdXNl cgogICogcHJvY2VzcyB0byBzZWUuCiAgKi8KLSNkZWZpbmUgRVJFU1RBUlRTWVMgICAgIDUxMgog CiAiVW5rbm93biBlcnJvciA1MTIiIHByaW50ZWQgYWJvdmUgaXMgcHJpbnRlZCBieSB0aGUgaW5m ZXJpb3IgaXRzZWxmLCBub3QgYnkgR0RCLgogCkBAIC00Niw3ICs0Nyw2IEBAIEl0IGlzIGJlY2F1 c2UgR0RCIHJlYWRzIGl0IGFzIDB4ZmZmZmZmZmZmZmZmZmUwMCBidXQgd3JpdGVzIGl0IGJhY2sg YXMKICsJIGZvciAtRVJFU1RBUlQqIHZhbHVlcyAtNTEyIGJlaW5nIGFib3ZlIDB4ZmZmZmZmZmZm ZmZmZmUwMDsgdGVzdGVkIGJ5CiArCSBpbnRlcnJ1cHQuZXhwLiAgKi8KIAotCiBRdW90ZSBvZiBS b2xhbmQgTWNHcmF0aCBmcm9tIElSQzoKIAogcm9sYW5kOiBpbiB0aGUgdXNlcl9yZWdzZXQgbW9k ZWwsIHRoZXJlIGFyZSA2NC1iaXQgdXNlcl9yZWdzZXQgZmxhdm9ycyBhbmQKQEAgLTY5LDcgKzY5 LDYgQEAgcm9sYW5kOiBzbyBhIDY0LWJpdCBkZWJ1Z2dlciBzaG91bGQgc2VlIGFuZCBiZSBhYmxl IHRvIGZpZGRsZSB0aGUgZnVsbAogcmVnaXN0ZXJzLiAgaXQgY2FuIGV2ZW4gY2hhbmdlIGNzIHZp YSBwdHJhY2UgdG8gZm9yY2UgdGhlIGluZmVyaW9yIGludG8KIHJ1bm5pbmcgMzIgb3IgNjQgYml0 IGNvZGUuCiAKLQogU2F2aW5nIHdob2xlIDY0Yml0cyBmb3IgaTM4NiB0YXJnZXRzIG9uIHg4Nl82 NCBob3N0cyBkb2VzIG5vdCBtdWNoIG1hdGNoIHRoZQogR0RCIGFyY2hpdGVjdHVyZSBhcyBgc3Ry dWN0IHR5cGUnIGZvciB0aGVzZSByZWdpc3RlcnMgc3RpbGwgc2hvdWxkIGJlIDMyYml0CiBldGMu ICAgVGhlcmVmb3JlIHByb3ZpZGVkIGp1c3QgdGhpcyBleGNlcHRpb24uCkBAIC03OSwyMCArNzgs MjMgQEAgaW50ZXJydXB0aW9uIHRvIGRvIGZ1bGwgaW5mZXJpb3Igc2F2ZS9yZXN0b3JlIGZyb20g R0RCIHJlZ2NhY2hlLgogCiBSZWdyZXNzaW9uIHRlc3RlZCBvbiB7eDg2XzY0LHg4Nl82NC1tMzIs aTY4Nn0tZmVkb3JhMTItbGludXgtZ251LgogCi0KIFRoYW5rcywKIEphbgogCi0KIGdkYi8KIDIw MDktMTEtMjkgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KIAog CSogYW1kNjQtbmF0LmMgKGFtZDY0X2NvbGxlY3RfbmF0aXZlX2dyZWdzZXQpOiBEbyBub3QgcHJl LWNsZWFyICVlYXguCiAJU2lnbiBleHRlbmQgaXQgYWZ0ZXJ3YXJkcy4KKy0tLQorIGdkYi9hbWQ2 NC1uYXQuYyB8IDIwICsrKysrKysrKysrKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDE4IGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKK2RpZmYgLS1naXQgYS9nZGIvYW1kNjQtbmF0 LmMgYi9nZGIvYW1kNjQtbmF0LmMKK2luZGV4IGIwNDYwNTI5NTQuLmUwYjA3NjJjN2MgMTAwNjQ0 CiAtLS0gYS9nZGIvYW1kNjQtbmF0LmMKICsrKyBiL2dkYi9hbWQ2NC1uYXQuYwotQEAgLTEzMSw5 ICsxMzEsOSBAQCBhbWQ2NF9jb2xsZWN0X25hdGl2ZV9ncmVnc2V0IChjb25zdCBzdHJ1Y3QgcmVn Y2FjaGUgKnJlZ2NhY2hlLAorQEAgLTEzNSw5ICsxMzUsOSBAQCBhbWQ2NF9jb2xsZWN0X25hdGl2 ZV9ncmVnc2V0IChjb25zdCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAogICAgICB7CiAgICAg ICAgbnVtX3JlZ3MgPSBhbWQ2NF9uYXRpdmVfZ3JlZ3NldDMyX251bV9yZWdzOwogIApAQCAtMTA0 LDcgKzEwNiw3IEBAIGdkYi8KICAJewogIAkgIGlmIChyZWdudW0gPT0gLTEgfHwgcmVnbnVtID09 IGkpCiAgCSAgICBtZW1zZXQgKHJlZ3MgKyBhbWQ2NF9uYXRpdmVfZ3JlZ3NldF9yZWdfb2Zmc2V0 IChnZGJhcmNoLCBpKSwgMCwgOCk7Ci1AQCAtMTU5LDQgKzE1OSwyMCBAQCBhbWQ2NF9jb2xsZWN0 X25hdGl2ZV9ncmVnc2V0IChjb25zdCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAorQEAgLTE2 Myw0ICsxNjMsMjAgQEAgYW1kNjRfY29sbGVjdF9uYXRpdmVfZ3JlZ3NldCAoY29uc3Qgc3RydWN0 IHJlZ2NhY2hlICpyZWdjYWNoZSwKICAJICAgIHJlZ2NhY2hlX3Jhd19jb2xsZWN0IChyZWdjYWNo ZSwgaSwgcmVncyArIG9mZnNldCk7CiAgCX0KICAgICAgfQpAQCAtMTI1LDQgKzEyNyw2IEBAIGdk Yi8KICsJfQogKyAgICB9CiAgfQorLS0gCisyLjE0LjMKIAoKZGlmZiAtLWdpdCBhL2dkYi5zcGVj IGIvZ2RiLnNwZWMKaW5kZXggMmQ3NmU4Zi4uMGVjNDQxNCAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMK KysrIGIvZ2RiLnNwZWMKQEAgLTE4LDIxICsxOCwyMSBAQAogTmFtZTogJXs/c2NsX3ByZWZpeH1n ZGIKIAogIyBGcmVlemUgaXQgd2hlbiBHREIgZ2V0cyBicmFuY2hlZAotJWdsb2JhbCBzbmFwc3Jj ICAgIDIwMTcwNDIwCislZ2xvYmFsIHNuYXBzcmMgICAgMjAxNzEyMDQKICMgU2VlIHRpbWVzdGFt cCBvZiBzb3VyY2UgZ251bGliIGluc3RhbGxlZCBpbnRvIGdkYi9nbnVsaWIvIC4KLSVnbG9iYWwg c25hcGdudWxpYiAyMDE1MDgyMgorJWdsb2JhbCBzbmFwZ251bGliIDIwMTYxMTE1CiAlZ2xvYmFs IHRhcm5hbWUgZ2RiLSV7dmVyc2lvbn0KLVZlcnNpb246IDguMC4xCitWZXJzaW9uOiA4LjAuNTAu JXtzbmFwc3JjfQogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxlYWRpbmcgcmVz ZXJ2ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5vdCBhIHBhcnQg b2YgYG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRpYmxlIGZvciB0 aGUgdGVzdGluZy4KLVJlbGVhc2U6IDMyJXs/ZGlzdH0KK1JlbGVhc2U6IDMzJXs/ZGlzdH0KIAog TGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2MisgYW5k IEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5kIExHUEx2Mysg YW5kIEJTRCBhbmQgUHVibGljIERvbWFpbiBhbmQgR0ZETAogR3JvdXA6IERldmVsb3BtZW50L0Rl YnVnZ2VycwogIyBEbyBub3QgcHJvdmlkZSBVUkwgZm9yIHNuYXBzaG90cyBhcyB0aGUgZmlsZSBs YXN0cyB0aGVyZSBvbmx5IGZvciAyIGRheXMuCiAjIGZ0cDovL3NvdXJjZXdhcmUub3JnL3B1Yi9n ZGIvcmVsZWFzZXMvRklYTUV7dGFybmFtZX0udGFyLnh6Ci1Tb3VyY2U6IGZ0cDovL3NvdXJjZXdh cmUub3JnL3B1Yi9nZGIvcmVsZWFzZXMvJXt0YXJuYW1lfS50YXIueHoKK1NvdXJjZTogI2Z0cDov L3NvdXJjZXdhcmUub3JnL3B1Yi9nZGIvcmVsZWFzZXMvJXt0YXJuYW1lfS50YXIueHoKIEJ1aWxk cm9vdDogJShta3RlbXAgLXVkICV7X3RtcHBhdGh9LyV7bmFtZX0tJXt2ZXJzaW9ufS0le3JlbGVh c2V9LVhYWFhYWCkKIFVSTDogaHR0cDovL2dudS5vcmcvc29mdHdhcmUvZ2RiLwogCkBAIC0xNzQs NTY4ICsxNzQsMjIgQEAgU291cmNlNjogZ2RidHVpCiBTb3VyY2U3OiB2JXtsaWJpcHRfdmVyc2lv bn0udGFyLmd6CiAjPWZlZG9yYQogUGF0Y2gxMTQyOiB2MS41LWxpYmlwdC1zdGF0aWMucGF0Y2gK LQotIyBXb3JrIGFyb3VuZCBvdXQtb2YtZGF0ZSBkZWphZ251IHRoYXQgZG9lcyBub3QgaGF2ZSBL RkFJTAotIz1wdXNoOiBUaGF0IGRlamFnbnUgaXMgdG9vIG9sZCB0byBiZSBzdXBwb3J0ZWQuCi1Q YXRjaDE6IGdkYi02LjMtcmgtZHVtbXlrZmFpbC0yMDA0MTIwMi5wYXRjaAotCi0jIE1hdGNoIHRo ZSBGZWRvcmEncyB2ZXJzaW9uIGluZm8uCi0jPWZlZG9yYQotUGF0Y2gyOiBnZGItNi4zLXJoLXRl c3R2ZXJzaW9uLTIwMDQxMjAyLnBhdGNoCi0KLSMgQmV0dGVyIHBhcnNlIDY0LWJpdCBQUEMgc3lz dGVtIGNhbGwgcHJvbG9ndWVzLgotIz1wdXNoOiBXcml0ZSBuZXcgdGVzdGNhc2UuCi1QYXRjaDEw NTogZ2RiLTYuMy1wcGM2NHN5c2NhbGwtMjAwNDA2MjIucGF0Y2gKLQotIyBJbmNsdWRlIHRoZSBw YydzIHNlY3Rpb24gd2hlbiBkb2luZyBhIHN5bWJvbCBsb29rdXAgc28gdGhhdCB0aGUKLSMgY29y cmVjdCBzeW1ib2wgaXMgZm91bmQuCi0jPXB1c2g6IFdyaXRlIG5ldyB0ZXN0Y2FzZS4KLVBhdGNo MTExOiBnZGItNi4zLXBwYzY0ZGlzcGxheXN5bWJvbC0yMDA0MTEyNC5wYXRjaAotCi0jIE1ha2Ug dXBzdHJlYW0gYHNldCBzY2hlZHVsZXItbG9ja2luZyBzdGVwJyBhcyBkZWZhdWx0LgotIz1wdXNo K2phbjogSG93IG11Y2ggaXMgc2NoZWR1bGVyLWxvY2tpbmcgcmVsZXZhbnQgYWZ0ZXIgbm9uLXN0 b3A/Ci1QYXRjaDI2MDogZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLWlzLWRlZmF1bHQu cGF0Y2gKLQotIyBBZGQgYSB3cmFwcGVyIHNjcmlwdCB0byBHREIgdGhhdCBpbXBsZW1lbnRzIHBz dGFjayB1c2luZyB0aGUKLSMgLS1yZWFkbmV2ZXIgb3B0aW9uLgotIz1wdXNoCi1QYXRjaDExODog Z2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKLQotIyBWU1lTQ0FMTCBhbmQgUElFCi0jPWZl ZG9yYXRlc3QKLVBhdGNoMTIyOiBnZGItNi4zLXRlc3QtcGllLTIwMDUwMTA3LnBhdGNoCi0jPXB1 c2gramFuOiBNYXkgZ2V0IG9ic29sZXRlZCBieSBUb20ncyB1bnJlbG9jYXRlZCBvYmpmaWxlcyBw YXRjaC4KLVBhdGNoMzg5OiBnZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gKLSM9cHVzaCtqYW46 IEJyZWFrcG9pbnRzIGRpc2FibGluZyBtYXRjaGluZyBzaG91bGQgbm90IGJlIGJhc2VkIG9uIGFk ZHJlc3MuCi1QYXRjaDM5NDogZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAtZGlzYWJsZWQucGF0 Y2gKLQotIyBHZXQgc2VsZnRlc3Qgd29ya2luZyB3aXRoIHNlcC1kZWJ1Zy1pbmZvCi0jPWZlZG9y YXRlc3QKLVBhdGNoMTI1OiBnZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaAotCi0jIFRl c3Qgc3VwcG9ydCBvZiBtdWx0aXBsZSBkZXN0cnVjdG9ycyBqdXN0IGxpa2UgbXVsdGlwbGUgY29u c3RydWN0b3JzCi0jPWZlZG9yYXRlc3QKLVBhdGNoMTMzOiBnZGItNi4zLXRlc3QtZHRvcmZpeC0y MDA1MDEyMS5wYXRjaAotCi0jIEZpeCB0byBzdXBwb3J0IGV4ZWN1dGFibGUgbW92aW5nCi0jPWZl ZG9yYXRlc3QKLVBhdGNoMTM2OiBnZGItNi4zLXRlc3QtbW92ZWRpci0yMDA1MDEyNS5wYXRjaAot Ci0jIFRlc3Qgc2libGluZyB0aHJlYWRzIHRvIHNldCB0aHJlYWRlZCB3YXRjaHBvaW50cyBmb3Ig eDg2IGFuZCB4ODYtNjQKLSM9ZmVkb3JhdGVzdAotUGF0Y2gxNDU6IGdkYi02LjMtdGhyZWFkZWQt d2F0Y2hwb2ludHMyLTIwMDUwMjI1LnBhdGNoCi0KLSMgTm90aWZ5IG9ic2VydmVycyB0aGF0IHRo ZSBpbmZlcmlvciBoYXMgYmVlbiBjcmVhdGVkCi0jPWZlZG9yYXRlc3QKLVBhdGNoMTYxOiBnZGIt Ni4zLWluZmVyaW9yLW5vdGlmaWNhdGlvbi0yMDA1MDcyMS5wYXRjaAotCi0jIFZlcmlmeSBwcmlu dGluZyBvZiBpbmhlcml0ZWQgbWVtYmVycyB0ZXN0Ci0jPWZlZG9yYXRlc3QKLVBhdGNoMTYzOiBn ZGItNi4zLWluaGVyaXRhbmNldGVzdC0yMDA1MDcyNi5wYXRjaAotCi0jIEFkZCByZWFkbmV2ZXIg b3B0aW9uCi0jPXB1c2gKLVBhdGNoMTY0OiBnZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRj aAotCi0jIEZpeCBkZWJ1Z2luZm8gYWRkcmVzc2VzIHJlc29sdmluZyBmb3IgLS1lbWl0LXJlbG9j cyBMaW51eCBrZXJuZWxzIChCWiAyMDM2NjEpLgotIz1wdXNoK2phbjogVGhlcmUgd2FzIHNvbWUg bWFpbCB0aHJlYWQgYWJvdXQgaXQsIHRoaXMgcGF0Y2ggbWF5IGJlIGEgaGFjay4KLVBhdGNoMTg4 OiBnZGItNi41LWJ6MjAzNjYxLWVtaXQtcmVsb2NzLnBhdGNoCi0KLSMgU3VwcG9ydCBUTFMgc3lt Ym9scyAoK2BlcnJubycgc3VnZ2VzdGlvbiBpZiBubyBwdGhyZWFkIGlzIGZvdW5kKSAoQlogMTg1 MzM3KS4KLSM9cHVzaCtqYW46IEl0IHNob3VsZCBiZSByZXBsYWNlZCBieSBJbmZpbml0eSBwcm9q ZWN0LgotUGF0Y2gxOTQ6IGdkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1 Z2luZm8tdjIucGF0Y2gKLQotIyBGaXggVExTIHN5bWJvbHMgcmVzb2x2aW5nIGZvciBzaGFyZWQg bGlicmFyaWVzIHdpdGggYSByZWxhdGl2ZSBwYXRobmFtZS4KLSMgVGhlIHRlc3RzdWl0ZSBuZWVk cyBgZ2RiLTYuNS10bHMtb2Ytc2VwYXJhdGUtZGVidWdpbmZvLnBhdGNoJy4KLSM9ZmVkb3JhdGVz dDogT25lIHNob3VsZCByZWNoZWNrIGlmIGl0IGlzIHJlYWxseSBmaXhlZCB1cHN0cmVhbS4KLVBh dGNoMTk2OiBnZGItNi41LXNoYXJlZGxpYnJhcnktcGF0aC5wYXRjaAotCi0jIFRlc3RjYXNlIGZv ciBkZWFkbG9ja2luZyBvbiBsYXN0IGFkZHJlc3Mgc3BhY2UgYnl0ZTsgZm9yIGNvcnJ1cHRlZCBi YWNrdHJhY2VzLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDIxMTogZ2RiLTYuNS1sYXN0LWFkZHJlc3Mt c3BhY2UtYnl0ZS10ZXN0LnBhdGNoCi0KLSMgSW1wcm92ZWQgdGVzdHN1aXRlIHJlc3VsdHMgYnkg dGhlIHRlc3RzdWl0ZSBwcm92aWRlZCBieSB0aGUgY291cnRlc3kgb2YgQkVBLgotIz1mZWRvcmF0 ZXN0OiBGb3IgdXBzdHJlYW0gaXQgc2hvdWxkIGJlIHJld3JpdHRlbiBhcyBhIGRlamFnbnUgdGVz dCwgdGhlIHRlc3Qgb2Ygbm8gIj8/IiB3YXMgdXNlZnVsLgotUGF0Y2gyMDg6IGdkYi02LjUtQkVB LXRlc3RzdWl0ZS5wYXRjaAotCi0jIEZpeCByZWFkbGluZSBzZWdmYXVsdCBvbiBleGNlc3NpdmVs eSBsb25nIGhhbmQtdHlwZWQgbGluZXMuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMjEzOiBnZGItNi41 LXJlYWRsaW5lLWxvbmctbGluZS1jcmFzaC10ZXN0LnBhdGNoCi0KLSMgRml4IGJvZ3VzIDB4MCB1 bndpbmQgb2YgdGhlIHRocmVhZCdzIHRvcG1vc3QgZnVuY3Rpb24gY2xvbmUoMykgKEJaIDIxNjcx MSkuCi0jPWZlZG9yYQotUGF0Y2gyMTQ6IGdkYi02LjUtYnoyMTY3MTEtY2xvbmUtaXMtb3V0ZXJt b3N0LnBhdGNoCi0KLSMgVGVzdCBzaWRlZWZmZWN0cyBvZiBza2lwcGluZyBwcGMgLnNvIGxpYnMg dHJhbXBvbGluZXMgKEJaIDIxODM3OSkuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMjE2OiBnZGItNi41 LWJ6MjE4Mzc5LXBwYy1zb2xpYi10cmFtcG9saW5lLXRlc3QucGF0Y2gKLQotIyBGaXggbG9ja3Vw IG9uIHRyYW1wb2xpbmUgdnMuIGl0cyBmdW5jdGlvbiBsb29rdXA7IHVucmVwcm9kdWNpYmxlIChC WiAyMTgzNzkpLgotIz1mZWRvcmEKLVBhdGNoMjE3OiBnZGItNi41LWJ6MjE4Mzc5LXNvbGliLXRy YW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBhdGNoCi0KLSMgRmluZCBzeW1ib2xzIHByb3Blcmx5 IGF0IHRoZWlyIG9yaWdpbmFsIChpbmNsdWRlZCkgZmlsZSAoQlogMTA5OTIxKS4KLSM9ZmVkb3Jh dGVzdAotUGF0Y2gyMjU6IGdkYi02LjUtYnoxMDk5MjEtRFdfQVRfZGVjbF9maWxlLXRlc3QucGF0 Y2gKLQotIyBVcGRhdGUgUFBDIHVud2luZGluZyBwYXRjaGVzIHRvIHRoZWlyIHVwc3RyZWFtIHZh cmlhbnRzIChCWiAxNDA1MzIpLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDIyOTogZ2RiLTYuMy1iejE0 MDUzMi1wcGMtdW53aW5kaW5nLXRlc3QucGF0Y2gKLQotIyBUZXN0Y2FzZSBmb3IgZXhlYygpIGZy b20gdGhyZWFkZWQgcHJvZ3JhbSAoQlogMjAyNjg5KS4KLSM9ZmVkb3JhdGVzdAotUGF0Y2gyMzE6 IGdkYi02LjMtYnoyMDI2ODktZXhlYy1mcm9tLXB0aHJlYWQtdGVzdC5wYXRjaAotCi0jIEJhY2tw b3J0ZWQgZml4dXBzIHBvc3QgdGhlIHNvdXJjZSB0YXJiYWxsLgotI1hkcm9wOiBKdXN0IGJhY2tw b3J0cy4KLVBhdGNoMjMyOiBnZGItdXBzdHJlYW0ucGF0Y2gKLQotIyBUZXN0Y2FzZSBmb3IgUFBD IFBvd2VyNi9ERlAgaW5zdHJ1Y3Rpb25zIGRpc2Fzc2VtYmx5IChCWiAyMzAwMDApLgotIz1mZWRv cmF0ZXN0Ci1QYXRjaDIzNDogZ2RiLTYuNi1iejIzMDAwMC1wb3dlcjYtZGlzYXNzZW1ibHktdGVz dC5wYXRjaAotCi0jIEFsbG93IHJ1bm5pbmcgYC91c3IvYmluL2djb3JlJyB3aXRoIHByb3ZpZGVk IGJ1dCBpbmFjY2Vzc2libGUgdHR5IChCWiAyMjk1MTcpLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDI0 NTogZ2RiLTYuNi1iejIyOTUxNy1nY29yZS13aXRob3V0LXRlcm1pbmFsLnBhdGNoCi0KLSMgTm90 aWZ5IHVzZXIgb2YgYSBjaGlsZCBmb3JrZWQgcHJvY2VzcyBiZWluZyBkZXRhY2hlZCAoQlogMjM1 MTk3KS4KLSM9cHVzaCtqYW46IFRoaXMgaXMgbW9yZSBhYm91dCBkaXNjdXNzaW9uIGlmL3doYXQg c2hvdWxkIGJlIHByaW50ZWQuCi1QYXRjaDI0NzogZ2RiLTYuNi1iejIzNTE5Ny1mb3JrLWRldGFj aC1pbmZvLnBhdGNoCi0KLSMgQXZvaWQgdG9vIGxvbmcgdGltZW91dHMgb24gZmFpbGluZyBjYXNl cyBvZiAiYW5ub3RhMS5leHAgYW5ub3RhMy5leHAiLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDI1NDog Z2RiLTYuNi10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2gKLQotIyBTdXBwb3J0IGZvciBzdGVwcGlu ZyBvdmVyIFBQQyBhdG9taWMgaW5zdHJ1Y3Rpb24gc2VxdWVuY2VzIChCWiAyMzc1NzIpLgotIz1m ZWRvcmF0ZXN0Ci1QYXRjaDI1ODogZ2RiLTYuNi1iejIzNzU3Mi1wcGMtYXRvbWljLXNlcXVlbmNl LXRlc3QucGF0Y2gKLQotIyBUZXN0IGtlcm5lbCBWRFNPIGRlY29kaW5nIHdoaWxlIGF0dGFjaGlu ZyB0byBhbiBpMzg2IHByb2Nlc3MuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMjYzOiBnZGItNi4zLWF0 dGFjaC1zZWUtdmRzby10ZXN0LnBhdGNoCi0KLSMgVGVzdCBsZWZ0b3ZlciB6b21iaWUgcHJvY2Vz cyAoQlogMjQzODQ1KS4KLSM9ZmVkb3JhdGVzdAotUGF0Y2gyNzE6IGdkYi02LjUtYnoyNDM4NDUt c3RhbGUtdGVzdGluZy16b21iaWUtdGVzdC5wYXRjaAotCi0jIE5ldyBsb2NhdGluZyBvZiB0aGUg bWF0Y2hpbmcgYmluYXJpZXMgZnJvbSB0aGUgcHVyZSBjb3JlIGZpbGUgKGJ1aWxkLWlkKS4KLSM9 cHVzaCtqYW4KLVBhdGNoMjc0OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCi0jIEZpeCBs b2FkaW5nIG9mIGNvcmUgZmlsZXMgd2l0aG91dCBidWlsZC1pZHMgYnV0IHdpdGggYnVpbGQtaWRz IGluIGV4ZWN1dGFibGVzLgotIyBMb2FkIHN0cmljdGx5IGJ1aWxkLWlkLWNoZWNrZWQgY29yZSBm aWxlcyBvbmx5IGlmIG5vIGV4ZWN1dGFibGUgaXMgc3BlY2lmaWVkCi0jIChKYW4gS3JhdG9jaHZp bCwgUkggQlogMTMzOTg2MikuCi0jPXB1c2gramFuCi1QYXRjaDY1OTogZ2RiLTYuNi1idWlsZGlk LWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAotIz1wdXNoK2phbgotUGF0Y2gzNTM6IGdk Yi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoCi0jPXB1c2gramFuCi1QYXRjaDQxNTogZ2Ri LTYuNi1idWlsZGlkLWxvY2F0ZS1jb3JlLWFzLWFyZy5wYXRjaAotIyBXb3JrYXJvdW5kIGxpYnJw bSBCWiA2NDMwMzEgZHVlIHRvIGl0cyB1bmV4cGVjdGVkIGV4aXQoKSBjYWxscyAoQlogNjQyODc5 KS4KLSM9cHVzaCtqYW4KLVBhdGNoNTE5OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1saWJy cG0td29ya2Fyb3VuZC5wYXRjaAotIyBbU0NMXSBTa2lwIGRlcHJlY2F0ZWQgLmdkYl9pbmRleCB3 YXJuaW5nIGZvciBSZWQgSGF0IGJ1aWx0IGZpbGVzIChCWiA5NTM1ODUpLgotIz1wdXNoK2phbgot UGF0Y2g4MzM6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaAotIyBGaXggJ2dk YiBnaXZlcyBoaWdobHkgbWlzbGVhZGluZyBlcnJvciB3aGVuIGRlYnVnaW5mbyBwa2cgaXMgcHJl c2VudCwKLSMgYnV0IG5vdCBjb3JyZXNwb25kaW5nIGJpbmFyeSBwa2cnIChSSCBCWiA5ODExNTQp LgotIz1wdXNoK2phbgotUGF0Y2g4NjM6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGlu Zy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKLQotIyBGaXggZGlz cGxheWluZyBvZiBudW1lcmljIGNoYXIgYXJyYXlzIGFzIHN0cmluZ3MgKEJaIDIyNDEyOCkuCi0j PWZlZG9yYXRlc3Q6IEJ1dCBpdCBpcyBmYWlsaW5nIGFueXdheSwgb25lIHNob3VsZCBjaGVjayB0 aGUgYmVoYXZpb3IgbW9yZS4KLVBhdGNoMjgyOiBnZGItNi43LWNoYXJzaWduLXRlc3QucGF0Y2gK LQotIyBUZXN0IFBQQyBoaWRpbmcgb2YgY2FsbC12b2xhdGlsZSBwYXJhbWV0ZXIgcmVnaXN0ZXIu Ci0jPWZlZG9yYXRlc3QKLVBhdGNoMjg0OiBnZGItNi43LXBwYy1jbG9iYmVyZWQtcmVnaXN0ZXJz LU8yLXRlc3QucGF0Y2gKLQotIyBUZXN0c3VpdGUgZml4ZXMgZm9yIG1vcmUgc3RhYmxlL2NvbXBh cmFibGUgcmVzdWx0cy4KLSM9ZmVkb3JhdGVzdAotUGF0Y2gyODc6IGdkYi02LjctdGVzdHN1aXRl LXN0YWJsZS1yZXN1bHRzLnBhdGNoCi0KLSMgVGVzdCBpYTY0IG1lbW9yeSBsZWFrcyBvZiB0aGUg Y29kZSB1c2luZyBsaWJ1bndpbmQuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMjg5OiBnZGItNi41LWlh NjQtbGlidW53aW5kLWxlYWstdGVzdC5wYXRjaAotCi0jIFRlc3QgaGlkaW5nIHVuZXhwZWN0ZWQg YnJlYWtwb2ludHMgb24gaW50ZW50aW9uYWwgc3RlcCBjb21tYW5kcy4KLSM9ZmVkb3JhdGVzdAot UGF0Y2gyOTA6IGdkYi02LjUtbWlzc2VkLXRyYXAtb24tc3RlcC10ZXN0LnBhdGNoCi0KLSMgVGVz dCBnY29yZSBtZW1vcnkgYW5kIHRpbWUgcmVxdWlyZW1lbnRzIGZvciBsYXJnZSBpbmZlcmlvcnMu Ci0jPWZlZG9yYXRlc3QKLVBhdGNoMjk2OiBnZGItNi41LWdjb3JlLWJ1ZmZlci1saW1pdC10ZXN0 LnBhdGNoCi0KLSMgVGVzdCBkZWJ1Z2dpbmcgc3RhdGljYWxseSBsaW5rZWQgdGhyZWFkZWQgaW5m ZXJpb3JzIChCWiAyMzk2NTIpLgotIyAgLSBJdCByZXF1aXJlcyByZWNlbnQgZ2xpYmMgdG8gd29y ayBpbiB0aGlzIGNhc2UgcHJvcGVybHkuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMjk4OiBnZGItNi42 LXRocmVhZHMtc3RhdGljLXRlc3QucGF0Y2gKLQotIyBUZXN0IEdDT1JFIGZvciBzaG1pZCAwIHNo YXJlZCBtZW1vcnkgbWFwcGluZ3MuCi0jPWZlZG9yYXRlc3Q6IEJ1dCBpdCBpcyBicm9rZW4gYW55 d2F5LCBzb21ldGltZXMgdGhlIGNhc2UgYmVpbmcgdGVzdGVkIGlzIG5vdCByZXByb2R1Y2libGUu Ci1QYXRjaDMwOTogZ2RiLTYuMy1tYXBwaW5nLXplcm8taW5vZGUtdGVzdC5wYXRjaAotCi0jIFRl c3QgYSBjcmFzaCBvbiBgZm9jdXMgY21kJywgYGZvY3VzIHByZXYnIGNvbW1hbmRzLgotIz1mZWRv cmF0ZXN0Ci1QYXRjaDMxMTogZ2RiLTYuMy1mb2N1cy1jbWQtcHJldi10ZXN0LnBhdGNoCi0KLSMg VGVzdCB2YXJpb3VzIGZvcm1zIG9mIHRocmVhZHMgdHJhY2tpbmcgYWNyb3NzIGV4ZWMoKSAoQlog NDQyNzY1KS4KLSM9ZmVkb3JhdGVzdAotUGF0Y2gzMTU6IGdkYi02LjgtYno0NDI3NjUtdGhyZWFk ZWQtZXhlYy10ZXN0LnBhdGNoCi0KLSMgU2lsZW5jZSBtZW1jcHkgY2hlY2sgd2hpY2ggcmV0dXJu cyBmYWxzZSBwb3NpdGl2ZSAoc3BhcmM2NCkKLSM9cHVzaDogQnV0IGl0IGlzIGp1c3QgYSBHQ0Mg d29ya2Fyb3VuZCwgbG9vayB1cCB0aGUgZXhpc3RpbmcgR0NDIFBSIGZvciBpdC4KLVBhdGNoMzE3 OiBnZGItNi44LXNwYXJjNjQtc2lsZW5jZS1tZW1jcHktY2hlY2sucGF0Y2gKLQotIyBUZXN0IGEg Y3Jhc2ggb24gbGlicmFyaWVzIG1pc3NpbmcgdGhlIC50ZXh0IHNlY3Rpb24uCi0jPWZlZG9yYXRl c3QKLVBhdGNoMzIwOiBnZGItNi41LXNlY3Rpb24tbnVtLWZpeHVwLXRlc3QucGF0Y2gKLQotIyBG aXggcmVnaXN0ZXIgYXNzaWdubWVudHMgd2l0aCBubyBHREIgc3RhY2sgZnJhbWVzIChCWiA0MzYw MzcpLgotIz1wdXNoK2phbjogVGhpcyBmaXggaXMgaW5jb3JyZWN0LgotUGF0Y2gzMzA6IGdkYi02 LjgtYno0MzYwMzctcmVnLW5vLWxvbmdlci1hY3RpdmUucGF0Y2gKLQotIyBNYWtlIHRoZSBHREIg cXVpdCBwcm9jZXNzaW5nIG5vbi1hYm9ydGFibGUgdG8gY2xlYW51cCBldmVyeXRoaW5nIHByb3Bl cmx5LgotIz1mZWRvcmE6IEl0IHdhcyB1c2VmdWwgb25seSBhZnRlciBnZGItNi44LWF0dGFjaC1z aWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2ggLgotUGF0Y2gzMzE6IGdkYi02LjgtcXVpdC1u ZXZlci1hYm9ydHMucGF0Y2gKLQotIyBbUkhFTDUsUkhFTDZdIEZpeCBhdHRhY2hpbmcgdG8gc3Rv cHBlZCBwcm9jZXNzZXMuCi0jIFtSSEVMNV0gV29ya2Fyb3VuZCBrZXJuZWwgZm9yIGRldGFjaGlu ZyBTSUdTVE9QcGVkIHByb2Nlc3NlcyAoQlogODA5MzgyKS4KLSM9ZmVkb3JhCi1QYXRjaDMzNzog Z2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRldGFjaC1zdG9wcGVkLnBhdGNoCi0KLSMgVGVzdCB0 aGUgd2F0Y2hwb2ludHMgY29uZGl0aW9uYWxzIHdvcmtzLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDM0 MzogZ2RiLTYuOC13YXRjaHBvaW50LWNvbmRpdGlvbmFscy10ZXN0LnBhdGNoCi0KLSMgRml4IHJl c29sdmluZyBvZiB2YXJpYWJsZXMgYXQgbG9jYXRpb25zIGxpc3RzIGluIHByZWxpbmtlZCBsaWJz IChCWiA0NjY5MDEpLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDM0ODogZ2RiLTYuOC1iejQ2NjkwMS1i YWNrdHJhY2UtZnVsbC1wcmVsaW5rZWQucGF0Y2gKLQotIyBQeXRob24gcGF0Y2hlcyBvZjogaHR0 cDovL3NvdXJjZXdhcmUub3JnL2dkYi93aWtpL1Byb2plY3RBcmNoZXIKLSM9cHVzaAotUGF0Y2gz NDk6IGdkYi1hcmNoZXIucGF0Y2gKLQotIyBOZXcgdGVzdCBmb3Igc3RlcC1yZXN1bWUgYnJlYWtw b2ludCBwbGFjZWQgaW4gbXVsdGlwbGUgdGhyZWFkcyBhdCBvbmNlLgotIz1mZWRvcmF0ZXN0Ci1Q YXRjaDM4MTogZ2RiLXNpbXVsdGFuZW91cy1zdGVwLXJlc3VtZS1icmVha3BvaW50LXRlc3QucGF0 Y2gKLQotIyBGaXggR05VL0xpbnV4IGNvcmUgb3BlbjogQ2FuJ3QgcmVhZCBwYXRobmFtZSBmb3Ig bG9hZCBtYXA6IElucHV0L291dHB1dCBlcnJvci4KLSMgRml4IHJlZ3Jlc3Npb24gb2YgdW5kaXNw bGF5ZWQgbWlzc2luZyBzaGFyZWQgbGlicmFyaWVzIGNhdXNlZCBieSBhIGZpeCBmb3IuCi0jPWZl ZG9yYXRlc3Q6IEl0IHNob3VsZCBiZSBpbiBnbGliYzogbGliYy1hbHBoYTogPDIwMDkxMDA0MTYx NzA2LkdBMjc0NTBALio+Ci1QYXRjaDM4MjogZ2RiLWNvcmUtb3Blbi12ZHNvLXdhcm5pbmcucGF0 Y2gKLQotIyBGaXggc3lzY2FsbCByZXN0YXJ0cyBmb3IgYW1kNjQtPmkzODYgYmlhcmNoLgotIz1w dXNoK2phbgotUGF0Y2gzOTE6IGdkYi14ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3RhcnQucGF0Y2gK LQotIyBGaXggc3RlcHBpbmcgd2l0aCBPTVAgcGFyYWxsZWwgRm9ydHJhbiBzZWN0aW9ucyAoQlog NTMzMTc2KS4KLSM9cHVzaCtqYW46IEl0IHJlcXVpcmVzIHNvbWUgYmV0dGVyIERXQVJGIGFubm90 YXRpb25zLgotUGF0Y2gzOTI6IGdkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCi0K LSMgRml4IHJlZ3Jlc3Npb24gYnkgcHl0aG9uIG9uIGlhNjQgZHVlIHRvIHN0YWxlIGN1cnJlbnQg ZnJhbWUuCi0jPXB1c2gramFuCi1QYXRjaDM5NzogZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJl bnQucGF0Y2gKLQotIyBXb3JrYXJvdW5kIGNjYWNoZSBtYWtpbmcgbGluZW5vIG5vbi16ZXJvIGZv ciBjb21tYW5kLWxpbmUgZGVmaW5pdGlvbnMuCi0jPWZlZG9yYXRlc3Q6IGNjYWNoZSBpcyByYXJl bHkgdXNlZCBhbmQgaXQgaXMgZXZlbiBmaXhlZCBub3cuCi1QYXRjaDQwMzogZ2RiLWNjYWNoZS13 b3JrYXJvdW5kLnBhdGNoCi0KLSMgVGVzdGNhc2UgZm9yICJEbyBub3QgbWFrZSB1cCBsaW5lIGlu Zm9ybWF0aW9uIiBmaXggYnkgRGFuaWVsIEphY29ib3dpdHouCi0jPWZlZG9yYXRlc3QKLVBhdGNo NDA3OiBnZGItbGluZW5vLW1ha2V1cC10ZXN0LnBhdGNoCi0KLSMgVGVzdCBwb3dlcjcgcHBjIGRp c2Fzc2VtYmx5LgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDQwODogZ2RiLXBwYy1wb3dlcjctdGVzdC5w YXRjaAotCi0jIEZpeCBpMzg2K3g4Nl82NCByd2F0Y2grYXdhdGNoIGJlZm9yZSBydW4sIHJlZ3Jl c3Npb24gYWdhaW5zdCA2LjggKEJaIDU0MTg2NikuCi0jIEZpeCBpMzg2IHJ3YXRjaCthd2F0Y2gg YmVmb3JlIHJ1biAoQlogNjg4Nzg4LCBvbiB0b3Agb2YgQlogNTQxODY2KS4KLSM9cHVzaCtqYW46 IEl0IHNob3VsZCBiZSBmaXhlZCBwcm9wZXJseSBpbnN0ZWFkLgotUGF0Y2g0MTc6IGdkYi1iejU0 MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRjaAotCi0jIFdvcmthcm91bmQgbm9uLXN0b3AgbW9y aWJ1bmQgbG9jYXRpb25zIGV4cGxvaXRlZCBieSBrZXJuZWwgdXRyYWNlIChCWiA1OTA2MjMpLgot Iz1wdXNoK2phbjogQ3VycmVudGx5IGl0IGlzIHN0aWxsIG5vdCBmdWxseSBzYWZlLgotUGF0Y2g0 NTk6IGdkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaAotCi0jIEZpeCBmb2xsb3ct ZXhlYyBmb3IgQysrIHByb2dyYW1zIChidWdyZXBvcnRlZCBieSBNYXJ0aW4gU3RyYW5za3kpLgot Iz1mZWRvcmF0ZXN0Ci1QYXRjaDQ3MDogZ2RiLWFyY2hlci1uZXh0LW92ZXItdGhyb3ctY3h4LWV4 ZWMucGF0Y2gKLQotIyBCYWNrcG9ydCBEV0FSRi00IHN1cHBvcnQgKEJaIDYwMTg4NywgVG9tIFRy b21leSkuCi0jPWZlZG9yYXRlc3QKLVBhdGNoNDc1OiBnZGItYno2MDE4ODctZHdhcmY0LXJoLXRl c3QucGF0Y2gKLQotIyBbZGVsYXllZC1zeW1maWxlXSBUZXN0IGEgYmFja3RyYWNlIHJlZ3Jlc3Np b24gb24gQ0ZJcyB3aXRob3V0IERJRSAoQlogNjE0NjA0KS4KLSM9ZmVkb3JhdGVzdAotUGF0Y2g0 OTA6IGdkYi10ZXN0LWJ0LWNmaS13aXRob3V0LWRpZS5wYXRjaAotCi0jIFByb3ZpZGUgL3Vzci9i aW4vZ2RiLWFkZC1pbmRleCBmb3IgcnBtLWJ1aWxkIChUb20gVHJvbWV5KS4KLSM9cHVzaDogUmUt Y2hlY2sgYWdhaW5zdCB0aGUgdXBzdHJlYW0gdmVyc2lvbi4KLVBhdGNoNDkxOiBnZGItZ2RiLWFk ZC1pbmRleC1zY3JpcHQucGF0Y2gKLQotIyBPdXQgb2YgbWVtb3J5IGlzIGp1c3QgYW4gZXJyb3Is IG5vdCBmYXRhbCAodW5pbml0aWFsaXplZCBWTFMgdmFycywgQlogNTY4MjQ4KS4KLSM9cHVzaCtq YW46IEluZmVyaW9yIG9iamVjdHMgc2hvdWxkIGJlIHJlYWQgaW4gcGFydHMsIHRoZW4gdGhpcyBw YXRjaCBnZXRzIG9ic29sZXRlZC4KLVBhdGNoNDk2OiBnZGItYno1NjgyNDgtb29tLWlzLWVycm9y LnBhdGNoCi0KLSMgVmVyaWZ5IEdEQiBQeXRob24gYnVpbHQtaW4gZnVuY3Rpb24gZ2RiLnNvbGli X2FkZHJlc3MgZXhpc3RzIChCWiAjIDYzNDEwOCkuCi0jPWZlZG9yYXRlc3QKLVBhdGNoNTI2OiBn ZGItYno2MzQxMDgtc29saWJfYWRkcmVzcy5wYXRjaAotCi0jIE5ldyB0ZXN0IGdkYi5hcmNoL3g4 Nl82NC1waWQwLWNvcmUuZXhwIGZvciBrZXJuZWwgUElEIDAgY29yZXMgKEJaIDYxMTQzNSkuCi0j PWZlZG9yYXRlc3QKLVBhdGNoNTQyOiBnZGItdGVzdC1waWQwLWNvcmUucGF0Y2gKLQotIyBbYXJj aGVyLXRyb21leS1kZWxheWVkLXN5bWZpbGVdIE5ldyB0ZXN0IGdkYi5kd2FyZjIvZHcyLWFyYW5n ZXMuZXhwLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDU0NzogZ2RiLXRlc3QtZHcyLWFyYW5nZXMucGF0 Y2gKLQotIyBbYXJjaGVyLWtlaXRocy1leHByLWN1bXVsYXRpdmUrdXBzdHJlYW1dIEltcG9ydCBD KysgdGVzdGNhc2VzLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDU0ODogZ2RiLXRlc3QtZXhwci1jdW11 bGF0aXZlLWFyY2hlci5wYXRjaAotCi0jIEZpeCByZWdyZXNzaW9ucyBvbiBDKysgbmFtZXMgcmVz b2x2aW5nIChQUiAxMTczNCwgUFIgMTIyNzMsIEtlaXRoIFNlaXR6KS4KLSM9ZmVkb3JhdGVzdAot UGF0Y2g1NjU6IGdkYi1waHlzbmFtZS1wcjExNzM0LXRlc3QucGF0Y2gKLSM9ZmVkb3JhdGVzdAot UGF0Y2g1Njc6IGdkYi1waHlzbmFtZS1wcjEyMjczLXRlc3QucGF0Y2gKLQotIyBUb29sY2hhaW4g b24gc3BhcmMgaXMgc2xpZ2h0bHkgYnJva2VuIGFuZCBkZWJ1Z2luZm8gZmlsZXMgYXJlIGdlbmVy YXRlZAotIyB3aXRoIG5vbiA2NGJpdCBhbGlnbmVkIHRhYmxlcy9vZmZzZXRzLgotIyBTZWUgZm9y IGV4YW1wbGUgcmVhZGVsZiAtUyAuLi9Ydm5jLmRlYnVnLgotIwotIyBBcyBhIGNvbnNlbnF1ZW5j ZSBjYWxjdWxhdGlvbiBvZiBzZWN0cC0+ZmlsZXBvcyBhcyB1c2VkIGluCi0jIGR3YXJmMl9yZWFk X3NlY3Rpb24gKGdkYi9kd2FyZjJyZWFkLmM6MTUyNSkgd2lsbCByZXR1cm4gYSBub24gYWxpZ25l ZCBidWZmZXIKLSMgdGhhdCBjYW5ub3QgYmUgdXNlZCBkaXJlY3RseSBhcyBkb25lIHdpdGggTU1B UC4KLSMgVXNhZ2Ugd2lsbCByZXN1bHQgaW4gYSBCdXNFcnJvci4KLSMKLSMgV2hpbGUgd2UgZmln dXJlIG91dCB3aGF0J3Mgd3JvbmcgaW4gdGhlIHRvb2xjaGFpbiBhbmQgZG8gYSBmdWxsIGFyY2hp dmUKLSMgcmVidWlsZCB0byBmaXggaXQsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byB1c2UgZ2RiIDop Ci0jPXB1c2gKLVBhdGNoNTc5OiBnZGItNy4yLjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRvLWJy b2tlbi1kZWJ1Zy1maWxlcy5wYXRjaAotCi0jIFRlc3QgR0RCIG9wY29kZXMvIGRpc2Fzc2VtYmx5 IG9mIEludGVsIEl2eSBCcmlkZ2UgaW5zdHJ1Y3Rpb25zIChCWiA2OTY4OTApLgotIz1mZWRvcmF0 ZXN0Ci1QYXRjaDYxNjogZ2RiLXRlc3QtaXZ5LWJyaWRnZS5wYXRjaAotCi0jIFdvcmsgYXJvdW5k IFBSIGxpYmMvMTMwOTcgImxpbnV4LXZkc28uc28uMSIgd2FybmluZyBtZXNzYWdlLgotIz1wdXNo K2phbgotUGF0Y2g2Mjc6IGdkYi1nbGliYy12ZHNvLXdvcmthcm91bmQucGF0Y2gKLQotIyBIYWNr IGZvciBwcm9wZXIgUElFIHJ1biBvZiB0aGUgdGVzdHN1aXRlLgotIz1mZWRvcmF0ZXN0Ci1QYXRj aDYzNDogZ2RiLXJ1bnRlc3QtcGllLW92ZXJyaWRlLnBhdGNoCi0KLSMgV29yayBhcm91bmQgcmVh ZGxpbmUtNi4yIGluY29tcGF0aWJpbGl0eSBub3QgYXNraW5nIGZvciAtLW1vcmUtLSAoQlogNzAx MTMxKS4KLSM9ZmVkb3JhCi1QYXRjaDY0MjogZ2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0 Y2gKLQotIyBQcmludCByZWFzb25zIGZvciBmYWlsZWQgYXR0YWNoL3NwYXduIGluY2wuIFNFTGlu dXggZGVueV9wdHJhY2UgKEJaIDc4Njg3OCkuCi0jPXB1c2gramFuCi1QYXRjaDY1MzogZ2RiLWF0 dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaAotCi0jIFdvcmthcm91bmQgY3Jhc2hlcyBmcm9t IHN0YWxlIGZyYW1lX2luZm8gcG9pbnRlciAoQlogODA0MjU2KS4KLSM9cHVzaCtqYW4KLVBhdGNo NjYxOiBnZGItc3RhbGUtZnJhbWVfaW5mby5wYXRjaAotCi0jIFdvcmthcm91bmQgUFIgbGliYy8x NDE2NiBmb3IgaW5mZXJpb3IgY2FsbHMgb2Ygc3Ryc3RyLgotIz1mZWRvcmE6IENvbXBhdGliaWxp dHkgd2l0aCBSSEVMcyAodW5jaGVja2VkIHdoaWNoIG9uZXMpLgotUGF0Y2g2OTA6IGdkYi1nbGli Yy1zdHJzdHItd29ya2Fyb3VuZC5wYXRjaAotCi0jIEluY2x1ZGUgdGVzdGNhc2UgZm9yIGBVbmFi bGUgdG8gc2VlIGEgdmFyaWFibGUgaW5zaWRlIGEgbW9kdWxlIChYTEYpJyAoQlogODIzNzg5KS4K LSM9ZmVkb3JhdGVzdAotUGF0Y2g2OTg6IGdkYi1yaGVsNS45LXRlc3RjYXNlLXhsZi12YXItaW5z aWRlLW1vZC5wYXRjaAotCi0jIFRlc3RjYXNlIGZvciBgU2V0dGluZyBzb2xpYi1hYnNvbHV0ZS1w cmVmaXggYnJlYWtzIHZEU08nIChCWiA4MTgzNDMpLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDcwMzog Z2RiLXJoYnotODE4MzQzLXNldC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXgtdGVzdGNhc2UucGF0Y2gK LQotIyBGaXggYEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlz IGxhcmdlciB0aGFuIDI1Nk1CJwotIyAoUkggQlogNzk1NDI0KS4KLSM9cHVzaAotUGF0Y2g4MTE6 IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKLVBhdGNoODEyOiBnZGItcmhiejc5 NTQyNC1iaXRwb3MtMjFvZjI1LnBhdGNoCi1QYXRjaDgxMzogZ2RiLXJoYno3OTU0MjQtYml0cG9z LTIyb2YyNS5wYXRjaAotUGF0Y2g4MTQ6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0 Y2gKLVBhdGNoODE2OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LnBhdGNoCi1QYXRjaDgx NzogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTI1b2YyNS10ZXN0LnBhdGNoCi1QYXRjaDgxODogZ2Ri LXJoYno3OTU0MjQtYml0cG9zLWxhenl2YWx1ZS5wYXRjaAotCi0jIEltcG9ydCByZWdyZXNzaW9u IHRlc3QgZm9yIGBnZGIvZmluZHZhci5jOjQxNzogaW50ZXJuYWwtZXJyb3I6Ci0jIHJlYWRfdmFy X3ZhbHVlOiBBc3NlcnRpb24gYGZyYW1lJyBmYWlsZWQuJyAoUkggQlogOTQ3NTY0KSBmcm9tIFJI RUwgNi41LgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDgzMjogZ2RiLXJoYno5NDc1NjQtZmluZHZhci1h c3NlcnRpb24tZnJhbWUtZmFpbGVkLXRlc3RjYXNlLnBhdGNoCi0KLSMgW3JoZWw2XSBEVFMgYmFj a3dhcmQgUHl0aG9uIGNvbXBhdGliaWxpdHkgQVBJIChCWiAxMDIwMDA0LCBQaGlsIE11bGRvb24p LgotIz1mZWRvcmEKLVBhdGNoODQ4OiBnZGItZHRzLXJoZWw2LXB5dGhvbi1jb21wYXQucGF0Y2gK LQotIyBGaXggY3Jhc2ggb2YgLXJlYWRub3cgL3Vzci9saWIvZGVidWcvdXNyL2Jpbi9nbmF0Ymlu ZC5kZWJ1ZyAoQlogMTA2OTIxMSkuCi0jPXB1c2gramFuCi1QYXRjaDg1MjogZ2RiLWduYXQtZHdh cmYtY3Jhc2gtM29mMy5wYXRjaAotCi0jIEZpeCAnbWVtb3J5IGxlYWsgaW4gaW5mcHlfcmVhZF9t ZW1vcnkoKScgKFJIIEJaIDEwMDc2MTQpCi0jPWZlZG9yYXRlc3QKLVBhdGNoODYxOiBnZGItcmhi ejEwMDc2MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9yeS10ZXN0LnBhdGNoCi0KLSMgVkxBIChG b3J0cmFuIGR5bmFtaWMgYXJyYXlzKSBmcm9tIEludGVsICsgYXJjaGVyLWphbmtyYXRvY2h2aWwt dmxhIHRlc3RzLgotIz1wdXNoCi1QYXRjaDEwNTg6IGdkYi12bGEtaW50ZWwtZm9ydHJhbi1zdHJp ZGVzLnBhdGNoCi0jPXB1c2gKLVBhdGNoMTEzMjogZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1z dHJpbmdzLnBhdGNoCi0jPXB1c2gramFuCi1QYXRjaDg4OTogZ2RiLXZsYS1pbnRlbC1zdHJpbmdi dC1maXgucGF0Y2gKLSM9ZmVkb3JhdGVzdAotUGF0Y2g4ODc6IGdkYi1hcmNoZXItdmxhLXRlc3Rz LnBhdGNoCi1QYXRjaDg4ODogZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAotCi0jIENvbnRpbnVl IGJhY2t0cmFjZSBldmVuIGlmIGEgZnJhbWUgZmlsdGVyIHRocm93cyBhbiBleGNlcHRpb24gKFBo aWwgTXVsZG9vbikuCi0jPXB1c2gKLVBhdGNoOTE4OiBnZGItYnRyb2J1c3QucGF0Y2gKLQotIyBE aXNwbGF5IEZvcnRyYW4gc3RyaW5ncyBpbiBiYWNrdHJhY2VzLgotIz1mZWRvcmF0ZXN0Ci1QYXRj aDkyNTogZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCi0KLSMgRml4IFB5dGhvbiBHSUwg d2l0aCBnZGIuZXhlY3V0ZSgiY29udGludWUiKSAoUGhpbCBNdWxkb29uLCBCWiAxMTE2OTU3KS4K LSM9cHVzaAotUGF0Y2g5Mjc6IGdkYi1weXRob24tZ2lsLnBhdGNoCi0KLSMgVGVzdGNhc2UgZm9y ICdbU0FQXSBSZWN1cnNpdmUgZGxvcGVuIGNhdXNlcyBTQVAgSEFOQSBpbnN0YWxsZXIgdG8KLSMg Y3Jhc2guJyAoUkggQlogMTE1NjE5MikuCi0jPWZlZG9yYXRlc3QKLVBhdGNoOTc3OiBnZGItcmhi ejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi10ZXN0LnBhdGNoCi0KLSMgRml4IGppdC1yZWFkZXIu aCBmb3IgbXVsdGktbGliLgotIz1wdXNoK2phbgotUGF0Y2g5Nzg6IGdkYi1qaXQtcmVhZGVyLW11 bHRpbGliLnBhdGNoCi0KLSMgRml4ICdgY2F0Y2ggc3lzY2FsbCcgZG9lc24ndCB3b3JrIGZvciBw YXJlbnQgYWZ0ZXIgYGZvcmsnIGlzIGNhbGxlZCcKLSMgKFBoaWxpcHBlIFdhcm9xdWllcnMsIFJI IEJaIDExNDkyMDUpLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDk4NDogZ2RiLXJoYnoxMTQ5MjA1LWNh dGNoLXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCi0KLSMgRml4ICdiYWNrcG9ydCBHREIg Ny40IGZpeCB0byBSSEVMIDYuNiBHREInIFtPcmlnaW5hbCBTb3VyY2V3YXJlIGJ1ZwotIyBkZXNj cmlwdGlvbjogJ0MrKyAoYW5kIG9iamMpOiBJbnRlcm5hbCBlcnJvciBvbiB1bnF1YWxpZmllZCBu YW1lCi0jIHJlLXNldCcsIFBSIDExNjU3XSAoUkggQlogMTE4NjQ3NikuCi0jPWZlZG9yYXRlc3QK LVBhdGNoOTkxOiBnZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFt ZS1yZS1zZXQtdGVzdC5wYXRjaAotCi0jIFRlc3QgJ2luZm8gdHlwZS1wcmludGVycycgUHl0aG9u IGVycm9yIChSSCBCWiAxMzUwNDM2KS4KLSM9ZmVkb3JhdGVzdAotUGF0Y2g5OTI6IGdkYi1yaGJ6 MTM1MDQzNi10eXBlLXByaW50ZXJzLWVycm9yLnBhdGNoCi0KLSMgRml4ICdbcHBjNjRdIGFuZCBb czM5MHhdIHdyb25nIHByb2xvZ3VlIHNraXAgb24gLU8yIC1nIGNvZGUnIChKYW4KLSMgS3JhdG9j aHZpbCwgUkggQlogMTA4NDQwNCkuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMTAyNjogZ2RiLXJoYnox MDg0NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzItZy0zb2YzLnBhdGNoCi0K LSMgTmV2ZXIga2lsbCBQSUQgb246IGdkYiBleGVjIFBJRCAoSmFuIEtyYXRvY2h2aWwsIFJIIEJa IDEyMTk3NDcpLgorIyBbcmhlbCBkdHMgbGliaXB0XSBGaXggWy1XZXJyb3I9aW1wbGljaXQtZmFs bHRocm91Z2g9XSB3aXRoIGdjYy03LjEuMS4KICM9cHVzaCtqYW4KLVBhdGNoMTA1MzogZ2RiLWJ6 MTIxOTc0Ny1hdHRhY2gta2lsbHMucGF0Y2gKK1BhdGNoMTE3MTogdjEuNi4xLWltcGxpY2l0LWZh bGx0aHJvdWdoLnBhdGNoCiAKLSMgRml4IHRoZSBwYWhvbGUgY29tbWFuZCBicmVha2FnZSBkdWUg dG8gaXRzIFB5dGhvbjMgcG9ydCAoUkggQlogMTI2NDUzMikuCi0jPWZlZG9yYQorIyMgRml4IHRo ZSBwYWhvbGUgY29tbWFuZCBicmVha2FnZSBkdWUgdG8gaXRzIFB5dGhvbjMgcG9ydCAoUkggQlog MTI2NDUzMikuCisjIz1mZWRvcmEKIFBhdGNoMTA0NDogZ2RiLXBhaG9sZS1weXRob24yLnBhdGNo Ci0KLSMgRm9yY2UgbGlibmN1cnNlc3cgb3ZlciBsaWJuY3Vyc2VzIHRvIG1hdGNoIHRoZSBpbmNs dWRlcyAoUkggQlogMTI3MDUzNCkuCi0jPXB1c2gramFuCi1QYXRjaDEwNTY6IGdkYi1mZWRvcmEt bGlibmN1cnNlc3cucGF0Y2gKLQotIyBUZXN0IGNsZmx1c2hvcHQgaW5zdHJ1Y3Rpb24gZGVjb2Rl IChmb3IgUkggQlogMTI2MjQ3MSkuCi0jPWZlZG9yYXRlc3QKLVBhdGNoMTA3MzogZ2RiLW9wY29k ZXMtY2xmbHVzaG9wdC10ZXN0LnBhdGNoCi0KLSMgW3Rlc3RzdWl0ZV0gRml4IGZhbHNlIHNlbGZ0 ZXN0LmV4cCBGQUlMIGZyb20gc3lzdGVtIHJlYWRsaW5lLTYuMysgKFBhdHJpY2sgUGFsa2EpLgot Iz1mZWRvcmF0ZXN0Ci1QYXRjaDEwNzU6IGdkYi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQu cGF0Y2gKLSM9ZmVkb3JhdGVzdAorIyMgW3Rlc3RzdWl0ZV0gRml4IGZhbHNlIHNlbGZ0ZXN0LmV4 cCBGQUlMIGZyb20gc3lzdGVtIHJlYWRsaW5lLTYuMysgKFBhdHJpY2sgUGFsa2EpLgorIyM9ZmVk b3JhdGVzdAorI1BhdGNoMTA3NTogZ2RiLXRlc3RzdWl0ZS1yZWFkbGluZTYzLXNpZ2ludC5wYXRj aAorIyM9ZmVkb3JhdGVzdAogUGF0Y2gxMTE5OiBnZGItdGVzdHN1aXRlLXJlYWRsaW5lNjMtc2ln aW50LXJldmVydC5wYXRjaAogCi0jIFthYXJjaDY0XSBGaXggaGFyZHdhcmUgd2F0Y2hwb2ludHMg KFJIIEJaIDEyNjE1NjQpLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDExMTM6IGdkYi1yaGJ6MTI2MTU2 NC1hYXJjaDY0LWh3LXdhdGNocG9pbnQtdGVzdC5wYXRjaCAKLQotIyBBZGQgbWVzc2FnZXMgc3Vn Z2VzdGluZyBtb3JlIHJlY2VudCBSSEVMIGdkYnNlcnZlciAoUkggQlogMTMyMTExNCkuCi0jPWZl ZG9yYQotUGF0Y2gxMTE4OiBnZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAotCi0jIE5ldyB0ZXN0 IGZvciBQeXRob24gIkNhbm5vdCBsb2NhdGUgb2JqZWN0IGZpbGUgZm9yIGJsb2NrIiAoZm9yIFJI IEJaIDEzMjU3OTUpLgotIz1mZWRvcmF0ZXN0Ci1QYXRjaDExMjM6IGdkYi1yaGJ6MTMyNTc5NS1m cmFtZWZpbHRlcnMtdGVzdC5wYXRjaAotCi0jIFtkdHMrZWw3XSBbeDg2Kl0gQnVuZGxlIGxpbnV4 X3BlcmYuaCBmb3IgbGliaXB0IChSSCBCWiAxMjU2NTEzKS4KLSM9ZmVkb3JhCi1QYXRjaDExNDM6 IGdkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAotCi0jIEZpeCBUTFMgKHN1Y2ggYXMgJ2Vycm5v JykgcmVncmVzc2lvbi4KLSM9cHVzaCtqYW4KLVBhdGNoMTE0OTogZ2RiLXRscy0xb2YyLnBhdGNo Ci0jPXB1c2gramFuCi1QYXRjaDExNTA6IGdkYi10bHMtMm9mMi5wYXRjaAotCi0jIEZpeCBnZGIt aGVhZGxlc3MgL3Vzci9iaW4vIGV4ZWN1dGFibGVzIChCWiAxMzkwMjUxKS4KLSM9ZmVkb3JhCi1Q YXRjaDExNTI6IGdkYi1saWJleGVjLWFkZC1pbmRleC5wYXRjaAotCi0jIEZpeCBnZGItYWRkLWlu ZGV4IGZvciA0NDQgKi5kZWJ1ZyBmaWxlcy4KLSM9cHVzaCtqYW4KLVBhdGNoMTE1MzogZ2RiLWFk ZC1pbmRleC1jaG1vZC5wYXRjaAotCi0jIE5ldyB0ZXN0Y2FzZSBmb3I6IEZpeCA8dGFiPi1jb21w bGV0aW9uIGNyYXNoIChHYXJ5IEJlbnNvbiwgUkggQlogMTM5ODM4NykuCi0jPWZlZG9yYXRlc3QK LVBhdGNoMTE1NTogZ2RiLXJoYnoxMzk4Mzg3LXRhYi1jcmFzaC10ZXN0LnBhdGNoCi0KLSMgW3Jo ZWwgZHRzIGxpYmlwdF0gRml4IFstV2Vycm9yPWltcGxpY2l0LWZhbGx0aHJvdWdoPV0gd2l0aCBn Y2MtNy4xLjEuCi0jPXB1c2gramFuCi1QYXRjaDExNzE6IHYxLjYuMS1pbXBsaWNpdC1mYWxsdGhy b3VnaC5wYXRjaAotCi0jIFtzMzkweF0gQmFja3BvcnQgYXJjaDEyIHN1cHBvcnQgYW5kIG90aGVy IHMzOTB4IGZpeGVzIChSSCBCWiAxNDIwMzA0KS4KLVBhdGNoMTIxMDogZ2RiLXJoYnoxNDIwMzA0 LXMzOTB4LTAxb2YzNS5wYXRjaAotUGF0Y2gxMjExOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMDJv ZjM1LnBhdGNoCi1QYXRjaDEyMTI6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0wM29mMzUucGF0Y2gK LVBhdGNoMTIxMzogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTA0b2YzNS5wYXRjaAotUGF0Y2gxMjE0 OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMDVvZjM1LnBhdGNoCi1QYXRjaDEyMTU6IGdkYi1yaGJ6 MTQyMDMwNC1zMzkweC0wNm9mMzUucGF0Y2gKLVBhdGNoMTIxNjogZ2RiLXJoYnoxNDIwMzA0LXMz OTB4LTA3b2YzNS5wYXRjaAotUGF0Y2gxMjE3OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMDhvZjM1 LnBhdGNoCi1QYXRjaDEyMTg6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0wOW9mMzUucGF0Y2gKLVBh dGNoMTIxOTogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTEwb2YzNS5wYXRjaAotUGF0Y2gxMjIwOiBn ZGItcmhiejE0MjAzMDQtczM5MHgtMTFvZjM1LnBhdGNoCi1QYXRjaDEyMjE6IGdkYi1yaGJ6MTQy MDMwNC1zMzkweC0xMm9mMzUucGF0Y2gKLVBhdGNoMTIyMjogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4 LTEzb2YzNS5wYXRjaAotUGF0Y2gxMjIzOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMTRvZjM1LnBh dGNoCi1QYXRjaDEyMjQ6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0xNW9mMzUucGF0Y2gKLVBhdGNo MTIyNTogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE2b2YzNS5wYXRjaAotUGF0Y2gxMjI2OiBnZGIt cmhiejE0MjAzMDQtczM5MHgtMTdvZjM1LnBhdGNoCi1QYXRjaDEyMjc6IGdkYi1yaGJ6MTQyMDMw NC1zMzkweC0xOG9mMzUucGF0Y2gKLVBhdGNoMTIyODogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTE5 b2YzNS5wYXRjaAotUGF0Y2gxMjI5OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjBvZjM1LnBhdGNo Ci1QYXRjaDEyMzA6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yMW9mMzUucGF0Y2gKLVBhdGNoMTIz MTogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTIyb2YzNS5wYXRjaAotUGF0Y2gxMjMyOiBnZGItcmhi ejE0MjAzMDQtczM5MHgtMjNvZjM1LnBhdGNoCi1QYXRjaDEyMzM6IGdkYi1yaGJ6MTQyMDMwNC1z MzkweC0yNG9mMzUucGF0Y2gKLVBhdGNoMTIzNDogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTI1b2Yz NS5wYXRjaAotUGF0Y2gxMjM1OiBnZGItcmhiejE0MjAzMDQtczM5MHgtMjZvZjM1LnBhdGNoCi1Q YXRjaDEyMzY6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0yN29mMzUucGF0Y2gKLVBhdGNoMTIzNzog Z2RiLXJoYnoxNDIwMzA0LXMzOTB4LTI4b2YzNS5wYXRjaAotUGF0Y2gxMjM4OiBnZGItcmhiejE0 MjAzMDQtczM5MHgtMjlvZjM1LnBhdGNoCi1QYXRjaDEyMzk6IGdkYi1yaGJ6MTQyMDMwNC1zMzkw eC0zMG9mMzUucGF0Y2gKLVBhdGNoMTI0MDogZ2RiLXJoYnoxNDIwMzA0LXMzOTB4LTMxb2YzNS5w YXRjaAotUGF0Y2gxMjQxOiBnZGItcmhiejE0MjAzMDQtczM5MHgtMzJvZjM1LnBhdGNoCi1QYXRj aDEyNDI6IGdkYi1yaGJ6MTQyMDMwNC1zMzkweC0zM29mMzUucGF0Y2gKLVBhdGNoMTI0MzogZ2Ri LXJoYnoxNDIwMzA0LXMzOTB4LTM0b2YzNS5wYXRjaAotUGF0Y2gxMjQ0OiBnZGItcmhiejE0MjAz MDQtczM5MHgtMzVvZjM1LnBhdGNoCi0KLSMgW3MzOTB4XSBCYWNrcG9ydCBhcmNoMTQgZ3VhcmRl ZC1zdG9yYWdlIHJlZ2lzdGVyIHN1cHBvcnQgKFJIIEJaIDE0OTg3NTgpLgotUGF0Y2gxMjU1OiBn ZGItcmhiejE0OTg3NTgtMW9mNS5wYXRjaAotUGF0Y2gxMjU2OiBnZGItcmhiejE0OTg3NTgtMm9m NS5wYXRjaAotUGF0Y2gxMjU3OiBnZGItcmhiejE0OTg3NTgtM29mNS5wYXRjaAotUGF0Y2gxMjU4 OiBnZGItcmhiejE0OTg3NTgtNG9mNS5wYXRjaAotUGF0Y2gxMjU5OiBnZGItcmhiejE0OTg3NTgt NW9mNS5wYXRjaAotCi0jIFVzZSBpbmxpbmVkIGZ1bmMgbmFtZSBmb3IgcHJpbnRpbmcgYnJlYWtw b2ludHMgKFJIIEJaIDEyMjg1NTYsIEtlaXRoIFNlaXR6KS4KLVBhdGNoMTI2MTogZ2RiLXJoYnox MjI4NTU2LWJwdC1pbmxpbmVkLWZ1bmMtbmFtZS0xb2YyLnBhdGNoCi1QYXRjaDEyNjI6IGdkYi1y aGJ6MTIyODU1Ni1icHQtaW5saW5lZC1mdW5jLW5hbWUtMm9mMi5wYXRjaAorIyBJbmNsdWRlIHRo ZSBhdXRvLWdlbmVyYXRlZCBmaWxlIGNvbnRhaW5pbmcgdGhlICJQYXRjaDoiIGRpcmVjdGl2ZXMu CisjIFNlZSBSRUFETUUubG9jYWwtcGF0Y2hlcyBmb3IgbW9yZSBkZXRhaWxzLgorJWluY2x1ZGUg X2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKIAogJWlmIDAleyE/cmhlbDoxfSB8fCAwJXs/cmhlbH0g PiA2CiAjIFJMX1NUQVRFX0ZFRE9SQV9HREIgd291bGQgbm90IGJlIGZvdW5kIGZvcjoKQEAgLTk2 MywxNjIgKzQxNywxMiBAQCB0YXIgeHpmICV7U09VUkNFN30KICMgd2UgYnVpbGQgaW4gJXtnZGJf YnVpbGR9LCBqdXN0IHRvIGJlIHN1cmUuCiBmaW5kIC1uYW1lICIqLmluZm8qInx4YXJncyBybSAt ZgogCi0jIEFwcGx5IHBhdGNoZXMgZGVmaW5lZCBhYm92ZS4KLQotIyBNYXRjaCB0aGUgRmVkb3Jh J3MgdmVyc2lvbiBpbmZvLgotJXBhdGNoMiAtcDEKLQotJXBhdGNoMjMyIC1wMQotJXBhdGNoMzQ5 IC1wMQotJXBhdGNoMTA1OCAtcDEKLSVwYXRjaDExMzIgLXAxCi0lcGF0Y2g4ODkgLXAxCi0lcGF0 Y2gxIC1wMQotCi0lcGF0Y2gxMDUgLXAxCi0lcGF0Y2gxMTEgLXAxCi0lcGF0Y2gxMTggLXAxCi0l cGF0Y2gxMjIgLXAxCi0lcGF0Y2gxMjUgLXAxCi0lcGF0Y2gxMzMgLXAxCi0lcGF0Y2gxMzYgLXAx Ci0lcGF0Y2gxNDUgLXAxCi0lcGF0Y2gxNjEgLXAxCi0lcGF0Y2gxNjMgLXAxCi0lcGF0Y2gxNjQg LXAxCi0lcGF0Y2gxODggLXAxCi0lcGF0Y2gxOTQgLXAxCi0lcGF0Y2gxOTYgLXAxCi0lcGF0Y2gy MDggLXAxCi0lcGF0Y2gyMTEgLXAxCi0lcGF0Y2gyMTMgLXAxCi0lcGF0Y2gyMTQgLXAxCi0lcGF0 Y2gyMTYgLXAxCi0lcGF0Y2gyMTcgLXAxCi0lcGF0Y2gyMjUgLXAxCi0lcGF0Y2gyMjkgLXAxCi0l cGF0Y2gyMzEgLXAxCi0lcGF0Y2gyMzQgLXAxCi0lcGF0Y2gyNDUgLXAxCi0lcGF0Y2gyNDcgLXAx Ci0lcGF0Y2gyNTQgLXAxCi0lcGF0Y2gyNTggLXAxCi0lcGF0Y2gyNjAgLXAxCi0lcGF0Y2gyNjMg LXAxCi0lcGF0Y2gyNzEgLXAxCi0lcGF0Y2gyNzQgLXAxCi0lcGF0Y2g2NTkgLXAxCi0lcGF0Y2gz NTMgLXAxCi0lcGF0Y2gyODIgLXAxCi0lcGF0Y2gyODQgLXAxCi0lcGF0Y2gyODcgLXAxCi0lcGF0 Y2gyODkgLXAxCi0lcGF0Y2gyOTAgLXAxCi0lcGF0Y2gyOTYgLXAxCi0lcGF0Y2gyOTggLXAxCi0l cGF0Y2gzMDkgLXAxCi0lcGF0Y2gzMTEgLXAxCi0lcGF0Y2gzMTUgLXAxCi0lcGF0Y2gzMTcgLXAx Ci0lcGF0Y2gzMjAgLXAxCi0lcGF0Y2gzMzAgLXAxCi0lcGF0Y2gzNDMgLXAxCi0lcGF0Y2gzNDgg LXAxCi0lcGF0Y2gzODEgLXAxCi0lcGF0Y2gzODIgLXAxCi0lcGF0Y2gzOTEgLXAxCi0lcGF0Y2gz OTIgLXAxCi0lcGF0Y2gzOTcgLXAxCi0lcGF0Y2g0MDMgLXAxCi0lcGF0Y2gzODkgLXAxCi0lcGF0 Y2gzOTQgLXAxCi0lcGF0Y2g0MDcgLXAxCi0lcGF0Y2g0MDggLXAxCi0lcGF0Y2g0MTcgLXAxCi0l cGF0Y2g0NTkgLXAxCi0lcGF0Y2g0NzAgLXAxCi0lcGF0Y2g0NzUgLXAxCi0lcGF0Y2g0MTUgLXAx Ci0lcGF0Y2g1MTkgLXAxCi0lcGF0Y2g0OTAgLXAxCi0lcGF0Y2g0OTEgLXAxCi0lcGF0Y2g0OTYg LXAxCi0lcGF0Y2g1MjYgLXAxCi0lcGF0Y2g1NDIgLXAxCi0lcGF0Y2g1NDcgLXAxCi0lcGF0Y2g1 NDggLXAxCi0lcGF0Y2g1NjUgLXAxCi0lcGF0Y2g1NjcgLXAxCi0lcGF0Y2g1NzkgLXAxCi0lcGF0 Y2g2MTYgLXAxCi0lcGF0Y2g2MjcgLXAxCi0lcGF0Y2g2MzQgLXAxCi0lcGF0Y2g2NTMgLXAxCi0l cGF0Y2g2NjEgLXAxCi0lcGF0Y2g2OTAgLXAxCi0lcGF0Y2g2OTggLXAxCi0lcGF0Y2g3MDMgLXAx Ci0lcGF0Y2gxMjEwIC1wMQotJXBhdGNoMTIxMSAtcDEKLSVwYXRjaDEyMTIgLXAxCi0lcGF0Y2gx MjEzIC1wMQotJXBhdGNoMTIxNCAtcDEKLSVwYXRjaDEyMTUgLXAxCi0lcGF0Y2gxMjE2IC1wMQot JXBhdGNoMTIxNyAtcDEKLSVwYXRjaDEyMTggLXAxCi0lcGF0Y2gxMjE5IC1wMQotJXBhdGNoMTIy MCAtcDEKLSVwYXRjaDEyMjEgLXAxCi0lcGF0Y2gxMjIyIC1wMQotJXBhdGNoMTIyMyAtcDEKLSVw YXRjaDEyMjQgLXAxCi0lcGF0Y2gxMjI1IC1wMQotJXBhdGNoMTIyNiAtcDEKLSVwYXRjaDEyMjcg LXAxCi0lcGF0Y2gxMjI4IC1wMQotJXBhdGNoMTIyOSAtcDEKLSVwYXRjaDEyMzAgLXAxCi0lcGF0 Y2gxMjMxIC1wMQotJXBhdGNoMTIzMiAtcDEKLSVwYXRjaDEyMzMgLXAxCi0lcGF0Y2gxMjM0IC1w MQotJXBhdGNoMTIzNSAtcDEKLSVwYXRjaDEyMzYgLXAxCi0lcGF0Y2gxMjM3IC1wMQotJXBhdGNo MTIzOCAtcDEKLSVwYXRjaDEyMzkgLXAxCi0lcGF0Y2gxMjQwIC1wMQotJXBhdGNoMTI0MSAtcDEK LSVwYXRjaDEyNDIgLXAxCi0lcGF0Y2gxMjQzIC1wMQotJXBhdGNoMTI0NCAtcDEKLSVwYXRjaDgx MSAtcDEKLSVwYXRjaDgxMiAtcDEKLSVwYXRjaDgxMyAtcDEKLSVwYXRjaDgxNCAtcDEKLSVwYXRj aDgxNiAtcDEKLSVwYXRjaDgxNyAtcDEKLSVwYXRjaDgxOCAtcDEKLSVwYXRjaDgzMiAtcDEKLSVw YXRjaDg1MiAtcDEKLSVwYXRjaDg2MSAtcDEKLSVwYXRjaDg2MyAtcDEKLSVwYXRjaDg4NyAtcDEK LSVwYXRjaDg4OCAtcDEKLSVwYXRjaDkxOCAtcDEKLSVwYXRjaDkyNSAtcDEKLSVwYXRjaDkyNyAt cDEKLSVwYXRjaDk3NyAtcDEKLSVwYXRjaDk3OCAtcDEKLSVwYXRjaDk4NCAtcDEKLSVwYXRjaDk5 MSAtcDEKLSVwYXRjaDk5MiAtcDEKLSVwYXRjaDEwMjYgLXAxCi0lcGF0Y2gxMDUzIC1wMQotJXBh dGNoMTA1NiAtcDEKLSVwYXRjaDEwNzMgLXAxCi0lcGF0Y2g4NDggLXAxCisjIEFwcGx5IHBhdGNo ZXMgZGVmaW5lZCBvbiBfZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZQorCisjIEluY2x1ZGUgdGhlIGF1 dG8tZ2VuZXJhdGVkICIlcGF0Y2giIGRpcmVjdGl2ZXMuCisjIFNlZSBSRUFETUUubG9jYWwtcGF0 Y2hlcyBmb3IgbW9yZSBkZXRhaWxzLgorJWluY2x1ZGUgX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUK KwogJWlmIDAleyE/ZWw2OjF9CiBmb3IgaSBpbiBcCiAgIGdkYi9weXRob24vbGliL2dkYi9GcmFt ZVdyYXBwZXIucHkgXApAQCAtMTEyOSwyOCArNDMzLDcgQEAgZm9yIGkgaW4gXAogICA6ID4kaQog ZG9uZQogJWVuZGlmCi0lcGF0Y2g4MzMgLXAxCi0lcGF0Y2g2NDIgLXAxCi0lcGF0Y2gzMzcgLXAx Ci0lcGF0Y2gzMzEgLXAxCi0lcGF0Y2gxMTEzIC1wMQotJXBhdGNoMTExOCAtcDEKLSVwYXRjaDEx MjMgLXAxCi0lcGF0Y2gxMTQzIC1wMQotJXBhdGNoMTE0OSAtcDEKLSVwYXRjaDExNTAgLXAxCi0l cGF0Y2gxMTUyIC1wMQotJXBhdGNoMTE1MyAtcDEKLSVwYXRjaDExNTUgLXAxCi0lcGF0Y2gxMjU1 IC1wMQotJXBhdGNoMTI1NiAtcDEKLSVwYXRjaDEyNTcgLXAxCi0lcGF0Y2gxMjU4IC1wMQotJXBh dGNoMTI1OSAtcDEKLSVwYXRjaDEyNjEgLXAxCi0lcGF0Y2gxMjYyIC1wMQotCi0lcGF0Y2gxMDc1 IC1wMQorCiAlaWYgMCV7P3JoZWw6MX0gJiYgMCV7P3JoZWx9IDw9IDcKICVwYXRjaDExMTkgLXAx CiAlcGF0Y2gxMDQ0IC1wMQpAQCAtMTczMSw2ICsxMDE0LDEwIEBAIHRoZW4KIGZpCiAKICVjaGFu Z2Vsb2cKKyogVGh1IERlYyAgNyAyMDE3IFNlcmdpbyBEdXJpZ2FuIEp1bmlvciA8c2VyZ2lvZGpA cmVkaGF0LmNvbT4gLSA4LjAuNTAuMjAxNzEyMDQtMzMuZmMyNgorLSBSZWJhc2UgdG8gRlNGIEdE QiA4LjAuNTAuMjAxNzEyMDQgKDguMXByZSkuCistIEltcGxlbWVudGVkIG5ldyBtZXRob2QgZm9y IGRlYWxpbmcgd2l0aCBsb2NhbCBwYXRjaGVzLgorCiAqIE1vbiBEZWMgIDQgMjAxNyBTZXJnaW8g RHVyaWdhbiBKdW5pb3IgPHNlcmdpb2RqQHJlZGhhdC5jb20+IC0gOC4wLjEtMzIuZmMyNgogLSBD b252ZXJ0IGFsbCB0aGUgcGF0Y2hlcyB0byAnZ2l0LWFtJyBmb3JtYXQuCiAKCmRpZmYgLS1naXQg YS9nZW5lcmF0ZS1naXQtcmVwby1mcm9tLXBhdGNoZXMuc2ggYi9nZW5lcmF0ZS1naXQtcmVwby1m cm9tLXBhdGNoZXMuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY2ODQ3 NwotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlLWdpdC1yZXBvLWZyb20tcGF0Y2hlcy5zaApA QCAtMCwwICsxLDQyIEBACisjIS9iaW4vc2gKKworIyBHZW5lcmljIGZ1bmN0aW9uIHRvIHByaW50 IGFuIGVycm9yIG1lc3NhZ2UgYW5kIGJhaWwgb3V0LgorZGllICgpCit7CisgICAgZWNobyAkMSA+ IC9kZXYvc3RkZXJyCisgICAgZXhpdCAxCit9CisKKyMgUHJpbnQgdXNhZ2UKK3VzYWdlICgpCit7 CisgICAgY2F0IDw8RU9GCiskMCAtLSBHZW5lcmF0ZSBhIGdpdCByZXBvc2l0b3J5IGZyb20gLnBh dGNoIGZpbGVzCisKK1VzYWdlOgorICAkMCA8UkVQT1NJVE9SWT4KKworPFJFUE9TSVRPUlk+IGlz IHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIHJlYmFzZSB3YXMgcGVyZm9ybWVkLiAgWW91CituZWVk IHRvIGNsb25lIHRoZSByZXBvc2l0b3J5IGZpcnN0LgorCitPcHRpb25zIGFyZToKKworICAtaDog UHJpbnQgdGhpcyBtZXNzYWdlCitFT0YKKyAgICBleGl0IDAKK30KKwordGVzdCAtZiBnZGIuc3Bl YyB8fCBkaWUgIlRoaXMgc2NyaXB0IG5lZWRzIHRvIHJ1biBmcm9tIHRoZSBzYW1lIGRpcmVjdG9y eSBhcyBnZGIuc3BlYy4iCisKK3Rlc3QgLXogJDEgJiYgZGllICJZb3UgbmVlZCB0byBzcGVjaWZ5 IHRoZSByZXBvc2l0b3J5LiIKK3Rlc3QgIiQxIiA9ICItaCIgJiYgdXNhZ2UKKwordGVzdCAtZiBf Z2l0X3Vwc3RyZWFtX2NvbW1pdCB8fCBkaWUgIkNhbm5vdCBmaW5kIF9naXRfdXBzdHJlYW1fY29t bWl0IGZpbGUuIgordGVzdCAtZiBfcGF0Y2hfb3JkZXIgfHwgZGllICJDYW5ub3QgZmluZCBfcGF0 Y2hfb3JkZXIgZmlsZS4iCisKK2xhc3RfYW5jZXN0b3JfY29tbWl0PWBjYXQgX2dpdF91cHN0cmVh bV9jb21taXRgCitjZCAkMQorZ2l0IGNoZWNrb3V0ICRsYXN0X2FuY2VzdG9yX2NvbW1pdAorZm9y IHAgaW4gYGNhdCAuLi9fcGF0Y2hfb3JkZXJgIDsgZG8KKyAgICBnaXQgYW0gLi4vJHAKK2RvbmUK CmRpZmYgLS1naXQgYS9nZW5lcmF0ZS1wYXRjaGVzLWZyb20tZ2l0LXJlcG8uc2ggYi9nZW5lcmF0 ZS1wYXRjaGVzLWZyb20tZ2l0LXJlcG8uc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uOTI4ZjY5YgotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlLXBhdGNoZXMtZnJvbS1n aXQtcmVwby5zaApAQCAtMCwwICsxLDgxIEBACisjIS9iaW4vc2gKKworIyBHZW5lcmljIGZ1bmN0 aW9uIHRvIHByaW50IGFuIGVycm9yIG1lc3NhZ2UgYW5kIGJhaWwgb3V0LgorZGllICgpCit7Cisg ICAgZWNobyAkMSA+IC9kZXYvc3RkZXJyCisgICAgZXhpdCAxCit9CisKKyMgUHJpbnQgdXNhZ2UK K3VzYWdlICgpCit7CisgICAgY2F0IDw8RU9GCiskMCAtLSBHZW5lcmF0ZSAucGF0Y2ggZmlsZXMg Zm9yIGEgUlBNIHBhY2thZ2UgZnJvbSBhIGdpdCByZXBvc2l0b3J5CisKK1VzYWdlOgorICAkMCA8 UkVQT1NJVE9SWT4gWzxDT01NSVRfT1JfVEFHPl0KKworPFJFUE9TSVRPUlk+IGlzIHRoZSBkaXJl Y3Rvcnkgd2hlcmUgdGhlIHJlYmFzZSB3YXMgcGVyZm9ybWVkLgorCis8Q09NTUlUX09SX1RBRz4g aXMgdGhlIGNvbW1pdCBvciB0YWcgYWdhaW5zdCB3aGljaCB0aGUgcmViYXNlIHdhcworcGVyZm9y bWVkLiAgSXQgaXMgb3B0aW9uYWwsIGFuZCBpZiBub3QgcHJvdmlkZWQgIm9yaWdpbi9tYXN0ZXIi IHdpbGwKK2JlIHVzZWQuICBUaGlzIHNjcmlwdCB3aWxsIHRoZW4gdXNlICdnaXQgbWVyZ2UtYmFz ZScgdG8gZmluZCB0aGUgbW9zdAorcmVjZW50IGNvbW1vbiBhbmNlc3RvciBiZXR3ZWVuIEhFQUQg YW5kIENPTU1JVF9PUl9UQUcuCisKK09wdGlvbnMgYXJlOgorCisgIC1oOiBQcmludCB0aGlzIG1l c3NhZ2UKK0VPRgorICAgIGV4aXQgMAorfQorCit0ZXN0IC1mIGdkYi5zcGVjIHx8IGRpZSAiVGhp cyBzY3JpcHQgbmVlZHMgdG8gcnVuIGZyb20gdGhlIHNhbWUgZGlyZWN0b3J5IGFzIGdkYi5zcGVj LiIKKwordGVzdCAteiAkMSAmJiBkaWUgIllvdSBuZWVkIHRvIHNwZWNpZnkgdGhlIHJlcG9zaXRv cnkuIgordGVzdCAiJDEiID0gIi1oIiAmJiB1c2FnZQorCitjb21taXRfb3JfdGFnPSJvcmlnaW4v bWFzdGVyIgoraWYgdGVzdCAhIC16ICIkMiIgOyB0aGVuCisgICAgY29tbWl0X29yX3RhZz0iJDIi CitmaQorCit0ZXN0IC1kICQxIHx8IGRpZSAiJDEgaXMgbm90IGEgZGlyZWN0b3J5LiIKKworIyBS ZW1vdmUgYWxsIHRoZSBjdXJyZW50IHBhdGNoZXMKK2ZvciBmIGluIGBjYXQgX3BhdGNoX29yZGVy YCA7IGRvCisgICAgZ2l0IHJtIC1mICRmCitkb25lCisKK2NkICQxCitpZHg9MQorY29tbW9uX2Fu Y2VzdG9yPWBnaXQgbWVyZ2UtYmFzZSBIRUFEICRjb21taXRfb3JfdGFnYAorCit0ZXN0IC16ICIk Y29tbW9uX2FuY2VzdG9yIiAmJiBkaWUgIkNvdWxkIG5vdCBmaW5kIGNvbW1vbiBhbmNlc3RvciBi ZXR3ZWVuIEhFQUQgYW5kICRjb21taXRfb3JfdGFnLiIKKwordGVtcF9QQVRDSF9maWxlPS90bXAv X2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKK3RlbXBfcGF0Y2hfZmlsZT0vdG1wL19nZGIuc3BlYy5w YXRjaC5pbmNsdWRlCit0ZW1wX3BhdGNoX29yZGVyX2ZpbGU9L3RtcC9fcGF0Y2hfb3JkZXIKKwor cm0gLWYgJHRlbXBfUEFUQ0hfZmlsZSAkdGVtcF9wYXRjaF9maWxlICR0ZW1wX3BhdGNoX29yZGVy X2ZpbGUKKworZm9yIGMgaW4gYGdpdCByZXYtbGlzdCAtLXJldmVyc2UgJHtjb21tb25fYW5jZXN0 b3J9Li5IRUFEYCA7IGRvCisgICAgZm5hbWU9YGdpdCBsb2cgLTEgLS1wcmV0dHk9J2Zvcm1hdDol YicgJGMgfCBzZWQgLW4gJ3MvXkZpbGVOYW1lOiBcKC4qXCkkL1wxL3AnYAorICAgIHRlc3QgLXog JGZuYW1lICYmIGRpZSAiQ291bGQgbm90IGRldGVybWluZSBGaWxlTmFtZSBvZiBjb21taXQgJGMu IgorICAgIGdpdCBmb3JtYXQtcGF0Y2ggLS1rZWVwIC0xIC0tc3Rkb3V0ICRjID4gLi4vJGZuYW1l CisgICAgKGNkIC4uICYmIGdpdCBhZGQgJGZuYW1lKQorCisgICAgY2F0ID4+ICR0ZW1wX1BBVENI X2ZpbGUgPDxFT0YKK2BnaXQgbG9nIC0xIC0tcHJldHR5PSdmb3JtYXQ6JWInICRjIHwgc2VkIC1u ICdzL147Oy8jL3AnYAorRU9GCisgICAgcHJpbnRmICJQYXRjaCUwM2Q6ICVzXG5cbiIgJGlkeCAk Zm5hbWUgPj4gJHRlbXBfUEFUQ0hfZmlsZQorICAgIHByaW50ZiAiJSVwYXRjaCUwM2QgLXAxXG4i ICRpZHggPj4gJHRlbXBfcGF0Y2hfZmlsZQorICAgIGVjaG8gJGZuYW1lID4+ICR0ZW1wX3BhdGNo X29yZGVyX2ZpbGUKKyAgICBpZHg9YGV4cHIgJGlkeCArIDFgCitkb25lCisKK2NkIC4uCittdiAk dGVtcF9QQVRDSF9maWxlIF9nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCittdiAkdGVtcF9wYXRjaF9m aWxlIF9nZGIuc3BlYy5wYXRjaC5pbmNsdWRlCittdiAkdGVtcF9wYXRjaF9vcmRlcl9maWxlIF9w YXRjaF9vcmRlcgorZWNobyAiJGNvbW1vbl9hbmNlc3RvciIgPiBfZ2l0X3Vwc3RyZWFtX2NvbW1p dAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDYxZjAwYjIuLjM5NTcyY2Ig MTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwzICsxLDQgQEAKIFNIQTUx MiAoZ2RiLWxpYnN0ZGMrKy12My1weXRob24tNy4xLjEtMjAxNzA1MjYudGFyLnh6KSA9IDNkNTQw Yjk5NTgxZmZhNGNmMjgxMGJlYzk3OWM5YTAxYTFmOGNlNzgyYjdjOGVmYjQ2YjQwZGQyNDIxZDYw Y2RiMGU1MmI1M2M1NDc3YzNlODZhNTc5NTdhMmExNDQ4OWY1YzI5ZGM1Mzg2ODczOGExZWY3OWU3 OWNmNzZkMGExCiBTSEE1MTIgKHYxLjYuMS50YXIuZ3opID0gYzdjOWM4YmE3ODAyMWZmZjNmZGUx MmEyMTZmNTcyOWM2MDMxMTE0ZTVhNzI3ZjQ5YjdmZjFhMzFjNTNiNWRkYmEyNGQxYjNhZWUyNTJk ODI3OGVjZDFmYWZlNzhhNDRlZDA1OWMxMmI5ZWIyOWVjYTMzMDkzZTA3MjA2NzM0NjgKIFNIQTUx MiAoZ2RiLTguMC4xLnRhci54eikgPSA1ZWIzMjg5MTAwMzNmMDkxODA1OGJlMmY5MmNhZWJmMWU4 ZGZjNmNhYTNjNzMwZDk5ZDYyMTYyN2U1M2RlM2MxYjQzNzYxYzJmNjgzZDUzNTU1ODkzMjUzYzJm MDY3NjhjYmY1NmNkZWEwNTFhM2QyOTFmZmI2Y2ZhZTg3YjVlMQorU0hBNTEyIChnZGItOC4wLjUw LjIwMTcxMjA0LnRhci54eikgPSA0MmQxMDllYjcxMWEwZTA3NmEwODNjNGUxOGFkZTY5NDZmY2Fj MjE5MjA5NmQ3MmRmZDEwZWI0YjRmYmM3MmY5NGEwNmQ1ZTliMGI3MTVkMmQwM2FjMzM3NzUzMjVm ZWVkZWEwMzg4YWQzMWNhOTQyODVhNjFmNDQwMjU5ZDc2ZAo=