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: Eric Smith To: git-commits@fedoraproject.org Subject: [rpms/ckermit] epel10: Initial import (#716402). Date: Tue, 15 Sep 2026 18:30:51 GMT Message-ID: <178949705187.1.4634273711179159202.rpms-ckermit-edb200d74af9@fedoraproject.org> List-ID: X-Git-Repo: rpms/ckermit X-Git-Branch: epel10 X-Git-Rev: edb200d74af917e3566b8ab804518f3954d6d683 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2tlcm1pdApCcmFu Y2ggOiBlcGVsMTAKQ29tbWl0IDogZWRiMjAwZDc0YWY5MTdlMzU2NmI4YWI4MDQ1MThmMzk1NGQ2 ZDY4MwpBdXRob3IgOiBFcmljIFNtaXRoIDxlcmljQGJyb3VoYWhhLmNvbT4KRGF0ZSAgIDogMjAx MS0wNi0yN1QxMzo0MzoyNy0wNzowMApTdGF0cyAgOiArMTEwOS8tMCBpbiA4IGZpbGUocykKVVJM ICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9ja2VybWl0L2MvZWRiMjAw ZDc0YWY5MTdlMzU2NmI4YWI4MDQ1MThmMzk1NGQ2ZDY4Mz9icmFuY2g9ZXBlbDEwCgpMb2c6Cklu aXRpYWwgaW1wb3J0ICgjNzE2NDAyKS4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5n aXRpZ25vcmUKaW5kZXggZTY5ZGUyOS4uODA5ZTkxZiAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQor KysgYi8uZ2l0aWdub3JlCkBAIC0wLDAgKzEgQEAKKy94LnRhci5negoKZGlmZiAtLWdpdCBhL2Nr ZXJtaXQuaW5pIGIvY2tlcm1pdC5pbmkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uMmU1MTMyYQotLS0gL2Rldi9udWxsCisrKyBiL2NrZXJtaXQuaW5pCkBAIC0wLDAgKzEsNjE4 IEBACitDT01NRU5UIC0gU3RhbmRhcmQgQy1LZXJtaXQgaW5pdGlhbGl6YXRpb24gZmlsZQorOwor OyBGb3IgQy1LZXJtaXQgVmVyc2lvbjogOC4wCis7Cis7IEZpbGVuYW1lOgorOyAgIC5rZXJtcmMg ICAgIChVTklYLCBPUy05LCBBZWdpcykKKzsgICBDS0VSTUlULklOSSAoT1MvMiwgVk1TLCBPcGVu Vk1TLCBBT1MvVlMsIEF0YXJpIFNULCBDb21tb2RvcmUgQW1pZ2EpCis7ICAgY2tlcm1pdC5pbmkg KFN0cmF0dXMgVk9TKQorOyAgIEs5NS5JTkkgICAgIChLZXJtaXQgOTUgLS0gYnV0IHRoaXMgYmln IHZlcnNpb24gaXMgbm90IHVzZWQgdGhlcmUpCis7ICAgSzIuSU5JICAgICAgKEtlcm1pdC8yICAt LSBidXQgZGl0dG8pCis7Cis7IEF1dGhvcnM6Cis7ICAgRnJhbmsgZGEgQ3J1eiwgQ2hyaXN0aW5l IE0uIEdpYW5vbmUsIEplZmZyZXkgQWx0bWFuCis7ICAgQ29sdW1iaWEgVW5pdmVyc2l0eSwgTmV3 IFlvcmssIE5ZIDEwMDI1LTc3OTksIFVTQQorOworOyBUaGlzIGlzIHRoZSBzdGFuZGFyZCBhbmQg cmVjb21tZW5kZWQgQy1LZXJtaXQgOC4wIGluaXRpYWxpemF0aW9uIGZpbGUuICBUbworOyBvdmVy cmlkZSBzZXR0aW5ncyBvciBkZWZpbml0aW9ucyBtYWRlIGluIHRoaXMgZmlsZSwgdG8gYWRkIG5l dyBzZXR0aW5ncyBvcgorOyBkZWZpbml0aW9ucywgb3IgdG8gbWFrZSBhbnkgb3RoZXIgZGVzaXJl ZCBjdXN0b21pemF0aW9ucywgY3JlYXRlIGEgc2VwYXJhdGUsCis7IHBlcnNvbmFsIGN1c3RvbWl6 YXRpb24gZmlsZSBjYWxsZWQ6Cis7Cis7ICAgLm15a2VybXJjICAgICAoVU5JWCwgT1MtOSwgQWVn aXMsIEJlQm94LCBQbGFuIDkpCis7ICAgQ0tFUk1PRC5JTkkgICAoT1MvMiwgVk1TLCBPcGVuVk1T LCBBT1MvVlMsIEF0YXJpIFNULCBDb21tb2RvcmUgQW1pZ2EpCis7ICAgY2tlcm1vZC5pbmkgICAo Vk9TKQorOworOyBZb3UgY2FuIGFsc28gZGVmaW5lIHRoZSBjdXN0b21pemF0aW9uIGZpbGVuYW1l IGluIGFuIGVudmlyb25tZW50Cis7IHZhcmlhYmxlIChsb2dpY2FsIG5hbWUgaW4gVk1TKSwgQ0tF Uk1PRCwgd2hpY2ggdGFrZXMgcHJlY2VkZW5jZSBvdmVyCis7IHRoZSBuYW1lcyBzaG93biBhYm92 ZS4KKzsKKzsgV0hBVCBUSElTIEZJTEUgRE9FUzoKKzsKKzsgLiBEZWZpbmVzIHlvdXIgZGVmYXVs dCBkaWFsaW5nIGRpcmVjdG9yeSBuYW1lOgorOyAgICAgLmtkZCBmb3IgVU5JWCwgT1MtOSBhbmQg QWVnaXM7IENLRVJNSVQuS0REIGZvciBvdGhlciBvcGVyYXRpbmcgc3lzdGVtcy4KKzsgICAgICAg IFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyB3aXRoIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBLX0RJ QUxfRElSRUNUT1JZCis7IC4gRGVmaW5lcyB5b3VyIGRlZmF1bHQgbmV0d29yayBkaXJlY3Rvcnkg bmFtZToKKzsgICAgIC5rbmQgZm9yIFVOSVgsIE9TLTkgYW5kIEFlZ2lzOyBDS0VSTUlULktORCBm b3Igb3RoZXIgb3BlcmF0aW5nIHN5c3RlbXMuCis7ICAgICAgICBZb3UgY2FuIG92ZXJyaWRlIHRo aXMgd2l0aCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgS19ORVRfRElSRUNUT1JZCis7IC4gRGVm aW5lcyB5b3VyIGRlZmF1bHQgc2VydmljZXMgZGlyZWN0b3J5IG5hbWU6Cis7ICAgICAua3NkIGZv ciBVTklYLCBPUy05IGFuZCBBZWdpczsgQ0tFUk1JVC5LU0QgZm9yIG90aGVyIG9wZXJhdGluZyBz eXN0ZW1zLgorOyAgICAgICAgWW91IGNhbiBvdmVycmlkZSB0aGlzIHdpdGggZW52aXJvbm1lbnQg dmFyaWFibGUgS19TRVJWSUNFX0RJUkVDVE9SWS4KKzsgLiBEZWZpbmVzIHlvdXIgY3VzdG9taXph dGlvbiBmaWxlIG5hbWUgKG5hbWUgZ2l2ZW4gYWJvdmUpCis7IC4gUGVyZm9ybXMgc3lzdGVtLWRl cGVuZGVudCBzZXR1cHMgZm9yIFVOSVgsIFZNUywgT1MvMiwgZXRjLgorOyAuIERlZmluZXMgVlRQ UklOVCBtYWNyb3MgZm9yIHVzZSB3aXRoIEs5NSwgTVMtRE9TIEtlcm1pdCwgZXRjLgorOyAuIElm IHlvdSBoYXZlIGEgc2VydmljZXMgZGlyZWN0b3J5LCBhbGwgdGhlIG1hY3JvcyBuZWVkZWQgdG8g dXNlIGl0IGFyZQorOyAgICAgZGVmaW5lZC4gIElmIHlvdSBkb24ndCBoYXZlIGEgc2VydmljZXMg ZGlyZWN0b3J5LCB0aGUgbWFjcm9zIGFyZSBub3QKKzsgICAgIGRlZmluZWQgYW5kIEtlcm1pdCBz dGFydHMgZmFzdGVyLgorOyAuIEV4ZWN1dGVzIHlvdXIgcGVyc29uYWwgY3VzdG9taXphdGlvbiBm aWxlLCBpZiB5b3UgaGF2ZSBvbmUuCis7ICAgTk9URTogWW91ciBjdXN0b21pemF0aW9uIGZpbGUg aXMgTk9UIGV4ZWN1dGVkIGJ5IEtlcm1pdCBpdHNlbGY7IGl0IGlzCis7ICAgZXhlY3V0ZWQgYnkg dGhpcyBmaWxlLgorOworOyBJbiBVTklYLCB3aXRoIEMtS2VybWl0IDcuMCBhbmQgbGF0ZXIsIHlv dSBjYW4gc3RvcmUgdGhpcyBmaWxlIHdpdGggYSBuYW1lCis7IG90aGVyIHRoYW4gLmtlcm1yYywg YW5kIGl0IHdpbGwgbm90IGJlIGV4ZWN1dGVkIGF1dG9tYXRpY2FsbHksIGJ1dCwgaWYgeW91Cis7 IGdpdmUgdGhpcyBmaWxlIGV4ZWN1dGUgcGVybWlzc2lvbiwgeW91IGNhbiBleGVjdXRlIGRpcmVj dGx5IGJlY2F1c2Ugb2YgdGhlCis7ICJrZXJiYW5nIGxpbmUiIGF0IHRoZSB0b3AsIHdoZW5ldmVy IHlvdSB3YW50IGFsbCBvZiB0aGUgYWJvdmUgYWN0aW9ucyB0bworOyBvY2N1ci4gIFRoZSBrZXJi YW5nIGxpbmUgbXVzdCByZWZsZWN0IHRoZSBhY3R1YWwgZnVsbCBwYXRoIG9mIHRoZSBLZXJtaXQK KzsgNy4wLW9yLWxhdGVyIGV4ZWN1dGFibGUuCis7Cis7IEMtS2VybWl0IDYuMCBpcyBkb2N1bWVu dGVkIGluIHRoZSBib29rICJVc2luZyBDLUtlcm1pdCIsIDJuZCBFZGl0aW9uLAorOyBieSBGcmFu ayBkYSBDcnV6IGFuZCBDaHJpc3RpbmUgTS4gR2lhbm9uZSwgMTk5NywgRGlnaXRhbCBQcmVzcyAv Cis7IEJ1dHRlcndvcnRoLUhlaW5lbWFubiwgSVNCTiAxLTU1NTU4LTE2NC0xLiAgTmV3IGZlYXR1 cmVzIG9mIHN1YnNlcXVlbnQKKzsgdmVyc2lvbnMgYXJlIGRvY3VtZW50ZWQgYXQgdGhlIEtlcm1p dCB3ZWJzaXRlOgorOyBodHRwOi8vd3d3LmNvbHVtYmlhLmVkdS9rZXJtaXQvCis7Cis7IEV2ZXJ5 dGhpbmcgYWZ0ZXIgdGhpcyBwb2ludCBkZXBlbmRzIG9uIHRoZSBzY3JpcHQgcHJvZ3JhbW1pbmcg bGFuZ3VhZ2UuCis7IFRoZSBDSEVDSyBjb21tYW5kIHRlcm1pbmF0ZXMgdGhpcyBjb21tYW5kIGZp bGUgaW1tZWRpYXRlbHkgaWYgdGhlIHNjcmlwdAorOyBwcm9ncmFtbWluZyBsYW5ndWFnZSAoSUYg Y29tbWFuZCkgaXMgbm90IGNvbmZpZ3VyZWQuCis7CitzZXQgdGFrZSBlcnJvciBvbgkJOyBUaGlz IG1ha2VzIENIRUNLIHF1aXQgaWYgbm8gc2NyaXB0IGxhbmd1YWdlLgorY2hlY2sgaWYJCQk7IERv IHdlIGhhdmUgYW4gSUYgY29tbWFuZD8gIElmIG5vdCwgcXVpdCBub3cuCitzZXQgdGFrZSBlcnJv ciBvZmYJCTsgQmFjayB0byBub3JtYWwuCisKK2xvY2FsIF9zZCBfc2VydmljZWRpciBfeHAgICAg ICAgOyBEZWNsYXJlIGxvY2FsIHZhcmlhYmxlcy4KKworQ09NTUVOVCAtIEMtS2VybWl0IHZlcnNp b24gNi4wIG9yIGxhdGVyIHJlcXVpcmVkLgorOworCithc2cgX3hwIFx2KHhwcm9ncmFtKQoraWYg bm90IGRlZiBfeHAgYXNnIF94cCBcdihwcm9ncmFtKQoraWYgbm90IGVxdWFsICJcbShfeHApIiAi Qy1LZXJtaXQiIC0KKyAgc3RvcCAxIFx2KGNtZGZpbGUpOiBUaGlzIGluaXRpYWxpemF0aW9uIGZp bGUgaXMgb25seSBmb3IgQy1LZXJtaXQuCitlY2hvIEV4ZWN1dGluZyBcdihjbWRmaWxlKSBmb3Ig XHYoc3lzdGVtKS4uLgoraWYgPCBcdih2ZXJzaW9uKSA2MDAwMCAtCisgIHN0b3AgMSBcdihjbWRm aWxlKTogQy1LZXJtaXQgNi4wIG9yIGxhdGVyIHJlcXVpcmVkLgorCitmb3J3YXJkIFx2KHN5c3Rl bSkJCTsgRmlyc3QgZG8gc3lzdGVtLWRlcGVuZGVudCBpdGVtcy4uLgorCis6dW5rbm93bgkJCTsg U2hvdWxkIG5vdCBoYXBwZW4KK1N0b3AgMSBFcnJvcjogU3lzdGVtIHR5cGUgdW5rbm93biEKKwor OkFlZ2lzCQkJCTsgQXBvbGxvIEFlZ2lzIGFuZAorOlVOSVgJCQkJOyBVTklYLCBhbGwgdmVyc2lv bnMKK2FzZyBfbXlpbml0IC0KKyAgXHYoaG9tZSkubXlrZXJtcmMJCTsgQ3VzdG9taXphdGlvbiBm aWxlbmFtZQoraWYgcmVtb3RlIGZvcndhcmQgQ09NTU9OICAgICAgICA7IFNraXAgbG9jYWwtbW9k ZSBpdGVtcyBpZiAiLVIiCithc2cgX2RpYWxkaXIgLQorICBcdihob21lKS5rZGQJCQk7IEMtS2Vy bWl0IGRpYWxpbmcgZGlyZWN0b3J5Cithc2cgX25ldGRpciAtCisgIFx2KGhvbWUpLmtuZAkJCTsg Qy1LZXJtaXQgbmV0d29yayBkaXJlY3RvcnkKK2FzZyBfc2VydmljZWRpciAtCisgIFx2KGhvbWUp LmtzZAkJCTsgQy1LZXJtaXQgc2VydmljZXMgZGlyZWN0b3J5Citmb3J3YXJkIENPTU1PTiAgICAg ICAgICAgICAgICAgIDsgRW5kIG9mIFVOSVggc2VjdGlvbgorCis6T1M5LzY4SwkJCTsgT1MtOQor YXNnIF9teWluaXQgLQorICBcdihob21lKS5teWtlcm1yYwkJOyBDdXN0b21pemF0aW9uIGZpbGVu YW1lCitpZiByZW1vdGUgZm9yd2FyZCBDT01NT04KK2FzZyBfZGlhbGRpciAtCisgIFx2KGhvbWUp LmtkZAkJCTsgQy1LZXJtaXQgZGlhbGluZyBkaXJlY3RvcnkKK2FzZyBfbmV0ZGlyIC0KKyAgXHYo aG9tZSkua25kCQkJOyBDLUtlcm1pdCBuZXR3b3JrIGRpcmVjdG9yeQorYXNnIF9zZXJ2aWNlZGly IC0KKyAgXHYoaG9tZSkua3NkCQkJOyBDLUtlcm1pdCBzZXJ2aWNlcyBkaXJlY3RvcnkKK2Vsc2Ug c2V0IGZpbGUgZGlzcGxheSBjcnQKK2ZvcndhcmQgQ09NTU9OCQkJOyBFbmQgb2YgT1MtOSBzZWN0 aW9uCisKKzpWTVMJCQkJOyBWTVMgYW5kIE9wZW5WTVMKK2ZvcndhcmQgQ09NTU9OCisKKzpPUy8y CQkJCTsgS2VybWl0IDk1Cis6V0lOMzIKK2VjaG8gVGhpcyBpbml0aWFsaXphdGlvbiBmaWxlIGlz IG5vdCBmb3IgdXNlIHdpdGggSzk1LgorZm9yd2FyZCBDT01NT04gICAgICAgICAgICAgICAgICA7 IEVuZCBvZiBPUy8yIHNlY3Rpb24KKworOkFPUy9WUwkJCQk7IERhdGEgR2VuZXJhbCBBT1MvVlMK K3NldCB3aW5kb3cgMQkJCTsgU2xpZGluZyB3aW5kb3dzIGRvbid0IHdvcmsKK3NldCBmaWxlIGNo YXIgZGctaW50ZXJuYXRpb25hbAk7IEZpbGUgY2hhcmFjdGVyLXNldAorc2V0IHhmZXIgY2hhciBs YXRpbjEJCTsgVHJhbnNmZXIgY2hhcmFjdGVyLXNldAorc2V0IGZpbGUgZGlzcGxheSBjcnQgICAg ICAgICAgICA7IEZpbGUgdHJhbnNmZXIgZmlzcGxheQorZGVmIGNsaSBwdXNoCQkJOyBFc2NhcGUg dG8gQ0xJCitkZWYgcmVzZXQgLQkJCTsgTWFjcm8gdG8gcmVzZXQgREcgREFTSEVSIHRlcm1pbmFs CisgcnVuIHdyaXRlIFshYXNjaWkgMjM2IDMwNiAzMDFdCitmb3J3YXJkIENPTU1PTiAgICAgICAg ICAgICAgICAgIDsgRW5kIG9mIEFPUy9WUyBzZWN0aW9uCisKKzpBbWlnYQkJCQk7IENvbW1vZG9y ZSBBbWlnYQorZGVmIGNscyBlY2hvIFwyN1tIXDI3WzJKCTsgQ0xTIGNvbW1hbmQgdG8gY2xlYXIg dGhlIHNjcmVlbgorc2V0IGZpbGUgY2hhciBsYXRpbjEJCTsgVXNlIExhdGluIEFscGhhYmV0IDEg Zm9yIGZpbGUgdHJhbnNmZXIKK3NldCB4ZmVyIGNoYXIgbGF0aW4xCQk7IC4uLgorZm9yd2FyZCBD T01NT04gICAgICAgICAgICAgICAgICA7IEVuZCBvZiBBbWlnYSBzZWN0aW9uCisKKzpBdGFyaV9T VAkJCTsgQXRhcmkgU1QKK2RlZiBjbHMgZWNobyBcMjdIXDI3SgkJOyBDbGVhciBzY3JlZW4gYWBs YSBWVDUyCitzZXQgc2VydmVyIGRpc3BsYXkgb24JCTsgU2hvdyBmaWxlIHhmZXIgZGlzcGxheSBp biBzZXJ2ZXIgbW9kZSB0b28KK3NldCBzZXJ2ZXIgdGltZW91dCAxNQkJOyBOb256ZXJvIHJlcXVp cmVkIGZvciBeQyBpbnRlcnJ1cHRpb24hCitmb3J3YXJkIENPTU1PTiAgICAgICAgICAgICAgICAg IDsgRW5kIG9mIEF0YXJpIFNUIHNlY3Rpb24KKworOk1hY2ludG9zaAkJCTsgQXBwbGUgTWFjaW50 b3NoCitzZXQgc2VydmVyIGRpc3BsYXkgb24JCTsgU2hvdyBmaWxlIHhmZXIgZGlzcGxheSBpbiBz ZXJ2ZXIgbW9kZSB0b28uCitmb3J3YXJkIENPTU1PTgorCis6U3RyYXR1c19WT1MgICAgICAgICAg ICAgICAgICAgIDsgU3RyYXR1cyBWT1MKK2FzZyBfbXlpbml0IFx2KGhvbWUpY2tlcm1vZC5pbmkK K2lmIHJlbW90ZSBmb3J3YXJkIENPTU1PTgorYXNnIF9kaWFsZGlyIFx2KGhvbWUpY2tlcm1pdC5r ZGQKK2FzZyBfbmV0ZGlyIFx2KGhvbWUpY2tlcm1pdC5rbmQKK2FzZyBfc2VydmljZWRpciBcdiho b21lKWNrZXJtaXQua3NkCitmb3J3YXJkIENPTU1PTiAgICAgICAgICAgICAgICAgIDsgRW5kIG9m IFN0cmF0dXMgVk9TIHNlY3Rpb24KKworOkNPTU1PTgkJCQk7IEZvciBhbGwgc3lzdGVtcworCis7 IERlZmluZSBtYWNyb3MgdGhhdCBhcmUgdXNlZnVsIHdoZW4gcnVubmluZyBDLUtlcm1pdCBpbiBy ZW1vdGUgbW9kZS4KKzsgVGhlc2UgbWFjcm9zIHNlcnZlIG5vIHB1cnBvc2Ugb24gbG9jYWwtbW9k ZS1vbmx5IHZlcnNpb25zIHN1Y2ggYXMKKzsgT1MvMiwgTWFjaW50b3NoLCBBbWlnYSwgYW5kIEF0 YXJpIFNUIEtlcm1pdCwgc28gd2Ugc2tpcCBkZWZpbmluZyB0aGVtCis7IGZvciB0aG9zZSBzeXN0 ZW1zLgorOworaWYgbm90ID0gMCBcZmluZGV4KFx2KHN5c3RlbSksV0lOMzI6T1MvMjpNYWNpbnRv c2g6QW1pZ2E6QXRhcmlfU1QpIC0KKyAgZm9yd2FyZCBmaWxlcworCis7IFZUUFJJTlQgbWFjcm8u ICBQcmludCBhIGZpbGUgb24geW91ciBQQydzIGxvY2FsIHByaW50ZXIuCisKK2RlZiBWVFBSSU5U IGVjaG8gXDI3WzVpLCB0eXBlIFwlMSwgZWNobyBcMjdbNGkKKzsgb3IgaWYgeW91ciBwcmludGVy IG5lZWRzIGEgZm9ybWZlZWQgdG8gZm9yY2UgdGhlIHBhZ2Ugb3V0OgorOyBkZWYgVlRQUklOVCAg ZGVmIGVjaG8gXDI3WzVpLCB0eXBlIFwlMSwgZWNobyBcMTJcMjdbNGkKKworOyBNYWNyb3MgZm9y IGhvc3QtaW5pdGlhdGVkIGZpbGUgdHJhbnNmZXIgdXNpbmcgQVBDOgorOyAgIE5PVCBORUVERUQg QU5ZIE1PUkUgYmVjYXVzZSBvZiBhdXRvZG93bmxvYWQvYXV0b3VwbG9hZC4KKzsgICBSZW1vdmUg dGhlIGZvbGxvd2luZyBGT1JXQVJEIGNvbW1hbmQgdG8gcmVpbnN0YXRlIHRoZXNlIGRlZmluaXRp b25zOgorCis6RklMRVMKKworOyBHZXQgY3VzdG9taXphdGlvbiBhbmQgZGlyZWN0b3J5IGZpbGUg bmFtZXMuICBFbnZpcm9ubWVudCB2YXJpYWJsZXMgdGFrZQorOyBwcmVjZWRlbmNlLCBzbyB5b3Ug ZG8gbm90IGhhdmUgdG8gZWRpdCB0aGlzIGZpbGUgdG8gY2hhbmdlIHRoZXNlIGZpbGVuYW1lcy4K KzsKK2lmIGRlZiBcJChDS0VSTU9EKSBhc3NpZ24gX215aW5pdCBcJChDS0VSTU9EKQoraWYgbm90 IGRlZiBfbXlpbml0IGFzc2lnbiBfbXlpbml0IFx2KGhvbWUpQ0tFUk1PRC5JTkkKKworaWYgcmVt b3RlIGZvcndhcmQgQ1VTVE9NIDsgU2tpcCBhbGwgdGhpcyBpZiAtUiBnaXZlbiBvbiBjb21tYW5k IGxpbmUKKworaWYgZGVmIFwkKEtfTkVUX0RJUkVDVE9SWSkgYXNzaWduIF9uZXRkaXIgXCQoS19O RVRfRElSRUNUT1JZKQoraWYgbm90IGRlZiBfbmV0ZGlyIGFzc2lnbiBfbmV0ZGlyIFx2KGhvbWUp Q0tFUk1JVC5LTkQKKworaWYgZGVmIFwkKEtfRElBTF9ESVJFQ1RPUlkpIGFzc2lnbiBfZGlhbGRp ciBcJChLX0RJQUxfRElSRUNUT1JZKQoraWYgbm90IGRlZiBfZGlhbGRpciBhc3NpZ24gX2RpYWxk aXIgXHYoaG9tZSlDS0VSTUlULktERAorCitDSEVDSyBESUFMCQkJOyBJcyB0aGVyZSBhIERJQUwg Y29tbWFuZD8KK3hpZiBmYWlsIHsgCQkJOyBOby4KKyAgICBlY2hvIERJQUwgZGlzYWJsZWQKKyAg ICBmb3J3YXJkIENVU1RPTQorfQorCitDSEVDSyBORVRXT1JLCit4aWYgc3VjY2VzcyB7CisgICAg eGlmIGV4aXN0IFxtKF9uZXRkaXIpIHsKKwlzZXQgbmV0IGRpcmVjdG9yeSBcbShfbmV0ZGlyKQor CWVjaG8geyBOZXR3b3JrIGRpcmVjdG9yeSBpcyBcbShfbmV0ZGlyKSB9CisgICAgfQorfQorCitp ZiBlcSAiXHYobmFtZSkiICJ0ZWxuZXQiIGZvcndhcmQgQ1VTVE9NCisKK3hpZiBleGlzdCBcbShf ZGlhbGRpcikgeworICAgIHNldCBkaWFsIGRpcmVjdG9yeSBcbShfZGlhbGRpcikKKyAgICBlY2hv IHsgRGlhbCBkaXJlY3RvcnkgaXMgXG0oX2RpYWxkaXIpIH0KK30KKworQ09NTUVOVCAtIFNlcnZp Y2VzIGRpcmVjdG9yeQorCitpZiBkZWYgXCQoS19TRVJWSUNFX0RJUkVDVE9SWSkgYXNzaWduIF9z ZXJ2aWNlZGlyIFwkKEtfU0VSVklDRV9ESVJFQ1RPUlkpCitpZiBub3QgZGVmIF9zZXJ2aWNlZGly IGFzc2lnbiBfc2VydmljZWRpciBcdihob21lKUNLRVJNSVQuS1NECisKKzsgSWYgbm8gc2Vydmlj ZXMgZGlyZWN0b3J5IGlzIGZvdW5kIHNraXAgYWxsIHRoZSBiaWcgbWFjcm8gZGVmaW5pdGlvbnMg YW5kCis7IGdvIHN0cmFpZ2h0IHRvIHRoZSBib3R0b20sIHdoZXJlIHdlIGV4ZWN1dGUgdGhlIGN1 c3RvbWl6YXRpb24gZmlsZS4KKworaWYgbm90IGV4aXN0IFxtKF9zZXJ2aWNlZGlyKSBmb3J3YXJk IGN1c3RvbQorCitlY2hvIHsgU2VydmljZXMgZGlyZWN0b3J5IGlzIFxtKF9zZXJ2aWNlZGlyKX0K KworZGVmIE1BWF9TVkNTIDIwMCAgICAgICAgICAgICAgIDsgQWRqdXN0IHRoaXMgaWYgeW91IGhh dmUgbW9yZSBlbnRyaWVzCitkZWZpbmUgX3NkIDAgICAgICAgICAgICAgICAgICAgOyBBc3N1bWUg bm8gc2VydmljZXMgZGlyZWN0b3J5CitvcGVuIHJlYWQgXG0oX3NlcnZpY2VkaXIpICAgICAgOyBU cnkgdG8gb3BlbiBzZXJ2aWNlcyBkaXJlY3RvcnkgZmlsZQoreGlmIHN1Y2Nlc3MgeworICAgIGRl Y2xhcmUgXCZkW1xtKE1BWF9TVkNTKV0gIDsgSXQncyBvcGVuLCBkZWNsYXJlIGRpcmVjdG9yeSBh cnJheQorICAgIGZvciBcJWkgMSBcbShNQVhfU1ZDUykgMSB7IDsgUmVhZCB0aGUgbGluZXMgaW50 byB0aGUgYXJyYXkKKwlyZWFkIFwmZFtcJWldCisJaWYgZmFpbCBicmVhaworICAgIH0KKyAgICBj bG9zZSByZWFkCisgICAgeGlmID4gXCVpICBcbShNQVhfU1ZDUykgeworCWVjaG8gVG9vIG1hbnkg ZW50cmllcyBpbiBzZXJ2aWNlcyBkaXJlY3RvcnkKKwllY2hvIHsgTWF4aW11bSBpcyBcbShNQVhf U1ZDUykufQorCWVjaG8geyBDaGFuZ2UgZGVmaW5pdGlvbiBvZiBNQVhfU1ZDUyBpbiBcdihjbWRm aWxlKSB0byBhbGxvdyBtb3JlLiB9CisJZWNobyB7IFNlcnZpY2VzIGRpcmVjdG9yeSBkaXNhYmxl ZC59CisgICAgfSBlbHNlIHsKKyAgICAgICAgYXNnIFwmZFswXSBcZmV2YWwoXCVpIC0gMSkKKyAg ICAgICAgZGVmaW5lIF9zZCAxCisgICAgfQorfQorCit4aWYgbm90IFxtKF9zZCkgeworICAgIGRl ZiBhY2Nlc3MgZWNobyB7IFNlcnZpY2VzIGRpcmVjdG9yeSBub3QgYXZhaWxhYmxlLn0KKyAgICBh c2cgbGlzdCBcbShhY2Nlc3MpCit9IGVsc2UgeworICAgIGRlZiBGSU5EIHsKKwlzZXQgY2FzZSBv ZmYKKwlmb3IgXCVpIDEgXCZkWzBdIDEgeworCSAgICBpZiBlcSB7XCUxfSB7XGZzdWJzdHIoXCZk W1wlaV0sMSxcZmxlbihcJTEpKX0gYnJlYWsKKwl9CisJaWYgbm90ID4gXCVpIFwmZFswXSByZXR1 cm4gXCZkW1wlaV0KKyAgICB9CisgICAgZGVmIExJU1QgeworCXhpZiA+IFx2KGFyZ2MpIDEgewor CSAgICBmaW5kIFwlMQorCSAgICBpZiBkZWYgXHYocmV0dXJuKSBlY2hvIFx2KHJldHVybikKKwkg ICAgZWxzZSBlY2hvIFwlMTogTm90IGZvdW5kCisJfSBlbHNlIHsKKwkgICAgZWNobyBcJmRbMF0g aXRlbXMgaW4gc2VydmljZXMgZGlyZWN0b3J5OgorCSAgICBmb3IgXCVpIDEgXCZkWzBdIDEgeyBl Y2hvIFxmY29udChcJmRbXCVpXSkgfQorCX0KKyAgICB9CisgICAgZGVmIFNQTElUIHsgYXNnIF93 b3JkMSBcJTEsIGFzZyBfd29yZDIgXCUyIH0KKyAgICBkZWYgRE9BQ0NFU1MgeyAgICAgICAgICAg ICAgIDsgKFVzZWQgaW50ZXJuYWxseSBieSBBQ0NFU1MgbWFjcm8pCisJZG8gXCU1IFwlNiBcJTcg XCU4IFwlOSAgIDsgRG8gdGhlIGNvbm5lY3Rpb24gbWFjcm8KKwlpZiBmYWlsIGVuZCAxCisgICAg ICAgIHNwbGl0IFwlMyAgICAgICAgICAgICAgICA7IEdldCB3b3JkcyBmcm9tIFwlMworCWFzZyBc JTMgXG0oX3dvcmQxKQorCWFzZyBcJTIgXG0oX3dvcmQyKQorCWRvIFwlMyBcJTQge1wlMX0gXCUy ICAgICA7IExvZ2luIG1hY3JvLCB1c2VyaWQsIHBhc3N3b3JkLCBwcm9tcHQKKyAgICB9CisgICAg ZGVmIEFDQ0VTUyB7CisJaWYgbm90IGRlZmluZWQgXCUxIGVuZCAxIGFjY2VzcyB3aGF0PyAgICAg ICAgOyBDaGVjayBzZXJ2aWNlCisJZmluZCBcJTEgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOyBMb29rIGl0IHVwCisJaWYgc3VjY2VzcyBkb2FjY2VzcyB7XCUyfSBcdihyZXR1 cm4pICAgICAgICAgOyBPSywgdHJ5IGl0CisJZWxzZSBlbmQgMSAiXCUxIiBub3QgaW4gc2Vydmlj ZXMgZGlyZWN0b3J5ICAgOyBOb3QgZm91bmQKKwlpZiBmYWlsIGVuZCAxICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA7IERPQUNDRVNTIGZhaWxlZD8KKwl4aWYgZXEgXHYoY21kbGV2ZWwp IDEgeworCSAgICBlY2hvCisJICAgIGVjaG8gQUNDRVNTOiBMb2dpbiBzdWNjZWVkZWQgLSBDT05O RUNUaW5nLi4uCisgICAgICAgICAgICBzaG93IGVzY2FwZQorICAgICAgICAgICAgb3V0cHV0IFwx MworCSAgICBjb25uZWN0IC9xdWlldGx5CisgICAgICAgIH0KKyAgICB9Cit9CisKKzpDT05ORUNU SU9OIDsgTWFjcm9zIGZvciBtYWtpbmcgY29ubmVjdGlvbnMKKworQ09NTUVOVCAtIFNFUklBTCBt YWNyby4gIEFyZ3VtZW50czoKKzsgXCUxID0gZGV2aWNlIG5hbWUKKzsgXCUyID0gc3BlZWQKKzsK K2RlZiBTRVJJQUwgeworICAgIGlmIDwgXHYoYXJnYykgMyAgICAgICAgICAgICAgICAgICAgICAg ICA7IEFsbCBhcmd1bWVudHMgZ2l2ZW4/CisgICAgICBlbmQgMSBVc2FnZTogU0VSSUFMIGRldmlj ZSBzcGVlZCAgICAgIDsgTm8uCisgICAgc2V0IGxpbmUgXCUxICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDsgT0ssIHRyeSB0byBTRVQgTElORS4KKyAgICBpZiBmYWlsdXJlIC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgOyBJZiB0aGlzIGZhaWxlZCwKKyAgICAgIGVuZCAxIENhbid0IG9w ZW4gZGV2aWNlOiBcJTEgICAgICAgICAgOyBwcmludCBtZXNzYWdlIGFuZCBxdWl0LgorICAgIHNl dCBzcGVlZCBcJTIgICAgICAgICAgICAgICAgICAgICAgICAgICA7IFRyeSB0byBzZXQgdGhlIHNw ZWVkLgorICAgIGlmIGZhaWwgZW5kIDEgVW5zdXBwb3J0ZWQgc3BlZWQ6IFwlMiAgICA7IEZhaWxl ZC4KKyAgICBlY2hvIENvbm5lY3Rpb24gc3VjY2Vzc2Z1bC4gICAgICAgICAgICAgOyBTdWNjZWVk ZWQuCit9CisKK0NPTU1FTlQgLSBORVQgbWFjcm8uICBBcmd1bWVudHM6Cis7IFwlMSA9IG5ldHdv cmsgdHlwZQorOyBcJTIgPSBob3N0IG5hbWUgb3IgYWRkcmVzcworOworZGVmIE5FVCB7CisgICAg aWYgPCBcdihhcmdjKSAzIGVuZCAxIFVzYWdlOiBORVQgbmV0d29yayBob3N0CisgICAgc2V0IG5l dHdvcmsgdHlwZSBcJTEKKyAgICBpZiBmYWlsIGVuZCAxIHVuc3VwcG9ydGVkIG5ldHdvcms6IFwl MQorICAgIHNldCBsb2dpbiB1c2VyICAgICAgICAgICAgICAgIDsgRG9uJ3Qgc2VuZCB1c2VyIElE LgorICAgIHNldCBob3N0IFwlMgorICAgIGlmIGZhaWwgZW5kIDEgQ2FuJ3QgcmVhY2ggaG9zdDog XCUyCisgICAgZWNobyBDb25uZWN0aW9uIHN1Y2Nlc3NmdWwuCit9CisKK0NPTU1FTlQgLSBDQUxM IG1hY3JvLiAgQXJndW1lbnRzOgorOworOyBcJTEgPSBtb2RlbSB0eXBlCis7IFwlMiA9IGRldmlj ZSBuYW1lCis7IFwlMyA9IHNwZWVkCis7IFwlNCA9IHBob25lIG51bWJlcgorOworZGVmIENBTEwg eworICAgIGlmIDwgXHYoYXJnYykgNSAtICAgICAgICAgOyBBbGwgYXJndW1lbnRzIHByZXNlbnQ/ CisgICAgICBlbmQgMSBVc2FnZTogQ0FMTCBtb2RlbSBkZXZpY2Ugc3BlZWQgbnVtYmVyCisgICAg eGlmIG5vdCBlcXVhbCB7XHYobW9kZW0pfSB7XCUxfSB7IDsgU2V0IG1vZGVtIHR5cGUKKyAgICAg ICAgc2V0IG1vZGVtIFwlMQorICAgICAgICBpZiBmYWlsIGVuZCAxIHVua25vd24gbW9kZW0gdHlw ZTogXCUxCisgICAgfQorICAgIHhpZiBub3QgZXF1YWwge1x2KGxpbmUpfSB7XCUyfSB7IDsgQ29t bXVuaWNhdGlvbiBkZXZpY2UKKyAgICAgICAgc2V0IGxpbmUgXCUyCisgICAgICAgIGlmIGZhaWwg ZW5kIDEgY2FuJ3Qgb3BlbiBkZXZpY2U6IFwlMgorICAgIH0KKyAgICB4aWYgbm90IGVxdWFsIHtc dihzcGVlZCl9IHtcJTN9IHsgOyBDb21tdW5pY2F0aW9uIHNwZWVkCisgICAgICAgIHNldCBzcGVl ZCBcJTMKKyAgICAgICAgaWYgZmFpbCBlbmQgMSB1bnN1cHBvcnRlZCBzcGVlZDogXCUzCisgICAg fQorICAgIGRpYWwgXCU0ICAgICAgICAgICAgICAgICAgOyBEaWFsIHRoZSBudW1iZXIKKyAgICBp ZiBmYWlsIGVuZCAxIENhbid0IHBsYWNlIGNhbGw6IFwlNAorICAgIGVuZCAwIENvbm5lY3Rpb24g c3VjY2Vzc2Z1bC4KK30KKworQ09NTUVOVCAtIFRDUENBTEwgbWFjcm8uICBBcmd1bWVudHM6Cis7 Cis7IFwlMSA9IHNlcnZlciBuYW1lOnBvcnQKKzsgXCUyID0gbW9kZW0gdHlwZQorOyBcJTMgPSBw aG9uZSBudW1iZXIKKzsKK2RlZiBUQ1BDQUxMIHsKKyAgICBpZiA8IFx2KGFyZ2MpIDQgLSAgICAg ICAgIDsgQWxsIGFyZ3VtZW50cyBwcmVzZW50PworICAgICAgZW5kIDEgVXNhZ2U6IFRDUENBTEwg c2VydmVyWzpwb3J0XSBtb2RlbSBudW1iZXIKKyAgICBzZXQgbmV0IHR5cGUgdGNwL2lwICAgICAg IDsgV2hpY2ggbmV0d29yayB0byB1c2UKKyAgICBpZiBmYWlsIGVuZCAxIHVuc3VwcG9ydGVkIG5l dHdvcms6IHRjcC9pcAorICAgIHNldCBob3N0IFwlMSAgICAgICAgICAgICAgOyBBY2Nlc3Mgc2Vy dmVyIGFuZCBwb3J0CisgICAgaWYgZmFpbCBlbmQgMSBjYW4ndCBhY2Nlc3Mgc2VydmVyIFwlMQor ICAgIHNldCBtb2RlbSBcJTIgICAgICAgICAgICAgOyBTZXQgbW9kZW0gdHlwZQorICAgIGlmIGZh aWwgZW5kIDEgdW5rbm93biBtb2RlbSB0eXBlOiBcJTIKKyAgICBkaWFsIFwlMyAgICAgICAgICAg ICAgICAgIDsgRGlhbCB0aGUgbnVtYmVyCisgICAgaWYgZmFpbCBlbmQgMSBDYW4ndCBwbGFjZSBj YWxsOiBcJTMKKyAgICBlbmQgMCBDb25uZWN0aW9uIHN1Y2Nlc3NmdWwuCit9CisKK0NPTU1FTlQg LSBTUFJJTlQgbWFjcm8uICBBcmd1bWVudHM6Cis7IFwlMSA9IFNlcnZpY2UgbmFtZSBvciBhZGRy ZXNzCis7CitkZWYgU1BSSU5UIHsKKyAgICBpZiA8IFx2KGFyZ2MpIDIgZW5kIDEgVXNhZ2U6IFwl MCBzZXJ2aWNlCisgICAgc2V0IGlucHV0IHRpbWVvdXQgcHJvY2VlZAorICAgIG91dHB1dCBARFwx MworICAgIGlucHV0IDEwIFRFUk1JTkFMPQorICAgIGlmIGZhaWwgZW5kIDEgTm8gdGVybWluYWwg cHJvbXB0CisgICAgb3V0IEQxXDEzCisgICAgaW5wIDEwIEAKKyAgICBpZiBmYWlsIGVuZCAxIE5v IGF0c2lnbiBwcm9tcHQKKyAgICBvdXRwdXQgYyBcJTFcMTMKKyAgICBpbnB1dCAxMCBDT05ORUNU RUQKKyAgICBpZiBmYWlsIGVuZCAxIENhbid0IGFjY2VzcyBcJTEgZnJvbSBTcHJpbnROZXQKK30K KworQ09NTUVOVCAtIFVMT0dJTiBtYWNyby4gIEZvciBsb2dnaW5nIGludG8gc3lzdGVtcyB3aGVy ZSB1c2VyIElEIGlzIHJlcXVpcmVkCis7IGJ1dCB0aGVyZSBpcyBubyBwYXNzd29yZC4gIEFyZ3Vt ZW50czoKKzsgXCUxID0gVU5JWCB1c2VyIElECis7CitkZWZpbmUgVUxPR0lOIHsKKyAgICBpZiA8 IFx2KGFyZ2MpIDIgZW5kIDEgVXNhZ2U6IFwlMCB1c2VyaWQKKyAgICBzZXQgaW5wdXQgdGltZW91 dCBwcm9jZWVkICAgICA7IEhhbmRsZSB0aW1lb3V0cyBvdXJzZWx2ZXMKKyAgICBzZXQgY2FzZSBv biAgICAgICAgICAgICAgICAgICA7IENhc2UgaXMgaW1wb3J0YW50IGluIFVOSVgKKyAgICBtaW5w dXQgNSBsb2dpbjogVXNlcm5hbWU6IHtVc2VyIElEOn0ge1VzZXIgTmFtZTp9CisgICAgb3V0IFwl MVwxMyAgICAgICAgICAgICAgICAgICAgOyBTZW5kIHVzZXJuYW1lLCBjYXJyaWFnZSByZXR1cm4K KyAgICBlbmQgMAorfQorCitDT01NRU5UIC0gVk1TTE9HSU4gbWFjcm8uICBBcmd1bWVudHM6Cis7 IFwlMSA9IFZNUyB1c2VyIElECis7IFwlMiA9IFBhc3N3b3JkLiAgSWYgcGFzc3dvcmQgbm90IHN1 cHBsaWVkLCBpdCBpcyBwcm9tcHRlZCBmb3IuCis7IFwlMyA9IFN5c3RlbSBwcm9tcHQuICBJZiBv bWl0dGVkIGEgZGVmYXVsdCBpcyBzdXBwbGllZC4KKzsKK2RlZmluZSBWTVNMT0dJTiB7CisgICAg aWYgPCBcdihhcmdjKSAyIGVuZCAxIFVzYWdlOiBcJTAgdXNlcmlkIFsgcGFzc3dvcmQgWyBwcm9t cHQgXSBdCisgICAgd2hpbGUgbm90IGRlZmluZWQgXCUyIHsKKyAgICAgICAgYXNrcSBcJTIgeyBc JTEncyBwYXNzd29yZDogfQorICAgIH0KKyAgICBzZXQgcGFyaXR5IG5vbmUgICAgICAgICAgICAg ICA7IFNldCBjb21tdW5pY2F0aW9uIHBhcmFtZXRlcnMKKyAgICBzZXQgZHVwbGV4IGZ1bGwKKyAg ICBzZXQgaGFuZHNoYWtlIG5vbmUKKyAgICBzZXQgaW5wdXQgdGltZW91dCBwcm9jZWVkICAgICA7 IEhhbmRsZSB0aW1lb3V0cyBvdXJzZWx2ZXMKKyAgICBpbiA1IFVzZXJuYW1lOiAgICAgICAgICAg ICAgICA7IElzIHByb21wdCBhbHJlYWR5IHRoZXJlPworICAgIHhpZiBmYWlsIHsgICAgICAgICAg ICAgICAgICAgIDsgTm8uCisgICAgICAgIGZvciBcJWkgMSAzIDEgeyAgICAgICAgICAgOyBUcnkg MyB0aW1lcyB0byBnZXQgaXQuCisgICAgICAgICAgICBvdXQgXDEzICAgICAgICAgICAgICAgOyBT ZW5kIGNhcnJpYWdlIHJldHVybgorICAgICAgICAgICAgaW4gNSBVc2VybmFtZTogICAgICAgIDsg TG9vayBmb3IgcHJvbXB0CisgICAgICAgICAgICBpZiBzdWNjZXNzIGJyZWFrICAgICAgOyBTdWNj ZXNzLCBnbyBsb2cgaW4KKyAgICAgICAgfQorICAgICAgICBpZiA+IFwlaSAzIGVuZCAxIE5vIFVz ZXJuYW1lIHByb21wdAorICAgIH0KKyAgICBvdXQgXCUxXDEzICAgICAgICAgICAgICAgICAgICA7 IFNlbmQgdXNlcm5hbWUsIGNhcnJpYWdlIHJldHVybgorICAgIGlucCA1IFBhc3N3b3JkOiAgICAg ICAgICAgICAgIDsgV2FpdCA1IHNlYyBmb3IgdGhpcyBwcm9tcHQKKyAgICBpZiBmYWlsIGVuZCAx IE5vIHBhc3N3b3JkIHByb21wdAorICAgIHBhdXNlICAgICAgICAgICAgICAgICAgICAgICAgIDsg V2FpdCBhIHNlYworICAgIG91dCBcJTJcMTMgICAgICAgICAgICAgICAgICAgIDsgU2VuZCBwYXNz d29yZAorICAgIHhpZiBub3QgZW11bGF0aW9uIHsgICAgICAgICAgIDsgTm8gZW11bGF0b3IgYnVp bHQgaW4/CisgICAgICAgIHNldCBpbnB1dCBlY2hvIG9mZiAgICAgICAgOyBQcm90ZWN0IHRlcm1p bmFsIGZyb20gdGhpcworICAgICAgICBtaW5wdXQgMTAge1wyN1p9IHtcMjdbY30ge1wyN1swY30g OyBHZXQgdGVybWluYWwgSUQgcXVlcnkKKyAgICAgICAgeGlmIHN1Y2Nlc3MgeyAgICAgICAgICAg ICAgICAgICAgIDsgR290IG9uZQorICAgICAgICAgICAgb3V0cHV0IFwyN1tcPzFjICAgICAgICAg ICAgICAgOyBTZW5kIFZUMTAwIHRlcm1pbmFsIElECisgICAgICAgICAgICBpbiAyIFwyN1s2biAg ICAgICAgICAgICAgICAgICA7IFNjcmVlbiBkaW1lbnNpb24gcXVlcnk/CisgICAgICAgICAgICBp ZiBzdWNjIG91dCBcMjdbXHYocm93cyk7XHYoY29scylSIDsgU2VuZCBkaW1lbnNpb25zCisgICAg ICAgIH0KKyAgICAgICAgc2V0IGlucHV0IGVjaG8gb24gICAgICAgICA7IEVjaG8gaW5wdXQgYWdh aW4KKyAgICB9CisgICAgaWYgbm90IGRlZiBcJTMgLSAgICAgICAgICAgICAgOyBJZiB3ZSB3ZXJl IG5vdCBnaXZlbiBhIHByb21wdAorICAgICAgYXNnIFwlMyB7XHYocHJvbXB0KX0gICAgICAgIDsg dXNlIHRoZSBTRVQgTE9HSU4gUFJPTVBUIHZhbHVlCisgICAgaWYgbm90IGRlZiBcJTMgLSAgICAg ICAgICAgICAgOyBJZiB3ZSBzdGlsbCBkb24ndCBoYXZlIGEgcHJvbXB0CisgICAgICBhc2cgXCUz IHtcMTMkXDMyfSAgICAgICAgICAgOyB1c2UgdGhpcyBvbmUgYXMgdGhlIGRlZmF1bHQKKyAgICBy ZWlucCAwIFwlMyAgICAgICAgICAgICAgICAgICA7IERpZCB3ZSBJTlBVVCB0aGUgcHJvbXB0IGFs cmVhZHk/CisgICAgaWYgZmFpbCBpbnAgNjAgXCUzICAgICAgICAgICAgOyBObywgbG9vayBub3cu CisgICAgaWYgZmFpbCBlbmQgMQorfQorCitDT01NRU5UIC0gVU5JWExPR0lOIG1hY3JvLiAgQXJn dW1lbnRzOgorOyBcJTEgPSBVTklYIHVzZXIgSUQKKzsgXCUyID0gUGFzc3dvcmQuICBJZiBwYXNz d29yZCBub3Qgc3VwcGxpZWQsIGl0IGlzIHByb21wdGVkIGZvci4KKzsgXCUzID0gU3lzdGVtIHBy b21wdC4gIElmIG9taXR0ZWQgYSBkZWZhdWx0IGlzIHN1cHBsaWVkLgorOworZGVmaW5lIFVOSVhM T0dJTiB7CisgICAgbG9jYWwgXCVtIFwlaQorICAgIGlmIDwgXHYoYXJnYykgMiAtCisgICAgICBl bmQgMSBVc2FnZTogXCUwIHVzZXJpZCBbIHBhc3N3b3JkIFsgcHJvbXB0IF0gXQorICAgIHdoaWxl IG5vdCBkZWZpbmVkIFwlMiB7CisgICAgICAgIGFza3EgXCUyIHsgXCUxJ3MgcGFzc3dvcmQ6IH0K KyAgICB9CisgICAgc2V0IGlucHV0IGVjaG8gb24KKyAgICBzZXQgcGFyaXR5IG5vbmUgICAgICAg ICAgICAgICA7IFNldCBjb21tdW5pY2F0aW9uIHBhcmFtZXRlcnMuCisgICAgc2V0IGR1cGxleCBm dWxsCisgICAgc2V0IGhhbmRzaGFrZSBub25lCisgICAgc2V0IGlucHV0IHRpbWVvdXQgcHJvY2Vl ZCAgICAgOyBIYW5kbGUgdGltZW91dHMgb3Vyc2VsdmVzCisgICAgc2V0IGNhc2Ugb24gICAgICAg ICAgICAgICAgICAgOyBDYXNlIGlzIGltcG9ydGFudCBpbiBVTklYCisgICAgZGVmIFwlbSAxMCAg ICAgICAgICAgICAgICAgICAgOyBXYWl0aW5nIHRpbWUgZm9yIElOUFVUCisgICAgZm9yIFwlaSAx IDUgMSB7CisgICAgICAgIG1pbnB1dCBcJW0gbG9naW46IHtzc3dvcmQ6fSB7UGFzc3dvcmQgZm9y IFwlMTp9CisJaWYgc3VjY2VzcyBicmVhaworCW91dHB1dCBcQlwxMworICAgICAgICBcJW0gOjo9 IDYtXCUxCisgICAgfQorICAgIGlmID4gXCVpIDUgZW5kIDEge05vIHJlc3BvbnNlIGZyb20gaG9z dH0KKyAgICB4aWYgPSBcdihtaW5wdXQpIDEgewkgIDsgSGF2ZSB1c2VybmFtZSBwcm9tcHQKKwlv dXRwdXQgXCUxXDEzCQkgIDsgU2VuZCB1c2VybmFtZQorICAgICAgICBtaW5wdXQgNSB7c3N3b3Jk On0ge3Nzd29yZCBmb3IgXCUxOn0gOyBXYWl0IGZvciBwYXNzd29yZCBwcm9tcHQKKwlpZiBmYWls IGVuZCAxIHtObyBwYXNzd29yZCBwcm9tcHR9CisgICAgfQorICAgIHBhdXNlICAgICAgICAgICAg ICAgICAgICAgICAgIDsgV2FpdCBhIHNlYworICAgIG91dCBcJTJcMTMgICAgICAgICAgICAgICAg ICAgIDsgU2VuZCBwYXNzd29yZAorICAgIGlmIG5vdCBkZWYgXCUzIC0gICAgICAgICAgICAgIDsg SWYgd2Ugd2VyZSBub3QgZ2l2ZW4gYSBwcm9tcHQKKyAgICAgIGFzZyBcJTMge1x2KHByb21wdCl9 ICAgICAgICA7IHVzZSB0aGUgU0VUIExPR0lOIFBST01QVCB2YWx1ZQorICAgIGlmIG5vdCBkZWYg XCUzIC0gICAgICAgICAgICAgIDsgSWYgd2Ugc3RpbGwgZG9uJ3QgaGF2ZSBhIHByb21wdAorICAg ICAgYXNnIFwlMyB7XDEwJCB9ICAgICAgICAgICAgIDsgdXNlIHRoaXMgb25lIGFzIHRoZSBkZWZh dWx0CisgICAgcmVpbnAgMCBcJTMgICAgICAgICAgICAgICAgICAgOyBEaWQgd2UgSU5QVVQgdGhl IHByb21wdCBhbHJlYWR5PworICAgIGlmIGZhaWwgaW5wIDYwIFwlMyAgICAgICAgICAgIDsgTm8s IGxvb2sgbm93LgorICAgIGlmIGZhaWwgZW5kIDEKK30KKworQ09NTUVOVCAtIFZNTElORUxPR0lO IG1hY3JvLiAgQXJndW1lbnRzOgorOyBcJTEgPSBVc2VyIElECis7IFwlMiA9IFBhc3N3b3JkCis7 CitkZWZpbmUgVk1MSU5FTE9HSU4geworICAgIGlmIDwgXHYoYXJnYykgMiAtCisgICAgICBlbmQg MSBVc2FnZTogXCUwIHVzZXJpZCBbIHBhc3N3b3JkIF0KKyAgICB3aGlsZSBub3QgZGVmaW5lZCBc JTIgeworICAgICAgICBhc2txIFwlMiB7IFwlMSdzIHBhc3N3b3JkOiB9CisgICAgfQorICAgIHNl dCBwYXJpdHkgbWFyayAgICAgICAgICAgICAgIDsgU2V0IGNvbW11bmljYXRpb24gcGFyYW1ldGVy cworICAgIHNldCBmbG93IG5vbmUKKyAgICBzZXQgaGFuZHNoYWtlIHhvbgorICAgIHNldCBkdXBs ZXggaGFsZgorICAgIHNldCBpbnB1dCB0aW1lb3V0IHF1aXQgICAgICAgIDsgRG9uJ3QgYm90aGVy IHdpdGggSUYgRkFJTFVSRQorICAgIGlucHV0IDEwIEJSRUFLIEtFWSAgICAgICAgICAgIDsgTG9v ayBmb3IgQlJFQUsgS0VZIHByb21wdAorICAgIHBhdXNlIDEgICAgICAgICAgICAgICAgICAgICAg IDsgV2FpdCBhIHNlY29uZAorICAgIG91dHB1dCBcQiAgICAgICAgICAgICAgICAgICAgIDsgU2Vu ZCBCUkVBSworICAgIGlucHV0IDEwIC5cMTcsIG91dHB1dCBsb2dvbiBcJTFcMTMgICAgOyBOb3cg bG9nIGluCisgICAgaW5wdXQgMTAgLlwxNywgb3V0cHV0IFwlMlwxMyAgICAgICAgICA7IFNlbmQg cGFzc3dvcmQKKyAgICBpbnB1dCAxMCAuXDE3LCBvdXRwdXQgXDEzICAgICAgICAgICAgIDsgU2Vu ZCBjYXJyaWFnZSByZXR1cm4KKyAgICBpbnB1dCAxMCAuXDE3LCBvdXRwdXQgXDEzICAgICAgICAg ICAgIDsgU2VuZCBhbm90aGVyIG9uZQorICAgIGVuZCAwCit9CisKK0NPTU1FTlQgLSBWTUZVTExP R0lOIG1hY3JvLiAgQXJndW1lbnRzOgorOyBcJTEgPSBVc2VyIElECis7IFwlMiA9IFBhc3N3b3Jk Cis7CitkZWZpbmUgVk1GVUxMT0dJTiB7CisgICAgaWYgPCBcdihhcmdjKSAyIC0KKyAgICAgIGVu ZCAxIFVzYWdlOiBcJTAgdXNlcmlkIFsgcGFzc3dvcmQgXQorICAgIHdoaWxlIG5vdCBkZWZpbmVk IFwlMiB7CisgICAgICAgIGFza3EgXCUyIHsgXCUxJ3MgcGFzc3dvcmQ6IH0KKyAgICB9CisgICAg c2V0IGlucHV0IHRpbWVvdXQgcXVpdCAgICAgIDsgUXVpdCBpZiBJTlBVVCBmYWlscworICAgIHNl dCBwYXJpdHkgZXZlbiAgICAgICAgICAgICA7IFNldCBjb21tdW5pY2F0aW9uIHBhcmFtZXRlcnMK KyAgICBzZXQgZHVwbGV4IGZ1bGwKKyAgICBzZXQgaGFuZHNoYWtlIG5vbmUKKyAgICBzZXQgZmxv dyB4b24veG9mZgorICAgIG91dCBcMTMgICAgICAgICAgICAgICAgICAgICA7IFNlbmQgY2Fycmlh Z2UgcmV0dXJuCisgICAgaW5wIDUgVEVSTUlOQUwgVFlQRTogICAgICAgIDsgR2V0IHRlcm1pbmFs LXR5cGUgcHJvbXB0CisgICAgb3V0IHZ0LTEwMFwxMyAgICAgICAgICAgICAgIDsgSnVzdCBzZW5k ICJ2dC0xMDAiCisgICAgaW5wIDIwIFJVTk5JTkcgICAgICAgICAgICAgIDsgR2V0IFJVTk5JTkcg bWVzc2FnZQorICAgIHBhdSAxICAgICAgICAgICAgICAgICAgICAgICA7IFdhaXQgb25lIHNlY29u ZAorICAgIG91dCBcJTFcOVwlMlwxMyAgICAgICAgICAgICA7IFNlbmQgdXNlciBJRCwgdGFiLCBw YXNzd29yZAorICAgIG91dCBcMTNcMTMgICAgICAgICAgICAgICAgICA7IFR3byBtb3JlIGNhcnJp YWdlIHJldHVybnMKKyAgICBlbmQgMAorfQorCitDT01NRU5UIC0gQ0lTTE9HSU4gbWFjcm8uICBB cmd1bWVudHM6Cis7IFwlMSA9IENvbXB1U2VydmUgVXNlciBJRAorOyBcJTIgPSBQYXNzd29yZAor OyBcJTMgPSBQcm9tcHQKKzsKK2RlZmluZSBDSVNMT0dJTiB7CisgICAgaWYgPCBcdihhcmdjKSAy IC0KKyAgICAgIGVuZCAxIFVzYWdlOiBcJTAgdXNlcmlkIFsgcGFzc3dvcmQgWyBwcm9tcHQgXSBd CisgICAgd2hpbGUgbm90IGRlZmluZWQgXCUyIHsKKyAgICAgICAgYXNrcSBcJTIgeyBcJTEncyBw YXNzd29yZDogfQorICAgIH0KKyAgICBzZXQgdGVybWluYWwgYnl0ZXNpemUgNyAgICAgOyBObyA4 LWJpdCBjaGFyYWN0ZXJzCisgICAgc2V0IGlucHV0IHRpbWVvdXQgcXVpdCAgICAgIDsgU2tpcCB0 aGUgSUYgRkFJTFVSRSdzCisgICAgb3V0cHV0IFwxMyAgICAgICAgICAgICAgICAgIDsgU2VuZCBp bml0aWFsIGNhcnJpYWdlIHJldHVybgorICAgIGlucHV0IDUgSG9zdCBOYW1lOiAgICAgICAgICA7 IExvb2sgZm9yIEhvc3QgTmFtZSBwcm9tcHQKKyAgICBvdXRwdXQgY2lzXDEzICAgICAgICAgICAg ICAgOyBTZW5kICJjaXMiIGFuZCBjYXJyaWFnZSByZXR1cm4KKyAgICBpbnB1dCA1IFVzZXIgSUQ6 ICAgICAgICAgICAgOyBMb29rIGZvciBVc2VyIElEIHByb21wdAorICAgIG91dHB1dCBcJTFcMTMg ICAgICAgICAgICAgICA7IFNlbmQgSUQgYW5kIGNhcnJpYWdlIHJldHVybgorICAgIGlucHV0IFBh c3N3b3JkOiAgICAgICAgICAgICA7IExvb2sgZm9yIFBhc3N3b3JkIHByb21wdAorICAgIG91dHB1 dCBcJTJcMTMgICAgICAgICAgICAgICA7IFNlbmQgcGFzc3dvcmQgYW5kIENSCisgICAgaWYgbm90 IGRlZiBcJTMgYXNnIFwlMyBcdihwcm9tcHQpCisgICAgaWYgbm90IGRlZiBcJTMgYXNnIFwlMyB7 Q29tcHVTZXJ2ZSBJbmZvcm1hdGlvbiBTZXJ2aWNlfQorICAgIGlucHV0IDMwIFwlMworICAgIGVu ZCAwCit9CisKK0NPTU1FTlQgLSBET1dMT0dJTiBtYWNyby4gIEFyZ3VtZW50czoKKzsgXCUxID0g RG93IEpvbmVzIFBhc3N3b3JkCis7CitkZWZpbmUgRE9XTE9HSU4geworICAgIHdoaWxlIG5vdCBk ZWZpbmVkIFwlMSB7ICAgICAgICAgICAgICA7IEdldCBwYXNzd29yZAorICAgICAgICBhc2txIFwl MSB7IERvdyBKb25lcyBwYXNzd29yZDogfQorICAgIH0KKyAgICBzZXQgaW5wdXQgdGltZW91dCBw cm9jZWVkCisgICAgaW5wdXQgMjAgU0VSVklDRSBQTEVBU0VcP1w/XD9cPyAgICAgIDsgTG9vayBm b3IgRG93IHByb21wdAorICAgIGlmIGZhaWwgZW5kIDEgTm8gc2VydmljZSBwcm9tcHQKKyAgICBv dXQgZGpuclwxMyAgICAgICAgICAgICAgICAgICAgICAgICAgOyBTZWxlY3QgREpOUgorICAgIGlu cHV0IDEwIEBAQEBAQEBAICAgICAgICAgICAgICAgICAgICAgICAgOyBHZXQgcGFzc3dvcmQgcHJv bXB0CisgICAgaWYgZmFpbCBlbmQgMSBObyBwYXNzd29yZCBwcm9tcHQKKyAgICBwYXVzZSAxICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBXYWl0IGEgc2Vjb25kLCB0aGVuLi4uCisgICAg b3V0cHV0IFwlMVwxMyAgICAgICAgICAgICAgICAgICAgICAgIDsgc2VuZCBwYXNzd29yZCBhbmQg Q1IKKyAgICBpbnB1dCAzMCBFTlRFUiBRVUVSWSAgICAgICAgICAgICAgICAgOyBHZXQgREpOUiBx dWVyeSBwcm9tcHQKKyAgICBpZiBmYWlsIGVuZCAxIE5vIG1haW4gcXVlcnkgcHJvbXB0CisgICAg cGF1c2UgMQorfQorCitDT01NRU5UIC0gREpOUlNQUklOVCBtYWNybzogTG9nIGluIHRvIERvdyBK b25lcyB2aWEgU3ByaW50TmV0LgorOworZGVmIGRqbnJzcHJpbnQgc3ByaW50IGRvdywgaWYgc3Vj Y2VzcyBkb3dsb2dpbgorCitDT01NRU5UIC0gTk9MT0dJTiBtYWNyby4gIERvZXMgbm90aGluZy4g IFVzZSB3aGVuIGxvZ2luIG5vdCByZXF1aXJlZC4KKzsKK2RlZiBub2xvZ2luIGNvbW1lbnQKKwor OkNVU1RPTSA7IEN1c3RvbWl6YXRpb24gZmlsZQorCis7IEluIFZNUyBhbmQgT3BlblZNUywgYWxs b3cgZm9yIHN5c3RlbS13aWRlIHNpdGUgY3VzdG9taXphdGlvbnMKKworeGlmIGVxdWFsICJcdihz eXN0ZW0pIiAiVk1TIiB7CisgICAgeGlmIGV4aXN0IENLRVJNSVRfSU5JOkNLRVJNSVQuU1lTIHsK KwllY2hvIEV4ZWN1dGluZyBDS0VSTUlUX0lOSTpDS0VSTUlULlNZUworCXRha2UgQ0tFUk1JVF9J Tkk6Q0tFUk1JVC5TWVMKKyAgICB9Cit9CisKKzsgRXhlY3V0ZSB1c2VyJ3MgcGVyc29uYWwgY3Vz dG9taXphdGlvbiBmaWxlCisKK3hpZiBleGlzdCBcbShfbXlpbml0KSAgewkJOyBJZiBpdCBleGlz dHMsCisgICAgZWNobyBFeGVjdXRpbmcgXG0oX215aW5pdCkuLi4JOyBwcmludCBtZXNzYWdlLAor ICAgIHRha2UgXG0oX215aW5pdCkJCQk7IGFuZCBUQUtFIHRoZSBmaWxlLgorfQorCis7IEZpbmlz aCB1cCB3aXRoIHRyYWRpdGlvbmFsIGdyZWV0aW5nLgorCitpZiA8IFx2KG50aW1lKSA0MzIwMCBl Y2hvIEdvb2QgTW9ybmluZyEKKyAgZWxzZSBpZiA8IFx2KG50aW1lKSA2MTIwMCBlY2hvIEdvb2Qg QWZ0ZXJub29uIQorICBlbHNlIGVjaG8gR29vZCBFdmVuaW5nLgorCitFbmQgOyBvZiBDLUtlcm1p dCA3LjAgaW5pdGlhbGl6YXRpb24gZmlsZS4KCmRpZmYgLS1naXQgYS9ja2VybWl0LnNwZWMgYi9j a2VybWl0LnNwZWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQzMGE1ZQot LS0gL2Rldi9udWxsCisrKyBiL2NrZXJtaXQuc3BlYwpAQCAtMCwwICsxLDE4MSBAQAorU3VtbWFy eTogICAgICAgVGhlIHF1aW50ZXNzZW50aWFsIGFsbC1wdXJwb3NlIGNvbW11bmljYXRpb25zIHBy b2dyYW0KK05hbWU6ICAgICAgICAgIGNrZXJtaXQKK1ZlcnNpb246ICAgICAgIDkuMAorUmVsZWFz ZTogICAgICAgMC4xLmJldGEyJXs/ZGlzdH0KK0xpY2Vuc2U6ICAgICAgIEJTRCB3aXRoIGFkdmVy dGlzaW5nIGFuZCBNSVQKKyMgTW9zdCBvZiB0aGUgcGFja2FnZSBpcyB1bmRlciBhIHRocmVlLWNs YXVzZSBCU0QgbGljZW5zZSwgYnV0IHRoZSBmaWxlCisjIGNrYXV0Mi5oIGFwcGVhcnMgdG8gYmUg Y292ZXJlZCBieSB0aHJlZSBsaWNlbnNlczoKKyMgICBUaGUgYmxhbmtldCBsaWNlbnNlIGluIENP UFlJTkcuVFhUIGFuZCBja2NtYWkuYywgd2hpY2ggaXMgQlNEIHRocmVlLWNsYXVzZQorIyAgIEJT RCBmb3VyLWNsYXVzZSAody8gYWR2ZXJ0aXNpbmcpCisjICAgTUlUIE9sZCBTdHlsZSAobm8gYWR2 ZXJ0aXNpbmcgd2l0aG91dCBwZXJtaXNzaW9uKQorR3JvdXA6ICAgICAgICAgQXBwbGljYXRpb25z L0NvbW11bmljYXRpb25zCisjIFVnbHkgbm9uLXZlcnNpb25lZCBVUkwgZm9yIGJldGEgdGVzdCBz b3VyY2UgdGFyYmFsbDoKK1NvdXJjZTA6ICAgICAgIGh0dHA6Ly93d3cuY29sdW1iaWEuZWR1L2tl cm1pdC9mdHAvdGVzdC90YXIveC50YXIuZ3oKKyMgT25jZSByZWxlYXNlZCwgdGhlcmUgc2hvdWxk IGJlIGEgcHJvcGVybHkgdmVyc2lvbmVkIFVSTCBzb21ldGhpbmcgbGlrZToKKyNTb3VyY2UwOiAg ICAgICBmdHA6Ly9rZXJtaXQuY29sdW1iaWEuZWR1L2tlcm1pdC9hcmNoaXZlcy9ja3UyMTEudGFy Lmd6CitTb3VyY2UxOiAgICAgICBja2VybWl0LmluaQorU291cmNlMjogICAgICAgY2t1LSV7bmFt ZX0ubG9jYWwuaW5pCitTb3VyY2UzOiAgICAgICBja3UtJXtuYW1lfS5tb2RlbS5nZW5lcmljLmlu aQorU291cmNlNDogICAgICAgY2t1LSV7bmFtZX0ubG9jYWxlLmluaQorU291cmNlNTogICAgICAg Y2t1LSV7bmFtZX0ucGhvbmUKK1VSTDogICAgICAgICAgIGh0dHA6Ly93d3cuY29sdW1iaWEuZWR1 L2tlcm1pdC9jazkwLmh0bWwKK0J1aWxkUmVxdWlyZXM6IHBhbS1kZXZlbAorQnVpbGRSZXF1aXJl czogcGtnY29uZmlnCitCdWlsZFJlcXVpcmVzOiBvcGVuc3NsLWRldmVsID49IDAuOS43CitCdWls ZFJlcXVpcmVzOiBnbXAtZGV2ZWwgPj0gMy4xLjEKK0J1aWxkUmVxdWlyZXM6IGxpYnRlcm1jYXAt ZGV2ZWwKK0J1aWxkUmVxdWlyZXM6IG5jdXJzZXMtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6IGxvY2tk ZXYtZGV2ZWwgPj0gMS4wLjEtOAorUmVxdWlyZXM6ICAgICAgbG9ja2RldiA+PSAxLjAuMS04CitC dWlsZFJvb3Q6ICAgICAle190bXBwYXRofS8le25hbWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNlfS1y b290LSUoJXtfX2lkX3V9IC1uKQorIyBOQiBUaGVyZSB1c2VkIHRvIGJlIGEgc3B1cmlvdXMgIk9i c29sZXRlczogZ2tlcm1pdCIgbGluZSBoZXJlLCBidXQgY2tlcm1pdAorIyBkb2VzIE5PVCBvYnNv bGV0ZSBna2VybWl0LiBUaGV5IGFyZSBpbmRlcGVuZGVudCBwcm9ncmFtcyB3aXRoIGRpZmZlcmVu dAorIyBwdXJwb3Nlcy4KKworJWRlc2NyaXB0aW9uCitDLUtlcm1pdCBpcyBhIGNvbWJpbmVkIHNl cmlhbCBhbmQgbmV0d29yayBjb21tdW5pY2F0aW9uIHNvZnR3YXJlCitwYWNrYWdlIG9mZmVyaW5n IGEgY29uc2lzdGVudCwgbWVkaXVtLWluZGVwZW5kZW50LCBjcm9zcy1wbGF0Zm9ybQorYXBwcm9h Y2ggdG8gY29ubmVjdGlvbiBlc3RhYmxpc2htZW50LCB0ZXJtaW5hbCBzZXNzaW9ucywgZmlsZSB0 cmFuc2ZlcgorYW5kIG1hbmFnZW1lbnQsIGNoYXJhY3Rlci1zZXQgdHJhbnNsYXRpb24sIGFuZCBh dXRvbWF0aW9uIG9mCitjb21tdW5pY2F0aW9uIHRhc2tzLgorCislcHJlcAorJXNldHVwIC1xIC1j CisKKyVidWlsZAorJXtfX21ha2V9IGxpbnV4IFwKKyAgICAgICAgS0ZMQUdTPSItTzAgJFJQTV9P UFRfRkxBR1MgLVdhbGwgLURPUEVOU1NMXzA5NyAtRHNkYXRhPXNfZGF0YSAtREhBVkVfQkFVREJP WSAtREhBVkVfT1BFTlBUWSAtRCdrcmI1X2luaXRfZXRzKF9fY3R4KT0nIiBcCisgICAgICAgIEs0 TElCPSBcCisgICAgICAgIEs0SU5DPSBcCisgICAgICAgIEs1TElCPS1sdXRpbCBcCisgICAgICAg IEs1SU5DPS1JJXtfaW5jbHVkZWRpcn0vZXQgXAorICAgICAgICBTU0xMSUI9IFwKKyAgICAgICAg U1NMSU5DPSBcCisgICAgICAgICV7P19zbXBfbWZsYWdzfQorCisjIGNvbnZlcnQgZG9jIGZpbGUg ZnJvbSBJU08tODg1OS0xIHRvIFVURi04IGVuY29kaW5nCitmb3IgZiBpbiBja2MyOTkudHh0Citk bworICBpY29udiAtZmlzbzg4NTkxIC10dXRmOCAkZiA+JGYubmV3CisgIHRvdWNoIC1yICRmICRm Lm5ldworICBtdiAkZi5uZXcgJGYKK2RvbmUKKworJWluc3RhbGwKK3JtIC1yZiAle2J1aWxkcm9v dH0KK2luc3RhbGwgLWQgJXtidWlsZHJvb3R9eyV7X2JpbmRpcn0sJXtfbWFuZGlyfS9tYW4xLCV7 X3N5c2NvbmZkaXJ9L2tlcm1pdH0KKworcGVybCAtcGkgLWUgInN8JXtfcHJlZml4fS9sb2NhbC9i aW4va2VybWl0fCV7X2JpbmRpcn0va2VybWl0fGciIGNrZXJtaXQuaW5pCisKK2luc3RhbGwgLW0g NzU1IHdlcm1pdCAle2J1aWxkcm9vdH0le19iaW5kaXJ9L2tlcm1pdAoraW5zdGFsbCAtbSA2NDQg Y2t1a2VyLm5yICV7YnVpbGRyb290fSV7X21hbmRpcn0vbWFuMS9rZXJtaXQuMQoraW5zdGFsbCAt bSA2NDQgJXtTT1VSQ0UxfSAle2J1aWxkcm9vdH0le19zeXNjb25mZGlyfS9rZXJtaXQvCitpbnN0 YWxsIC1tIDY0NCAle1NPVVJDRTJ9ICV7YnVpbGRyb290fSV7X3N5c2NvbmZkaXJ9L2tlcm1pdC9j a2VybWl0LmxvY2FsLmluaQoraW5zdGFsbCAtbSA2NDQgJXtTT1VSQ0UzfSAle2J1aWxkcm9vdH0l e19zeXNjb25mZGlyfS9rZXJtaXQvY2tlcm1pdC5tb2RlbS5pbmkKK2luc3RhbGwgLW0gNjQ0ICV7 U09VUkNFNH0gJXtidWlsZHJvb3R9JXtfc3lzY29uZmRpcn0va2VybWl0L2NrZXJtaXQubG9jYWxl LmluaQoraW5zdGFsbCAtbSA2NDQgJXtTT1VSQ0U1fSAle2J1aWxkcm9vdH0le19zeXNjb25mZGly fS9rZXJtaXQvY2tlcm1pdC5waG9uZQorCislY2xlYW4KK3JtIC1yZiAle2J1aWxkcm9vdH0KKwor JWZpbGVzCislZGVmYXR0cigtLHJvb3Qscm9vdCwtKQorJXtfYmluZGlyfS9rZXJtaXQKKyVkaXIg JXtfc3lzY29uZmRpcn0va2VybWl0CislY29uZmlnKG5vcmVwbGFjZSkgJXZlcmlmeShub3Qgc2l6 ZSBtdGltZSBtZDUpICV7X3N5c2NvbmZkaXJ9L2tlcm1pdC8qCisle19tYW5kaXJ9L21hbjEva2Vy bWl0LjEqCislZG9jIENPUFlJTkcuVFhUCislZG9jIGNrYzI5OS50eHQKKworJWNoYW5nZWxvZwor KiBGcmkgSnVuIDI0IDIwMTEgRXJpYyBTbWl0aCA8ZXJpY0Bicm91aGFoYS5jb20+IC0gOS4wLTAu MS5iZXRhMgorLSB1cGRhdGVkIHRvIHVwc3RyZWFtIDkuMCBiZXRhIDIgcmVsZWFzZQorCisqIE1v biBKdWwgMDMgMjAwNiBQZXRlciBWcmFiZWMgPHB2cmFiZWNAcmVkaGF0LmNvbT4gLSA4LjAuMjEx LTUKKy0gZml4IHJlcXVpcmVzICgjMTk1NTczKQorCisqIEZyaSBGZWIgMTAgMjAwNiBKZXNzZSBL ZWF0aW5nIDxqa2VhdGluZ0ByZWRoYXQuY29tPiAtIDguMC4yMTEtNC4yLjEKKy0gYnVtcCBhZ2Fp biBmb3IgZG91YmxlLWxvbmcgYnVnIG9uIHBwYyg2NCkKKworKiBUdWUgRmViIDA3IDIwMDYgSmVz c2UgS2VhdGluZyA8amtlYXRpbmdAcmVkaGF0LmNvbT4gLSA4LjAuMjExLTQuMgorLSByZWJ1aWx0 IGZvciBuZXcgZ2NjNC4xIHNuYXBzaG90IGFuZCBnbGliYyBjaGFuZ2VzCisKKyogRnJpIERlYyAw OSAyMDA1IEplc3NlIEtlYXRpbmcgPGprZWF0aW5nQHJlZGhhdC5jb20+CistIHJlYnVpbHQKKwor KiBUdWUgTm92ICA4IDIwMDUgVG9tYXMgTXJheiA8dG1yYXpAcmVkaGF0LmNvbT4gOC4wLjIxMS00 CistIHJlYnVpbHQgd2l0aCBuZXcgb3BlbnNzbAorCisqIFdlZCBBdWcgMzEgMjAwNSBQZXRlciBW cmFiZWMgPHB2cmFiZWNAcmVkaGF0LmNvbT4gOC4wLjIxMS0zCistIHVzZSBiYXVkYm95LmggdG8g Y3JlYXRlIHBlci1kZXZpY2UgbG9jayhzKSBpbiAvdmFyL2xvY2sgKCMxNjYxNTUpCisKKyogRnJp IEp1bCAyOSAyMDA1IFBldGVyIFZyYWJlYyA8cHZyYWJlY0ByZWRoYXQuY29tPiA4LjAuMjExLTIK Ky0gdXNlIG9wZW5wdHkgbGlicmFyeSAoIzE1NjQxNywjMTY0NDY1KQorCisqIFdlZCBNYXIgMTUg MjAwNSBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+IDguMC4yMTEtMQorLSB1cGRh dGUgdG8gMjExCisKKyogTW9uIEZlYiAyOCAyMDA1IE5hbGluIERhaHlhYmhhaSA8bmFsaW5AcmVk aGF0LmNvbT4KKy0gcmVtb3ZlIG5vdy11bm5lY2Vzc2FyeSB1c2Ugb2Yga3JiNV9pbml0X2V0cygp CisKKyogVGh1IEZlYiAwOCAyMDA1IFBldGVyIFZyYWJlYyA8cHZyYWJlY0ByZWRoYXQuY29tPgor LSByZWJ1aWx0CisKKyogVHVlIE5vdiAwMiAyMDA0IFBldGVyIFZyYWJlYyA8cHZyYWJlY0ByZWRo YXQuY29tPgorLSBmaXggc3NoIGNvbm5lY3Rpb24gKCMxMjgzNDkpCisKKyogV2VkIE9jdCAyMCAy MDA0IFBldGVyIFZyYWJlYyA8cHZyYWJlY0ByZWRoYXQuY29tPgorLSBhZGQgQnVpbGRSZXF1aXJl czogbGlidGVybWNhcC1kZXZlbCBCdWlsZFJlcXVpcmVzOiBuY3Vyc2VzLWRldmVsCistIHJlYnVp bHQKKworKiBUdWUgSnVuIDE1IDIwMDQgRWxsaW90IExlZSA8c29wd2l0aEByZWRoYXQuY29tPgor LSByZWJ1aWx0CisKKyogVGh1IEFwciAgMSAyMDA0IEplZmYgSm9obnNvbiA8amJqQHJlZGhhdC5j b20+IDguMC4yMDktNworLSByZW1vdmUgb2xkIGNvcHlyaWdodCBmcm9tIGRlc2NyaXB0aW9uICgj MTE1OTUyKS4KKworKiBGcmkgRmViIDEzIDIwMDQgRWxsaW90IExlZSA8c29wd2l0aEByZWRoYXQu Y29tPgorLSByZWJ1aWx0CisKKyogTW9uIEphbiAxOSAyMDA0IEplZmYgSm9obnNvbiA8amJqQGpi ai5vcmc+IDguMC4yMDktNQorLSBmaXg6IHByaW50ZiBhcmcgbGlzdHMgY2xlYW5lZCB1cCwgKGl0 c2FkaXIgJiYgIWlzd2lsZCgqeHApKSAoIzExMzY2MykKKworKiBUdWUgSnVsIDIyIDIwMDMgTmFs aW4gRGFoeWFiaGFpIDxuYWxpbkByZWRoYXQuY29tPiA4LjAuMjA5LTQKKy0gcmVidWlsZAorCisq IFdlZCBKdW4gMDQgMjAwMyBFbGxpb3QgTGVlIDxzb3B3aXRoQHJlZGhhdC5jb20+CistIHJlYnVp bHQKKworKiBUaHUgTWF5ICAxIDIwMDMgRWxsaW90IExlZSA8c29wd2l0aEByZWRoYXQuY29tPiA4 LjAuMjA5LTIKKy0gRGVmaW5lIHNkYXRhPXNfZGF0YSB0byBmaXggcHBjNjQgYnVpbGQKKworKiBN b24gQXByIDIxIDIwMDMgSmVmZiBKb2huc29uIDxqYmpAcmVkaGF0LmNvbT4gOC4wLjIwOS0xCist IHVwZGF0ZSB0byA4LjAuMjA5LgorCisqIFdlZCBGZWIgMjYgMjAwMyBKZWZmIEpvaG5zb24gPGpi akByZWRoYXQuY29tPiA4LjAuMjA2LTEuMjAwMzAyMjYKKy0gYnVpbGQgMjAwMzAyMjYgc25hcCBz aG90ICh3aXRoIGVycm5vIGZpeCkgZm9yIHJhdyBoaWRlLgorCisqIFRodSBKYW4gMjMgMjAwMyBU aW0gUG93ZXJzIDx0aW1wQHJlZGhhdC5jb20+IDguMC4yMDYtMC42CistIHJlYnVpbGQKKworKiBU dWUgSmFuIDIxIDIwMDMgSmVmZiBKb2huc29uIDxqYmpAcmVkaGF0LmNvbT4gOC4wLjI2LTAuNQor LSByZW1vdmUgIkNMSUNLIEhFUkUiIGZyb20gZGVzY3JpcHRpb24gKCM4MjEzMykuCisKKyogVHVl IEphbiAgNyAyMDAzIE5hbGluIERhaHlhYmhhaSA8bmFsaW5AcmVkaGF0LmNvbT4gOC4wLjIwNi0w LjQKKy0gcmVidWlsZAorCisqIEZyaSBKYW4gIDMgMjAwMyBOYWxpbiBEYWh5YWJoYWkgPG5hbGlu QHJlZGhhdC5jb20+CistIEJ1aWxkIHVzaW5nIHByZWRlZmluZWQgcmVkaGF0ODAgdGFyZ2V0Cist IFBhc3MgaW5jbHVkZSBhbmQgbGlicmFyeSBwYXRocyBmb3IgS2VyYmVyb3MgYW5kIFNTTCBkaXJl Y3RseSB0byBtYWtlCistIERlZmluZSBPUEVOU1NMXzA5NyBpbiBLRkxBR1MgdG8gYnVpbGQgd2l0 aCBPcGVuU1NMIDAuOS43CisKKyogVGh1IERlYyAxMiAyMDAyIEVsbGlvdCBMZWUgPHNvcHdpdGhA cmVkaGF0LmNvbT4gOC4wLjIwNi0wLjMKKy0gQWRkIHBhdGNoMiB0byBpbmNsdWRlIGVycm5vLmgK Ky0gQ2hhbmdlIGNrdS1tYWtlZmlsZSB0byBub3QgYnVpbGQgS1JCNCAmIEtSQjUyNCwgYmVjYXVz ZSBrZXJiZXJvc0lWL2Rlcy5oCisgIGNvbmZsaWN0cyB3aXRoIG9wZW5zc2wvZGVzLmgKKworKiBG cmkgTm92IDI5IDIwMDIgSmVmZiBKb2huc29uIDxqYmpAcmVkaGF0LmNvbT4gOC4wLjIwNi0wLjIK Ky0gb2Jzb2xldGUgZ2tlcm1pdAorCisqIE1vbiBOb3YgMjUgMjAwMiBKZWZmIEpvaG5zb24gPGpi akByZWRoYXQuY29tPiA4LjAuMjA2LTAuMQorLSBjcmVhdGUgKHdpdGggdGhhbmtzIHRvIFBMRCwg d2hvIHBhY2thZ2VkIEMtS2VybWl0IGJlZm9yZSBSZWQgSGF0IGRpZCkuCgpkaWZmIC0tZ2l0IGEv Y2t1LWNrZXJtaXQubG9jYWwuaW5pIGIvY2t1LWNrZXJtaXQubG9jYWwuaW5pCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5OWY3OTgKLS0tIC9kZXYvbnVsbAorKysgYi9ja3Ut Y2tlcm1pdC5sb2NhbC5pbmkKQEAgLTAsMCArMSwxMjggQEAKKzsgL2V0Yy9rZXJtaXQvY2tlcm1p dC5sb2NhbC5pbmk6IGxvY2FsIHN5c3RlbS13aWRlIGluaXQgZmlsZSBmb3Iga2VybWl0Cis7IGNy ZWF0ZWQgMjctSmFuLTE5OTcgam1rCis7IGF1dG9kYXRlOiAxMi1NYXItMTk5NyAKKzsgYXV0b3Rp bWU6IDAwOjI3IAorCis7IHRoaXMgZmlsZSBpcyByZWFkIGZyb20gXG0oc3lzX2Rpcilja2VybWl0 LmluaQorOyBiZWZvcmUgdGhlIHVzZXIncyBwZXJzb25hbCBpbml0IGZpbGUgKH4vLm15a2VybXJj KS4KKworOyBzeXN0ZW0td2lkZSBkaWFsaW5nIGRpcmVjdG9yeTsgZGVmYXVsdCBjYW4gYmUgCis7 IG92ZXJyaWRkZW4gd2l0aCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgS0VSTUlUX1NZU19ESUFM RElSCit4aWYgZGVmaW5lZCBcJChLRVJNSVRfU1lTX0RJQUxESVIpIHsKKyAgYXNzaWduIHN5c19k aWFsX2RpciB7XCQoS0VSTUlUX1NZU19ESUFMRElSKX0KK30gZWxzZSB7CisgIGFzc2lnbiBzeXNf ZGlhbF9kaXIge1xtKHN5c19kaXIpY2tlcm1pdC5waG9uZX0KK30KK3hpZiBleGlzdCBcbShzeXNf ZGlhbF9kaXIpIHsKKyAgZWNobyB7IEFkZGluZyBzeXN0ZW0gZGlhbGluZyBkaXJlY3RvcnkgXG0o c3lzX2RpYWxfZGlyKSAuLi59CisgIHhpZiBleGlzdCBcbShfZGlhbGRpcikgeworICAgIHNldCBk aWFsIGRpcmVjdG9yeSBcbShfZGlhbGRpcikgXG0oc3lzX2RpYWxfZGlyKQorICB9IGVsc2Ugewor ICAgIHNldCBkaWFsIGRpcmVjdG9yeSBcbShzeXNfZGlhbF9kaXIpCisgIH0KK30KKworOyBpbml0 aWFsaXplIGxvY2FsIG1vZGVtOyB0aGUgZGVmYXVsdCBpbml0IGZpbGUKKzsgY2FuIGJlIG92ZXJy aWRkZW4gYnkgZW52aXJvbm1lbnQgdmFyaWFibGUgS0VSTUlUX01PREVNX0lOSSwKKzsgYW5kIHRo ZSBkZWZhdWx0IGRldmljZSBjYW4gYmUgb3ZlcnJpZGVuIGJ5IEtFUk1JVF9NT0RFTS4KK3hpZiBk ZWZpbmVkIFwkKEtFUk1JVF9NT0RFTV9JTkkpIHsKKyAgYXNzaWduIG1vZGVtX2luaSB7XCQoS0VS TUlUX01PREVNX0lOSSl9Cit9IGVsc2UgeworICBhc3NpZ24gbW9kZW1faW5pIHtcbShzeXNfZGly KWNrZXJtaXQubW9kZW0uaW5pfQorfQoreGlmIG5vdCBleGlzdCBcbShtb2RlbV9pbmkpIHsgCisg IGVjaG8geyBXYXJuaW5nOiBJIGNhbid0IGZpbmQgbW9kZW0gaW5pdCBmaWxlIGBcbShtb2RlbV9p bmkpJyAuLi59CisgIGVjaG8geyB0aGUgYG1vZGVtJyBjb21tYW5kIG1heSBub3Qgd29yayBwcm9w ZXJseS59Cit9Cit4aWYgZGVmaW5lZCBcJChLRVJNSVRfTU9ERU0pIHsKKyAgYXNzaWduIG1vZGVt X2RlZmF1bHRfZGV2IHtcJChLRVJNSVRfTU9ERU0pfQorfSBlbHNlIHsKKyAgYXNzaWduIG1vZGVt X2RlZmF1bHRfZGV2IHsvZGV2L21vZGVtfQorfQorOyB0aGUgYG1vZGVtJyBjb21tYW5kIGluaXRp YWxpemVzIGEgbW9kZW0gZGV2aWNlCis7IHVzaW5nIGEgdGhlIG1vZGVtIGluaXQgZmlsZSBhYm92 ZS4KK2RlZmluZSBtb2RlbSB7CisgIHN3aXRjaCBcdihhcmdjKSB7CisgICAgOjEKKyAgICAgIGFz c2lnbiBtb2RlbV9kZXYgXG0obW9kZW1fZGVmYXVsdF9kZXYpCisgICAgICBicmVhaworICAgIDoy CisgICAgICBhc3NpZ24gbW9kZW1fZGV2IFwlMQorICAgICAgYnJlYWsKKyAgICA6ZGVmYXVsdAor ICAgICAgc3RvcCAwIHtVc2FnZTogTU9ERU0gW2RldmljZS1uYW1lXX0KKyAgfQorICB0YWtlIFxt KG1vZGVtX2luaSkKK30gCisKKzsgc29tZSBvdGhlciB1c2VmdWwgbW9kZW0tb3JpZW50ZWQgY29t bWFuZHM6Cis7IGNsb3NlIGxpbmUgd2l0aG91dCBoYW5naW5nIHVwCitkZWZpbmUgb2ZmbGluZSB7 CisgIHNldCBtb2RlbSBoYW5ndXAtbWV0aG9kIHJzMjMyLXNpZ25hbAorICBzZXQgbGluZQorfQor OyBsaXN0IHBlcnNvbmFsIGRpYWxpbmcgZGlyZWN0b3J5CitkZWZpbmUgbGlzdCB7CisgIHR5cGUg XG0oX2RpYWxkaXIpCit9CisKKzsgcmVkZWZpbmUgZWRpdCBjb21tYW5kIHRvIHJ1biBlZGl0b3Ig ZXZlbiBpZgorOyB0aGUgdXNlciBkb2Vzbid0IHNwZWNpZnkgYSBmaWxlIHRvIGVkaXQuCitkZWZp bmUgZWRpdCB7IVxtKG15ZWRpdG9yKSBcJTEgXCUyIFwlMyBcJTQgXCU1IFwlNiBcJTcgXCU4fQor Cis7IHNvbWUgdXNlZnVsIHNoZWxsIGNvbW1hbmRzCitkZWZpbmUgY2xzICB7IWNsZWFyfQoreGlm IGRlZmluZWQgXCQoUEFHRVIpIHsKKyAgYXNzaWduIHBhZ2VfY21kIHtcJChQQUdFUil9Cit9IGVs c2UgeworICBhc3NpZ24gcGFnZV9jbWQge21vcmV9Cit9CitkZWZpbmUgcGFnZSB7IVxtKHBhZ2Vf Y21kKSBcJTEgXCUyIFwlMyBcJTQgXCU1IFwlNiBcJTcgXCU4fQorZGVmaW5lIG1vcmUge2RvIHBh Z2UgXCUxIFwlMiBcJTMgXCU0IFwlNSBcJTYgXCU3IFwlOH0KKworOyBzb21lIHVzZWZ1bCBtYWNy byBjb21tYW5kcworZGVmaW5lIDhiaXQgICAgICB7c2V0IHRlcm0gYnl0ZXNpemUgOCwgc2V0IHRl cm0gbG9ja2luZy1zaGlmdCBvZmZ9CitkZWZpbmUgN2JpdCAgICAgIHtzZXQgdGVybSBieXRlc2l6 ZSA3LCBzZXQgdGVybSBsb2NraW5nLXNoaWZ0IG9ufQorZGVmaW5lIGxpdGVyYWwgICB7c2V0IGZp bGUgbmFtZXMgbGl0ZXJhbH0KK2RlZmluZSBjb252ZXJ0ZWQge3NldCBmaWxlIG5hbWVzIGNvbnZl cnRlZH0KKworOyB2YXJpb3VzIHBhcmFtZXRlcnMKK2VpZ2h0Yml0CitmYXN0CitzZXQgZXhpdCB3 YXJuaW5nIG9mZgorc2V0IGZpbGUgdHlwZSB0ZXh0CitzZXQgZmlsZSBuYW1lcyBsaXRlcmFsCitz ZXQgZmlsZSBjb2xsaXNpb24gdXBkYXRlCitzZXQgZmlsZSBpbmNvbXBsZXRlIGRpc2NhcmQKK3Nl dCBmaWxlIGRpc3BsYXkgY3J0CitzZXQgdHJhbnNtaXQgbGluZWZlZWQgb2ZmCisKKzsgc2V0IGF1 dG9tYXRpYyBjb21tYW5kcyBvZmYgZm9yIHNlY3VyaXR5CitzZXQgdGVybWluYWwgYXBjIG9mZgor c2V0IHRlcm1pbmFsIGF1dG9kb3dubG9hZCBvZmYKKworOyBzZXJ2ZXIgbW9kZQorc2V0IHNlcnZl ciBkaXNwbGF5IG9uCis7c2V0IHNlcnZlciBnZXQtcGF0aCA8cGF0aD4gPHBhdGg+IC4uLgorO3Nl dCBzZXJ2ZXIgaWRsZS10aW1lb3V0IDMwMAorO3NldCBzZXJ2ZXIgbG9naW4gPG5hbWU+IDxwYXNz d29yZD4KKworOyBkaXNhYmxlIHNvbWUgc2VydmVyIG1vZGUgY29tbWFuZHMgZm9yIGEKKzsgcmVh c29uYWJsZSBsZXZlbCBvZiBzZWN1cml0eQorZGlzYWJsZSBhc3NpZ24KKztkaXNhYmxlIGNvcHkK KztkaXNhYmxlIGRlbGV0ZQorZGlzYWJsZSBob3N0CitkaXNhYmxlIG1haWwKK2Rpc2FibGUgcHJp bnQKK2Rpc2FibGUgcXVlcnkKKztkaXNhYmxlIHJlbmFtZQorO2Rpc2FibGUgcmV0cmlldmUKKztk aXNhYmxlIHR5cGUKK2Rpc2FibGUgd2hvCisKKzsgc2V0IGEgc29tZXdoYXQgdXNlZnVsIHByb21w dAorYXNzaWduIGhvc3RuYW1lIHtcZmJyZWFrKFx2KGhvc3QpLC4pfQorc2V0IHByb21wdCB7Qy1L ZXJtaXRAXG0oaG9zdG5hbWUpPiB9CisKKzsgLS0tLS0tLS0gRW5kIC0tLS0tLS0tCgpkaWZmIC0t Z2l0IGEvY2t1LWNrZXJtaXQubG9jYWxlLmluaSBiL2NrdS1ja2VybWl0LmxvY2FsZS5pbmkKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA4MDg1OAotLS0gL2Rldi9udWxsCisr KyBiL2NrdS1ja2VybWl0LmxvY2FsZS5pbmkKQEAgLTAsMCArMSw0NiBAQAorOyAvZXRjL2tlcm1p dC9ja2VybWl0LmxvY2FsZS5pbmk6IGxvY2FsZSBzZXR0aW5ncyBmb3IgQy1LZXJtaXQKKzsgY3Jl YXRlZCAyNy1KYW4tMTk5NyBqbWsKKzsgYXV0b2RhdGU6IDEyLU1hci0xOTk3IAorOyBhdXRvdGlt ZTogMDA6MjggCisKK2VjaG8geyBTZXR0aW5nIGxvY2FsZSAuLi59CisKKzsgZGVmaW5lIHZhcmlv dXMgbG9jYWxlIHNldHRpbmdzCitkZWZpbmUgbG9jYWxlX3NldF9jb3VudHJ5IHsKKyAgc2V0IGlu cHV0IGNhc2UgaWdub3JlCisgIHN3aXRjaCBcJTEgeworICAgIDp1c2EgCisgICAgICBzZXQgZGlh bCBjb3VudHJ5LWNvZGUgMQorICAgICAgc2V0IGRpYWwgaW50bC1wcmVmaXggMDExCisgICAgICBz ZXQgZGlhbCBsZC1wcmVmaXggMQorICAgICAgc2V0IGRpYWwgdG9sbC1mcmVlLWFyZWEtY29kZSA4 MDAgODg4CisgICAgICBzZXQgZGlhbCB0b2xsLWZyZWUtcHJlZml4IDEKKyAgICAgIGJyZWFrCisg ICAgOmNhbmFkYQorICAgICAgc2V0IGRpYWwgY291bnRyeS1jb2RlIDEKKyAgICAgIHNldCBkaWFs IGludGwtcHJlZml4IDAxMQorICAgICAgc2V0IGRpYWwgbGQtcHJlZml4IDEKKyAgICAgIHNldCBk aWFsIHRvbGwtZnJlZS1hcmVhLWNvZGUgODAwIDg4OAorICAgICAgc2V0IGRpYWwgdG9sbC1mcmVl LXByZWZpeCAxCisgICAgICBicmVhaworICAgIDpkZWZhdWx0CisgICAgICBlY2hvIHsgRXJyb3I6 IHVua25vd24gY291bnRyeSBuYW1lIGBcJTEnIC4uLn0KKyAgICAgIHN0b3AgMCB7IHBsZWFzZSBh ZGQgaXQgdG8gXG0obG9jYWxlX2luaSl9CisgIH0KK30KK2RlZmluZSBsb2NhbGUgeworICB4aWYg PCBcdihhcmdjKSAzIHsKKyAgICBzdG9wIDAgeyBVc2FnZTogTE9DQUxFIGNvdW50cnktbmFtZSBh cmVhLWNvZGV9CisgIH0KKyAgeGlmIG51bWVyaWMgXCUyIHsKKyAgICBzZXQgZGlhbCBhcmVhLWNv ZGUgXCUyCisgIH0gZWxzZSB7CisgICAgc3RvcCAwIHsgRXJyb3I6IGFyZWEtY29kZSBtdXN0IGJl IG51bWVyaWN9CisgIH0KKyAgbG9jYWxlX3NldF9jb3VudHJ5IFwlMQorfQorCis7IHNldCB0aGUg bG9jYWxlIGhlcmUKK2xvY2FsZSB1c2EgOTE5CisKKzsgLS0tLS0tLS0gRW5kIC0tLS0tLS0tCgpk aWZmIC0tZ2l0IGEvY2t1LWNrZXJtaXQubW9kZW0uZ2VuZXJpYy5pbmkgYi9ja3UtY2tlcm1pdC5t b2RlbS5nZW5lcmljLmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDFk MzEwCi0tLSAvZGV2L251bGwKKysrIGIvY2t1LWNrZXJtaXQubW9kZW0uZ2VuZXJpYy5pbmkKQEAg LTAsMCArMSwxMjcgQEAKKzsgL2V0Yy9rZXJtaXQvY2tlcm1pdC5tb2RlbS5pbmk6IG1vZGVtIGlu aXRpYWxpemF0aW9uIGZvciBDLUtlcm1pdAorCitlY2hvIHsgSW5pdGlhbGl6aW5nIG1vZGVtIFxt KG1vZGVtX2RldikgLi4ufQorCis7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKKzs7IE1PREVNIFRZUEU6IAorOzsg Y2hhbmdlIHRvIHJlZmxlY3QgeW91ciBtb2RlbS4KKzs7IHVzZSBgc2V0IG1vZGVtIHR5cGUgPycg dG8gbGlzdCBhdmFpbGFibGUgbW9kZW0gdHlwZXMuCitzZXQgbW9kZW0gdHlwZSBwcGkKKzs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7OworCis7IHNldCBsaW5lIHRvIHZhbHVlIGZyb20gYG1vZGVtJyBtYWNybworc2V0 IGxpbmUgXG0obW9kZW1fZGV2KQoreGlmIGZhaWwgeworICBzdG9wIDAgeyBFcnJvcjogY291bGRu J3Qgc2V0IGxpbmUgdG8gYFxtKG1vZGVtX2RldiknfQorfQorCis7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKKzs7 IERFVklDRSBQQVJBTUVURVJTOiAKKzs7IGNoYW5nZSBzcGVlZCBhbmQgZmxvdy1jb250cm9sIHRv IHN1aXQuCitzZXQgY2Fycmllci13YXRjaCBhdXRvCitzZXQgc3BlZWQgMTE1MjAwCitzZXQgZmxv dyBydHMvY3RzCis7c2V0IGZsb3cgeG9uL3hvZmYKKworOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Cis7OyBNT0RF TSBQQVJBTUVURVJTOgorOzsgYG1vZGVtLWNvbW1hbmQnIGhhbmd1cCBtZXRob2Qgc2VuZHMgYCsr K0FUSDArKysnIGFuZCB3b3JrcyBmb3IgbW9zdCBtb2RlbXMuCis7OyBgcnMyMzItc2lnbmFsJyBo YW5ndXAgbWV0aG9kIG9ubHkgd29ya3MgaWYgeW91ciBtb2RlbSByZXNwZWN0cyBEVFIuCitzZXQg bW9kZW0gaGFuZ3VwLW1ldGhvZCBtb2RlbS1jb21tYW5kCis7c2V0IG1vZGVtIGhhbmd1cC1tZXRo b2QgcnMyMzItc2lnbmFsCitzZXQgbW9kZW0gc3BlZWQtbWF0Y2hpbmcgb2ZmCisKKzs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7OworOzsgTU9ERU0gU1RSSU5HUzoKKzs7IGNoYW5nZSB0byBzdWl0IGlmIG5lY2Vzc2Fy eS4KKzs7IGlmIHlvdXIgbW9kZW0gaGFzIGEgc2F2ZWQgY29uZmlndXJhdGlvbiwgeW91IGNhbiBz ZW5kIGBBVFonIHRvIHJlY2FsbCBpdC4KKztzZXQgbW9kZW0gY29tbWFuZCBpbml0LXN0cmluZyB7 YXR6XHgwZH0KK3NldCBtb2RlbSBkaWFsLWNvbW1hbmQge2F0ZCAlc1x4MGR9CisKKzs7IGBsb3Vk JyBhbmQgYHF1aWV0JyBjb21tYW5kcyB0dXJuIHRoZSBtb2RlbSdzCis7OyBzcGVha2VyIG9uIG9y IG9mZiB3aGlsZSBkaWFsaW5nLgorZGVmaW5lIGxvdWQgIHtzZXQgbW9kZW0gZGlhbC1jb21tYW5k IHthdG0xZCAlc1x4MGR9fQorZGVmaW5lIHF1aWV0IHtzZXQgbW9kZW0gZGlhbC1jb21tYW5kIHth dG0wZCAlc1x4MGR9fQorCis7OyBgY2FsbHdhaXRpbmcnIGNvbW1hbmQgdHVybnMgYW50aS1jYWxs d2FpdGluZyBwcmVmaXggb24gb3Igb2ZmCitkZWZpbmUgY2FsbHdhaXRpbmcgeworICB4aWYgPSBc dihhcmdjKSAyIHsKKyAgICBzZXQgaW5wdXQgY2FzZSBpZ25vcmUKKyAgICBzd2l0Y2ggXCUxIHsK KyAgICAgIDpvbgorICAgICAgICBzZXQgZGlhbCBwcmVmaXggeyo3MFx4MmN9CisgICAgICAgIGJy ZWFrCisgICAgICA6b2ZmCisgICAgICAgIHNldCBkaWFsIHByZWZpeCB7fQorICAgICAgICBicmVh aworICAgICAgOmRlZmF1bHQKKyAgICAgICAgZWNobyB7VXNhZ2U6IENBTExXQUlUSU5HIHsgT04g fCBPRkYgfX0KKyAgICB9CisgIH0gZWxzZSB7CisgICAgZWNobyB7VXNhZ2U6IENBTExXQUlUSU5H IHsgT04gfCBPRkYgfX0KKyAgfQorfQorZG8gY2FsbHdhaXRpbmcgb2ZmCisKKzs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7OworOzsgRElBTElORyBQQVJBTUVURVJTOgorOzsgY2hhbmdlIHRvIHN1aXQKK3NldCBkaWFs IGNvbm5lY3QgYXV0bworc2V0IGRpYWwgY29uZmlybWF0aW9uIG9mZgorc2V0IGRpYWwgZGlzcGxh eSBvbgorc2V0IGRpYWwgaGFuZ3VwIG9uCitzZXQgZGlhbCBtZXRob2QgdG9uZQorc2V0IGRpYWwg c29ydCBvZmYKKworc2V0IGRpYWwgdGltZW91dCA3NQorc2V0IGRpYWwgcmV0cmllcyAwCitzZXQg ZGlhbCBpbnRlcnZhbCAxMAorCis7OyBgc2V0cmVkaWFsJyBjb21tYW5kIHR1cm5zIGRpYWxpbmcg cmV0cmllcyBvbiBvciBvZmYKK2RlZmluZSBzZXRyZWRpYWwgeworICB4aWYgPSBcdihhcmdjKSAy IHsKKyAgICBzZXQgaW5wdXQgY2FzZSBpZ25vcmUKKyAgICBzd2l0Y2ggXCUxIHsKKyAgICAgIDpv bgorICAgICAgICBzZXQgZGlhbCByZXRyaWVzIDIwCisgICAgICAgIHNldCBkaWFsIGludGVydmFs IDE1CisgICAgICAgIGJyZWFrCisgICAgICA6cG9saXRlCisgICAgICAgIHNldCBkaWFsIHJldHJp ZXMgMTAKKyAgICAgICAgc2V0IGRpYWwgaW50ZXJ2YWwgMzAKKyAgICAgICAgYnJlYWsKKyAgICAg IDpydWRlCisgICAgICAgIHNldCBkaWFsIHJldHJpZXMgNjAKKyAgICAgICAgc2V0IGRpYWwgaW50 ZXJ2YWwgMTAKKyAgICAgICAgYnJlYWsKKyAgICAgIDpvZmYKKyAgICAgICAgc2V0IGRpYWwgcmV0 cmllcyAwCisgICAgICAgIHNldCBkaWFsIGludGVydmFsIDE1CisgICAgICAgIGJyZWFrCisgICAg ICA6ZGVmYXVsdAorICAgICAgICBlY2hvIHtVc2FnZTogU0VUUkVESUFMIHsgT04gfCBQT0xJVEUg fCBSVURFIHwgT0ZGIH19CisgICAgfQorICB9IGVsc2UgeworICAgIGVjaG8ge1VzYWdlOiBTRVRS RURJQUwgeyBPTiB8IFBPTElURSB8IFJVREUgfCBPRkYgfX0KKyAgfQorfQorZG8gc2V0cmVkaWFs IG9mZgorCis7OyBkaWFsaW5nIHJlc3RyaWN0aW9ucworc2V0IGRpYWwgcmVzdHJpY3QgaW50ZXJu YXRpb25hbAorO3NldCBkaWFsIHJlc3RyaWN0IGxvbmctZGlzdGFuY2UKKztzZXQgZGlhbCByZXN0 cmljdCBub25lCis7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKKworOyByZWFkIGEgbG9jYWxlIGZpbGUsIGlmIGl0 IGV4aXN0cy4gIHRoZSBkZWZhdWx0IGNhbiBiZQorOyBvdmVycmlkZGVuIGJ5IHRoZSBlbnZpcm9u bWVudCB2YXJpYWJsZSBLRVJNSVRfTE9DQUxFX0lOSS4KK3hpZiBkZWZpbmVkIFwkKEtFUk1JVF9M T0NBTEVfSU5JKSB7CisgIGFzc2lnbiBsb2NhbGVfaW5pIHtcJChLRVJNSVRfTE9DQUxFX0lOSSl9 Cit9IGVsc2UgeworICBhc3NpZ24gbG9jYWxlX2luaSB7XG0oc3lzX2Rpcilja2VybWl0LmxvY2Fs ZS5pbml9Cit9Cit4aWYgZXhpc3QgXG0obG9jYWxlX2luaSkgeworICB0YWtlIFxtKGxvY2FsZV9p bmkpCit9CisKKzsgLS0tLS0tLS0gRW5kIC0tLS0tLS0tCgpkaWZmIC0tZ2l0IGEvY2t1LWNrZXJt aXQucGhvbmUgYi9ja3UtY2tlcm1pdC5waG9uZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi4xNmNlY2ExCi0tLSAvZGV2L251bGwKKysrIGIvY2t1LWNrZXJtaXQucGhvbmUKQEAg LTAsMCArMSw3IEBACis7IC9ldGMva2VybWl0L2NrZXJtaXQucGhvbmU6IHN5c3RlbS13aWRlIGRp YWxpbmcgZGlyZWN0b3J5IGZvciBDLUtlcm1pdAorOyBjcmVhdGVkIDI3LUphbi0xOTk3IGptawor OyBhdXRvZGF0ZTogMjctSmFuLTE5OTcgCis7IGF1dG90aW1lOiAwNDowOCAKKworOyBmb3JtYXQ6 Cis7IG5hbWUJCStjb3VudHJ5LWNvZGUgKGFyZWEtY29kZSkgcGhvbmUtbnVtYmVyCTsgY29tbWVu dAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGU2OWRlMjkuLmViNWE5NzIg MTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMCwwICsxIEBACitkNDFjZWJl ZDJmODZmMDA5ZjcwYTFlYmM2NjdmNGIxZiAgeC50YXIuZ3oK