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: Owen W. Taylor To: git-commits@fedoraproject.org Subject: [flatpaks/flatpak-runtime] f45: Add a .flake8 to suppress warnings and fix up other warnings Date: Fri, 11 Sep 2026 14:42:35 GMT Message-ID: <178913775503.1.402934492937476946.flatpaks-flatpak-runtime-bbb89f6b7851@fedoraproject.org> List-ID: X-Git-Repo: flatpaks/flatpak-runtime X-Git-Branch: f45 X-Git-Rev: bbb89f6b785133ef5d57c08a6d09d730c631d069 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IGZsYXRwYWtzL2ZsYXRwYWstcnVudGltZQogICAgICAgICAgICBCcmFuY2ggOiBmNDUK ICAgICAgICAgICAgQ29tbWl0IDogYmJiODlmNmI3ODUxMzNlZjVkNTdjMDhhNmQwOWQ3MzBjNjMx ZDA2OQogICAgICAgICAgICBBdXRob3IgOiBPd2VuIFcuIFRheWxvciA8b3RheWxvckBmaXNoc291 cC5uZXQ+CiAgICAgICAgICAgIERhdGUgICA6IDIwMjYtMDMtMDJUMjA6Mjk6NDUtMDU6MDAKICAg ICAgICAgICAgU3RhdHMgIDogKzEwNS8tNjUgaW4gNiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAg ICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL2ZsYXRwYWtzL2ZsYXRwYWstcnVudGlt ZS9jL2JiYjg5ZjZiNzg1MTMzZWY1ZDU3YzA4YTZkMDlkNzMwYzYzMWQwNjk/YnJhbmNoPWY0NQoK ICAgICAgICAgICAgTG9nOgogICAgICAgICAgICBBZGQgYSAuZmxha2U4IHRvIHN1cHByZXNzIHdh cm5pbmdzIGFuZCBmaXggdXAgb3RoZXIgd2FybmluZ3MKCkFkZCBhIC5mbGFrZTggdG8gc3VwcHJl c3Mgd2FybmluZ3MgaXQgd291bGQgdGFrZSBhIGxvdCBvZiBjb2RlIGNodXJuIHQKZml4LCBhbmQg c3RhcnQgZml4aW5nIHVwIG90aGVyIHdhcm5pbmdzIGZyb20gRmxha2U4IGFuZCB2c2NvZGUgcHls YW5jZQoKLS0tCmRpZmYgLS1naXQgYS8uZmxha2U4IGIvLmZsYWtlOApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5jMGY3ZGEzCi0tLSAvZGV2L251bGwKKysrIGIvLmZsYWtlOApA QCAtMCwwICsxLDkgQEAKK1tmbGFrZThdCittYXgtbGluZS1sZW5ndGggPSAxMDAKK2lnbm9yZSA9 CisgICAgIyBGb3Igbm93LCBpZ25vcmUgcnVsZXMgYWJvdXQgYmxhbmsgbGluZXMKKyAgICBFMzAy LCBFMzA1LCBFMzA2LAorICAgICMgRm9yIG5vdywgaWdub3JlIHdhbnJpbmcgYWJvdXQgdXNpbmcg LmZvcm1hdAorICAgIEZTMDAyLAorICAgICMgSWdub3JlICJMaW5lIGJyZWFrIG9jY3VycmVkIGJl Zm9yZSBhIGJpbmFyeSBvcGVyYXRvciIKKyAgICBXNTAzClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQoKZGlmZiAtLWdpdCBhL1JFQURNRS5tZCBiL1JFQURNRS5tZAppbmRleCA3OGZlODg0Li4z NzlhODZhIDEwMDY0NAotLS0gYS9SRUFETUUubWQKKysrIGIvUkVBRE1FLm1kCkBAIC0xNSw5ICsx NSw4IEBAIFVwZGF0aW5nCiBZb3UgYWxzbyBuZWVkIGBweXRob24zLWppbmphMmAgYW5kIHBvc3Np Ymx5IGEgZmV3IG90aGVyIFB5dGhvbgogcGFja2FnZXMgaW5zdGFsbGVkLgogCi1BbmQgZmluYWxs eSwgeW91J2xsIG5lZWQgdG8gaGF2ZSBbZmVkbW9kXShodHRwczovL3BhZ3VyZS5pby9tb2R1bGFy aXR5L2ZlZG1vZCkgaW5zdGFsbGVkLgotWW91IHNob3VsZCBydW4gYGZlZG1vZCBmZXRjaC1tZXRh ZGF0YWAgaW5pdGlhbGx5IGFuZCB3aGVuZXZlciB5b3Ugd2FudCB0byBkb3dubG9hZAotYSBmcmVz aCBzZXQgb2YgbWV0YWRhdGEgZnJvbSBGZWRvcmEuIGBmZWRtb2RgIG5ldmVyIHVwZGF0ZXMgbWV0 YWRhdGEgb24gaXRzIG93bi4KK0FuZCBmaW5hbGx5LCB5b3UnbGwgbmVlZCB0byBoYXZlCitbZmxh dHBhay1tb2R1bGUtdG9vbHNdKGh0dHBzOi8vcGFndXJlLmlvL2ZsYXRwYWstbW9kdWxlLXRvb2xz KSBpbnN0YWxsZWQuCiAKICpIb3cgaXQgd29ya3MqOiBUaGUgZmlsZXMgaW4gdGhlIHVwc3RyZWFt IHJ1bnRpbWVzIGFyZSB0aGUgcHJpbWFyeSBzb3VyY2UgZm9yIHRoZSBjb250ZW50cwogb2YgdGhl IGNvcnJlc3BvbmRpbmcgRmVkb3JhIHJ1bnRpbWVzLiBXaGVuIHlvdSB0eXBlIGBtYWtlIHVwZGF0 ZWAsIHRoZQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2dlbmVyYXRlLWFwcC1yZXBvcnRzLnB5IGIvdG9v bHMvZ2VuZXJhdGUtYXBwLXJlcG9ydHMucHkKaW5kZXggMDgxYzgyMC4uNWQ2ODJjNyAxMDA3NTUK LS0tIGEvdG9vbHMvZ2VuZXJhdGUtYXBwLXJlcG9ydHMucHkKKysrIGIvdG9vbHMvZ2VuZXJhdGUt YXBwLXJlcG9ydHMucHkKQEAgLTc4LDcgKzc4LDcgQEAgaWRfbWFwcGluZ3MgPSB7CiAgICAgJ1pv b20nOiAndXMuem9vbS5ab29tJywKIH0KIAotZm9yIGssIHYgaW4geyBrOiB2IGZvciBrLCB2IGlu IGlkX21hcHBpbmdzLml0ZW1zKCkgfS5pdGVtcygpOgorZm9yIGssIHYgaW4ge2s6IHYgZm9yIGss IHYgaW4gaWRfbWFwcGluZ3MuaXRlbXMoKX0uaXRlbXMoKToKICAgICBpZF9tYXBwaW5nc1t2XSA9 IGsKIAogCkBAIC05OCw3ICs5OCw2IEBAIGRlZiBtYWtlX2Rlc2t0b3BfbWFwKHJlcG9faW5mbyk6 CiAgICAgICAgICAgICBpZiBvbGQgaXMgTm9uZSBvciB1dGlsLnBhY2thZ2VfY21wKHBhY2thZ2Vf aW5mbywgb2xkKSA8IDA6CiAgICAgICAgICAgICAgICAgZGVza3RvcF9tYXBbZGVza3RvcF9pZF0g PSBwYWNrYWdlX2luZm8KIAotCiAgICAgdXRpbC5mb3JlYWNoX2ZpbGUocmVwb19pbmZvLCBjYikK IAogICAgIGZvciBrIGluIGRlc2t0b3BfbWFwOgpAQCAtMTQxLDYgKzE0MCw3IEBAIGNsYXNzIEFw cGxpY2F0aW9uOgogICAgICAgICBpZiBzZWxmLm5hbWUgaXMgbm90IE5vbmU6CiAgICAgICAgICAg ICByZXR1cm4gc2VsZi5uYW1lCiAgICAgICAgIGVsc2U6CisgICAgICAgICAgICBhc3NlcnQgc2Vs Zi5vZHJzX2lkCiAgICAgICAgICAgICBpZiBzZWxmLm9kcnNfaWQuZW5kc3dpdGgoJy5kZXNrdG9w Jyk6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYub2Ryc19pZFswOi04XQogICAgICAgICAg ICAgZWxzZToKQEAgLTIwMSwxMSArMjAxLDEzIEBAIGZvciBhcHAgaW4gaXRlcmF0ZV9hcHBzKGZs YXRodWJfc3RvcmUpOgogICAgIGlmIGhvbWVwYWdlICE9ICdodHRwOi8vZWxlbWVudGFyeS5pby8n IGFuZCBob21lcGFnZSAhPSAiaHR0cDovL3d3dy53MWhrai5jb20iIGFuZCBcCiAgICAgICAgaG9t ZXBhZ2UgIT0gJ2h0dHBzOi8vd3d3LmNob2NvbGF0ZS1kb29tLm9yZy8nOgogICAgICAgICBob21l cGFnZV9hcHAgPSBob21lcGFnZV90b19hcHBsaWNhdGlvbi5nZXQoaG9tZXBhZ2UsIE5vbmUpCisg ICAgZWxzZToKKyAgICAgICAgaG9tZXBhZ2VfYXBwID0gTm9uZQogCiAgICAgaWYgbmFtZV9hcHAg aXMgbm90IE5vbmUgYW5kIGhvbWVwYWdlX2FwcCBpcyBub3QgTm9uZToKICAgICAgICAgaWYgbmFt ZV9hcHAgaXMgbm90IGhvbWVwYWdlX2FwcDoKLSAgICAgICAgICAgIHByaW50KCJQbGVhc2UgY2hl Y2sgd2hldGhlciB0aGVyZSBhcmUgbW9yZSBGbGF0cGFrcyBhc3NvY2lhdGVkIHdpdGggdGhlIFwi IiwgaG9tZXBhZ2UsIFwKLSAgICAgICAgICAgICAgICAgICJcIiBob21lcGFnZSAoYnkgaW5zcGVj dGluZyBvdXQvZmVkb3JhLWFwcHN0cmVhbS54bWwuZ3opLiBJZiB5ZXMsICIgXAorICAgICAgICAg ICAgcHJpbnQoIlBsZWFzZSBjaGVjayB3aGV0aGVyIHRoZXJlIGFyZSBtb3JlIEZsYXRwYWtzIGFz c29jaWF0ZWQgd2l0aCB0aGUgXCIiLCBob21lcGFnZSwKKyAgICAgICAgICAgICAgICAgICJcIiBo b21lcGFnZSAoYnkgaW5zcGVjdGluZyBvdXQvZmVkb3JhLWFwcHN0cmVhbS54bWwuZ3opLiBJZiB5 ZXMsICIKICAgICAgICAgICAgICAgICAgICJwbGVhc2UgYWRkIGFuIGV4Y2VwdGlvbiBpbnRvIHRv b2xzL2dlbmVyYXRlLWFwcC1yZXBvcnRzLnB5LiIsIGZpbGU9c3lzLnN0ZGVycikKICAgICAgICAg YXNzZXJ0IG5hbWVfYXBwIGlzIGhvbWVwYWdlX2FwcAogICAgIGlmIG5hbWVfYXBwIGlzIG5vdCBO b25lOgpAQCAtMjU4LDcgKzI2MCwxMCBAQCBkZWYgbG9hZF9mZWRvcmFfZmxhdHBha3MoKToKICAg ICBwYWdlID0gMQogICAgIHJldHJpZXZlZCA9IDAKICAgICB3aGlsZSBUcnVlOgotICAgICAgICBy ZXNwb25zZSA9IHJlcXVlc3RzLmdldChmJ2h0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL2Fw aS8wL3Byb2plY3RzP25hbWVzcGFjZT1mbGF0cGFrcyZmb3JrPWZhbHNlJnBhZ2U9e3BhZ2V9JnBl cl9wYWdlPTEwMCcpCisgICAgICAgIHJlc3BvbnNlID0gcmVxdWVzdHMuZ2V0KAorICAgICAgICAg ICAgJ2h0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnLycKKyAgICAgICAgICAgIGYnYXBpLzAv cHJvamVjdHM/bmFtZXNwYWNlPWZsYXRwYWtzJmZvcms9ZmFsc2UmcGFnZT17cGFnZX0mcGVyX3Bh Z2U9MTAwJworICAgICAgICApCiAgICAgICAgIHJlc3BvbnNlLnJhaXNlX2Zvcl9zdGF0dXMoKQog CiAgICAgICAgIGRhdGEgPSByZXNwb25zZS5qc29uKCkKQEAgLTI5NCw3ICsyOTksOSBAQCB0b3Bf cGFja2FnZWRfYXBwcyA9IHNvcnRlZChwYWNrYWdlZF9hcHBzLCBrZXk9bGFtYmRhIGE6IGEucGFj a2FnZSkKIHRvcF9wYWNrYWdlZF9hcHBzLnNvcnQoa2V5PWxhbWJkYSBhOiAtKGEuc3Rhcl90b3Rh bCBvciAwKSkKIHRvcF9wYWNrYWdlZF9hcHBzID0gdG9wX3BhY2thZ2VkX2FwcHNbMDoxMDBdCiAK LWluZm9fanNvbiA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsnZmVkbW9kJywgREFUQVNFVF9B UkcsICdmbGF0cGFrLXJlcG9ydCddICsgW2EucGFja2FnZSBmb3IgYSBpbiBwYWNrYWdlZF9hcHBz XSkKK2luZm9fanNvbiA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KAorICAgIFsnZmVkbW9kJywg REFUQVNFVF9BUkcsICdmbGF0cGFrLXJlcG9ydCddICsgW2EucGFja2FnZSBmb3IgYSBpbiBwYWNr YWdlZF9hcHBzXQorKQogaW5mbyA9IGpzb24ubG9hZHMoaW5mb19qc29uKQogZm9yIGEgaW4gcGFj a2FnZWRfYXBwczoKICAgICBhLmV4dHJhX3BhY2thZ2VzID0gaW5mb1snZmxhdHBha3MnXVthLnBh Y2thZ2VdWydleHRyYSddCkBAIC0zMDMsMTEgKzMxMCwxMyBAQCBydW50aW1lX3BhY2thZ2VzID0g e30KIGV4dHJhX3BhY2thZ2VzID0ge30KIGZvciBwLCBpIGluIGluZm9bJ3BhY2thZ2VzJ10uaXRl bXMoKToKICAgICBpZiBpWydydW50aW1lJ106Ci0gICAgICAgIHJ1bnRpbWVfcGFja2FnZXNbcF0g PSB7ICdhbGwnOiBpWyd1c2VkX2J5J119CisgICAgICAgIHJ1bnRpbWVfcGFja2FnZXNbcF0gPSB7 J2FsbCc6IGlbJ3VzZWRfYnknXX0KICAgICBlbHNlOgotICAgICAgICBleHRyYV9wYWNrYWdlc1tw XSA9IHsgJ2FsbCc6IGlbJ3VzZWRfYnknXX0KKyAgICAgICAgZXh0cmFfcGFja2FnZXNbcF0gPSB7 J2FsbCc6IGlbJ3VzZWRfYnknXX0KIAotdG9wX2luZm9fanNvbiA9IHN1YnByb2Nlc3MuY2hlY2tf b3V0cHV0KFsnZmVkbW9kJywgREFUQVNFVF9BUkcsICdmbGF0cGFrLXJlcG9ydCddICsgW2EucGFj a2FnZSBmb3IgYSBpbiB0b3BfcGFja2FnZWRfYXBwc10pCit0b3BfaW5mb19qc29uID0gc3VicHJv Y2Vzcy5jaGVja19vdXRwdXQoCisgICAgWydmZWRtb2QnLCBEQVRBU0VUX0FSRywgJ2ZsYXRwYWst cmVwb3J0J10gKyBbYS5wYWNrYWdlIGZvciBhIGluIHRvcF9wYWNrYWdlZF9hcHBzXQorKQogdG9w X2luZm8gPSBqc29uLmxvYWRzKHRvcF9pbmZvX2pzb24pCiAKIGZvciBwLCBpIGluIHRvcF9pbmZv WydwYWNrYWdlcyddLml0ZW1zKCk6CkBAIC0zMzksMTkgKzM0OCwyMyBAQCB3aXRoIG9wZW4oJ3Jl cG9ydHMvYXBwbGljYXRpb24tcGFja2FnZXMuanNvbicsICd3JykgYXMgZjoKICAgICAgICAgJ2V4 dHJhJzogZGljdF90b19saXN0KGV4dHJhX3BhY2thZ2VzKSwKICAgICB9LCBmLCBpbmRlbnQ9NCwg c29ydF9rZXlzPVRydWUpCiAKLWRlZiBzYW5pdGl6ZV9waWVjZShtKToKK2RlZiBzYW5pdGl6ZV9w aWVjZShtOiByZS5NYXRjaFtzdHJdKToKICAgICBpZiBtLmdyb3VwKDEpIGlzIG5vdCBOb25lOgog ICAgICAgICByZXR1cm4gbS5ncm91cCgxKQogICAgIGVsaWYgbS5ncm91cCgyKSBpcyBub3QgTm9u ZToKICAgICAgICAgcmV0dXJuICcmbHQ7JwogICAgIGVsaWYgbS5ncm91cCgzKSBpcyBub3QgTm9u ZToKICAgICAgICAgcmV0dXJuICcmZ3Q7JworICAgIGVsc2U6CisgICAgICAgIGFzc2VydCBGYWxz ZQogCiBkZWYgc2FuaXRpemVfZGVzY3JpcHRpb24oZGVzY3JpcHRpb24pOgogICAgICMgVGhpcyBp cyBzcGVjaWZpY2FsbHkgZm9yIGEgYnVnZ3kgYXBwc3RyZWFtIGZvciBHTk9NRSBTY3JlZW5zaG90 CiAgICAgZGVzY3JpcHRpb24gPSByZS5zdWIocic8cCB4bWw6bGFuZz0iW14iXSoiPi4qPC9wPics ICcnLCBkZXNjcmlwdGlvbikKICAgICAjIE1haW4gcGFydCBvZiB0aGUgc2FuaXRpemF0aW9uIC0g cXVvdGUgYWxsIDw+JgotICAgIGRlc2NyaXB0aW9uID0gcmUuc3ViKHInKDxwPnw8L3A+fDx1bD58 PC91bD58PGxpPnw8L2xpPnxbXjw+XSspfCg8KXwoPiknLCBzYW5pdGl6ZV9waWVjZSwgZGVzY3Jp cHRpb24pCisgICAgZGVzY3JpcHRpb24gPSByZS5zdWIoCisgICAgICAgIHInKDxwPnw8L3A+fDx1 bD58PC91bD58PGxpPnw8L2xpPnxbXjw+XSspfCg8KXwoPiknLCBzYW5pdGl6ZV9waWVjZSwgZGVz Y3JpcHRpb24KKyAgICApCiAgICAgcmV0dXJuIGRlc2NyaXB0aW9uCiAKIGZvciBhIGluIHNvcnRl ZChhcHBzLCBrZXk9bGFtYmRhIGE6IChsb2NhbGUuc3RyeGZybShhLmRpc3BsYXlfbmFtZSksIGEu Y2Fub25faWQpKToKQEAgLTM4NywxNCArNDAwLDE5IEBAIGZvciBhIGluIHNvcnRlZChhcHBzLCBr ZXk9bGFtYmRhIGE6IChsb2NhbGUuc3RyeGZybShhLmRpc3BsYXlfbmFtZSksIGEuY2Fub25faWQp CiAgICAgICAgIG91dHB1dF9pdGVtWydleHRyYV9wYWNrYWdlcyddID0gYS5leHRyYV9wYWNrYWdl cwogCiAgICAgaWYgYS5zdGFyX3RvdGFsIGlzIG5vdCBOb25lOgotICAgICAgICBvdXRwdXRfaXRl bVsnc3Rhcl9hdmcnXSA9IHN1bSgoaSAqIGEuc3RhcnNbaV0pIGZvciBpIGluIHJhbmdlKDAsIDYp KS9zdW0oKGEuc3RhcnNbaV0pIGZvciBpIGluIHJhbmdlKDAsIDYpKQorICAgICAgICBvdXRwdXRf aXRlbVsnc3Rhcl9hdmcnXSA9ICgKKyAgICAgICAgICAgIHN1bSgoaSAqIGEuc3RhcnNbaV0pIGZv ciBpIGluIHJhbmdlKDAsIDYpKQorICAgICAgICAgICAgLyBzdW0oKGEuc3RhcnNbaV0pIGZvciBp IGluIHJhbmdlKDAsIDYpKQorICAgICAgICApCiAgICAgICAgIG91dHB1dF9pdGVtWydzdGFyX3Rv dGFsJ10gPSBhLnN0YXJfdG90YWwKICAgICAgICAgb3V0cHV0X2l0ZW1bJ3N0YXJzJ10gPSBhLnN0 YXJzCiAKICAgICBvdXRwdXRfaXRlbVsnZmVkb3JhX2ZsYXRwYWsnXSA9IGEucGFja2FnZSBpcyBu b3QgTm9uZSBhbmQgYS5wYWNrYWdlIGluIGZlZG9yYV9mbGF0cGFrcwogCiAgICAgb3V0cHV0LmFw cGVuZChvdXRwdXRfaXRlbSkKLSMgICAgcHJpbnQoYS5kaXNwbGF5X25hbWUsIGEucGFja2FnZSwg YS5mbGF0aHViX2lkLCBhLmZlZG9yYV9pZCwgYS5vZHJzX2lkLCBhLmhvbWVwYWdlLCBhLnN0YXJf dG90YWwpCisjICAgIHByaW50KAorIyAgICAgICBhLmRpc3BsYXlfbmFtZSwgYS5wYWNrYWdlLCBh LmZsYXRodWJfaWQsIGEuZmVkb3JhX2lkLCBhLm9kcnNfaWQsIGEuaG9tZXBhZ2UsIGEuc3Rhcl90 b3RhbAorIyAgICApCiAKIHdpdGggb3BlbigncmVwb3J0cy9hcHBsaWNhdGlvbnMuanNvbicsICd3 JykgYXMgZjoKICAgICBqc29uLmR1bXAoewoKZGlmZiAtLWdpdCBhL3Rvb2xzL2dlbmVyYXRlLXJ1 bnRpbWUtcmVwb3J0LnB5IGIvdG9vbHMvZ2VuZXJhdGUtcnVudGltZS1yZXBvcnQucHkKaW5kZXgg NDFjNmVhNC4uNzUzNTI5OCAxMDA3NTUKLS0tIGEvdG9vbHMvZ2VuZXJhdGUtcnVudGltZS1yZXBv cnQucHkKKysrIGIvdG9vbHMvZ2VuZXJhdGUtcnVudGltZS1yZXBvcnQucHkKQEAgLTExLDcgKzEx LDkgQEAgaW1wb3J0IHV0aWwKIGZyb20gdXRpbCBpbXBvcnQgQkFTRU9OTFksIERBVEFTRVRfQVJH CiAKIGRlZiBzdGFydChtc2cpOgotICAgIHByaW50KCJ7fTogXDAzM1s5MG17fSAuLi4gXDAzM1sz OW0iLmZvcm1hdChvcy5wYXRoLmJhc2VuYW1lKHN5cy5hcmd2WzBdKSwgbXNnKSwgZmlsZT1zeXMu c3RkZXJyLCBlbmQ9IiIpCisgICAgcHJpbnQoInt9OiBcMDMzWzkwbXt9IC4uLiBcMDMzWzM5bSIu Zm9ybWF0KAorICAgICAgICBvcy5wYXRoLmJhc2VuYW1lKHN5cy5hcmd2WzBdKSwgbXNnKSwgZmls ZT1zeXMuc3RkZXJyLCBlbmQ9IiIKKyAgICApCiAgICAgc3lzLnN0ZGVyci5mbHVzaCgpCiAKIGRl ZiBkb25lKCk6CkBAIC0yMyw5ICsyNSw4IEBAIGRlZiB3YXJuKG1zZyk6CiBkZWYgZmVkbW9kX291 dHB1dChhcmdzKToKICAgICByZXR1cm4gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWydmZWRtb2Qn LCBEQVRBU0VUX0FSR10gKyBhcmdzLCBlbmNvZGluZz0ndXRmLTgnKQogCi1fbnZyX3RvX25hbWVf cmUgPSByZS5jb21waWxlKCdeKC4qKS1bXi1dKi1bXi1dKicpCiBkZWYgbnZyX3RvX25hbWUobnZy KToKLSAgICByZXR1cm4gX252cl90b19uYW1lX3JlLm1hdGNoKG52cikuZ3JvdXAoMSkKKyAgICBy ZXR1cm4gbnZyLnJzcGxpdCgiLSIsIDIpWzBdCiAKIGRlZiBtYWtlX2RldmVsX3BhY2thZ2VzKHJl cG9faW5mbyk6CiAgICAgZGV2ZWxfcGFja2FnZXMgPSB7fQpAQCAtNjMsNyArNjQsMTAgQEAgY2xh c3MgUGFja2FnZShvYmplY3QpOgogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIHJ1bnRpbWVzKHNl bGYpOgotICAgICAgICByZXR1cm4gc2VsZi5mcmVlZGVza3RvcF9wbGF0Zm9ybSBvciBzZWxmLmdu b21lX3BsYXRmb3JtIG9yIHNlbGYuZnJlZWRlc2t0b3Bfc2RrIG9yIHNlbGYuZ25vbWVfc2RrCisg ICAgICAgIHJldHVybiAoc2VsZi5mcmVlZGVza3RvcF9wbGF0Zm9ybQorICAgICAgICAgICAgICAg IG9yIHNlbGYuZ25vbWVfcGxhdGZvcm0KKyAgICAgICAgICAgICAgICBvciBzZWxmLmZyZWVkZXNr dG9wX3NkaworICAgICAgICAgICAgICAgIG9yIHNlbGYuZ25vbWVfc2RrKQogCiAgICAgQHByb3Bl cnR5CiAgICAgZGVmIGtsYXNzKHNlbGYpOgpAQCAtMTAxLDcgKzEwNSw3IEBAIGNsYXNzIFBhY2th Z2Uob2JqZWN0KToKICAgICAgICAgaWYgZmlsZXMgaXMgTm9uZToKICAgICAgICAgICAgIGZpbGVz X3N0ciA9ICcnCiAgICAgICAgIGVsaWYgbGVuKGZpbGVzKSA8PSAzOgotICAgICAgICAgICAgZmls ZXNfc3RyPSAgJ0ZpbGVzOiAnICsgJyAnLmpvaW4oZmlsZXMpCisgICAgICAgICAgICBmaWxlc19z dHIgPSAnRmlsZXM6ICcgKyAnICcuam9pbihmaWxlcykKICAgICAgICAgZWxzZToKICAgICAgICAg ICAgIGZpbGVzX3N0ciA9ICdGaWxlczogJyArICcgJy5qb2luKGZpbGVzWzozXSkgKyAnIC4uLicK IApAQCAtMTEwLDcgKzExNCw3IEBAIGNsYXNzIFBhY2thZ2Uob2JqZWN0KToKICAgICAgICAgICAg IHJlcXVpcmVkX2J5X3N0ciA9ICcnCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXF1aXJl ZF9ieSA9IHNvcnRlZChyZXF1aXJlZF9ieSwga2V5PWxhbWJkYSB4OiB4WzBdKQotICAgICAgICAg ICAgcmVxdWlyZWRfYnlfc3RyID0gJ1xuJy5qb2luKCd7fSAoe30pJy5mb3JtYXQocmVxLCBwcm92 aWRlcikgZm9yIHJlcSwgcHJvdmlkZXIgaW4gcmVxdWlyZWRfYnkpCisgICAgICAgICAgICByZXF1 aXJlZF9ieV9zdHIgPSAnXG4nLmpvaW4oZiJ7cmVxfSAoe3Byb3ZpZGVyfSkiIGZvciByZXEsIHBy b3ZpZGVyIGluIHJlcXVpcmVkX2J5KQogCiAgICAgICAgIGlmIGZpbGVzX3N0ciBhbmQgcmVxdWly ZWRfYnlfc3RyOgogICAgICAgICAgICAgcmV0dXJuIGZpbGVzX3N0ciArICdcbicgKyByZXF1aXJl ZF9ieV9zdHIKQEAgLTE0NywxMiArMTUxLDE0IEBAIGNsYXNzIFBhY2thZ2Uob2JqZWN0KToKICAg ICAgICAgICAgIHJlcXVpcmVkX2J5ID0gZ2V0YXR0cihzZWxmLCB3aGljaCArICdfcmVxdWlyZWRf YnknLCBGYWxzZSkKICAgICAgICAgICAgIGlmIHJlcXVpcmVkX2J5IGlzIEZhbHNlOgogICAgICAg ICAgICAgICAgIHJldHVybiAncHJlc2VudCcKLSAgICAgICAgICAgIGVsaWYgcmVxdWlyZWRfYnkg aXMgbm90IE5vbmUgYW5kIGxlbihyZXF1aXJlZF9ieSkgPiAwOgotICAgICAgICAgICAgICAgIHJl dHVybiAnZmlsZXMnCi0gICAgICAgICAgICBlbGlmIHNlbGYuZmxhZyBpcyBub3QgTm9uZSBhbmQg c2VsZi5mbGFnLnN0YXJ0c3dpdGgoJ0UnKToKLSAgICAgICAgICAgICAgICByZXR1cm4gJ2V4dHJh JwogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gJ3Jvb3QnCisgICAg ICAgICAgICAgICAgYXNzZXJ0IHJlcXVpcmVkX2J5IGlzIE5vbmUgb3IgaXNpbnN0YW5jZShyZXF1 aXJlZF9ieSwgbGlzdCkKKyAgICAgICAgICAgICAgICBpZiByZXF1aXJlZF9ieSBpcyBub3QgTm9u ZSBhbmQgbGVuKHJlcXVpcmVkX2J5KSA+IDA6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAn ZmlsZXMnCisgICAgICAgICAgICAgICAgZWxpZiBzZWxmLmZsYWcgaXMgbm90IE5vbmUgYW5kIHNl bGYuZmxhZy5zdGFydHN3aXRoKCdFJyk6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAnZXh0 cmEnCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdy b290JwogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGZyZWVkZXNrdG9wX3BsYXRmb3JtX2luY2x1 c2lvbihzZWxmKToKQEAgLTE4NSwxMCArMTkxLDYgQEAgY2xhc3MgU291cmNlUGFja2FnZShvYmpl Y3QpOgogICAgICAgICBzZWxmLnBhY2thZ2VzID0gW10KIAogICAgIEBwcm9wZXJ0eQotICAgIGRl ZiBzZGtfb25seShzZWxmKToKLSAgICAgICAgcmV0dXJuIHNka19vbmx5Ci0KLSAgICBAcHJvcGVy dHkKICAgICBkZWYga2xhc3Moc2VsZik6CiAgICAgICAgIHJldHVybiAiIgogCkBAIC0yNTIsNyAr MjU0LDggQEAgZGVmIGFkZF9wYWNrYWdlcyhzb3VyY2UsIHdoaWNoLCByZXNvbHZlX2RlcHM9RmFs c2UsIG9ubHlfaWZfZXhpc3RzPUZhbHNlKToKICAgICAgICAgICAgICAgICAgICAgY29udGludWUK ICAgICAgICAgICAgICAgICBwcm92aWRlciA9IG52cl90b19uYW1lKHByb3ZpZGVyc1swXSkKICAg ICAgICAgICAgICAgICBwcm92aWRlcl9wYWNrYWdlID0gcGFja2FnZXMuZ2V0KHByb3ZpZGVyLCBO b25lKQotICAgICAgICAgICAgICAgIGlmIHByb3ZpZGVyX3BhY2thZ2UgaXMgTm9uZTogIyBmaWx0 ZXJlZCBvdXQgb2YgdGhlIHJlc29sdmUtZGVwcyBvdXRwdXQgLSBlLmcuLCBmZWRvcmEtcmVsZWFz ZQorICAgICAgICAgICAgICAgIGlmIHByb3ZpZGVyX3BhY2thZ2UgaXMgTm9uZToKKyAgICAgICAg ICAgICAgICAgICAgIyBmaWx0ZXJlZCBvdXQgb2YgdGhlIHJlc29sdmUtZGVwcyBvdXRwdXQgLSBl LmcuLCBmZWRvcmEtcmVsZWFzZQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAg ICAgICAgICAgIHJlcXVpcmVkX2J5ID0gZ2V0YXR0cihwcm92aWRlcl9wYWNrYWdlLCB3aGljaCAr ICdfcmVxdWlyZWRfYnknKQogICAgICAgICAgICAgICAgIGlmIHJlcXVpcmVkX2J5IGlzIE5vbmU6 CkBAIC0yNzAsNyArMjczLDcgQEAgZGVmIGFkZF9wYWNrYWdlX2ZpbGVzKGZpbGVuYW1lLCB3aGlj aCk6CiAgICAgd2l0aCBvcGVuKGZpbGVuYW1lKSBhcyBmOgogICAgICAgICBmb3IgbGluZSBpbiBm OgogICAgICAgICAgICAgZiwgcCA9IGxpbmUuc3RyaXAoKS5yc3BsaXQoJyAnLCAxKQotICAgICAg ICAgICAgZiA9IGZbOi0xXSAjIHN0cmlwIHRyYWlsaW5nIDoKKyAgICAgICAgICAgIGYgPSBmWzot MV0gICMgc3RyaXAgdHJhaWxpbmcgOgogICAgICAgICAgICAgcGtnID0gcGFja2FnZXNbcF0KICAg ICAgICAgICAgIG9sZCA9IGdldGF0dHIocGtnLCB3aGljaCArICdfZmlsZXMnKQogICAgICAgICAg ICAgaWYgb2xkIGlzIG5vdCBOb25lOgpAQCAtMzEyLDYgKzMxNSw5IEBAIGRlZiByZWFkX3BhY2th Z2Vfbm90ZXMoKToKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBm bGFnID0gTm9uZQogICAgICAgICAgICAgICAgICAgICBub3RlID0gcGFydHNbMV0gKyAnOicgKyBw YXJ0c1syXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB3YXJuKCJwYWNrYWdl IG5vdGUgZG9lcyBub3QgaGF2ZSAxLCAyIG9yIDMgcGFydHM6IHt9Ii5mb3JtYXQobGluZSkpCisg ICAgICAgICAgICAgICAgY29udGludWUKIAogICAgICAgICAgICAgeWllbGQgbmFtZSwgbm90ZSwg ZmxhZwogCkBAIC0zNzAsMTEgKzM3NiwxMSBAQCBmb3IgcGFja2FnZSBpbiBwYWNrYWdlcy52YWx1 ZXMoKToKIGxldHRlcnNfbWFwID0gZGljdCgpCiBmb3IgaywgdiBpbiBzb3VyY2VfcGFja2FnZXMu aXRlbXMoKToKICAgICB2LnBhY2thZ2VzLnNvcnQoa2V5PWxhbWJkYSBwOiBsb2NhbGUuc3RyeGZy bShwLm5hbWUpKQotICAgIGwgPSB2Lm5hbWVbMF0udXBwZXIoKQotICAgIGxldHRlciA9IGxldHRl cnNfbWFwLmdldChsLCBOb25lKQorICAgIGZpcnN0X3RvX3VwcGVyID0gdi5uYW1lWzBdLnVwcGVy KCkKKyAgICBsZXR0ZXIgPSBsZXR0ZXJzX21hcC5nZXQoZmlyc3RfdG9fdXBwZXIsIE5vbmUpCiAg ICAgaWYgbGV0dGVyIGlzIE5vbmU6Ci0gICAgICAgIGxldHRlciA9IExldHRlcihsKQotICAgICAg ICBsZXR0ZXJzX21hcFtsXSA9IGxldHRlcgorICAgICAgICBsZXR0ZXIgPSBMZXR0ZXIoZmlyc3Rf dG9fdXBwZXIpCisgICAgICAgIGxldHRlcnNfbWFwW2ZpcnN0X3RvX3VwcGVyXSA9IGxldHRlcgog ICAgIGxldHRlci5wYWNrYWdlcy5hcHBlbmQodikKIAogbGV0dGVycyA9IFtdCgpkaWZmIC0tZ2l0 IGEvdG9vbHMvcmVzb2x2ZS1maWxlcy5weSBiL3Rvb2xzL3Jlc29sdmUtZmlsZXMucHkKaW5kZXgg NTAxY2JkOC4uOGJhNmM5NCAxMDA3NTUKLS0tIGEvdG9vbHMvcmVzb2x2ZS1maWxlcy5weQorKysg Yi90b29scy9yZXNvbHZlLWZpbGVzLnB5CkBAIC0xNjQsNyArMTY0LDcgQEAgYmluX2lnbm9yZSA9 IFsKICAgICAncGNyZWdyZXAnLCAncGNyZXRlc3QnLAogICAgICdwY3JlMmdyZXAnLCAncGNyZTJ0 ZXN0JywKIAotICAgICNwdWxzZWF1ZGlvLXV0aWxzCisgICAgIyBwdWxzZWF1ZGlvLXV0aWxzCiAg ICAgJ3BhY2F0JywgJ3BhY21kJywgJ3BhY3RsJywgJ3BhZHNwJywgJ3BhbW9uJywKICAgICAncGFw bGF5JywgJ3BhcmVjJywgJ3BhcmVjb3JkJywgJ3BheDExcHVibGlzaCcsCiAKQEAgLTI0Miw3ICsy NDIsNyBAQCBiaW5fcmVuYW1lID0gewogICAgICd2YWxhYy0wLjUyJzogJ3ZhbGFjLTAuNTYnLAog ICAgICd2YXBpZ2VuLTAuNTInOiAndmFwaWdlbi0wLjU2JywKIH0KLXJlbmFtZS51cGRhdGUoeyAn L3Vzci9iaW4vJyArIGs6ICcvdXNyL2Jpbi8nICsgdiBmb3IgaywgdiBpbiBiaW5fcmVuYW1lLml0 ZW1zKCkgfSkKK3JlbmFtZS51cGRhdGUoeycvdXNyL2Jpbi8nICsgazogJy91c3IvYmluLycgKyB2 IGZvciBrLCB2IGluIGJpbl9yZW5hbWUuaXRlbXMoKX0pCiAKIGxpYl9pZ25vcmUgPSBbCiAgICAg IyBTeW1saW5rIGNyZWF0ZWQgaW4gZnJlZWRlc2t0b3Aub3JnIGZsYXRwYWsgcnVudGltZSwgbm90 IHN0YW5kYXJkCkBAIC0zMjQsMTQgKzMyNCwxNCBAQCBsaWJfcmVuYW1lID0gewogICAgICMgRmVk b3JhIGFyY2gtaGFuZGxpbmcKICAgICAnbGQtbGludXguc28uMic6ICdsZC1saW51eC14ODYtNjQu c28uMicsCiB9Ci1yZW5hbWUudXBkYXRlKHsgJy91c3IvbGliNjQvJyArIGs6ICcvdXNyL2xpYjY0 LycgKyB2IGZvciBrLCB2IGluIGxpYl9yZW5hbWUuaXRlbXMoKSB9KQorcmVuYW1lLnVwZGF0ZSh7 Jy91c3IvbGliNjQvJyArIGs6ICcvdXNyL2xpYjY0LycgKyB2IGZvciBrLCB2IGluIGxpYl9yZW5h bWUuaXRlbXMoKX0pCiAKIGdjY19saWJzID0gWwogICAgICdsaWJhc2FuLnNvJywgJ2xpYmF0b21p Yy5zbycsICdsaWJnY2Nfcy5zbycsICdsaWJnZm9ydHJhbi5zbycsICdsaWJnb21wLnNvJywKICAg ICAnbGliaXRtLnNvJywgJ2xpYmxzYW4uc28nLCAnbGlicXVhZG1hdGguc28nLCAnbGlic3RkYysr LnNvJywgJ2xpYnRzYW4uc28nLAogICAgICdsaWJ1YnNhbi5zbycKIF0KLXJlbmFtZS51cGRhdGUo eyAnL3Vzci9saWI2NC8nICsgeDogJy91c3IvbGliL2djYy94ODZfNjQtcmVkaGF0LWxpbnV4LzEz LycgKyB4IGZvciB4IGluIGdjY19saWJzIH0pCityZW5hbWUudXBkYXRlKHsnL3Vzci9saWI2NC8n ICsgeDogJy91c3IvbGliL2djYy94ODZfNjQtcmVkaGF0LWxpbnV4LzEzLycgKyB4IGZvciB4IGlu IGdjY19saWJzfSkKIAogZm9yIG9sZCBpbiBbJ2xpYmFzbS0wLjE4Ny5zbycsICdsaWJkdy0wLjE4 Ny5zbycsICdsaWJlbGYtMC4xODcuc28nLCAnbGliZGVidWdpbmZvZC0wLjE4Ny5zbyddOgogICAg IHJlbmFtZVsnL3Vzci9saWI2NC8nICsgb2xkXSA9ICcvdXNyL2xpYjY0LycgKyBvbGQucmVwbGFj ZSgnLTAuMTg3JywgJy0wLjE4OScpCkBAIC0zNjYsMTMgKzM2NiwxMyBAQCBuc3ByX2luY2x1ZGUg PSBbCiAgICAgJ3Byc3lzdGVtLmgnLCAncHJ0aHJlYWQuaCcsICdwcnRpbWUuaCcsICdwcnRwb29s LmgnLCAncHJ0cmFjZS5oJywgJ3BydHlwZXMuaCcsICdwcnZyc2lvbi5oJywKICAgICAncHJ3aW4x Ni5oJywgJ3N0cm9wdHMuaCcsICdvYnNvbGV0ZS9wcmFsYXJtLmgnLCAnb2Jzb2xldGUvcHJvYnNs ZXQuaCcsICdvYnNvbGV0ZS9wcm90eXBlcy5oJywgJ29ic29sZXRlL3Byc2VtLmgnCiBdCi1yZW5h bWUudXBkYXRlKHsgJy91c3IvaW5jbHVkZS8nICsgeDogJy91c3IvaW5jbHVkZS9uc3ByNC8nICsg eCBmb3IgeCBpbiBuc3ByX2luY2x1ZGUgfSkKK3JlbmFtZS51cGRhdGUoeycvdXNyL2luY2x1ZGUv JyArIHg6ICcvdXNyL2luY2x1ZGUvbnNwcjQvJyArIHggZm9yIHggaW4gbnNwcl9pbmNsdWRlfSkK IAogIyBwaXBld2lyZSBqYWNrIGxpYnJhcmllcyBhcmUgaW5zdGFsbGVkIGluIGEgbm9uLXN0YW5k YXJkIHBhdGgKIGphY2tfbGlicmFyaWVzID0gWwogICAgICdsaWJqYWNrLnNvJywgJ2xpYmphY2tu ZXQuc28nLCAnbGliamFja3NlcnZlci5zbycKIF0KLXJlbmFtZS51cGRhdGUoeyAnL3Vzci9saWI2 NC8nICsgeDogJy91c3IvbGliNjQvcGlwZXdpcmUtMC4zL2phY2svJyArIHggZm9yIHggaW4gamFj a19saWJyYXJpZXMgfSkKK3JlbmFtZS51cGRhdGUoeycvdXNyL2xpYjY0LycgKyB4OiAnL3Vzci9s aWI2NC9waXBld2lyZS0wLjMvamFjay8nICsgeCBmb3IgeCBpbiBqYWNrX2xpYnJhcmllc30pCiAK ICMgVGhlc2UgcGx1Z2lucyBpbiB0aGUgZnJlZWRlc2t0b3AgcnVudGltZSBwdWxsIGluIGdzdHJl YW1lci1wbHVnaW5zLWJhZC1mcmVlLWV4dHJhcywgd2hpY2gKICMgaW4gdHVybiBwdWxscyBpbiBh IGxvdCBtb3JlIGRlcGVuZGVuY2llcy4gSWYgdGhleSBhcmUgdXNlZnVsLCB0aGV5IHNob3VsZCBi ZSBtb3ZlZApAQCAtNDExLDE4ICs0MTEsMTggQEAgcGNfcmVuYW1lID0gewogICAgICdweXRob24t My4xMC1lbWJlZC5wYyc6ICdweXRob24tMy4xMS1lbWJlZC5wYycsCiAgICAgJ3ZhcGlnZW4tMC41 Mi5wYyc6ICd2YXBpZ2VuLTAuNTYucGMnLAogfQotcmVuYW1lLnVwZGF0ZSh7ICcvdXNyL2xpYjY0 L3BrZ2NvbmZpZy8nICsgazogJy91c3IvbGliNjQvcGtnY29uZmlnLycgKyB2IGZvciBrLCB2IGlu IHBjX3JlbmFtZS5pdGVtcygpIH0pCi1yZW5hbWUudXBkYXRlKHsgJy91c3Ivc2hhcmUvcGtnY29u ZmlnLycgKyBrOiAnL3Vzci9zaGFyZS9wa2djb25maWcvJyArIHYgZm9yIGssIHYgaW4gcGNfcmVu YW1lLml0ZW1zKCkgfSkKK3JlbmFtZS51cGRhdGUoeycvdXNyL2xpYjY0L3BrZ2NvbmZpZy8nICsg azogJy91c3IvbGliNjQvcGtnY29uZmlnLycgKyB2IGZvciBrLCB2IGluIHBjX3JlbmFtZS5pdGVt cygpfSkKK3JlbmFtZS51cGRhdGUoeycvdXNyL3NoYXJlL3BrZ2NvbmZpZy8nICsgazogJy91c3Iv c2hhcmUvcGtnY29uZmlnLycgKyB2IGZvciBrLCB2IGluIHBjX3JlbmFtZS5pdGVtcygpfSkKIAog aHVuc3BlbGxfaWdub3JlID0gewotICAgIyByZWdpb25sZXNzIHN5bWxpbmtzLCBjb3JyZWN0bHkg ZGV0ZWN0ZWQgYnkgZnVsbCB4eF9YWCBuYW1lCi0gICAnZ2wuYWZmJywgJ2dsLmRpYycsICdpcy5h ZmYnLCAnaXMuZGljJywgJ3RlLmFmZicsICd0ZS5kaWMnLCAndHIuYWZmJywgJ3RyLmRpYycsCisg ICAgIyByZWdpb25sZXNzIHN5bWxpbmtzLCBjb3JyZWN0bHkgZGV0ZWN0ZWQgYnkgZnVsbCB4eF9Y WCBuYW1lCisgICAgJ2dsLmFmZicsICdnbC5kaWMnLCAnaXMuYWZmJywgJ2lzLmRpYycsICd0ZS5h ZmYnLCAndGUuZGljJywgJ3RyLmFmZicsICd0ci5kaWMnLAogfQogaWdub3JlLnVwZGF0ZSgnL3Vz ci9zaGFyZS9odW5zcGVsbC8nICsgeCBmb3IgeCBpbiBodW5zcGVsbF9pZ25vcmUpCiAKIGh5cGhf aWdub3JlID0gewotICAgIyByZWdpb25sZXNzIHN5bWxpbmtzLCBjb3JyZWN0bHkgZGV0ZWN0ZWQg YnkgZnVsbCB4eF9YWCBuYW1lCi0gICAnaHlwaF9kZS5kaWMnLCAnaHlwaF9nbC5kaWMnLCAnaHlw aF9pcy5kaWMnLCAnaHlwaF90ZS5kaWMnLAorICAgICMgcmVnaW9ubGVzcyBzeW1saW5rcywgY29y cmVjdGx5IGRldGVjdGVkIGJ5IGZ1bGwgeHhfWFggbmFtZQorICAgICdoeXBoX2RlLmRpYycsICdo eXBoX2dsLmRpYycsICdoeXBoX2lzLmRpYycsICdoeXBoX3RlLmRpYycsCiB9CiBpZ25vcmUudXBk YXRlKCcvdXNyL3NoYXJlL2h5cGhlbi8nICsgeCBmb3IgeCBpbiBoeXBoX2lnbm9yZSkKIApAQCAt NTI3LDkgKzUyNyw5IEBAIGdsb2JhbF9wYWNrYWdlX2lnbm9yZV9wYXR0ZXJucyA9IFsKICAgICAn XnY0bC11dGlscy1kZXZlbC10b29scyQnLAogICAgICdeeGRnLWRlc2t0b3AtcG9ydGFsJCcsCiAg ICAgJ154ZGctZGVza3RvcC1wb3J0YWwtZGV2ZWwkJywKLSAgICAnXm9wZW5zc2wxXC4xLWRldmVs JCcsICMgY29uZmxpY3RzIHdpdGggb3BlbnNzbC1kZXZlbCBmcm9tIG9wZW5zc2wgMy4wCi0gICAg J15nb2xhbmctZ2l0aHViLXhvLXRlcm1pbmZvJCcsICMgY29uZmxpY3RzIG9uIC91c3IvYmluL2lu Zm9jbXAgd2l0aCBuY3Vyc2VzCi0gICAgJ15lbGZ1dGlscy1kZWJ1Z2luZm9kJCcsICMgd2UgZG9u J3QgbmVlZCBkZWJ1Z2luZm9kIHNlcnZlcgorICAgIHInXm9wZW5zc2wxXC4xLWRldmVsJCcsICAj IGNvbmZsaWN0cyB3aXRoIG9wZW5zc2wtZGV2ZWwgZnJvbSBvcGVuc3NsIDMuMAorICAgICdeZ29s YW5nLWdpdGh1Yi14by10ZXJtaW5mbyQnLCAgIyBjb25mbGljdHMgb24gL3Vzci9iaW4vaW5mb2Nt cCB3aXRoIG5jdXJzZXMKKyAgICAnXmVsZnV0aWxzLWRlYnVnaW5mb2QkJywgICMgd2UgZG9uJ3Qg bmVlZCBkZWJ1Z2luZm9kIHNlcnZlcgogXQogCiBnbG9iYWxfcGFja2FnZV9pZ25vcmVfY29tcGls ZWQgPSBbcmUuY29tcGlsZShwKSBmb3IgcCBpbiBnbG9iYWxfcGFja2FnZV9pZ25vcmVfcGF0dGVy bnNdCkBAIC01MzcsMTIgKzUzNywxMiBAQCBnbG9iYWxfcGFja2FnZV9pZ25vcmVfY29tcGlsZWQg PSBbcmUuY29tcGlsZShwKSBmb3IgcCBpbiBnbG9iYWxfcGFja2FnZV9pZ25vcmVfcAogcGxhdGZv cm1fcGFja2FnZV9pZ25vcmVfcGF0dGVybnMgPSBbCiAgICAgIl4uKi1kZXZlbCQiLAogICAgICJe bGliYXBwc3RyZWFtLWdsaWItYnVpbGRlciQiLCAjIG1heSBub3QgbmVlZCBpbiB0aGUgc2RrIGVp dGhlcgotICAgICJeZ2NjLWdkYi1wbHVnaW4kIiwgIyBwdWxscyBpbiBnY2MKKyAgICAiXmdjYy1n ZGItcGx1Z2luJCIsICAjIHB1bGxzIGluIGdjYwogICAgICJeZ3RrLWRvYyQiLAogICAgICJeZ3Rr NC1kZXZlbC10b29scyQiLAotICAgICJeaWN1JCIsICMgbWF5IG5vdCBuZWVkIGluIHRoZSBzZGsg ZWl0aGVyCisgICAgIl5pY3UkIiwgICMgbWF5IG5vdCBuZWVkIGluIHRoZSBzZGsgZWl0aGVyCiAg ICAgJ15sbHZtJCcsCi0gICAgJ15sbHZtLXRlc3QkJywgIyBwdWxscyBpbiBnY2MgYW5kIGJpbnV0 aWxzCisgICAgJ15sbHZtLXRlc3QkJywgICMgcHVsbHMgaW4gZ2NjIGFuZCBiaW51dGlscwogICAg ICdec3FsaXRlJCcsCiBdCiBwbGF0Zm9ybV9wYWNrYWdlX2lnbm9yZV9jb21waWxlZCA9IFtyZS5j b21waWxlKHApIGZvciBwIGluIHBsYXRmb3JtX3BhY2thZ2VfaWdub3JlX3BhdHRlcm5zXQpAQCAt NTc5LDggKzU3OSw4IEBAIHN0YXJ0KCJSZWFkaW5nIGZpbGUgbGlzdCIpCiAKIHRvX3Jlc29sdmUg PSBbXQogd2l0aCBvcGVuKGlucGF0aCkgYXMgZjoKLSAgICBmb3IgbCBpbiBmOgotICAgICAgICBy ID0gbC5yc3RyaXAoKQorICAgIGZvciBsaW5lIGluIGY6CisgICAgICAgIHIgPSBsaW5lLnJzdHJp cCgpCiAgICAgICAgIGlmIHIuc3RhcnRzd2l0aCgnL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS8n KToKICAgICAgICAgICAgIHIgPSAnL3Vzci9saWI2NC8nICsgcltsZW4oJy91c3IvbGliL3g4Nl82 NC1saW51eC1nbnUvJyk6XQogICAgICAgICBlbGlmIHIuc3RhcnRzd2l0aCgnL3Vzci9saWIvJyk6 CkBAIC02MzcsNiArNjM3LDggQEAgZm9yIHIgaW4gdG9fcmVzb2x2ZToKICAgICAgICAgcHJvdmlk aW5nID0gZmlsZXNfbWFwLmdldChzLCBOb25lKQogICAgICAgICBpZiBwcm92aWRpbmcgaXMgbm90 IE5vbmU6CiAgICAgICAgICAgICBicmVhaworICAgIGVsc2U6CisgICAgICAgIHByb3ZpZGluZyA9 IE5vbmUKIAogICAgIGlmIHByb3ZpZGluZyBpcyBOb25lOgogICAgICAgICBwcmludChyLCBmaWxl PXVubWF0Y2hlZF9maWxlKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL3V0aWwucHkgYi90b29scy91dGls LnB5CmluZGV4IGRkZWY2ZmEuLjA4MjE3YzMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3V0aWwucHkKKysr IGIvdG9vbHMvdXRpbC5weQpAQCAtODQsOSArODQsMTEgQEAgZGVmIHBhY2thZ2VfY21wKHAxLCBw Mik6CiAgICAgZWxpZiBuMS5zdGFydHN3aXRoKCdweXRob24zLScpIGFuZCBuMi5zdGFydHN3aXRo KCdweXRob24yLScpOgogICAgICAgICByZXR1cm4gLTEKIAotICAgIGlmIG4xLnN0YXJ0c3dpdGgo J2phY2stYXVkaW8tY29ubmVjdGlvbi1raXQnKSBhbmQgbjIuc3RhcnRzd2l0aCgncGlwZXdpcmUt amFjay1hdWRpby1jb25uZWN0aW9uLWtpdCcpOgorICAgIGlmIChuMS5zdGFydHN3aXRoKCdqYWNr LWF1ZGlvLWNvbm5lY3Rpb24ta2l0JykKKyAgICAgICAgICAgIGFuZCBuMi5zdGFydHN3aXRoKCdw aXBld2lyZS1qYWNrLWF1ZGlvLWNvbm5lY3Rpb24ta2l0JykpOgogICAgICAgICByZXR1cm4gMQot ICAgIGVsaWYgbjEuc3RhcnRzd2l0aCgncGlwZXdpcmUtamFjay1hdWRpby1jb25uZWN0aW9uLWtp dCcpIGFuZCBuMi5zdGFydHN3aXRoKCdqYWNrLWF1ZGlvLWNvbm5lY3Rpb24ta2l0Jyk6CisgICAg ZWxpZiAobjEuc3RhcnRzd2l0aCgncGlwZXdpcmUtamFjay1hdWRpby1jb25uZWN0aW9uLWtpdCcp CisgICAgICAgICAgICBhbmQgbjIuc3RhcnRzd2l0aCgnamFjay1hdWRpby1jb25uZWN0aW9uLWtp dCcpKToKICAgICAgICAgcmV0dXJuIC0xCiAKICAgICBpZiBuMSA8IG4yOgpAQCAtMTAxLDcgKzEw Myw3IEBAIGRlZiBwYWNrYWdlX2NtcChwMSwgcDIpOgogCiAgICAgcmV0dXJuIC0gcnBtLmxhYmVs Q29tcGFyZSgoZTEsIHYxLCByMSksIChlMiwgdjIsIHIyKSkKIAotY2xhc3MgRmlsZXNNYXBIYW5k bGVyKHhtbC5zYXguaGFuZGxlci5Db250ZW50SGFuZGxlcik6CitjbGFzcyBGaWxlc01hcEhhbmRs ZXIoeG1sLnNheC5Db250ZW50SGFuZGxlcik6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNiKToK ICAgICAgICAgc2VsZi5jYiA9IGNiCiAgICAgICAgIHNlbGYucGFja2FnZV9pbmZvID0gTm9uZQpA QCAtMTQ1LDcgKzE0Nyw5IEBAIGRlZiBmb3JlYWNoX2ZpbGUocmVwb19pbmZvLCBjYik6CiAgICAg ICAgIHJvb3QgPSBFVC5mcm9tc3RyaW5nKHJlcG9tZF9jb250ZW50cykKIAogICAgICAgICBucyA9 IHsncmVwbyc6ICdodHRwOi8vbGludXguZHVrZS5lZHUvbWV0YWRhdGEvcmVwbyd9Ci0gICAgICAg IGZpbGVsaXN0c19sb2NhdGlvbiA9IHJvb3QuZmluZCgiLi9yZXBvOmRhdGFbQHR5cGU9J2ZpbGVs aXN0cyddL3JlcG86bG9jYXRpb24iLCBucykuYXR0cmliWydocmVmJ10KKyAgICAgICAgZmlsZWxp c3RzX2xvY2F0aW9uX2VsZW1lbnQgPSByb290LmZpbmQoIi4vcmVwbzpkYXRhW0B0eXBlPSdmaWxl bGlzdHMnXS9yZXBvOmxvY2F0aW9uIiwgbnMpCisgICAgICAgIGFzc2VydCBmaWxlbGlzdHNfbG9j YXRpb25fZWxlbWVudCBpcyBub3QgTm9uZQorICAgICAgICBmaWxlbGlzdHNfbG9jYXRpb24gPSBm aWxlbGlzdHNfbG9jYXRpb25fZWxlbWVudC5hdHRyaWJbJ2hyZWYnXQogICAgICAgICBmaWxlbGlz dHNfcGF0aCA9IG9zLnBhdGguam9pbihyZXBvX2RpciwgZmlsZWxpc3RzX2xvY2F0aW9uKQogICAg ICAgICBpZiBvcy5wYXRoLmNvbW1vbnByZWZpeChbZmlsZWxpc3RzX3BhdGgsIHJlcG9fZGlyXSkg IT0gcmVwb19kaXI6CiAgICAgICAgICAgICBkb25lKCkKQEAgLTE1Nyw3ICsxNjEsNyBAQCBkZWYg Zm9yZWFjaF9maWxlKHJlcG9faW5mbywgY2IpOgogCiAgICAgICAgIGRvbmUoKQogCi1jbGFzcyBQ YWNrYWdlTWFwSGFuZGxlcih4bWwuc2F4LmhhbmRsZXIuQ29udGVudEhhbmRsZXIpOgorY2xhc3Mg UGFja2FnZU1hcEhhbmRsZXIoeG1sLnNheC5Db250ZW50SGFuZGxlcik6CiAgICAgZGVmIF9faW5p dF9fKHNlbGYsIGNiKToKICAgICAgICAgc2VsZi5jYiA9IGNiCiAgICAgICAgIHNlbGYubmFtZSA9 IE5vbmUKQEAgLTE5Myw3ICsxOTcsOSBAQCBkZWYgZm9yZWFjaF9wYWNrYWdlKHJlcG9faW5mbywg Y2IpOgogICAgICAgICByb290ID0gRVQuZnJvbXN0cmluZyhyZXBvbWRfY29udGVudHMpCiAKICAg ICAgICAgbnMgPSB7J3JlcG8nOiAnaHR0cDovL2xpbnV4LmR1a2UuZWR1L21ldGFkYXRhL3JlcG8n fQotICAgICAgICBmaWxlbGlzdHNfbG9jYXRpb24gPSByb290LmZpbmQoIi4vcmVwbzpkYXRhW0B0 eXBlPSdwcmltYXJ5J10vcmVwbzpsb2NhdGlvbiIsIG5zKS5hdHRyaWJbJ2hyZWYnXQorICAgICAg ICBmaWxlbGlzdHNfbG9jYXRpb25fZWxlbWVudCA9IHJvb3QuZmluZCgiLi9yZXBvOmRhdGFbQHR5 cGU9J3ByaW1hcnknXS9yZXBvOmxvY2F0aW9uIiwgbnMpCisgICAgICAgIGFzc2VydCBmaWxlbGlz dHNfbG9jYXRpb25fZWxlbWVudCBpcyBub3QgTm9uZQorICAgICAgICBmaWxlbGlzdHNfbG9jYXRp b24gPSBmaWxlbGlzdHNfbG9jYXRpb25fZWxlbWVudC5hdHRyaWJbJ2hyZWYnXQogICAgICAgICBm aWxlbGlzdHNfcGF0aCA9IG9zLnBhdGguam9pbihyZXBvX2RpciwgZmlsZWxpc3RzX2xvY2F0aW9u KQogICAgICAgICBpZiBvcy5wYXRoLmNvbW1vbnByZWZpeChbZmlsZWxpc3RzX3BhdGgsIHJlcG9f ZGlyXSkgIT0gcmVwb19kaXI6CiAgICAgICAgICAgICBkb25lKCkKQEAgLTIxNiw3ICsyMjIsOCBA QCBkZWYgZ2V0X3JlcG9fY2FjaGVhYmxlKG5hbWUsIGdlbmVyYXRlKToKICAgICAgICAgICAgIHdp dGggb3BlbihyZXBvbWRfcGF0aCwgJ3JiJykgYXMgZjoKICAgICAgICAgICAgICAgICByZXBvbWRf Y29udGVudHMgPSBmLnJlYWQoKQogICAgICAgICBleGNlcHQgKE9TRXJyb3IsIElPRXJyb3IpOgot ICAgICAgICAgICAgcHJpbnQoIkNhbm5vdCByZWFkIHt9LCB0cnkgJ2ZlZG1vZCAiICsgREFUQVNF VF9BUkcgKyAiIGZldGNoLW1ldGFkYXRhJyIuZm9ybWF0KHJlcG9tZF9wYXRoKSwgZmlsZT1zeXMu c3RkZXJyKQorICAgICAgICAgICAgcHJpbnQoZiJDYW5ub3QgcmVhZCB7cmVwb21kX3BhdGh9LCB0 cnkgJ2ZlZG1vZCB7REFUQVNFVF9BUkd9IGZldGNoLW1ldGFkYXRhJyIsCisgICAgICAgICAgICAg ICAgICBmaWxlPXN5cy5zdGRlcnIpCiAgICAgICAgICAgICBzeXMuZXhpdCgxKQogCiAgICAgICAg IHJlcG9faW5mb1tyZXBvXSA9IChyZXBvX2RpciwgcmVwb21kX2NvbnRlbnRzKQpAQCAtMjQ3LDQg KzI1NCwzIEBAIGRlZiBnZXRfcmVwb19jYWNoZWFibGUobmFtZSwgZ2VuZXJhdGUpOgogICAgIGRv bmUoKQogCiAgICAgcmV0dXJuIGRhdGEKLQo=