[3.14] gh-105812: Make use of the Sphinx `deco` role in documentation (GH-139598) (#154980)
hugovk <[email protected]> Fri, 31 Jul 2026 05:30:35 -0400 (EDT)
| Newsgroups | gmane.comp.python.cvs |
|---|---|
| Message-ID | <[email protected]> |
aHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0aG9uL2NvbW1pdC85ZTY1NDY1MjYwZDNlMzUy NWQ1OTRlNGIzODA5NjQ1MWUxZjJjODUyDQpjb21taXQ6IDllNjU0NjUyNjBkM2UzNTI1ZDU5NGU0 YjM4MDk2NDUxZTFmMmM4NTINCmJyYW5jaDogMy4xNA0KYXV0aG9yOiBIdWdvIHZhbiBLZW1lbmFk ZSA8MTMyNDIyNStodWdvdmtAdXNlcnMubm9yZXBseS5naXRodWIuY29tPg0KY29tbWl0dGVyOiBo dWdvdmsgPDEzMjQyMjUraHVnb3ZrQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4NCmRhdGU6IDIw MjYtMDctMzFUMDk6Mjk6NDJaDQpzdW1tYXJ5Og0KDQpbMy4xNF0gZ2gtMTA1ODEyOiBNYWtlIHVz ZSBvZiB0aGUgU3BoaW54IGBkZWNvYCByb2xlIGluIGRvY3VtZW50YXRpb24gKEdILTEzOTU5OCkg KCMxNTQ5ODApDQoNCkNvLWF1dGhvcmVkLWJ5OiBWaWN0b3JpZW4gPDY1MzA2MDU3K1ZpaWNvc0B1 c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+DQoNCmZpbGVzOg0KTSBEb2MvYy1hcGkvZXhjZXB0aW9u cy5yc3QNCk0gRG9jL2MtYXBpL3N0cnVjdHVyZXMucnN0DQpNIERvYy9kZXByZWNhdGlvbnMvcGVu ZGluZy1yZW1vdmFsLWluLTMuMTUucnN0DQpNIERvYy9mYXEvcHJvZ3JhbW1pbmcucnN0DQpNIERv Yy9nbG9zc2FyeS5yc3QNCk0gRG9jL2hvd3RvL2Fubm90YXRpb25zLnJzdA0KTSBEb2MvaG93dG8v ZGVzY3JpcHRvci5yc3QNCk0gRG9jL2hvd3RvL2VudW0ucnN0DQpNIERvYy9ob3d0by9zb3J0aW5n LnJzdA0KTSBEb2MvbGlicmFyeS9hYmMucnN0DQpNIERvYy9saWJyYXJ5L2Jpc2VjdC5yc3QNCk0g RG9jL2xpYnJhcnkvY29sbGVjdGlvbnMucnN0DQpNIERvYy9saWJyYXJ5L2NvbnRleHRsaWIucnN0 DQpNIERvYy9saWJyYXJ5L2N0eXBlcy5yc3QNCk0gRG9jL2xpYnJhcnkvZW51bS5yc3QNCk0gRG9j L2xpYnJhcnkvZm5tYXRjaC5yc3QNCk0gRG9jL2xpYnJhcnkvZnVuY3Rpb25zLnJzdA0KTSBEb2Mv bGlicmFyeS9mdW5jdG9vbHMucnN0DQpNIERvYy9saWJyYXJ5L3RhcmZpbGUucnN0DQpNIERvYy9s aWJyYXJ5L3Rlc3QucnN0DQpNIERvYy9saWJyYXJ5L3R5cGluZy5yc3QNCk0gRG9jL2xpYnJhcnkv dW5pdHRlc3QucnN0DQpNIERvYy9yZWZlcmVuY2UvY29tcG91bmRfc3RtdHMucnN0DQpNIERvYy9y ZWZlcmVuY2UvZGF0YW1vZGVsLnJzdA0KTSBEb2MvcmVmZXJlbmNlL2V4cHJlc3Npb25zLnJzdA0K TSBEb2MvcmVmZXJlbmNlL3NpbXBsZV9zdG10cy5yc3QNCk0gRG9jL3doYXRzbmV3LzIuNi5yc3QN Ck0gRG9jL3doYXRzbmV3LzIuNy5yc3QNCk0gRG9jL3doYXRzbmV3LzMuMTAucnN0DQpNIERvYy93 aGF0c25ldy8zLjExLnJzdA0KTSBEb2Mvd2hhdHNuZXcvMy4xMi5yc3QNCk0gRG9jL3doYXRzbmV3 LzMuMTMucnN0DQpNIERvYy93aGF0c25ldy8zLjIucnN0DQpNIERvYy93aGF0c25ldy8zLjMucnN0 DQpNIERvYy93aGF0c25ldy8zLjQucnN0DQpNIERvYy93aGF0c25ldy8zLjUucnN0DQpNIERvYy93 aGF0c25ldy8zLjcucnN0DQpNIERvYy93aGF0c25ldy8zLjgucnN0DQoNCmRpZmYgLS1naXQgYS9E b2MvYy1hcGkvZXhjZXB0aW9ucy5yc3QgYi9Eb2MvYy1hcGkvZXhjZXB0aW9ucy5yc3QNCmluZGV4 IGI5ZmM3YWY5OTIwMjZhNy4uMWI5YzdlZGUzOTNmNWNhIDEwMDY0NA0KLS0tIGEvRG9jL2MtYXBp L2V4Y2VwdGlvbnMucnN0DQorKysgYi9Eb2MvYy1hcGkvZXhjZXB0aW9ucy5yc3QNCkBAIC0xMDM4 LDcgKzEwMzgsNyBAQCBQcm9wZXJseSBpbXBsZW1lbnRpbmcgOmM6bWVtYmVyOmB+UHlUeXBlT2Jq ZWN0LnRwX3JlcHJgIGZvciBjb250YWluZXIgdHlwZXMgcmVxdQ0KIHNwZWNpYWwgcmVjdXJzaW9u IGhhbmRsaW5nLiAgSW4gYWRkaXRpb24gdG8gcHJvdGVjdGluZyB0aGUgc3RhY2ssDQogOmM6bWVt YmVyOmB+UHlUeXBlT2JqZWN0LnRwX3JlcHJgIGFsc28gbmVlZHMgdG8gdHJhY2sgb2JqZWN0cyB0 byBwcmV2ZW50IGN5Y2xlcy4gIFRoZQ0KIGZvbGxvd2luZyB0d28gZnVuY3Rpb25zIGZhY2lsaXRh dGUgdGhpcyBmdW5jdGlvbmFsaXR5LiAgRWZmZWN0aXZlbHksDQotdGhlc2UgYXJlIHRoZSBDIGVx dWl2YWxlbnQgdG8gOmZ1bmM6YHJlcHJsaWIucmVjdXJzaXZlX3JlcHJgLg0KK3RoZXNlIGFyZSB0 aGUgQyBlcXVpdmFsZW50IHRvIDpkZWNvOmByZXBybGliLnJlY3Vyc2l2ZV9yZXByYC4NCiANCiAu LiBjOmZ1bmN0aW9uOjogaW50IFB5X1JlcHJFbnRlcihQeU9iamVjdCAqb2JqZWN0KQ0KIA0KZGlm ZiAtLWdpdCBhL0RvYy9jLWFwaS9zdHJ1Y3R1cmVzLnJzdCBiL0RvYy9jLWFwaS9zdHJ1Y3R1cmVz LnJzdA0KaW5kZXggYTNlMTY0MDExYTgyNWJmLi40MDU1NzI1MWE3OWMwYTMgMTAwNjQ0DQotLS0g YS9Eb2MvYy1hcGkvc3RydWN0dXJlcy5yc3QNCisrKyBiL0RvYy9jLWFwaS9zdHJ1Y3R1cmVzLnJz dA0KQEAgLTQxOSw4ICs0MTksOCBAQCBtZXRob2QuDQogDQogICAgVGhlIG1ldGhvZCB3aWxsIGJl IHBhc3NlZCB0aGUgdHlwZSBvYmplY3QgYXMgdGhlIGZpcnN0IHBhcmFtZXRlciByYXRoZXINCiAg ICB0aGFuIGFuIGluc3RhbmNlIG9mIHRoZSB0eXBlLiAgVGhpcyBpcyB1c2VkIHRvIGNyZWF0ZSAq Y2xhc3MgbWV0aG9kcyosDQotICAgc2ltaWxhciB0byB3aGF0IGlzIGNyZWF0ZWQgd2hlbiB1c2lu ZyB0aGUgOmZ1bmM6YGNsYXNzbWV0aG9kYCBidWlsdC1pbg0KLSAgIGZ1bmN0aW9uLg0KKyAgIHNp bWlsYXIgdG8gd2hhdCBpcyBjcmVhdGVkIHdoZW4gdXNpbmcgdGhlIDpkZWNvOmBjbGFzc21ldGhv ZGAgYnVpbHQtaW4NCisgICBkZWNvcmF0b3IuDQogDQogDQogLi4gYzptYWNybzo6IE1FVEhfU1RB VElDDQpAQCAtNDI5LDcgKzQyOSw3IEBAIG1ldGhvZC4NCiANCiAgICBUaGUgbWV0aG9kIHdpbGwg YmUgcGFzc2VkIGBgTlVMTGBgIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXIgcmF0aGVyIHRoYW4gYW4N CiAgICBpbnN0YW5jZSBvZiB0aGUgdHlwZS4gIFRoaXMgaXMgdXNlZCB0byBjcmVhdGUgKnN0YXRp YyBtZXRob2RzKiwgc2ltaWxhciB0bw0KLSAgIHdoYXQgaXMgY3JlYXRlZCB3aGVuIHVzaW5nIHRo ZSA6ZnVuYzpgc3RhdGljbWV0aG9kYCBidWlsdC1pbiBmdW5jdGlvbi4NCisgICB3aGF0IGlzIGNy ZWF0ZWQgd2hlbiB1c2luZyB0aGUgOmRlY286YHN0YXRpY21ldGhvZGAgYnVpbHQtaW4gZGVjb3Jh dG9yLg0KIA0KIE9uZSBvdGhlciBjb25zdGFudCBjb250cm9scyB3aGV0aGVyIGEgbWV0aG9kIGlz IGxvYWRlZCBpbiBwbGFjZSBvZiBhbm90aGVyDQogZGVmaW5pdGlvbiB3aXRoIHRoZSBzYW1lIG1l dGhvZCBuYW1lLg0KZGlmZiAtLWdpdCBhL0RvYy9kZXByZWNhdGlvbnMvcGVuZGluZy1yZW1vdmFs LWluLTMuMTUucnN0IGIvRG9jL2RlcHJlY2F0aW9ucy9wZW5kaW5nLXJlbW92YWwtaW4tMy4xNS5y c3QNCmluZGV4IDgxNGM2OTA0ZDNlMmFiOS4uYjg0MGFkMTQwODAwZjRhIDEwMDY0NA0KLS0tIGEv RG9jL2RlcHJlY2F0aW9ucy9wZW5kaW5nLXJlbW92YWwtaW4tMy4xNS5yc3QNCisrKyBiL0RvYy9k ZXByZWNhdGlvbnMvcGVuZGluZy1yZW1vdmFsLWluLTMuMTUucnN0DQpAQCAtODIsNyArODIsNyBA QCBQZW5kaW5nIHJlbW92YWwgaW4gUHl0aG9uIDMuMTUNCiAgICAgVXNlIGBgY2xhc3MgVEQoVHlw ZWREaWN0KTogcGFzc2BgIG9yIGBgVEQgPSBUeXBlZERpY3QoIlREIiwge30pYGANCiAgICAgdG8g Y3JlYXRlIGEgVHlwZWREaWN0IHdpdGggemVybyBmaWVsZC4NCiANCi0gICogVGhlIDpmdW5jOmB0 eXBpbmcubm9fdHlwZV9jaGVja19kZWNvcmF0b3JgIGRlY29yYXRvciBmdW5jdGlvbg0KKyAgKiBU aGUgOmRlY286YHR5cGluZy5ub190eXBlX2NoZWNrX2RlY29yYXRvcmAgZGVjb3JhdG9yIGZ1bmN0 aW9uDQogICAgIGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgUHl0aG9uIDMuMTMuDQogICAgIEFm dGVyIGVpZ2h0IHllYXJzIGluIHRoZSA6bW9kOmB0eXBpbmdgIG1vZHVsZSwNCiAgICAgaXQgaGFz IHlldCB0byBiZSBzdXBwb3J0ZWQgYnkgYW55IG1ham9yIHR5cGUgY2hlY2tlci4NCmRpZmYgLS1n aXQgYS9Eb2MvZmFxL3Byb2dyYW1taW5nLnJzdCBiL0RvYy9mYXEvcHJvZ3JhbW1pbmcucnN0DQpp bmRleCBmZjM0YmI1ZDcxYzIyYmEuLmFkYzRhZDJlMmJiNzQ0OSAxMDA2NDQNCi0tLSBhL0RvYy9m YXEvcHJvZ3JhbW1pbmcucnN0DQorKysgYi9Eb2MvZmFxL3Byb2dyYW1taW5nLnJzdA0KQEAgLTIw MDMsNyArMjAwMyw3IEBAIEhvdyBkbyBJIGNhY2hlIG1ldGhvZCBjYWxscz8NCiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQogDQogVGhlIHR3byBwcmluY2lwYWwgdG9vbHMgZm9yIGNhY2hp bmcgbWV0aG9kcyBhcmUNCi06ZnVuYzpgZnVuY3Rvb2xzLmNhY2hlZF9wcm9wZXJ0eWAgYW5kIDpm dW5jOmBmdW5jdG9vbHMubHJ1X2NhY2hlYC4gIFRoZQ0KKzpkZWNvOmBmdW5jdG9vbHMuY2FjaGVk X3Byb3BlcnR5YCBhbmQgOmRlY286YGZ1bmN0b29scy5scnVfY2FjaGVgLiAgVGhlDQogZm9ybWVy IHN0b3JlcyByZXN1bHRzIGF0IHRoZSBpbnN0YW5jZSBsZXZlbCBhbmQgdGhlIGxhdHRlciBhdCB0 aGUgY2xhc3MNCiBsZXZlbC4NCiANCmRpZmYgLS1naXQgYS9Eb2MvZ2xvc3NhcnkucnN0IGIvRG9j L2dsb3NzYXJ5LnJzdA0KaW5kZXggNTE1ZmE3N2RkMDM4ZGYyLi5iYjAwYTRmMDJmMGVmZDUgMTAw NjQ0DQotLS0gYS9Eb2MvZ2xvc3NhcnkucnN0DQorKysgYi9Eb2MvZ2xvc3NhcnkucnN0DQpAQCAt NDE2LDcgKzQxNiw3IEBAIEdsb3NzYXJ5DQogICAgZGVjb3JhdG9yDQogICAgICAgQSBmdW5jdGlv biByZXR1cm5pbmcgYW5vdGhlciBmdW5jdGlvbiwgdXN1YWxseSBhcHBsaWVkIGFzIGEgZnVuY3Rp b24NCiAgICAgICB0cmFuc2Zvcm1hdGlvbiB1c2luZyB0aGUgYGBAd3JhcHBlcmBgIHN5bnRheC4g IENvbW1vbiBleGFtcGxlcyBmb3INCi0gICAgICBkZWNvcmF0b3JzIGFyZSA6ZnVuYzpgY2xhc3Nt ZXRob2RgIGFuZCA6ZnVuYzpgc3RhdGljbWV0aG9kYC4NCisgICAgICBkZWNvcmF0b3JzIGFyZSA6 ZGVjbzpgY2xhc3NtZXRob2RgIGFuZCA6ZGVjbzpgc3RhdGljbWV0aG9kYC4NCiANCiAgICAgICBU aGUgZGVjb3JhdG9yIHN5bnRheCBpcyBtZXJlbHkgc3ludGFjdGljIHN1Z2FyLCB0aGUgZm9sbG93 aW5nIHR3bw0KICAgICAgIGZ1bmN0aW9uIGRlZmluaXRpb25zIGFyZSBzZW1hbnRpY2FsbHkgZXF1 aXZhbGVudDo6DQpAQCAtNjg5LDcgKzY4OSw3IEBAIEdsb3NzYXJ5DQogICAgICAgZGV0ZXJtaW5l ZCBieSB0aGUgZGlzcGF0Y2ggYWxnb3JpdGhtLg0KIA0KICAgICAgIFNlZSBhbHNvIHRoZSA6dGVy bTpgc2luZ2xlIGRpc3BhdGNoYCBnbG9zc2FyeSBlbnRyeSwgdGhlDQotICAgICAgOmZ1bmM6YGZ1 bmN0b29scy5zaW5nbGVkaXNwYXRjaGAgZGVjb3JhdG9yLCBhbmQgOnBlcDpgNDQzYC4NCisgICAg ICA6ZGVjbzpgZnVuY3Rvb2xzLnNpbmdsZWRpc3BhdGNoYCBkZWNvcmF0b3IsIGFuZCA6cGVwOmA0 NDNgLg0KIA0KICAgIGdlbmVyaWMgdHlwZQ0KICAgICAgIEEgOnRlcm06YHR5cGVgIHRoYXQgY2Fu IGJlIHBhcmFtZXRlcml6ZWQ7IHR5cGljYWxseSBhDQpkaWZmIC0tZ2l0IGEvRG9jL2hvd3RvL2Fu bm90YXRpb25zLnJzdCBiL0RvYy9ob3d0by9hbm5vdGF0aW9ucy5yc3QNCmluZGV4IGQ3ZGViNmM2 YmMxNzY4Zi4uZTJhNWFhNzA4ZDdiNjMwIDEwMDY0NA0KLS0tIGEvRG9jL2hvd3RvL2Fubm90YXRp b25zLnJzdA0KKysrIGIvRG9jL2hvd3RvL2Fubm90YXRpb25zLnJzdA0KQEAgLTE1NCw3ICsxNTQs NyBAQCBvbiBhbiBhcmJpdHJhcnkgb2JqZWN0IGBgb2BgOg0KICAgYXMgdGhlIGBgZ2xvYmFsc2Bg LCBhbmQgYGBkaWN0KHZhcnMobykpYGAgYXMgdGhlIGBgbG9jYWxzYGAsDQogICB3aGVuIGNhbGxp bmcgOmZ1bmM6YGV2YWxgLg0KICogSWYgYGBvYGAgaXMgYSB3cmFwcGVkIGNhbGxhYmxlIHVzaW5n IDpmdW5jOmBmdW5jdG9vbHMudXBkYXRlX3dyYXBwZXJgLA0KLSAgOmZ1bmM6YGZ1bmN0b29scy53 cmFwc2AsIG9yIDpmdW5jOmBmdW5jdG9vbHMucGFydGlhbGAsIGl0ZXJhdGl2ZWx5DQorICA6ZGVj bzpgZnVuY3Rvb2xzLndyYXBzYCwgb3IgOmZ1bmM6YGZ1bmN0b29scy5wYXJ0aWFsYCwgaXRlcmF0 aXZlbHkNCiAgIHVud3JhcCBpdCBieSBhY2Nlc3NpbmcgZWl0aGVyIGBgby5fX3dyYXBwZWRfX2Bg IG9yIGBgby5mdW5jYGAgYXMNCiAgIGFwcHJvcHJpYXRlLCB1bnRpbCB5b3UgaGF2ZSBmb3VuZCB0 aGUgcm9vdCB1bndyYXBwZWQgZnVuY3Rpb24uDQogKiBJZiBgYG9gYCBpcyBhIGNhbGxhYmxlIChi dXQgbm90IGEgY2xhc3MpLCB1c2UNCmRpZmYgLS1naXQgYS9Eb2MvaG93dG8vZGVzY3JpcHRvci5y c3QgYi9Eb2MvaG93dG8vZGVzY3JpcHRvci5yc3QNCmluZGV4IDA3YTQwNTgzN2Q5MjI5Ny4uZGI4 NTQ3NTJmMWExZjk3IDEwMDY0NA0KLS0tIGEvRG9jL2hvd3RvL2Rlc2NyaXB0b3IucnN0DQorKysg Yi9Eb2MvaG93dG8vZGVzY3JpcHRvci5yc3QNCkBAIC0yOCw3ICsyOCw3IEBAIFRoaXMgZ3VpZGUg aGFzIGZvdXIgbWFqb3Igc2VjdGlvbnM6DQogNCkgVGhlIGxhc3Qgc2VjdGlvbiBoYXMgcHVyZSBQ eXRob24gZXF1aXZhbGVudHMgZm9yIGJ1aWx0LWluIGRlc2NyaXB0b3JzIHRoYXQNCiAgICBhcmUg d3JpdHRlbiBpbiBDLiAgUmVhZCB0aGlzIGlmIHlvdSdyZSBjdXJpb3VzIGFib3V0IGhvdyBmdW5j dGlvbnMgdHVybg0KICAgIGludG8gYm91bmQgbWV0aG9kcyBvciBhYm91dCB0aGUgaW1wbGVtZW50 YXRpb24gb2YgY29tbW9uIHRvb2xzIGxpa2UNCi0gICA6ZnVuYzpgY2xhc3NtZXRob2RgLCA6ZnVu Yzpgc3RhdGljbWV0aG9kYCwgOmZ1bmM6YHByb3BlcnR5YCwgYW5kDQorICAgOmRlY286YGNsYXNz bWV0aG9kYCwgOmRlY286YHN0YXRpY21ldGhvZGAsIDpkZWNvOmBwcm9wZXJ0eWAsIGFuZA0KICAg IDp0ZXJtOmBfX3Nsb3RzX19gLg0KIA0KIA0KQEAgLTMxNyw4ICszMTcsOCBAQCBEZXNjcmlwdG9y cyBpbnZlcnQgdGhhdCByZWxhdGlvbnNoaXAgYW5kIGFsbG93IHRoZSBkYXRhIGJlaW5nIGxvb2tl ZC11cCB0bw0KIGhhdmUgYSBzYXkgaW4gdGhlIG1hdHRlci4NCiANCiBEZXNjcmlwdG9ycyBhcmUg dXNlZCB0aHJvdWdob3V0IHRoZSBsYW5ndWFnZS4gIEl0IGlzIGhvdyBmdW5jdGlvbnMgdHVybiBp bnRvDQotYm91bmQgbWV0aG9kcy4gIENvbW1vbiB0b29scyBsaWtlIDpmdW5jOmBjbGFzc21ldGhv ZGAsIDpmdW5jOmBzdGF0aWNtZXRob2RgLA0KLTpmdW5jOmBwcm9wZXJ0eWAsIGFuZCA6ZnVuYzpg ZnVuY3Rvb2xzLmNhY2hlZF9wcm9wZXJ0eWAgYXJlIGFsbCBpbXBsZW1lbnRlZCBhcw0KK2JvdW5k IG1ldGhvZHMuICBDb21tb24gdG9vbHMgbGlrZSA6ZGVjbzpgY2xhc3NtZXRob2RgLCA6ZGVjbzpg c3RhdGljbWV0aG9kYCwNCis6ZGVjbzpgcHJvcGVydHlgLCBhbmQgOmRlY286YGZ1bmN0b29scy5j YWNoZWRfcHJvcGVydHlgIGFyZSBhbGwgaW1wbGVtZW50ZWQgYXMNCiBkZXNjcmlwdG9ycy4NCiAN CiANCkBAIC0xMzI2LDcgKzEzMjYsNyBAQCBleGFtcGxlIGNhbGxzIGFyZSB1bmV4Y2l0aW5nOg0K ICAgICAzMA0KIA0KIFVzaW5nIHRoZSBub24tZGF0YSBkZXNjcmlwdG9yIHByb3RvY29sLCBhIHB1 cmUgUHl0aG9uIHZlcnNpb24gb2YNCi06ZnVuYzpgc3RhdGljbWV0aG9kYCB3b3VsZCBsb29rIGxp a2UgdGhpczoNCis6ZGVjbzpgc3RhdGljbWV0aG9kYCB3b3VsZCBsb29rIGxpa2UgdGhpczoNCiAN CiAuLiB0ZXN0Y29kZTo6DQogDQpAQCAtMTQ2Niw3ICsxNDY2LDcgQEAgTm93IGEgbmV3IGRpY3Rp b25hcnkgb2YgdW5pcXVlIGtleXMgY2FuIGJlIGNvbnN0cnVjdGVkIGxpa2UgdGhpczoNCiAgICAg eydhJzogTm9uZSwgJ2InOiBOb25lLCAncic6IE5vbmUsICdjJzogTm9uZSwgJ2QnOiBOb25lfQ0K IA0KIFVzaW5nIHRoZSBub24tZGF0YSBkZXNjcmlwdG9yIHByb3RvY29sLCBhIHB1cmUgUHl0aG9u IHZlcnNpb24gb2YNCi06ZnVuYzpgY2xhc3NtZXRob2RgIHdvdWxkIGxvb2sgbGlrZSB0aGlzOg0K KzpkZWNvOmBjbGFzc21ldGhvZGAgd291bGQgbG9vayBsaWtlIHRoaXM6DQogDQogLi4gdGVzdGNv ZGU6Og0KIA0KQEAgLTE2MDQsNyArMTYwNCw3IEBAIG1hdHRlcnMgd2hlbiBhIGxhcmdlIG51bWJl ciBvZiBpbnN0YW5jZXMgYXJlIGdvaW5nIHRvIGJlIGNyZWF0ZWQuDQogNC4gSW1wcm92ZXMgc3Bl ZWQuICBSZWFkaW5nIGluc3RhbmNlIHZhcmlhYmxlcyBpcyAzNSUgZmFzdGVyIHdpdGgNCiBgYF9f c2xvdHNfX2BgIChhcyBtZWFzdXJlZCB3aXRoIFB5dGhvbiAzLjEwIG9uIGFuIEFwcGxlIE0xIHBy b2Nlc3NvcikuDQogDQotNS4gQmxvY2tzIHRvb2xzIGxpa2UgOmZ1bmM6YGZ1bmN0b29scy5jYWNo ZWRfcHJvcGVydHlgIHdoaWNoIHJlcXVpcmUgYW4NCis1LiBCbG9ja3MgdG9vbHMgbGlrZSA6ZGVj bzpgZnVuY3Rvb2xzLmNhY2hlZF9wcm9wZXJ0eWAgd2hpY2ggcmVxdWlyZSBhbg0KIGluc3RhbmNl IGRpY3Rpb25hcnkgdG8gZnVuY3Rpb24gY29ycmVjdGx5Og0KIA0KIC4uIHRlc3Rjb2RlOjoNCmRp ZmYgLS1naXQgYS9Eb2MvaG93dG8vZW51bS5yc3QgYi9Eb2MvaG93dG8vZW51bS5yc3QNCmluZGV4 IDUyNjBjMmNhNGFkZDQ3MS4uNGQxYWFmYTZlNjliOTAwIDEwMDY0NA0KLS0tIGEvRG9jL2hvd3Rv L2VudW0ucnN0DQorKysgYi9Eb2MvaG93dG8vZW51bS5yc3QNCkBAIC0yNTYsNyArMjU2LDcgQEAg RW5zdXJpbmcgdW5pcXVlIGVudW1lcmF0aW9uIHZhbHVlcw0KIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCiANCiBCeSBkZWZhdWx0LCBlbnVtZXJhdGlvbnMgYWxsb3cgbXVsdGlw bGUgbmFtZXMgYXMgYWxpYXNlcyBmb3IgdGhlIHNhbWUgdmFsdWUuDQotV2hlbiB0aGlzIGJlaGF2 aW9yIGlzbid0IGRlc2lyZWQsIHlvdSBjYW4gdXNlIHRoZSA6ZnVuYzpgdW5pcXVlYCBkZWNvcmF0 b3I6Og0KK1doZW4gdGhpcyBiZWhhdmlvciBpc24ndCBkZXNpcmVkLCB5b3UgY2FuIHVzZSB0aGUg OmRlY286YHVuaXF1ZWAgZGVjb3JhdG9yOjoNCiANCiAgICAgPj4+IGZyb20gZW51bSBpbXBvcnQg RW51bSwgdW5pcXVlDQogICAgID4+PiBAdW5pcXVlDQpAQCAtNTA5LDcgKzUwOSw3IEBAIHRvIHVz ZSB0aGUgc3RhbmRhcmQgOmZ1bmM6YHJlcHJgLg0KIA0KIC4uIG5vdGU6Og0KIA0KLSAgIEFkZGlu ZyA6ZnVuYzpgfmRhdGFjbGFzc2VzLmRhdGFjbGFzc2AgZGVjb3JhdG9yIHRvIDpjbGFzczpgRW51 bWANCisgICBBZGRpbmcgOmRlY286YH5kYXRhY2xhc3Nlcy5kYXRhY2xhc3NgIGRlY29yYXRvciB0 byA6Y2xhc3M6YEVudW1gDQogICAgYW5kIGl0cyBzdWJjbGFzc2VzIGlzIG5vdCBzdXBwb3J0ZWQu IEl0IHdpbGwgbm90IHJhaXNlIGFueSBlcnJvcnMsDQogICAgYnV0IGl0IHdpbGwgcHJvZHVjZSB2 ZXJ5IHN0cmFuZ2UgcmVzdWx0cyBhdCBydW50aW1lLCBzdWNoIGFzIG1lbWJlcnMNCiAgICBiZWlu ZyBlcXVhbCB0byBlYWNoIG90aGVyOjoNCmRpZmYgLS1naXQgYS9Eb2MvaG93dG8vc29ydGluZy5y c3QgYi9Eb2MvaG93dG8vc29ydGluZy5yc3QNCmluZGV4IDcwYzM0Y2RlOGEwNjU5Mi4uNjVlODYy ZTEzZTgxN2ExIDEwMDY0NA0KLS0tIGEvRG9jL2hvd3RvL3NvcnRpbmcucnN0DQorKysgYi9Eb2Mv aG93dG8vc29ydGluZy5yc3QNCkBAIC0zNzUsNyArMzc1LDcgQEAgT2RkcyBhbmQgRW5kcw0KICAg Om1ldGg6YH5vYmplY3QuX19sdF9fYCBpcyBub3QgaW1wbGVtZW50ZWQgKHNlZSA6ZnVuYzpgb2Jq ZWN0Ll9fbHRfX2ANCiAgIGZvciBkZXRhaWxzIG9uIHRoZSBtZWNoYW5pY3MpLiAgVG8gYXZvaWQg c3VycHJpc2VzLCA6cGVwOmA4YA0KICAgcmVjb21tZW5kcyB0aGF0IGFsbCBzaXggY29tcGFyaXNv biBtZXRob2RzIGJlIGltcGxlbWVudGVkLg0KLSAgVGhlIDpmdW5jOmB+ZnVuY3Rvb2xzLnRvdGFs X29yZGVyaW5nYCBkZWNvcmF0b3IgaXMgcHJvdmlkZWQgdG8gbWFrZSB0aGF0DQorICBUaGUgOmRl Y286YH5mdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIGRlY29yYXRvciBpcyBwcm92aWRlZCB0byBt YWtlIHRoYXQNCiAgIHRhc2sgZWFzaWVyLg0KIA0KICogS2V5IGZ1bmN0aW9ucyBuZWVkIG5vdCBk ZXBlbmQgZGlyZWN0bHkgb24gdGhlIG9iamVjdHMgYmVpbmcgc29ydGVkLiBBIGtleQ0KZGlmZiAt LWdpdCBhL0RvYy9saWJyYXJ5L2FiYy5yc3QgYi9Eb2MvbGlicmFyeS9hYmMucnN0DQppbmRleCA0 OWU1NDFhOWQ5YjFjYjAuLjRiM2M5ZjJiNzNkN2E3YyAxMDA2NDQNCi0tLSBhL0RvYy9saWJyYXJ5 L2FiYy5yc3QNCisrKyBiL0RvYy9saWJyYXJ5L2FiYy5yc3QNCkBAIC0xNzAsMTcgKzE3MCwxNyBA QCBUaGUgOm1vZDpgIWFiY2AgbW9kdWxlIGFsc28gcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBkZWNv cmF0b3I6DQogICAgb3IgaXMgZGVyaXZlZCBmcm9tIGl0LiAgQSBjbGFzcyB0aGF0IGhhcyBhIG1l dGFjbGFzcyBkZXJpdmVkIGZyb20NCiAgICA6Y2xhc3M6YCFBQkNNZXRhYCBjYW5ub3QgYmUgaW5z dGFudGlhdGVkIHVubGVzcyBhbGwgb2YgaXRzIGFic3RyYWN0IG1ldGhvZHMNCiAgICBhbmQgcHJv cGVydGllcyBhcmUgb3ZlcnJpZGRlbi4gIFRoZSBhYnN0cmFjdCBtZXRob2RzIGNhbiBiZSBjYWxs ZWQgdXNpbmcgYW55DQotICAgb2YgdGhlIG5vcm1hbCAnc3VwZXInIGNhbGwgbWVjaGFuaXNtcy4g IDpmdW5jOmAhYWJzdHJhY3RtZXRob2RgIG1heSBiZSB1c2VkDQorICAgb2YgdGhlIG5vcm1hbCAn c3VwZXInIGNhbGwgbWVjaGFuaXNtcy4gIDpkZWNvOmAhYWJzdHJhY3RtZXRob2RgIG1heSBiZSB1 c2VkDQogICAgdG8gZGVjbGFyZSBhYnN0cmFjdCBtZXRob2RzIGZvciBwcm9wZXJ0aWVzIGFuZCBk ZXNjcmlwdG9ycy4NCiANCiAgICBEeW5hbWljYWxseSBhZGRpbmcgYWJzdHJhY3QgbWV0aG9kcyB0 byBhIGNsYXNzLCBvciBhdHRlbXB0aW5nIHRvIG1vZGlmeSB0aGUNCiAgICBhYnN0cmFjdGlvbiBz dGF0dXMgb2YgYSBtZXRob2Qgb3IgY2xhc3Mgb25jZSBpdCBpcyBjcmVhdGVkLCBhcmUgb25seQ0K ICAgIHN1cHBvcnRlZCB1c2luZyB0aGUgOmZ1bmM6YHVwZGF0ZV9hYnN0cmFjdG1ldGhvZHNgIGZ1 bmN0aW9uLiAgVGhlDQotICAgOmZ1bmM6YCFhYnN0cmFjdG1ldGhvZGAgb25seSBhZmZlY3RzIHN1 YmNsYXNzZXMgZGVyaXZlZCB1c2luZyByZWd1bGFyDQorICAgOmRlY286YCFhYnN0cmFjdG1ldGhv ZGAgb25seSBhZmZlY3RzIHN1YmNsYXNzZXMgZGVyaXZlZCB1c2luZyByZWd1bGFyDQogICAgaW5o ZXJpdGFuY2U7ICJ2aXJ0dWFsIHN1YmNsYXNzZXMiIHJlZ2lzdGVyZWQgd2l0aCB0aGUgQUJDJ3MN CiAgICA6bWV0aDpgfkFCQ01ldGEucmVnaXN0ZXJgIG1ldGhvZCBhcmUgbm90IGFmZmVjdGVkLg0K IA0KLSAgIFdoZW4gOmZ1bmM6YCFhYnN0cmFjdG1ldGhvZGAgaXMgYXBwbGllZCBpbiBjb21iaW5h dGlvbiB3aXRoIG90aGVyIG1ldGhvZA0KKyAgIFdoZW4gOmRlY286YCFhYnN0cmFjdG1ldGhvZGAg aXMgYXBwbGllZCBpbiBjb21iaW5hdGlvbiB3aXRoIG90aGVyIG1ldGhvZA0KICAgIGRlc2NyaXB0 b3JzLCBpdCBzaG91bGQgYmUgYXBwbGllZCBhcyB0aGUgaW5uZXJtb3N0IGRlY29yYXRvciwgYXMg c2hvd24gaW4NCiAgICB0aGUgZm9sbG93aW5nIHVzYWdlIGV4YW1wbGVzOjoNCiANCkBAIC0yMTgs NyArMjE4LDcgQEAgVGhlIDptb2Q6YCFhYmNgIG1vZHVsZSBhbHNvIHByb3ZpZGVzIHRoZSBmb2xs b3dpbmcgZGVjb3JhdG9yOg0KICAgIHRoZSBkZXNjcmlwdG9yIG11c3QgaWRlbnRpZnkgaXRzZWxm IGFzIGFic3RyYWN0IHVzaW5nDQogICAgOmF0dHI6YCFfX2lzYWJzdHJhY3RtZXRob2RfX2AuIElu IGdlbmVyYWwsIHRoaXMgYXR0cmlidXRlIHNob3VsZCBiZSBgYFRydWVgYA0KICAgIGlmIGFueSBv ZiB0aGUgbWV0aG9kcyB1c2VkIHRvIGNvbXBvc2UgdGhlIGRlc2NyaXB0b3IgYXJlIGFic3RyYWN0 LiBGb3INCi0gICBleGFtcGxlLCBQeXRob24ncyBidWlsdC1pbiA6Y2xhc3M6YHByb3BlcnR5YCBk b2VzIHRoZSBlcXVpdmFsZW50IG9mOjoNCisgICBleGFtcGxlLCBQeXRob24ncyBidWlsdC1pbiA6 ZGVjbzpgcHJvcGVydHlgIGRvZXMgdGhlIGVxdWl2YWxlbnQgb2Y6Og0KIA0KICAgICAgIGNsYXNz IERlc2NyaXB0b3I6DQogICAgICAgICAgIC4uLg0KQEAgLTI0MiwxMyArMjQyLDEzIEBAIFRoZSA6 bW9kOmAhYWJjYCBtb2R1bGUgYWxzbyBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIGxlZ2FjeSBkZWNv cmF0b3JzOg0KIA0KICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMg0KICAgIC4uIGRlcHJlY2F0ZWQ6 OiAzLjMNCi0gICAgICAgSXQgaXMgbm93IHBvc3NpYmxlIHRvIHVzZSA6Y2xhc3M6YGNsYXNzbWV0 aG9kYCB3aXRoDQotICAgICAgIDpmdW5jOmBhYnN0cmFjdG1ldGhvZGAsIG1ha2luZyB0aGlzIGRl Y29yYXRvciByZWR1bmRhbnQuDQorICAgICAgIEl0IGlzIG5vdyBwb3NzaWJsZSB0byB1c2UgOmRl Y286YGNsYXNzbWV0aG9kYCB3aXRoDQorICAgICAgIDpkZWNvOmBhYnN0cmFjdG1ldGhvZGAsIG1h a2luZyB0aGlzIGRlY29yYXRvciByZWR1bmRhbnQuDQogDQotICAgQSBzdWJjbGFzcyBvZiB0aGUg YnVpbHQtaW4gOmZ1bmM6YGNsYXNzbWV0aG9kYCwgaW5kaWNhdGluZyBhbiBhYnN0cmFjdA0KLSAg IGNsYXNzbWV0aG9kLiBPdGhlcndpc2UgaXQgaXMgc2ltaWxhciB0byA6ZnVuYzpgYWJzdHJhY3Rt ZXRob2RgLg0KKyAgIEEgc3ViY2xhc3Mgb2YgdGhlIGJ1aWx0LWluIDpjbGFzczpgY2xhc3NtZXRo b2RgLCBpbmRpY2F0aW5nIGFuIGFic3RyYWN0DQorICAgY2xhc3NtZXRob2QuIE90aGVyd2lzZSBp dCBpcyBzaW1pbGFyIHRvIDpkZWNvOmBhYnN0cmFjdG1ldGhvZGAuDQogDQotICAgVGhpcyBzcGVj aWFsIGNhc2UgaXMgZGVwcmVjYXRlZCwgYXMgdGhlIDpmdW5jOmBjbGFzc21ldGhvZGAgZGVjb3Jh dG9yDQorICAgVGhpcyBzcGVjaWFsIGNhc2UgaXMgZGVwcmVjYXRlZCwgYXMgdGhlIDpkZWNvOmBj bGFzc21ldGhvZGAgZGVjb3JhdG9yDQogICAgaXMgbm93IGNvcnJlY3RseSBpZGVudGlmaWVkIGFz IGFic3RyYWN0IHdoZW4gYXBwbGllZCB0byBhbiBhYnN0cmFjdA0KICAgIG1ldGhvZDo6DQogDQpA QCAtMjYzLDEzICsyNjMsMTMgQEAgVGhlIDptb2Q6YCFhYmNgIG1vZHVsZSBhbHNvIHN1cHBvcnRz IHRoZSBmb2xsb3dpbmcgbGVnYWN5IGRlY29yYXRvcnM6DQogDQogICAgLi4gdmVyc2lvbmFkZGVk OjogMy4yDQogICAgLi4gZGVwcmVjYXRlZDo6IDMuMw0KLSAgICAgICBJdCBpcyBub3cgcG9zc2li bGUgdG8gdXNlIDpjbGFzczpgc3RhdGljbWV0aG9kYCB3aXRoDQotICAgICAgIDpmdW5jOmBhYnN0 cmFjdG1ldGhvZGAsIG1ha2luZyB0aGlzIGRlY29yYXRvciByZWR1bmRhbnQuDQorICAgICAgIEl0 IGlzIG5vdyBwb3NzaWJsZSB0byB1c2UgOmRlY286YHN0YXRpY21ldGhvZGAgd2l0aA0KKyAgICAg ICA6ZGVjbzpgYWJzdHJhY3RtZXRob2RgLCBtYWtpbmcgdGhpcyBkZWNvcmF0b3IgcmVkdW5kYW50 Lg0KIA0KLSAgIEEgc3ViY2xhc3Mgb2YgdGhlIGJ1aWx0LWluIDpmdW5jOmBzdGF0aWNtZXRob2Rg LCBpbmRpY2F0aW5nIGFuIGFic3RyYWN0DQotICAgc3RhdGljbWV0aG9kLiBPdGhlcndpc2UgaXQg aXMgc2ltaWxhciB0byA6ZnVuYzpgYWJzdHJhY3RtZXRob2RgLg0KKyAgIEEgc3ViY2xhc3Mgb2Yg dGhlIGJ1aWx0LWluIDpjbGFzczpgc3RhdGljbWV0aG9kYCwgaW5kaWNhdGluZyBhbiBhYnN0cmFj dA0KKyAgIHN0YXRpY21ldGhvZC4gT3RoZXJ3aXNlIGl0IGlzIHNpbWlsYXIgdG8gOmRlY286YGFi c3RyYWN0bWV0aG9kYC4NCiANCi0gICBUaGlzIHNwZWNpYWwgY2FzZSBpcyBkZXByZWNhdGVkLCBh cyB0aGUgOmZ1bmM6YHN0YXRpY21ldGhvZGAgZGVjb3JhdG9yDQorICAgVGhpcyBzcGVjaWFsIGNh c2UgaXMgZGVwcmVjYXRlZCwgYXMgdGhlIDpkZWNvOmBzdGF0aWNtZXRob2RgIGRlY29yYXRvcg0K ICAgIGlzIG5vdyBjb3JyZWN0bHkgaWRlbnRpZmllZCBhcyBhYnN0cmFjdCB3aGVuIGFwcGxpZWQg dG8gYW4gYWJzdHJhY3QNCiAgICBtZXRob2Q6Og0KIA0KQEAgLTI4MywxNCArMjgzLDE0IEBAIFRo ZSA6bW9kOmAhYWJjYCBtb2R1bGUgYWxzbyBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIGxlZ2FjeSBk ZWNvcmF0b3JzOg0KIC4uIGRlY29yYXRvcjo6IGFic3RyYWN0cHJvcGVydHkNCiANCiAgICAuLiBk ZXByZWNhdGVkOjogMy4zDQotICAgICAgIEl0IGlzIG5vdyBwb3NzaWJsZSB0byB1c2UgOmNsYXNz OmBwcm9wZXJ0eWAsIDptZXRoOmBwcm9wZXJ0eS5nZXR0ZXJgLA0KLSAgICAgICA6bWV0aDpgcHJv cGVydHkuc2V0dGVyYCBhbmQgOm1ldGg6YHByb3BlcnR5LmRlbGV0ZXJgIHdpdGgNCi0gICAgICAg OmZ1bmM6YGFic3RyYWN0bWV0aG9kYCwgbWFraW5nIHRoaXMgZGVjb3JhdG9yIHJlZHVuZGFudC4N CisgICAgICAgSXQgaXMgbm93IHBvc3NpYmxlIHRvIHVzZSA6ZGVjbzpgcHJvcGVydHlgLCA6ZGVj bzpgcHJvcGVydHkuZ2V0dGVyYCwNCisgICAgICAgOmRlY286YHByb3BlcnR5LnNldHRlcmAgYW5k IDpkZWNvOmBwcm9wZXJ0eS5kZWxldGVyYCB3aXRoDQorICAgICAgIDpkZWNvOmBhYnN0cmFjdG1l dGhvZGAsIG1ha2luZyB0aGlzIGRlY29yYXRvciByZWR1bmRhbnQuDQogDQotICAgQSBzdWJjbGFz cyBvZiB0aGUgYnVpbHQtaW4gOmZ1bmM6YHByb3BlcnR5YCwgaW5kaWNhdGluZyBhbiBhYnN0cmFj dA0KKyAgIEEgc3ViY2xhc3Mgb2YgdGhlIGJ1aWx0LWluIDpjbGFzczpgcHJvcGVydHlgLCBpbmRp Y2F0aW5nIGFuIGFic3RyYWN0DQogICAgcHJvcGVydHkuDQogDQotICAgVGhpcyBzcGVjaWFsIGNh c2UgaXMgZGVwcmVjYXRlZCwgYXMgdGhlIDpmdW5jOmBwcm9wZXJ0eWAgZGVjb3JhdG9yDQorICAg VGhpcyBzcGVjaWFsIGNhc2UgaXMgZGVwcmVjYXRlZCwgYXMgdGhlIDpkZWNvOmBwcm9wZXJ0eWAg ZGVjb3JhdG9yDQogICAgaXMgbm93IGNvcnJlY3RseSBpZGVudGlmaWVkIGFzIGFic3RyYWN0IHdo ZW4gYXBwbGllZCB0byBhbiBhYnN0cmFjdA0KICAgIG1ldGhvZDo6DQogDQpkaWZmIC0tZ2l0IGEv RG9jL2xpYnJhcnkvYmlzZWN0LnJzdCBiL0RvYy9saWJyYXJ5L2Jpc2VjdC5yc3QNCmluZGV4IGY3 OTU2OWUxYTk4YTdkYi4uODNlZWU5ODFjOWI0ZWIxIDEwMDY0NA0KLS0tIGEvRG9jL2xpYnJhcnkv YmlzZWN0LnJzdA0KKysrIGIvRG9jL2xpYnJhcnkvYmlzZWN0LnJzdA0KQEAgLTEzMiw3ICsxMzIs NyBAQCB0aG91Z2h0cyBpbiBtaW5kOg0KICAgdGhleSBhcmUgdXNlZC4gIENvbnNlcXVlbnRseSwg aWYgdGhlIHNlYXJjaCBmdW5jdGlvbnMgYXJlIHVzZWQgaW4gYSBsb29wLA0KICAgdGhlIGtleSBm dW5jdGlvbiBtYXkgYmUgY2FsbGVkIGFnYWluIGFuZCBhZ2FpbiBvbiB0aGUgc2FtZSBhcnJheSBl bGVtZW50cy4NCiAgIElmIHRoZSBrZXkgZnVuY3Rpb24gaXNuJ3QgZmFzdCwgY29uc2lkZXIgd3Jh cHBpbmcgaXQgd2l0aA0KLSAgOnB5OmZ1bmM6YGZ1bmN0b29scy5jYWNoZWAgdG8gYXZvaWQgZHVw bGljYXRlIGNvbXB1dGF0aW9ucy4gIEFsdGVybmF0aXZlbHksDQorICA6cHk6ZGVjbzpgZnVuY3Rv b2xzLmNhY2hlYCB0byBhdm9pZCBkdXBsaWNhdGUgY29tcHV0YXRpb25zLiAgQWx0ZXJuYXRpdmVs eSwNCiAgIGNvbnNpZGVyIHNlYXJjaGluZyBhbiBhcnJheSBvZiBwcmVjb21wdXRlZCBrZXlzIHRv IGxvY2F0ZSB0aGUgaW5zZXJ0aW9uDQogICBwb2ludCAoYXMgc2hvd24gaW4gdGhlIGV4YW1wbGVz IHNlY3Rpb24gYmVsb3cpLg0KIA0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25z LnJzdCBiL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLnJzdA0KaW5kZXggY2ZhZTgxMDQwNjI0MTgx Li5kYjVjNDljMDI2YzE3YWIgMTAwNjQ0DQotLS0gYS9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5y c3QNCisrKyBiL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLnJzdA0KQEAgLTEyMjQsNyArMTIyNCw3 IEBAIG9yaWdpbmFsIGluc2VydGlvbiBwb3NpdGlvbiBpcyBjaGFuZ2VkIGFuZCBtb3ZlZCB0byB0 aGUgZW5kOjoNCiAgICAgICAgICAgICBzZWxmLm1vdmVfdG9fZW5kKGtleSkNCiANCiBBbiA6Y2xh c3M6YE9yZGVyZWREaWN0YCB3b3VsZCBhbHNvIGJlIHVzZWZ1bCBmb3IgaW1wbGVtZW50aW5nDQot dmFyaWFudHMgb2YgOmZ1bmM6YGZ1bmN0b29scy5scnVfY2FjaGVgOg0KK3ZhcmlhbnRzIG9mIDpk ZWNvOmBmdW5jdG9vbHMubHJ1X2NhY2hlYDoNCiANCiAuLiB0ZXN0Y29kZTo6DQogDQpkaWZmIC0t Z2l0IGEvRG9jL2xpYnJhcnkvY29udGV4dGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9jb250ZXh0bGli LnJzdA0KaW5kZXggN2UyMjFjOWNhYmIzNjVjLi45Y2Q2MzU4YWQxMzYzZGEgMTAwNjQ0DQotLS0g YS9Eb2MvbGlicmFyeS9jb250ZXh0bGliLnJzdA0KKysrIGIvRG9jL2xpYnJhcnkvY29udGV4dGxp Yi5yc3QNCkBAIC04OCwxMSArODgsMTEgQEAgRnVuY3Rpb25zIGFuZCBjbGFzc2VzIHByb3ZpZGVk Og0KICAgIHRoZSBleGNlcHRpb24gaGFzIGJlZW4gaGFuZGxlZCwgYW5kIGV4ZWN1dGlvbiB3aWxs IHJlc3VtZSB3aXRoIHRoZSBzdGF0ZW1lbnQNCiAgICBpbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhl IDprZXl3b3JkOmAhd2l0aGAgc3RhdGVtZW50Lg0KIA0KLSAgIDpmdW5jOmBjb250ZXh0bWFuYWdl cmAgdXNlcyA6Y2xhc3M6YENvbnRleHREZWNvcmF0b3JgIHNvIHRoZSBjb250ZXh0IG1hbmFnZXJz DQorICAgOmRlY286YGNvbnRleHRtYW5hZ2VyYCB1c2VzIDpjbGFzczpgQ29udGV4dERlY29yYXRv cmAgc28gdGhlIGNvbnRleHQgbWFuYWdlcnMNCiAgICBpdCBjcmVhdGVzIGNhbiBiZSB1c2VkIGFz IGRlY29yYXRvcnMgYXMgd2VsbCBhcyBpbiA6a2V5d29yZDpgd2l0aGAgc3RhdGVtZW50cy4NCiAg ICBXaGVuIHVzZWQgYXMgYSBkZWNvcmF0b3IsIGEgbmV3IGdlbmVyYXRvciBpbnN0YW5jZSBpcyBp bXBsaWNpdGx5IGNyZWF0ZWQgb24NCiAgICBlYWNoIGZ1bmN0aW9uIGNhbGwgKHRoaXMgYWxsb3dz IHRoZSBvdGhlcndpc2UgIm9uZS1zaG90IiBjb250ZXh0IG1hbmFnZXJzDQotICAgY3JlYXRlZCBi eSA6ZnVuYzpgY29udGV4dG1hbmFnZXJgIHRvIG1lZXQgdGhlIHJlcXVpcmVtZW50IHRoYXQgY29u dGV4dA0KKyAgIGNyZWF0ZWQgYnkgOmRlY286YGNvbnRleHRtYW5hZ2VyYCB0byBtZWV0IHRoZSBy ZXF1aXJlbWVudCB0aGF0IGNvbnRleHQNCiAgICBtYW5hZ2VycyBzdXBwb3J0IG11bHRpcGxlIGlu dm9jYXRpb25zIGluIG9yZGVyIHRvIGJlIHVzZWQgYXMgZGVjb3JhdG9ycykuDQogDQogICAgLi4g dmVyc2lvbmNoYW5nZWQ6OiAzLjINCkBAIC0xMDEsNyArMTAxLDcgQEAgRnVuY3Rpb25zIGFuZCBj bGFzc2VzIHByb3ZpZGVkOg0KIA0KIC4uIGRlY29yYXRvcjo6IGFzeW5jY29udGV4dG1hbmFnZXIN CiANCi0gICBTaW1pbGFyIHRvIDpmdW5jOmB+Y29udGV4dGxpYi5jb250ZXh0bWFuYWdlcmAsIGJ1 dCBjcmVhdGVzIGFuDQorICAgU2ltaWxhciB0byA6ZGVjbzpgfmNvbnRleHRsaWIuY29udGV4dG1h bmFnZXJgLCBidXQgY3JlYXRlcyBhbg0KICAgIDpyZWY6YGFzeW5jaHJvbm91cyBjb250ZXh0IG1h bmFnZXIgPGFzeW5jLWNvbnRleHQtbWFuYWdlcnM+YC4NCiANCiAgICBUaGlzIGZ1bmN0aW9uIGlz IGEgOnRlcm06YGRlY29yYXRvcmAgdGhhdCBjYW4gYmUgdXNlZCB0byBkZWZpbmUgYSBmYWN0b3J5 DQpAQCAtMTI4LDcgKzEyOCw3IEBAIEZ1bmN0aW9ucyBhbmQgY2xhc3NlcyBwcm92aWRlZDoNCiAN CiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjcNCiANCi0gICBDb250ZXh0IG1hbmFnZXJzIGRlZmlu ZWQgd2l0aCA6ZnVuYzpgYXN5bmNjb250ZXh0bWFuYWdlcmAgY2FuIGJlIHVzZWQNCisgICBDb250 ZXh0IG1hbmFnZXJzIGRlZmluZWQgd2l0aCA6ZGVjbzpgYXN5bmNjb250ZXh0bWFuYWdlcmAgY2Fu IGJlIHVzZWQNCiAgICBlaXRoZXIgYXMgZGVjb3JhdG9ycyBvciB3aXRoIDprZXl3b3JkOmBhc3lu YyB3aXRoYCBzdGF0ZW1lbnRzOjoNCiANCiAgICAgIGltcG9ydCB0aW1lDQpAQCAtMTQ4LDExICsx NDgsMTEgQEAgRnVuY3Rpb25zIGFuZCBjbGFzc2VzIHByb3ZpZGVkOg0KIA0KICAgIFdoZW4gdXNl ZCBhcyBhIGRlY29yYXRvciwgYSBuZXcgZ2VuZXJhdG9yIGluc3RhbmNlIGlzIGltcGxpY2l0bHkg Y3JlYXRlZCBvbg0KICAgIGVhY2ggZnVuY3Rpb24gY2FsbC4gVGhpcyBhbGxvd3MgdGhlIG90aGVy d2lzZSAib25lLXNob3QiIGNvbnRleHQgbWFuYWdlcnMNCi0gICBjcmVhdGVkIGJ5IDpmdW5jOmBh c3luY2NvbnRleHRtYW5hZ2VyYCB0byBtZWV0IHRoZSByZXF1aXJlbWVudCB0aGF0IGNvbnRleHQN CisgICBjcmVhdGVkIGJ5IDpkZWNvOmBhc3luY2NvbnRleHRtYW5hZ2VyYCB0byBtZWV0IHRoZSBy ZXF1aXJlbWVudCB0aGF0IGNvbnRleHQNCiAgICBtYW5hZ2VycyBzdXBwb3J0IG11bHRpcGxlIGlu dm9jYXRpb25zIGluIG9yZGVyIHRvIGJlIHVzZWQgYXMgZGVjb3JhdG9ycy4NCiANCiAgICAuLiB2 ZXJzaW9uY2hhbmdlZDo6IDMuMTANCi0gICAgICBBc3luYyBjb250ZXh0IG1hbmFnZXJzIGNyZWF0 ZWQgd2l0aCA6ZnVuYzpgYXN5bmNjb250ZXh0bWFuYWdlcmAgY2FuDQorICAgICAgQXN5bmMgY29u dGV4dCBtYW5hZ2VycyBjcmVhdGVkIHdpdGggOmRlY286YGFzeW5jY29udGV4dG1hbmFnZXJgIGNh bg0KICAgICAgIGJlIHVzZWQgYXMgZGVjb3JhdG9ycy4NCiANCiANCkBAIC00MDAsNyArNDAwLDcg QEAgRnVuY3Rpb25zIGFuZCBjbGFzc2VzIHByb3ZpZGVkOg0KICAgIGBgX19leGl0X19gYCByZXRh aW5zIGl0cyBvcHRpb25hbA0KICAgIGV4Y2VwdGlvbiBoYW5kbGluZyBldmVuIHdoZW4gdXNlZCBh cyBhIGRlY29yYXRvci4NCiANCi0gICBgYENvbnRleHREZWNvcmF0b3JgYCBpcyB1c2VkIGJ5IDpm dW5jOmBjb250ZXh0bWFuYWdlcmAsIHNvIHlvdSBnZXQgdGhpcw0KKyAgIGBgQ29udGV4dERlY29y YXRvcmBgIGlzIHVzZWQgYnkgOmRlY286YGNvbnRleHRtYW5hZ2VyYCwgc28geW91IGdldCB0aGlz DQogICAgZnVuY3Rpb25hbGl0eSBhdXRvbWF0aWNhbGx5Lg0KIA0KICAgIEV4YW1wbGUgb2YgYGBD b250ZXh0RGVjb3JhdG9yYGA6Og0KQEAgLTY1NCw3ICs2NTQsNyBAQCBGdW5jdGlvbnMgYW5kIGNs YXNzZXMgcHJvdmlkZWQ6DQogDQogICAgICAgU2ltaWxhciB0byA6bWV0aDpgRXhpdFN0YWNrLmNs b3NlYCBidXQgcHJvcGVybHkgaGFuZGxlcyBhd2FpdGFibGVzLg0KIA0KLSAgIENvbnRpbnVpbmcg dGhlIGV4YW1wbGUgZm9yIDpmdW5jOmBhc3luY2NvbnRleHRtYW5hZ2VyYDo6DQorICAgQ29udGlu dWluZyB0aGUgZXhhbXBsZSBmb3IgOmRlY286YGFzeW5jY29udGV4dG1hbmFnZXJgOjoNCiANCiAg ICAgICBhc3luYyB3aXRoIEFzeW5jRXhpdFN0YWNrKCkgYXMgc3RhY2s6DQogICAgICAgICAgIGNv bm5lY3Rpb25zID0gW2F3YWl0IHN0YWNrLmVudGVyX2FzeW5jX2NvbnRleHQoZ2V0X2Nvbm5lY3Rp b24oKSkNCkBAIC05MTIsNyArOTEyLDcgQEAgRmlsZXMgYXJlIGFuIGV4YW1wbGUgb2YgZWZmZWN0 aXZlbHkgc2luZ2xlIHVzZSBjb250ZXh0IG1hbmFnZXJzLCBzaW5jZQ0KIHRoZSBmaXJzdCA6a2V5 d29yZDpgd2l0aGAgc3RhdGVtZW50IHdpbGwgY2xvc2UgdGhlIGZpbGUsIHByZXZlbnRpbmcgYW55 DQogZnVydGhlciBJTyBvcGVyYXRpb25zIHVzaW5nIHRoYXQgZmlsZSBvYmplY3QuDQogDQotQ29u dGV4dCBtYW5hZ2VycyBjcmVhdGVkIHVzaW5nIDpmdW5jOmBjb250ZXh0bWFuYWdlcmAgYXJlIGFs c28gc2luZ2xlIHVzZQ0KK0NvbnRleHQgbWFuYWdlcnMgY3JlYXRlZCB1c2luZyA6ZGVjbzpgY29u dGV4dG1hbmFnZXJgIGFyZSBhbHNvIHNpbmdsZSB1c2UNCiBjb250ZXh0IG1hbmFnZXJzLCBhbmQg d2lsbCBjb21wbGFpbiBhYm91dCB0aGUgdW5kZXJseWluZyBnZW5lcmF0b3IgZmFpbGluZw0KIHRv IHlpZWxkIGlmIGFuIGF0dGVtcHQgaXMgbWFkZSB0byB1c2UgdGhlbSBhIHNlY29uZCB0aW1lOjoN CiANCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jdHlwZXMucnN0IGIvRG9jL2xpYnJhcnkvY3R5 cGVzLnJzdA0KaW5kZXggMjViMjc3NDNmNjk5NmNmLi5iNjU4ODdlMmVjYTFiMTQgMTAwNjQ0DQot LS0gYS9Eb2MvbGlicmFyeS9jdHlwZXMucnN0DQorKysgYi9Eb2MvbGlicmFyeS9jdHlwZXMucnN0 DQpAQCAtNTQ5LDcgKzU0OSw3IEBAIG9iamVjdCB3aXRoIGFuIDphdHRyOmAhX2FzX3BhcmFtZXRl cl9gIGF0dHJpYnV0ZTo6DQogICAgPj4+DQogDQogSWYgeW91IGRvbid0IHdhbnQgdG8gc3RvcmUg dGhlIGluc3RhbmNlJ3MgZGF0YSBpbiB0aGUgOmF0dHI6YCFfYXNfcGFyYW1ldGVyX2ANCi1pbnN0 YW5jZSB2YXJpYWJsZSwgeW91IGNvdWxkIGRlZmluZSBhIDpjbGFzczpgcHJvcGVydHlgIHdoaWNo IG1ha2VzIHRoZQ0KK2luc3RhbmNlIHZhcmlhYmxlLCB5b3UgY291bGQgZGVmaW5lIGEgOmRlY286 YHByb3BlcnR5YCB3aGljaCBtYWtlcyB0aGUNCiBhdHRyaWJ1dGUgYXZhaWxhYmxlIG9uIHJlcXVl c3QuDQogDQogDQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZW51bS5yc3QgYi9Eb2MvbGlicmFy eS9lbnVtLnJzdA0KaW5kZXggODhmMjI1NDA2MWFmMmQ2Li5iMDU4MTM4MjkyM2VmZDEgMTAwNjQ0 DQotLS0gYS9Eb2MvbGlicmFyeS9lbnVtLnJzdA0KKysrIGIvRG9jL2xpYnJhcnkvZW51bS5yc3QN CkBAIC0xMjAsMzAgKzEyMCwzMCBAQCBNb2R1bGUgY29udGVudHMNCiAgICAgICA6Y2xhc3M6YFN0 ckVudW1gIGRlZmF1bHRzIHRvIHRoZSBsb3dlci1jYXNlZCB2ZXJzaW9uIG9mIHRoZSBtZW1iZXIg bmFtZSwNCiAgICAgICB3aGlsZSBvdGhlciBFbnVtcyBkZWZhdWx0IHRvIDEgYW5kIGluY3JlYXNl IGZyb20gdGhlcmUuDQogDQotICAgOmZ1bmM6YH5lbnVtLnByb3BlcnR5YA0KKyAgIDpkZWNvOmB+ ZW51bS5wcm9wZXJ0eWANCiANCiAgICAgICBBbGxvd3MgOmNsYXNzOmBFbnVtYCBtZW1iZXJzIHRv IGhhdmUgYXR0cmlidXRlcyB3aXRob3V0IGNvbmZsaWN0aW5nIHdpdGgNCiAgICAgICBtZW1iZXIg bmFtZXMuICBUaGUgYGB2YWx1ZWBgIGFuZCBgYG5hbWVgYCBhdHRyaWJ1dGVzIGFyZSBpbXBsZW1l bnRlZCB0aGlzDQogICAgICAgd2F5Lg0KIA0KLSAgIDpmdW5jOmB1bmlxdWVgDQorICAgOmRlY286 YHVuaXF1ZWANCiANCiAgICAgICBFbnVtIGNsYXNzIGRlY29yYXRvciB0aGF0IGVuc3VyZXMgb25s eSBvbmUgbmFtZSBpcyBib3VuZCB0byBhbnkgb25lIHZhbHVlLg0KIA0KLSAgIDpmdW5jOmB2ZXJp ZnlgDQorICAgOmRlY286YHZlcmlmeWANCiANCiAgICAgICBFbnVtIGNsYXNzIGRlY29yYXRvciB0 aGF0IGNoZWNrcyB1c2VyLXNlbGVjdGFibGUgY29uc3RyYWludHMgb24gYW4NCiAgICAgICBlbnVt ZXJhdGlvbi4NCiANCi0gICA6ZnVuYzpgbWVtYmVyYA0KKyAgIDpkZWNvOmBtZW1iZXJgDQogDQog ICAgICAgTWFrZSBgYG9iamBgIGEgbWVtYmVyLiAgQ2FuIGJlIHVzZWQgYXMgYSBkZWNvcmF0b3Iu DQogDQotICAgOmZ1bmM6YG5vbm1lbWJlcmANCisgICA6ZGVjbzpgbm9ubWVtYmVyYA0KIA0KICAg ICAgIERvIG5vdCBtYWtlIGBgb2JqYGAgYSBtZW1iZXIuICBDYW4gYmUgdXNlZCBhcyBhIGRlY29y YXRvci4NCiANCi0gICA6ZnVuYzpgZ2xvYmFsX2VudW1gDQorICAgOmRlY286YGdsb2JhbF9lbnVt YA0KIA0KICAgICAgIE1vZGlmeSB0aGUgOmNsYXNzOmBzdHIoKSA8c3RyPmAgYW5kIDpmdW5jOmBy ZXByYCBvZiBhbiBlbnVtDQogICAgICAgdG8gc2hvdyBpdHMgbWVtYmVycyBhcyBiZWxvbmdpbmcg dG8gdGhlIG1vZHVsZSBpbnN0ZWFkIG9mIGl0cyBjbGFzcywNCkBAIC0xMDExLDcgKzEwMTEsNyBA QCBVdGlsaXRpZXMgYW5kIGRlY29yYXRvcnMNCiANCiAuLiBkZWNvcmF0b3I6OiBwcm9wZXJ0eQ0K IA0KLSAgIEEgZGVjb3JhdG9yIHNpbWlsYXIgdG8gdGhlIGJ1aWx0LWluICpwcm9wZXJ0eSosIGJ1 dCBzcGVjaWZpY2FsbHkgZm9yDQorICAgQSBkZWNvcmF0b3Igc2ltaWxhciB0byB0aGUgYnVpbHQt aW4gOmRlY286YHByb3BlcnR5YCwgYnV0IHNwZWNpZmljYWxseSBmb3INCiAgICBlbnVtZXJhdGlv bnMuICBJdCBhbGxvd3MgbWVtYmVyIGF0dHJpYnV0ZXMgdG8gaGF2ZSB0aGUgc2FtZSBuYW1lcyBh cyBtZW1iZXJzDQogICAgdGhlbXNlbHZlcy4NCiANCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9m bm1hdGNoLnJzdCBiL0RvYy9saWJyYXJ5L2ZubWF0Y2gucnN0DQppbmRleCBlZTY1NGI3YTgzZTIw M2IuLjQyNTM5MjgzYzVmZjJiOSAxMDA2NDQNCi0tLSBhL0RvYy9saWJyYXJ5L2ZubWF0Y2gucnN0 DQorKysgYi9Eb2MvbGlicmFyeS9mbm1hdGNoLnJzdA0KQEAgLTUxLDcgKzUxLDcgQEAgVW5sZXNz IHN0YXRlZCBvdGhlcndpc2UsICJmaWxlbmFtZSBzdHJpbmciIGFuZCAicGF0dGVybiBzdHJpbmci IGVpdGhlciByZWZlciB0bw0KIGZ1bmN0aW9ucyBkb2N1bWVudGVkIGJlbG93IGRvIG5vdCBhbGxv dyB0byBtaXggYSA6Y2xhc3M6YCFieXRlc2AgcGF0dGVybiB3aXRoDQogYSA6Y2xhc3M6YCFzdHJg IGZpbGVuYW1lLCBhbmQgdmljZS12ZXJzYS4NCiANCi1GaW5hbGx5LCBub3RlIHRoYXQgOmZ1bmM6 YGZ1bmN0b29scy5scnVfY2FjaGVgIHdpdGggYSAqbWF4c2l6ZSogb2YgMzI3NjgNCitGaW5hbGx5 LCBub3RlIHRoYXQgOmRlY286YGZ1bmN0b29scy5scnVfY2FjaGVgIHdpdGggYSAqbWF4c2l6ZSog b2YgMzI3NjgNCiBpcyB1c2VkIHRvIGNhY2hlIHRoZSAodHlwZWQpIGNvbXBpbGVkIHJlZ2V4IHBh dHRlcm5zIGluIHRoZSBmb2xsb3dpbmcNCiBmdW5jdGlvbnM6IDpmdW5jOmBmbm1hdGNoYCwgOmZ1 bmM6YGZubWF0Y2hjYXNlYCwgOmZ1bmM6YC5maWx0ZXJgLCA6ZnVuYzpgLmZpbHRlcmZhbHNlYC4N CiANCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9mdW5jdGlvbnMucnN0IGIvRG9jL2xpYnJhcnkv ZnVuY3Rpb25zLnJzdA0KaW5kZXggZmQ1YWQxNTg0NDc5ODRiLi4xNmM0MjBkZGQxYjVlNmUgMTAw NjQ0DQotLS0gYS9Eb2MvbGlicmFyeS9mdW5jdGlvbnMucnN0DQorKysgYi9Eb2MvbGlicmFyeS9m dW5jdGlvbnMucnN0DQpAQCAtMTY3OCw3ICsxNjc4LDcgQEAgYXJlIGFsd2F5cyBhdmFpbGFibGUu ICBUaGV5IGFyZSBsaXN0ZWQgaGVyZSBpbiBhbHBoYWJldGljYWwgb3JkZXIuDQogDQogICAgSWYg Z2l2ZW4sICpkb2MqIHdpbGwgYmUgdGhlIGRvY3N0cmluZyBvZiB0aGUgcHJvcGVydHkgYXR0cmli dXRlLiBPdGhlcndpc2UsIHRoZQ0KICAgIHByb3BlcnR5IHdpbGwgY29weSAqZmdldConcyBkb2Nz dHJpbmcgKGlmIGl0IGV4aXN0cykuICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvDQotICAgY3Jl YXRlIHJlYWQtb25seSBwcm9wZXJ0aWVzIGVhc2lseSB1c2luZyA6ZnVuYzpgcHJvcGVydHlgIGFz IGEgOnRlcm06YGRlY29yYXRvcmA6Og0KKyAgIGNyZWF0ZSByZWFkLW9ubHkgcHJvcGVydGllcyBl YXNpbHkgdXNpbmcgOmRlY286YHByb3BlcnR5YCBhcyBhIDp0ZXJtOmBkZWNvcmF0b3JgOjoNCiAN CiAgICAgICBjbGFzcyBQYXJyb3Q6DQogICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmKToNCkBA IC0xOTE5LDcgKzE5MTksNyBAQCBhcmUgYWx3YXlzIGF2YWlsYWJsZS4gIFRoZXkgYXJlIGxpc3Rl ZCBoZXJlIGluIGFscGhhYmV0aWNhbCBvcmRlci4NCiAgICBiZSB1c2VkIGluIHRoZSBjbGFzcyBk ZWZpbml0aW9uIChzdWNoIGFzIGBgZigpYGApLg0KIA0KICAgIFN0YXRpYyBtZXRob2RzIGluIFB5 dGhvbiBhcmUgc2ltaWxhciB0byB0aG9zZSBmb3VuZCBpbiBKYXZhIG9yIEMrKy4gQWxzbywgc2Vl DQotICAgOmZ1bmM6YGNsYXNzbWV0aG9kYCBmb3IgYSB2YXJpYW50IHRoYXQgaXMgdXNlZnVsIGZv ciBjcmVhdGluZyBhbHRlcm5hdGUgY2xhc3MNCisgICA6ZGVjbzpgY2xhc3NtZXRob2RgIGZvciBh IHZhcmlhbnQgdGhhdCBpcyB1c2VmdWwgZm9yIGNyZWF0aW5nIGFsdGVybmF0ZSBjbGFzcw0KICAg IGNvbnN0cnVjdG9ycy4NCiANCiAgICBMaWtlIGFsbCBkZWNvcmF0b3JzLCBpdCBpcyBhbHNvIHBv c3NpYmxlIHRvIGNhbGwgYGBzdGF0aWNtZXRob2RgYCBhcw0KZGlmZiAtLWdpdCBhL0RvYy9saWJy YXJ5L2Z1bmN0b29scy5yc3QgYi9Eb2MvbGlicmFyeS9mdW5jdG9vbHMucnN0DQppbmRleCA0YmFi YzI0NmVhOWQxNDMuLjVlZGU5YTU0MGZlYmFiMyAxMDA2NDQNCi0tLSBhL0RvYy9saWJyYXJ5L2Z1 bmN0b29scy5yc3QNCisrKyBiL0RvYy9saWJyYXJ5L2Z1bmN0b29scy5yc3QNCkBAIC0zNCw3ICsz NCw3IEBAIFRoZSA6bW9kOmAhZnVuY3Rvb2xzYCBtb2R1bGUgZGVmaW5lcyB0aGUgZm9sbG93aW5n IGZ1bmN0aW9uczoNCiAgICBSZXR1cm5zIHRoZSBzYW1lIGFzIGBgbHJ1X2NhY2hlKG1heHNpemU9 Tm9uZSlgYCwgY3JlYXRpbmcgYSB0aGluDQogICAgd3JhcHBlciBhcm91bmQgYSBkaWN0aW9uYXJ5 IGxvb2t1cCBmb3IgdGhlIGZ1bmN0aW9uIGFyZ3VtZW50cy4gIEJlY2F1c2UgaXQNCiAgICBuZXZl ciBuZWVkcyB0byBldmljdCBvbGQgdmFsdWVzLCB0aGlzIGlzIHNtYWxsZXIgYW5kIGZhc3RlciB0 aGFuDQotICAgOmZ1bmM6YGxydV9jYWNoZWAgd2l0aCBhIHNpemUgbGltaXQuDQorICAgOmRlY286 YGxydV9jYWNoZWAgd2l0aCBhIHNpemUgbGltaXQuDQogDQogICAgRm9yIGV4YW1wbGU6Og0KIA0K QEAgLTY0LDcgKzY0LDcgQEAgVGhlIDptb2Q6YCFmdW5jdG9vbHNgIG1vZHVsZSBkZWZpbmVzIHRo ZSBmb2xsb3dpbmcgZnVuY3Rpb25zOg0KIA0KICAgIFRyYW5zZm9ybSBhIG1ldGhvZCBvZiBhIGNs YXNzIGludG8gYSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBjb21wdXRlZCBvbmNlDQogICAgYW5k IHRoZW4gY2FjaGVkIGFzIGEgbm9ybWFsIGF0dHJpYnV0ZSBmb3IgdGhlIGxpZmUgb2YgdGhlIGlu c3RhbmNlLiBTaW1pbGFyDQotICAgdG8gOmZ1bmM6YHByb3BlcnR5YCwgd2l0aCB0aGUgYWRkaXRp b24gb2YgY2FjaGluZy4gVXNlZnVsIGZvciBleHBlbnNpdmUNCisgICB0byA6ZGVjbzpgcHJvcGVy dHlgLCB3aXRoIHRoZSBhZGRpdGlvbiBvZiBjYWNoaW5nLiBVc2VmdWwgZm9yIGV4cGVuc2l2ZQ0K ICAgIGNvbXB1dGVkIHByb3BlcnRpZXMgb2YgaW5zdGFuY2VzIHRoYXQgYXJlIG90aGVyd2lzZSBl ZmZlY3RpdmVseSBpbW11dGFibGUuDQogDQogICAgRXhhbXBsZTo6DQpAQCAtNzgsOCArNzgsOCBA QCBUaGUgOm1vZDpgIWZ1bmN0b29sc2AgbW9kdWxlIGRlZmluZXMgdGhlIGZvbGxvd2luZyBmdW5j dGlvbnM6DQogICAgICAgICAgICBkZWYgc3RkZXYoc2VsZik6DQogICAgICAgICAgICAgICAgcmV0 dXJuIHN0YXRpc3RpY3Muc3RkZXYoc2VsZi5fZGF0YSkNCiANCi0gICBUaGUgbWVjaGFuaWNzIG9m IDpmdW5jOmBjYWNoZWRfcHJvcGVydHlgIGFyZSBzb21ld2hhdCBkaWZmZXJlbnQgZnJvbQ0KLSAg IDpmdW5jOmBwcm9wZXJ0eWAuICBBIHJlZ3VsYXIgcHJvcGVydHkgYmxvY2tzIGF0dHJpYnV0ZSB3 cml0ZXMgdW5sZXNzIGENCisgICBUaGUgbWVjaGFuaWNzIG9mIDpkZWNvOmBjYWNoZWRfcHJvcGVy dHlgIGFyZSBzb21ld2hhdCBkaWZmZXJlbnQgZnJvbQ0KKyAgIDpkZWNvOmBwcm9wZXJ0eWAuICBB IHJlZ3VsYXIgcHJvcGVydHkgYmxvY2tzIGF0dHJpYnV0ZSB3cml0ZXMgdW5sZXNzIGENCiAgICBz ZXR0ZXIgaXMgZGVmaW5lZC4gSW4gY29udHJhc3QsIGEgKmNhY2hlZF9wcm9wZXJ0eSogYWxsb3dz IHdyaXRlcy4NCiANCiAgICBUaGUgKmNhY2hlZF9wcm9wZXJ0eSogZGVjb3JhdG9yIG9ubHkgcnVu cyBvbiBsb29rdXBzIGFuZCBvbmx5IHdoZW4gYW4NCkBAIC0xMTEsMTQgKzExMSwxNCBAQCBUaGUg Om1vZDpgIWZ1bmN0b29sc2AgbW9kdWxlIGRlZmluZXMgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnM6 DQogICAgKGFzIHN1Y2ggY2xhc3NlcyBkb24ndCBwcm92aWRlIGEgYGBfX2RpY3RfX2BgIGF0dHJp YnV0ZSBhdCBhbGwpLg0KIA0KICAgIElmIGEgbXV0YWJsZSBtYXBwaW5nIGlzIG5vdCBhdmFpbGFi bGUgb3IgaWYgc3BhY2UtZWZmaWNpZW50IGtleSBzaGFyaW5nIGlzDQotICAgZGVzaXJlZCwgYW4g ZWZmZWN0IHNpbWlsYXIgdG8gOmZ1bmM6YGNhY2hlZF9wcm9wZXJ0eWAgY2FuIGFsc28gYmUgYWNo aWV2ZWQgYnkNCi0gICBzdGFja2luZyA6ZnVuYzpgcHJvcGVydHlgIG9uIHRvcCBvZiA6ZnVuYzpg bHJ1X2NhY2hlYC4gU2VlDQotICAgOnJlZjpgZmFxLWNhY2hlLW1ldGhvZC1jYWxsc2AgZm9yIG1v cmUgZGV0YWlscyBvbiBob3cgdGhpcyBkaWZmZXJzIGZyb20gOmZ1bmM6YGNhY2hlZF9wcm9wZXJ0 eWAuDQorICAgZGVzaXJlZCwgYW4gZWZmZWN0IHNpbWlsYXIgdG8gOmRlY286YGNhY2hlZF9wcm9w ZXJ0eWAgY2FuIGFsc28gYmUgYWNoaWV2ZWQgYnkNCisgICBzdGFja2luZyA6ZGVjbzpgcHJvcGVy dHlgIG9uIHRvcCBvZiA6ZGVjbzpgbHJ1X2NhY2hlYC4gU2VlDQorICAgOnJlZjpgZmFxLWNhY2hl LW1ldGhvZC1jYWxsc2AgZm9yIG1vcmUgZGV0YWlscyBvbiBob3cgdGhpcyBkaWZmZXJzIGZyb20g OmRlY286YGNhY2hlZF9wcm9wZXJ0eWAuDQogDQogICAgLi4gdmVyc2lvbmFkZGVkOjogMy44DQog DQogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjEyDQotICAgICAgUHJpb3IgdG8gUHl0aG9uIDMu MTIsIGBgY2FjaGVkX3Byb3BlcnR5YGAgaW5jbHVkZWQgYW4gdW5kb2N1bWVudGVkIGxvY2sgdG8N CisgICAgICBQcmlvciB0byBQeXRob24gMy4xMiwgOmRlY286YCFjYWNoZWRfcHJvcGVydHlgIGlu Y2x1ZGVkIGFuIHVuZG9jdW1lbnRlZCBsb2NrIHRvDQogICAgICAgZW5zdXJlIHRoYXQgaW4gbXVs dGktdGhyZWFkZWQgdXNhZ2UgdGhlIGdldHRlciBmdW5jdGlvbiB3YXMgZ3VhcmFudGVlZCB0bw0K ICAgICAgIHJ1biBvbmx5IG9uY2UgcGVyIGluc3RhbmNlLiBIb3dldmVyLCB0aGUgbG9jayB3YXMg cGVyLXByb3BlcnR5LCBub3QNCiAgICAgICBwZXItaW5zdGFuY2UsIHdoaWNoIGNvdWxkIHJlc3Vs dCBpbiB1bmFjY2VwdGFibHkgaGlnaCBsb2NrIGNvbnRlbnRpb24uIEluDQpAQCAtNzMyLDcgKzcz Miw3IEBAIFRoZSA6bW9kOmAhZnVuY3Rvb2xzYCBtb2R1bGUgZGVmaW5lcyB0aGUgZm9sbG93aW5n IGZ1bmN0aW9uczoNCiAgICBmdW5jdGlvbidzIDphdHRyOmB+ZnVuY3Rpb24uX19kaWN0X19gLCBp LmUuIHRoZSBpbnN0YW5jZSBkaWN0aW9uYXJ5KS4NCiANCiAgICBUbyBhbGxvdyBhY2Nlc3MgdG8g dGhlIG9yaWdpbmFsIGZ1bmN0aW9uIGZvciBpbnRyb3NwZWN0aW9uIGFuZCBvdGhlciBwdXJwb3Nl cw0KLSAgIChlLmcuIGJ5cGFzc2luZyBhIGNhY2hpbmcgZGVjb3JhdG9yIHN1Y2ggYXMgOmZ1bmM6 YGxydV9jYWNoZWApLCB0aGlzIGZ1bmN0aW9uDQorICAgKGUuZy4gYnlwYXNzaW5nIGEgY2FjaGlu ZyBkZWNvcmF0b3Igc3VjaCBhcyA6ZGVjbzpgbHJ1X2NhY2hlYCksIHRoaXMgZnVuY3Rpb24NCiAg ICBhdXRvbWF0aWNhbGx5IGFkZHMgYSBgYF9fd3JhcHBlZF9fYGAgYXR0cmlidXRlIHRvIHRoZSB3 cmFwcGVyIHRoYXQgcmVmZXJzIHRvDQogICAgdGhlIGZ1bmN0aW9uIGJlaW5nIHdyYXBwZWQuDQog DQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdGFyZmlsZS5yc3QgYi9Eb2MvbGlicmFyeS90YXJm aWxlLnJzdA0KaW5kZXggYTg3ZWMxMGIzMDgyMzM1Li4yOGU5NTBlOGY3MjhlMjQgMTAwNjQ0DQot LS0gYS9Eb2MvbGlicmFyeS90YXJmaWxlLnJzdA0KKysrIGIvRG9jL2xpYnJhcnkvdGFyZmlsZS5y c3QNCkBAIC02NjMsNyArNjYzLDcgQEAgYmUgZmluYWxpemVkOyBvbmx5IHRoZSBpbnRlcm5hbGx5 IHVzZWQgZmlsZSBvYmplY3Qgd2lsbCBiZSBjbG9zZWQuIFNlZSB0aGUNCiAgICBpdCBpcyBiZXN0 IHByYWN0aWNlIHRvIG9ubHkgZG8gc28gaW4gdG9wLWxldmVsIGFwcGxpY2F0aW9ucyBvcg0KICAg IDptb2Q6YHNpdGUgY29uZmlndXJhdGlvbiA8c2l0ZT5gLg0KICAgIFRvIHNldCBhIGdsb2JhbCBk ZWZhdWx0IHRoaXMgd2F5LCBhIGZpbHRlciBmdW5jdGlvbiBuZWVkcyB0byBiZSB3cmFwcGVkIGlu DQotICAgOmZ1bmM6YHN0YXRpY21ldGhvZGAgdG8gcHJldmVudCBpbmplY3Rpb24gb2YgYSBgYHNl bGZgYCBhcmd1bWVudC4NCisgICA6ZGVjbzpgc3RhdGljbWV0aG9kYCB0byBwcmV2ZW50IGluamVj dGlvbiBvZiBhIGBgc2VsZmBgIGFyZ3VtZW50Lg0KIA0KICAgIC4uIHZlcnNpb25jaGFuZ2VkOjog My4xNA0KIA0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3Rlc3QucnN0IGIvRG9jL2xpYnJhcnkv dGVzdC5yc3QNCmluZGV4IGNkMzhlNTUxMjc2MWQwOS4uYzFlMDg2MDU5Mzc2YWM5IDEwMDY0NA0K LS0tIGEvRG9jL2xpYnJhcnkvdGVzdC5yc3QNCisrKyBiL0RvYy9saWJyYXJ5L3Rlc3QucnN0DQpA QCAtNzIwLDcgKzcyMCw3IEBAIFRoZSA6bW9kOmAhdGVzdC5zdXBwb3J0YCBtb2R1bGUgZGVmaW5l cyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uczoNCiAuLiBkZWNvcmF0b3I6OiBhbnRpY2lwYXRlX2Zh aWx1cmUoY29uZGl0aW9uKQ0KIA0KICAgIEEgZGVjb3JhdG9yIHRvIGNvbmRpdGlvbmFsbHkgbWFy ayB0ZXN0cyB3aXRoDQotICAgOmZ1bmM6YHVuaXR0ZXN0LmV4cGVjdGVkRmFpbHVyZWAuIEFueSB1 c2Ugb2YgdGhpcyBkZWNvcmF0b3Igc2hvdWxkDQorICAgOmRlY286YHVuaXR0ZXN0LmV4cGVjdGVk RmFpbHVyZWAuIEFueSB1c2Ugb2YgdGhpcyBkZWNvcmF0b3Igc2hvdWxkDQogICAgaGF2ZSBhbiBh c3NvY2lhdGVkIGNvbW1lbnQgaWRlbnRpZnlpbmcgdGhlIHJlbGV2YW50IHRyYWNrZXIgaXNzdWUu DQogDQogDQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdHlwaW5nLnJzdCBiL0RvYy9saWJyYXJ5 L3R5cGluZy5yc3QNCmluZGV4IGMxZWJhODFhOTgyYWJiZC4uNDc3NTM2ZmNkMzM0OGY3IDEwMDY0 NA0KLS0tIGEvRG9jL2xpYnJhcnkvdHlwaW5nLnJzdA0KKysrIGIvRG9jL2xpYnJhcnkvdHlwaW5n LnJzdA0KQEAgLTI1MDUsNyArMjUwNSw3IEBAIHR5cGVzLg0KICAgICAgIGZ1bmMoQygpKSAgIyBQ YXNzZXMgc3RhdGljIHR5cGUgY2hlY2sNCiANCiAgICBTZWUgOnBlcDpgNTQ0YCBmb3IgbW9yZSBk ZXRhaWxzLiBQcm90b2NvbCBjbGFzc2VzIGRlY29yYXRlZCB3aXRoDQotICAgOmZ1bmM6YHJ1bnRp bWVfY2hlY2thYmxlYCAoZGVzY3JpYmVkIGxhdGVyKSBhY3QgYXMgc2ltcGxlLW1pbmRlZCBydW50 aW1lDQorICAgOmRlY286YHJ1bnRpbWVfY2hlY2thYmxlYCAoZGVzY3JpYmVkIGxhdGVyKSBhY3Qg YXMgc2ltcGxlLW1pbmRlZCBydW50aW1lDQogICAgcHJvdG9jb2xzIHRoYXQgY2hlY2sgb25seSB0 aGUgcHJlc2VuY2Ugb2YgZ2l2ZW4gYXR0cmlidXRlcywgaWdub3JpbmcgdGhlaXINCiAgICB0eXBl IHNpZ25hdHVyZXMuIFByb3RvY29sIGNsYXNzZXMgd2l0aG91dCB0aGlzIGRlY29yYXRvciBjYW5u b3QgYmUgdXNlZA0KICAgIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgdG8gOmZ1bmM6YGlzaW5zdGFu Y2VgIG9yIDpmdW5jOmBpc3N1YmNsYXNzYC4NCkBAIC0yNTUyLDcgKzI1NTIsNyBAQCB0eXBlcy4N CiANCiAgICAuLiBub3RlOjoNCiANCi0gICAgICAgIDpmdW5jOmAhcnVudGltZV9jaGVja2FibGVg IHdpbGwgY2hlY2sgb25seSB0aGUgcHJlc2VuY2Ugb2YgdGhlIHJlcXVpcmVkDQorICAgICAgICA6 ZGVjbzpgIXJ1bnRpbWVfY2hlY2thYmxlYCB3aWxsIGNoZWNrIG9ubHkgdGhlIHByZXNlbmNlIG9m IHRoZSByZXF1aXJlZA0KICAgICAgICAgbWV0aG9kcyBvciBhdHRyaWJ1dGVzLCBub3QgdGhlaXIg dHlwZSBzaWduYXR1cmVzIG9yIHR5cGVzLg0KICAgICAgICAgRm9yIGV4YW1wbGUsIDpjbGFzczpg c3NsLlNTTE9iamVjdGANCiAgICAgICAgIGlzIGEgY2xhc3MsIHRoZXJlZm9yZSBpdCBwYXNzZXMg YW4gOmZ1bmM6YGlzc3ViY2xhc3NgDQpAQCAtMzAyMCw3ICszMDIwLDcgQEAgRnVuY3Rpb25zIGFu ZCBkZWNvcmF0b3JzDQogICAgRGVjb3JhdG9yIHRvIG1hcmsgYW4gb2JqZWN0IGFzIHByb3ZpZGlu Zw0KICAgIDpmdW5jOmBkYXRhY2xhc3MgPGRhdGFjbGFzc2VzLmRhdGFjbGFzcz5gLWxpa2UgYmVo YXZpb3IuDQogDQotICAgYGBkYXRhY2xhc3NfdHJhbnNmb3JtYGAgbWF5IGJlIHVzZWQgdG8NCisg ICBgYEBkYXRhY2xhc3NfdHJhbnNmb3JtYGAgbWF5IGJlIHVzZWQgdG8NCiAgICBkZWNvcmF0ZSBh IGNsYXNzLCBtZXRhY2xhc3MsIG9yIGEgZnVuY3Rpb24gdGhhdCBpcyBpdHNlbGYgYSBkZWNvcmF0 b3IuDQogICAgVGhlIHByZXNlbmNlIG9mIGBgQGRhdGFjbGFzc190cmFuc2Zvcm0oKWBgIHRlbGxz IGEgc3RhdGljIHR5cGUgY2hlY2tlciB0aGF0IHRoZQ0KICAgIGRlY29yYXRlZCBvYmplY3QgcGVy Zm9ybXMgcnVudGltZSAibWFnaWMiIHRoYXQNCkBAIC0zMDc1LDcgKzMwNzUsNyBAQCBGdW5jdGlv bnMgYW5kIGRlY29yYXRvcnMNCiAgICBgYGt3X29ubHlgYCwgYW5kIGBgc2xvdHNgYC4gSXQgbXVz dCBiZSBwb3NzaWJsZSBmb3IgdGhlIHZhbHVlIG9mIHRoZXNlDQogICAgYXJndW1lbnRzIChgYFRy dWVgYCBvciBgYEZhbHNlYGApIHRvIGJlIHN0YXRpY2FsbHkgZXZhbHVhdGVkLg0KIA0KLSAgIFRo ZSBhcmd1bWVudHMgdG8gdGhlIGBgZGF0YWNsYXNzX3RyYW5zZm9ybWBgIGRlY29yYXRvciBjYW4g YmUgdXNlZCB0bw0KKyAgIFRoZSBhcmd1bWVudHMgdG8gdGhlIGBgQGRhdGFjbGFzc190cmFuc2Zv cm1gYCBkZWNvcmF0b3IgY2FuIGJlIHVzZWQgdG8NCiAgICBjdXN0b21pemUgdGhlIGRlZmF1bHQg YmVoYXZpb3JzIG9mIHRoZSBkZWNvcmF0ZWQgY2xhc3MsIG1ldGFjbGFzcywgb3INCiAgICBmdW5j dGlvbjoNCiANCkBAIC0zMTM5LDggKzMxMzksOCBAQCBGdW5jdGlvbnMgYW5kIGRlY29yYXRvcnMN CiAgICAgICAgICAga2V5d29yZC1vbmx5LiBJZiBgYFRydWVgYCwgdGhlIGZpZWxkIHdpbGwgYmUg a2V5d29yZC1vbmx5LiBJZg0KICAgICAgICAgICBgYEZhbHNlYGAsIGl0IHdpbGwgbm90IGJlIGtl eXdvcmQtb25seS4gSWYgdW5zcGVjaWZpZWQsIHRoZSB2YWx1ZSBvZg0KICAgICAgICAgICB0aGUg YGBrd19vbmx5YGAgcGFyYW1ldGVyIG9uIHRoZSBvYmplY3QgZGVjb3JhdGVkIHdpdGgNCi0gICAg ICAgICAgYGBkYXRhY2xhc3NfdHJhbnNmb3JtYGAgd2lsbCBiZSB1c2VkLCBvciBpZiB0aGF0IGlz IHVuc3BlY2lmaWVkLCB0aGUNCi0gICAgICAgICAgdmFsdWUgb2YgYGBrd19vbmx5X2RlZmF1bHRg YCBvbiBgYGRhdGFjbGFzc190cmFuc2Zvcm1gYCB3aWxsIGJlIHVzZWQuDQorICAgICAgICAgIGBg QGRhdGFjbGFzc190cmFuc2Zvcm1gYCB3aWxsIGJlIHVzZWQsIG9yIGlmIHRoYXQgaXMgdW5zcGVj aWZpZWQsIHRoZQ0KKyAgICAgICAgICB2YWx1ZSBvZiBgYGt3X29ubHlfZGVmYXVsdGBgIG9uIGBg QGRhdGFjbGFzc190cmFuc2Zvcm1gYCB3aWxsIGJlIHVzZWQuDQogICAgICAgKiAtIGBgYWxpYXNg YA0KICAgICAgICAgLSBQcm92aWRlcyBhbiBhbHRlcm5hdGl2ZSBuYW1lIGZvciB0aGUgZmllbGQu IFRoaXMgYWx0ZXJuYXRpdmUNCiAgICAgICAgICAgbmFtZSBpcyB1c2VkIGluIHRoZSBzeW50aGVz aXplZCBgYF9faW5pdF9fYGAgbWV0aG9kLg0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3VuaXR0 ZXN0LnJzdCBiL0RvYy9saWJyYXJ5L3VuaXR0ZXN0LnJzdA0KaW5kZXggOTc3YWUzZWZkZDZjMDQ4 Li5hZTZkZWUxZmI2MjA4NDMgMTAwNjQ0DQotLS0gYS9Eb2MvbGlicmFyeS91bml0dGVzdC5yc3QN CisrKyBiL0RvYy9saWJyYXJ5L3VuaXR0ZXN0LnJzdA0KQEAgLTUzNSw3ICs1MzUsNyBAQCB0ZXN0 cy4gIEluIGFkZGl0aW9uLCBpdCBzdXBwb3J0cyBtYXJraW5nIGEgdGVzdCBhcyBhbiAiZXhwZWN0 ZWQgZmFpbHVyZSwiIGEgdGVzdA0KIHRoYXQgaXMgYnJva2VuIGFuZCB3aWxsIGZhaWwsIGJ1dCBz aG91bGRuJ3QgYmUgY291bnRlZCBhcyBhIGZhaWx1cmUgb24gYQ0KIDpjbGFzczpgVGVzdFJlc3Vs dGAuDQogDQotU2tpcHBpbmcgYSB0ZXN0IGlzIHNpbXBseSBhIG1hdHRlciBvZiB1c2luZyB0aGUg OmZ1bmM6YHNraXBgIDp0ZXJtOmBkZWNvcmF0b3JgDQorU2tpcHBpbmcgYSB0ZXN0IGlzIHNpbXBs eSBhIG1hdHRlciBvZiB1c2luZyB0aGUgOmRlY286YHNraXBgIDp0ZXJtOmBkZWNvcmF0b3JgDQog b3Igb25lIG9mIGl0cyBjb25kaXRpb25hbCB2YXJpYW50cywgY2FsbGluZyA6bWV0aDpgVGVzdENh c2Uuc2tpcFRlc3RgIHdpdGhpbiBhDQogOm1ldGg6YH5UZXN0Q2FzZS5zZXRVcGAgb3IgdGVzdCBt ZXRob2QsIG9yIHJhaXNpbmcgOmV4YzpgU2tpcFRlc3RgIGRpcmVjdGx5Lg0KIA0KQEAgLTU4Niw3 ICs1ODYsNyBAQCBDbGFzc2VzIGNhbiBiZSBza2lwcGVkIGp1c3QgbGlrZSBtZXRob2RzOjoNCiA6 bWV0aDpgVGVzdENhc2Uuc2V0VXBgIGNhbiBhbHNvIHNraXAgdGhlIHRlc3QuICBUaGlzIGlzIHVz ZWZ1bCB3aGVuIGEgcmVzb3VyY2UNCiB0aGF0IG5lZWRzIHRvIGJlIHNldCB1cCBpcyBub3QgYXZh aWxhYmxlLg0KIA0KLUV4cGVjdGVkIGZhaWx1cmVzIHVzZSB0aGUgOmZ1bmM6YGV4cGVjdGVkRmFp bHVyZWAgZGVjb3JhdG9yLiA6Og0KK0V4cGVjdGVkIGZhaWx1cmVzIHVzZSB0aGUgOmRlY286YGV4 cGVjdGVkRmFpbHVyZWAgZGVjb3JhdG9yLiA6Og0KIA0KICAgIGNsYXNzIEV4cGVjdGVkRmFpbHVy ZVRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToNCiAgICAgICAgQHVuaXR0ZXN0LmV4cGVjdGVk RmFpbHVyZQ0KQEAgLTc2OCw3ICs3NjgsNyBAQCBUZXN0IGNhc2VzDQogDQogICAgICAgQSBjbGFz cyBtZXRob2QgY2FsbGVkIGJlZm9yZSB0ZXN0cyBpbiBhbiBpbmRpdmlkdWFsIGNsYXNzIGFyZSBy dW4uDQogICAgICAgYGBzZXRVcENsYXNzYGAgaXMgY2FsbGVkIHdpdGggdGhlIGNsYXNzIGFzIHRo ZSBvbmx5IGFyZ3VtZW50DQotICAgICAgYW5kIG11c3QgYmUgZGVjb3JhdGVkIGFzIGEgOmZ1bmM6 YGNsYXNzbWV0aG9kYDo6DQorICAgICAgYW5kIG11c3QgYmUgZGVjb3JhdGVkIGFzIGEgOmRlY286 YGNsYXNzbWV0aG9kYDo6DQogDQogICAgICAgICBAY2xhc3NtZXRob2QNCiAgICAgICAgIGRlZiBz ZXRVcENsYXNzKGNscyk6DQpAQCAtNzgzLDcgKzc4Myw3IEBAIFRlc3QgY2FzZXMNCiANCiAgICAg ICBBIGNsYXNzIG1ldGhvZCBjYWxsZWQgYWZ0ZXIgdGVzdHMgaW4gYW4gaW5kaXZpZHVhbCBjbGFz cyBoYXZlIHJ1bi4NCiAgICAgICBgYHRlYXJEb3duQ2xhc3NgYCBpcyBjYWxsZWQgd2l0aCB0aGUg Y2xhc3MgYXMgdGhlIG9ubHkgYXJndW1lbnQNCi0gICAgICBhbmQgbXVzdCBiZSBkZWNvcmF0ZWQg YXMgYSA6bWV0aDpgY2xhc3NtZXRob2RgOjoNCisgICAgICBhbmQgbXVzdCBiZSBkZWNvcmF0ZWQg YXMgYSA6ZGVjbzpgY2xhc3NtZXRob2RgOjoNCiANCiAgICAgICAgIEBjbGFzc21ldGhvZA0KICAg ICAgICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToNCkBAIC0yMTMxLDcgKzIxMzEsNyBAQCBMb2Fk aW5nIGFuZCBydW5uaW5nIHRlc3RzDQogDQogICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQN CiAgICAgICAgICBSZXR1cm5zIGBgRmFsc2VgYCBpZiB0aGVyZSB3ZXJlIGFueSA6YXR0cjpgdW5l eHBlY3RlZFN1Y2Nlc3Nlc2ANCi0gICAgICAgICBmcm9tIHRlc3RzIG1hcmtlZCB3aXRoIHRoZSA6 ZnVuYzpgZXhwZWN0ZWRGYWlsdXJlYCBkZWNvcmF0b3IuDQorICAgICAgICAgZnJvbSB0ZXN0cyBt YXJrZWQgd2l0aCB0aGUgOmRlY286YGV4cGVjdGVkRmFpbHVyZWAgZGVjb3JhdG9yLg0KIA0KICAg IC4uIG1ldGhvZDo6IHN0b3AoKQ0KIA0KQEAgLTIyMTQsNyArMjIxNCw3IEBAIExvYWRpbmcgYW5k IHJ1bm5pbmcgdGVzdHMNCiAgICAuLiBtZXRob2Q6OiBhZGRFeHBlY3RlZEZhaWx1cmUodGVzdCwg ZXJyKQ0KIA0KICAgICAgIENhbGxlZCB3aGVuIHRoZSB0ZXN0IGNhc2UgKnRlc3QqIGZhaWxzIG9y IGVycm9ycywgYnV0IHdhcyBtYXJrZWQgd2l0aA0KLSAgICAgIHRoZSA6ZnVuYzpgZXhwZWN0ZWRG YWlsdXJlYCBkZWNvcmF0b3IuDQorICAgICAgdGhlIDpkZWNvOmBleHBlY3RlZEZhaWx1cmVgIGRl Y29yYXRvci4NCiANCiAgICAgICBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBhcHBlbmRzIGEg dHVwbGUgYGAodGVzdCwgZm9ybWF0dGVkX2VycilgYCB0bw0KICAgICAgIHRoZSBpbnN0YW5jZSdz IDphdHRyOmBleHBlY3RlZEZhaWx1cmVzYCBhdHRyaWJ1dGUsIHdoZXJlICpmb3JtYXR0ZWRfZXJy Kg0KQEAgLTIyMjQsNyArMjIyNCw3IEBAIExvYWRpbmcgYW5kIHJ1bm5pbmcgdGVzdHMNCiAgICAu LiBtZXRob2Q6OiBhZGRVbmV4cGVjdGVkU3VjY2Vzcyh0ZXN0KQ0KIA0KICAgICAgIENhbGxlZCB3 aGVuIHRoZSB0ZXN0IGNhc2UgKnRlc3QqIHdhcyBtYXJrZWQgd2l0aCB0aGUNCi0gICAgICA6ZnVu YzpgZXhwZWN0ZWRGYWlsdXJlYCBkZWNvcmF0b3IsIGJ1dCBzdWNjZWVkZWQuDQorICAgICAgOmRl Y286YGV4cGVjdGVkRmFpbHVyZWAgZGVjb3JhdG9yLCBidXQgc3VjY2VlZGVkLg0KIA0KICAgICAg IFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGFwcGVuZHMgdGhlIHRlc3QgdG8gdGhlIGluc3Rh bmNlJ3MNCiAgICAgICA6YXR0cjpgdW5leHBlY3RlZFN1Y2Nlc3Nlc2AgYXR0cmlidXRlLg0KZGlm ZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvY29tcG91bmRfc3RtdHMucnN0IGIvRG9jL3JlZmVyZW5j ZS9jb21wb3VuZF9zdG10cy5yc3QNCmluZGV4IDViMmVjY2M1ODYxMjllZS4uYWZjNDBkMzYwOGNk OTFhIDEwMDY0NA0KLS0tIGEvRG9jL3JlZmVyZW5jZS9jb21wb3VuZF9zdG10cy5yc3QNCisrKyBi L0RvYy9yZWZlcmVuY2UvY29tcG91bmRfc3RtdHMucnN0DQpAQCAtMTg5NCw3ICsxODk0LDcgQEAg QW5ub3RhdGlvbnMgYXJlIGNvbnZlbnRpb25hbGx5IHVzZWQgZm9yIDp0ZXJtOmB0eXBlIGhpbnRz IDx0eXBlIGhpbnQ+YCwgYnV0IHRoaXMNCiBpcyBub3QgZW5mb3JjZWQgYnkgdGhlIGxhbmd1YWdl LCBhbmQgaW4gZ2VuZXJhbCBhbm5vdGF0aW9ucyBtYXkgY29udGFpbiBhcmJpdHJhcnkNCiBleHBy ZXNzaW9ucy4gVGhlIHByZXNlbmNlIG9mIGFubm90YXRpb25zIGRvZXMgbm90IGNoYW5nZSB0aGUg cnVudGltZSBzZW1hbnRpY3Mgb2YNCiB0aGUgY29kZSwgZXhjZXB0IGlmIHNvbWUgbWVjaGFuaXNt IGlzIHVzZWQgdGhhdCBpbnRyb3NwZWN0cyBhbmQgdXNlcyB0aGUgYW5ub3RhdGlvbnMNCi0oc3Vj aCBhcyA6bW9kOmBkYXRhY2xhc3Nlc2Agb3IgOmZ1bmM6YGZ1bmN0b29scy5zaW5nbGVkaXNwYXRj aGApLg0KKyhzdWNoIGFzIDptb2Q6YGRhdGFjbGFzc2VzYCBvciA6ZGVjbzpgZnVuY3Rvb2xzLnNp bmdsZWRpc3BhdGNoYCkuDQogDQogQnkgZGVmYXVsdCwgYW5ub3RhdGlvbnMgYXJlIGxhemlseSBl dmFsdWF0ZWQgaW4gYW4gOnJlZjpgYW5ub3RhdGlvbiBzY29wZSA8YW5ub3RhdGlvbi1zY29wZXM+ YC4NCiBUaGlzIG1lYW5zIHRoYXQgdGhleSBhcmUgbm90IGV2YWx1YXRlZCB3aGVuIHRoZSBjb2Rl IGNvbnRhaW5pbmcgdGhlIGFubm90YXRpb24gaXMgZXZhbHVhdGVkLg0KZGlmZiAtLWdpdCBhL0Rv Yy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdCBiL0RvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdA0K aW5kZXggNjZkZDBhMjU5YTYzN2FkLi5lYzJiZDI1ZDViMGRkMzkgMTAwNjQ0DQotLS0gYS9Eb2Mv cmVmZXJlbmNlL2RhdGFtb2RlbC5yc3QNCisrKyBiL0RvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJz dA0KQEAgLTIxODcsNyArMjE4Nyw3IEBAIEJhc2ljIGN1c3RvbWl6YXRpb24NCiAgICA6ZGF0YTpg IU5vdEltcGxlbWVudGVkYC4gIFRoZXJlIGFyZSBubyBvdGhlciBpbXBsaWVkIHJlbGF0aW9uc2hp cHMgYW1vbmcgdGhlDQogICAgY29tcGFyaXNvbiBvcGVyYXRvcnMgb3IgZGVmYXVsdCBpbXBsZW1l bnRhdGlvbnM7IGZvciBleGFtcGxlLCB0aGUgdHJ1dGggb2YNCiAgICBgYCh4PHkgb3IgeD09eSlg YCBkb2VzIG5vdCBpbXBseSBgYHg8PXlgYC4gVG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBvcmRl cmluZw0KLSAgIG9wZXJhdGlvbnMgZnJvbSBhIHNpbmdsZSByb290IG9wZXJhdGlvbiwgc2VlIDpm dW5jOmBmdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgLg0KKyAgIG9wZXJhdGlvbnMgZnJvbSBhIHNp bmdsZSByb290IG9wZXJhdGlvbiwgc2VlIDpkZWNvOmBmdW5jdG9vbHMudG90YWxfb3JkZXJpbmdg Lg0KIA0KICAgIEJ5IGRlZmF1bHQsIHRoZSA6Y2xhc3M6YG9iamVjdGAgY2xhc3MgcHJvdmlkZXMg aW1wbGVtZW50YXRpb25zIGNvbnNpc3RlbnQNCiAgICB3aXRoIDpyZWY6YGV4cHJlc3Npb25zLXZh bHVlLWNvbXBhcmlzb25zYDogZXF1YWxpdHkgY29tcGFyZXMgYWNjb3JkaW5nIHRvDQpAQCAtMjYx MSw3ICsyNjExLDcgQEAgaW1wbGVtZW50ZWQgYXMgbm9uLWRhdGEgZGVzY3JpcHRvcnMuICBBY2Nv cmRpbmdseSwgaW5zdGFuY2VzIGNhbiByZWRlZmluZSBhbmQNCiBvdmVycmlkZSBtZXRob2RzLiAg VGhpcyBhbGxvd3MgaW5kaXZpZHVhbCBpbnN0YW5jZXMgdG8gYWNxdWlyZSBiZWhhdmlvcnMgdGhh dA0KIGRpZmZlciBmcm9tIG90aGVyIGluc3RhbmNlcyBvZiB0aGUgc2FtZSBjbGFzcy4NCiANCi1U aGUgOmZ1bmM6YHByb3BlcnR5YCBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCBhcyBhIGRhdGEgZGVz Y3JpcHRvci4gQWNjb3JkaW5nbHksDQorVGhlIDpkZWNvOmBwcm9wZXJ0eWAgZGVjb3JhdG9yIGlz IGltcGxlbWVudGVkIGFzIGEgZGF0YSBkZXNjcmlwdG9yLiBBY2NvcmRpbmdseSwNCiBpbnN0YW5j ZXMgY2Fubm90IG92ZXJyaWRlIHRoZSBiZWhhdmlvciBvZiBhIHByb3BlcnR5Lg0KIA0KIA0KZGlm ZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvZXhwcmVzc2lvbnMucnN0IGIvRG9jL3JlZmVyZW5jZS9l eHByZXNzaW9ucy5yc3QNCmluZGV4IDg3OTc4YWEzN2RlMGI5ZS4uNGNhMTY4NzUzNmQ0NmVmIDEw MDY0NA0KLS0tIGEvRG9jL3JlZmVyZW5jZS9leHByZXNzaW9ucy5yc3QNCisrKyBiL0RvYy9yZWZl cmVuY2UvZXhwcmVzc2lvbnMucnN0DQpAQCAtMTk5OSw3ICsxOTk5LDcgQEAgc29tZSBjb25zaXN0 ZW5jeSBydWxlcywgaWYgcG9zc2libGU6DQogDQogICBUaGUgbGFzdCB0d28gZXhwcmVzc2lvbnMg YXBwbHkgdG8gdG90YWxseSBvcmRlcmVkIGNvbGxlY3Rpb25zIChlLmcuIHRvDQogICBzZXF1ZW5j ZXMsIGJ1dCBub3QgdG8gc2V0cyBvciBtYXBwaW5ncykuIFNlZSBhbHNvIHRoZQ0KLSAgOmZ1bmM6 YH5mdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIGRlY29yYXRvci4NCisgIDpkZWNvOmB+ZnVuY3Rv b2xzLnRvdGFsX29yZGVyaW5nYCBkZWNvcmF0b3IuDQogDQogKiBUaGUgOmZ1bmM6YGhhc2hgIHJl c3VsdCBzaG91bGQgYmUgY29uc2lzdGVudCB3aXRoIGVxdWFsaXR5Lg0KICAgT2JqZWN0cyB0aGF0 IGFyZSBlcXVhbCBzaG91bGQgZWl0aGVyIGhhdmUgdGhlIHNhbWUgaGFzaCB2YWx1ZSwNCmRpZmYg LS1naXQgYS9Eb2MvcmVmZXJlbmNlL3NpbXBsZV9zdG10cy5yc3QgYi9Eb2MvcmVmZXJlbmNlL3Np bXBsZV9zdG10cy5yc3QNCmluZGV4IGM5OTBmODliZmMyZGEzZi4uZTQ2MmNjYTE0MjExZTlmIDEw MDY0NA0KLS0tIGEvRG9jL3JlZmVyZW5jZS9zaW1wbGVfc3RtdHMucnN0DQorKysgYi9Eb2MvcmVm ZXJlbmNlL3NpbXBsZV9zdG10cy5yc3QNCkBAIC0xODEsNyArMTgxLDcgQEAgQXNzaWdubWVudCBv ZiBhbiBvYmplY3QgdG8gYSBzaW5nbGUgdGFyZ2V0IGlzIHJlY3Vyc2l2ZWx5IGRlZmluZWQgYXMg Zm9sbG93cy4NCiAgICAgIGluc3QueCA9IGluc3QueCArIDEgICAjIHdyaXRlcyBpbnN0LnggYXMg NCBsZWF2aW5nIENscy54IGFzIDMNCiANCiAgIFRoaXMgZGVzY3JpcHRpb24gZG9lcyBub3QgbmVj ZXNzYXJpbHkgYXBwbHkgdG8gZGVzY3JpcHRvciBhdHRyaWJ1dGVzLCBzdWNoIGFzDQotICBwcm9w ZXJ0aWVzIGNyZWF0ZWQgd2l0aCA6ZnVuYzpgcHJvcGVydHlgLg0KKyAgcHJvcGVydGllcyBjcmVh dGVkIHdpdGggOmRlY286YHByb3BlcnR5YC4NCiANCiAgIC4uIGluZGV4OjoNCiAgICAgIHBhaXI6 IHN1YnNjcmlwdGlvbjsgYXNzaWdubWVudA0KZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy8yLjYu cnN0IGIvRG9jL3doYXRzbmV3LzIuNi5yc3QNCmluZGV4IDcxMDAyNzlkODQxMTc4OS4uODY0YzNj M2QyOWZiMDQxIDEwMDY0NA0KLS0tIGEvRG9jL3doYXRzbmV3LzIuNi5yc3QNCisrKyBiL0RvYy93 aGF0c25ldy8yLjYucnN0DQpAQCAtNDMxLDcgKzQzMSw3IEBAIFRoZSBjb250ZXh0bGliIG1vZHVs ZQ0KIFRoZSA6bW9kOmBjb250ZXh0bGliYCBtb2R1bGUgcHJvdmlkZXMgc29tZSBmdW5jdGlvbnMg YW5kIGEgZGVjb3JhdG9yIHRoYXQNCiBhcmUgdXNlZnVsIHdoZW4gd3JpdGluZyBvYmplY3RzIGZv ciB1c2Ugd2l0aCB0aGUgJzprZXl3b3JkOmB3aXRoYCcgc3RhdGVtZW50Lg0KIA0KLVRoZSBkZWNv cmF0b3IgaXMgY2FsbGVkIDpmdW5jOmB+Y29udGV4dGxpYi5jb250ZXh0bWFuYWdlcmAsIGFuZCBs ZXRzIHlvdSB3cml0ZQ0KK1RoZSBkZWNvcmF0b3IgaXMgY2FsbGVkIDpkZWNvOmB+Y29udGV4dGxp Yi5jb250ZXh0bWFuYWdlcmAsIGFuZCBsZXRzIHlvdSB3cml0ZQ0KIGEgc2luZ2xlIGdlbmVyYXRv ciBmdW5jdGlvbiBpbnN0ZWFkIG9mIGRlZmluaW5nIGEgbmV3IGNsYXNzLiAgVGhlIGdlbmVyYXRv cg0KIHNob3VsZCB5aWVsZCBleGFjdGx5IG9uZSB2YWx1ZS4gIFRoZSBjb2RlIHVwIHRvIHRoZSA6 a2V5d29yZDpgeWllbGRgIHdpbGwgYmUNCiBleGVjdXRlZCBhcyB0aGUgOm1ldGg6YH5vYmplY3Qu X19lbnRlcl9fYCBtZXRob2QsIGFuZCB0aGUgdmFsdWUgeWllbGRlZCB3aWxsDQpAQCAtMTU1Nyw4 ICsxNTU3LDkgQEAgU29tZSBzbWFsbGVyIGNoYW5nZXMgbWFkZSB0byB0aGUgY29yZSBQeXRob24g bGFuZ3VhZ2UgYXJlOg0KIA0KICAgLi4gUmV2aXNpb24gNTc2MTkNCiANCi0qIFByb3BlcnRpZXMg bm93IGhhdmUgdGhyZWUgYXR0cmlidXRlcywgOmF0dHI6YGdldHRlcmAsIDphdHRyOmBzZXR0ZXJg DQotICBhbmQgOmF0dHI6YGRlbGV0ZXJgLCB0aGF0IGFyZSBkZWNvcmF0b3JzIHByb3ZpZGluZyB1 c2VmdWwgc2hvcnRjdXRzDQorKiBQcm9wZXJ0aWVzIG5vdyBoYXZlIHRocmVlIGRlY29yYXRvcnMs IDpkZWNvOmB+cHJvcGVydHkuZ2V0dGVyYCwNCisgIDpkZWNvOmB+cHJvcGVydHkuc2V0dGVyYCBh bmQgOmRlY286YH5wcm9wZXJ0eS5kZWxldGVyYCwgdGhhdCBhcmUNCisgIGRlY29yYXRvcnMgcHJv dmlkaW5nIHVzZWZ1bCBzaG9ydGN1dHMNCiAgIGZvciBhZGRpbmcgYSBnZXR0ZXIsIHNldHRlciBv ciBkZWxldGVyIGZ1bmN0aW9uIHRvIGFuIGV4aXN0aW5nDQogICBwcm9wZXJ0eS4gWW91IHdvdWxk IHVzZSB0aGVtIGxpa2UgdGhpczo6DQogDQpkaWZmIC0tZ2l0IGEvRG9jL3doYXRzbmV3LzIuNy5y c3QgYi9Eb2Mvd2hhdHNuZXcvMi43LnJzdA0KaW5kZXggNzI5NjI5NmQxNDQ4MDNkLi5kZTkwYzM3 YTM4ZDM4ZmYgMTAwNjQ0DQotLS0gYS9Eb2Mvd2hhdHNuZXcvMi43LnJzdA0KKysrIGIvRG9jL3do YXRzbmV3LzIuNy5yc3QNCkBAIC0xMjY3LDcgKzEyNjcsNyBAQCBjaGFuZ2VzLCBvciBsb29rIHRo cm91Z2ggdGhlIFN1YnZlcnNpb24gbG9ncyBmb3IgYWxsIHRoZSBkZXRhaWxzLg0KICAgdXBsb2Fk cyB0aGFua3MgdG8gYW4gYWRkZWQgKnJlc3QqIHBhcmFtZXRlciAocGF0Y2ggYnkgUGFibG8gTW91 em87DQogICA6aXNzdWU6YDY4NDVgLikNCiANCi0qIE5ldyBjbGFzcyBkZWNvcmF0b3I6IDpmdW5j OmB+ZnVuY3Rvb2xzLnRvdGFsX29yZGVyaW5nYCBpbiB0aGUgOm1vZDpgZnVuY3Rvb2xzYA0KKyog TmV3IGNsYXNzIGRlY29yYXRvcjogOmRlY286YH5mdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIGlu IHRoZSA6bW9kOmBmdW5jdG9vbHNgDQogICBtb2R1bGUgdGFrZXMgYSBjbGFzcyB0aGF0IGRlZmlu ZXMgYW4gOm1ldGg6YH5vYmplY3QuX19lcV9fYCBtZXRob2QgYW5kIG9uZSBvZg0KICAgOm1ldGg6 YH5vYmplY3QuX19sdF9fYCwgOm1ldGg6YH5vYmplY3QuX19sZV9fYCwgOm1ldGg6YH5vYmplY3Qu X19ndF9fYCwgb3IgOm1ldGg6YH5vYmplY3QuX19nZV9fYCwNCiAgIGFuZCBnZW5lcmF0ZXMgdGhl IG1pc3NpbmcgY29tcGFyaXNvbiBtZXRob2RzLiAgU2luY2UgdGhlDQpkaWZmIC0tZ2l0IGEvRG9j L3doYXRzbmV3LzMuMTAucnN0IGIvRG9jL3doYXRzbmV3LzMuMTAucnN0DQppbmRleCBkMDQ0OTQ0 NGYwN2UxZDUuLjU0MjJiOWQ5OWI0OTM3OCAxMDA2NDQNCi0tLSBhL0RvYy93aGF0c25ldy8zLjEw LnJzdA0KKysrIGIvRG9jL3doYXRzbmV3LzMuMTAucnN0DQpAQCAtOTk2LDcgKzk5Niw3IEBAIGRh dGFjbGFzc2VzDQogX19zbG90c19fDQogfn5+fn5+fn5+DQogDQotQWRkZWQgYGBzbG90c2BgIHBh cmFtZXRlciBpbiA6ZnVuYzpgZGF0YWNsYXNzZXMuZGF0YWNsYXNzYCBkZWNvcmF0b3IuDQorQWRk ZWQgYGBzbG90c2BgIHBhcmFtZXRlciBpbiA6ZGVjbzpgZGF0YWNsYXNzZXMuZGF0YWNsYXNzYCBk ZWNvcmF0b3IuDQogKENvbnRyaWJ1dGVkIGJ5IFl1cmlpIEthcmFiYXMgaW4gOmlzc3VlOmA0MjI2 OWApDQogDQogS2V5d29yZC1vbmx5IGZpZWxkcw0KQEAgLTE0ODUsOSArMTQ4NSw5IEBAIGlzIGEg OmNsYXNzOmB0eXBpbmcuVHlwZWREaWN0YC4NCiANCiBTdWJjbGFzc2VzIG9mIGBgdHlwaW5nLlBy b3RvY29sYGAgd2hpY2ggb25seSBoYXZlIGRhdGEgdmFyaWFibGVzIGRlY2xhcmVkDQogd2lsbCBu b3cgcmFpc2UgYSBgYFR5cGVFcnJvcmBgIHdoZW4gY2hlY2tlZCB3aXRoIGBgaXNpbnN0YW5jZWBg IHVubGVzcyB0aGV5DQotYXJlIGRlY29yYXRlZCB3aXRoIDpmdW5jOmB+dHlwaW5nLnJ1bnRpbWVf Y2hlY2thYmxlYC4gIFByZXZpb3VzbHksIHRoZXNlIGNoZWNrcw0KK2FyZSBkZWNvcmF0ZWQgd2l0 aCA6ZGVjbzpgfnR5cGluZy5ydW50aW1lX2NoZWNrYWJsZWAuICBQcmV2aW91c2x5LCB0aGVzZSBj aGVja3MNCiBwYXNzZWQgc2lsZW50bHkuICBVc2VycyBzaG91bGQgZGVjb3JhdGUgdGhlaXINCi1z dWJjbGFzc2VzIHdpdGggdGhlIDpmdW5jOmAhcnVudGltZV9jaGVja2FibGVgIGRlY29yYXRvcg0K K3N1YmNsYXNzZXMgd2l0aCB0aGUgOmRlY286YCFydW50aW1lX2NoZWNrYWJsZWAgZGVjb3JhdG9y DQogaWYgdGhleSB3YW50IHJ1bnRpbWUgcHJvdG9jb2xzLg0KIChDb250cmlidXRlZCBieSBZdXJp aSBLYXJhYmFzIGluIDppc3N1ZTpgMzg5MDhgLikNCiANCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNu ZXcvMy4xMS5yc3QgYi9Eb2Mvd2hhdHNuZXcvMy4xMS5yc3QNCmluZGV4IDJkZDIwNWRkMmI4ODMx My4uM2RiZjgwNmZlNzU0ZjU3IDEwMDY0NA0KLS0tIGEvRG9jL3doYXRzbmV3LzMuMTEucnN0DQor KysgYi9Eb2Mvd2hhdHNuZXcvMy4xMS5yc3QNCkBAIC0zODgsNyArMzg4LDcgQEAgS3VtYXIgU3Jp bml2YXNhbiBhbmQgR3JhaGFtIEJsZWFuZXkuKQ0KIFBFUCA2ODE6IERhdGEgY2xhc3MgdHJhbnNm b3Jtcw0KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIA0KLTpkYXRhOmB+dHlwaW5n LmRhdGFjbGFzc190cmFuc2Zvcm1gIG1heSBiZSB1c2VkIHRvDQorOmRlY286YH50eXBpbmcuZGF0 YWNsYXNzX3RyYW5zZm9ybWAgbWF5IGJlIHVzZWQgdG8NCiBkZWNvcmF0ZSBhIGNsYXNzLCBtZXRh Y2xhc3MsIG9yIGEgZnVuY3Rpb24gdGhhdCBpcyBpdHNlbGYgYSBkZWNvcmF0b3IuDQogVGhlIHBy ZXNlbmNlIG9mIGBgQGRhdGFjbGFzc190cmFuc2Zvcm0oKWBgIHRlbGxzIGEgc3RhdGljIHR5cGUg Y2hlY2tlciB0aGF0IHRoZQ0KIGRlY29yYXRlZCBvYmplY3QgcGVyZm9ybXMgcnVudGltZSAibWFn aWMiIHRoYXQgdHJhbnNmb3JtcyBhIGNsYXNzLA0KQEAgLTY4Niw4ICs2ODYsOCBAQCBlbnVtDQog KiBBZGRlZCB0aGUgOmZ1bmM6YH5lbnVtLm1lbWJlcmAgYW5kIDpmdW5jOmB+ZW51bS5ub25tZW1i ZXJgIGRlY29yYXRvcnMsDQogICB0byBlbnN1cmUgdGhlIGRlY29yYXRlZCBvYmplY3QgaXMvaXMg bm90IGNvbnZlcnRlZCB0byBhbiBlbnVtIG1lbWJlci4NCiANCi0qIEFkZGVkIHRoZSA6ZnVuYzpg fmVudW0ucHJvcGVydHlgIGRlY29yYXRvciwNCi0gIHdoaWNoIHdvcmtzIGxpa2UgOmZ1bmM6YHBy b3BlcnR5YCBleGNlcHQgZm9yIGVudW1zLg0KKyogQWRkZWQgdGhlIDpkZWNvOmB+ZW51bS5wcm9w ZXJ0eWAgZGVjb3JhdG9yLA0KKyAgd2hpY2ggd29ya3MgbGlrZSA6ZGVjbzpgcHJvcGVydHlgIGV4 Y2VwdCBmb3IgZW51bXMuDQogICBVc2UgdGhpcyBpbnN0ZWFkIG9mIDpmdW5jOmB0eXBlcy5EeW5h bWljQ2xhc3NBdHRyaWJ1dGVgLg0KIA0KICogQWRkZWQgdGhlIDpmdW5jOmB+ZW51bS5nbG9iYWxf ZW51bWAgZW51bSBkZWNvcmF0b3IsDQpAQCAtNzQwLDcgKzc0MCw3IEBAIGZyYWN0aW9ucw0KIGZ1 bmN0b29scw0KIC0tLS0tLS0tLQ0KIA0KLSogOmZ1bmM6YGZ1bmN0b29scy5zaW5nbGVkaXNwYXRj aGAgbm93IHN1cHBvcnRzIDpjbGFzczpgdHlwZXMuVW5pb25UeXBlYA0KKyogOmRlY286YGZ1bmN0 b29scy5zaW5nbGVkaXNwYXRjaGAgbm93IHN1cHBvcnRzIDpjbGFzczpgdHlwZXMuVW5pb25UeXBl YA0KICAgYW5kIDpjbGFzczpgdHlwaW5nLlVuaW9uYCBhcyBhbm5vdGF0aW9ucyB0byB0aGUgZGlz cGF0Y2ggYXJndW1lbnQuOjoNCiANCiAgICAgPj4+IGZyb20gZnVuY3Rvb2xzIGltcG9ydCBzaW5n bGVkaXNwYXRjaA0KQEAgLTExNjQsNyArMTE2NCw3IEBAIEZvciBtYWpvciBjaGFuZ2VzLCBzZWUg OnJlZjpgbmV3LWZlYXQtcmVsYXRlZC10eXBlLWhpbnRzLTMxMWAuDQogICB0eXBlIGNoZWNrZXIg ZXJyb3JzIHJlbGF0ZWQgdG8gaGlnaGx5IGR5bmFtaWMgY2xhc3MsIHN1Y2ggYXMgbW9ja3MuDQog ICAoQ29udHJpYnV0ZWQgYnkgU2hhbnRhbnUgSmFpbiBpbiA6Z2g6YDkxMTU0YC4pDQogDQotKiBU aGUgOmZ1bmM6YHR5cGluZy5maW5hbGAgZGVjb3JhdG9yIG5vdyBzZXRzIHRoZSBgYF9fZmluYWxf X2BgIGF0dHJpYnV0ZWQgb24NCisqIFRoZSA6ZGVjbzpgdHlwaW5nLmZpbmFsYCBkZWNvcmF0b3Ig bm93IHNldHMgdGhlIGBgX19maW5hbF9fYGAgYXR0cmlidXRlZCBvbg0KICAgdGhlIGRlY29yYXRl ZCBvYmplY3QuDQogICAoQ29udHJpYnV0ZWQgYnkgSmVsbGUgWmlqbHN0cmEgaW4gOmdoOmA5MDUw MGAuKQ0KIA0KQEAgLTExOTcsNyArMTE5Nyw3IEBAIEZvciBtYWpvciBjaGFuZ2VzLCBzZWUgOnJl ZjpgbmV3LWZlYXQtcmVsYXRlZC10eXBlLWhpbnRzLTMxMWAuDQogICA6ZGF0YTpgfnR5cGluZy5D bGFzc1ZhcmAgYW5ub3RhdGlvbnMuIChDb250cmlidXRlZCBieSBHcmVnb3J5IEJlYXVyZWdhcmQN CiAgIGluIDpnaDpgOTA3MTFgLikNCiANCi0qIDpmdW5jOmB0eXBpbmcubm9fdHlwZV9jaGVja2Ag bm8gbG9uZ2VyIG1vZGlmaWVzIGV4dGVybmFsIGNsYXNzZXMgYW5kIGZ1bmN0aW9ucy4NCisqIDpk ZWNvOmB0eXBpbmcubm9fdHlwZV9jaGVja2Agbm8gbG9uZ2VyIG1vZGlmaWVzIGV4dGVybmFsIGNs YXNzZXMgYW5kIGZ1bmN0aW9ucy4NCiAgIEl0IGFsc28gbm93IGNvcnJlY3RseSBtYXJrcyBjbGFz c21ldGhvZHMgYXMgbm90IHRvIGJlIHR5cGUgY2hlY2tlZC4gKENvbnRyaWJ1dGVkDQogICBieSBO aWtpdGEgU29ib2xldiBpbiA6Z2g6YDkwNzI5YC4pDQogDQpkaWZmIC0tZ2l0IGEvRG9jL3doYXRz bmV3LzMuMTIucnN0IGIvRG9jL3doYXRzbmV3LzMuMTIucnN0DQppbmRleCAyYjY5MzljZDMyM2Rj ZjcuLjMxOTAzODc1MTI0NGQ1NyAxMDA2NDQNCi0tLSBhL0RvYy93aGF0c25ldy8zLjEyLnJzdA0K KysrIGIvRG9jL3doYXRzbmV3LzMuMTIucnN0DQpAQCAtMTQ2LDcgKzE0Niw3IEBAIE5ldyB0eXBp bmcgZmVhdHVyZXM6DQogDQogKiA6cmVmOmBQRVAgNjkyIDx3aGF0c25ldzMxMi1wZXA2OTI+YCwg dXNpbmcgOmNsYXNzOmB+dHlwaW5nLlR5cGVkRGljdGAgdG8NCiAgIGFubm90YXRlIDp0ZXJtOmAq Kmt3YXJncyA8YXJndW1lbnQ+YA0KLSogOnJlZjpgUEVQIDY5OCA8d2hhdHNuZXczMTItcGVwNjk4 PmAsIDpmdW5jOmB0eXBpbmcub3ZlcnJpZGVgIGRlY29yYXRvcg0KKyogOnJlZjpgUEVQIDY5OCA8 d2hhdHNuZXczMTItcGVwNjk4PmAsIDpkZWNvOmB0eXBpbmcub3ZlcnJpZGVgIGRlY29yYXRvcg0K IA0KIEltcG9ydGFudCBkZXByZWNhdGlvbnMsIHJlbW92YWxzIG9yIHJlc3RyaWN0aW9uczoNCiAN CkBAIC01MTEsNyArNTExLDcgQEAgU2VlIDpwZXA6YDY5MmAgZm9yIG1vcmUgZGV0YWlscy4NCiBQ RVAgNjk4OiBPdmVycmlkZSBEZWNvcmF0b3IgZm9yIFN0YXRpYyBUeXBpbmcNCiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiANCi1BIG5ldyBkZWNvcmF0b3Ig OmZ1bmM6YHR5cGluZy5vdmVycmlkZWAgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIDptb2Q6YHR5cGlu Z2ANCitBIG5ldyBkZWNvcmF0b3IgOmRlY286YHR5cGluZy5vdmVycmlkZWAgaGFzIGJlZW4gYWRk ZWQgdG8gdGhlIDptb2Q6YHR5cGluZ2ANCiBtb2R1bGUuIEl0IGluZGljYXRlcyB0byB0eXBlIGNo ZWNrZXJzIHRoYXQgdGhlIG1ldGhvZCBpcyBpbnRlbmRlZCB0byBvdmVycmlkZQ0KIGEgbWV0aG9k IGluIGEgc3VwZXJjbGFzcy4gVGhpcyBhbGxvd3MgdHlwZSBjaGVja2VycyB0byBjYXRjaCBtaXN0 YWtlcyB3aGVyZQ0KIGEgbWV0aG9kIHRoYXQgaXMgaW50ZW5kZWQgdG8gb3ZlcnJpZGUgc29tZXRo aW5nIGluIGEgYmFzZSBjbGFzcw0KQEAgLTEwMjEsNyArMTAyMSw3IEBAIHR5cGluZw0KICAgYGBf X29yaWdfYmFzZXNfX2BgIGF0dHJpYnV0ZS4gKENvbnRyaWJ1dGVkIGJ5IEFkcmlhbiBHYXJjaWEg QmFkYXJhY2NvIGluDQogICA6Z2g6YDEwMzY5OWAuKQ0KIA0KLSogQWRkIGBgZnJvemVuX2RlZmF1 bHRgYCBwYXJhbWV0ZXIgdG8gOmZ1bmM6YHR5cGluZy5kYXRhY2xhc3NfdHJhbnNmb3JtYC4NCisq IEFkZCBgYGZyb3plbl9kZWZhdWx0YGAgcGFyYW1ldGVyIHRvIDpkZWNvOmB0eXBpbmcuZGF0YWNs YXNzX3RyYW5zZm9ybWAuDQogICAoQ29udHJpYnV0ZWQgYnkgRXJpayBEZSBCb250ZSBpbiA6Z2g6 YDk5OTU3YC4pDQogDQogdW5pY29kZWRhdGENCkBAIC0xNzQzLDcgKzE3NDMsNyBAQCBDaGFuZ2Vz IGluIHRoZSBQeXRob24gQVBJDQogICBhcm91bmQgcHJvY2Vzcy1nbG9iYWwgcmVzb3VyY2VzLCB3 aGljaCBhcmUgYmVzdCBtYW5hZ2VkIGZyb20gdGhlIG1haW4gaW50ZXJwcmV0ZXIuDQogICAoQ29u dHJpYnV0ZWQgYnkgRG9uZ2hlZSBOYSBpbiA6Z2g6YDk5MTI3YC4pDQogDQotKiBUaGUgdW5kb2N1 bWVudGVkIGxvY2tpbmcgYmVoYXZpb3Igb2YgOmZ1bmM6YH5mdW5jdG9vbHMuY2FjaGVkX3Byb3Bl cnR5YA0KKyogVGhlIHVuZG9jdW1lbnRlZCBsb2NraW5nIGJlaGF2aW9yIG9mIDpkZWNvOmB+ZnVu Y3Rvb2xzLmNhY2hlZF9wcm9wZXJ0eWANCiAgIGlzIHJlbW92ZWQsIGJlY2F1c2UgaXQgbG9ja2Vk IGFjcm9zcyBhbGwgaW5zdGFuY2VzIG9mIHRoZSBjbGFzcywgbGVhZGluZyB0byBoaWdoDQogICBs b2NrIGNvbnRlbnRpb24uIFRoaXMgbWVhbnMgdGhhdCBhIGNhY2hlZCBwcm9wZXJ0eSBnZXR0ZXIg ZnVuY3Rpb24gY291bGQgbm93IHJ1bg0KICAgbW9yZSB0aGFuIG9uY2UgZm9yIGEgc2luZ2xlIGlu c3RhbmNlLCBpZiB0d28gdGhyZWFkcyByYWNlLiBGb3IgbW9zdCBzaW1wbGUNCmRpZmYgLS1naXQg YS9Eb2Mvd2hhdHNuZXcvMy4xMy5yc3QgYi9Eb2Mvd2hhdHNuZXcvMy4xMy5yc3QNCmluZGV4IGJm NjRmNDIyMWQ1ZGUzNS4uNjU0NGFhZDAxYjdjZWM1IDEwMDY0NA0KLS0tIGEvRG9jL3doYXRzbmV3 LzMuMTMucnN0DQorKysgYi9Eb2Mvd2hhdHNuZXcvMy4xMy5yc3QNCkBAIC0xOTk0LDcgKzE5OTQs NyBAQCBOZXcgRGVwcmVjYXRpb25zDQogICAgIHVzZSBgYGNsYXNzIFREKFR5cGVkRGljdCk6IHBh c3NgYCBvciBgYFREID0gVHlwZWREaWN0KCJURCIsIHt9KWBgLg0KICAgICAoQ29udHJpYnV0ZWQg YnkgQWxleCBXYXlnb29kIGluIDpnaDpgMTA1NTY2YCBhbmQgOmdoOmAxMDU1NzBgLikNCiANCi0g ICogRGVwcmVjYXRlIHRoZSA6ZnVuYzpgdHlwaW5nLm5vX3R5cGVfY2hlY2tfZGVjb3JhdG9yYCBk ZWNvcmF0b3IgZnVuY3Rpb24sDQorICAqIERlcHJlY2F0ZSB0aGUgOmRlY286YHR5cGluZy5ub190 eXBlX2NoZWNrX2RlY29yYXRvcmAgZGVjb3JhdG9yIGZ1bmN0aW9uLA0KICAgICB0byBiZSByZW1v dmVkIGluIFB5dGhvbiAzLjE1Lg0KICAgICBBZnRlciBlaWdodCB5ZWFycyBpbiB0aGUgOm1vZDpg dHlwaW5nYCBtb2R1bGUsDQogICAgIGl0IGhhcyB5ZXQgdG8gYmUgc3VwcG9ydGVkIGJ5IGFueSBt YWpvciB0eXBlIGNoZWNrZXIuDQpkaWZmIC0tZ2l0IGEvRG9jL3doYXRzbmV3LzMuMi5yc3QgYi9E b2Mvd2hhdHNuZXcvMy4yLnJzdA0KaW5kZXggMjE5MWIyMzEwMTQyZjI0Li5iYjI2MGM0MTljNTg4 YjAgMTAwNjQ0DQotLS0gYS9Eb2Mvd2hhdHNuZXcvMy4yLnJzdA0KKysrIGIvRG9jL3doYXRzbmV3 LzMuMi5yc3QNCkBAIC03NTYsNyArNzU2LDcgQEAgZnVuY3Rvb2xzDQogLS0tLS0tLS0tDQogDQog KiBUaGUgOm1vZDpgZnVuY3Rvb2xzYCBtb2R1bGUgaW5jbHVkZXMgYSBuZXcgZGVjb3JhdG9yIGZv ciBjYWNoaW5nIGZ1bmN0aW9uDQotICBjYWxscy4gIDpmdW5jOmBmdW5jdG9vbHMubHJ1X2NhY2hl YCBjYW4gc2F2ZSByZXBlYXRlZCBxdWVyaWVzIHRvIGFuIGV4dGVybmFsDQorICBjYWxscy4gIDpk ZWNvOmBmdW5jdG9vbHMubHJ1X2NhY2hlYCBjYW4gc2F2ZSByZXBlYXRlZCBxdWVyaWVzIHRvIGFu IGV4dGVybmFsDQogICByZXNvdXJjZSB3aGVuZXZlciB0aGUgcmVzdWx0cyBhcmUgZXhwZWN0ZWQg dG8gYmUgdGhlIHNhbWUuDQogDQogICBGb3IgZXhhbXBsZSwgYWRkaW5nIGEgY2FjaGluZyBkZWNv cmF0b3IgdG8gYSBkYXRhYmFzZSBxdWVyeSBmdW5jdGlvbiBjYW4gc2F2ZQ0KQEAgLTc4OSw3ICs3 ODksNyBAQCBmdW5jdG9vbHMNCiAgIDxodHRwczovL2NvZGUuYWN0aXZlc3RhdGUuY29tL3JlY2lw ZXMvNTc3NDc5LXNpbXBsZS1jYWNoaW5nLWRlY29yYXRvci8+YF9cLCA6aXNzdWU6YDEwNTg2YCwg YW5kDQogICA6aXNzdWU6YDEwNTkzYC4pDQogDQotKiBUaGUgOmZ1bmM6YGZ1bmN0b29scy53cmFw c2AgZGVjb3JhdG9yIG5vdyBhZGRzIGEgOmF0dHI6YF9fd3JhcHBlZF9fYCBhdHRyaWJ1dGUNCisq IFRoZSA6ZGVjbzpgZnVuY3Rvb2xzLndyYXBzYCBkZWNvcmF0b3Igbm93IGFkZHMgYSA6YXR0cjpg X193cmFwcGVkX19gIGF0dHJpYnV0ZQ0KICAgcG9pbnRpbmcgdG8gdGhlIG9yaWdpbmFsIGNhbGxh YmxlIGZ1bmN0aW9uLiAgVGhpcyBhbGxvd3Mgd3JhcHBlZCBmdW5jdGlvbnMgdG8NCiAgIGJlIGlu dHJvc3BlY3RlZC4gIEl0IGFsc28gY29waWVzIDphdHRyOmB+ZnVuY3Rpb24uX19hbm5vdGF0aW9u c19fYCBpZg0KICAgZGVmaW5lZC4gIEFuZCBub3cgaXQgYWxzbyBncmFjZWZ1bGx5IHNraXBzIG92 ZXIgbWlzc2luZyBhdHRyaWJ1dGVzIHN1Y2ggYXMNCkBAIC04MDUsMTEgKzgwNSwxMSBAQCBmdW5j dG9vbHMNCiAgIDppc3N1ZTpgODgxNGAuKQ0KIA0KICogVG8gaGVscCB3cml0ZSBjbGFzc2VzIHdp dGggcmljaCBjb21wYXJpc29uIG1ldGhvZHMsIGEgbmV3IGRlY29yYXRvcg0KLSAgOmZ1bmM6YGZ1 bmN0b29scy50b3RhbF9vcmRlcmluZ2Agd2lsbCB1c2UgZXhpc3RpbmcgZXF1YWxpdHkgYW5kIGlu ZXF1YWxpdHkNCisgIDpkZWNvOmBmdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIHdpbGwgdXNlIGV4 aXN0aW5nIGVxdWFsaXR5IGFuZCBpbmVxdWFsaXR5DQogICBtZXRob2RzIHRvIGZpbGwgaW4gdGhl IHJlbWFpbmluZyBtZXRob2RzLg0KIA0KICAgRm9yIGV4YW1wbGUsIHN1cHBseWluZyAqX19lcV9f KiBhbmQgKl9fbHRfXyogd2lsbCBlbmFibGUNCi0gIDpmdW5jOmB+ZnVuY3Rvb2xzLnRvdGFsX29y ZGVyaW5nYCB0byBmaWxsLWluICpfX2xlX18qLCAqX19ndF9fKiBhbmQgKl9fZ2VfXyo6Og0KKyAg OmRlY286YH5mdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIHRvIGZpbGwtaW4gKl9fbGVfXyosICpf X2d0X18qIGFuZCAqX19nZV9fKjo6DQogDQogICAgIEB0b3RhbF9vcmRlcmluZw0KICAgICBjbGFz cyBTdHVkZW50Og0KQEAgLTEwOTcsMTEgKzEwOTcsMTEgQEAgbG9nYXJpdGhtIG9mIHRoZSBnYW1t YSBmdW5jdGlvbjoNCiBhYmMNCiAtLS0NCiANCi1UaGUgOm1vZDpgYWJjYCBtb2R1bGUgbm93IHN1 cHBvcnRzIDpmdW5jOmB+YWJjLmFic3RyYWN0Y2xhc3NtZXRob2RgIGFuZA0KLTpmdW5jOmB+YWJj LmFic3RyYWN0c3RhdGljbWV0aG9kYC4NCitUaGUgOm1vZDpgYWJjYCBtb2R1bGUgbm93IHN1cHBv cnRzIDpkZWNvOmB+YWJjLmFic3RyYWN0Y2xhc3NtZXRob2RgIGFuZA0KKzpkZWNvOmB+YWJjLmFi c3RyYWN0c3RhdGljbWV0aG9kYC4NCiANCiBUaGVzZSB0b29scyBtYWtlIGl0IHBvc3NpYmxlIHRv IGRlZmluZSBhbiA6dGVybTpgYWJzdHJhY3QgYmFzZSBjbGFzc2AgdGhhdA0KLXJlcXVpcmVzIGEg cGFydGljdWxhciA6ZnVuYzpgY2xhc3NtZXRob2RgIG9yIDpmdW5jOmBzdGF0aWNtZXRob2RgIHRv IGJlDQorcmVxdWlyZXMgYSBwYXJ0aWN1bGFyIDpkZWNvOmBjbGFzc21ldGhvZGAgb3IgOmRlY286 YHN0YXRpY21ldGhvZGAgdG8gYmUNCiBpbXBsZW1lbnRlZDo6DQogDQogICAgIGNsYXNzIFRlbXBl cmF0dXJlKG1ldGFjbGFzcz1hYmMuQUJDTWV0YSk6DQpAQCAtMTE1NSw3ICsxMTU1LDcgQEAgc2Vs Zi1yZWZlcmVuY2UgYnkgZGlzcGxheWluZyAiLi4uIiBpbiB0aGUgcmVjdXJzaXZlIHBhcnQgb2Yg dGhlIHJlcHJlc2VudGF0aW9uDQogc3RyaW5nLg0KIA0KIFRvIGhlbHAgd3JpdGUgc3VjaCA6bWV0 aDpgfm9iamVjdC5fX3JlcHJfX2AgbWV0aG9kcywgdGhlIDptb2Q6YHJlcHJsaWJgIG1vZHVsZSBo YXMgYSBuZXcNCi1kZWNvcmF0b3IsIDpmdW5jOmB+cmVwcmxpYi5yZWN1cnNpdmVfcmVwcmAsIGZv ciBkZXRlY3RpbmcgcmVjdXJzaXZlIGNhbGxzIHRvDQorZGVjb3JhdG9yLCA6ZGVjbzpgfnJlcHJs aWIucmVjdXJzaXZlX3JlcHJgLCBmb3IgZGV0ZWN0aW5nIHJlY3Vyc2l2ZSBjYWxscyB0bw0KIDpt ZXRoOmAhX19yZXByX19gIGFuZCBzdWJzdGl0dXRpbmcgYSBwbGFjZWhvbGRlciBzdHJpbmcgaW5z dGVhZDo6DQogDQogICAgICAgICA+Pj4gY2xhc3MgTXlMaXN0KGxpc3QpOg0KQEAgLTEyNDEsNyAr MTI0MSw3IEBAIFRoZXJlIGlzIGEgbmV3IGFuZCBzbGlnaHRseSBtaW5kLWJsb3dpbmcgdG9vbA0K IDp0ZXJtOmBjb250ZXh0IG1hbmFnZXJgIHRoYXQgZG9lcyBkb3VibGUgZHV0eSBhcyBhIGZ1bmN0 aW9uIGRlY29yYXRvci4NCiANCiBBcyBhIGNvbnZlbmllbmNlLCB0aGlzIG5ldyBmdW5jdGlvbmFs aXR5IGlzIHVzZWQgYnkNCi06ZnVuYzpgfmNvbnRleHRsaWIuY29udGV4dG1hbmFnZXJgIHNvIHRo YXQgbm8gZXh0cmEgZWZmb3J0IGlzIG5lZWRlZCB0byBzdXBwb3J0DQorOmRlY286YH5jb250ZXh0 bGliLmNvbnRleHRtYW5hZ2VyYCBzbyB0aGF0IG5vIGV4dHJhIGVmZm9ydCBpcyBuZWVkZWQgdG8g c3VwcG9ydA0KIGJvdGggcm9sZXMuDQogDQogVGhlIGJhc2ljIGlkZWEgaXMgdGhhdCBib3RoIGNv bnRleHQgbWFuYWdlcnMgYW5kIGZ1bmN0aW9uIGRlY29yYXRvcnMgY2FuIGJlIHVzZWQNCkBAIC0x MjUzLDcgKzEyNTMsNyBAQCB3cml0ZSBhIHByZS1hY3Rpb24gb3IgcG9zdC1hY3Rpb24gd3JhcHBl ciB0aGF0IGNhbiBiZSB1c2VkIGluIGVpdGhlciByb2xlLg0KIEZvciBleGFtcGxlLCBpdCBpcyBz b21ldGltZXMgdXNlZnVsIHRvIHdyYXAgZnVuY3Rpb25zIG9yIGdyb3VwcyBvZiBzdGF0ZW1lbnRz DQogd2l0aCBhIGxvZ2dlciB0aGF0IGNhbiB0cmFjayB0aGUgdGltZSBvZiBlbnRyeSBhbmQgdGlt ZSBvZiBleGl0LiAgUmF0aGVyIHRoYW4NCiB3cml0aW5nIGJvdGggYSBmdW5jdGlvbiBkZWNvcmF0 b3IgYW5kIGEgY29udGV4dCBtYW5hZ2VyIGZvciB0aGUgdGFzaywgdGhlDQotOmZ1bmM6YH5jb250 ZXh0bGliLmNvbnRleHRtYW5hZ2VyYCBwcm92aWRlcyBib3RoIGNhcGFiaWxpdGllcyBpbiBhIHNp bmdsZQ0KKzpkZWNvOmB+Y29udGV4dGxpYi5jb250ZXh0bWFuYWdlcmAgcHJvdmlkZXMgYm90aCBj YXBhYmlsaXRpZXMgaW4gYSBzaW5nbGUNCiBkZWZpbml0aW9uOjoNCiANCiAgICAgZnJvbSBjb250 ZXh0bGliIGltcG9ydCBjb250ZXh0bWFuYWdlcg0KZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy8z LjMucnN0IGIvRG9jL3doYXRzbmV3LzMuMy5yc3QNCmluZGV4IDg3ZmIzZjU0ZTY4N2I1Mi4uNjQw YmM4MDk1MjRjNDkyIDEwMDY0NA0KLS0tIGEvRG9jL3doYXRzbmV3LzMuMy5yc3QNCisrKyBiL0Rv Yy93aGF0c25ldy8zLjMucnN0DQpAQCAtOTE5LDEyICs5MTksMTIgQEAgYWJzdHJhY3QgbWV0aG9k cy4gVGhlIHJlY29tbWVuZGVkIGFwcHJvYWNoIHRvIGRlY2xhcmluZyBhYnN0cmFjdCBkZXNjcmlw dG9ycyBpcw0KIG5vdyB0byBwcm92aWRlIDphdHRyOmAhX19pc2Fic3RyYWN0bWV0aG9kX19gIGFz IGEgZHluYW1pY2FsbHkgdXBkYXRlZA0KIHByb3BlcnR5LiBUaGUgYnVpbHQtaW4gZGVzY3JpcHRv cnMgaGF2ZSBiZWVuIHVwZGF0ZWQgYWNjb3JkaW5nbHkuDQogDQotKiA6Y2xhc3M6YGFiYy5hYnN0 cmFjdHByb3BlcnR5YCBoYXMgYmVlbiBkZXByZWNhdGVkLCB1c2UgOmNsYXNzOmBwcm9wZXJ0eWAN Ci0gIHdpdGggOmZ1bmM6YGFiYy5hYnN0cmFjdG1ldGhvZGAgaW5zdGVhZC4NCi0qIDpjbGFzczpg YWJjLmFic3RyYWN0Y2xhc3NtZXRob2RgIGhhcyBiZWVuIGRlcHJlY2F0ZWQsIHVzZQ0KLSAgOmNs YXNzOmBjbGFzc21ldGhvZGAgd2l0aCA6ZnVuYzpgYWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFk Lg0KLSogOmNsYXNzOmBhYmMuYWJzdHJhY3RzdGF0aWNtZXRob2RgIGhhcyBiZWVuIGRlcHJlY2F0 ZWQsIHVzZQ0KLSAgOmNsYXNzOmBzdGF0aWNtZXRob2RgIHdpdGggOmZ1bmM6YGFiYy5hYnN0cmFj dG1ldGhvZGAgaW5zdGVhZC4NCisqIDpkZWNvOmBhYmMuYWJzdHJhY3Rwcm9wZXJ0eWAgaGFzIGJl ZW4gZGVwcmVjYXRlZCwgdXNlIDpkZWNvOmBwcm9wZXJ0eWANCisgIHdpdGggOmRlY286YGFiYy5h YnN0cmFjdG1ldGhvZGAgaW5zdGVhZC4NCisqIDpkZWNvOmBhYmMuYWJzdHJhY3RjbGFzc21ldGhv ZGAgaGFzIGJlZW4gZGVwcmVjYXRlZCwgdXNlDQorICA6ZGVjbzpgY2xhc3NtZXRob2RgIHdpdGgg OmRlY286YGFiYy5hYnN0cmFjdG1ldGhvZGAgaW5zdGVhZC4NCisqIDpkZWNvOmBhYmMuYWJzdHJh Y3RzdGF0aWNtZXRob2RgIGhhcyBiZWVuIGRlcHJlY2F0ZWQsIHVzZQ0KKyAgOmRlY286YHN0YXRp Y21ldGhvZGAgd2l0aCA6ZGVjbzpgYWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFkLg0KIA0KIChD b250cmlidXRlZCBieSBEYXJyZW4gRGFsZSBpbiA6aXNzdWU6YDExNjEwYC4pDQogDQpAQCAtMTM5 MCw3ICsxMzkwLDcgQEAgZnRwbGliDQogZnVuY3Rvb2xzDQogLS0tLS0tLS0tDQogDQotVGhlIDpm dW5jOmBmdW5jdG9vbHMubHJ1X2NhY2hlYCBkZWNvcmF0b3Igbm93IGFjY2VwdHMgYSBgYHR5cGVk YGAga2V5d29yZA0KK1RoZSA6ZGVjbzpgZnVuY3Rvb2xzLmxydV9jYWNoZWAgZGVjb3JhdG9yIG5v dyBhY2NlcHRzIGEgYGB0eXBlZGBgIGtleXdvcmQNCiBhcmd1bWVudCAodGhhdCBkZWZhdWx0cyB0 byBgYEZhbHNlYGAgdG8gZW5zdXJlIHRoYXQgaXQgY2FjaGVzIHZhbHVlcyBvZg0KIGRpZmZlcmVu dCB0eXBlcyB0aGF0IGNvbXBhcmUgZXF1YWwgaW4gc2VwYXJhdGUgY2FjaGUgc2xvdHMuICAoQ29u dHJpYnV0ZWQNCiBieSBSYXltb25kIEhldHRpbmdlciBpbiA6aXNzdWU6YDEzMjI3YC4pDQpAQCAt MjI0NCwxMiArMjI0NCwxMiBAQCBEZXByZWNhdGVkIFB5dGhvbiBtb2R1bGVzLCBmdW5jdGlvbnMg YW5kIG1ldGhvZHMNCiAqIFRoZSA6ZnVuYzpgIW9zLnN0YXRfZmxvYXRfdGltZXNgIGZ1bmN0aW9u IGlzIGRlcHJlY2F0ZWQuDQogKiA6bW9kOmBhYmNgIG1vZHVsZToNCiANCi0gICogOmNsYXNzOmBh YmMuYWJzdHJhY3Rwcm9wZXJ0eWAgaGFzIGJlZW4gZGVwcmVjYXRlZCwgdXNlIDpjbGFzczpgcHJv cGVydHlgDQotICAgIHdpdGggOmZ1bmM6YGFiYy5hYnN0cmFjdG1ldGhvZGAgaW5zdGVhZC4NCi0g ICogOmNsYXNzOmBhYmMuYWJzdHJhY3RjbGFzc21ldGhvZGAgaGFzIGJlZW4gZGVwcmVjYXRlZCwg dXNlDQotICAgIDpjbGFzczpgY2xhc3NtZXRob2RgIHdpdGggOmZ1bmM6YGFiYy5hYnN0cmFjdG1l dGhvZGAgaW5zdGVhZC4NCi0gICogOmNsYXNzOmBhYmMuYWJzdHJhY3RzdGF0aWNtZXRob2RgIGhh cyBiZWVuIGRlcHJlY2F0ZWQsIHVzZQ0KLSAgICA6Y2xhc3M6YHN0YXRpY21ldGhvZGAgd2l0aCA6 ZnVuYzpgYWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFkLg0KKyAgKiA6ZGVjbzpgYWJjLmFic3Ry YWN0cHJvcGVydHlgIGhhcyBiZWVuIGRlcHJlY2F0ZWQsIHVzZSA6ZGVjbzpgcHJvcGVydHlgDQor ICAgIHdpdGggOmRlY286YGFiYy5hYnN0cmFjdG1ldGhvZGAgaW5zdGVhZC4NCisgICogOmRlY286 YGFiYy5hYnN0cmFjdGNsYXNzbWV0aG9kYCBoYXMgYmVlbiBkZXByZWNhdGVkLCB1c2UNCisgICAg OmRlY286YGNsYXNzbWV0aG9kYCB3aXRoIDpkZWNvOmBhYmMuYWJzdHJhY3RtZXRob2RgIGluc3Rl YWQuDQorICAqIDpkZWNvOmBhYmMuYWJzdHJhY3RzdGF0aWNtZXRob2RgIGhhcyBiZWVuIGRlcHJl Y2F0ZWQsIHVzZQ0KKyAgICA6ZGVjbzpgc3RhdGljbWV0aG9kYCB3aXRoIDpkZWNvOmBhYmMuYWJz dHJhY3RtZXRob2RgIGluc3RlYWQuDQogDQogKiA6bW9kOmBpbXBvcnRsaWJgIHBhY2thZ2U6DQog DQpkaWZmIC0tZ2l0IGEvRG9jL3doYXRzbmV3LzMuNC5yc3QgYi9Eb2Mvd2hhdHNuZXcvMy40LnJz dA0KaW5kZXggOWY0MDY4MTE2ZTM3MjZmLi5iNmU0OGMzNTM4MzEwYWUgMTAwNjQ0DQotLS0gYS9E b2Mvd2hhdHNuZXcvMy40LnJzdA0KKysrIGIvRG9jL3doYXRzbmV3LzMuNC5yc3QNCkBAIC04NTgs NyArODU4LDcgQEAgdG8gYmVoYXZlIGxpa2Ugbm9ybWFsIGluc3RhbmNlIG1ldGhvZHMgd2hlbiBp bmNsdWRlZCBpbiBhIGNsYXNzIGRlZmluaXRpb24uDQogDQogLi4gX3doYXRzbmV3LXNpbmdsZWRp c3BhdGNoOg0KIA0KLVRoZSBuZXcgOmZ1bmM6YH5mdW5jdG9vbHMuc2luZ2xlZGlzcGF0Y2hgIGRl Y29yYXRvciBicmluZ3Mgc3VwcG9ydCBmb3INCitUaGUgbmV3IDpkZWNvOmB+ZnVuY3Rvb2xzLnNp bmdsZWRpc3BhdGNoYCBkZWNvcmF0b3IgYnJpbmdzIHN1cHBvcnQgZm9yDQogc2luZ2xlLWRpc3Bh dGNoIGdlbmVyaWMgZnVuY3Rpb25zIHRvIHRoZSBQeXRob24gc3RhbmRhcmQgbGlicmFyeS4gV2hl cmUNCiBvYmplY3Qgb3JpZW50ZWQgcHJvZ3JhbW1pbmcgZm9jdXNlcyBvbiBncm91cGluZyBtdWx0 aXBsZSBvcGVyYXRpb25zIG9uIGENCiBjb21tb24gc2V0IG9mIGRhdGEgaW50byBhIGNsYXNzLCBh IGdlbmVyaWMgZnVuY3Rpb24gZm9jdXNlcyBvbiBncm91cGluZw0KQEAgLTg3MCw3ICs4NzAsNyBA QCBtdWx0aXBsZSBpbXBsZW1lbnRhdGlvbnMgb2YgYW4gb3BlcmF0aW9uIHRoYXQgYWxsb3dzIGl0 IHRvIHdvcmsgd2l0aA0KICAgIDpwZXA6YDQ0M2AgLS0gU2luZ2xlLWRpc3BhdGNoIGdlbmVyaWMg ZnVuY3Rpb25zDQogICAgICAgUEVQIHdyaXR0ZW4gYW5kIGltcGxlbWVudGVkIGJ5IMWBdWthc3og TGFuZ2EuDQogDQotOmZ1bmM6YH5mdW5jdG9vbHMudG90YWxfb3JkZXJpbmdgIG5vdyBzdXBwb3J0 cyBhIHJldHVybiB2YWx1ZSBvZg0KKzpkZWNvOmB+ZnVuY3Rvb2xzLnRvdGFsX29yZGVyaW5nYCBu b3cgc3VwcG9ydHMgYSByZXR1cm4gdmFsdWUgb2YNCiA6ZGF0YTpgTm90SW1wbGVtZW50ZWRgIGZy b20gdGhlIHVuZGVybHlpbmcgY29tcGFyaXNvbiBmdW5jdGlvbi4gIChDb250cmlidXRlZA0KIGJ5 IEthdGllIE1pbGxlciBpbiA6aXNzdWU6YDEwMDQyYC4pDQogDQpAQCAtMTAyOSw3ICsxMDI5LDcg QEAgaW5mb3JtYXRpb24gZm9yIG1vZHVsZXMsIGNsYXNzZXMgYW5kIGZ1bmN0aW9ucy4gIChDb250 cmlidXRlZCBieSBDbGF1ZGl1IFBvcGENCiBhbmQgTmljayBDb2dobGFuIGluIDppc3N1ZTpgMTg2 MjZgLikNCiANCiA6ZnVuYzpgfmluc3BlY3QudW53cmFwYCBtYWtlcyBpdCBlYXN5IHRvIHVucmF2 ZWwgd3JhcHBlciBmdW5jdGlvbiBjaGFpbnMNCi1jcmVhdGVkIGJ5IDpmdW5jOmBmdW5jdG9vbHMu d3JhcHNgIChhbmQgYW55IG90aGVyIEFQSSB0aGF0IHNldHMgdGhlDQorY3JlYXRlZCBieSA6ZGVj bzpgZnVuY3Rvb2xzLndyYXBzYCAoYW5kIGFueSBvdGhlciBBUEkgdGhhdCBzZXRzIHRoZQ0KIGBg X193cmFwcGVkX19gYCBhdHRyaWJ1dGUgb24gYSB3cmFwcGVyIGZ1bmN0aW9uKS4gIChDb250cmli dXRlZCBieQ0KIERhbmllbCBVcmJhbiwgQWFyb24gSWxlcyBhbmQgTmljayBDb2dobGFuIGluIDpp c3N1ZTpgMTMyNjZgLikNCiANCkBAIC0yMzE3LDcgKzIzMTcsNyBAQCBDaGFuZ2VzIGluIHRoZSBQ eXRob24gQVBJDQogICB3aXNoIHRvIGNvbnRpbnVlIHRvIGlnbm9yZSBzeW50YXggb3IgZGVjb2Rp bmcgaXNzdWVzLCBjYXRjaCBhbGwgdGhyZWUNCiAgIGV4Y2VwdGlvbnMgbm93Lg0KIA0KLSogOmZ1 bmM6YGZ1bmN0b29scy51cGRhdGVfd3JhcHBlcmAgYW5kIDpmdW5jOmBmdW5jdG9vbHMud3JhcHNg IG5vdyBjb3JyZWN0bHkNCisqIDpmdW5jOmBmdW5jdG9vbHMudXBkYXRlX3dyYXBwZXJgIGFuZCA6 ZGVjbzpgZnVuY3Rvb2xzLndyYXBzYCBub3cgY29ycmVjdGx5DQogICBzZXQgdGhlIGBgX193cmFw cGVkX19gYCBhdHRyaWJ1dGUgdG8gdGhlIGZ1bmN0aW9uIGJlaW5nIHdyYXBwZWQsIGV2ZW4gaWYN CiAgIHRoYXQgZnVuY3Rpb24gYWxzbyBoYWQgaXRzIGBgX193cmFwcGVkX19gYCBhdHRyaWJ1dGUg c2V0LiBUaGlzIG1lYW5zDQogICBgYF9fd3JhcHBlZF9fYGAgYXR0cmlidXRlcyBub3cgY29ycmVj dGx5IGxpbmsgYSBzdGFjayBvZiBkZWNvcmF0ZWQNCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcv My41LnJzdCBiL0RvYy93aGF0c25ldy8zLjUucnN0DQppbmRleCA2MDA5ZGQ4YTcxZWVhNTIuLjI0 YTJmZmJlZmQwY2ZiYSAxMDA2NDQNCi0tLSBhL0RvYy93aGF0c25ldy8zLjUucnN0DQorKysgYi9E b2Mvd2hhdHNuZXcvMy41LnJzdA0KQEAgLTEyMSw3ICsxMjEsNyBAQCBTaWduaWZpY2FudCBpbXBy b3ZlbWVudHMgaW4gdGhlIHN0YW5kYXJkIGxpYnJhcnk6DQogICA6cmVmOmBiZXR0ZXIgYW5kIHNp Z25pZmljYW50bHkgZmFzdGVyIHdheSA8d2hhdHNuZXctcGVwLTQ3MT5gDQogICBvZiBkaXJlY3Rv cnkgdHJhdmVyc2FsLg0KIA0KLSogOmZ1bmM6YGZ1bmN0b29scy5scnVfY2FjaGVgIGhhcyBiZWVu IG1vc3RseQ0KKyogOmRlY286YGZ1bmN0b29scy5scnVfY2FjaGVgIGhhcyBiZWVuIG1vc3RseQ0K ICAgOnJlZjpgcmVpbXBsZW1lbnRlZCBpbiBDIDx3aGF0c25ldy1scnVjYWNoZT5gLCB5aWVsZGlu ZyBtdWNoIGJldHRlcg0KICAgcGVyZm9ybWFuY2UuDQogDQpAQCAtMTE0OCw3ICsxMTQ4LDcgQEAg ZnVuY3Rvb2xzDQogDQogLi4gX3doYXRzbmV3LWxydWNhY2hlOg0KIA0KLU1vc3Qgb2YgdGhlIDpm dW5jOmB+ZnVuY3Rvb2xzLmxydV9jYWNoZWAgbWFjaGluZXJ5IGlzIG5vdyBpbXBsZW1lbnRlZCBp biBDLCBtYWtpbmcNCitNb3N0IG9mIHRoZSA6ZGVjbzpgfmZ1bmN0b29scy5scnVfY2FjaGVgIG1h Y2hpbmVyeSBpcyBub3cgaW1wbGVtZW50ZWQgaW4gQywgbWFraW5nDQogaXQgc2lnbmlmaWNhbnRs eSBmYXN0ZXIuICAoQ29udHJpYnV0ZWQgYnkgTWF0dCBKb2luZXIsIEFsZXhleSBLYWNoYXlldiwg YW5kDQogU2VyaGl5IFN0b3JjaGFrYSBpbiA6aXNzdWU6YDE0MzczYC4pDQogDQpAQCAtMjE1OCw3 ICsyMTU4LDcgQEAgaW1wcm92ZW1lbnQgaW4gc29tZSBiZW5jaG1hcmtzLg0KIE9iamVjdHMgZnJv bSB0aGUgOm1vZDpgcmFuZG9tYCBtb2R1bGUgbm93IHVzZSA1MCUgbGVzcyBtZW1vcnkgb24gNjQt Yml0DQogYnVpbGRzLiAgKENvbnRyaWJ1dGVkIGJ5IFNlcmhpeSBTdG9yY2hha2EgaW4gOmlzc3Vl OmAyMzQ4OGAuKQ0KIA0KLVRoZSA6ZnVuYzpgcHJvcGVydHlgIGdldHRlciBjYWxscyBhcmUgdXAg dG8gMjUlIGZhc3Rlci4NCitUaGUgOmRlY286YHByb3BlcnR5YCBnZXR0ZXIgY2FsbHMgYXJlIHVw IHRvIDI1JSBmYXN0ZXIuDQogKENvbnRyaWJ1dGVkIGJ5IEpvZSBKZXZuaWsgaW4gOmlzc3VlOmAy MzkxMGAuKQ0KIA0KIEluc3RhbnRpYXRpb24gb2YgOmNsYXNzOmBmcmFjdGlvbnMuRnJhY3Rpb25g IGlzIG5vdyB1cCB0byAzMCUgZmFzdGVyLg0KZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy8zLjcu cnN0IGIvRG9jL3doYXRzbmV3LzMuNy5yc3QNCmluZGV4IGRhZmMzNTFlYThiYmJiNS4uNTExNmJl NWFkYWNjMTc1IDEwMDY0NA0KLS0tIGEvRG9jL3doYXRzbmV3LzMuNy5yc3QNCisrKyBiL0RvYy93 aGF0c25ldy8zLjcucnN0DQpAQCAtNTcxLDcgKzU3MSw3IEBAIGRlY2ltYWwgb3BlcmF0aW9ucyB0 byB3b3JrIHdpdGggdGhlIGNvcnJlY3QgY29udGV4dCBpbiBhc3luY2hyb25vdXMgY29kZS4NCiBk YXRhY2xhc3Nlcw0KIC0tLS0tLS0tLS0tDQogDQotVGhlIG5ldyA6ZnVuYzpgfmRhdGFjbGFzc2Vz LmRhdGFjbGFzc2AgZGVjb3JhdG9yIHByb3ZpZGVzIGEgd2F5IHRvIGRlY2xhcmUNCitUaGUgbmV3 IDpkZWNvOmB+ZGF0YWNsYXNzZXMuZGF0YWNsYXNzYCBkZWNvcmF0b3IgcHJvdmlkZXMgYSB3YXkg dG8gZGVjbGFyZQ0KICpkYXRhIGNsYXNzZXMqLiAgQSBkYXRhIGNsYXNzIGRlc2NyaWJlcyBpdHMg YXR0cmlidXRlcyB1c2luZyBjbGFzcyB2YXJpYWJsZQ0KIGFubm90YXRpb25zLiAgSXRzIGNvbnN0 cnVjdG9yIGFuZCBvdGhlciBtYWdpYyBtZXRob2RzLCBzdWNoIGFzDQogOm1ldGg6YH5vYmplY3Qu X19yZXByX19gLCA6bWV0aDpgfm9iamVjdC5fX2VxX19gLCBhbmQNCkBAIC04MzAsNyArODMwLDcg QEAgVGhlIG5ldyA6ZnVuYzpgfmNvbnRleHRsaWIubnVsbGNvbnRleHRgIGlzIGEgc2ltcGxlciBh bmQgZmFzdGVyIG5vLW9wDQogY29udGV4dCBtYW5hZ2VyIHRoYW4gOmNsYXNzOmB+Y29udGV4dGxp Yi5FeGl0U3RhY2tgLg0KIChDb250cmlidXRlZCBieSBKZXNzZS1CYWtrZXIgaW4gOmlzc3VlOmAx MDA0OWAuKQ0KIA0KLVRoZSBuZXcgOmZ1bmM6YH5jb250ZXh0bGliLmFzeW5jY29udGV4dG1hbmFn ZXJgLA0KK1RoZSBuZXcgOmRlY286YH5jb250ZXh0bGliLmFzeW5jY29udGV4dG1hbmFnZXJgLA0K IDpjbGFzczpgfmNvbnRleHRsaWIuQWJzdHJhY3RBc3luY0NvbnRleHRNYW5hZ2VyYCwgYW5kDQog OmNsYXNzOmB+Y29udGV4dGxpYi5Bc3luY0V4aXRTdGFja2AgaGF2ZSBiZWVuIGFkZGVkIHRvDQog Y29tcGxlbWVudCB0aGVpciBzeW5jaHJvbm91cyBjb3VudGVycGFydHMuICAoQ29udHJpYnV0ZWQN CkBAIC05MjEsNyArOTIxLDcgQEAgcmV0dXJuIDpjb25zdDpgRmFsc2VgIGluc3RlYWQgYW5kIGFy ZSBkZXByZWNhdGVkLg0KIGZ1bmN0b29scw0KIC0tLS0tLS0tLQ0KIA0KLTpmdW5jOmBmdW5jdG9v bHMuc2luZ2xlZGlzcGF0Y2hgIG5vdyBzdXBwb3J0cyByZWdpc3RlcmluZyBpbXBsZW1lbnRhdGlv bnMNCis6ZGVjbzpgZnVuY3Rvb2xzLnNpbmdsZWRpc3BhdGNoYCBub3cgc3VwcG9ydHMgcmVnaXN0 ZXJpbmcgaW1wbGVtZW50YXRpb25zDQogdXNpbmcgdHlwZSBhbm5vdGF0aW9ucy4NCiAoQ29udHJp YnV0ZWQgYnkgxYF1a2FzeiBMYW5nYSBpbiA6aXNzdWU6YDMyMjI3YC4pDQogDQpkaWZmIC0tZ2l0 IGEvRG9jL3doYXRzbmV3LzMuOC5yc3QgYi9Eb2Mvd2hhdHNuZXcvMy44LnJzdA0KaW5kZXggZDEw NjJjMGE0MDJlODE2Li42NjNkNGM5YWYyZTZjMWUgMTAwNjQ0DQotLS0gYS9Eb2Mvd2hhdHNuZXcv My44LnJzdA0KKysrIGIvRG9jL3doYXRzbmV3LzMuOC5yc3QNCkBAIC03NjQsNyArNzY0LDcgQEAg dGhlc2UgYXJlIHRoZSBpbnZlcnNlIG9mIGVhY2ggY2xhc3MncyBgYGlzb2NhbGVuZGFyYGAgbWV0 aG9kLg0KIGZ1bmN0b29scw0KIC0tLS0tLS0tLQ0KIA0KLTpmdW5jOmBmdW5jdG9vbHMubHJ1X2Nh Y2hlYCBjYW4gbm93IGJlIHVzZWQgYXMgYSBzdHJhaWdodCBkZWNvcmF0b3IgcmF0aGVyDQorOmRl Y286YGZ1bmN0b29scy5scnVfY2FjaGVgIGNhbiBub3cgYmUgdXNlZCBhcyBhIHN0cmFpZ2h0IGRl Y29yYXRvciByYXRoZXINCiB0aGFuIGFzIGEgZnVuY3Rpb24gcmV0dXJuaW5nIGEgZGVjb3JhdG9y LiAgU28gYm90aCBvZiB0aGVzZSBhcmUgbm93IHN1cHBvcnRlZDo6DQogDQogICAgIEBscnVfY2Fj aGUNCkBAIC03NzcsNyArNzc3LDcgQEAgdGhhbiBhcyBhIGZ1bmN0aW9uIHJldHVybmluZyBhIGRl Y29yYXRvci4gIFNvIGJvdGggb2YgdGhlc2UgYXJlIG5vdyBzdXBwb3J0ZWQ6Og0KIA0KIChDb250 cmlidXRlZCBieSBSYXltb25kIEhldHRpbmdlciBpbiA6aXNzdWU6YDM2NzcyYC4pDQogDQotQWRk ZWQgYSBuZXcgOmZ1bmM6YGZ1bmN0b29scy5jYWNoZWRfcHJvcGVydHlgIGRlY29yYXRvciwgZm9y IGNvbXB1dGVkIHByb3BlcnRpZXMNCitBZGRlZCBhIG5ldyA6ZGVjbzpgZnVuY3Rvb2xzLmNhY2hl ZF9wcm9wZXJ0eWAgZGVjb3JhdG9yLCBmb3IgY29tcHV0ZWQgcHJvcGVydGllcw0KIGNhY2hlZCBm b3IgdGhlIGxpZmUgb2YgdGhlIGluc3RhbmNlLiA6Og0KIA0KICAgIGltcG9ydCBmdW5jdG9vbHMN CkBAIC04OTMsNyArODkzLDcgQEAgaW5zcGVjdA0KIFRoZSA6ZnVuYzpgaW5zcGVjdC5nZXRkb2Ng IGZ1bmN0aW9uIGNhbiBub3cgZmluZCBkb2NzdHJpbmdzIGZvciBgYF9fc2xvdHNfX2BgDQogaWYg dGhhdCBhdHRyaWJ1dGUgaXMgYSA6Y2xhc3M6YGRpY3RgIHdoZXJlIHRoZSB2YWx1ZXMgYXJlIGRv Y3N0cmluZ3MuDQogVGhpcyBwcm92aWRlcyBkb2N1bWVudGF0aW9uIG9wdGlvbnMgc2ltaWxhciB0 byB3aGF0IHdlIGFscmVhZHkgaGF2ZQ0KLWZvciA6ZnVuYzpgcHJvcGVydHlgLCA6ZnVuYzpgY2xh c3NtZXRob2RgLCBhbmQgOmZ1bmM6YHN0YXRpY21ldGhvZGA6Og0KK2ZvciA6ZGVjbzpgcHJvcGVy dHlgLCA6ZGVjbzpgY2xhc3NtZXRob2RgLCBhbmQgOmRlY286YHN0YXRpY21ldGhvZGA6Og0KIA0K ICAgY2xhc3MgQXVkaW9DbGlwOg0KICAgICAgIF9fc2xvdHNfXyA9IHsnYml0X3JhdGUnOiAnZXhw cmVzc2VkIGluIGtpbG9oZXJ0eiB0byBvbmUgZGVjaW1hbCBwbGFjZScsDQpAQCAtMTMzMywxNCAr MTMzMywxNCBAQCBUaGUgOm1vZDpgdHlwaW5nYCBtb2R1bGUgaW5jb3Jwb3JhdGVzIHNldmVyYWwg bmV3IGZlYXR1cmVzOg0KICAgICAgICAgICAuLi4NCiANCiAqICJGaW5hbCIgdmFyaWFibGVzLCBm dW5jdGlvbnMsIG1ldGhvZHMgYW5kIGNsYXNzZXMuICBTZWUgOnBlcDpgNTkxYCwNCi0gIDpjbGFz czpgdHlwaW5nLkZpbmFsYCBhbmQgOmZ1bmM6YHR5cGluZy5maW5hbGAuDQorICA6Y2xhc3M6YHR5 cGluZy5GaW5hbGAgYW5kIDpkZWNvOmB0eXBpbmcuZmluYWxgLg0KICAgVGhlIGZpbmFsIHF1YWxp ZmllciBpbnN0cnVjdHMgYSBzdGF0aWMgdHlwZSBjaGVja2VyIHRvIHJlc3RyaWN0DQogICBzdWJj bGFzc2luZywgb3ZlcnJpZGluZywgb3IgcmVhc3NpZ25tZW50OjoNCiANCiAgICAgICBwaTogRmlu YWxbZmxvYXRdID0gMy4xNDE1OTI2NTM2DQogDQogKiBQcm90b2NvbCBkZWZpbml0aW9ucy4gIFNl ZSA6cGVwOmA1NDRgLCA6Y2xhc3M6YHR5cGluZy5Qcm90b2NvbGAgYW5kDQotICA6ZnVuYzpgdHlw aW5nLnJ1bnRpbWVfY2hlY2thYmxlYC4gIFNpbXBsZSBBQkNzIGxpa2UNCisgIDpkZWNvOmB0eXBp bmcucnVudGltZV9jaGVja2FibGVgLiAgU2ltcGxlIEFCQ3MgbGlrZQ0KICAgOmNsYXNzOmB0eXBp bmcuU3VwcG9ydHNJbnRgIGFyZSBub3cgYGBQcm90b2NvbGBgIHN1YmNsYXNzZXMuDQogDQogKiBO ZXcgcHJvdG9jb2wgY2xhc3MgOmNsYXNzOmB0eXBpbmcuU3VwcG9ydHNJbmRleGAuDQoNCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClB5dGhvbi1jaGVja2lu cyBtYWlsaW5nIGxpc3QgLS0gcHl0aG9uLWNoZWNraW5zQHB5dGhvbi5vcmcKVG8gdW5zdWJzY3Jp YmUgc2VuZCBhbiBlbWFpbCB0byBweXRob24tY2hlY2tpbnMtbGVhdmVAcHl0aG9uLm9yZwpodHRw czovL21haWwucHl0aG9uLm9yZy9tYWlsbWFuMy8vbGlzdHMvcHl0aG9uLWNoZWNraW5zLnB5dGhv bi5vcmcKTWVtYmVyIGFkZHJlc3M6IHB5dGhvbi1weXRob24tY2hlY2tpbnNAbS5nbWFuZS1teC5v cmcK