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: =?utf-8?q?Miro_Hron=C4=8Dok_=3Cmiro=40hroncok=2Ecz=3E?= To: git-commits@fedoraproject.org Subject: [rpms/pyproject-rpm-macros] rawhide: %pyproject_save_files: Implement support for multi-package specfiles Date: Fri, 10 Jul 2026 10:49:50 GMT Message-ID: <178368059077.1.267742575603383319.rpms-pyproject-rpm-macros-44cabdfd5727@fedoraproject.org> List-ID: X-Git-Repo: rpms/pyproject-rpm-macros X-Git-Branch: rawhide X-Git-Rev: 44cabdfd5727635e77b75ca331b98023f7674493 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcHlwcm9qZWN0LXJwbS1tYWNyb3MKICAgICAgICAgICAgQnJhbmNoIDogcmF3 aGlkZQogICAgICAgICAgICBDb21taXQgOiA0NGNhYmRmZDU3Mjc2MzVlNzdiNzVjYTMzMWI5ODAy M2Y3Njc0NDkzCiAgICAgICAgICAgIEF1dGhvciA6IE1pcm8gSHJvbsSNb2sgPG1pcm9AaHJvbmNv ay5jej4KICAgICAgICAgICAgRGF0ZSAgIDogMjAyNi0wNy0wOVQxMjoxODo1OCswMjowMAogICAg ICAgICAgICBTdGF0cyAgOiArMjU4Ly01NSBpbiA2IGZpbGUocykKICAgICAgICAgICAgVVJMICAg IDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9weXByb2plY3QtcnBtLW1hY3Jv cy9jLzQ0Y2FiZGZkNTcyNzYzNWU3N2I3NWNhMzMxYjk4MDIzZjc2NzQ0OTM/YnJhbmNoPXJhd2hp ZGUKCiAgICAgICAgICAgIExvZzoKICAgICAgICAgICAgJXB5cHJvamVjdF9zYXZlX2ZpbGVzOiBJ bXBsZW1lbnQgc3VwcG9ydCBmb3IgbXVsdGktcGFja2FnZSBzcGVjZmlsZXMKClRoaXMgYWRkcyBh IG5ldyAtRC8tLWRpc3QtbmFtZSBvcHRpb24gZm9yOgoKIC0gJXB5cHJvamVjdF9zYXZlX2ZpbGVz CiAtICVweXByb2plY3RfZmlsZXMKIC0gJXB5cHJvamVjdF9jaGVja19pbXBvcnQKIC0gJXB5cHJv amVjdF9leHRyYXNfc3VicGtnCgpBbmQgYWxsb3dzIHRoZSB1c2Ugb2YgYWxsIG9mIHRob3NlIGlu IG11bHRpLXBhY2thZ2Ugc3BlYyBmaWxlcy4KU2VlIFJFQURNRS5tZCBjaGFuZ2VzIGZvciB1c2Fn ZS4KCkFzc2lzdGVkLUJ5OiBDbGF1ZGUgT3B1cyA0LjYKCk1hbnkgdXNlZnVsIHN1Z2dlc3Rpb25z IGJ5IE1heHdlbGwgRyA8bWF4d2VsbEBndG14Lm1lPiBhbmQgS2Fyb2xpbmEgU3VybWEgPGtzdXJt YUByZWRoYXQuY29tPi4KCi0tLQpkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kCmlu ZGV4IDgxMmY5NTkuLmE2NTRkODMgMTAwNjQ0Ci0tLSBhL1JFQURNRS5tZAorKysgYi9SRUFETUUu bWQKQEAgLTE5MCwxMSArMTkwLDE0IEBAIElzIHJvdWdobHkgZXF1aXZhbGVudCB0bzoKIAogSWYg eW91IHVzZSBgJXB5cHJvamVjdF93aGVlbGAgdG8gYnVpbGQgbXVsdGlwbGUgd2hlZWxzLCBmb3Ig ZXhhbXBsZSBsaWtlIHRoaXM6CiAKLSAgICAlcHlwcm9qZWN0X3doZWVsIC1kIHByb2plY3RfYQot ICAgICVweXByb2plY3Rfd2hlZWwgLWQgcHJvamVjdF9iCisgICAgJXB5cHJvamVjdF93aGVlbCAt LWRpcmVjdG9yeSBkaXJlY3RvcnkxLworICAgICVweXByb2plY3Rfd2hlZWwgLS1kaXJlY3Rvcnkg ZGlyZWN0b3J5Mi8KIAogWW91IHN0aWxsIG9ubHkgY2FsbCBgJXB5cHJvamVjdF9pbnN0YWxsYCBv bmNlIGFuZCBpdCB3aWxsIGluc3RhbGwgYWxsIHN1Y2ggd2hlZWxzLgotU3VwcG9ydCBmb3IgYCVw eXByb2plY3Rfc2F2ZV9maWxlc2Agd2l0aCBtdWx0aXBsZSB3aGVlbHMgaXMgbm90IGltcGxlbWVu dGVkLgorVG8gdXNlIGAlcHlwcm9qZWN0X3NhdmVfZmlsZXNgIChhbmQgb3B0aW9uYWxseSBgJXB5 cHJvamVjdF9jaGVja19pbXBvcnRgKSB3aXRoIG11bHRpcGxlIHdoZWVscywKK3VzZSB0aGUgYC1E YC9gLS1kaXN0LW5hbWVgIG9wdGlvbiB0byBzZWxlY3QgYSBzcGVjaWZpYyBwYWNrYWdlLAorZm9y IGRldGFpbHMsIHNlZSAqR2VuZXJhdGluZyB0aGUgJWZpbGVzIHNlY3Rpb24qCisoYW5kICpQZXJm b3JtaW5nIGFuIGltcG9ydCBjaGVjayBvbiBhbGwgaW1wb3J0YWJsZSBtb2R1bGVzKikuCiAKIElm IHlvdSB1c2UgYCVweXByb2plY3RfYnVpbGRyZXF1aXJlcyAtZCAuLi5gIGZvciBtdWx0aXBsZSBj by1kZXBlbmRlbnQgcGFja2FnZXMKIGluIG9uZSBzcGVjIGZpbGUsIGl0IHdpbGwgY3JlYXRlIG9u ZSBvciBtb3JlIGJ1aWxkIHRpbWUgZGVwZW5kZW5jaWVzCkBAIC00MTMsNiArNDE2LDE3IEBAIElm IHlvdSB3aXNoIHRvIHJlbmFtZSwgcmVtb3ZlIG9yIG90aGVyd2lzZSBjaGFuZ2UgdGhlIGluc3Rh bGxlZCBmaWxlcyBvZiBhIHBhY2thCiBJZiBwb3NzaWJsZSwgcmVtb3ZlL3JlbmFtZSBzdWNoIGZp bGVzIGluIGAlcHJlcGAuCiBJZiBub3QgcG9zc2libGUsIGF2b2lkIHVzaW5nIGAlcHlwcm9qZWN0 X3NhdmVfZmlsZXNgIG9yIGVkaXQvcmVwbGFjZSBgJXtweXByb2plY3RfZmlsZXN9YC4KIAorV2hl biBwcm9jZXNzaW5nIGZpbGVzIGZyb20gbXVsdGlwbGUgUHl0aG9uIHBhY2thZ2VzCisobW9zdCBs aWtlbHkgYXMgYSByZXN1bHQgb2YgbXVsdGlwbGUgYCVweXByb2plY3Rfd2hlZWxgIGludm9jYXRp b25zKSwKK3VzZSB0aGUgYC1EYC9gLS1kaXN0LW5hbWVgIG9wdGlvbiB0byBzZWxlY3QgYSBzcGVj aWZpYyBwYWNrYWdlCitpbiBgJXB5cHJvamVjdF9zYXZlX2ZpbGVzYCBhbmQgYCV7cHlwcm9qZWN0 X2ZpbGVzfWA6CisKKyAgICAlcHlwcm9qZWN0X3NhdmVfZmlsZXMgLS1kaXN0LW5hbWUgcGFja2Fn ZV9hIG1vZHVsZV9nbG9iX2EuLi4KKyAgICAlcHlwcm9qZWN0X3NhdmVfZmlsZXMgLS1kaXN0LW5h bWUgcGFja2FnZV9iIG1vZHVsZV9nbG9iX2IuLi4KKworICAgICVmaWxlcyAtbiBweXRob24zLXBh Y2thZ2UtYSAtZiAle3B5cHJvamVjdF9maWxlcyAtRCBwYWNrYWdlX2F9CisgICAgJWZpbGVzIC1u IHB5dGhvbjMtcGFja2FnZS1iIC1mICV7cHlwcm9qZWN0X2ZpbGVzIC1EIHBhY2thZ2VfYn0KKwog CiBQZXJmb3JtaW5nIGFuIGltcG9ydCBjaGVjayBvbiBhbGwgaW1wb3J0YWJsZSBtb2R1bGVzCiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC00 NjAsNiArNDc0LDE1IEBAIFRoZSBgJXB5cHJvamVjdF9jaGVja19pbXBvcnRgIG1hY3JvIGFsc28g YWNjZXB0cyBwb3NpdGlvbmFsIGFyZ3VtZW50cyB3aXRoCiBhZGRpdGlvbmFsIHF1YWxpZmllZCBt b2R1bGUgbmFtZXMgdG8gY2hlY2ssIHVzZWZ1bCBmb3IgZXhhbXBsZSBpZiBzb21lIG1vZHVsZXMg YXJlIGluc3RhbGxlZCBtYW51YWxseS4KIE5vdGUgdGhhdCBmaWx0ZXJpbmcgYnkgYC10YC9gLS10 b3AtbGV2ZWwtb25seWAvYC1lYC9gLS1leGNsdWRlYCBhbHNvIGFwcGxpZXMgdG8gdGhlIHBvc2l0 aW9uYWwgYXJndW1lbnRzLgogCitXaGVuIGxpc3RpbmcgZmlsZXMgZnJvbSBtdWx0aXBsZSBQeXRo b24gcGFja2FnZXMgdmlhIGAlcHlwcm9qZWN0X3NhdmVfZmlsZXMgLURgL2AtLWRpc3QtbmFtZWAs CitwYXNzIGAtRGAvYC0tZGlzdC1uYW1lYCB0byBgJXB5cHJvamVjdF9jaGVja19pbXBvcnRgIGFz IHdlbGwuCisKKyAgICAlcHlwcm9qZWN0X3NhdmVfZmlsZXMgLS1kaXN0LW5hbWUgcGFja2FnZV9h IG1vZHVsZV9nbG9iX2EuLi4KKyAgICAlcHlwcm9qZWN0X3NhdmVfZmlsZXMgLS1kaXN0LW5hbWUg cGFja2FnZV9iIG1vZHVsZV9nbG9iX2IuLi4KKworICAgICVweXByb2plY3RfY2hlY2tfaW1wb3J0 IC0tZGlzdC1uYW1lIHBhY2thZ2VfYQorICAgICVweXByb2plY3RfY2hlY2tfaW1wb3J0IC0tZGlz dC1uYW1lIHBhY2thZ2VfYgorCiBBbm90aGVyIG1hY3JvLCBgJV9weXByb2plY3RfY2hlY2tfaW1w b3J0X2FsbG93X25vX21vZHVsZXNgIGFsbG93cyB0byBwYXNzIHRoZSBpbXBvcnQgY2hlY2ssCiBl dmVuIGlmIG5vIFB5dGhvbiBtb2R1bGVzIGFyZSBkZXRlY3RlZCBpbiB0aGUgcGFja2FnZS4KIFRo aXMgbWF5IGJlIGEgdmFsaWQgY2FzZSBmb3IgcGFja2FnZXMgY29udGFpbmluZyBlLmcuIHR5cGlu ZyBzdHVicy4KQEAgLTQ5Niw2ICs1MTksMTMgQEAgVGhlc2UgYXJndW1lbnRzIGFyZSBzdGlsbCBy ZXF1aXJlZDoKICogUG9zaXRpb25hbCBhcmd1bWVudHM6IHRoZSBleHRyYSBuYW1lKHMpLgogICBN dWx0aXBsZSBzdWJwYWNrYWdlcyBhcmUgZ2VuZXJhdGVkIHdoZW4gbXVsdGlwbGUgbmFtZXMgYXJl IHByb3ZpZGVkLgogCitXaGVuIHByb2Nlc3NpbmcgZmlsZXMgZnJvbSBtdWx0aXBsZSBQeXRob24g cGFja2FnZXMKKyhzZWUgKkdlbmVyYXRpbmcgdGhlICVmaWxlcyBzZWN0aW9uKiBmb3IgZGV0YWls cyksCitwYXNzIGAtRGAgdG8gYCVweXByb2plY3RfZXh0cmFzX3N1YnBrZ2AgYXMgd2VsbDoKKwor ICAgICVweXByb2plY3RfZXh0cmFzX3N1YnBrZyAtbiBweXRob24zLXBhY2thZ2UtYSAtRCBwYWNr YWdlX2EgZXh0cmExCisgICAgJXB5cHJvamVjdF9leHRyYXNfc3VicGtnIC1uIHB5dGhvbjMtcGFj a2FnZS1iIC1EIHBhY2thZ2VfYiBleHRyYTIKKwogCiBQcm92aXNpb25hbDogRGVjbGFyYXRpdmUg QnVpbGRzeXN0ZW0gKFJQTSA0LjIwKykKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQpAQCAtNjAzLDE5ICs2MzMsMjEgQEAgSGVyZSBpcyBhIGNvbXBsZXRl IHJlZmVyZW5jZSBvZiBhbGwgb3B0aW9uczoKIAogIyMjIGAlcHlwcm9qZWN0X3NhdmVfZmlsZXNg CiAKLXwgU2hvcnQgfCBMb25nICAgICAgICAgICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18LS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t fAotfCBgLWxgICB8IGAtLWFzc2VydC1saWNlbnNlYCAgICB8IEZhaWwgd2hlbiBubyBMaWNlbnNl LUZpbGUgKFBFUCA2MzkpIGlzIGZvdW5kICAgIHwKLXwgYC1MYCAgfCBgLS1uby1hc3NlcnQtbGlj ZW5zZWAgfCBEb24ndCBmYWlsIG9uIG1pc3NpbmcgTGljZW5zZS1GaWxlIChkZWZhdWx0KSAgICB8 Ci18IGAtTWAgIHwgYC0tYWxsb3ctbm8tbW9kdWxlc2AgIHwgQWxsb3cgbm8gbW9kdWxlIGdsb2Jz ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCBgLWFgICB8IGAtLWF1dG9gICAgICAgICAg ICAgICB8IEluY2x1ZGUgbm9uLW1vZHVsZSBmaWxlcyAoc2FtZSBhcyBgK2F1dG9gKSAgICAgIHwK K3wgU2hvcnQgICAgICB8IExvbmcgICAgICAgICAgICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfC0tLS0tLS0t LS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18Cit8IGAtbGAgICAgICAgfCBgLS1h c3NlcnQtbGljZW5zZWAgICAgIHwgRmFpbCB3aGVuIG5vIExpY2Vuc2UtRmlsZSAoUEVQIDYzOSkg aXMgZm91bmQgICAgICAgICAgICAgICAgIHwKK3wgYC1MYCAgICAgICB8IGAtLW5vLWFzc2VydC1s aWNlbnNlYCAgfCBEb24ndCBmYWlsIG9uIG1pc3NpbmcgTGljZW5zZS1GaWxlIChkZWZhdWx0KSAg ICAgICAgICAgICAgICAgfAorfCBgLU1gICAgICAgIHwgYC0tYWxsb3ctbm8tbW9kdWxlc2AgICB8 IEFsbG93IG5vIG1vZHVsZSBnbG9icyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8Cit8IGAtRCBOQU1FYCAgfCBgLS1kaXN0LW5hbWUgTkFNRWAgICAgIHwgU2F2ZSBmaWxl cyBmb3IgYSBzcGVjaWZpYyBkaXN0cmlidXRpb24gcGFja2FnZSAobXVsdGktd2hlZWwpIHwKK3wg YC1hYCAgICAgICB8IGAtLWF1dG9gICAgICAgICAgICAgICAgfCBJbmNsdWRlIG5vbi1tb2R1bGUg ZmlsZXMgKHNhbWUgYXMgYCthdXRvYCkgICAgICAgICAgICAgICAgICAgfAogCiAjIyMgYCVweXBy b2plY3RfY2hlY2tfaW1wb3J0YAogCi18IFNob3J0ICAgICB8IExvbmcgICAgICAgICAgICAgICB8 IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgfAotfC0tLS0tLS0tLS0tfC0tLS0t LS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKLXwg YC1lIEdMT0JgIHwgYC0tZXhjbHVkZSBHTE9CYCAgIHwgRXhjbHVkZSBtb2R1bGUgbmFtZXMgbWF0 Y2hpbmcgZ2xvYiB8Ci18IGAtdGAgICAgICB8IGAtLXRvcC1sZXZlbC1vbmx5YCB8IE9ubHkgY2hl Y2sgdG9wLWxldmVsIG1vZHVsZXMgICAgICAgfAorfCBTaG9ydCAgICAgfCBMb25nICAgICAgICAg ICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwKK3wtLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18Cit8IGAtZSBHTE9CYCB8IGAt LWV4Y2x1ZGUgR0xPQmAgICAgICB8IEV4Y2x1ZGUgbW9kdWxlIG5hbWVzIG1hdGNoaW5nIGdsb2Ig ICAgICAgICAgICAgICAgfAorfCBgLUQgTkFNRWAgfCBgLS1kaXN0LW5hbWUgTkFNRWAgICAgfCBD aGVjayBpbXBvcnRzIGZvciBhIHNwZWNpZmljIGRpc3RyaWJ1dGlvbiBwYWNrYWdlIHwKK3wgYC10 YCAgICAgIHwgYC0tdG9wLWxldmVsLW9ubHlgICAgIHwgT25seSBjaGVjayB0b3AtbGV2ZWwgbW9k dWxlcyAgICAgICAgICAgICAgICAgICAgICB8CiAKICMjIyBgJXRveGAKIAoKZGlmZiAtLWdpdCBh L21hY3Jvcy5weXByb2plY3QgYi9tYWNyb3MucHlwcm9qZWN0CmluZGV4IDRmY2ZkZTMuLmNlMzA2 NWQgMTAwNjQ0Ci0tLSBhL21hY3Jvcy5weXByb2plY3QKKysrIGIvbWFjcm9zLnB5cHJvamVjdApA QCAtMjAsOSArMjAsMjggQEAKIAogIyAlJV9weXByb2plY3RfZmlsZXNfcHJlZml4IGRlZmluZWQg aW4gc3JwbSBtYWNyb3MKIAotJXB5cHJvamVjdF9maWxlcyAle19idWlsZGRpcn0vJXtfcHlwcm9q ZWN0X2ZpbGVzX3ByZWZpeH0tcHlwcm9qZWN0LWZpbGVzCi0lX3B5cHJvamVjdF9tb2R1bGVzICV7 X2J1aWxkZGlyfS8le19weXByb2plY3RfZmlsZXNfcHJlZml4fS1weXByb2plY3QtbW9kdWxlcwot JV9weXByb2plY3RfZ2hvc3RfZGlzdGluZm8gJXtfYnVpbGRkaXJ9LyV7X3B5cHJvamVjdF9maWxl c19wcmVmaXh9LXB5cHJvamVjdC1naG9zdC1kaXN0aW5mbworIyBQRVAgNTAzIG5hbWUgbm9ybWFs aXphdGlvbjogbG93ZXJjYXNlLCBvbmUgb3IgbW9yZSBbLV8uXSDihpIgc2luZ2xlIC0KKyVfX3B5 cHJvamVjdF9ub3JtYWxpemVfbmFtZSgtKSAle2x1YTpwcmludCgocnBtLmV4cGFuZCgiJTEiKTps b3dlcigpOmdzdWIoIlslLV8uXSsiLCAiLSIpKSl9CisKKyVfcHlwcm9qZWN0X2ZpbGVzX2Jhc2Ug JXtfYnVpbGRkaXJ9LyV7X3B5cHJvamVjdF9maWxlc19wcmVmaXh9LXB5cHJvamVjdC1maWxlcwor JV9weXByb2plY3RfbW9kdWxlc19iYXNlICV7X2J1aWxkZGlyfS8le19weXByb2plY3RfZmlsZXNf cHJlZml4fS1weXByb2plY3QtbW9kdWxlcworJV9weXByb2plY3RfZ2hvc3RfZGlzdGluZm9fYmFz ZSAle19idWlsZGRpcn0vJXtfcHlwcm9qZWN0X2ZpbGVzX3ByZWZpeH0tcHlwcm9qZWN0LWdob3N0 LWRpc3RpbmZvCisKKyVweXByb2plY3RfZmlsZXMoLSkgJXtsdWE6CityZXF1aXJlKCJmZWRvcmEu cnBtLnB5cHJvamVjdF9nZXRvcHQiKS5nZXRvcHQoeworICAgIHtzaG9ydD0iRCIsIGxvbmc9ImRp c3QtbmFtZSIsIHZhbHVlPXRydWV9LAorfSl9JXtfcHlwcm9qZWN0X2ZpbGVzX2Jhc2V9JXs/X19w eXByb2plY3Rfb3B0X0Q6LSV7X19weXByb2plY3Rfbm9ybWFsaXplX25hbWUgJXtfX3B5cHJvamVj dF9vcHRfRH19fQorCislX3B5cHJvamVjdF9tb2R1bGVzKC0pICV7bHVhOgorcmVxdWlyZSgiZmVk b3JhLnJwbS5weXByb2plY3RfZ2V0b3B0IikuZ2V0b3B0KHsKKyAgICB7c2hvcnQ9IkQiLCBsb25n PSJkaXN0LW5hbWUiLCB2YWx1ZT10cnVlfSwKK30pfSV7X3B5cHJvamVjdF9tb2R1bGVzX2Jhc2V9 JXs/X19weXByb2plY3Rfb3B0X0Q6LSV7X19weXByb2plY3Rfbm9ybWFsaXplX25hbWUgJXtfX3B5 cHJvamVjdF9vcHRfRH19fQorCislX3B5cHJvamVjdF9naG9zdF9kaXN0aW5mbygtKSAle2x1YToK K3JlcXVpcmUoImZlZG9yYS5ycG0ucHlwcm9qZWN0X2dldG9wdCIpLmdldG9wdCh7CisgICAge3No b3J0PSJEIiwgbG9uZz0iZGlzdC1uYW1lIiwgdmFsdWU9dHJ1ZX0sCit9KX0le19weXByb2plY3Rf Z2hvc3RfZGlzdGluZm9fYmFzZX0lez9fX3B5cHJvamVjdF9vcHRfRDotJXtfX3B5cHJvamVjdF9u b3JtYWxpemVfbmFtZSAle19fcHlwcm9qZWN0X29wdF9EfX19CisKICVfcHlwcm9qZWN0X3JlY29y ZCAle19idWlsZGRpcn0vJXtfcHlwcm9qZWN0X2ZpbGVzX3ByZWZpeH0tcHlwcm9qZWN0LXJlY29y ZAogJV9weXByb2plY3RfYnVpbGRyZXF1aXJlcyAle19idWlsZGRpcn0vJXtfcHlwcm9qZWN0X2Zp bGVzX3ByZWZpeH0tcHlwcm9qZWN0LWJ1aWxkcmVxdWlyZXMKICMgJSVfcHlwcm9qZWN0X2RlcF9v dmVycmlkZXMgZGVmaW5lZCBpbiBzcnBtIG1hY3JvcwpAQCAtOTUsNyArMTE0LDcgQEAgaWYgWyAt ZCAle2J1aWxkcm9vdH0le19iaW5kaXJ9IF07IHRoZW4KICAgJXB5M19zaGViYW5nX2ZpeCAle2J1 aWxkcm9vdH0le19iaW5kaXJ9LyoKICAgcm0gLXJmdiAle2J1aWxkcm9vdH0le19iaW5kaXJ9L19f cHljYWNoZV9fCiBmaQotcm0gLWYgJXtfcHlwcm9qZWN0X2dob3N0X2Rpc3RpbmZvfQorcm0gLWYg JXtfcHlwcm9qZWN0X2dob3N0X2Rpc3RpbmZvX2Jhc2V9CiBzaXRlX2RpcnM9KCkKICMgUHJvY2Vz cyAlJXtweXRob24zX3NpdGVsaWJ9IGlmIGV4aXN0cwogaWYgWyAtZCAle2J1aWxkcm9vdH0le3B5 dGhvbjNfc2l0ZWxpYn0gXTsgdGhlbgpAQCAtMTA4LDcgKzEyNywxMiBAQCBmaQogIyBQcm9jZXNz IGFsbCAqLmRpc3QtaW5mbyBkaXJzIGluIHNpdGVsaWIvc2l0ZWFyY2gKIGZvciBzaXRlX2RpciBp biAke3NpdGVfZGlyc1tAXX07IGRvCiAgIGZvciBkaXN0aW5mbyBpbiAle2J1aWxkcm9vdH0kc2l0 ZV9kaXIvKi5kaXN0LWluZm87IGRvCi0gICAgZWNobyAiJWdob3N0ICVkaXIgJHtkaXN0aW5mbyMl e2J1aWxkcm9vdH19IiA+PiAle19weXByb2plY3RfZ2hvc3RfZGlzdGluZm99CisgICAgZWNobyAi JWdob3N0ICVkaXIgJHtkaXN0aW5mbyMle2J1aWxkcm9vdH19IiA+PiAle19weXByb2plY3RfZ2hv c3RfZGlzdGluZm9fYmFzZX0KKyAgICBfbm9ybWFsaXplZD0kKFBZVEhPTlBBVEg9JXtfcnBtY29u ZmlnZGlyfS9yZWRoYXQgXFwKKyAgICAgICV7X19weXRob24zfSAtc0JjIFxcCisgICAgICAiaW1w b3J0IHN5czsgZnJvbSBweXByb2plY3Rfc2F2ZV9maWxlcyBpbXBvcnQgY2Fub25pY2FsX25hbWVf ZnJvbV9kaXN0aW5mbzsgcHJpbnQoY2Fub25pY2FsX25hbWVfZnJvbV9kaXN0aW5mbyhzeXMuYXJn dlsxXSkpIiBcXAorICAgICAgIiQoYmFzZW5hbWUgJHtkaXN0aW5mb30pIikKKyAgICBlY2hvICIl Z2hvc3QgJWRpciAke2Rpc3RpbmZvIyV7YnVpbGRyb290fX0iID4+ICIle19weXByb2plY3RfZ2hv c3RfZGlzdGluZm9fYmFzZX0tJHtfbm9ybWFsaXplZH0iCiAgICAgc2VkIC1pICdzL3BpcC9ycG0v JyAke2Rpc3RpbmZvfS9JTlNUQUxMRVIKICAgICBQWVRIT05QQVRIPSV7X3JwbWNvbmZpZ2Rpcn0v cmVkaGF0IFxcCiAgICAgICAle19fcHl0aG9uM30gLUIgJXtfcnBtY29uZmlnZGlyfS9yZWRoYXQv cHlwcm9qZWN0X3ByZXByb2Nlc3NfcmVjb3JkLnB5IFxcCkBAIC0xMjIsMTYgKzE0NiwxNyBAQCBm b3Igc2l0ZV9kaXIgaW4gJHtzaXRlX2RpcnNbQF19OyBkbwogICAgIGZpCiAgIGRvbmUKIGRvbmUK LWxpbmVzPSQod2MgLWwgJXtfcHlwcm9qZWN0X2dob3N0X2Rpc3RpbmZvfSB8IGN1dCAtZjEgLWQi ICIpCitsaW5lcz0kKHdjIC1sICV7X3B5cHJvamVjdF9naG9zdF9kaXN0aW5mb19iYXNlfSB8IGN1 dCAtZjEgLWQiICIpCiBpZiBbICRsaW5lcyAtbmUgMSBdOyB0aGVuCi0gIGVjaG8gLWUgIlxcblxc bldBUk5JTkc6ICUlJSVweXByb2plY3RfZXh0cmFzX3N1YnBrZyB3b24ndCB3b3JrIHdpdGhvdXQg ZXhwbGljaXQgLWkgb3IgLUYsIGZvdW5kICRsaW5lcyBkaXN0LWluZm8gZGlyZWN0b3JpZXMuXFxu XFxuIiA+JjIKLSAgcm0gJXtfcHlwcm9qZWN0X2dob3N0X2Rpc3RpbmZvfSAgIyBhbnkgYXR0ZW1w dCB0byB1c2UgdGhpcyB3aWxsIGZhaWwKKyAgZWNobyAtZSAiJSUlJXB5cHJvamVjdF9leHRyYXNf c3VicGtnIHdpbGwgcmVxdWlyZSAtRCA8bmFtZT4gb3IgZXhwbGljaXQgLWkvLUYgd2l0aCBtdWx0 aXBsZSBkaXN0LWluZm8gZGlyZWN0b3JpZXMgKGZvdW5kICRsaW5lcykuIiA+JjIKKyAgcm0gJXtf cHlwcm9qZWN0X2dob3N0X2Rpc3RpbmZvX2Jhc2V9ICAjIGFueSBhdHRlbXB0IHRvIHVzZSB0aGlz IHdpbGwgZmFpbAogZmkKIH0KIAogCiAjIE5vdGU6IHRoZSB0aHJlZSB0aW1lcyBuZXN0ZWQgcXVl c3Rpb25tYXJrZWQgLWkgLWYgLUYgcGF0dGVybiBtZWFuczogSWYgbm9uZSBvZiB0aG9zZSBvcHRp b25zIHdhcyB1c2VkIC0tIGluIHRoYXQgY2FzZSwgd2UgaW5qZWN0IG91ciBvd24gLWYKLSVweXBy b2plY3RfZXh0cmFzX3N1YnBrZyhuOmk6ZjpGYUEpICV7ZXhwYW5kOiV7P3B5dGhvbl9leHRyYXNf c3VicGtnOiV7cHl0aG9uX2V4dHJhc19zdWJwa2cleyE/LWk6JXshPy1mOiV7IT8tRjogLWYgJXtf cHlwcm9qZWN0X2dob3N0X2Rpc3RpbmZvfX19fSAlKip9fX0KKyMgLUQgc2VsZWN0cyB0aGUgcGVy LXBhY2thZ2UgZ2hvc3QgZGlzdGluZm8gZmlsZSBmb3IgbXVsdGktd2hlZWwgaW5zdGFsbHMKKyVw eXByb2plY3RfZXh0cmFzX3N1YnBrZyhuOmk6ZjpGYUFEOikgJXtleHBhbmQ6JXs/cHl0aG9uX2V4 dHJhc19zdWJwa2c6JXtweXRob25fZXh0cmFzX3N1YnBrZyV7IT8taToleyE/LWY6JXshPy1GOiAt ZiAle19weXByb2plY3RfZ2hvc3RfZGlzdGluZm8gJXs/LUR9fX19fSAlez8tbn0gJXs/LWl9ICV7 Py1mfSAlez8tRn0gJXs/LWF9ICV7Py1BfSAlKn19fQogCiAKICMgRXNjYXBpbmcgc2hlbGwtZ2xv YnMsIHBlcmNlbnRhZ2Ugc2lnbnMgYW5kIHNwYWNlcyB3YXMgcmV3b3JrZWQgaW4gUlBNIDQuMTkr CkBAIC0xNDQsMTIgKzE2OSwxMyBAQCBmaQogICAgIHtzaG9ydD0iTCIsIGxvbmc9Im5vLWFzc2Vy dC1saWNlbnNlIn0sCiAgICAge3Nob3J0PSJNIiwgbG9uZz0iYWxsb3ctbm8tbW9kdWxlcyJ9LAog ICAgIHtzaG9ydD0iYSIsIGxvbmc9ImF1dG8ifSwKKyAgICB7c2hvcnQ9IkQiLCBsb25nPSJkaXN0 LW5hbWUiLCB2YWx1ZT10cnVlfSwKIH0pfVwKICV7ZXhwYW5kOlxcXAogJXtleHByOnYiMCV7P3Jw bXZlcnNpb259IiA+PSB2IjQuMTguOTAiID8gIlJQTV9GSUxFU19FU0NBUEU9NC4xOSIgOiAiUlBN X0ZJTEVTX0VTQ0FQRT00LjE4IiB9IFxcCiAle19fcHl0aG9uM30gJXtfcnBtY29uZmlnZGlyfS9y ZWRoYXQvcHlwcm9qZWN0X3NhdmVfZmlsZXMucHkgXFwKLSAgLS1vdXRwdXQtZmlsZXMgIiV7cHlw cm9qZWN0X2ZpbGVzfSIgXFwKLSAgLS1vdXRwdXQtbW9kdWxlcyAiJXtfcHlwcm9qZWN0X21vZHVs ZXN9IiBcXAorICAtLW91dHB1dC1maWxlcyAiJXtweXByb2plY3RfZmlsZXMgJXs/X19weXByb2pl Y3Rfb3B0X0Q6LUQgJXtfX3B5cHJvamVjdF9vcHRfRH19fSIgXFwKKyAgLS1vdXRwdXQtbW9kdWxl cyAiJXtfcHlwcm9qZWN0X21vZHVsZXMgJXs/X19weXByb2plY3Rfb3B0X0Q6LUQgJXtfX3B5cHJv amVjdF9vcHRfRH19fSIgXFwKICAgLS1idWlsZHJvb3QgIiV7YnVpbGRyb290fSIgXFwKICAgLS1z aXRlbGliICIle3B5dGhvbjNfc2l0ZWxpYn0iIFxcCiAgIC0tc2l0ZWFyY2ggIiV7cHl0aG9uM19z aXRlYXJjaH0iIFxcCkBAIC0xNjIsMjMgKzE4OCwzMiBAQCBmaQogJXB5cHJvamVjdF9jaGVja19p bXBvcnQoLSkgXAogJXtsdWE6cmVxdWlyZSgiZmVkb3JhLnJwbS5weXByb2plY3RfZ2V0b3B0Iiku Z2V0b3B0KHsKICAgICB7c2hvcnQ9ImUiLCBsb25nPSJleGNsdWRlIiwgdmFsdWU9dHJ1ZSwgc2Vw YXJhdG9yPSIgLWUgIn0sCisgICAge3Nob3J0PSJEIiwgbG9uZz0iZGlzdC1uYW1lIiwgdmFsdWU9 dHJ1ZX0sCiAgICAge3Nob3J0PSJ0IiwgbG9uZz0idG9wLWxldmVsLW9ubHkifSwKIH0pfVwKICV7 ZXhwYW5kOlxcXAotaWYgWyAhIC1mICIle19weXByb2plY3RfbW9kdWxlc30iIF07IHRoZW4KLSAg ZWNobyAnRVJST1I6ICUlJSVweXByb2plY3RfY2hlY2tfaW1wb3J0IG9ubHkgd29ya3Mgd2hlbiAl JSUlcHlwcm9qZWN0X3NhdmVfZmlsZXMgaXMgdXNlZCcgPiYyCitpZiBbICEgLWYgIiV7X3B5cHJv amVjdF9tb2R1bGVzICV7P19fcHlwcm9qZWN0X29wdF9EOi1EICV7X19weXByb2plY3Rfb3B0X0R9 fX0iIF07IHRoZW4KKyAgX21vZHVsZXNfZ2xvYj0oICV7X3B5cHJvamVjdF9tb2R1bGVzX2Jhc2V9 LSogKQorICBpZiBbIC1lICIke19tb2R1bGVzX2dsb2JbMF19IiBdOyB0aGVuCisgICAgX2F2YWls YWJsZT0kKHByaW50ZiAnJSVzXG4nICIke19tb2R1bGVzX2dsb2JbQF19IiB8IHNlZCAnc3wuKi1w eXByb2plY3QtbW9kdWxlcy18fCcgfCB0ciAnXG4nICcgJykKKyAgICBlY2hvICJFUlJPUjogJSUl JXB5cHJvamVjdF9jaGVja19pbXBvcnQgcmVxdWlyZXMgLUQgPG5hbWU+IHdoZW4gJSUlJXB5cHJv amVjdF9zYXZlX2ZpbGVzIHdhcyBjYWxsZWQgd2l0aCAtRCIgPiYyCisgICAgZWNobyAiQXZhaWxh YmxlIC1EIHZhbHVlczogJHtfYXZhaWxhYmxlfSIgPiYyCisgIGVsc2UKKyAgICBlY2hvICdFUlJP UjogJSUlJXB5cHJvamVjdF9jaGVja19pbXBvcnQgb25seSB3b3JrcyB3aGVuICUlJSVweXByb2pl Y3Rfc2F2ZV9maWxlcyBpcyB1c2VkJyA+JjIKKyAgZmkKICAgZXhpdCAxCiBmaQotJXB5M19jaGVj a19pbXBvcnQgLWYgIiV7X3B5cHJvamVjdF9tb2R1bGVzfSIgJXs/X19weXByb2plY3Rfb3B0X2U6 LWUgJXtfX3B5cHJvamVjdF9vcHRfZX19ICV7P19fcHlwcm9qZWN0X29wdF90Oi10fSAlez9fX3B5 cHJvamVjdF9wb3NpdGlvbmFsX2FyZ3N9CislcHkzX2NoZWNrX2ltcG9ydCAtZiAiJXtfcHlwcm9q ZWN0X21vZHVsZXMgJXs/X19weXByb2plY3Rfb3B0X0Q6LUQgJXtfX3B5cHJvamVjdF9vcHRfRH19 fSIgJXs/X19weXByb2plY3Rfb3B0X2U6LWUgJXtfX3B5cHJvamVjdF9vcHRfZX19ICV7P19fcHlw cm9qZWN0X29wdF90Oi10fSAlez9fX3B5cHJvamVjdF9wb3NpdGlvbmFsX2FyZ3N9CiB9CiAKIAog JV9weXByb2plY3RfY2hlY2tfaW1wb3J0X2FsbG93X25vX21vZHVsZXMoLSkgXAogJXtsdWE6cmVx dWlyZSgiZmVkb3JhLnJwbS5weXByb2plY3RfZ2V0b3B0IikuZ2V0b3B0KHsKICAgICB7c2hvcnQ9 ImUiLCBsb25nPSJleGNsdWRlIiwgdmFsdWU9dHJ1ZSwgc2VwYXJhdG9yPSIgLWUgIn0sCisgICAg e3Nob3J0PSJEIiwgbG9uZz0iZGlzdC1uYW1lIiwgdmFsdWU9dHJ1ZX0sCiAgICAge3Nob3J0PSJ0 IiwgbG9uZz0idG9wLWxldmVsLW9ubHkifSwKIH0pfVwKLWlmIFsgLXogIiQoY2F0ICV7X3B5cHJv amVjdF9tb2R1bGVzfSkiIF07IHRoZW5cCitpZiBbIC16ICIkKGNhdCAle19weXByb2plY3RfbW9k dWxlcyAlez9fX3B5cHJvamVjdF9vcHRfRDotRCAle19fcHlwcm9qZWN0X29wdF9EfX19KSIgXTsg dGhlblwKICAgZWNobyAiTm8gbW9kdWxlcyB0byBjaGVjayBmb3VuZCwgZXhpdGluZyBjaGVjayJc CiBlbHNlXAogICAlcHlwcm9qZWN0X2NoZWNrX2ltcG9ydCAlez8qKn1cCgpkaWZmIC0tZ2l0IGEv cHlwcm9qZWN0LXJwbS1tYWNyb3Muc3BlYyBiL3B5cHJvamVjdC1ycG0tbWFjcm9zLnNwZWMKaW5k ZXggN2MyMmRjNC4uNThjZTcwMiAxMDA2NDQKLS0tIGEvcHlwcm9qZWN0LXJwbS1tYWNyb3Muc3Bl YworKysgYi9weXByb2plY3QtcnBtLW1hY3Jvcy5zcGVjCkBAIC0xNCw3ICsxNCw3IEBAIExpY2Vu c2U6ICAgICAgICBNSVQKICMgICBJbmNyZW1lbnQgWSBhbmQgcmVzZXQgWiB3aGVuIG5ldyBtYWNy b3Mgb3IgZmVhdHVyZXMgYXJlIGFkZGVkCiAjICAgSW5jcmVtZW50IFogd2hlbiB0aGlzIGlzIGEg YnVnZml4IG9yIGEgY29zbWV0aWMgY2hhbmdlCiAjIERyb3BwaW5nIHN1cHBvcnQgZm9yIEVPTCBG ZWRvcmFzIGlzICpub3QqIGNvbnNpZGVyZWQgYSBicmVha2luZyBjaGFuZ2UKLVZlcnNpb246ICAg ICAgICAxLjIyLjIKK1ZlcnNpb246ICAgICAgICAxLjIzLjAKIFJlbGVhc2U6ICAgICAgICAxJXs/ ZGlzdH0KIAogIyBNYWNybyBmaWxlcwpAQCAtMTc5LDYgKzE3OSw5IEBAIGV4cG9ydCBIT1NUTkFN RT0icnBtYnVpbGQiICAjIHRvIHNwZWVkdXAgdG94IGluIG5ldHdvcmstbGVzcyBtb2NrLCBzZWUg cmhieiMxODU2CiAKIAogJWNoYW5nZWxvZworKiBNb24gTWF5IDE4IDIwMjYgTWlybyBIcm9uxI1v ayA8bWhyb25jb2tAcmVkaGF0LmNvbT4gLSAxLjIzLjAtMQorLSAlJXB5cHJvamVjdF9zYXZlX2Zp bGVzOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgbXVsdGktcGFja2FnZSBzcGVjZmlsZXMKKwogKiBU aHUgTWF5IDE0IDIwMjYgTWlybyBIcm9uxI1vayA8bWhyb25jb2tAcmVkaGF0LmNvbT4gLSAxLjIy LjItMQogLSAlJXB5cHJvamVjdF9idWlsZHJlcXVpcmVzOiBGaXggIlJlcXVpcmVtZW50IHNhdGlz ZmllZC9ub3Qgc2F0aXNmaWVkIiBtZXNzYWdlcyB0byBzaG93IG92ZXJyaWRkZW4gY29uc3RyYWlu dHMgZnJvbSAlJXB5cHJvamVjdF9wYXRjaF9kZXBlbmRlbmN5CiAtICUlcHlwcm9qZWN0X2J1aWxk cmVxdWlyZXM6IFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBhcmdwYXJzZS5GaWxlVHlwZQoKZGlmZiAt LWdpdCBhL3B5cHJvamVjdF9zYXZlX2ZpbGVzLnB5IGIvcHlwcm9qZWN0X3NhdmVfZmlsZXMucHkK aW5kZXggNDZmYmJkYS4uZjVkZjk2MyAxMDA2NDQKLS0tIGEvcHlwcm9qZWN0X3NhdmVfZmlsZXMu cHkKKysrIGIvcHlwcm9qZWN0X3NhdmVfZmlsZXMucHkKQEAgLTgsNiArOCw3IEBAIGZyb20gY29s bGVjdGlvbnMgaW1wb3J0IGRlZmF1bHRkaWN0CiBmcm9tIGtleXdvcmQgaW1wb3J0IGlza2V5d29y ZAogZnJvbSBwYXRobGliIGltcG9ydCBQb3NpeFBhdGgsIFB1cmVQb3NpeFBhdGgKIGZyb20gaW1w b3J0bGliLm1ldGFkYXRhIGltcG9ydCBEaXN0cmlidXRpb24KK2Zyb20gcGFja2FnaW5nLnV0aWxz IGltcG9ydCBjYW5vbmljYWxpemVfbmFtZQogCiAKICMgRnJvbSBSUE0ncyBidWlsZC9maWxlcy5j IHN0cnRva1dpdGhRdW90ZXMgZGVsaW0gYXJndW1lbnQKQEAgLTQ1LDYgKzQ2LDI0IEBAIE1BTkRJ UlMgPSBbCiBdCiAKIAorZGVmIGNhbm9uaWNhbF9uYW1lX2Zyb21fZGlzdGluZm8oZGlzdGluZm9f ZGlyX25hbWUpOgorICAgICIiIkV4dHJhY3QgdGhlIGNhbm9uaWNhbGl6ZWQgZGlzdHJpYnV0aW9u IG5hbWUgZnJvbSBhIC5kaXN0LWluZm8gZGlyZWN0b3J5IG5hbWUuCisKKyAgICBFeGFtcGxlczoK KworICAgICAgICA+Pj4gY2Fub25pY2FsX25hbWVfZnJvbV9kaXN0aW5mbygnTWFya3VwU2FmZS0y LjAuMS5kaXN0LWluZm8nKQorICAgICAgICAnbWFya3Vwc2FmZScKKworICAgICAgICA+Pj4gY2Fu b25pY2FsX25hbWVfZnJvbV9kaXN0aW5mbygndGxkci0wLjUuZGlzdC1pbmZvJykKKyAgICAgICAg J3RsZHInCisKKyAgICAgICAgPj4+IGNhbm9uaWNhbF9uYW1lX2Zyb21fZGlzdGluZm8oJ015LlBh Y2thZ2VfbmFtZS0xLjAuZGlzdC1pbmZvJykKKyAgICAgICAgJ215LXBhY2thZ2UtbmFtZScKKyAg ICAiIiIKKyAgICByYXcgPSBkaXN0aW5mb19kaXJfbmFtZS5yZW1vdmVzdWZmaXgoJy5kaXN0LWlu Zm8nKS5yc3BsaXQoJy0nLCAxKVswXQorICAgIHJldHVybiBjYW5vbmljYWxpemVfbmFtZShyYXcp CisKKwogY2xhc3MgQnVpbGRyb290UGF0aChQdXJlUG9zaXhQYXRoKToKICAgICAiIiIKICAgICBU aGlzIHBhdGggcmVwcmVzZW50cyBhIHBhdGggaW4gYSBidWlsZHJvb3QuCkBAIC03NjAsMTUgKzc3 OSwzMSBAQCBkZWYgcGFyc2VfdmFyYXJncyh2YXJhcmdzKToKICAgICByZXR1cm4gZ2xvYnMsIGlu Y2x1ZGVfYXV0bwogCiAKLWRlZiBsb2FkX3BhcnNlZF9yZWNvcmQocHlwcm9qZWN0X3JlY29yZCk6 CitkZWYgbG9hZF9wYXJzZWRfcmVjb3JkKHB5cHJvamVjdF9yZWNvcmQsIGRpc3RfbmFtZT1Ob25l KToKICAgICBwYXJzZWRfcmVjb3JkID0ge30KICAgICB3aXRoIG9wZW4ocHlwcm9qZWN0X3JlY29y ZCkgYXMgcHlwcm9qZWN0X3JlY29yZF9maWxlOgogICAgICAgICBjb250ZW50ID0ganNvbi5sb2Fk KHB5cHJvamVjdF9yZWNvcmRfZmlsZSkKIAotICAgIGlmIGxlbihjb250ZW50KSA+IDE6Ci0gICAg ICAgIHJhaXNlIEZpbGVFeGlzdHNFcnJvcigiJXB5cHJvamVjdF9pbnN0YWxsIGhhcyBmb3VuZCBt b3JlIHRoYW4gb25lICouZGlzdC1pbmZvL1JFQ09SRCBmaWxlLiAiCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiQ3VycmVudGx5LCAlcHlwcm9qZWN0X3NhdmVfZmlsZXMgc3VwcG9ydHMg b25seSBvbmUgd2hlZWwg4oaSIG9uZSBmaWxlIGxpc3QgbWFwcGluZy4gIgotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIkZlZWwgZnJlZSB0byBvcGVuIGEgYnVnemlsbGEgZm9yIHB5cHJv amVjdC1ycG0tbWFjcm9zIGFuZCBkZXNjcmliZSB5b3VyIHVzZWNhc2UuIikKKyAgICAjIE1hcCBl YWNoIHJlY29yZCBwYXRoIHRvIGl0cyBjYW5vbmljYWwgZGlzdCBuYW1lCisgICAgZGlzdF9uYW1l cyA9IHtycDogY2Fub25pY2FsX25hbWVfZnJvbV9kaXN0aW5mbyhCdWlsZHJvb3RQYXRoKHJwKS5w YXJlbnQubmFtZSkKKyAgICAgICAgICAgICAgICAgIGZvciBycCBpbiBjb250ZW50fQorICAgIGF2 YWlsYWJsZSA9IHNvcnRlZChkaXN0X25hbWVzLnZhbHVlcygpKSAgIyB1c2VkIGluIGVycm9yIG1l c3NhZ2VzCisKKyAgICBpZiBkaXN0X25hbWU6CisgICAgICAgIG5vcm1hbGl6ZWRfdGFyZ2V0ID0g Y2Fub25pY2FsaXplX25hbWUoZGlzdF9uYW1lKQorICAgICAgICBjb250ZW50ID0ge3JwOiBmaWxl cyBmb3IgcnAsIGZpbGVzIGluIGNvbnRlbnQuaXRlbXMoKQorICAgICAgICAgICAgICAgICAgIGlm IGRpc3RfbmFtZXNbcnBdID09IG5vcm1hbGl6ZWRfdGFyZ2V0fQorICAgICAgICBpZiBub3QgY29u dGVudDoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCisgICAgICAgICAgICAgICAgZiJO byBkaXN0LWluZm8gZm91bmQgbWF0Y2hpbmcgZGlzdCBuYW1lICd7ZGlzdF9uYW1lfScuICIKKyAg ICAgICAgICAgICAgICBmIkF2YWlsYWJsZTogeycsICcuam9pbihhdmFpbGFibGUpfSIKKyAgICAg ICAgICAgICkKKyAgICBlbGlmIGxlbihjb250ZW50KSA+IDE6CisgICAgICAgIHJhaXNlIFZhbHVl RXJyb3IoCisgICAgICAgICAgICAiJXB5cHJvamVjdF9pbnN0YWxsIGhhcyBmb3VuZCBtb3JlIHRo YW4gb25lICouZGlzdC1pbmZvL1JFQ09SRCBmaWxlLiAiCisgICAgICAgICAgICAiVXNlICVweXBy b2plY3Rfc2F2ZV9maWxlcyAtRCA8bmFtZT4gdG8gc2VsZWN0IGEgcGFja2FnZS4gIgorICAgICAg ICAgICAgZiJBdmFpbGFibGU6IHsnLCAnLmpvaW4oYXZhaWxhYmxlKX0iCisgICAgICAgICkKIAog ICAgICMgUmVkZWZpbmUgc3RyaW5ncyBzdG9yZWQgaW4gSlNPTiB0byBCdWlsZFJvb3RQYXRocwog ICAgIGZvciByZWNvcmRfcGF0aCwgZmlsZXMgaW4gY29udGVudC5pdGVtcygpOgpAQCAtNzg2LDEy ICs4MjEsMTIgQEAgZGVmIGRpc3RfbWV0YWRhdGEoYnVpbGRyb290LCByZWNvcmRfcGF0aCk6CiAg ICAgcmV0dXJuIGRpc3QubWV0YWRhdGEKIAogCi1kZWYgcHlwcm9qZWN0X3NhdmVfZmlsZXNfYW5k X21vZHVsZXMoYnVpbGRyb290LCBzaXRlbGliLCBzaXRlYXJjaCwgcHl0aG9uX3ZlcnNpb24sIHB5 cHJvamVjdF9yZWNvcmQsIHByZWZpeCwgYXNzZXJ0X2xpY2Vuc2UsIGFsbG93X25vX21vZHVsZXMs IGF1dG8sIHZhcmFyZ3MpOgorZGVmIHB5cHJvamVjdF9zYXZlX2ZpbGVzX2FuZF9tb2R1bGVzKGJ1 aWxkcm9vdCwgc2l0ZWxpYiwgc2l0ZWFyY2gsIHB5dGhvbl92ZXJzaW9uLCBweXByb2plY3RfcmVj b3JkLCBwcmVmaXgsIGFzc2VydF9saWNlbnNlLCBhbGxvd19ub19tb2R1bGVzLCBhdXRvLCB2YXJh cmdzLCBkaXN0X25hbWU9Tm9uZSk6CiAgICAgIiIiCiAgICAgVGFrZXMgYXJndW1lbnRzIGZyb20g dGhlICV7cHlwcm9qZWN0X3NhdmVfZmlsZXN9IG1hY3JvCiAKLSAgICBSZXR1cm5zIHR1cGxlOiBs aXN0IG9mIHBhdGhzIGZvciB0aGUgJWZpbGVzIHNlY3Rpb24gYW5kIGxpc3Qgb2YgbW9kdWxlIG5h bWVzCi0gICAgZm9yIHRoZSAlY2hlY2sgc2VjdGlvbgorICAgIFJldHVybnMgdHVwbGU6IGxpc3Qg b2YgcGF0aHMgZm9yIHRoZSAlZmlsZXMgc2VjdGlvbiwgbGlzdCBvZiBtb2R1bGUgbmFtZXMKKyAg ICBmb3IgdGhlICVjaGVjayBzZWN0aW9uLCBhbmQgbGlzdCBvZiByZWNvcmQgcGF0aHMgKEJ1aWxk cm9vdFBhdGhzKQogCiAgICAgUmFpc2VzIFZhbHVlRXJyb3Igd2hlbiBhc3NlcnRfbGljZW5zZSBp cyB0cnVlIGFuZCBubyBMaWNlbnNlLUZpbGUgKFBFUCA2MzkpCiAgICAgaXMgZm91bmQuCkBAIC04 MTEsNyArODQ2LDcgQEAgZGVmIHB5cHJvamVjdF9zYXZlX2ZpbGVzX2FuZF9tb2R1bGVzKGJ1aWxk cm9vdCwgc2l0ZWxpYiwgc2l0ZWFyY2gsIHB5dGhvbl92ZXJzaW8KICAgICAgICAgcmFpc2UgVmFs dWVFcnJvcigKICAgICAgICAgICAgICIlcHlwcm9qZWN0X3NhdmVfZmlsZXMgLU0gY2Fubm90IGJl IHVzZWQgdG9nZXRoZXIgd2l0aCBtb2R1bGUgZ2xvYnMuIgogICAgICAgICApCi0gICAgcGFyc2Vk X3JlY29yZHMgPSBsb2FkX3BhcnNlZF9yZWNvcmQocHlwcm9qZWN0X3JlY29yZCkKKyAgICBwYXJz ZWRfcmVjb3JkcyA9IGxvYWRfcGFyc2VkX3JlY29yZChweXByb2plY3RfcmVjb3JkLCBkaXN0X25h bWUpCiAKICAgICBmaW5hbF9maWxlX2xpc3QgPSBbXQogICAgIGZpbmFsX21vZHVsZV9saXN0ID0g W10KQEAgLTg0MiwxMSArODc3LDExIEBAIGRlZiBweXByb2plY3Rfc2F2ZV9maWxlc19hbmRfbW9k dWxlcyhidWlsZHJvb3QsIHNpdGVsaWIsIHNpdGVhcmNoLCBweXRob25fdmVyc2lvCiAgICAgICAg ICAgICAiYW5kIGluY2x1ZGUgdGhlICVsaWNlbnNlIGZpbGUgaW4gJWZpbGVzIG1hbnVhbGx5LiIK ICAgICAgICAgKQogCi0gICAgcmV0dXJuIGZpbmFsX2ZpbGVfbGlzdCwgZmluYWxfbW9kdWxlX2xp c3QKKyAgICByZXR1cm4gZmluYWxfZmlsZV9saXN0LCBmaW5hbF9tb2R1bGVfbGlzdCwgbGlzdChw YXJzZWRfcmVjb3JkcykKIAogCiBkZWYgbWFpbihjbGlfYXJncyk6Ci0gICAgZmlsZV9zZWN0aW9u LCBtb2R1bGVfbmFtZXMgPSBweXByb2plY3Rfc2F2ZV9maWxlc19hbmRfbW9kdWxlcygKKyAgICBm aWxlX3NlY3Rpb24sIG1vZHVsZV9uYW1lcywgcmVjb3JkX3BhdGhzID0gcHlwcm9qZWN0X3NhdmVf ZmlsZXNfYW5kX21vZHVsZXMoCiAgICAgICAgIGNsaV9hcmdzLmJ1aWxkcm9vdCwKICAgICAgICAg Y2xpX2FyZ3Muc2l0ZWxpYiwKICAgICAgICAgY2xpX2FyZ3Muc2l0ZWFyY2gsCkBAIC04NTcsMTAg Kzg5MiwyNCBAQCBkZWYgbWFpbihjbGlfYXJncyk6CiAgICAgICAgIGNsaV9hcmdzLmFsbG93X25v X21vZHVsZXMsCiAgICAgICAgIGNsaV9hcmdzLmF1dG8sCiAgICAgICAgIGNsaV9hcmdzLnZhcmFy Z3MsCisgICAgICAgIGNsaV9hcmdzLmRpc3RfbmFtZSwKICAgICApCiAKLSAgICBjbGlfYXJncy5v dXRwdXRfZmlsZXMud3JpdGVfdGV4dCgiXG4iLmpvaW4oZmlsZV9zZWN0aW9uKSArICJcbiIsIGVu Y29kaW5nPSJ1dGYtOCIpCi0gICAgY2xpX2FyZ3Mub3V0cHV0X21vZHVsZXMud3JpdGVfdGV4dCgi XG4iLmpvaW4obW9kdWxlX25hbWVzKSArICJcbiIsIGVuY29kaW5nPSJ1dGYtOCIpCisgICAgZmls ZXNfdGV4dCA9ICJcbiIuam9pbihmaWxlX3NlY3Rpb24pICsgIlxuIgorICAgIG1vZHVsZXNfdGV4 dCA9ICJcbiIuam9pbihtb2R1bGVfbmFtZXMpICsgIlxuIgorCisgICAgY2xpX2FyZ3Mub3V0cHV0 X2ZpbGVzLndyaXRlX3RleHQoZmlsZXNfdGV4dCwgZW5jb2Rpbmc9InV0Zi04IikKKyAgICBjbGlf YXJncy5vdXRwdXRfbW9kdWxlcy53cml0ZV90ZXh0KG1vZHVsZXNfdGV4dCwgZW5jb2Rpbmc9InV0 Zi04IikKKworICAgICMgV2hlbiBubyAtRCB3YXMgZ2l2ZW4sIGFsc28gd3JpdGUgdG8gdGhlIG5h bWVkIHBhdGggKGRlcml2ZWQgZnJvbSBkaXN0LWluZm8pCisgICAgIyBzbyB0aGF0ICV7cHlwcm9q ZWN0X2ZpbGVzIC1EIG5hbWV9IHdvcmtzIGV2ZW4gd2l0aG91dCAtRCBpbiAlcHlwcm9qZWN0X3Nh dmVfZmlsZXMKKyAgICBpZiBub3QgY2xpX2FyZ3MuZGlzdF9uYW1lOgorICAgICAgICByZWNvcmRf cGF0aCA9IHJlY29yZF9wYXRoc1swXQorICAgICAgICBub3JtYWxpemVkID0gY2Fub25pY2FsX25h bWVfZnJvbV9kaXN0aW5mbyhyZWNvcmRfcGF0aC5wYXJlbnQubmFtZSkKKyAgICAgICAgbmFtZWRf ZmlsZXMgPSBQb3NpeFBhdGgoZiJ7Y2xpX2FyZ3Mub3V0cHV0X2ZpbGVzfS17bm9ybWFsaXplZH0i KQorICAgICAgICBuYW1lZF9tb2R1bGVzID0gUG9zaXhQYXRoKGYie2NsaV9hcmdzLm91dHB1dF9t b2R1bGVzfS17bm9ybWFsaXplZH0iKQorICAgICAgICBuYW1lZF9maWxlcy53cml0ZV90ZXh0KGZp bGVzX3RleHQsIGVuY29kaW5nPSJ1dGYtOCIpCisgICAgICAgIG5hbWVkX21vZHVsZXMud3JpdGVf dGV4dChtb2R1bGVzX3RleHQsIGVuY29kaW5nPSJ1dGYtOCIpCiAKIAogZGVmIGFyZ3BhcnNlcigp OgpAQCAtODk4LDYgKzk0NywxMCBAQCBkZWYgYXJncGFyc2VyKCk6CiAgICAgICAgIGhlbHA9IkRv bid0IGZhaWwgd2hlbiBubyBnbG9icyBhcmUgcHJvdmlkZWQsIG9ubHkgaW5jbHVkZSBub24tbW9k dWxlcyBkYXRhIGluIHRoZSBnZW5lcmF0ZWQgZmlsZWxpc3QuIiwKICAgICApCiAgICAgcGFyc2Vy LmFkZF9hcmd1bWVudCgKKyAgICAgICAgIi1EIiwgIi0tZGlzdC1uYW1lIiwgdHlwZT1zdHIsIGRl ZmF1bHQ9Tm9uZSwKKyAgICAgICAgaGVscD0iU2F2ZSBmaWxlcyBmb3IgYSBzcGVjaWZpYyBkaXN0 cmlidXRpb24gcGFja2FnZSAoZm9yIG11bHRpLXdoZWVsIGluc3RhbGxzKS4iLAorICAgICkKKyAg ICBwYXJzZXIuYWRkX2FyZ3VtZW50KAogICAgICAgICAiLWEiLCAiLS1hdXRvIiwgYWN0aW9uPSJz dG9yZV90cnVlIiwgZGVmYXVsdD1GYWxzZSwKICAgICAgICAgaGVscD0iSW5jbHVkZSBhbGwgbm9u LW1vZHVsZSwgbm9uLXNpdGVsaWIgZmlsZXMgKHNhbWUgYXMgK2F1dG8pLiIsCiAgICAgKQoKZGlm ZiAtLWdpdCBhL3Rlc3RfcHlwcm9qZWN0X3NhdmVfZmlsZXMucHkgYi90ZXN0X3B5cHJvamVjdF9z YXZlX2ZpbGVzLnB5CmluZGV4IDVlZTU4OTMuLjA0ODYyMDEgMTAwNzU1Ci0tLSBhL3Rlc3RfcHlw cm9qZWN0X3NhdmVfZmlsZXMucHkKKysrIGIvdGVzdF9weXByb2plY3Rfc2F2ZV9maWxlcy5weQpA QCAtNiw3ICs2LDcgQEAgZnJvbSBwcHJpbnQgaW1wb3J0IHBwcmludAogCiBmcm9tIHB5cHJvamVj dF9wcmVwcm9jZXNzX3JlY29yZCBpbXBvcnQgcGFyc2VfcmVjb3JkLCByZWFkX3JlY29yZCwgc2F2 ZV9wYXJzZWRfcmVjb3JkCiAKLWZyb20gcHlwcm9qZWN0X3NhdmVfZmlsZXMgaW1wb3J0IGFyZ3Bh cnNlciwgZ2VuZXJhdGVfZmlsZV9saXN0LCBCdWlsZHJvb3RQYXRoCitmcm9tIHB5cHJvamVjdF9z YXZlX2ZpbGVzIGltcG9ydCBhcmdwYXJzZXIsIGNhbm9uaWNhbF9uYW1lX2Zyb21fZGlzdGluZm8s IGdlbmVyYXRlX2ZpbGVfbGlzdCwgQnVpbGRyb290UGF0aAogZnJvbSBweXByb2plY3Rfc2F2ZV9m aWxlcyBpbXBvcnQgbWFpbiBhcyBzYXZlX2ZpbGVzX21haW4KIGZyb20gcHlwcm9qZWN0X3NhdmVf ZmlsZXMgaW1wb3J0IG1vZHVsZV9uYW1lc19mcm9tX3BhdGgKIApAQCAtMjQyLDEyICsyNDIsMTIg QEAgZGVmIHRlc3RfY2xpX25vX3B5cHJvamVjdF9yZWNvcmQodG1wX3BhdGgsIHB5cHJvamVjdF9y ZWNvcmQpOgogZGVmIHRlc3RfY2xpX3Rvb19tYW55X1JFQ09SRFModGxkcl9yb290LCBvdXRwdXRf ZmlsZXMsIG91dHB1dF9tb2R1bGVzLCBweXByb2plY3RfcmVjb3JkKToKICAgICAjIFR3byBjYWxs cyB0byBzaW11bGF0ZSBob3cgJXB5cHJvamVjdF9pbnN0YWxsIHByb2Nlc3MgbW9yZSB0aGFuIG9u ZSBSRUNPUkQgZmlsZQogICAgIHByZXBhcmVfcHlwcm9qZWN0X3JlY29yZCh0bGRyX3Jvb3QsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9KCJmb28vYmFyL2Rpc3QtaW5mby9S RUNPUkQiLCBbXSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9KCJmb28v YmFyLTEuMC5kaXN0LWluZm8vUkVDT1JEIiwgW10pKQogICAgIHByZXBhcmVfcHlwcm9qZWN0X3Jl Y29yZCh0bGRyX3Jvb3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9KCJm b28vYmF6L2Rpc3QtaW5mby9SRUNPUkQiLCBbXSkpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnRlbnQ9KCJmb28vYmF6LTIuMC5kaXN0LWluZm8vUkVDT1JEIiwgW10pKQogICAgIGNs aV9hcmdzID0gYXJncGFyc2VyKCkucGFyc2VfYXJncyhbKmRlZmF1bHRfb3B0aW9ucyhvdXRwdXRf ZmlsZXMsIG91dHB1dF9tb2R1bGVzLCB0bGRyX3Jvb3QsIHB5cHJvamVjdF9yZWNvcmQpLCAidGxk cioiXSkKIAotICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhGaWxlRXhpc3RzRXJyb3IpOgorICAgIHdp dGggcHl0ZXN0LnJhaXNlcyhWYWx1ZUVycm9yLCBtYXRjaD0iVXNlICVweXByb2plY3Rfc2F2ZV9m aWxlcyAtRCIpOgogICAgICAgICBzYXZlX2ZpbGVzX21haW4oY2xpX2FyZ3MpCiAKIApAQCAtMjc3 LDMgKzI3Nyw2NiBAQCBkZWYgdGVzdF9jbGlfYmFkX25hbWVzcGFjZSh0bGRyX3Jvb3QsIG91dHB1 dF9maWxlcywgb3V0cHV0X21vZHVsZXMsIHB5cHJvamVjdF9yZQogCiAgICAgd2l0aCBweXRlc3Qu cmFpc2VzKFZhbHVlRXJyb3IpOgogICAgICAgICBzYXZlX2ZpbGVzX21haW4oY2xpX2FyZ3MpCisK KworZGVmIHRlc3RfY2Fub25pY2FsX25hbWVfZnJvbV9kaXN0aW5mbygpOgorICAgIGFzc2VydCBj YW5vbmljYWxfbmFtZV9mcm9tX2Rpc3RpbmZvKCJNYXJrdXBTYWZlLTIuMC4xLmRpc3QtaW5mbyIp ID09ICJtYXJrdXBzYWZlIgorICAgIGFzc2VydCBjYW5vbmljYWxfbmFtZV9mcm9tX2Rpc3RpbmZv KCJ0bGRyLTAuNS5kaXN0LWluZm8iKSA9PSAidGxkciIKKyAgICBhc3NlcnQgY2Fub25pY2FsX25h bWVfZnJvbV9kaXN0aW5mbygibXlfcGFja2FnZS0xLjAuMC5kaXN0LWluZm8iKSA9PSAibXktcGFj a2FnZSIKKyAgICBhc3NlcnQgY2Fub25pY2FsX25hbWVfZnJvbV9kaXN0aW5mbygiem9wZS5ldmVu dC0xLjAuZGlzdC1pbmZvIikgPT0gInpvcGUtZXZlbnQiCisKKworZGVmIHRlc3RfY2xpX3dpdGhf ZGlzdF9uYW1lKHRsZHJfcm9vdCwgcHlwcm9qZWN0X3JlY29yZCk6CisgICAgb3V0cHV0X2ZpbGVz ID0gdGxkcl9yb290IC8gImZpbGVzIgorICAgIG91dHB1dF9tb2R1bGVzID0gdGxkcl9yb290IC8g Im1vZHVsZXMiCisgICAgY2xpX2FyZ3MgPSBhcmdwYXJzZXIoKS5wYXJzZV9hcmdzKFsKKyAgICAg ICAgKmRlZmF1bHRfb3B0aW9ucyhvdXRwdXRfZmlsZXMsIG91dHB1dF9tb2R1bGVzLCB0bGRyX3Jv b3QsIHB5cHJvamVjdF9yZWNvcmQpLAorICAgICAgICAiLUQiLCAidGxkciIsCisgICAgICAgICJ0 bGRyKiIsCisgICAgXSkKKyAgICBzYXZlX2ZpbGVzX21haW4oY2xpX2FyZ3MpCisgICAgYXNzZXJ0 IG91dHB1dF9maWxlcy5leGlzdHMoKQorICAgIGFzc2VydCAidGxkciIgaW4gb3V0cHV0X2ZpbGVz LnJlYWRfdGV4dCgpCisgICAgYXNzZXJ0IG91dHB1dF9tb2R1bGVzLmV4aXN0cygpCisKKworZGVm IHRlc3RfY2xpX3dpdGhfZGlzdF9uYW1lX2Nhc2VfaW5zZW5zaXRpdmUodGxkcl9yb290LCBweXBy b2plY3RfcmVjb3JkKToKKyAgICBvdXRwdXRfZmlsZXMgPSB0bGRyX3Jvb3QgLyAiZmlsZXMiCisg ICAgb3V0cHV0X21vZHVsZXMgPSB0bGRyX3Jvb3QgLyAibW9kdWxlcyIKKyAgICBjbGlfYXJncyA9 IGFyZ3BhcnNlcigpLnBhcnNlX2FyZ3MoWworICAgICAgICAqZGVmYXVsdF9vcHRpb25zKG91dHB1 dF9maWxlcywgb3V0cHV0X21vZHVsZXMsIHRsZHJfcm9vdCwgcHlwcm9qZWN0X3JlY29yZCksCisg ICAgICAgICItRCIsICJUTERSIiwKKyAgICAgICAgInRsZHIqIiwKKyAgICBdKQorICAgIHNhdmVf ZmlsZXNfbWFpbihjbGlfYXJncykKKyAgICBhc3NlcnQgb3V0cHV0X2ZpbGVzLmV4aXN0cygpCisK KworZGVmIHRlc3RfY2xpX2Rpc3RfbmFtZV9ub3RfZm91bmQodGxkcl9yb290LCBweXByb2plY3Rf cmVjb3JkKToKKyAgICBvdXRwdXRfZmlsZXMgPSB0bGRyX3Jvb3QgLyAiZmlsZXMiCisgICAgb3V0 cHV0X21vZHVsZXMgPSB0bGRyX3Jvb3QgLyAibW9kdWxlcyIKKyAgICBjbGlfYXJncyA9IGFyZ3Bh cnNlcigpLnBhcnNlX2FyZ3MoWworICAgICAgICAqZGVmYXVsdF9vcHRpb25zKG91dHB1dF9maWxl cywgb3V0cHV0X21vZHVsZXMsIHRsZHJfcm9vdCwgcHlwcm9qZWN0X3JlY29yZCksCisgICAgICAg ICItRCIsICJub25leGlzdGVudCIsCisgICAgICAgICJ0bGRyKiIsCisgICAgXSkKKyAgICB3aXRo IHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvciwgbWF0Y2g9Ik5vIGRpc3QtaW5mbyBmb3VuZCBtYXRj aGluZyIpOgorICAgICAgICBzYXZlX2ZpbGVzX21haW4oY2xpX2FyZ3MpCisKKworZGVmIHRlc3Rf Y2xpX3NpbmdsZV9yZWNvcmRfbmFtZWRfb3V0cHV0KHRsZHJfcm9vdCwgcHlwcm9qZWN0X3JlY29y ZCk6CisgICAgb3V0cHV0X2ZpbGVzID0gdGxkcl9yb290IC8gImZpbGVzIgorICAgIG91dHB1dF9t b2R1bGVzID0gdGxkcl9yb290IC8gIm1vZHVsZXMiCisgICAgY2xpX2FyZ3MgPSBhcmdwYXJzZXIo KS5wYXJzZV9hcmdzKFsKKyAgICAgICAgKmRlZmF1bHRfb3B0aW9ucyhvdXRwdXRfZmlsZXMsIG91 dHB1dF9tb2R1bGVzLCB0bGRyX3Jvb3QsIHB5cHJvamVjdF9yZWNvcmQpLAorICAgICAgICAidGxk cioiLAorICAgIF0pCisgICAgc2F2ZV9maWxlc19tYWluKGNsaV9hcmdzKQorICAgICMgV2l0aG91 dCAtRCwgYmFzZSBvdXRwdXQgc2hvdWxkIGV4aXN0CisgICAgYXNzZXJ0IG91dHB1dF9maWxlcy5l eGlzdHMoKQorICAgICMgTmFtZWQgb3V0cHV0IChkZXJpdmVkIGZyb20gZGlzdC1pbmZvKSBzaG91 bGQgYWxzbyBleGlzdAorICAgIG5hbWVkX2ZpbGVzID0gdGxkcl9yb290IC8gImZpbGVzLXRsZHIi CisgICAgbmFtZWRfbW9kdWxlcyA9IHRsZHJfcm9vdCAvICJtb2R1bGVzLXRsZHIiCisgICAgYXNz ZXJ0IG5hbWVkX2ZpbGVzLmV4aXN0cygpCisgICAgYXNzZXJ0IG5hbWVkX21vZHVsZXMuZXhpc3Rz KCkKKyAgICBhc3NlcnQgb3V0cHV0X2ZpbGVzLnJlYWRfdGV4dCgpID09IG5hbWVkX2ZpbGVzLnJl YWRfdGV4dCgpCgpkaWZmIC0tZ2l0IGEvdGVzdHMvZG91YmxlLWluc3RhbGwuc3BlYyBiL3Rlc3Rz L2RvdWJsZS1pbnN0YWxsLnNwZWMKaW5kZXggMTNmZTMzZC4uM2JlZjgxOSAxMDA2NDQKLS0tIGEv dGVzdHMvZG91YmxlLWluc3RhbGwuc3BlYworKysgYi90ZXN0cy9kb3VibGUtaW5zdGFsbC5zcGVj CkBAIC0xNCw3ICsxNCwyMyBAQCBCdWlsZFJlcXVpcmVzOiAgcHl0aG9uMy1kZXZlbAogJWRlc2Ny aXB0aW9uCiBUaGlzIHBhY2thZ2UgdGVzdHMgdGhhdCB3ZSBjYW4gYnVpbGQgYW5kIGluc3RhbGwg MiB3aGVlbHMgYXQgb25jZS4KIE9uZSBvZiB0aGVtIGlzICJub2FyY2giIGFuZCBvbmUgaGFzIGFu IGV4dGVuc2lvbiBtb2R1bGUuCi1UaGlzIGFsc28gdGVzdHMgdGhlIC1kIG9wdGlvbiBmb3IgJSVw eXByb2plY3RfYnVpbGRyZXF1aXJlcy8lJXB5cHJvamVjdF93aGVlbC4KK1RoaXMgYWxzbyB0ZXN0 cyB0aGUgLWQgb3B0aW9uIGZvciAlJXB5cHJvamVjdF9idWlsZHJlcXVpcmVzLyUlcHlwcm9qZWN0 X3doZWVsCithbmQgdGhlIC1EIG9wdGlvbiBmb3IgJSVweXByb2plY3Rfc2F2ZV9maWxlcy8lJXB5 cHJvamVjdF9jaGVja19pbXBvcnQuCisKKworJXBhY2thZ2UgLW4gcHl0aG9uMy1kb3VibGUtbWFy a3Vwc2FmZQorU3VtbWFyeTogICAgICAgIE1hcmt1cFNhZmUgZnJvbSBkb3VibGUtaW5zdGFsbCB0 ZXN0CisKKyVkZXNjcmlwdGlvbiAtbiBweXRob24zLWRvdWJsZS1tYXJrdXBzYWZlCitNYXJrdXBT YWZlIHN1YnBhY2thZ2UuCisKKworJXBhY2thZ2UgLW4gcHl0aG9uMy1kb3VibGUtdGxkcgorU3Vt bWFyeTogICAgICAgIHRsZHIgZnJvbSBkb3VibGUtaW5zdGFsbCB0ZXN0CitCdWlsZEFyY2g6ICAg ICAgbm9hcmNoCisKKyVkZXNjcmlwdGlvbiAtbiBweXRob24zLWRvdWJsZS10bGRyCit0bGRyIHN1 YnBhY2thZ2UuCiAKIAogJXByZXAKQEAgLTI1LDcgKzQxLDcgQEAgdGFyIHhmICV7U09VUkNFMn0K IAogJWdlbmVyYXRlX2J1aWxkcmVxdWlyZXMKICVweXByb2plY3RfYnVpbGRyZXF1aXJlcyAtLW5v LXJ1bnRpbWUgLS1kaXJlY3RvcnkgbWFya3Vwc2FmZS0le21hcmt1cHNhZmVfdmVyc2lvbn0KLSVw eXByb2plY3RfYnVpbGRyZXF1aXJlcyAtLW5vLXJ1bnRpbWUgLS1kaXJlY3RvcnkgdGxkci0le3Rs ZHJfdmVyc2lvbn0KKyVweXByb2plY3RfYnVpbGRyZXF1aXJlcyAtLWRpcmVjdG9yeSB0bGRyLSV7 dGxkcl92ZXJzaW9ufQogCiAKICVidWlsZApAQCAtMzksNyArNTUsOCBAQCBzZXQgLW8gcGlwZWZh aWwKICMgVGhpcyBzaG91bGQgaW5zdGFsbCBib3RoIHRoZSB3aGVlbHM6CiAlcHlwcm9qZWN0X2lu c3RhbGwKICkgMj4mMSB8IHRlZSBpbnN0YWxsLmxvZwotI3B5cHJvamVjdF9zYXZlX2ZpbGVzIGlz IG5vdCBwb3NzaWJsZSB3aXRoIDIgZGlzdC1pbmZvcworJXB5cHJvamVjdF9zYXZlX2ZpbGVzIC0t ZGlzdC1uYW1lIG1hcmt1cHNhZmUgbWFya3Vwc2FmZQorJXB5cHJvamVjdF9zYXZlX2ZpbGVzIC1E IHRsZHIgdGxkciArYXV0bwogCiAKICVjaGVjawpAQCAtNTYsMTEgKzczLDExIEBAIGNkIC4uCiAj IEludGVybmFsIHJlZ3Jlc3Npb24gY2hlY2sgZm9yICUlcHlwcm9qZWN0X2luc3RhbGwgd2l0aCBt dWx0aXBsZSB3aGVlbHMKIGdyZXAgJ2JpbmFyeSBvcGVyYXRvciBleHBlY3RlZCcgaW5zdGFsbC5s b2cgJiYgZXhpdCAxIHx8IHRydWUKIGdyZXAgJ3RvbyBtYW55IGFyZ3VtZW50cycgaW5zdGFsbC5s b2cgJiYgZXhpdCAxIHx8IHRydWUKKyMgQ2hlY2sgdGhhdCAlJXB5cHJvamVjdF9jaGVja19pbXBv cnQgLUQgd29ya3MKKyVweXByb2plY3RfY2hlY2tfaW1wb3J0IC1EIG1hcmt1cHNhZmUKKyVweXBy b2plY3RfY2hlY2tfaW1wb3J0IC1EIHRsZHIKKwogCislZmlsZXMgLW4gcHl0aG9uMy1kb3VibGUt bWFya3Vwc2FmZSAtZiAle3B5cHJvamVjdF9maWxlcyAtRCBtYXJrdXBzYWZlfQogCi0lZmlsZXMK LSV7X2JpbmRpcn0vdGxkcioKLSVweWNhY2hlZCAle3B5dGhvbjNfc2l0ZWxpYn0vdGxkci5weQot JXtweXRob24zX3NpdGVsaWJ9L3RsZHItJXt0bGRyX3ZlcnNpb259LmRpc3QtaW5mby8KLSV7cHl0 aG9uM19zaXRlYXJjaH0vW01tXWFya3VwW1NzXWFmZS0le21hcmt1cHNhZmVfdmVyc2lvbn0uZGlz dC1pbmZvLwotJXtweXRob24zX3NpdGVhcmNofS9tYXJrdXBzYWZlLworJWZpbGVzIC1uIHB5dGhv bjMtZG91YmxlLXRsZHIgLWYgJXtweXByb2plY3RfZmlsZXMgLS1kaXN0LW5hbWUgdGxkcn0K