From: Bjorn Munch Date: March 11 2011 9:13am Subject: bzr commit into mysql-5.5-mtr branch (bjorn.munch:3181) List-Archive: http://lists.mysql.com/commits/132796 Message-Id: <201103110913.p2B9DC9W004405@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 I0F0IGZpbGU6Ly8vaG9tZS9ibTEzNjgwMS9teS9tdHItNTUvIGJhc2VkIG9uIHJldmlkOmJqb3Ju Lm11bmNoQG9yYWNsZS5jb20tMjAxMTAzMDgxODIxNDQtYmppYnB2dmo4ODVtaXN5MAoKIDMxODEg Qmpvcm4gTXVuY2gJMjAxMS0wMy0xMSBbbWVyZ2VdCiAgICAgIG1lcmdlIGZyb20gNS41IG1haW4K CiAgICBhZGRlZDoKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9wZXJmc2NoZW1hL3IvcmVsYXlsb2cu cmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS90L3JlbGF5bG9nLnRlc3QK ICAgIG1vZGlmaWVkOgogICAgICBteXNxbC10ZXN0L2NvbGxlY3Rpb25zL2RlZmF1bHQuZGFpbHkK ICAgICAgbXlzcWwtdGVzdC9jb2xsZWN0aW9ucy9kZWZhdWx0LndlZWtseQogICAgICBteXNxbC10 ZXN0L3IvZ3JhbnQucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9wYXJ0aXRpb24ucmVzdWx0CiAg ICAgIG15c3FsLXRlc3Qvci9zcC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL3RyaWdnZXIucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lubm9kYl9zdG9yZWRwcm9jXzA2 LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9tZW1vcnlfc3RvcmVkcHJv Y18wNi5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbXlpc2FtX3N0b3Jl ZHByb2NfMDYucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9zdG9yZWRwcm9j L3N0b3JlZHByb2NfMDYuaW5jCiAgICAgIG15c3FsLXRlc3QvdC9kaXNhYmxlZC5kZWYKICAgICAg bXlzcWwtdGVzdC90L2dyYW50LnRlc3QKICAgICAgbXlzcWwtdGVzdC90L3BhcnRpdGlvbi50ZXN0 CiAgICAgIG15c3FsLXRlc3QvdC9zcC50ZXN0CiAgICAgIG15c3FsLXRlc3QvdC90cmlnZ2VyLnRl c3QKICAgICAgc3FsL2hhX3BhcnRpdGlvbi5jYwogICAgICBzcWwvbG9nLmNjCiAgICAgIHNxbC9s b2cuaAogICAgICBzcWwvbXlzcWxkLmNjCiAgICAgIHNxbC9teXNxbGQuaAogICAgICBzcWwvcnBs X3JsaS5jYwogICAgICBzcWwvc3FsX2FjbC5jYwogICAgICBzcWwvc3FsX3RyaWdnZXIuY2MKPT09 IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvY29sbGVjdGlvbnMvZGVmYXVsdC5kYWlseScKLS0t IGEvbXlzcWwtdGVzdC9jb2xsZWN0aW9ucy9kZWZhdWx0LmRhaWx5CTIwMTEtMDItMjEgMTI6NTY6 NDMgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9jb2xsZWN0aW9ucy9kZWZhdWx0LmRhaWx5CTIwMTEt MDMtMTEgMDk6MTI6NTggKzAwMDAKQEAgLTEsMTUgKzEsMTUgQEAKIAotcGVybCBteXNxbC10ZXN0 LXJ1bi5wbCAtLWZvcmNlIC0tdGltZXIgIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAt LWV4cGVyaW1lbnRhbD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9 bm9ybWFsICAgICAgICAgICAgICAgLS12YXJkaXI9dmFyLW5vcm1hbCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tcmVwb3J0 LWZlYXR1cmVzIC0tdW5pdC10ZXN0cwotcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNlIC0t dGltZXIgIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRhbD1jb2xs ZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9bl9taXggICAgICAgICAgICAg ICAgLS12YXJkaXI9dmFyLW5fbWl4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t bXlzcWxkPS0tYmlubG9nLWZvcm1hdD1taXhlZAotcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZv cmNlIC0tdGltZXIgIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRh bD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9cm93ICAgICAgICAg ICAgICAgIC0tdmFyZGlyPXZhci1yb3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LS1teXNxbGQ9LS1iaW5sb2ctZm9ybWF0PXJvdwotcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZv cmNlIC0tdGltZXIgIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRh bD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9cHNfcm93ICAgICAg ICAgICAgICAgLS12YXJkaXI9dmFyLXBzX3JvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0tbXlzcWxkPS0tYmlubG9nLWZvcm1hdD1yb3cgICAgIC0tcHMtcHJvdG9jb2wKLXBlcmwg bXlzcWwtdGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVyICAtLWRlYnVnLXNlcnZlciAtLXBhcmFs bGVsPWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwg LS1jb21tZW50PWVtYmVkZGVkICAgICAgICAgICAgIC0tdmFyZGlyPXZhci1lbWJlZGRlZCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAtLWVtYmVkZGVkCi1wZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tZm9yY2UgLS10aW1lciAgLS1k ZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2Rl ZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVudD1wcyAgICAgICAgICAgICAgICAgICAtLXZhcmRp cj12YXItcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLS1wcy1wcm90b2NvbAotcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZv cmNlIC0tdGltZXIgIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRh bD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9ZnVuY3NfMSAgICAg ICAgICAgICAgLS12YXJkaXI9dmFyLWZ1bmNzXzEgICAgICAgICAgICAgLS1zdWl0ZT1mdW5jc18x Ci1wZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tZm9yY2UgLS10aW1lciAgLS1kZWJ1Zy1zZXJ2ZXIg LS1wYXJhbGxlbD1hdXRvIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJp bWVudGFsIC0tY29tbWVudD1wc19mdW5jczEgICAgICAgICAgICAtLXZhcmRpcj12YXItcHNfZnVu Y3NfMSAgICAgICAgICAtLXN1aXRlPWZ1bmNzXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLS1wcy1wcm90b2NvbAotcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNlIC0t dGltZXIgIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRhbD1jb2xs ZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9ZnVuY3MyICAgICAgICAgICAg ICAgLS12YXJkaXI9dmFyLWZ1bmNzMiAgICAgICAgICAgICAgLS1zdWl0ZT1mdW5jc18yCi1wZXJs IG15c3FsLXRlc3QtcnVuLnBsIC0tZm9yY2UgLS10aW1lciAgLS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJh bGxlbD1hdXRvIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVudGFs IC0tY29tbWVudD1wYXJ0aXRpb25zICAgICAgICAgICAtLXZhcmRpcj12YXItcGFydHMgICAgICAg ICAgICAgICAtLXN1aXRlPXBhcnRzCi1wZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tZm9yY2UgLS10 aW1lciAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVj dGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS1jb21tZW50PXN0cmVzcyAgICAgICAgICAgICAg IC0tdmFyZGlyPXZhci1zdHJlc3MgICAgICAgICAgICAgIC0tc3VpdGU9c3RyZXNzCi1wZXJsIG15 c3FsLXRlc3QtcnVuLnBsIC0tZm9yY2UgLS10aW1lciAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVs PWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS1j b21tZW50PWpwICAgICAgICAgICAgICAgICAgIC0tdmFyZGlyPXZhci1qcCAgICAgICAgICAgICAg ICAgIC0tc3VpdGU9anAKLXBlcmwgbXlzcWwtdGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVyIC0t ZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRhbD1jb2xsZWN0aW9ucy9k ZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9bmlzdCAgICAgICAgICAgICAgICAgLS12YXJk aXI9dmFyLW5pc3QgICAgICAgICAgICAgICAgLS1zdWl0ZT1uaXN0CitwZXJsIG15c3FsLXRlc3Qt cnVuLnBsIC0tZm9yY2UgLS10aW1lciAgLS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0t ZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVudD1u b3JtYWwgICAgICAgICAgICAgICAtLXZhcmRpcj12YXItbm9ybWFsICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1yZXBvcnQt ZmVhdHVyZXMgLS1za2lwLXRlc3QtbGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxlZC1kYWlseS5saXN0 IC0tdW5pdC10ZXN0cworcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNlIC0tdGltZXIgIC0t ZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRhbD1jb2xsZWN0aW9ucy9k ZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9bl9taXggICAgICAgICAgICAgICAgLS12YXJk aXI9dmFyLW5fbWl4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tbXlzcWxkPS0t YmlubG9nLWZvcm1hdD1taXhlZCAtLXNraXAtdGVzdC1saXN0PWNvbGxlY3Rpb25zL2Rpc2FibGVk LWRhaWx5Lmxpc3QKK3BlcmwgbXlzcWwtdGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVyICAtLWRl YnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVm YXVsdC5leHBlcmltZW50YWwgLS1jb21tZW50PXJvdyAgICAgICAgICAgICAgICAtLXZhcmRpcj12 YXItcm93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tbXlzcWxkPS0tYmlubG9n LWZvcm1hdD1yb3cgLS1za2lwLXRlc3QtbGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxlZC1kYWlseS5s aXN0CitwZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tZm9yY2UgLS10aW1lciAgLS1kZWJ1Zy1zZXJ2 ZXIgLS1wYXJhbGxlbD1hdXRvIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhw ZXJpbWVudGFsIC0tY29tbWVudD1wc19yb3cgICAgICAgICAgICAgICAtLXZhcmRpcj12YXItcHNf cm93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1teXNxbGQ9LS1iaW5sb2ctZm9y bWF0PXJvdyAgICAgLS1wcy1wcm90b2NvbCAtLXNraXAtdGVzdC1saXN0PWNvbGxlY3Rpb25zL2Rp c2FibGVkLWRhaWx5Lmxpc3QKK3BlcmwgbXlzcWwtdGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVy ICAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlv bnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS1jb21tZW50PWVtYmVkZGVkICAgICAgICAgICAgIC0t dmFyZGlyPXZhci1lbWJlZGRlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtLWVtYmVkZGVkIC0tc2tpcC10ZXN0LWxpc3Q9Y29s bGVjdGlvbnMvZGlzYWJsZWQtZGFpbHkubGlzdAorcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZv cmNlIC0tdGltZXIgIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRh bD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9cHMgICAgICAgICAg ICAgICAgICAgLS12YXJkaXI9dmFyLXBzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tcHMtcHJvdG9jb2wgLS1za2lwLXRlc3Qt bGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxlZC1kYWlseS5saXN0CitwZXJsIG15c3FsLXRlc3QtcnVu LnBsIC0tZm9yY2UgLS10aW1lciAgLS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tZXhw ZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVudD1mdW5j c18xICAgICAgICAgICAgICAtLXZhcmRpcj12YXItZnVuY3NfMSAgICAgICAgICAgICAtLXN1aXRl PWZ1bmNzXzEgLS1za2lwLXRlc3QtbGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxlZC1kYWlseS5saXN0 CitwZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tZm9yY2UgLS10aW1lciAgLS1kZWJ1Zy1zZXJ2ZXIg LS1wYXJhbGxlbD1hdXRvIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJp bWVudGFsIC0tY29tbWVudD1wc19mdW5jczEgICAgICAgICAgICAtLXZhcmRpcj12YXItcHNfZnVu Y3NfMSAgICAgICAgICAtLXN1aXRlPWZ1bmNzXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLS1wcy1wcm90b2NvbCAtLXNraXAtdGVzdC1saXN0PWNvbGxlY3Rpb25zL2Rpc2Fi bGVkLWRhaWx5Lmxpc3QKK3BlcmwgbXlzcWwtdGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVyICAt LWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMv ZGVmYXVsdC5leHBlcmltZW50YWwgLS1jb21tZW50PWZ1bmNzMiAgICAgICAgICAgICAgIC0tdmFy ZGlyPXZhci1mdW5jczIgICAgICAgICAgICAgIC0tc3VpdGU9ZnVuY3NfMiAtLXNraXAtdGVzdC1s aXN0PWNvbGxlY3Rpb25zL2Rpc2FibGVkLWRhaWx5Lmxpc3QKK3BlcmwgbXlzcWwtdGVzdC1ydW4u cGwgLS1mb3JjZSAtLXRpbWVyICAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gLS1leHBl cmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS1jb21tZW50PXBhcnRp dGlvbnMgICAgICAgICAgIC0tdmFyZGlyPXZhci1wYXJ0cyAgICAgICAgICAgICAgIC0tc3VpdGU9 cGFydHMgLS1za2lwLXRlc3QtbGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxlZC1kYWlseS5saXN0Citw ZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tZm9yY2UgLS10aW1lciAtLWRlYnVnLXNlcnZlciAtLXBh cmFsbGVsPWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50 YWwgLS1jb21tZW50PXN0cmVzcyAgICAgICAgICAgICAgIC0tdmFyZGlyPXZhci1zdHJlc3MgICAg ICAgICAgICAgIC0tc3VpdGU9c3RyZXNzIC0tc2tpcC10ZXN0LWxpc3Q9Y29sbGVjdGlvbnMvZGlz YWJsZWQtZGFpbHkubGlzdAorcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNlIC0tdGltZXIg LS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25z L2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVudD1qcCAgICAgICAgICAgICAgICAgICAtLXZh cmRpcj12YXItanAgICAgICAgICAgICAgICAgICAtLXN1aXRlPWpwIC0tc2tpcC10ZXN0LWxpc3Q9 Y29sbGVjdGlvbnMvZGlzYWJsZWQtZGFpbHkubGlzdAorcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAt LWZvcmNlIC0tdGltZXIgLS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tZXhwZXJpbWVu dGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVudD1uaXN0ICAgICAg ICAgICAgICAgICAtLXZhcmRpcj12YXItbmlzdCAgICAgICAgICAgICAgICAtLXN1aXRlPW5pc3Qg LS1za2lwLXRlc3QtbGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxlZC1kYWlseS5saXN0CiBwZXJsIG15 c3FsLXRlc3QtcnVuLnBsIC0tZm9yY2UgLS10aW1lciAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVs PWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS1j b21tZW50PW5pc3QrcHMgICAgICAgICAgICAgIC0tdmFyZGlyPXZhci1wc19uaXN0ICAgICAgICAg ICAgIC0tc3VpdGU9bmlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt LXBzLXByb3RvY29sCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9jb2xsZWN0aW9ucy9k ZWZhdWx0LndlZWtseScKLS0tIGEvbXlzcWwtdGVzdC9jb2xsZWN0aW9ucy9kZWZhdWx0LndlZWts eQkyMDExLTAyLTA4IDExOjU1OjQyICswMDAwCisrKyBiL215c3FsLXRlc3QvY29sbGVjdGlvbnMv ZGVmYXVsdC53ZWVrbHkJMjAxMS0wMy0xMCAwNDoyNDoxNiArMDAwMApAQCAtMSw3ICsxLDcgQEAK LXBlcmwgbXlzcWwtdGVzdC1ydW4ucGwgLS10aW1lciAtLWZvcmNlIC0tZGVidWctc2VydmVyIC0t cGFyYWxsZWw9YXV0byAgLS1jb21tZW50PWJpZy10ZXN0cyAtLWV4cGVyaW1lbnRhbD1jb2xsZWN0 aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLXZhcmRpcj12YXItYmlnLXRlc3RzIC0tYmlnLXRl c3QgLS10ZXN0Y2FzZS10aW1lb3V0PTYwIC0tc3VpdGUtdGltZW91dD02MDAgbWFpbi5hbHRlcl90 YWJsZS1iaWcgbWFpbi5hcmNoaXZlLWJpZyBtYWluLmNvdW50X2Rpc3RpbmN0MyBtYWluLmNyZWF0 ZS1iaWcgbWFpbi5ldmVudHNfc3RyZXNzIG1haW4uZXZlbnRzX3RpbWVfem9uZSBtYWluLmluZm9y bWF0aW9uX3NjaGVtYS1iaWcgbWFpbi5sb2dfdGFibGVzLWJpZyBtYWluLm1lcmdlLWJpZyBtYWlu Lm15c3FsYmlubG9nX3Jvd19iaWcgbWFpbi5yZWFkX21hbnlfcm93c19pbm5vZGIgbWFpbi5zc2wt YmlnIG1haW4uc3VtX2Rpc3RpbmN0LWJpZyBtYWluLnR5cGVfbmV3ZGVjaW1hbC1iaWcgbWFpbi52 YXJpYWJsZXMtYmlnIHBhcnRzLnBhcnRfc3VwcG9ydGVkX3NxbF9mdW5jX2lubm9kYiBwYXJ0cy5w YXJ0aXRpb25fYWx0ZXIxXzFfMl9pbm5vZGIgcGFydHMucGFydGl0aW9uX2FsdGVyMV8yX2lubm9k YiBwYXJ0cy5wYXJ0aXRpb25fYWx0ZXIyXzFfMV9pbm5vZGIgcGFydHMucGFydGl0aW9uX2FsdGVy Ml8xXzJfaW5ub2RiIHBhcnRzLnBhcnRpdGlvbl9hbHRlcjJfMl8yX2lubm9kYiBwYXJ0cy5wYXJ0 aXRpb25fYWx0ZXI0X2lubm9kYiBmdW5jc18xLm15aXNhbV92aWV3cy1iaWcKLXBlcmwgbXlzcWwt dGVzdC1ydW4ucGwgLS10aW1lciAtLWZvcmNlIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0 byAgLS1jb21tZW50PWVpdHMtdGVzdHMtbXlpc2FtLWVuZ2luZSAtLWV4cGVyaW1lbnRhbD1jb2xs ZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLXZhcmRpcj12YXItc3RtdC1laXRzLXRlc3Rz LW15aXNhbS1lbmdpbmUgLS1zdWl0ZT1lbmdpbmVzL2l1ZHMsZW5naW5lcy9mdW5jcyAtLXN1aXRl LXRpbWVvdXQ9NTAwIC0tbWF4LXRlc3QtZmFpbD0wIC0tcmV0cnktZmFpbHVyZT0wIC0tbXlzcWxk PS0tZGVmYXVsdC1zdG9yYWdlLWVuZ2luZT1teWlzYW0gCi1wZXJsIG15c3FsLXRlc3QtcnVuLnBs IC0tdGltZXIgLS1mb3JjZSAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gLS1jb21tZW50 PWVpdHMtcnBsLWJpbmxvZy1yb3ctdGVzdHMtbXlpc2FtLWVuZ2luZSAtLWV4cGVyaW1lbnRhbD1j b2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLXZhcmRpcj12YXItYmlubG9nLXJvdy1l aXRzLXRlc3RzLW15aXNhbS1lbmdpbmUgLS1zdWl0ZT1lbmdpbmVzL2l1ZHMsZW5naW5lcy9mdW5j cyAtLXN1aXRlLXRpbWVvdXQ9NTAwIC0tbWF4LXRlc3QtZmFpbD0wIC0tcmV0cnktZmFpbHVyZT0w IC0tbXlzcWxkPS0tZGVmYXVsdC1zdG9yYWdlLWVuZ2luZT1teWlzYW0gLS1kby10ZXN0PXJwbCAt LW15c3FsZD0tLWJpbmxvZy1mb3JtYXQ9cm93Ci1wZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tdGlt ZXIgLS1mb3JjZSAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gIC0tY29tbWVudD1laXRz LXJwbC1iaW5sb2ctbWl4ZWQtdGVzdHMtbXlpc2FtLWVuZ2luZSAtLWV4cGVyaW1lbnRhbD1jb2xs ZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLXZhcmRpcj12YXItYmlubG9nLW1peGVkLWVp dHMtdGVzdHMtbXlpc2FtLWVuZ2luZSAtLXN1aXRlPWVuZ2luZXMvaXVkcyxlbmdpbmVzL2Z1bmNz IC0tc3VpdGUtdGltZW91dD01MDAgLS1tYXgtdGVzdC1mYWlsPTAgLS1yZXRyeS1mYWlsdXJlPTAg LS1teXNxbGQ9LS1kZWZhdWx0LXN0b3JhZ2UtZW5naW5lPW15aXNhbSAtLWRvLXRlc3Q9cnBsIC0t bXlzcWxkPS0tYmlubG9nLWZvcm1hdD1taXhlZAotcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLXRp bWVyIC0tZm9yY2UgLS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tY29tbWVudD1laXRz LXRlc3RzLWlubm9kYi1lbmdpbmUgLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5l eHBlcmltZW50YWwgLS12YXJkaXI9dmFyLXN0bXQtZWl0cy10ZXN0cy1pbm5vZGItZW5naW5lIC0t c3VpdGU9ZW5naW5lcy9pdWRzLGVuZ2luZXMvZnVuY3MgLS1zdWl0ZS10aW1lb3V0PTUwMCAtLW1h eC10ZXN0LWZhaWw9MCAtLXJldHJ5LWZhaWx1cmU9MCAtLW15c3FsZD0tLWRlZmF1bHQtc3RvcmFn ZS1lbmdpbmU9aW5ub2RiIC0tbXlzcWxkPS0taW5ub2RiCi1wZXJsIG15c3FsLXRlc3QtcnVuLnBs IC0tdGltZXIgLS1mb3JjZSAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gLS1jb21tZW50 PWVpdHMtcnBsLWJpbmxvZy1yb3ctdGVzdHMtaW5ub2RiLWVuZ2luZSAtLWV4cGVyaW1lbnRhbD1j b2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLXZhcmRpcj12YXItYmlubG9nLXJvdy1l aXRzLXRlc3RzLWlubm9kYi1lbmdpbmUgLS1zdWl0ZT1lbmdpbmVzL2l1ZHMsZW5naW5lcy9mdW5j cyAtLXN1aXRlLXRpbWVvdXQ9NTAwIC0tbWF4LXRlc3QtZmFpbD0wIC0tcmV0cnktZmFpbHVyZT0w IC0tbXlzcWxkPS0tZGVmYXVsdC1zdG9yYWdlLWVuZ2luZT1pbm5vZGIgLS1teXNxbGQ9LS1pbm5v ZGIgLS1kby10ZXN0PXJwbCAtLW15c3FsZD0tLWJpbmxvZy1mb3JtYXQ9cm93Ci1wZXJsIG15c3Fs LXRlc3QtcnVuLnBsIC0tdGltZXIgLS1mb3JjZSAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1 dG8gLS1jb21tZW50PWVpdHMtcnBsLWJpbmxvZy1taXhlZC10ZXN0cy1pbm5vZGItZW5naW5lIC0t ZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tdmFyZGlyPXZh ci1iaW5sb2ctbWl4ZWQtZWl0cy10ZXN0cy1pbm5vZGItZW5naW5lIC0tc3VpdGU9ZW5naW5lcy9p dWRzLGVuZ2luZXMvZnVuY3MgLS1zdWl0ZS10aW1lb3V0PTUwMCAtLW1heC10ZXN0LWZhaWw9MCAt LXJldHJ5LWZhaWx1cmU9MCAtLW15c3FsZD0tLWRlZmF1bHQtc3RvcmFnZS1lbmdpbmU9aW5ub2Ri IC0tbXlzcWxkPS0taW5ub2RiIC0tZG8tdGVzdD1ycGwgLS1teXNxbGQ9LS1iaW5sb2ctZm9ybWF0 PW1peGVkCitwZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tdGltZXIgLS1mb3JjZSAtLWRlYnVnLXNl cnZlciAtLXBhcmFsbGVsPWF1dG8gIC0tY29tbWVudD1iaWctdGVzdHMgLS1leHBlcmltZW50YWw9 Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS12YXJkaXI9dmFyLWJpZy10ZXN0cyAt LWJpZy10ZXN0IC0tdGVzdGNhc2UtdGltZW91dD02MCAtLXN1aXRlLXRpbWVvdXQ9NjAwIG1haW4u YWx0ZXJfdGFibGUtYmlnIG1haW4uYXJjaGl2ZS1iaWcgbWFpbi5jb3VudF9kaXN0aW5jdDMgbWFp bi5jcmVhdGUtYmlnIG1haW4uZXZlbnRzX3N0cmVzcyBtYWluLmV2ZW50c190aW1lX3pvbmUgbWFp bi5pbmZvcm1hdGlvbl9zY2hlbWEtYmlnIG1haW4ubG9nX3RhYmxlcy1iaWcgbWFpbi5tZXJnZS1i aWcgbWFpbi5teXNxbGJpbmxvZ19yb3dfYmlnIG1haW4ucmVhZF9tYW55X3Jvd3NfaW5ub2RiIG1h aW4uc3NsLWJpZyBtYWluLnN1bV9kaXN0aW5jdC1iaWcgbWFpbi50eXBlX25ld2RlY2ltYWwtYmln IG1haW4udmFyaWFibGVzLWJpZyBwYXJ0cy5wYXJ0X3N1cHBvcnRlZF9zcWxfZnVuY19pbm5vZGIg cGFydHMucGFydGl0aW9uX2FsdGVyMV8xXzJfaW5ub2RiIHBhcnRzLnBhcnRpdGlvbl9hbHRlcjFf Ml9pbm5vZGIgcGFydHMucGFydGl0aW9uX2FsdGVyMl8xXzFfaW5ub2RiIHBhcnRzLnBhcnRpdGlv bl9hbHRlcjJfMV8yX2lubm9kYiBwYXJ0cy5wYXJ0aXRpb25fYWx0ZXIyXzJfMl9pbm5vZGIgcGFy dHMucGFydGl0aW9uX2FsdGVyNF9pbm5vZGIgZnVuY3NfMS5teWlzYW1fdmlld3MtYmlnIC0tc2tp cC10ZXN0LWxpc3Q9Y29sbGVjdGlvbnMvZGlzYWJsZWQtd2Vla2x5Lmxpc3QKK3BlcmwgbXlzcWwt dGVzdC1ydW4ucGwgLS10aW1lciAtLWZvcmNlIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0 byAgLS1jb21tZW50PWVpdHMtdGVzdHMtbXlpc2FtLWVuZ2luZSAtLWV4cGVyaW1lbnRhbD1jb2xs ZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLXZhcmRpcj12YXItc3RtdC1laXRzLXRlc3Rz LW15aXNhbS1lbmdpbmUgLS1zdWl0ZT1lbmdpbmVzL2l1ZHMsZW5naW5lcy9mdW5jcyAtLXN1aXRl LXRpbWVvdXQ9NTAwIC0tbWF4LXRlc3QtZmFpbD0wIC0tcmV0cnktZmFpbHVyZT0wIC0tbXlzcWxk PS0tZGVmYXVsdC1zdG9yYWdlLWVuZ2luZT1teWlzYW0gLS1za2lwLXRlc3QtbGlzdD1jb2xsZWN0 aW9ucy9kaXNhYmxlZC13ZWVrbHkubGlzdCAKK3BlcmwgbXlzcWwtdGVzdC1ydW4ucGwgLS10aW1l ciAtLWZvcmNlIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWNvbW1lbnQ9ZWl0cy1y cGwtYmlubG9nLXJvdy10ZXN0cy1teWlzYW0tZW5naW5lIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rp b25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tdmFyZGlyPXZhci1iaW5sb2ctcm93LWVpdHMtdGVz dHMtbXlpc2FtLWVuZ2luZSAtLXN1aXRlPWVuZ2luZXMvaXVkcyxlbmdpbmVzL2Z1bmNzIC0tc3Vp dGUtdGltZW91dD01MDAgLS1tYXgtdGVzdC1mYWlsPTAgLS1yZXRyeS1mYWlsdXJlPTAgLS1teXNx bGQ9LS1kZWZhdWx0LXN0b3JhZ2UtZW5naW5lPW15aXNhbSAtLWRvLXRlc3Q9cnBsIC0tbXlzcWxk PS0tYmlubG9nLWZvcm1hdD1yb3cgLS1za2lwLXRlc3QtbGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxl ZC13ZWVrbHkubGlzdAorcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLXRpbWVyIC0tZm9yY2UgLS1k ZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvICAtLWNvbW1lbnQ9ZWl0cy1ycGwtYmlubG9nLW1p eGVkLXRlc3RzLW15aXNhbS1lbmdpbmUgLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVs dC5leHBlcmltZW50YWwgLS12YXJkaXI9dmFyLWJpbmxvZy1taXhlZC1laXRzLXRlc3RzLW15aXNh bS1lbmdpbmUgLS1zdWl0ZT1lbmdpbmVzL2l1ZHMsZW5naW5lcy9mdW5jcyAtLXN1aXRlLXRpbWVv dXQ9NTAwIC0tbWF4LXRlc3QtZmFpbD0wIC0tcmV0cnktZmFpbHVyZT0wIC0tbXlzcWxkPS0tZGVm YXVsdC1zdG9yYWdlLWVuZ2luZT1teWlzYW0gLS1kby10ZXN0PXJwbCAtLW15c3FsZD0tLWJpbmxv Zy1mb3JtYXQ9bWl4ZWQgLS1za2lwLXRlc3QtbGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxlZC13ZWVr bHkubGlzdAorcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLXRpbWVyIC0tZm9yY2UgLS1kZWJ1Zy1z ZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tY29tbWVudD1laXRzLXRlc3RzLWlubm9kYi1lbmdpbmUg LS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS12YXJkaXI9 dmFyLXN0bXQtZWl0cy10ZXN0cy1pbm5vZGItZW5naW5lIC0tc3VpdGU9ZW5naW5lcy9pdWRzLGVu Z2luZXMvZnVuY3MgLS1zdWl0ZS10aW1lb3V0PTUwMCAtLW1heC10ZXN0LWZhaWw9MCAtLXJldHJ5 LWZhaWx1cmU9MCAtLW15c3FsZD0tLWRlZmF1bHQtc3RvcmFnZS1lbmdpbmU9aW5ub2RiIC0tbXlz cWxkPS0taW5ub2RiIC0tc2tpcC10ZXN0LWxpc3Q9Y29sbGVjdGlvbnMvZGlzYWJsZWQtd2Vla2x5 Lmxpc3QKK3BlcmwgbXlzcWwtdGVzdC1ydW4ucGwgLS10aW1lciAtLWZvcmNlIC0tZGVidWctc2Vy dmVyIC0tcGFyYWxsZWw9YXV0byAtLWNvbW1lbnQ9ZWl0cy1ycGwtYmlubG9nLXJvdy10ZXN0cy1p bm5vZGItZW5naW5lIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVu dGFsIC0tdmFyZGlyPXZhci1iaW5sb2ctcm93LWVpdHMtdGVzdHMtaW5ub2RiLWVuZ2luZSAtLXN1 aXRlPWVuZ2luZXMvaXVkcyxlbmdpbmVzL2Z1bmNzIC0tc3VpdGUtdGltZW91dD01MDAgLS1tYXgt dGVzdC1mYWlsPTAgLS1yZXRyeS1mYWlsdXJlPTAgLS1teXNxbGQ9LS1kZWZhdWx0LXN0b3JhZ2Ut ZW5naW5lPWlubm9kYiAtLW15c3FsZD0tLWlubm9kYiAtLWRvLXRlc3Q9cnBsIC0tbXlzcWxkPS0t YmlubG9nLWZvcm1hdD1yb3cgLS1za2lwLXRlc3QtbGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxlZC13 ZWVrbHkubGlzdAorcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLXRpbWVyIC0tZm9yY2UgLS1kZWJ1 Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tY29tbWVudD1laXRzLXJwbC1iaW5sb2ctbWl4ZWQt dGVzdHMtaW5ub2RiLWVuZ2luZSAtLWV4cGVyaW1lbnRhbD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4 cGVyaW1lbnRhbCAtLXZhcmRpcj12YXItYmlubG9nLW1peGVkLWVpdHMtdGVzdHMtaW5ub2RiLWVu Z2luZSAtLXN1aXRlPWVuZ2luZXMvaXVkcyxlbmdpbmVzL2Z1bmNzIC0tc3VpdGUtdGltZW91dD01 MDAgLS1tYXgtdGVzdC1mYWlsPTAgLS1yZXRyeS1mYWlsdXJlPTAgLS1teXNxbGQ9LS1kZWZhdWx0 LXN0b3JhZ2UtZW5naW5lPWlubm9kYiAtLW15c3FsZD0tLWlubm9kYiAtLWRvLXRlc3Q9cnBsIC0t bXlzcWxkPS0tYmlubG9nLWZvcm1hdD1taXhlZCAtLXNraXAtdGVzdC1saXN0PWNvbGxlY3Rpb25z L2Rpc2FibGVkLXdlZWtseS5saXN0Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL2dy YW50LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL2dyYW50LnJlc3VsdAkyMDExLTAyLTA4IDEz OjU5OjAzICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9ncmFudC5yZXN1bHQJMjAxMS0wMy0wOSAx NDowNDo1MCArMDAwMApAQCAtMTQ1Miw2ICsxNDUyLDE5OSBAQCBEUk9QIERBVEFCQVNFIG15c3Fs dGVzdDI7CiBEUk9QIFVTRVIgdGVzdHVzZXJAbG9jYWxob3N0OwogdXNlIHRlc3Q7CiAKKyMKKyMg VGVzdCBmb3IgYnVnICMzNjU0NCAiRFJPUCBVU0VSIGRvZXMgbm90IHJlbW92ZSBzdG9yZWQgZnVu Y3Rpb24KKyMgICAgICAgICAgICAgICAgICAgICAgcHJpdmlsZWdlcyIuCisjCitjcmVhdGUgZGF0 YWJhc2UgbXlzcWx0ZXN0MTsKK2NyZWF0ZSBmdW5jdGlvbiBteXNxbHRlc3QxLmYxKCkgcmV0dXJu cyBpbnQgcmV0dXJuIDA7CitjcmVhdGUgcHJvY2VkdXJlIG15c3FsdGVzdDEucDEoKSBiZWdpbiBl bmQ7CisjCisjIDEpIENoZWNrIHRoYXQgRFJPUCBVU0VSIHByb3Blcmx5IHJlbW92ZXMgcHJpdmls ZWdlcyBvbiBib3RoCisjICAgIHN0b3JlZCBwcm9jZWR1cmVzIGFuZCBmdW5jdGlvbnMuCisjCitj cmVhdGUgdXNlciBteXNxbHVzZXIxQGxvY2FsaG9zdDsKK2dyYW50IGV4ZWN1dGUgb24gZnVuY3Rp b24gbXlzcWx0ZXN0MS5mMSB0byBteXNxbHVzZXIxQGxvY2FsaG9zdDsKK2dyYW50IGV4ZWN1dGUg b24gcHJvY2VkdXJlIG15c3FsdGVzdDEucDEgdG8gbXlzcWx1c2VyMUBsb2NhbGhvc3Q7CisjIFF1 aWNrIHRlc3QgdGhhdCBncmFudGVkIHByaXZpbGVnZXMgYXJlIHByb3Blcmx5IHJlZmxlY3RlZAor IyBpbiBwcml2aWxlZ2UgdGFibGVzIGFuZCBpbiBpbi1tZW1vcnkgc3RydWN0dXJlcy4KK3Nob3cg Z3JhbnRzIGZvciBteXNxbHVzZXIxQGxvY2FsaG9zdDsKK0dyYW50cyBmb3IgbXlzcWx1c2VyMUBs b2NhbGhvc3QKK0dSQU5UIFVTQUdFIE9OICouKiBUTyAnbXlzcWx1c2VyMSdAJ2xvY2FsaG9zdCcK K0dSQU5UIEVYRUNVVEUgT04gUFJPQ0VEVVJFIGBteXNxbHRlc3QxYC5gcDFgIFRPICdteXNxbHVz ZXIxJ0AnbG9jYWxob3N0JworR1JBTlQgRVhFQ1VURSBPTiBGVU5DVElPTiBgbXlzcWx0ZXN0MWAu YGYxYCBUTyAnbXlzcWx1c2VyMSdAJ2xvY2FsaG9zdCcKK3NlbGVjdCBkYiwgcm91dGluZV9uYW1l LCByb3V0aW5lX3R5cGUsIHByb2NfcHJpdiBmcm9tIG15c3FsLnByb2NzX3ByaXYgd2hlcmUgdXNl cj0nbXlzcWx1c2VyMScgYW5kIGhvc3Q9J2xvY2FsaG9zdCc7CitkYglyb3V0aW5lX25hbWUJcm91 dGluZV90eXBlCXByb2NfcHJpdgorbXlzcWx0ZXN0MQlmMQlGVU5DVElPTglFeGVjdXRlCitteXNx bHRlc3QxCXAxCVBST0NFRFVSRQlFeGVjdXRlCisjCisjIENyZWF0ZSBjb25uZWN0aW9uICdidWdf MzY1NDRfY29uMScgYXMgJ215c3FsdXNlcjFAbG9jYWxob3N0Jy4KK2NhbGwgbXlzcWx0ZXN0MS5w MSgpOworc2VsZWN0IG15c3FsdGVzdDEuZjEoKTsKK215c3FsdGVzdDEuZjEoKQorMAorIworIyBT d2l0Y2ggdG8gY29ubmVjdGlvbiAnZGVmYXVsdCcuCitkcm9wIHVzZXIgbXlzcWx1c2VyMUBsb2Nh bGhvc3Q7CisjCisjIFRlc3QgdGhhdCBkcm9wcGluZyBvZiB1c2VyIGlzIHByb3Blcmx5IHJlZmxl Y3RlZCBpbgorIyBib3RoIHByaXZpbGVnZSB0YWJsZXMgYW5kIGluIGluLW1lbW9yeSBzdHJ1Y3R1 cmVzLgorIworIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiAnYnVnMzY1NDRfY29uMScuCisjIFRoZSBj b25uZWN0aW9uIGNvbGQgYmUgYWxpdmUgYnV0IHNob3VsZCBub3QgYmUgYWJsZSB0bworIyBhY2Nl c3MgdG8gYW55IG9mIHRoZSBzdG9yZWQgcm91dGluZXMuCitjYWxsIG15c3FsdGVzdDEucDEoKTsK K0VSUk9SIDQyMDAwOiBleGVjdXRlIGNvbW1hbmQgZGVuaWVkIHRvIHVzZXIgJ215c3FsdXNlcjEn QCdsb2NhbGhvc3QnIGZvciByb3V0aW5lICdteXNxbHRlc3QxLnAxJworc2VsZWN0IG15c3FsdGVz dDEuZjEoKTsKK0VSUk9SIDQyMDAwOiBleGVjdXRlIGNvbW1hbmQgZGVuaWVkIHRvIHVzZXIgJ215 c3FsdXNlcjEnQCdsb2NhbGhvc3QnIGZvciByb3V0aW5lICdteXNxbHRlc3QxLmYxJworIworIyBT d2l0Y2ggdG8gY29ubmVjdGlvbiAnZGVmYXVsdCcuCisjCisjIE5vdyBjcmVhdGUgdXNlciB3aXRo IHRoZSBzYW1lIG5hbWUgYW5kIGNoZWNrIHRoYXQgaGUKKyMgaGFzIG5vdCBpbmhlcml0ZWQgcHJp dmlsZWdlcy4KK2NyZWF0ZSB1c2VyIG15c3FsdXNlcjFAbG9jYWxob3N0Oworc2hvdyBncmFudHMg Zm9yIG15c3FsdXNlcjFAbG9jYWxob3N0OworR3JhbnRzIGZvciBteXNxbHVzZXIxQGxvY2FsaG9z dAorR1JBTlQgVVNBR0UgT04gKi4qIFRPICdteXNxbHVzZXIxJ0AnbG9jYWxob3N0Jworc2VsZWN0 IGRiLCByb3V0aW5lX25hbWUsIHJvdXRpbmVfdHlwZSwgcHJvY19wcml2IGZyb20gbXlzcWwucHJv Y3NfcHJpdiB3aGVyZSB1c2VyPSdteXNxbHVzZXIxJyBhbmQgaG9zdD0nbG9jYWxob3N0JzsKK2Ri CXJvdXRpbmVfbmFtZQlyb3V0aW5lX3R5cGUJcHJvY19wcml2CisjCisjIENyZWF0ZSBjb25uZWN0 aW9uICdidWdfMzY1NDRfY29uMicgYXMgJ215c3FsdXNlcjFAbG9jYWxob3N0Jy4KKyMgTmV3bHkg Y3JlYXRlZCB1c2VyIHNob3VsZCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IG9mIHRoZSByb3V0 aW5lcy4KK2NhbGwgbXlzcWx0ZXN0MS5wMSgpOworRVJST1IgNDIwMDA6IGV4ZWN1dGUgY29tbWFu ZCBkZW5pZWQgdG8gdXNlciAnbXlzcWx1c2VyMSdAJ2xvY2FsaG9zdCcgZm9yIHJvdXRpbmUgJ215 c3FsdGVzdDEucDEnCitzZWxlY3QgbXlzcWx0ZXN0MS5mMSgpOworRVJST1IgNDIwMDA6IGV4ZWN1 dGUgY29tbWFuZCBkZW5pZWQgdG8gdXNlciAnbXlzcWx1c2VyMSdAJ2xvY2FsaG9zdCcgZm9yIHJv dXRpbmUgJ215c3FsdGVzdDEuZjEnCisjCisjIFN3aXRjaCB0byBjb25uZWN0aW9uICdkZWZhdWx0 Jy4KKyMKKyMgMikgQ2hlY2sgdGhhdCBSRU5BTUUgVVNFUiBwcm9wZXJseSB1cGRhdGVzIHByaXZp bGVnZXMgb24gYm90aAorIyAgICBzdG9yZWQgcHJvY2VkdXJlcyBhbmQgZnVuY3Rpb25zLgorIwor Z3JhbnQgZXhlY3V0ZSBvbiBmdW5jdGlvbiBteXNxbHRlc3QxLmYxIHRvIG15c3FsdXNlcjFAbG9j YWxob3N0OworZ3JhbnQgZXhlY3V0ZSBvbiBwcm9jZWR1cmUgbXlzcWx0ZXN0MS5wMSB0byBteXNx bHVzZXIxQGxvY2FsaG9zdDsKKyMKKyMgQ3JlYXRlIG9uZSBtb3JlIHVzZXIgdG8gbWFrZSBpbi1t ZW1vcnkgaGFzaGVzIG5vbi10cml2aWFsLgorIyBVc2VyIG5hbWVzICdteXNxbHVzZXIxMScgYW5k ICdteXNxbHVzZXIxMCcgd2VyZSBzZWxlY3RlZAorIyB0byB0cmlnZ2VyIGJ1ZyBkaXNjb3ZlcmVk IGR1cmluZyBjb2RlIGluc3BlY3Rpb24uCitjcmVhdGUgdXNlciBteXNxbHVzZXIxMUBsb2NhbGhv c3Q7CitncmFudCBleGVjdXRlIG9uIGZ1bmN0aW9uIG15c3FsdGVzdDEuZjEgdG8gbXlzcWx1c2Vy MTFAbG9jYWxob3N0OworZ3JhbnQgZXhlY3V0ZSBvbiBwcm9jZWR1cmUgbXlzcWx0ZXN0MS5wMSB0 byBteXNxbHVzZXIxMUBsb2NhbGhvc3Q7CisjIEFsc28gY3JlYXRlIGEgY291cGxlIG9mIHRhYmxl cyB0byB0ZXN0IGZvciBhbm90aGVyIGJ1ZworIyBkaXNjb3ZlcmVkIGR1cmluZyBjb2RlIGluc3Bl Y3Rpb24gKGFnYWluIHRhYmxlIG5hbWVzIHdlcmUKKyMgY2hvc2VuIGVzcGVjaWFsbHkgdG8gdHJp Z2dlciB0aGUgYnVnKS4KK2NyZWF0ZSB0YWJsZSBteXNxbHRlc3QxLnQxMSAoaSBpbnQpOworY3Jl YXRlIHRhYmxlIG15c3FsdGVzdDEudDIyIChpIGludCk7CitncmFudCBzZWxlY3Qgb24gbXlzcWx0 ZXN0MS50MjIgdG8gbXlzcWx1c2VyMUBsb2NhbGhvc3Q7CitncmFudCBzZWxlY3Qgb24gbXlzcWx0 ZXN0MS50MTEgdG8gbXlzcWx1c2VyMUBsb2NhbGhvc3Q7CisjIFF1aWNrIHRlc3QgdGhhdCBncmFu dGVkIHByaXZpbGVnZXMgYXJlIHByb3Blcmx5IHJlZmxlY3RlZAorIyBpbiBwcml2aWxlZ2UgdGFi bGVzIGFuZCBpbiBpbi1tZW1vcnkgc3RydWN0dXJlcy4KK3Nob3cgZ3JhbnRzIGZvciBteXNxbHVz ZXIxQGxvY2FsaG9zdDsKK0dyYW50cyBmb3IgbXlzcWx1c2VyMUBsb2NhbGhvc3QKK0dSQU5UIFVT QUdFIE9OICouKiBUTyAnbXlzcWx1c2VyMSdAJ2xvY2FsaG9zdCcKK0dSQU5UIFNFTEVDVCBPTiBg bXlzcWx0ZXN0MWAuYHQxMWAgVE8gJ215c3FsdXNlcjEnQCdsb2NhbGhvc3QnCitHUkFOVCBTRUxF Q1QgT04gYG15c3FsdGVzdDFgLmB0MjJgIFRPICdteXNxbHVzZXIxJ0AnbG9jYWxob3N0JworR1JB TlQgRVhFQ1VURSBPTiBQUk9DRURVUkUgYG15c3FsdGVzdDFgLmBwMWAgVE8gJ215c3FsdXNlcjEn QCdsb2NhbGhvc3QnCitHUkFOVCBFWEVDVVRFIE9OIEZVTkNUSU9OIGBteXNxbHRlc3QxYC5gZjFg IFRPICdteXNxbHVzZXIxJ0AnbG9jYWxob3N0Jworc2VsZWN0IGRiLCByb3V0aW5lX25hbWUsIHJv dXRpbmVfdHlwZSwgcHJvY19wcml2IGZyb20gbXlzcWwucHJvY3NfcHJpdiB3aGVyZSB1c2VyPSdt eXNxbHVzZXIxJyBhbmQgaG9zdD0nbG9jYWxob3N0JzsKK2RiCXJvdXRpbmVfbmFtZQlyb3V0aW5l X3R5cGUJcHJvY19wcml2CitteXNxbHRlc3QxCWYxCUZVTkNUSU9OCUV4ZWN1dGUKK215c3FsdGVz dDEJcDEJUFJPQ0VEVVJFCUV4ZWN1dGUKK3NlbGVjdCBkYiwgdGFibGVfbmFtZSwgdGFibGVfcHJp diBmcm9tIG15c3FsLnRhYmxlc19wcml2IHdoZXJlIHVzZXI9J215c3FsdXNlcjEnIGFuZCBob3N0 PSdsb2NhbGhvc3QnOworZGIJdGFibGVfbmFtZQl0YWJsZV9wcml2CitteXNxbHRlc3QxCXQxMQlT ZWxlY3QKK215c3FsdGVzdDEJdDIyCVNlbGVjdAorIworIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiAn YnVnMzY1NDRfY29uMicuCitjYWxsIG15c3FsdGVzdDEucDEoKTsKK3NlbGVjdCBteXNxbHRlc3Qx LmYxKCk7CitteXNxbHRlc3QxLmYxKCkKKzAKK3NlbGVjdCAqIGZyb20gbXlzcWx0ZXN0MS50MTE7 CitpCitzZWxlY3QgKiBmcm9tIG15c3FsdGVzdDEudDIyOworaQorIworIyBTd2l0Y2ggdG8gY29u bmVjdGlvbiAnZGVmYXVsdCcuCityZW5hbWUgdXNlciBteXNxbHVzZXIxQGxvY2FsaG9zdCB0byBt eXNxbHVzZXIxMEBsb2NhbGhvc3Q7CisjCisjIFRlc3QgdGhhdCB0aGVyZSBhcmUgbm8gcHJpdmls ZWdlcyBsZWZ0IGZvciBteXNxbHVzZXIxLgorIworIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiAnYnVn MzY1NDRfY29uMicuCisjIFRoZSBjb25uZWN0aW9uIGNvbGQgYmUgYWxpdmUgYnV0IHNob3VsZCBu b3QgYmUgYWJsZSB0bworIyBhY2Nlc3MgdG8gYW55IG9mIHRoZSBzdG9yZWQgcm91dGluZXMgb3Ig dGFibGVzLgorY2FsbCBteXNxbHRlc3QxLnAxKCk7CitFUlJPUiA0MjAwMDogZXhlY3V0ZSBjb21t YW5kIGRlbmllZCB0byB1c2VyICdteXNxbHVzZXIxJ0AnbG9jYWxob3N0JyBmb3Igcm91dGluZSAn bXlzcWx0ZXN0MS5wMScKK3NlbGVjdCBteXNxbHRlc3QxLmYxKCk7CitFUlJPUiA0MjAwMDogZXhl Y3V0ZSBjb21tYW5kIGRlbmllZCB0byB1c2VyICdteXNxbHVzZXIxJ0AnbG9jYWxob3N0JyBmb3Ig cm91dGluZSAnbXlzcWx0ZXN0MS5mMScKK3NlbGVjdCAqIGZyb20gbXlzcWx0ZXN0MS50MTE7CitF UlJPUiA0MjAwMDogU0VMRUNUIGNvbW1hbmQgZGVuaWVkIHRvIHVzZXIgJ215c3FsdXNlcjEnQCds b2NhbGhvc3QnIGZvciB0YWJsZSAndDExJworc2VsZWN0ICogZnJvbSBteXNxbHRlc3QxLnQyMjsK K0VSUk9SIDQyMDAwOiBTRUxFQ1QgY29tbWFuZCBkZW5pZWQgdG8gdXNlciAnbXlzcWx1c2VyMSdA J2xvY2FsaG9zdCcgZm9yIHRhYmxlICd0MjInCisjCisjIFN3aXRjaCB0byBjb25uZWN0aW9uICdk ZWZhdWx0Jy4KKyMKKyMgTm93IGNyZWF0ZSB1c2VyIHdpdGggdGhlIG9sZCBuYW1lIGFuZCBjaGVj ayB0aGF0IGhlCisjIGhhcyBub3QgaW5oZXJpdGVkIHByaXZpbGVnZXMuCitjcmVhdGUgdXNlciBt eXNxbHVzZXIxQGxvY2FsaG9zdDsKK3Nob3cgZ3JhbnRzIGZvciBteXNxbHVzZXIxQGxvY2FsaG9z dDsKK0dyYW50cyBmb3IgbXlzcWx1c2VyMUBsb2NhbGhvc3QKK0dSQU5UIFVTQUdFIE9OICouKiBU TyAnbXlzcWx1c2VyMSdAJ2xvY2FsaG9zdCcKK3NlbGVjdCBkYiwgcm91dGluZV9uYW1lLCByb3V0 aW5lX3R5cGUsIHByb2NfcHJpdiBmcm9tIG15c3FsLnByb2NzX3ByaXYgd2hlcmUgdXNlcj0nbXlz cWx1c2VyMScgYW5kIGhvc3Q9J2xvY2FsaG9zdCc7CitkYglyb3V0aW5lX25hbWUJcm91dGluZV90 eXBlCXByb2NfcHJpdgorc2VsZWN0IGRiLCB0YWJsZV9uYW1lLCB0YWJsZV9wcml2IGZyb20gbXlz cWwudGFibGVzX3ByaXYgd2hlcmUgdXNlcj0nbXlzcWx1c2VyMScgYW5kIGhvc3Q9J2xvY2FsaG9z dCc7CitkYgl0YWJsZV9uYW1lCXRhYmxlX3ByaXYKKyMKKyMgQ3JlYXRlIGNvbm5lY3Rpb24gJ2J1 Z18zNjU0NF9jb24zJyBhcyAnbXlzcWx1c2VyMUBsb2NhbGhvc3QnLgorIyBOZXdseSBjcmVhdGVk IHVzZXIgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGFjY2VzcyB0byBhbnkgb2YgdGhlCisjIHN0b3Jl ZCByb3V0aW5lcyBvciB0YWJsZXMuCitjYWxsIG15c3FsdGVzdDEucDEoKTsKK0VSUk9SIDQyMDAw OiBleGVjdXRlIGNvbW1hbmQgZGVuaWVkIHRvIHVzZXIgJ215c3FsdXNlcjEnQCdsb2NhbGhvc3Qn IGZvciByb3V0aW5lICdteXNxbHRlc3QxLnAxJworc2VsZWN0IG15c3FsdGVzdDEuZjEoKTsKK0VS Uk9SIDQyMDAwOiBleGVjdXRlIGNvbW1hbmQgZGVuaWVkIHRvIHVzZXIgJ215c3FsdXNlcjEnQCds b2NhbGhvc3QnIGZvciByb3V0aW5lICdteXNxbHRlc3QxLmYxJworc2VsZWN0ICogZnJvbSBteXNx bHRlc3QxLnQxMTsKK0VSUk9SIDQyMDAwOiBTRUxFQ1QgY29tbWFuZCBkZW5pZWQgdG8gdXNlciAn bXlzcWx1c2VyMSdAJ2xvY2FsaG9zdCcgZm9yIHRhYmxlICd0MTEnCitzZWxlY3QgKiBmcm9tIG15 c3FsdGVzdDEudDIyOworRVJST1IgNDIwMDA6IFNFTEVDVCBjb21tYW5kIGRlbmllZCB0byB1c2Vy ICdteXNxbHVzZXIxJ0AnbG9jYWxob3N0JyBmb3IgdGFibGUgJ3QyMicKKyMKKyMgU3dpdGNoIHRv IGNvbm5lY3Rpb24gJ2RlZmF1bHQnLgorIworIyBOb3cgY2hlY2sgdGhhdCBwcml2aWxlZ2VzIGJl Y2FtZSBhc3NvY2lhdGVkIHdpdGggYSBuZXcgdXNlcgorIyBuYW1lIC0gbXlzcWx1c2VyMTAuCisj CitzaG93IGdyYW50cyBmb3IgbXlzcWx1c2VyMTBAbG9jYWxob3N0OworR3JhbnRzIGZvciBteXNx bHVzZXIxMEBsb2NhbGhvc3QKK0dSQU5UIFVTQUdFIE9OICouKiBUTyAnbXlzcWx1c2VyMTAnQCds b2NhbGhvc3QnCitHUkFOVCBTRUxFQ1QgT04gYG15c3FsdGVzdDFgLmB0MjJgIFRPICdteXNxbHVz ZXIxMCdAJ2xvY2FsaG9zdCcKK0dSQU5UIFNFTEVDVCBPTiBgbXlzcWx0ZXN0MWAuYHQxMWAgVE8g J215c3FsdXNlcjEwJ0AnbG9jYWxob3N0JworR1JBTlQgRVhFQ1VURSBPTiBQUk9DRURVUkUgYG15 c3FsdGVzdDFgLmBwMWAgVE8gJ215c3FsdXNlcjEwJ0AnbG9jYWxob3N0JworR1JBTlQgRVhFQ1VU RSBPTiBGVU5DVElPTiBgbXlzcWx0ZXN0MWAuYGYxYCBUTyAnbXlzcWx1c2VyMTAnQCdsb2NhbGhv c3QnCitzZWxlY3QgZGIsIHJvdXRpbmVfbmFtZSwgcm91dGluZV90eXBlLCBwcm9jX3ByaXYgZnJv bSBteXNxbC5wcm9jc19wcml2IHdoZXJlIHVzZXI9J215c3FsdXNlcjEwJyBhbmQgaG9zdD0nbG9j YWxob3N0JzsKK2RiCXJvdXRpbmVfbmFtZQlyb3V0aW5lX3R5cGUJcHJvY19wcml2CitteXNxbHRl c3QxCWYxCUZVTkNUSU9OCUV4ZWN1dGUKK215c3FsdGVzdDEJcDEJUFJPQ0VEVVJFCUV4ZWN1dGUK K3NlbGVjdCBkYiwgdGFibGVfbmFtZSwgdGFibGVfcHJpdiBmcm9tIG15c3FsLnRhYmxlc19wcml2 IHdoZXJlIHVzZXI9J215c3FsdXNlcjEwJyBhbmQgaG9zdD0nbG9jYWxob3N0JzsKK2RiCXRhYmxl X25hbWUJdGFibGVfcHJpdgorbXlzcWx0ZXN0MQl0MTEJU2VsZWN0CitteXNxbHRlc3QxCXQyMglT ZWxlY3QKKyMKKyMgQ3JlYXRlIGNvbm5lY3Rpb24gJ2J1Z18zNjU0NF9jb240JyBhcyAnbXlzcWx1 c2VyMTBAbG9jYWxob3N0Jy4KK2NhbGwgbXlzcWx0ZXN0MS5wMSgpOworc2VsZWN0IG15c3FsdGVz dDEuZjEoKTsKK215c3FsdGVzdDEuZjEoKQorMAorc2VsZWN0ICogZnJvbSBteXNxbHRlc3QxLnQx MTsKK2kKK3NlbGVjdCAqIGZyb20gbXlzcWx0ZXN0MS50MjI7CitpCisjCisjIFN3aXRjaCB0byBj b25uZWN0aW9uICdkZWZhdWx0Jy4KKyMKKyMgQ2xlYW4tdXAuCitkcm9wIHVzZXIgbXlzcWx1c2Vy MUBsb2NhbGhvc3Q7Citkcm9wIHVzZXIgbXlzcWx1c2VyMTBAbG9jYWxob3N0OworZHJvcCB1c2Vy IG15c3FsdXNlcjExQGxvY2FsaG9zdDsKK2Ryb3AgZGF0YWJhc2UgbXlzcWx0ZXN0MTsKIEVuZCBv ZiA1LjAgdGVzdHMKIHNldCBuYW1lcyB1dGY4OwogZ3JhbnQgc2VsZWN0IG9uIHRlc3QuKiB0byDv v73vv73vv73vv73vv73vv73vv73vv71f77+977+977+977+977+977+977+977+9QGxvY2FsaG9z dDsKQEAgLTE1NDYsMTEgKzE3MzksNyBAQCBmbjIoKQogMgogRFJPUCBVU0VSICd1c2VyYnVnMzM0 NjQnQCdsb2NhbGhvc3QnOwogRFJPUCBGVU5DVElPTiBmbjE7Ci1XYXJuaW5nczoKLVdhcm5pbmcJ MTQwMwlUaGVyZSBpcyBubyBzdWNoIGdyYW50IGRlZmluZWQgZm9yIHVzZXIgJ3VzZXJidWczMzQ2 NCcgb24gaG9zdCAnbG9jYWxob3N0JyBvbiByb3V0aW5lICdmbjEnCiBEUk9QIEZVTkNUSU9OIGZu MjsKLVdhcm5pbmdzOgotV2FybmluZwkxNDAzCVRoZXJlIGlzIG5vIHN1Y2ggZ3JhbnQgZGVmaW5l ZCBmb3IgdXNlciAndXNlcmJ1ZzMzNDY0JyBvbiBob3N0ICdsb2NhbGhvc3QnIG9uIHJvdXRpbmUg J2ZuMicKIERST1AgUFJPQ0VEVVJFIHNwMzsKIERST1AgVVNFUiAndXNlcmJ1ZzMzNDY0J0AnbG9j YWxob3N0JzsKIFVTRSB0ZXN0OwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9wYXJ0 aXRpb24ucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvcGFydGl0aW9uLnJlc3VsdAkyMDExLTAz LTA4IDE3OjM5OjI1ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9wYXJ0aXRpb24ucmVzdWx0CTIw MTEtMDMtMTEgMDk6MTI6NTggKzAwMDAKQEAgLTEsNSArMSw0MyBAQAogZHJvcCB0YWJsZSBpZiBl eGlzdHMgdDEsIHQyOwogIworIyBCdWcjNTkyOTc6IENhbid0IGZpbmQgcmVjb3JkIGluICd0YWJs ZW5hbWUnIG9uIHVwZGF0ZSBpbm5lciBqb2luCisjCitDUkVBVEUgVEFCTEUgdDEgKAorYSBjaGFy KDIpIE5PVCBOVUxMLAorYiBjaGFyKDIpIE5PVCBOVUxMLAorYyBpbnQoMTApIHVuc2lnbmVkIE5P VCBOVUxMLAorZCB2YXJjaGFyKDI1NSkgREVGQVVMVCBOVUxMLAorZSB2YXJjaGFyKDEwMDApIERF RkFVTFQgTlVMTCwKK1BSSU1BUlkgS0VZIChhLCBiLCBjKSwKK0tFWSAoYSksCitLRVkgKGEsIGIp CispCisvKiE1MDEwMCBQQVJUSVRJT04gQlkgS0VZIChhKQorUEFSVElUSU9OUyAyMCAqLzsKK0lO U0VSVCBJTlRPIHQxIChhLCBiLCBjLCBkLCBlKSBWQUxVRVMKKygnMDcnLCAnMDMnLCAzNDMsICcx JywgJzA3XzAzXzM0MycpLAorKCcwMScsICcwNCcsIDM0MywgJzInLCAnMDFfMDRfMzQzJyksCiso JzAxJywgJzA2JywgMzQzLCAnMycsICcwMV8wNl8zNDMnKSwKKygnMDEnLCAnMDcnLCAzNDMsICc0 JywgJzAxXzA3XzM0MycpLAorKCcwMScsICcwOCcsIDM0MywgJzUnLCAnMDFfMDhfMzQzJyksCiso JzAxJywgJzA5JywgMzQzLCAnNicsICcwMV8wOV8zNDMnKSwKKygnMDMnLCAnMDMnLCAzNDMsICc3 JywgJzAzXzAzXzM0MycpLAorKCcwMycsICcwNicsIDM0MywgJzgnLCAnMDNfMDZfMzQzJyksCiso JzAzJywgJzA3JywgMzQzLCAnOScsICcwM18wN18zNDMnKSwKKygnMDQnLCAnMDMnLCAzNDMsICcx MCcsICcwNF8wM18zNDMnKSwKKygnMDQnLCAnMDYnLCAzNDMsICcxMScsICcwNF8wNl8zNDMnKSwK KygnMDUnLCAnMDMnLCAzNDMsICcxMicsICcwNV8wM18zNDMnKSwKKygnMTEnLCAnMDMnLCAzNDMs ICcxMycsICcxMV8wM18zNDMnKSwKKygnMTEnLCAnMDQnLCAzNDMsICcxNCcsICcxMV8wNF8zNDMn KQorOworVVBEQVRFIHQxIEFTIEEsCisoU0VMRUNUICcwMycgQVMgYSwgJzA2JyBBUyBiLCAzNDMg QVMgYywgJ2xhc3QnIEFTIGQpIEFTIEIKK1NFVCBBLmUgPSBCLmQgIAorV0hFUkUgQS5hID0gJzAz JyAgCitBTkQgQS5iID0gJzA2JyAKK0FORCBBLmMgPSAzNDM7CitEUk9QIFRBQkxFIHQxOworIwog IyBCdWcjNTc3Nzg6IGZhaWxlZCBwcmltYXJ5IGtleSBhZGQgdG8gcGFydGl0aW9uZWQgaW5ub2Ri IHRhYmxlCiAjICAgICAgICAgICAgaW5jb25zaXN0ZW50IGFuZCBjcmFzaGVzCiAjCgo9PT0gbW9k aWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL3NwLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3Nw LnJlc3VsdAkyMDEwLTA3LTMwIDE1OjI4OjM2ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9zcC5y ZXN1bHQJMjAxMS0wMy0xMCAwODowNzo1NyArMDAwMApAQCAtNzQ1Miw0ICs3NDUyLDM0IEBAIGMx CiAjIENsZWFudXAKIGRyb3AgdGFibGUgdDE7CiBkcm9wIHByb2NlZHVyZSBwMTsKKworIyAtLQor IyAtLSBCdWcgMTE3NjU2ODQgLSA1ODY3NDogU1AtY2FjaGUgZG9lcyBub3QgZGV0ZWN0IGNoYW5n ZXMgaW4KKyMgLS0gcHJlLWxvY2tpbmcgbGlzdCBjYXVzZWQgYnkgdHJpZ2dlcnMKKyMgLS0tIAor RFJPUCBUQUJMRSBJRiBFWElTVFMgdDE7CitEUk9QIFRBQkxFIElGIEVYSVNUUyB0MjsKK0RST1Ag VEFCTEUgSUYgRVhJU1RTIHQzOworRFJPUCBQUk9DRURVUkUgSUYgRVhJU1RTIHAxOworQ1JFQVRF IFRBQkxFIHQxKGEgSU5UKTsKK0NSRUFURSBUQUJMRSB0MihhIElOVCk7CitDUkVBVEUgVEFCTEUg dDMoYSBJTlQpOworQ1JFQVRFIFBST0NFRFVSRSBwMSgpCitJTlNFUlQgSU5UTyB0MShhKSBWQUxV RVMgKDEpOworCitDUkVBVEUgVFJJR0dFUiB0MV9haSBBRlRFUiBJTlNFUlQgT04gdDEKK0ZPUiBF QUNIIFJPVworSU5TRVJUIElOVE8gdDIoYSkgVkFMVUVTIChuZXcuYSk7CisKK0NBTEwgcDEoKTsK KworQ1JFQVRFIFRSSUdHRVIgdDFfYmkgQkVGT1JFIElOU0VSVCBPTiB0MQorRk9SIEVBQ0ggUk9X CitJTlNFUlQgSU5UTyB0MyhhKSBWQUxVRVMgKG5ldy5hKTsKKworQ0FMTCBwMSgpOworCitEUk9Q IFRBQkxFIHQxLCB0MiwgdDM7CitEUk9QIFBST0NFRFVSRSBwMTsKKwogIyBFbmQgb2YgNS41IHRl c3QKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvdHJpZ2dlci5yZXN1bHQnCi0tLSBh L215c3FsLXRlc3Qvci90cmlnZ2VyLnJlc3VsdAkyMDEwLTEwLTI2IDExOjQ4OjA4ICswMDAwCisr KyBiL215c3FsLXRlc3Qvci90cmlnZ2VyLnJlc3VsdAkyMDExLTAzLTEwIDA4OjA3OjU3ICswMDAw CkBAIC04MjEsNyArODIxLDYgQEAgZHJvcCB0cmlnZ2VyIHQxX2JpOwogY3JlYXRlIHRyaWdnZXIg dDFfYmkgYWZ0ZXIgaW5zZXJ0IG9uIHQxIGZvciBlYWNoIHJvdyBpbnNlcnQgaW50byB0MyB2YWx1 ZXMgKG5ldy5pZCk7CiBleGVjdXRlIHN0bXQxOwogY2FsbCBwMSgpOwotRVJST1IgNDJTMDI6IFRh YmxlICd0ZXN0LnQzJyBkb2Vzbid0IGV4aXN0CiBkZWFsbG9jYXRlIHByZXBhcmUgc3RtdDE7CiBk cm9wIHByb2NlZHVyZSBwMTsKIGRyb3AgdGFibGUgdDEsIHQyLCB0MzsKCj09PSBtb2RpZmllZCBm aWxlICdteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pbm5vZGJfc3RvcmVkcHJvY18wNi5yZXN1 bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lubm9kYl9zdG9yZWRwcm9jXzA2 LnJlc3VsdAkyMDEwLTEwLTA3IDE2OjAxOjE3ICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUv ZnVuY3NfMS9yL2lubm9kYl9zdG9yZWRwcm9jXzA2LnJlc3VsdAkyMDExLTAzLTA5IDE0OjA0OjUw ICswMDAwCkBAIC0xMjgsOCArMTI4LDYgQEAgcm9vdEBsb2NhbGhvc3QJZGJfc3RvcmVkcHJvY18x CiBkcm9wIHVzZXIgJ3VzZXJfMSdAJ2xvY2FsaG9zdCc7CiBEUk9QIFBST0NFRFVSRSBzcDM7CiBE Uk9QIEZVTkNUSU9OIGZuMTsKLVdhcm5pbmdzOgotV2FybmluZwkxNDAzCVRoZXJlIGlzIG5vIHN1 Y2ggZ3JhbnQgZGVmaW5lZCBmb3IgdXNlciAndXNlcl8xJyBvbiBob3N0ICdsb2NhbGhvc3QnIG9u IHJvdXRpbmUgJ2ZuMScKIAogVGVzdGNhc2UgMy4xLjYuNDoKIC0tLS0tLS0tLS0tLS0tLS0tCgo9 PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbWVtb3J5X3N0b3Jl ZHByb2NfMDYucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9tZW1vcnlf c3RvcmVkcHJvY18wNi5yZXN1bHQJMjAxMC0xMC0wNyAxNjowMToxNyArMDAwMAorKysgYi9teXNx bC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9tZW1vcnlfc3RvcmVkcHJvY18wNi5yZXN1bHQJMjAxMS0w My0wOSAxNDowNDo1MCArMDAwMApAQCAtMTI5LDggKzEyOSw2IEBAIHJvb3RAbG9jYWxob3N0CWRi X3N0b3JlZHByb2NfMQogZHJvcCB1c2VyICd1c2VyXzEnQCdsb2NhbGhvc3QnOwogRFJPUCBQUk9D RURVUkUgc3AzOwogRFJPUCBGVU5DVElPTiBmbjE7Ci1XYXJuaW5nczoKLVdhcm5pbmcJMTQwMwlU aGVyZSBpcyBubyBzdWNoIGdyYW50IGRlZmluZWQgZm9yIHVzZXIgJ3VzZXJfMScgb24gaG9zdCAn bG9jYWxob3N0JyBvbiByb3V0aW5lICdmbjEnCiAKIFRlc3RjYXNlIDMuMS42LjQ6CiAtLS0tLS0t LS0tLS0tLS0tLQoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9y L215aXNhbV9zdG9yZWRwcm9jXzA2LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9mdW5j c18xL3IvbXlpc2FtX3N0b3JlZHByb2NfMDYucmVzdWx0CTIwMTAtMTAtMDcgMTY6MDE6MTcgKzAw MDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbXlpc2FtX3N0b3JlZHByb2NfMDYu cmVzdWx0CTIwMTEtMDMtMDkgMTQ6MDQ6NTAgKzAwMDAKQEAgLTEyOSw4ICsxMjksNiBAQCByb290 QGxvY2FsaG9zdAlkYl9zdG9yZWRwcm9jXzEKIGRyb3AgdXNlciAndXNlcl8xJ0AnbG9jYWxob3N0 JzsKIERST1AgUFJPQ0VEVVJFIHNwMzsKIERST1AgRlVOQ1RJT04gZm4xOwotV2FybmluZ3M6Ci1X YXJuaW5nCTE0MDMJVGhlcmUgaXMgbm8gc3VjaCBncmFudCBkZWZpbmVkIGZvciB1c2VyICd1c2Vy XzEnIG9uIGhvc3QgJ2xvY2FsaG9zdCcgb24gcm91dGluZSAnZm4xJwogCiBUZXN0Y2FzZSAzLjEu Ni40OgogLS0tLS0tLS0tLS0tLS0tLS0KCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1 aXRlL2Z1bmNzXzEvc3RvcmVkcHJvYy9zdG9yZWRwcm9jXzA2LmluYycKLS0tIGEvbXlzcWwtdGVz dC9zdWl0ZS9mdW5jc18xL3N0b3JlZHByb2Mvc3RvcmVkcHJvY18wNi5pbmMJMjAxMC0xMC0wNyAx NjowMToxNyArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvc3RvcmVkcHJvYy9z dG9yZWRwcm9jXzA2LmluYwkyMDExLTAzLTA5IDE0OjA0OjUwICswMDAwCkBAIC0xNDksMTAgKzE0 OSw2IEBAIFVTRSBkYl9zdG9yZWRwcm9jXzE7CiAKIGRyb3AgdXNlciAndXNlcl8xJ0AnbG9jYWxo b3N0JzsKIERST1AgUFJPQ0VEVVJFIHNwMzsKLSMgVGhpcyBkcm9wIGZ1bmN0aW9uIHNob3VsZG4n dCBnZW5lcmF0ZWQgYSB3YXJuaW5nIGFzIHRoZQotIyBwcml2aWxlZ2VzIHNob3VsZCBoYXZlIGJl ZW4gcmVtb3ZlZCB3aGVuIHRoZSB1c2VyIHdhcwotIyBkcm9wcGVkLiBSZXBvcnRlZCBhcyBCdWcj MzY1NDQgRFJPUCBVU0VSIGRvZXMgbm90IHJlbW92ZQotIyBzdG9yZWQgZnVuY3Rpb24gcHJpdmls ZWdlcwogRFJPUCBGVU5DVElPTiBmbjE7CiAKIAoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qv c3VpdGUvcGVyZnNjaGVtYS9yL3JlbGF5bG9nLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0 ZS9wZXJmc2NoZW1hL3IvcmVsYXlsb2cucmVzdWx0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAK KysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9wZXJmc2NoZW1hL3IvcmVsYXlsb2cucmVzdWx0CTIwMTEt MDMtMTAgMTI6MDI6MjggKzAwMDAKQEAgLTAsMCArMSwxNjEgQEAKK2luY2x1ZGUvbWFzdGVyLXNs YXZlLmluYworW2Nvbm5lY3Rpb24gbWFzdGVyXQorZHJvcCB0YWJsZSBpZiBleGlzdHMgdGVzdC50 MTsKK3Jlc2V0IG1hc3RlcjsKK2NyZWF0ZSB0YWJsZSB0ZXN0LnQxKGEgaW50KTsKK2Ryb3AgdGFi bGUgdGVzdC50MTsKK3Nob3cgYmlubG9nIGV2ZW50cyBmcm9tIDxiaW5sb2dfc3RhcnQ+OworTG9n X25hbWUJUG9zCUV2ZW50X3R5cGUJU2VydmVyX2lkCUVuZF9sb2dfcG9zCUluZm8KK3NsYXZlLWJp bi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgY3JlYXRlIHRhYmxlIHRlc3QudDEoYSBp bnQpCitzbGF2ZS1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IERST1AgVEFCTEUg YHQxYCAvKiBnZW5lcmF0ZWQgYnkgc2VydmVyICovCisiPT09PT09PT09PT09IFBlcmZvcm1hbmNl IHNjaGVtYSBvbiBtYXN0ZXIgPT09PT09PT09PT09Igorc2VsZWN0CitzdWJzdHJpbmcoZmlsZV9u YW1lLCBsb2NhdGUoIm1hc3Rlci0iLCBmaWxlX25hbWUpKSBhcyBGSUxFX05BTUUsCitFVkVOVF9O QU1FLAoraWYgKGNvdW50X3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfUkVBRCwK K2lmIChjb3VudF93cml0ZSA+IDAsIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1dSSVRFLAoraWYg KHN1bV9udW1iZXJfb2ZfYnl0ZXNfcmVhZCA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVN QkVSX09GX0JZVEVTX1JFQUQsCitpZiAoc3VtX251bWJlcl9vZl9ieXRlc193cml0ZSA+IDAsICJN QU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRFCitmcm9tIHBlcmZvcm1h bmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfaW5zdGFuY2UKK3doZXJlIGZpbGVfbmFtZSBsaWtl ICIlbWFzdGVyLSUiIG9yZGVyIGJ5IGZpbGVfbmFtZTsKK0ZJTEVfTkFNRQlFVkVOVF9OQU1FCUNP VU5UX1JFQUQJQ09VTlRfV1JJVEUJU1VNX05VTUJFUl9PRl9CWVRFU19SRUFECVNVTV9OVU1CRVJf T0ZfQllURVNfV1JJVEUKK21hc3Rlci1iaW4uMDAwMDAxCXdhaXQvaW8vZmlsZS9zcWwvYmlubG9n CU1BTlkJTUFOWQlNQU5ZCU1BTlkKK21hc3Rlci1iaW4uaW5kZXgJd2FpdC9pby9maWxlL3NxbC9i aW5sb2dfaW5kZXgJTk9ORQlNQU5ZCU5PTkUJTUFOWQorc2VsZWN0ICogZnJvbSBwZXJmb3JtYW5j ZV9zY2hlbWEuZmlsZV9zdW1tYXJ5X2J5X2luc3RhbmNlCit3aGVyZSBmaWxlX25hbWUgbGlrZSAi JXNsYXZlLSUiIG9yZGVyIGJ5IGZpbGVfbmFtZTsKK0ZJTEVfTkFNRQlFVkVOVF9OQU1FCUNPVU5U X1JFQUQJQ09VTlRfV1JJVEUJU1VNX05VTUJFUl9PRl9CWVRFU19SRUFECVNVTV9OVU1CRVJfT0Zf QllURVNfV1JJVEUKKyJFeHBlY3QgYSBtYXN0ZXIgYmlubG9nICsgYmlubG9nX2luZGV4Igorc2Vs ZWN0CitzdWJzdHJpbmcoZmlsZV9uYW1lLCBsb2NhdGUoIm1hc3Rlci0iLCBmaWxlX25hbWUpKSBh cyBGSUxFX05BTUUsCitFVkVOVF9OQU1FLAoraWYgKGNvdW50X3JlYWQgPiAwLCAiTUFOWSIsICJO T05FIikgYXMgQ09VTlRfUkVBRCwKK2lmIChjb3VudF93cml0ZSA+IDAsIk1BTlkiLCAiTk9ORSIp IGFzIENPVU5UX1dSSVRFLAoraWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfcmVhZCA+IDAsICJNQU5Z IiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1JFQUQsCitpZiAoc3VtX251bWJlcl9v Zl9ieXRlc193cml0ZSA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVT X1dSSVRFCitmcm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfaW5zdGFuY2UK K3doZXJlIGV2ZW50X25hbWUgbGlrZSAiJWJpbmxvZyUiIG9yZGVyIGJ5IGZpbGVfbmFtZTsKK0ZJ TEVfTkFNRQlFVkVOVF9OQU1FCUNPVU5UX1JFQUQJQ09VTlRfV1JJVEUJU1VNX05VTUJFUl9PRl9C WVRFU19SRUFECVNVTV9OVU1CRVJfT0ZfQllURVNfV1JJVEUKK21hc3Rlci1iaW4uMDAwMDAxCXdh aXQvaW8vZmlsZS9zcWwvYmlubG9nCU1BTlkJTUFOWQlNQU5ZCU1BTlkKK21hc3Rlci1iaW4uaW5k ZXgJd2FpdC9pby9maWxlL3NxbC9iaW5sb2dfaW5kZXgJTk9ORQlNQU5ZCU5PTkUJTUFOWQorc2Vs ZWN0CitFVkVOVF9OQU1FLAoraWYgKGNvdW50X3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMg Q09VTlRfUkVBRCwKK2lmIChjb3VudF93cml0ZSA+IDAsIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5U X1dSSVRFLAoraWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfcmVhZCA+IDAsICJNQU5ZIiwgIk5PTkUi KSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1JFQUQsCitpZiAoc3VtX251bWJlcl9vZl9ieXRlc193 cml0ZSA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRFCitm cm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfZXZlbnRfbmFtZQord2hlcmUg ZXZlbnRfbmFtZSBsaWtlICIlYmlubG9nJSIgb3JkZXIgYnkgZXZlbnRfbmFtZTsKK0VWRU5UX05B TUUJQ09VTlRfUkVBRAlDT1VOVF9XUklURQlTVU1fTlVNQkVSX09GX0JZVEVTX1JFQUQJU1VNX05V TUJFUl9PRl9CWVRFU19XUklURQord2FpdC9pby9maWxlL3NxbC9iaW5sb2cJTUFOWQlNQU5ZCU1B TlkJTUFOWQord2FpdC9pby9maWxlL3NxbC9iaW5sb2dfaW5kZXgJTk9ORQlNQU5ZCU5PTkUJTUFO WQorc2VsZWN0CitFVkVOVF9OQU1FLAoraWYgKGNvdW50X3N0YXIgPiAwLCAiTUFOWSIsICJOT05F IikgYXMgQ09VTlRfU1RBUgorZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEuZXZlbnRzX3dhaXRzX3N1 bW1hcnlfZ2xvYmFsX2J5X2V2ZW50X25hbWUKK3doZXJlIGV2ZW50X25hbWUgbGlrZSAiJU1ZU1FM X0JJTl9MT0clIiBvcmRlciBieSBldmVudF9uYW1lOworRVZFTlRfTkFNRQlDT1VOVF9TVEFSCit3 YWl0L3N5bmNoL2NvbmQvc3FsL01ZU1FMX0JJTl9MT0c6OkNPTkRfcHJlcF94aWRzCU5PTkUKK3dh aXQvc3luY2gvY29uZC9zcWwvTVlTUUxfQklOX0xPRzo6dXBkYXRlX2NvbmQJTUFOWQord2FpdC9z eW5jaC9tdXRleC9zcWwvTVlTUUxfQklOX0xPRzo6TE9DS19pbmRleAlNQU5ZCit3YWl0L3N5bmNo L211dGV4L3NxbC9NWVNRTF9CSU5fTE9HOjpMT0NLX3ByZXBfeGlkcwlOT05FCisiRXhwZWN0IG5v IHNsYXZlIHJlbGF5IGxvZyIKK3NlbGVjdCAqIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmZpbGVf c3VtbWFyeV9ieV9pbnN0YW5jZQord2hlcmUgZXZlbnRfbmFtZSBsaWtlICIlcmVsYXlsb2clIiBv cmRlciBieSBmaWxlX25hbWU7CitGSUxFX05BTUUJRVZFTlRfTkFNRQlDT1VOVF9SRUFECUNPVU5U X1dSSVRFCVNVTV9OVU1CRVJfT0ZfQllURVNfUkVBRAlTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRF CitzZWxlY3QgKiBmcm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfZXZlbnRf bmFtZQord2hlcmUgZXZlbnRfbmFtZSBsaWtlICIlcmVsYXlsb2clIiBvcmRlciBieSBldmVudF9u YW1lOworRVZFTlRfTkFNRQlDT1VOVF9SRUFECUNPVU5UX1dSSVRFCVNVTV9OVU1CRVJfT0ZfQllU RVNfUkVBRAlTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRFCit3YWl0L2lvL2ZpbGUvc3FsL3JlbGF5 bG9nCTAJMAkwCTAKK3dhaXQvaW8vZmlsZS9zcWwvcmVsYXlsb2dfaW5kZXgJMAkwCTAJMAorc2Vs ZWN0ICogZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEuZXZlbnRzX3dhaXRzX3N1bW1hcnlfZ2xvYmFs X2J5X2V2ZW50X25hbWUKK3doZXJlIGV2ZW50X25hbWUgbGlrZSAiJU1ZU1FMX1JFTEFZX0xPRyUi IG9yZGVyIGJ5IGV2ZW50X25hbWU7CitFVkVOVF9OQU1FCUNPVU5UX1NUQVIJU1VNX1RJTUVSX1dB SVQJTUlOX1RJTUVSX1dBSVQJQVZHX1RJTUVSX1dBSVQJTUFYX1RJTUVSX1dBSVQKK3dhaXQvc3lu Y2gvY29uZC9zcWwvTVlTUUxfUkVMQVlfTE9HOjp1cGRhdGVfY29uZAkwCTAJMAkwCTAKK3dhaXQv c3luY2gvbXV0ZXgvc3FsL01ZU1FMX1JFTEFZX0xPRzo6TE9DS19pbmRleAkwCTAJMAkwCTAKKyI9 PT09PT09PT09PT0gUGVyZm9ybWFuY2Ugc2NoZW1hIG9uIHNsYXZlID09PT09PT09PT09PSIKK3Nl bGVjdCAqIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmZpbGVfc3VtbWFyeV9ieV9pbnN0YW5jZQor d2hlcmUgZmlsZV9uYW1lIGxpa2UgIiVtYXN0ZXItJSIgb3JkZXIgYnkgZmlsZV9uYW1lOworRklM RV9OQU1FCUVWRU5UX05BTUUJQ09VTlRfUkVBRAlDT1VOVF9XUklURQlTVU1fTlVNQkVSX09GX0JZ VEVTX1JFQUQJU1VNX05VTUJFUl9PRl9CWVRFU19XUklURQorc2VsZWN0CitzdWJzdHJpbmcoZmls ZV9uYW1lLCBsb2NhdGUoInNsYXZlLSIsIGZpbGVfbmFtZSkpIGFzIEZJTEVfTkFNRSwKK0VWRU5U X05BTUUsCitpZiAoY291bnRfcmVhZCA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBDT1VOVF9SRUFE LAoraWYgKGNvdW50X3dyaXRlID4gMCwiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfV1JJVEUsCitp ZiAoc3VtX251bWJlcl9vZl9ieXRlc19yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIFNVTV9O VU1CRVJfT0ZfQllURVNfUkVBRCwKK2lmIChzdW1fbnVtYmVyX29mX2J5dGVzX3dyaXRlID4gMCwg Ik1BTlkiLCAiTk9ORSIpIGFzIFNVTV9OVU1CRVJfT0ZfQllURVNfV1JJVEUKK2Zyb20gcGVyZm9y bWFuY2Vfc2NoZW1hLmZpbGVfc3VtbWFyeV9ieV9pbnN0YW5jZQord2hlcmUgZmlsZV9uYW1lIGxp a2UgIiVzbGF2ZS0lIiBvcmRlciBieSBmaWxlX25hbWU7CitGSUxFX05BTUUJRVZFTlRfTkFNRQlD T1VOVF9SRUFECUNPVU5UX1dSSVRFCVNVTV9OVU1CRVJfT0ZfQllURVNfUkVBRAlTVU1fTlVNQkVS X09GX0JZVEVTX1dSSVRFCitzbGF2ZS1iaW4uMDAwMDAxCXdhaXQvaW8vZmlsZS9zcWwvYmlubG9n CU1BTlkJTUFOWQlNQU5ZCU1BTlkKK3NsYXZlLWJpbi5pbmRleAl3YWl0L2lvL2ZpbGUvc3FsL2Jp bmxvZ19pbmRleAlOT05FCU1BTlkJTk9ORQlNQU5ZCitzbGF2ZS1yZWxheS1iaW4uMDAwMDAxCXdh aXQvaW8vZmlsZS9zcWwvcmVsYXlsb2cJTUFOWQlNQU5ZCU1BTlkJTUFOWQorc2xhdmUtcmVsYXkt YmluLjAwMDAwMgl3YWl0L2lvL2ZpbGUvc3FsL3JlbGF5bG9nCU1BTlkJTUFOWQlNQU5ZCU1BTlkK K3NsYXZlLXJlbGF5LWJpbi5pbmRleAl3YWl0L2lvL2ZpbGUvc3FsL3JlbGF5bG9nX2luZGV4CU1B TlkJTUFOWQlNQU5ZCU1BTlkKKyJFeHBlY3QgYSBzbGF2ZSBiaW5sb2cgKyBiaW5sb2dfaW5kZXgi CitzZWxlY3QKK3N1YnN0cmluZyhmaWxlX25hbWUsIGxvY2F0ZSgic2xhdmUtIiwgZmlsZV9uYW1l KSkgYXMgRklMRV9OQU1FLAorRVZFTlRfTkFNRSwKK2lmIChjb3VudF9yZWFkID4gMCwgIk1BTlki LCAiTk9ORSIpIGFzIENPVU5UX1JFQUQsCitpZiAoY291bnRfd3JpdGUgPiAwLCJNQU5ZIiwgIk5P TkUiKSBhcyBDT1VOVF9XUklURSwKK2lmIChzdW1fbnVtYmVyX29mX2J5dGVzX3JlYWQgPiAwLCAi TUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19SRUFELAoraWYgKHN1bV9udW1i ZXJfb2ZfYnl0ZXNfd3JpdGUgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9C WVRFU19XUklURQorZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEuZmlsZV9zdW1tYXJ5X2J5X2luc3Rh bmNlCit3aGVyZSBldmVudF9uYW1lIGxpa2UgIiViaW5sb2clIiBvcmRlciBieSBmaWxlX25hbWU7 CitGSUxFX05BTUUJRVZFTlRfTkFNRQlDT1VOVF9SRUFECUNPVU5UX1dSSVRFCVNVTV9OVU1CRVJf T0ZfQllURVNfUkVBRAlTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRFCitzbGF2ZS1iaW4uMDAwMDAx CXdhaXQvaW8vZmlsZS9zcWwvYmlubG9nCU1BTlkJTUFOWQlNQU5ZCU1BTlkKK3NsYXZlLWJpbi5p bmRleAl3YWl0L2lvL2ZpbGUvc3FsL2JpbmxvZ19pbmRleAlOT05FCU1BTlkJTk9ORQlNQU5ZCitz ZWxlY3QKK0VWRU5UX05BTUUsCitpZiAoY291bnRfcmVhZCA+IDAsICJNQU5ZIiwgIk5PTkUiKSBh cyBDT1VOVF9SRUFELAoraWYgKGNvdW50X3dyaXRlID4gMCwiTUFOWSIsICJOT05FIikgYXMgQ09V TlRfV1JJVEUsCitpZiAoc3VtX251bWJlcl9vZl9ieXRlc19yZWFkID4gMCwgIk1BTlkiLCAiTk9O RSIpIGFzIFNVTV9OVU1CRVJfT0ZfQllURVNfUkVBRCwKK2lmIChzdW1fbnVtYmVyX29mX2J5dGVz X3dyaXRlID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIFNVTV9OVU1CRVJfT0ZfQllURVNfV1JJVEUK K2Zyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmZpbGVfc3VtbWFyeV9ieV9ldmVudF9uYW1lCit3aGVy ZSBldmVudF9uYW1lIGxpa2UgIiViaW5sb2clIiBvcmRlciBieSBldmVudF9uYW1lOworRVZFTlRf TkFNRQlDT1VOVF9SRUFECUNPVU5UX1dSSVRFCVNVTV9OVU1CRVJfT0ZfQllURVNfUkVBRAlTVU1f TlVNQkVSX09GX0JZVEVTX1dSSVRFCit3YWl0L2lvL2ZpbGUvc3FsL2JpbmxvZwlNQU5ZCU1BTlkJ TUFOWQlNQU5ZCit3YWl0L2lvL2ZpbGUvc3FsL2JpbmxvZ19pbmRleAlOT05FCU1BTlkJTk9ORQlN QU5ZCitzZWxlY3QKK0VWRU5UX05BTUUsCitpZiAoY291bnRfc3RhciA+IDAsICJNQU5ZIiwgIk5P TkUiKSBhcyBDT1VOVF9TVEFSCitmcm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5ldmVudHNfd2FpdHNf c3VtbWFyeV9nbG9iYWxfYnlfZXZlbnRfbmFtZQord2hlcmUgZXZlbnRfbmFtZSBsaWtlICIlTVlT UUxfQklOX0xPRyUiIG9yZGVyIGJ5IGV2ZW50X25hbWU7CitFVkVOVF9OQU1FCUNPVU5UX1NUQVIK K3dhaXQvc3luY2gvY29uZC9zcWwvTVlTUUxfQklOX0xPRzo6Q09ORF9wcmVwX3hpZHMJTk9ORQor d2FpdC9zeW5jaC9jb25kL3NxbC9NWVNRTF9CSU5fTE9HOjp1cGRhdGVfY29uZAlOT05FCit3YWl0 L3N5bmNoL211dGV4L3NxbC9NWVNRTF9CSU5fTE9HOjpMT0NLX2luZGV4CU1BTlkKK3dhaXQvc3lu Y2gvbXV0ZXgvc3FsL01ZU1FMX0JJTl9MT0c6OkxPQ0tfcHJlcF94aWRzCU5PTkUKKyJFeHBlY3Qg YSBzbGF2ZSByZWxheSBsb2ciCitzZWxlY3QKK3N1YnN0cmluZyhmaWxlX25hbWUsIGxvY2F0ZSgi c2xhdmUtIiwgZmlsZV9uYW1lKSkgYXMgRklMRV9OQU1FLAorRVZFTlRfTkFNRSwKK2lmIChjb3Vu dF9yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1JFQUQsCitpZiAoY291bnRfd3Jp dGUgPiAwLCJNQU5ZIiwgIk5PTkUiKSBhcyBDT1VOVF9XUklURSwKK2lmIChzdW1fbnVtYmVyX29m X2J5dGVzX3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19S RUFELAoraWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfd3JpdGUgPiAwLCAiTUFOWSIsICJOT05FIikg YXMgU1VNX05VTUJFUl9PRl9CWVRFU19XUklURQorZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEuZmls ZV9zdW1tYXJ5X2J5X2luc3RhbmNlCit3aGVyZSBldmVudF9uYW1lIGxpa2UgIiVyZWxheWxvZyUi IG9yZGVyIGJ5IGZpbGVfbmFtZTsKK0ZJTEVfTkFNRQlFVkVOVF9OQU1FCUNPVU5UX1JFQUQJQ09V TlRfV1JJVEUJU1VNX05VTUJFUl9PRl9CWVRFU19SRUFECVNVTV9OVU1CRVJfT0ZfQllURVNfV1JJ VEUKK3NsYXZlLXJlbGF5LWJpbi4wMDAwMDEJd2FpdC9pby9maWxlL3NxbC9yZWxheWxvZwlNQU5Z CU1BTlkJTUFOWQlNQU5ZCitzbGF2ZS1yZWxheS1iaW4uMDAwMDAyCXdhaXQvaW8vZmlsZS9zcWwv cmVsYXlsb2cJTUFOWQlNQU5ZCU1BTlkJTUFOWQorc2xhdmUtcmVsYXktYmluLmluZGV4CXdhaXQv aW8vZmlsZS9zcWwvcmVsYXlsb2dfaW5kZXgJTUFOWQlNQU5ZCU1BTlkJTUFOWQorc2VsZWN0CitF VkVOVF9OQU1FLAoraWYgKGNvdW50X3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgQ09VTlRf UkVBRCwKK2lmIChjb3VudF93cml0ZSA+IDAsIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1dSSVRF LAoraWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfcmVhZCA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBT VU1fTlVNQkVSX09GX0JZVEVTX1JFQUQsCitpZiAoc3VtX251bWJlcl9vZl9ieXRlc193cml0ZSA+ IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRFCitmcm9tIHBl cmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfZXZlbnRfbmFtZQord2hlcmUgZXZlbnRf bmFtZSBsaWtlICIlcmVsYXlsb2clIiBvcmRlciBieSBldmVudF9uYW1lOworRVZFTlRfTkFNRQlD T1VOVF9SRUFECUNPVU5UX1dSSVRFCVNVTV9OVU1CRVJfT0ZfQllURVNfUkVBRAlTVU1fTlVNQkVS X09GX0JZVEVTX1dSSVRFCit3YWl0L2lvL2ZpbGUvc3FsL3JlbGF5bG9nCU1BTlkJTUFOWQlNQU5Z CU1BTlkKK3dhaXQvaW8vZmlsZS9zcWwvcmVsYXlsb2dfaW5kZXgJTUFOWQlNQU5ZCU1BTlkJTUFO WQorc2VsZWN0CitFVkVOVF9OQU1FLAoraWYgKGNvdW50X3N0YXIgPiAwLCAiTUFOWSIsICJOT05F IikgYXMgQ09VTlRfU1RBUgorZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEuZXZlbnRzX3dhaXRzX3N1 bW1hcnlfZ2xvYmFsX2J5X2V2ZW50X25hbWUKK3doZXJlIGV2ZW50X25hbWUgbGlrZSAiJU1ZU1FM X1JFTEFZX0xPRyUiIG9yZGVyIGJ5IGV2ZW50X25hbWU7CitFVkVOVF9OQU1FCUNPVU5UX1NUQVIK K3dhaXQvc3luY2gvY29uZC9zcWwvTVlTUUxfUkVMQVlfTE9HOjp1cGRhdGVfY29uZAlNQU5ZCit3 YWl0L3N5bmNoL211dGV4L3NxbC9NWVNRTF9SRUxBWV9MT0c6OkxPQ0tfaW5kZXgJTUFOWQoraW5j bHVkZS9zdG9wX3NsYXZlLmluYwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcGVy ZnNjaGVtYS90L3JlbGF5bG9nLnRlc3QnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVt YS90L3JlbGF5bG9nLnRlc3QJMTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysgYi9teXNxbC10 ZXN0L3N1aXRlL3BlcmZzY2hlbWEvdC9yZWxheWxvZy50ZXN0CTIwMTEtMDMtMTAgMTI6MDI6Mjgg KzAwMDAKQEAgLTAsMCArMSwxNTkgQEAKKyMgQ29weXJpZ2h0IChjKSAyMDExLCBPcmFjbGUgYW5k L29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9u IDIgb2YgdGhlIExpY2Vuc2UuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisj IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sCisjIDUxIEZyYW5rbGluIFN0cmVldCwgU3VpdGUgNTAwLCBCb3N0b24s IE1BIDAyMTEwLTEzMzUgVVNBCisKKyMgVGVzdHMgZm9yIFBFUkZPUk1BTkNFX1NDSEVNQQorCist LXNvdXJjZSBpbmNsdWRlL2hhdmVfbG9nX2Jpbi5pbmMKKy0tc291cmNlIGluY2x1ZGUvbm90X2Vt YmVkZGVkLmluYworLS1zb3VyY2UgaW5jbHVkZS9oYXZlX3BlcmZzY2hlbWEuaW5jCistLXNvdXJj ZSBpbmNsdWRlL21hc3Rlci1zbGF2ZS5pbmMKKworLS1kaXNhYmxlX3dhcm5pbmdzCitkcm9wIHRh YmxlIGlmIGV4aXN0cyB0ZXN0LnQxOworLS1zeW5jX3NsYXZlX3dpdGhfbWFzdGVyCityZXNldCBt YXN0ZXI7CistLWVuYWJsZV93YXJuaW5ncworCitjcmVhdGUgdGFibGUgdGVzdC50MShhIGludCk7 Citkcm9wIHRhYmxlIHRlc3QudDE7CisKKy0tc291cmNlIGluY2x1ZGUvc2hvd19iaW5sb2dfZXZl bnRzLmluYworCitjb25uZWN0aW9uIG1hc3RlcjsKKy0tIGVjaG8gIj09PT09PT09PT09PSBQZXJm b3JtYW5jZSBzY2hlbWEgb24gbWFzdGVyID09PT09PT09PT09PSIKKworc2VsZWN0CisgIHN1YnN0 cmluZyhmaWxlX25hbWUsIGxvY2F0ZSgibWFzdGVyLSIsIGZpbGVfbmFtZSkpIGFzIEZJTEVfTkFN RSwKKyAgRVZFTlRfTkFNRSwKKyAgaWYgKGNvdW50X3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikg YXMgQ09VTlRfUkVBRCwKKyAgaWYgKGNvdW50X3dyaXRlID4gMCwiTUFOWSIsICJOT05FIikgYXMg Q09VTlRfV1JJVEUsCisgIGlmIChzdW1fbnVtYmVyX29mX2J5dGVzX3JlYWQgPiAwLCAiTUFOWSIs ICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19SRUFELAorICBpZiAoc3VtX251bWJlcl9v Zl9ieXRlc193cml0ZSA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVT X1dSSVRFCisgIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmZpbGVfc3VtbWFyeV9ieV9pbnN0YW5j ZQorICB3aGVyZSBmaWxlX25hbWUgbGlrZSAiJW1hc3Rlci0lIiBvcmRlciBieSBmaWxlX25hbWU7 CisKK3NlbGVjdCAqIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmZpbGVfc3VtbWFyeV9ieV9pbnN0 YW5jZQorICB3aGVyZSBmaWxlX25hbWUgbGlrZSAiJXNsYXZlLSUiIG9yZGVyIGJ5IGZpbGVfbmFt ZTsKKworLS0gZWNobyAiRXhwZWN0IGEgbWFzdGVyIGJpbmxvZyArIGJpbmxvZ19pbmRleCIKKwor c2VsZWN0CisgIHN1YnN0cmluZyhmaWxlX25hbWUsIGxvY2F0ZSgibWFzdGVyLSIsIGZpbGVfbmFt ZSkpIGFzIEZJTEVfTkFNRSwKKyAgRVZFTlRfTkFNRSwKKyAgaWYgKGNvdW50X3JlYWQgPiAwLCAi TUFOWSIsICJOT05FIikgYXMgQ09VTlRfUkVBRCwKKyAgaWYgKGNvdW50X3dyaXRlID4gMCwiTUFO WSIsICJOT05FIikgYXMgQ09VTlRfV1JJVEUsCisgIGlmIChzdW1fbnVtYmVyX29mX2J5dGVzX3Jl YWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19SRUFELAorICBp ZiAoc3VtX251bWJlcl9vZl9ieXRlc193cml0ZSA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1f TlVNQkVSX09GX0JZVEVTX1dSSVRFCisgIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmZpbGVfc3Vt bWFyeV9ieV9pbnN0YW5jZQorICB3aGVyZSBldmVudF9uYW1lIGxpa2UgIiViaW5sb2clIiBvcmRl ciBieSBmaWxlX25hbWU7CisKK3NlbGVjdAorICBFVkVOVF9OQU1FLAorICBpZiAoY291bnRfcmVh ZCA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBDT1VOVF9SRUFELAorICBpZiAoY291bnRfd3JpdGUg PiAwLCJNQU5ZIiwgIk5PTkUiKSBhcyBDT1VOVF9XUklURSwKKyAgaWYgKHN1bV9udW1iZXJfb2Zf Ynl0ZXNfcmVhZCA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1JF QUQsCisgIGlmIChzdW1fbnVtYmVyX29mX2J5dGVzX3dyaXRlID4gMCwgIk1BTlkiLCAiTk9ORSIp IGFzIFNVTV9OVU1CRVJfT0ZfQllURVNfV1JJVEUKKyAgZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEu ZmlsZV9zdW1tYXJ5X2J5X2V2ZW50X25hbWUKKyAgd2hlcmUgZXZlbnRfbmFtZSBsaWtlICIlYmlu bG9nJSIgb3JkZXIgYnkgZXZlbnRfbmFtZTsKKworc2VsZWN0CisgIEVWRU5UX05BTUUsCisgIGlm IChjb3VudF9zdGFyID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1NUQVIKKyAgZnJvbSBw ZXJmb3JtYW5jZV9zY2hlbWEuZXZlbnRzX3dhaXRzX3N1bW1hcnlfZ2xvYmFsX2J5X2V2ZW50X25h bWUKKyAgd2hlcmUgZXZlbnRfbmFtZSBsaWtlICIlTVlTUUxfQklOX0xPRyUiIG9yZGVyIGJ5IGV2 ZW50X25hbWU7CisKKy0tIGVjaG8gIkV4cGVjdCBubyBzbGF2ZSByZWxheSBsb2ciCisKK3NlbGVj dCAqIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmZpbGVfc3VtbWFyeV9ieV9pbnN0YW5jZQorICB3 aGVyZSBldmVudF9uYW1lIGxpa2UgIiVyZWxheWxvZyUiIG9yZGVyIGJ5IGZpbGVfbmFtZTsKKwor c2VsZWN0ICogZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEuZmlsZV9zdW1tYXJ5X2J5X2V2ZW50X25h bWUKKyAgd2hlcmUgZXZlbnRfbmFtZSBsaWtlICIlcmVsYXlsb2clIiBvcmRlciBieSBldmVudF9u YW1lOworCitzZWxlY3QgKiBmcm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5ldmVudHNfd2FpdHNfc3Vt bWFyeV9nbG9iYWxfYnlfZXZlbnRfbmFtZQorICB3aGVyZSBldmVudF9uYW1lIGxpa2UgIiVNWVNR TF9SRUxBWV9MT0clIiBvcmRlciBieSBldmVudF9uYW1lOworCitzeW5jX3NsYXZlX3dpdGhfbWFz dGVyOworLS0gZWNobyAiPT09PT09PT09PT09IFBlcmZvcm1hbmNlIHNjaGVtYSBvbiBzbGF2ZSA9 PT09PT09PT09PT0iCisKK3NlbGVjdCAqIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmZpbGVfc3Vt bWFyeV9ieV9pbnN0YW5jZQorICB3aGVyZSBmaWxlX25hbWUgbGlrZSAiJW1hc3Rlci0lIiBvcmRl ciBieSBmaWxlX25hbWU7CisKK3NlbGVjdAorICBzdWJzdHJpbmcoZmlsZV9uYW1lLCBsb2NhdGUo InNsYXZlLSIsIGZpbGVfbmFtZSkpIGFzIEZJTEVfTkFNRSwKKyAgRVZFTlRfTkFNRSwKKyAgaWYg KGNvdW50X3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfUkVBRCwKKyAgaWYgKGNv dW50X3dyaXRlID4gMCwiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfV1JJVEUsCisgIGlmIChzdW1f bnVtYmVyX29mX2J5dGVzX3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9P Rl9CWVRFU19SRUFELAorICBpZiAoc3VtX251bWJlcl9vZl9ieXRlc193cml0ZSA+IDAsICJNQU5Z IiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRFCisgIGZyb20gcGVyZm9ybWFu Y2Vfc2NoZW1hLmZpbGVfc3VtbWFyeV9ieV9pbnN0YW5jZQorICB3aGVyZSBmaWxlX25hbWUgbGlr ZSAiJXNsYXZlLSUiIG9yZGVyIGJ5IGZpbGVfbmFtZTsKKworLS0gZWNobyAiRXhwZWN0IGEgc2xh dmUgYmlubG9nICsgYmlubG9nX2luZGV4IgorCitzZWxlY3QKKyAgc3Vic3RyaW5nKGZpbGVfbmFt ZSwgbG9jYXRlKCJzbGF2ZS0iLCBmaWxlX25hbWUpKSBhcyBGSUxFX05BTUUsCisgIEVWRU5UX05B TUUsCisgIGlmIChjb3VudF9yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1JFQUQs CisgIGlmIChjb3VudF93cml0ZSA+IDAsIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1dSSVRFLAor ICBpZiAoc3VtX251bWJlcl9vZl9ieXRlc19yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIFNV TV9OVU1CRVJfT0ZfQllURVNfUkVBRCwKKyAgaWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfd3JpdGUg PiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19XUklURQorICBmcm9t IHBlcmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfaW5zdGFuY2UKKyAgd2hlcmUgZXZl bnRfbmFtZSBsaWtlICIlYmlubG9nJSIgb3JkZXIgYnkgZmlsZV9uYW1lOworCitzZWxlY3QKKyAg RVZFTlRfTkFNRSwKKyAgaWYgKGNvdW50X3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgQ09V TlRfUkVBRCwKKyAgaWYgKGNvdW50X3dyaXRlID4gMCwiTUFOWSIsICJOT05FIikgYXMgQ09VTlRf V1JJVEUsCisgIGlmIChzdW1fbnVtYmVyX29mX2J5dGVzX3JlYWQgPiAwLCAiTUFOWSIsICJOT05F IikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19SRUFELAorICBpZiAoc3VtX251bWJlcl9vZl9ieXRl c193cml0ZSA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRF CisgIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmZpbGVfc3VtbWFyeV9ieV9ldmVudF9uYW1lCisg IHdoZXJlIGV2ZW50X25hbWUgbGlrZSAiJWJpbmxvZyUiIG9yZGVyIGJ5IGV2ZW50X25hbWU7CisK K3NlbGVjdAorICBFVkVOVF9OQU1FLAorICBpZiAoY291bnRfc3RhciA+IDAsICJNQU5ZIiwgIk5P TkUiKSBhcyBDT1VOVF9TVEFSCisgIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmV2ZW50c193YWl0 c19zdW1tYXJ5X2dsb2JhbF9ieV9ldmVudF9uYW1lCisgIHdoZXJlIGV2ZW50X25hbWUgbGlrZSAi JU1ZU1FMX0JJTl9MT0clIiBvcmRlciBieSBldmVudF9uYW1lOworCistLSBlY2hvICJFeHBlY3Qg YSBzbGF2ZSByZWxheSBsb2ciCisKK3NlbGVjdAorICBzdWJzdHJpbmcoZmlsZV9uYW1lLCBsb2Nh dGUoInNsYXZlLSIsIGZpbGVfbmFtZSkpIGFzIEZJTEVfTkFNRSwKKyAgRVZFTlRfTkFNRSwKKyAg aWYgKGNvdW50X3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfUkVBRCwKKyAgaWYg KGNvdW50X3dyaXRlID4gMCwiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfV1JJVEUsCisgIGlmIChz dW1fbnVtYmVyX29mX2J5dGVzX3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJF Ul9PRl9CWVRFU19SRUFELAorICBpZiAoc3VtX251bWJlcl9vZl9ieXRlc193cml0ZSA+IDAsICJN QU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRFCisgIGZyb20gcGVyZm9y bWFuY2Vfc2NoZW1hLmZpbGVfc3VtbWFyeV9ieV9pbnN0YW5jZQorICB3aGVyZSBldmVudF9uYW1l IGxpa2UgIiVyZWxheWxvZyUiIG9yZGVyIGJ5IGZpbGVfbmFtZTsKKworc2VsZWN0CisgIEVWRU5U X05BTUUsCisgIGlmIChjb3VudF9yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1JF QUQsCisgIGlmIChjb3VudF93cml0ZSA+IDAsIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1dSSVRF LAorICBpZiAoc3VtX251bWJlcl9vZl9ieXRlc19yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFz IFNVTV9OVU1CRVJfT0ZfQllURVNfUkVBRCwKKyAgaWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfd3Jp dGUgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19XUklURQorICBm cm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfZXZlbnRfbmFtZQorICB3aGVy ZSBldmVudF9uYW1lIGxpa2UgIiVyZWxheWxvZyUiIG9yZGVyIGJ5IGV2ZW50X25hbWU7CisKK3Nl bGVjdAorICBFVkVOVF9OQU1FLAorICBpZiAoY291bnRfc3RhciA+IDAsICJNQU5ZIiwgIk5PTkUi KSBhcyBDT1VOVF9TVEFSCisgIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmV2ZW50c193YWl0c19z dW1tYXJ5X2dsb2JhbF9ieV9ldmVudF9uYW1lCisgIHdoZXJlIGV2ZW50X25hbWUgbGlrZSAiJU1Z U1FMX1JFTEFZX0xPRyUiIG9yZGVyIGJ5IGV2ZW50X25hbWU7CisKKy0tc291cmNlIGluY2x1ZGUv c3RvcF9zbGF2ZS5pbmMKKwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9kaXNhYmxl ZC5kZWYnCi0tLSBhL215c3FsLXRlc3QvdC9kaXNhYmxlZC5kZWYJMjAxMS0wMy0wOCAxNzozOToy NSArMDAwMAorKysgYi9teXNxbC10ZXN0L3QvZGlzYWJsZWQuZGVmCTIwMTEtMDMtMTEgMDk6MTI6 NTggKzAwMDAKQEAgLTE2LDMgKzE2LDQgQEAgcmVhZF9tYW55X3Jvd3NfaW5ub2RiICAgIDogQnVn IzM3NjM1IDIwMQogc3VtX2Rpc3RpbmN0LWJpZyAgICAgICAgIDogQnVnIzU2OTI3IDIwMTAtMTEt MTUgbWF0dGlhc2ogd2FzIG5vdCB0ZXN0ZWQKIGFsdGVyX3RhYmxlLWJpZyAgICAgICAgICA6IEJ1 ZyMzNzI0OCAyMDEwLTExLTE1IG1hdHRpYXNqIHdhcyBub3QgdGVzdGVkCiBjcmVhdGUtYmlnICAg ICAgICAgICAgICAgOiBCdWcjMzcyNDggMjAxMC0xMS0xNSBtYXR0aWFzaiB3YXMgbm90IHRlc3Rl ZAorYXJjaGl2ZS1iaWcgICAgICAgICAgICAgIDogQnVnIzExODE3MTg1IDIwMTEtMDMtMTAgQW5p dGhhIERpc2FibGVkIHNpbmNlIHRoaXMgbGVhZHMgdG8gdGltZW91dCBvbiBTb2xhcmlzIFNwYXJj Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L2dyYW50LnRlc3QnCi0tLSBhL215c3Fs LXRlc3QvdC9ncmFudC50ZXN0CTIwMTAtMTItMTUgMTY6MTU6NDAgKzAwMDAKKysrIGIvbXlzcWwt dGVzdC90L2dyYW50LnRlc3QJMjAxMS0wMy0wOSAxNDowNDo1MCArMDAwMApAQCAtMTM5Niw2ICsx Mzk2LDE4MyBAQCBEUk9QIFVTRVIgdGVzdHVzZXJAbG9jYWxob3N0OwogdXNlIHRlc3Q7CiAtLWVj aG8KIAorCistLWVjaG8gIworLS1lY2hvICMgVGVzdCBmb3IgYnVnICMzNjU0NCAiRFJPUCBVU0VS IGRvZXMgbm90IHJlbW92ZSBzdG9yZWQgZnVuY3Rpb24KKy0tZWNobyAjICAgICAgICAgICAgICAg ICAgICAgIHByaXZpbGVnZXMiLgorLS1lY2hvICMKK2NyZWF0ZSBkYXRhYmFzZSBteXNxbHRlc3Qx OworY3JlYXRlIGZ1bmN0aW9uIG15c3FsdGVzdDEuZjEoKSByZXR1cm5zIGludCByZXR1cm4gMDsK K2NyZWF0ZSBwcm9jZWR1cmUgbXlzcWx0ZXN0MS5wMSgpIGJlZ2luIGVuZDsKKy0tZWNobyAjCist LWVjaG8gIyAxKSBDaGVjayB0aGF0IERST1AgVVNFUiBwcm9wZXJseSByZW1vdmVzIHByaXZpbGVn ZXMgb24gYm90aAorLS1lY2hvICMgICAgc3RvcmVkIHByb2NlZHVyZXMgYW5kIGZ1bmN0aW9ucy4K Ky0tZWNobyAjCitjcmVhdGUgdXNlciBteXNxbHVzZXIxQGxvY2FsaG9zdDsKK2dyYW50IGV4ZWN1 dGUgb24gZnVuY3Rpb24gbXlzcWx0ZXN0MS5mMSB0byBteXNxbHVzZXIxQGxvY2FsaG9zdDsKK2dy YW50IGV4ZWN1dGUgb24gcHJvY2VkdXJlIG15c3FsdGVzdDEucDEgdG8gbXlzcWx1c2VyMUBsb2Nh bGhvc3Q7CisKKy0tZWNobyAjIFF1aWNrIHRlc3QgdGhhdCBncmFudGVkIHByaXZpbGVnZXMgYXJl IHByb3Blcmx5IHJlZmxlY3RlZAorLS1lY2hvICMgaW4gcHJpdmlsZWdlIHRhYmxlcyBhbmQgaW4g aW4tbWVtb3J5IHN0cnVjdHVyZXMuCitzaG93IGdyYW50cyBmb3IgbXlzcWx1c2VyMUBsb2NhbGhv c3Q7CitzZWxlY3QgZGIsIHJvdXRpbmVfbmFtZSwgcm91dGluZV90eXBlLCBwcm9jX3ByaXYgZnJv bSBteXNxbC5wcm9jc19wcml2IHdoZXJlIHVzZXI9J215c3FsdXNlcjEnIGFuZCBob3N0PSdsb2Nh bGhvc3QnOworLS1lY2hvICMKKy0tZWNobyAjIENyZWF0ZSBjb25uZWN0aW9uICdidWdfMzY1NDRf Y29uMScgYXMgJ215c3FsdXNlcjFAbG9jYWxob3N0Jy4KKy0tY29ubmVjdCAoYnVnMzY1NDRfY29u MSxsb2NhbGhvc3QsbXlzcWx1c2VyMSwsKQorY2FsbCBteXNxbHRlc3QxLnAxKCk7CitzZWxlY3Qg bXlzcWx0ZXN0MS5mMSgpOworCistLWVjaG8gIworLS1lY2hvICMgU3dpdGNoIHRvIGNvbm5lY3Rp b24gJ2RlZmF1bHQnLgorLS1jb25uZWN0aW9uIGRlZmF1bHQKK2Ryb3AgdXNlciBteXNxbHVzZXIx QGxvY2FsaG9zdDsKKworLS1lY2hvICMKKy0tZWNobyAjIFRlc3QgdGhhdCBkcm9wcGluZyBvZiB1 c2VyIGlzIHByb3Blcmx5IHJlZmxlY3RlZCBpbgorLS1lY2hvICMgYm90aCBwcml2aWxlZ2UgdGFi bGVzIGFuZCBpbiBpbi1tZW1vcnkgc3RydWN0dXJlcy4KKy0tZWNobyAjCistLWVjaG8gIyBTd2l0 Y2ggdG8gY29ubmVjdGlvbiAnYnVnMzY1NDRfY29uMScuCistLWNvbm5lY3Rpb24gYnVnMzY1NDRf Y29uMQorLS1lY2hvICMgVGhlIGNvbm5lY3Rpb24gY29sZCBiZSBhbGl2ZSBidXQgc2hvdWxkIG5v dCBiZSBhYmxlIHRvCistLWVjaG8gIyBhY2Nlc3MgdG8gYW55IG9mIHRoZSBzdG9yZWQgcm91dGlu ZXMuCistLWVycm9yIEVSX1BST0NBQ0NFU1NfREVOSUVEX0VSUk9SCitjYWxsIG15c3FsdGVzdDEu cDEoKTsKKy0tZXJyb3IgRVJfUFJPQ0FDQ0VTU19ERU5JRURfRVJST1IKK3NlbGVjdCBteXNxbHRl c3QxLmYxKCk7CistLWRpc2Nvbm5lY3QgYnVnMzY1NDRfY29uMQorCistLWVjaG8gIworLS1lY2hv ICMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gJ2RlZmF1bHQnLgorLS1jb25uZWN0aW9uIGRlZmF1bHQK Ky0tZWNobyAjCistLWVjaG8gIyBOb3cgY3JlYXRlIHVzZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFu ZCBjaGVjayB0aGF0IGhlCistLWVjaG8gIyBoYXMgbm90IGluaGVyaXRlZCBwcml2aWxlZ2VzLgor Y3JlYXRlIHVzZXIgbXlzcWx1c2VyMUBsb2NhbGhvc3Q7CitzaG93IGdyYW50cyBmb3IgbXlzcWx1 c2VyMUBsb2NhbGhvc3Q7CitzZWxlY3QgZGIsIHJvdXRpbmVfbmFtZSwgcm91dGluZV90eXBlLCBw cm9jX3ByaXYgZnJvbSBteXNxbC5wcm9jc19wcml2IHdoZXJlIHVzZXI9J215c3FsdXNlcjEnIGFu ZCBob3N0PSdsb2NhbGhvc3QnOworLS1lY2hvICMKKy0tZWNobyAjIENyZWF0ZSBjb25uZWN0aW9u ICdidWdfMzY1NDRfY29uMicgYXMgJ215c3FsdXNlcjFAbG9jYWxob3N0Jy4KKy0tY29ubmVjdCAo YnVnMzY1NDRfY29uMixsb2NhbGhvc3QsbXlzcWx1c2VyMSwsKQorLS1lY2hvICMgTmV3bHkgY3Jl YXRlZCB1c2VyIHNob3VsZCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IG9mIHRoZSByb3V0aW5l cy4KKy0tZXJyb3IgRVJfUFJPQ0FDQ0VTU19ERU5JRURfRVJST1IKK2NhbGwgbXlzcWx0ZXN0MS5w MSgpOworLS1lcnJvciBFUl9QUk9DQUNDRVNTX0RFTklFRF9FUlJPUgorc2VsZWN0IG15c3FsdGVz dDEuZjEoKTsKKy0tZWNobyAjCistLWVjaG8gIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiAnZGVmYXVs dCcuCistLWNvbm5lY3Rpb24gZGVmYXVsdAorCistLWVjaG8gIworLS1lY2hvICMgMikgQ2hlY2sg dGhhdCBSRU5BTUUgVVNFUiBwcm9wZXJseSB1cGRhdGVzIHByaXZpbGVnZXMgb24gYm90aAorLS1l Y2hvICMgICAgc3RvcmVkIHByb2NlZHVyZXMgYW5kIGZ1bmN0aW9ucy4KKy0tZWNobyAjCitncmFu dCBleGVjdXRlIG9uIGZ1bmN0aW9uIG15c3FsdGVzdDEuZjEgdG8gbXlzcWx1c2VyMUBsb2NhbGhv c3Q7CitncmFudCBleGVjdXRlIG9uIHByb2NlZHVyZSBteXNxbHRlc3QxLnAxIHRvIG15c3FsdXNl cjFAbG9jYWxob3N0OworLS1lY2hvICMKKy0tZWNobyAjIENyZWF0ZSBvbmUgbW9yZSB1c2VyIHRv IG1ha2UgaW4tbWVtb3J5IGhhc2hlcyBub24tdHJpdmlhbC4KKy0tZWNobyAjIFVzZXIgbmFtZXMg J215c3FsdXNlcjExJyBhbmQgJ215c3FsdXNlcjEwJyB3ZXJlIHNlbGVjdGVkCistLWVjaG8gIyB0 byB0cmlnZ2VyIGJ1ZyBkaXNjb3ZlcmVkIGR1cmluZyBjb2RlIGluc3BlY3Rpb24uCitjcmVhdGUg dXNlciBteXNxbHVzZXIxMUBsb2NhbGhvc3Q7CitncmFudCBleGVjdXRlIG9uIGZ1bmN0aW9uIG15 c3FsdGVzdDEuZjEgdG8gbXlzcWx1c2VyMTFAbG9jYWxob3N0OworZ3JhbnQgZXhlY3V0ZSBvbiBw cm9jZWR1cmUgbXlzcWx0ZXN0MS5wMSB0byBteXNxbHVzZXIxMUBsb2NhbGhvc3Q7CistLWVjaG8g IyBBbHNvIGNyZWF0ZSBhIGNvdXBsZSBvZiB0YWJsZXMgdG8gdGVzdCBmb3IgYW5vdGhlciBidWcK Ky0tZWNobyAjIGRpc2NvdmVyZWQgZHVyaW5nIGNvZGUgaW5zcGVjdGlvbiAoYWdhaW4gdGFibGUg bmFtZXMgd2VyZQorLS1lY2hvICMgY2hvc2VuIGVzcGVjaWFsbHkgdG8gdHJpZ2dlciB0aGUgYnVn KS4KK2NyZWF0ZSB0YWJsZSBteXNxbHRlc3QxLnQxMSAoaSBpbnQpOworY3JlYXRlIHRhYmxlIG15 c3FsdGVzdDEudDIyIChpIGludCk7CitncmFudCBzZWxlY3Qgb24gbXlzcWx0ZXN0MS50MjIgdG8g bXlzcWx1c2VyMUBsb2NhbGhvc3Q7CitncmFudCBzZWxlY3Qgb24gbXlzcWx0ZXN0MS50MTEgdG8g bXlzcWx1c2VyMUBsb2NhbGhvc3Q7CisKKy0tZWNobyAjIFF1aWNrIHRlc3QgdGhhdCBncmFudGVk IHByaXZpbGVnZXMgYXJlIHByb3Blcmx5IHJlZmxlY3RlZAorLS1lY2hvICMgaW4gcHJpdmlsZWdl IHRhYmxlcyBhbmQgaW4gaW4tbWVtb3J5IHN0cnVjdHVyZXMuCitzaG93IGdyYW50cyBmb3IgbXlz cWx1c2VyMUBsb2NhbGhvc3Q7CitzZWxlY3QgZGIsIHJvdXRpbmVfbmFtZSwgcm91dGluZV90eXBl LCBwcm9jX3ByaXYgZnJvbSBteXNxbC5wcm9jc19wcml2IHdoZXJlIHVzZXI9J215c3FsdXNlcjEn IGFuZCBob3N0PSdsb2NhbGhvc3QnOworc2VsZWN0IGRiLCB0YWJsZV9uYW1lLCB0YWJsZV9wcml2 IGZyb20gbXlzcWwudGFibGVzX3ByaXYgd2hlcmUgdXNlcj0nbXlzcWx1c2VyMScgYW5kIGhvc3Q9 J2xvY2FsaG9zdCc7CistLWVjaG8gIworLS1lY2hvICMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gJ2J1 ZzM2NTQ0X2NvbjInLgorLS1jb25uZWN0aW9uIGJ1ZzM2NTQ0X2NvbjIKK2NhbGwgbXlzcWx0ZXN0 MS5wMSgpOworc2VsZWN0IG15c3FsdGVzdDEuZjEoKTsKK3NlbGVjdCAqIGZyb20gbXlzcWx0ZXN0 MS50MTE7CitzZWxlY3QgKiBmcm9tIG15c3FsdGVzdDEudDIyOworCistLWVjaG8gIworLS1lY2hv ICMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gJ2RlZmF1bHQnLgorLS1jb25uZWN0aW9uIGRlZmF1bHQK K3JlbmFtZSB1c2VyIG15c3FsdXNlcjFAbG9jYWxob3N0IHRvIG15c3FsdXNlcjEwQGxvY2FsaG9z dDsKKworLS1lY2hvICMKKy0tZWNobyAjIFRlc3QgdGhhdCB0aGVyZSBhcmUgbm8gcHJpdmlsZWdl cyBsZWZ0IGZvciBteXNxbHVzZXIxLgorLS1lY2hvICMKKy0tZWNobyAjIFN3aXRjaCB0byBjb25u ZWN0aW9uICdidWczNjU0NF9jb24yJy4KKy0tY29ubmVjdGlvbiBidWczNjU0NF9jb24yCistLWVj aG8gIyBUaGUgY29ubmVjdGlvbiBjb2xkIGJlIGFsaXZlIGJ1dCBzaG91bGQgbm90IGJlIGFibGUg dG8KKy0tZWNobyAjIGFjY2VzcyB0byBhbnkgb2YgdGhlIHN0b3JlZCByb3V0aW5lcyBvciB0YWJs ZXMuCistLWVycm9yIEVSX1BST0NBQ0NFU1NfREVOSUVEX0VSUk9SCitjYWxsIG15c3FsdGVzdDEu cDEoKTsKKy0tZXJyb3IgRVJfUFJPQ0FDQ0VTU19ERU5JRURfRVJST1IKK3NlbGVjdCBteXNxbHRl c3QxLmYxKCk7CistLWVycm9yIEVSX1RBQkxFQUNDRVNTX0RFTklFRF9FUlJPUgorc2VsZWN0ICog ZnJvbSBteXNxbHRlc3QxLnQxMTsKKy0tZXJyb3IgRVJfVEFCTEVBQ0NFU1NfREVOSUVEX0VSUk9S CitzZWxlY3QgKiBmcm9tIG15c3FsdGVzdDEudDIyOworLS1kaXNjb25uZWN0IGJ1ZzM2NTQ0X2Nv bjIKKworLS1lY2hvICMKKy0tZWNobyAjIFN3aXRjaCB0byBjb25uZWN0aW9uICdkZWZhdWx0Jy4K Ky0tY29ubmVjdGlvbiBkZWZhdWx0CistLWVjaG8gIworLS1lY2hvICMgTm93IGNyZWF0ZSB1c2Vy IHdpdGggdGhlIG9sZCBuYW1lIGFuZCBjaGVjayB0aGF0IGhlCistLWVjaG8gIyBoYXMgbm90IGlu aGVyaXRlZCBwcml2aWxlZ2VzLgorY3JlYXRlIHVzZXIgbXlzcWx1c2VyMUBsb2NhbGhvc3Q7Citz aG93IGdyYW50cyBmb3IgbXlzcWx1c2VyMUBsb2NhbGhvc3Q7CitzZWxlY3QgZGIsIHJvdXRpbmVf bmFtZSwgcm91dGluZV90eXBlLCBwcm9jX3ByaXYgZnJvbSBteXNxbC5wcm9jc19wcml2IHdoZXJl IHVzZXI9J215c3FsdXNlcjEnIGFuZCBob3N0PSdsb2NhbGhvc3QnOworc2VsZWN0IGRiLCB0YWJs ZV9uYW1lLCB0YWJsZV9wcml2IGZyb20gbXlzcWwudGFibGVzX3ByaXYgd2hlcmUgdXNlcj0nbXlz cWx1c2VyMScgYW5kIGhvc3Q9J2xvY2FsaG9zdCc7CistLWVjaG8gIworLS1lY2hvICMgQ3JlYXRl IGNvbm5lY3Rpb24gJ2J1Z18zNjU0NF9jb24zJyBhcyAnbXlzcWx1c2VyMUBsb2NhbGhvc3QnLgor LS1jb25uZWN0IChidWczNjU0NF9jb24zLGxvY2FsaG9zdCxteXNxbHVzZXIxLCwpCistLWVjaG8g IyBOZXdseSBjcmVhdGVkIHVzZXIgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGFjY2VzcyB0byBhbnkg b2YgdGhlCistLWVjaG8gIyBzdG9yZWQgcm91dGluZXMgb3IgdGFibGVzLgorLS1lcnJvciBFUl9Q Uk9DQUNDRVNTX0RFTklFRF9FUlJPUgorY2FsbCBteXNxbHRlc3QxLnAxKCk7CistLWVycm9yIEVS X1BST0NBQ0NFU1NfREVOSUVEX0VSUk9SCitzZWxlY3QgbXlzcWx0ZXN0MS5mMSgpOworLS1lcnJv ciBFUl9UQUJMRUFDQ0VTU19ERU5JRURfRVJST1IKK3NlbGVjdCAqIGZyb20gbXlzcWx0ZXN0MS50 MTE7CistLWVycm9yIEVSX1RBQkxFQUNDRVNTX0RFTklFRF9FUlJPUgorc2VsZWN0ICogZnJvbSBt eXNxbHRlc3QxLnQyMjsKKy0tZGlzY29ubmVjdCBidWczNjU0NF9jb24zCisKKy0tZWNobyAjCist LWVjaG8gIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiAnZGVmYXVsdCcuCistLWNvbm5lY3Rpb24gZGVm YXVsdAorLS1lY2hvICMKKy0tZWNobyAjIE5vdyBjaGVjayB0aGF0IHByaXZpbGVnZXMgYmVjYW1l IGFzc29jaWF0ZWQgd2l0aCBhIG5ldyB1c2VyCistLWVjaG8gIyBuYW1lIC0gbXlzcWx1c2VyMTAu CistLWVjaG8gIworc2hvdyBncmFudHMgZm9yIG15c3FsdXNlcjEwQGxvY2FsaG9zdDsKK3NlbGVj dCBkYiwgcm91dGluZV9uYW1lLCByb3V0aW5lX3R5cGUsIHByb2NfcHJpdiBmcm9tIG15c3FsLnBy b2NzX3ByaXYgd2hlcmUgdXNlcj0nbXlzcWx1c2VyMTAnIGFuZCBob3N0PSdsb2NhbGhvc3QnOwor c2VsZWN0IGRiLCB0YWJsZV9uYW1lLCB0YWJsZV9wcml2IGZyb20gbXlzcWwudGFibGVzX3ByaXYg d2hlcmUgdXNlcj0nbXlzcWx1c2VyMTAnIGFuZCBob3N0PSdsb2NhbGhvc3QnOworLS1lY2hvICMK Ky0tZWNobyAjIENyZWF0ZSBjb25uZWN0aW9uICdidWdfMzY1NDRfY29uNCcgYXMgJ215c3FsdXNl cjEwQGxvY2FsaG9zdCcuCistLWNvbm5lY3QgKGJ1ZzM2NTQ0X2NvbjQsbG9jYWxob3N0LG15c3Fs dXNlcjEwLCwpCitjYWxsIG15c3FsdGVzdDEucDEoKTsKK3NlbGVjdCBteXNxbHRlc3QxLmYxKCk7 CitzZWxlY3QgKiBmcm9tIG15c3FsdGVzdDEudDExOworc2VsZWN0ICogZnJvbSBteXNxbHRlc3Qx LnQyMjsKKy0tZGlzY29ubmVjdCBidWczNjU0NF9jb240CisKKy0tZWNobyAjCistLWVjaG8gIyBT d2l0Y2ggdG8gY29ubmVjdGlvbiAnZGVmYXVsdCcuCistLWNvbm5lY3Rpb24gZGVmYXVsdAorLS1l Y2hvICMKKy0tZWNobyAjIENsZWFuLXVwLgorZHJvcCB1c2VyIG15c3FsdXNlcjFAbG9jYWxob3N0 OworZHJvcCB1c2VyIG15c3FsdXNlcjEwQGxvY2FsaG9zdDsKK2Ryb3AgdXNlciBteXNxbHVzZXIx MUBsb2NhbGhvc3Q7Citkcm9wIGRhdGFiYXNlIG15c3FsdGVzdDE7CisKKwogLS1lY2hvIEVuZCBv ZiA1LjAgdGVzdHMKIAogIwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9wYXJ0aXRp b24udGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L3BhcnRpdGlvbi50ZXN0CTIwMTEtMDMtMDggMTc6 Mzk6MjUgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90L3BhcnRpdGlvbi50ZXN0CTIwMTEtMDMtMTEg MDk6MTI6NTggKzAwMDAKQEAgLTE1LDYgKzE1LDQ5IEBAIGRyb3AgdGFibGUgaWYgZXhpc3RzIHQx LCB0MjsKIC0tZW5hYmxlX3dhcm5pbmdzCiAKIC0tZWNobyAjCistLWVjaG8gIyBCdWcjNTkyOTc6 IENhbid0IGZpbmQgcmVjb3JkIGluICd0YWJsZW5hbWUnIG9uIHVwZGF0ZSBpbm5lciBqb2luCist LWVjaG8gIworCitDUkVBVEUgVEFCTEUgdDEgKAorYSBjaGFyKDIpIE5PVCBOVUxMLAorYiBjaGFy KDIpIE5PVCBOVUxMLAorYyBpbnQoMTApIHVuc2lnbmVkIE5PVCBOVUxMLAorZCB2YXJjaGFyKDI1 NSkgREVGQVVMVCBOVUxMLAorZSB2YXJjaGFyKDEwMDApIERFRkFVTFQgTlVMTCwKK1BSSU1BUlkg S0VZIChhLCBiLCBjKSwKK0tFWSAoYSksCitLRVkgKGEsIGIpCispCisvKiE1MDEwMCBQQVJUSVRJ T04gQlkgS0VZIChhKQorUEFSVElUSU9OUyAyMCAqLzsKKworSU5TRVJUIElOVE8gdDEgKGEsIGIs IGMsIGQsIGUpIFZBTFVFUworKCcwNycsICcwMycsIDM0MywgJzEnLCAnMDdfMDNfMzQzJyksCiso JzAxJywgJzA0JywgMzQzLCAnMicsICcwMV8wNF8zNDMnKSwKKygnMDEnLCAnMDYnLCAzNDMsICcz JywgJzAxXzA2XzM0MycpLAorKCcwMScsICcwNycsIDM0MywgJzQnLCAnMDFfMDdfMzQzJyksCiso JzAxJywgJzA4JywgMzQzLCAnNScsICcwMV8wOF8zNDMnKSwKKygnMDEnLCAnMDknLCAzNDMsICc2 JywgJzAxXzA5XzM0MycpLAorKCcwMycsICcwMycsIDM0MywgJzcnLCAnMDNfMDNfMzQzJyksCiso JzAzJywgJzA2JywgMzQzLCAnOCcsICcwM18wNl8zNDMnKSwKKygnMDMnLCAnMDcnLCAzNDMsICc5 JywgJzAzXzA3XzM0MycpLAorKCcwNCcsICcwMycsIDM0MywgJzEwJywgJzA0XzAzXzM0MycpLAor KCcwNCcsICcwNicsIDM0MywgJzExJywgJzA0XzA2XzM0MycpLAorKCcwNScsICcwMycsIDM0Mywg JzEyJywgJzA1XzAzXzM0MycpLAorKCcxMScsICcwMycsIDM0MywgJzEzJywgJzExXzAzXzM0Mycp LAorKCcxMScsICcwNCcsIDM0MywgJzE0JywgJzExXzA0XzM0MycpCis7CisKK1VQREFURSB0MSBB UyBBLAorKFNFTEVDVCAnMDMnIEFTIGEsICcwNicgQVMgYiwgMzQzIEFTIGMsICdsYXN0JyBBUyBk KSBBUyBCCitTRVQgQS5lID0gQi5kICAKK1dIRVJFIEEuYSA9ICcwMycgIAorQU5EIEEuYiA9ICcw NicgCitBTkQgQS5jID0gMzQzOworCitEUk9QIFRBQkxFIHQxOworCistLWVjaG8gIwogLS1lY2hv ICMgQnVnIzU3Nzc4OiBmYWlsZWQgcHJpbWFyeSBrZXkgYWRkIHRvIHBhcnRpdGlvbmVkIGlubm9k YiB0YWJsZQogLS1lY2hvICMgICAgICAgICAgICBpbmNvbnNpc3RlbnQgYW5kIGNyYXNoZXMKIC0t ZWNobyAjCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L3NwLnRlc3QnCi0tLSBhL215 c3FsLXRlc3QvdC9zcC50ZXN0CTIwMTAtMDctMzAgMTU6Mjg6MzYgKzAwMDAKKysrIGIvbXlzcWwt dGVzdC90L3NwLnRlc3QJMjAxMS0wMy0xMCAwODowNzo1NyArMDAwMApAQCAtODcxMyw0ICs4NzEz LDQ1IEBAIGNhbGwgcDEoMywgMik7CiBkcm9wIHRhYmxlIHQxOwogZHJvcCBwcm9jZWR1cmUgcDE7 CiAKKy0tZWNobworLS1lY2hvICMgLS0KKy0tZWNobyAjIC0tIEJ1ZyAxMTc2NTY4NCAtIDU4Njc0 OiBTUC1jYWNoZSBkb2VzIG5vdCBkZXRlY3QgY2hhbmdlcyBpbgorLS1lY2hvICMgLS0gcHJlLWxv Y2tpbmcgbGlzdCBjYXVzZWQgYnkgdHJpZ2dlcnMKKy0tZWNobyAjIC0tLSAKKworLS1kaXNhYmxl X3dhcm5pbmdzCitEUk9QIFRBQkxFIElGIEVYSVNUUyB0MTsKK0RST1AgVEFCTEUgSUYgRVhJU1RT IHQyOworRFJPUCBUQUJMRSBJRiBFWElTVFMgdDM7CitEUk9QIFBST0NFRFVSRSBJRiBFWElTVFMg cDE7CistLWVuYWJsZV93YXJuaW5ncworCitDUkVBVEUgVEFCTEUgdDEoYSBJTlQpOworQ1JFQVRF IFRBQkxFIHQyKGEgSU5UKTsKK0NSRUFURSBUQUJMRSB0MyhhIElOVCk7CisKK0NSRUFURSBQUk9D RURVUkUgcDEoKQorICBJTlNFUlQgSU5UTyB0MShhKSBWQUxVRVMgKDEpOworCistLWVjaG8KK0NS RUFURSBUUklHR0VSIHQxX2FpIEFGVEVSIElOU0VSVCBPTiB0MQorICBGT1IgRUFDSCBST1cKKyAg ICBJTlNFUlQgSU5UTyB0MihhKSBWQUxVRVMgKG5ldy5hKTsKKworLS1lY2hvCitDQUxMIHAxKCk7 CisKKy0tZWNobworQ1JFQVRFIFRSSUdHRVIgdDFfYmkgQkVGT1JFIElOU0VSVCBPTiB0MQorICBG T1IgRUFDSCBST1cKKyAgICBJTlNFUlQgSU5UTyB0MyhhKSBWQUxVRVMgKG5ldy5hKTsKKworLS1l Y2hvCitDQUxMIHAxKCk7CisKKy0tZWNobworRFJPUCBUQUJMRSB0MSwgdDIsIHQzOworRFJPUCBQ Uk9DRURVUkUgcDE7CistLWVjaG8KKwogLS1lY2hvICMgRW5kIG9mIDUuNSB0ZXN0Cgo9PT0gbW9k aWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L3RyaWdnZXIudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90 L3RyaWdnZXIudGVzdAkyMDEwLTA4LTE4IDA5OjM1OjQxICswMDAwCisrKyBiL215c3FsLXRlc3Qv dC90cmlnZ2VyLnRlc3QJMjAxMS0wMy0xMCAwODowNzo1NyArMDAwMApAQCAtOTk4LDEwICs5OTgs NiBAQCBjYWxsIHAxKCk7CiBkcm9wIHRyaWdnZXIgdDFfYmk7CiBjcmVhdGUgdHJpZ2dlciB0MV9i aSBhZnRlciBpbnNlcnQgb24gdDEgZm9yIGVhY2ggcm93IGluc2VydCBpbnRvIHQzIHZhbHVlcyAo bmV3LmlkKTsKIGV4ZWN1dGUgc3RtdDE7Ci0jIFVudGlsIHdlIGltcGxlbWVudCBwcm9wZXIgbWVj aGFuaXNtIGZvciBpbnZhbGlkYXRpb24gb2YgU1Agc3RhdGVtZW50cwotIyBpbnZva2VkIHdoZW5l dmVyIGEgdGFibGUgdXNlZCBpbiBTUCBjaGFuZ2VzLCB0aGlzIHN0YXRlbWVudCB3aWxsIGZhaWwg d2l0aAotIyAnVGFibGUgLi4uICBkb2VzIG5vdCBleGlzdCcgZXJyb3IuCi0tLWVycm9yIEVSX05P X1NVQ0hfVEFCTEUgCiBjYWxsIHAxKCk7CiBkZWFsbG9jYXRlIHByZXBhcmUgc3RtdDE7CiBkcm9w IHByb2NlZHVyZSBwMTsKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvaGFfcGFydGl0aW9uLmNjJwot LS0gYS9zcWwvaGFfcGFydGl0aW9uLmNjCTIwMTEtMDEtMjYgMTM6MjM6MjkgKzAwMDAKKysrIGIv c3FsL2hhX3BhcnRpdGlvbi5jYwkyMDExLTAzLTA5IDE3OjQxOjE2ICswMDAwCkBAIC00NDQ4LDYg KzQ0NDgsNyBAQCBpbnQgaGFfcGFydGl0aW9uOjppbmRleF9yZWFkX2lkeF9tYXAodWNoCiAgICAg ICAgICAgYnJlYWs7CiAgICAgICB9CiAgICAgfQorICAgIG1fbGFzdF9wYXJ0PSBwYXJ0OwogICB9 CiAgIGVsc2UKICAgewoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9sb2cuY2MnCi0tLSBhL3NxbC9s b2cuY2MJMjAxMS0wMy0wOCAxNzozOToyNSArMDAwMAorKysgYi9zcWwvbG9nLmNjCTIwMTEtMDMt MTEgMDk6MTI6NTggKzAwMDAKQEAgLTI4NjEsMTEgKzI4NjEsOSBAQCB2b2lkIE1ZU1FMX0JJTl9M T0c6OmluaXQoYm9vbCBub19hdXRvX2V2CiAKIHZvaWQgTVlTUUxfQklOX0xPRzo6aW5pdF9wdGhy ZWFkX29iamVjdHMoKQogewotICBEQlVHX0FTU0VSVChpbml0ZWQgPT0gMCk7Ci0gIGluaXRlZD0g MTsKLSAgbXlzcWxfbXV0ZXhfaW5pdChrZXlfTE9HX0xPQ0tfbG9nLCAmTE9DS19sb2csIE1ZX01V VEVYX0lOSVRfU0xPVyk7Ci0gIG15c3FsX211dGV4X2luaXQoa2V5X0JJTkxPR19MT0NLX2luZGV4 LCAmTE9DS19pbmRleCwgTVlfTVVURVhfSU5JVF9TTE9XKTsKLSAgbXlzcWxfY29uZF9pbml0KGtl eV9CSU5MT0dfdXBkYXRlX2NvbmQsICZ1cGRhdGVfY29uZCwgMCk7CisgIE1ZU1FMX0xPRzo6aW5p dF9wdGhyZWFkX29iamVjdHMoKTsKKyAgbXlzcWxfbXV0ZXhfaW5pdChtX2tleV9MT0NLX2luZGV4 LCAmTE9DS19pbmRleCwgTVlfTVVURVhfSU5JVF9TTE9XKTsKKyAgbXlzcWxfY29uZF9pbml0KG1f a2V5X3VwZGF0ZV9jb25kLCAmdXBkYXRlX2NvbmQsIDApOwogfQogCiAKQEAgLTI4ODgsNyArMjg4 Niw3IEBAIGJvb2wgTVlTUUxfQklOX0xPRzo6b3Blbl9pbmRleF9maWxlKGNvbnMKICAgfQogICBm bl9mb3JtYXQoaW5kZXhfZmlsZV9uYW1lLCBpbmRleF9maWxlX25hbWVfYXJnLCBteXNxbF9kYXRh X2hvbWUsCiAgICAgICAgICAgICAiLmluZGV4Iiwgb3B0KTsKLSAgaWYgKChpbmRleF9maWxlX25y PSBteXNxbF9maWxlX29wZW4oa2V5X2ZpbGVfYmlubG9nX2luZGV4LAorICBpZiAoKGluZGV4X2Zp bGVfbnI9IG15c3FsX2ZpbGVfb3BlbihtX2tleV9maWxlX2xvZ19pbmRleCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXhfZmlsZV9uYW1lLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPX1JEV1IgfCBPX0NSRUFUIHwgT19CSU5BUlksCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ZRihNWV9XTUUpKSkgPCAwIHx8 CkBAIC0zMDA0LDcgKzMwMDIsNyBAQCBib29sIE1ZU1FMX0JJTl9MT0c6Om9wZW4oY29uc3QgY2hh ciAqbG9nCiAgIC8qIG9wZW4gdGhlIG1haW4gbG9nIGZpbGUgKi8KICAgaWYgKE1ZU1FMX0xPRzo6 b3BlbigKICNpZmRlZiBIQVZFX1BTSV9JTlRFUkZBQ0UKLSAgICAgICAgICAgICAgICAgICAgICBr ZXlfZmlsZV9iaW5sb2csCisgICAgICAgICAgICAgICAgICAgICAgbV9rZXlfZmlsZV9sb2csCiAj ZW5kaWYKICAgICAgICAgICAgICAgICAgICAgICBsb2dfbmFtZSwgbG9nX3R5cGVfYXJnLCBuZXdf bmFtZSwgaW9fY2FjaGVfdHlwZV9hcmcpKQogICB7CkBAIC0zODc0LDcgKzM4NzIsNyBAQCBpbnQg TVlTUUxfQklOX0xPRzo6cHVyZ2VfaW5kZXhfZW50cnkoVEhECiAgICAgLyogR2V0IHJpZCBvZiB0 aGUgdHJhaWxpbmcgJ1xuJyAqLwogICAgIGxvZ19pbmZvLmxvZ19maWxlX25hbWVbbGVuZ3RoLTFd PSAwOwogCi0gICAgaWYgKCFteXNxbF9maWxlX3N0YXQoa2V5X2ZpbGVfYmlubG9nLCBsb2dfaW5m by5sb2dfZmlsZV9uYW1lLCAmcywgTVlGKDApKSkKKyAgICBpZiAoIW15c3FsX2ZpbGVfc3RhdCht X2tleV9maWxlX2xvZywgbG9nX2luZm8ubG9nX2ZpbGVfbmFtZSwgJnMsIE1ZRigwKSkpCiAgICAg ewogICAgICAgaWYgKG15X2Vycm5vID09IEVOT0VOVCkgCiAgICAgICB7CkBAIC00MDQ5LDcgKzQw NDcsNyBAQCBpbnQgTVlTUUxfQklOX0xPRzo6cHVyZ2VfbG9nc19iZWZvcmVfZGF0CiAJICFpc19h Y3RpdmUobG9nX2luZm8ubG9nX2ZpbGVfbmFtZSkgJiYKICAgICAgICAgICFsb2dfaW5fdXNlKGxv Z19pbmZvLmxvZ19maWxlX25hbWUpKQogICB7Ci0gICAgaWYgKCFteXNxbF9maWxlX3N0YXQoa2V5 X2ZpbGVfYmlubG9nLAorICAgIGlmICghbXlzcWxfZmlsZV9zdGF0KG1fa2V5X2ZpbGVfbG9nLAog ICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19pbmZvLmxvZ19maWxlX25hbWUsICZzdGF0X2Fy ZWEsIE1ZRigwKSkpCiAgICAgewogICAgICAgaWYgKG15X2Vycm5vID09IEVOT0VOVCkgCgo9PT0g bW9kaWZpZWQgZmlsZSAnc3FsL2xvZy5oJwotLS0gYS9zcWwvbG9nLmgJMjAxMC0xMi0wNyAxNjox MToxMyArMDAwMAorKysgYi9zcWwvbG9nLmgJMjAxMS0wMy0wMSAxNjozOToyOCArMDAwMApAQCAt Mjc0LDYgKzI3NCwxNiBAQCBwcml2YXRlOgogY2xhc3MgTVlTUUxfQklOX0xPRzogcHVibGljIFRD X0xPRywgcHJpdmF0ZSBNWVNRTF9MT0cKIHsKICBwcml2YXRlOgorI2lmZGVmIEhBVkVfUFNJX0lO VEVSRkFDRQorICAvKiogVGhlIGluc3RydW1lbnRhdGlvbiBrZXkgdG8gdXNlIGZvciBAIExPQ0tf aW5kZXguICovCisgIFBTSV9tdXRleF9rZXkgbV9rZXlfTE9DS19pbmRleDsKKyAgLyoqIFRoZSBp bnN0cnVtZW50YXRpb24ga2V5IHRvIHVzZSBmb3IgQCB1cGRhdGVfY29uZC4gKi8KKyAgUFNJX2Nv bmRfa2V5IG1fa2V5X3VwZGF0ZV9jb25kOworICAvKiogVGhlIGluc3RydW1lbnRhdGlvbiBrZXkg dG8gdXNlIGZvciBvcGVuaW5nIHRoZSBsb2cgZmlsZS4gKi8KKyAgUFNJX2ZpbGVfa2V5IG1fa2V5 X2ZpbGVfbG9nOworICAvKiogVGhlIGluc3RydW1lbnRhdGlvbiBrZXkgdG8gdXNlIGZvciBvcGVu aW5nIHRoZSBsb2cgaW5kZXggZmlsZS4gKi8KKyAgUFNJX2ZpbGVfa2V5IG1fa2V5X2ZpbGVfbG9n X2luZGV4OworI2VuZGlmCiAgIC8qIExPQ0tfbG9nIGFuZCBMT0NLX2luZGV4IGFyZSBpbml0ZWQg YnkgaW5pdF9wdGhyZWFkX29iamVjdHMoKSAqLwogICBteXNxbF9tdXRleF90IExPQ0tfaW5kZXg7 CiAgIG15c3FsX211dGV4X3QgTE9DS19wcmVwX3hpZHM7CkBAIC0zNjIsNiArMzcyLDE5IEBAIHB1 YmxpYzoKICAgICBvbiBleGl0KCkgLSBidXQgb25seSBkdXJpbmcgdGhlIGNvcnJlY3Qgc2h1dGRv d24gcHJvY2VzcwogICAqLwogCisjaWZkZWYgSEFWRV9QU0lfSU5URVJGQUNFCisgIHZvaWQgc2V0 X3BzaV9rZXlzKFBTSV9tdXRleF9rZXkga2V5X0xPQ0tfaW5kZXgsCisgICAgICAgICAgICAgICAg ICAgIFBTSV9jb25kX2tleSBrZXlfdXBkYXRlX2NvbmQsCisgICAgICAgICAgICAgICAgICAgIFBT SV9maWxlX2tleSBrZXlfZmlsZV9sb2csCisgICAgICAgICAgICAgICAgICAgIFBTSV9maWxlX2tl eSBrZXlfZmlsZV9sb2dfaW5kZXgpCisgIHsKKyAgICBtX2tleV9MT0NLX2luZGV4PSBrZXlfTE9D S19pbmRleDsKKyAgICBtX2tleV91cGRhdGVfY29uZD0ga2V5X3VwZGF0ZV9jb25kOworICAgIG1f a2V5X2ZpbGVfbG9nPSBrZXlfZmlsZV9sb2c7CisgICAgbV9rZXlfZmlsZV9sb2dfaW5kZXg9IGtl eV9maWxlX2xvZ19pbmRleDsKKyAgfQorI2VuZGlmCisKICAgaW50IG9wZW4oY29uc3QgY2hhciAq b3B0X25hbWUpOwogICB2b2lkIGNsb3NlKCk7CiAgIGludCBsb2dfeGlkKFRIRCAqdGhkLCBteV94 aWQgeGlkKTsKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvbXlzcWxkLmNjJwotLS0gYS9zcWwvbXlz cWxkLmNjCTIwMTEtMDMtMDEgMTI6MDM6MzEgKzAwMDAKKysrIGIvc3FsL215c3FsZC5jYwkyMDEx LTAzLTEwIDA4OjQzOjU1ICswMDAwCkBAIC0zMTI1LDYgKzMxMjUsMTggQEAgc3RhdGljIGludCBp bml0X2NvbW1vbl92YXJpYWJsZXMoKQogICAqLwogICBnbG9iYWxfc3lzdGVtX3ZhcmlhYmxlcy50 aW1lX3pvbmU9IG15X3R6X1NZU1RFTTsKIAorI2lmZGVmIEhBVkVfUFNJX0lOVEVSRkFDRQorICAv KgorICAgIENvbXBsZXRlIHRoZSBteXNxbF9iaW5fbG9nIGluaXRpYWxpemF0aW9uLgorICAgIElu c3RydW1lbnRhdGlvbiBrZXlzIGFyZSBrbm93biBvbmx5IGFmdGVyIHRoZSBwZXJmb3JtYW5jZSBz Y2hlbWEgaW5pdGlhbGl6YXRpb24sCisgICAgYW5kIGNhbiBub3QgYmUgc2V0IGluIHRoZSBNWVNR TF9CSU5fTE9HIGNvbnN0cnVjdG9yIChjYWxsZWQgYmVmb3JlIG1haW4oKSkuCisgICovCisgIG15 c3FsX2Jpbl9sb2cuc2V0X3BzaV9rZXlzKGtleV9CSU5MT0dfTE9DS19pbmRleCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAga2V5X0JJTkxPR191cGRhdGVfY29uZCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAga2V5X2ZpbGVfYmlubG9nLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBrZXlfZmlsZV9iaW5sb2dfaW5kZXgpOworI2VuZGlmCisKICAgLyoKICAgICBJbml0 IG11dGV4ZXMgZm9yIHRoZSBnbG9iYWwgTVlTUUxfQklOX0xPRyBvYmplY3RzLgogICAgIEFzIHNh ZmVfbXV0ZXggZGVwZW5kcyBvbiB3aGF0IE1ZX0lOSVQoKSBkb2VzLCB3ZSBjYW4ndCBpbml0IHRo ZSBtdXRleGVzIG9mCkBAIC03NzAxLDYgKzc3MTMsNyBAQCBQU0lfbXV0ZXhfa2V5IGtleV9CSU5M T0dfTE9DS19pbmRleCwga2V5CiAgIGtleV9zdHJ1Y3R1cmVfZ3VhcmRfbXV0ZXgsIGtleV9UQUJM RV9TSEFSRV9MT0NLX2hhX2RhdGEsCiAgIGtleV9MT0NLX2Vycm9yX21lc3NhZ2VzLCBrZXlfTE9H X0lORk9fbG9jaywga2V5X0xPQ0tfdGhyZWFkX2NvdW50LAogICBrZXlfUEFSVElUSU9OX0xPQ0tf YXV0b19pbmM7CitQU0lfbXV0ZXhfa2V5IGtleV9SRUxBWUxPR19MT0NLX2luZGV4OwogCiBzdGF0 aWMgUFNJX211dGV4X2luZm8gYWxsX3NlcnZlcl9tdXRleGVzW109CiB7CkBAIC03NzE3LDYgKzc3 MzAsNyBAQCBzdGF0aWMgUFNJX211dGV4X2luZm8gYWxsX3NlcnZlcl9tdXRleGVzCiAKICAgeyAm a2V5X0JJTkxPR19MT0NLX2luZGV4LCAiTVlTUUxfQklOX0xPRzo6TE9DS19pbmRleCIsIDB9LAog ICB7ICZrZXlfQklOTE9HX0xPQ0tfcHJlcF94aWRzLCAiTVlTUUxfQklOX0xPRzo6TE9DS19wcmVw X3hpZHMiLCAwfSwKKyAgeyAma2V5X1JFTEFZTE9HX0xPQ0tfaW5kZXgsICJNWVNRTF9SRUxBWV9M T0c6OkxPQ0tfaW5kZXgiLCAwfSwKICAgeyAma2V5X2RlbGF5ZWRfaW5zZXJ0X211dGV4LCAiRGVs YXllZF9pbnNlcnQ6Om11dGV4IiwgMH0sCiAgIHsgJmtleV9oYXNoX2ZpbG9fbG9jaywgImhhc2hf Zmlsbzo6bG9jayIsIDB9LAogICB7ICZrZXlfTE9DS19hY3RpdmVfbWksICJMT0NLX2FjdGl2ZV9t aSIsIFBTSV9GTEFHX0dMT0JBTH0sCkBAIC03Nzg0LDYgKzc3OTgsNyBAQCBQU0lfY29uZF9rZXkg a2V5X0JJTkxPR19DT05EX3ByZXBfeGlkcywKICAga2V5X3JlbGF5X2xvZ19pbmZvX3N0YXJ0X2Nv bmQsIGtleV9yZWxheV9sb2dfaW5mb19zdG9wX2NvbmQsCiAgIGtleV9UQUJMRV9TSEFSRV9jb25k LCBrZXlfdXNlcl9sZXZlbF9sb2NrX2NvbmQsCiAgIGtleV9DT05EX3RocmVhZF9jb3VudCwga2V5 X0NPTkRfdGhyZWFkX2NhY2hlLCBrZXlfQ09ORF9mbHVzaF90aHJlYWRfY2FjaGU7CitQU0lfY29u ZF9rZXkga2V5X1JFTEFZTE9HX3VwZGF0ZV9jb25kOwogCiBzdGF0aWMgUFNJX2NvbmRfaW5mbyBh bGxfc2VydmVyX2NvbmRzW109CiB7CkBAIC03Nzk3LDYgKzc4MTIsNyBAQCBzdGF0aWMgUFNJX2Nv bmRfaW5mbyBhbGxfc2VydmVyX2NvbmRzW109CiAjZW5kaWYgLyogSEFWRV9NTUFQICovCiAgIHsg JmtleV9CSU5MT0dfQ09ORF9wcmVwX3hpZHMsICJNWVNRTF9CSU5fTE9HOjpDT05EX3ByZXBfeGlk cyIsIDB9LAogICB7ICZrZXlfQklOTE9HX3VwZGF0ZV9jb25kLCAiTVlTUUxfQklOX0xPRzo6dXBk YXRlX2NvbmQiLCAwfSwKKyAgeyAma2V5X1JFTEFZTE9HX3VwZGF0ZV9jb25kLCAiTVlTUUxfUkVM QVlfTE9HOjp1cGRhdGVfY29uZCIsIDB9LAogICB7ICZrZXlfQ09ORF9jYWNoZV9zdGF0dXNfY2hh bmdlZCwgIlF1ZXJ5X2NhY2hlOjpDT05EX2NhY2hlX3N0YXR1c19jaGFuZ2VkIiwgMH0sCiAgIHsg JmtleV9DT05EX21hbmFnZXIsICJDT05EX21hbmFnZXIiLCBQU0lfRkxBR19HTE9CQUx9LAogICB7 ICZrZXlfQ09ORF9ycGxfc3RhdHVzLCAiQ09ORF9ycGxfc3RhdHVzIiwgUFNJX0ZMQUdfR0xPQkFM fSwKQEAgLTc4NjAsNiArNzg3Niw3IEBAIFBTSV9maWxlX2tleSBrZXlfZmlsZV9iaW5sb2csIGtl eV9maWxlX2IKICAga2V5X2ZpbGVfcGlkLCBrZXlfZmlsZV9yZWxheV9sb2dfaW5mbywga2V5X2Zp bGVfc2VuZF9maWxlLCBrZXlfZmlsZV90Y2xvZywKICAga2V5X2ZpbGVfdHJnLCBrZXlfZmlsZV90 cm4sIGtleV9maWxlX2luaXQ7CiBQU0lfZmlsZV9rZXkga2V5X2ZpbGVfcXVlcnlfbG9nLCBrZXlf ZmlsZV9zbG93X2xvZzsKK1BTSV9maWxlX2tleSBrZXlfZmlsZV9yZWxheWxvZywga2V5X2ZpbGVf cmVsYXlsb2dfaW5kZXg7CiAKIHN0YXRpYyBQU0lfZmlsZV9pbmZvIGFsbF9zZXJ2ZXJfZmlsZXNb XT0KIHsKQEAgLTc4NjgsNiArNzg4NSw4IEBAIHN0YXRpYyBQU0lfZmlsZV9pbmZvIGFsbF9zZXJ2 ZXJfZmlsZXNbXT0KICNlbmRpZiAvKiBIQVZFX01NQVAgKi8KICAgeyAma2V5X2ZpbGVfYmlubG9n LCAiYmlubG9nIiwgMH0sCiAgIHsgJmtleV9maWxlX2JpbmxvZ19pbmRleCwgImJpbmxvZ19pbmRl eCIsIDB9LAorICB7ICZrZXlfZmlsZV9yZWxheWxvZywgInJlbGF5bG9nIiwgMH0sCisgIHsgJmtl eV9maWxlX3JlbGF5bG9nX2luZGV4LCAicmVsYXlsb2dfaW5kZXgiLCAwfSwKICAgeyAma2V5X2Zp bGVfY2FzZXRlc3QsICJjYXNldGVzdCIsIDB9LAogICB7ICZrZXlfZmlsZV9kYm9wdCwgImRib3B0 IiwgMH0sCiAgIHsgJmtleV9maWxlX2Rlc19rZXlfZmlsZSwgImRlc19rZXlfZmlsZSIsIDB9LAoK PT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9teXNxbGQuaCcKLS0tIGEvc3FsL215c3FsZC5oCTIwMTEt MDMtMDQgMTU6NDM6MjggKzAwMDAKKysrIGIvc3FsL215c3FsZC5oCTIwMTEtMDMtMTAgMDg6NDM6 NTUgKzAwMDAKQEAgLTI0MSw2ICsyNDEsNyBAQCBleHRlcm4gUFNJX211dGV4X2tleSBrZXlfQklO TE9HX0xPQ0tfaW5kCiAgIGtleV9yZWxheV9sb2dfaW5mb19sb2dfc3BhY2VfbG9jaywga2V5X3Jl bGF5X2xvZ19pbmZvX3J1bl9sb2NrLAogICBrZXlfc3RydWN0dXJlX2d1YXJkX211dGV4LCBrZXlf VEFCTEVfU0hBUkVfTE9DS19oYV9kYXRhLAogICBrZXlfTE9DS19lcnJvcl9tZXNzYWdlcywga2V5 X0xPQ0tfdGhyZWFkX2NvdW50LCBrZXlfUEFSVElUSU9OX0xPQ0tfYXV0b19pbmM7CitleHRlcm4g UFNJX211dGV4X2tleSBrZXlfUkVMQVlMT0dfTE9DS19pbmRleDsKIAogZXh0ZXJuIFBTSV9yd2xv Y2tfa2V5IGtleV9yd2xvY2tfTE9DS19ncmFudCwga2V5X3J3bG9ja19MT0NLX2xvZ2dlciwKICAg a2V5X3J3bG9ja19MT0NLX3N5c19pbml0X2Nvbm5lY3QsIGtleV9yd2xvY2tfTE9DS19zeXNfaW5p dF9zbGF2ZSwKQEAgLTI2MCw2ICsyNjEsNyBAQCBleHRlcm4gUFNJX2NvbmRfa2V5IGtleV9CSU5M T0dfQ09ORF9wcmVwCiAgIGtleV9yZWxheV9sb2dfaW5mb19zdGFydF9jb25kLCBrZXlfcmVsYXlf bG9nX2luZm9fc3RvcF9jb25kLAogICBrZXlfVEFCTEVfU0hBUkVfY29uZCwga2V5X3VzZXJfbGV2 ZWxfbG9ja19jb25kLAogICBrZXlfQ09ORF90aHJlYWRfY291bnQsIGtleV9DT05EX3RocmVhZF9j YWNoZSwga2V5X0NPTkRfZmx1c2hfdGhyZWFkX2NhY2hlOworZXh0ZXJuIFBTSV9jb25kX2tleSBr ZXlfUkVMQVlMT0dfdXBkYXRlX2NvbmQ7CiAKIGV4dGVybiBQU0lfdGhyZWFkX2tleSBrZXlfdGhy ZWFkX2Jvb3RzdHJhcCwga2V5X3RocmVhZF9kZWxheWVkX2luc2VydCwKICAga2V5X3RocmVhZF9o YW5kbGVfbWFuYWdlciwga2V5X3RocmVhZF9raWxsX3NlcnZlciwga2V5X3RocmVhZF9tYWluLApA QCAtMjc3LDYgKzI3OSw3IEBAIGV4dGVybiBQU0lfZmlsZV9rZXkga2V5X2ZpbGVfYmlubG9nLCBr ZXkKICAga2V5X2ZpbGVfcGlkLCBrZXlfZmlsZV9yZWxheV9sb2dfaW5mbywga2V5X2ZpbGVfc2Vu ZF9maWxlLCBrZXlfZmlsZV90Y2xvZywKICAga2V5X2ZpbGVfdHJnLCBrZXlfZmlsZV90cm4sIGtl eV9maWxlX2luaXQ7CiBleHRlcm4gUFNJX2ZpbGVfa2V5IGtleV9maWxlX3F1ZXJ5X2xvZywga2V5 X2ZpbGVfc2xvd19sb2c7CitleHRlcm4gUFNJX2ZpbGVfa2V5IGtleV9maWxlX3JlbGF5bG9nLCBr ZXlfZmlsZV9yZWxheWxvZ19pbmRleDsKIAogdm9pZCBpbml0X3NlcnZlcl9wc2lfa2V5cygpOwog I2VuZGlmIC8qIEhBVkVfUFNJX0lOVEVSRkFDRSAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9y cGxfcmxpLmNjJwotLS0gYS9zcWwvcnBsX3JsaS5jYwkyMDEwLTExLTExIDE3OjExOjA1ICswMDAw CisrKyBiL3NxbC9ycGxfcmxpLmNjCTIwMTEtMDMtMDEgMTY6Mzk6MjggKzAwMDAKQEAgLTU0LDYg KzU0LDEzIEBAIFJlbGF5X2xvZ19pbmZvOjpSZWxheV9sb2dfaW5mbyhib29sIGlzX3MKIHsKICAg REJVR19FTlRFUigiUmVsYXlfbG9nX2luZm86OlJlbGF5X2xvZ19pbmZvIik7CiAKKyNpZmRlZiBI QVZFX1BTSV9JTlRFUkZBQ0UKKyAgcmVsYXlfbG9nLnNldF9wc2lfa2V5cyhrZXlfUkVMQVlMT0df TE9DS19pbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBrZXlfUkVMQVlMT0dfdXBkYXRl X2NvbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGVfcmVsYXlsb2csCisgICAg ICAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGVfcmVsYXlsb2dfaW5kZXgpOworI2VuZGlmCisK ICAgZ3JvdXBfcmVsYXlfbG9nX25hbWVbMF09IGV2ZW50X3JlbGF5X2xvZ19uYW1lWzBdPQogICAg IGdyb3VwX21hc3Rlcl9sb2dfbmFtZVswXT0gMDsKICAgdW50aWxfbG9nX25hbWVbMF09IGlnbl9t YXN0ZXJfbG9nX25hbWVfZW5kWzBdPSAwOwpAQCAtMzU2LDcgKzM2Myw3IEBAIHN0YXRpYyBpbmxp bmUgaW50IGFkZF9yZWxheV9sb2coUmVsYXlfbG8KIHsKICAgTVlfU1RBVCBzOwogICBEQlVHX0VO VEVSKCJhZGRfcmVsYXlfbG9nIik7Ci0gIGlmICghbXlzcWxfZmlsZV9zdGF0KGtleV9maWxlX2Jp bmxvZywKKyAgaWYgKCFteXNxbF9maWxlX3N0YXQoa2V5X2ZpbGVfcmVsYXlsb2csCiAgICAgICAg ICAgICAgICAgICAgICAgIGxpbmZvLT5sb2dfZmlsZV9uYW1lLCAmcywgTVlGKDApKSkKICAgewog ICAgIHNxbF9wcmludF9lcnJvcigibG9nICVzIGxpc3RlZCBpbiB0aGUgaW5kZXgsIGJ1dCBmYWls ZWQgdG8gc3RhdCIsCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9hY2wuY2MnCi0tLSBhL3Nx bC9zcWxfYWNsLmNjCTIwMTEtMDItMTggMDk6NDY6NTUgKzAwMDAKKysrIGIvc3FsL3NxbF9hY2wu Y2MJMjAxMS0wMy0wOSAxNDowNDo1MCArMDAwMApAQCAtMSw0ICsxLDQgQEAKLS8qIENvcHlyaWdo dCAoQykgMjAwMC0yMDAzIE15U1FMIEFCLCAyMDA4LTIwMDkgU3VuIE1pY3Jvc3lzdGVtcywgSW5j CisvKiBDb3B5cmlnaHQgKGMpIDIwMDAsIDIwMTEsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0 ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgICBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQpAQCAtNTk4MiwxOCArNTk4MiwxNSBAQCBzdGF0aWMgaW50IGhhbmRsZV9ncmFudF90YWJsZShU QUJMRV9MSVNUCiB9CiAKIAotLyoKKy8qKgogICBIYW5kbGUgYW4gaW4tbWVtb3J5IHByaXZpbGVn ZSBzdHJ1Y3R1cmUuCiAKLSAgU1lOT1BTSVMKLSAgICBoYW5kbGVfZ3JhbnRfc3RydWN0KCkKLSAg ICBzdHJ1Y3Rfbm8gICAgICAgICAgICAgICAgICAgVGhlIG51bWJlciBvZiB0aGUgc3RydWN0dXJl IHRvIGhhbmRsZSAoMC4uMykuCi0gICAgZHJvcCAgICAgICAgICAgICAgICAgICAgICAgIElmIHVz ZXJfZnJvbSBpcyB0byBiZSBkcm9wcGVkLgotICAgIHVzZXJfZnJvbSAgICAgICAgICAgICAgICAg ICBUaGUgdGhlIHVzZXIgdG8gYmUgc2VhcmNoZWQvZHJvcHBlZC9yZW5hbWVkLgotICAgIHVzZXJf dG8gICAgICAgICAgICAgICAgICAgICBUaGUgbmV3IG5hbWUgZm9yIHRoZSB1c2VyIGlmIHRvIGJl IHJlbmFtZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwgb3RoZXJ3aXNl LgorICBAcGFyYW0gc3RydWN0X25vICBUaGUgbnVtYmVyIG9mIHRoZSBzdHJ1Y3R1cmUgdG8gaGFu ZGxlICgwLi41KS4KKyAgQHBhcmFtIGRyb3AgICAgICAgSWYgdXNlcl9mcm9tIGlzIHRvIGJlIGRy b3BwZWQuCisgIEBwYXJhbSB1c2VyX2Zyb20gIFRoZSB0aGUgdXNlciB0byBiZSBzZWFyY2hlZC9k cm9wcGVkL3JlbmFtZWQuCisgIEBwYXJhbSB1c2VyX3RvICAgIFRoZSBuZXcgbmFtZSBmb3IgdGhl IHVzZXIgaWYgdG8gYmUgcmVuYW1lZCwgTlVMTCBvdGhlcndpc2UuCiAKLSAgREVTQ1JJUFRJT04K KyAgQG5vdGUKICAgICBTY2FuIHRocm91Z2ggYWxsIGVsZW1lbnRzIGluIGFuIGluLW1lbW9yeSBn cmFudCBzdHJ1Y3R1cmUgYW5kIGFwcGx5CiAgICAgdGhlIHJlcXVlc3RlZCBvcGVyYXRpb24uCiAg ICAgRGVsZXRlIGZyb20gZ3JhbnQgc3RydWN0dXJlIGlmIGRyb3AgaXMgdHJ1ZS4KQEAgLTYwMDMs MTIgKzYwMDAsMTMgQEAgc3RhdGljIGludCBoYW5kbGVfZ3JhbnRfdGFibGUoVEFCTEVfTElTVAog ICAgIDAgYWNsX3VzZXJzCiAgICAgMSBhY2xfZGJzCiAgICAgMiBjb2x1bW5fcHJpdl9oYXNoCi0g ICAgMyBwcm9jc19wcml2X2hhc2gKLQotICBSRVRVUk4KLSAgICA+IDAgICAgICAgICBBdCBsZWFz dCBvbmUgZWxlbWVudCBtYXRjaGVkLgotICAgIDAgICAgICAgICAgIE9LLCBidXQgbm8gZWxlbWVu dCBtYXRjaGVkLgotICAgIC0xCQlXcm9uZyBhcmd1bWVudHMgdG8gZnVuY3Rpb24KKyAgICAzIHBy b2NfcHJpdl9oYXNoCisgICAgNCBmdW5jX3ByaXZfaGFzaAorICAgIDUgYWNsX3Byb3h5X3VzZXJz CisKKyAgQHJldHZhbCA+IDAgIEF0IGxlYXN0IG9uZSBlbGVtZW50IG1hdGNoZWQuCisgIEByZXR2 YWwgMCAgICBPSywgYnV0IG5vIGVsZW1lbnQgbWF0Y2hlZC4KKyAgQHJldHZhbCAtMSAgIFdyb25n IGFyZ3VtZW50cyB0byBmdW5jdGlvbi4KICovCiAKIHN0YXRpYyBpbnQgaGFuZGxlX2dyYW50X3N0 cnVjdCh1aW50IHN0cnVjdF9ubywgYm9vbCBkcm9wLApAQCAtNjAyMyw2ICs2MDIxLDcgQEAgc3Rh dGljIGludCBoYW5kbGVfZ3JhbnRfc3RydWN0KHVpbnQgc3RydQogICBBQ0xfREIgKmFjbF9kYj0g TlVMTDsKICAgQUNMX1BST1hZX1VTRVIgKmFjbF9wcm94eV91c2VyPSBOVUxMOwogICBHUkFOVF9O QU1FICpncmFudF9uYW1lPSBOVUxMOworICBIQVNIICpncmFudF9uYW1lX2hhc2g9IE5VTEw7CiAg IERCVUdfRU5URVIoImhhbmRsZV9ncmFudF9zdHJ1Y3QiKTsKICAgREJVR19QUklOVCgiaW5mbyIs KCJzY2FuIHN0cnVjdDogJXUgIHNlYXJjaDogJyVzJ0AnJXMnIiwKICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdF9ubywgdXNlcl9mcm9tLT51c2VyLnN0ciwgdXNlcl9mcm9tLT5ob3N0LnN0cikp OwpAQCAtNjA0Miw5ICs2MDQxLDE1IEBAIHN0YXRpYyBpbnQgaGFuZGxlX2dyYW50X3N0cnVjdCh1 aW50IHN0cnUKICAgICBicmVhazsKICAgY2FzZSAyOgogICAgIGVsZW1lbnRzPSBjb2x1bW5fcHJp dl9oYXNoLnJlY29yZHM7CisgICAgZ3JhbnRfbmFtZV9oYXNoPSAmY29sdW1uX3ByaXZfaGFzaDsK ICAgICBicmVhazsKICAgY2FzZSAzOgogICAgIGVsZW1lbnRzPSBwcm9jX3ByaXZfaGFzaC5yZWNv cmRzOworICAgIGdyYW50X25hbWVfaGFzaD0gJnByb2NfcHJpdl9oYXNoOworICAgIGJyZWFrOwor ICBjYXNlIDQ6CisgICAgZWxlbWVudHM9IGZ1bmNfcHJpdl9oYXNoLnJlY29yZHM7CisgICAgZ3Jh bnRfbmFtZV9oYXNoPSAmZnVuY19wcml2X2hhc2g7CiAgICAgYnJlYWs7CiAgIGNhc2UgNToKICAg ICBlbGVtZW50cz0gYWNsX3Byb3h5X3VzZXJzLmVsZW1lbnRzOwpAQCAtNjA3NywyMSArNjA4Miwx OSBAQCBzdGF0aWMgaW50IGhhbmRsZV9ncmFudF9zdHJ1Y3QodWludCBzdHJ1CiAgICAgICBicmVh azsKIAogICAgIGNhc2UgMjoKLSAgICAgIGdyYW50X25hbWU9IChHUkFOVF9OQU1FKikgbXlfaGFz aF9lbGVtZW50KCZjb2x1bW5fcHJpdl9oYXNoLCBpZHgpOwotICAgICAgdXNlcj0gZ3JhbnRfbmFt ZS0+dXNlcjsKLSAgICAgIGhvc3Q9IGdyYW50X25hbWUtPmhvc3QuaG9zdG5hbWU7Ci0gICAgICBi cmVhazsKLQogICAgIGNhc2UgMzoKLSAgICAgIGdyYW50X25hbWU9IChHUkFOVF9OQU1FKikgbXlf aGFzaF9lbGVtZW50KCZwcm9jX3ByaXZfaGFzaCwgaWR4KTsKKyAgICBjYXNlIDQ6CisgICAgICBn cmFudF9uYW1lPSAoR1JBTlRfTkFNRSopIG15X2hhc2hfZWxlbWVudChncmFudF9uYW1lX2hhc2gs IGlkeCk7CiAgICAgICB1c2VyPSBncmFudF9uYW1lLT51c2VyOwogICAgICAgaG9zdD0gZ3JhbnRf bmFtZS0+aG9zdC5ob3N0bmFtZTsKICAgICAgIGJyZWFrOworCiAgICAgY2FzZSA1OgogICAgICAg YWNsX3Byb3h5X3VzZXI9IGR5bmFtaWNfZWxlbWVudCgmYWNsX3Byb3h5X3VzZXJzLCBpZHgsIEFD TF9QUk9YWV9VU0VSKik7CiAgICAgICB1c2VyPSBhY2xfcHJveHlfdXNlci0+Z2V0X3VzZXIoKTsK ICAgICAgIGhvc3Q9IGFjbF9wcm94eV91c2VyLT5nZXRfaG9zdCgpOwogICAgICAgYnJlYWs7CisK ICAgICBkZWZhdWx0OgogICAgICAgTVlfQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CiAgICAgfQpAQCAt NjEyMSwxMSArNjEyNCw5IEBAIHN0YXRpYyBpbnQgaGFuZGxlX2dyYW50X3N0cnVjdCh1aW50IHN0 cnUKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgMjoKLSAgICAgICAgbXlfaGFzaF9kZWxl dGUoJmNvbHVtbl9wcml2X2hhc2gsICh1Y2hhciopIGdyYW50X25hbWUpOwotCWJyZWFrOwotCiAg ICAgICBjYXNlIDM6Ci0gICAgICAgIG15X2hhc2hfZGVsZXRlKCZwcm9jX3ByaXZfaGFzaCwgKHVj aGFyKikgZ3JhbnRfbmFtZSk7CisgICAgICBjYXNlIDQ6CisgICAgICAgIG15X2hhc2hfZGVsZXRl KGdyYW50X25hbWVfaGFzaCwgKHVjaGFyKikgZ3JhbnRfbmFtZSk7CiAJYnJlYWs7CiAKICAgICAg IGNhc2UgNToKQEAgLTYxMzQsNiArNjEzNSwxOSBAQCBzdGF0aWMgaW50IGhhbmRsZV9ncmFudF9z dHJ1Y3QodWludCBzdHJ1CiAKICAgICAgIH0KICAgICAgIGVsZW1lbnRzLS07CisgICAgICAvKgor ICAgICAgICAtIElmIHdlIGFyZSBpdGVyYXRpbmcgdGhyb3VnaCBhbiBhcnJheSB0aGVuIHdlIGp1 c3QgaGF2ZSBtb3ZlZCBhbGwKKyAgICAgICAgICBlbGVtZW50cyBhZnRlciB0aGUgY3VycmVudCBl bGVtZW50IG9uZSBwb3NpdGlvbiBjbG9zZXIgdG8gaXRzIGhlYWQuCisgICAgICAgICAgVGhpcyBt ZWFucyB0aGF0IHdlIGhhdmUgdG8gdGFrZSBhbm90aGVyIGxvb2sgYXQgdGhlIGVsZW1lbnQgYXQK KyAgICAgICAgICBjdXJyZW50IHBvc2l0aW9uIGFzIGl0IGlzIGEgbmV3IGVsZW1lbnQgZnJvbSB0 aGUgYXJyYXkncyB0YWlsLgorICAgICAgICAtIElmIHdlIGFyZSBpdGVyYXRpbmcgdGhyb3VnaCBh IGhhc2ggdGhlIGN1cnJlbnQgZWxlbWVudCB3YXMgcmVwbGFjZWQKKyAgICAgICAgICB3aXRoIG9u ZSBvZiBlbGVtZW50cyBmcm9tIHRoZSB0YWlsLiBTbyB3ZSBhbHNvIGhhdmUgdG8gdGFrZSBhIGxv b2sKKyAgICAgICAgICBhdCB0aGUgbmV3IGVsZW1lbnQgaW4gY3VycmVudCBwb3NpdGlvbi4KKyAg ICAgICAgICBOb3RlIHRoYXQgaW4gb3VyIEhBU0ggaW1wbGVtZW50YXRpb24gaGFzaF9kZWxldGUo KSB3b24ndCBtb3ZlIGFueQorICAgICAgICAgIGVsZW1lbnRzIHdpdGggcG9zaXRpb24gYWZ0ZXIg Y3VycmVudCBvbmUgdG8gcG9zaXRpb24gYmVmb3JlIHRoZQorICAgICAgICAgIGN1cnJlbnQgKGku ZS4gZnJvbSB0aGUgdGFpbCB0byB0aGUgaGVhZCksIHNvIGl0IGlzIHNhZmUgdG8gY29udGludWUK KyAgICAgICAgICBpdGVyYXRpb24gd2l0aG91dCByZS1zdGFydGluZy4KKyAgICAgICovCiAgICAg ICBpZHgtLTsKICAgICB9CiAgICAgZWxzZSBpZiAoIHVzZXJfdG8gKQpAQCAtNjE1MSwyMiArNjE2 NSw0MSBAQCBzdGF0aWMgaW50IGhhbmRsZV9ncmFudF9zdHJ1Y3QodWludCBzdHJ1CiAKICAgICAg IGNhc2UgMjoKICAgICAgIGNhc2UgMzoKLSAgICAgICAgLyogCi0gICAgICAgICAgVXBkYXRlIHRo ZSBncmFudCBzdHJ1Y3R1cmUgd2l0aCB0aGUgbmV3IHVzZXIgbmFtZSBhbmQKLSAgICAgICAgICBo b3N0IG5hbWUKLSAgICAgICAgKi8KLSAgICAgICAgZ3JhbnRfbmFtZS0+c2V0X3VzZXJfZGV0YWls cyh1c2VyX3RvLT5ob3N0LnN0ciwgZ3JhbnRfbmFtZS0+ZGIsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdXNlcl90by0+dXNlci5zdHIsIGdyYW50X25hbWUtPnRuYW1lLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUpOwotCi0gICAgICAgIC8q Ci0gICAgICAgICAgU2luY2UgdXNlcm5hbWUgaXMgcGFydCBvZiB0aGUgaGFzaCBrZXksIHdoZW4g dGhlIHVzZXIgbmFtZQotICAgICAgICAgIGlzIHJlbmFtZWQsIHRoZSBoYXNoIGtleSBpcyBjaGFu Z2VkLiBVcGRhdGUgdGhlIGhhc2ggdG8KLSAgICAgICAgICBlbnN1cmUgdGhhdCB0aGUgcG9zaXRp b24gbWF0Y2hlcyB0aGUgbmV3IGhhc2gga2V5IHZhbHVlCi0gICAgICAgICovCi0gICAgICAgIG15 X2hhc2hfdXBkYXRlKCZjb2x1bW5fcHJpdl9oYXNoLCAodWNoYXIqKSBncmFudF9uYW1lLAotICAg ICAgICAgICAgICAgICAgICAgICAodWNoYXIqKSBncmFudF9uYW1lLT5oYXNoX2tleSwgZ3JhbnRf bmFtZS0+a2V5X2xlbmd0aCk7Ci0JYnJlYWs7CisgICAgICBjYXNlIDQ6CisgICAgICAgIHsKKyAg ICAgICAgICAvKgorICAgICAgICAgICAgU2F2ZSBvbGQgaGFzaCBrZXkgYW5kIGl0cyBsZW5ndGgg dG8gYmUgYWJsZSBwcm9wZXJseSB1cGRhdGUKKyAgICAgICAgICAgIGVsZW1lbnQgcG9zaXRpb24g aW4gaGFzaC4KKyAgICAgICAgICAqLworICAgICAgICAgIGNoYXIgKm9sZF9rZXk9IGdyYW50X25h bWUtPmhhc2hfa2V5OworICAgICAgICAgIHNpemVfdCBvbGRfa2V5X2xlbmd0aD0gZ3JhbnRfbmFt ZS0+a2V5X2xlbmd0aDsKKworICAgICAgICAgIC8qCisgICAgICAgICAgICBVcGRhdGUgdGhlIGdy YW50IHN0cnVjdHVyZSB3aXRoIHRoZSBuZXcgdXNlciBuYW1lIGFuZCBob3N0IG5hbWUuCisgICAg ICAgICAgKi8KKyAgICAgICAgICBncmFudF9uYW1lLT5zZXRfdXNlcl9kZXRhaWxzKHVzZXJfdG8t Pmhvc3Quc3RyLCBncmFudF9uYW1lLT5kYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVzZXJfdG8tPnVzZXIuc3RyLCBncmFudF9uYW1lLT50bmFtZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUpOworCisgICAgICAgICAgLyoKKyAg ICAgICAgICAgIFNpbmNlIHVzZXJuYW1lIGlzIHBhcnQgb2YgdGhlIGhhc2gga2V5LCB3aGVuIHRo ZSB1c2VyIG5hbWUKKyAgICAgICAgICAgIGlzIHJlbmFtZWQsIHRoZSBoYXNoIGtleSBpcyBjaGFu Z2VkLiBVcGRhdGUgdGhlIGhhc2ggdG8KKyAgICAgICAgICAgIGVuc3VyZSB0aGF0IHRoZSBwb3Np dGlvbiBtYXRjaGVzIHRoZSBuZXcgaGFzaCBrZXkgdmFsdWUKKyAgICAgICAgICAqLworICAgICAg ICAgIG15X2hhc2hfdXBkYXRlKGdyYW50X25hbWVfaGFzaCwgKHVjaGFyKikgZ3JhbnRfbmFtZSwg KHVjaGFyKikgb2xkX2tleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBvbGRfa2V5X2xlbmd0 aCk7CisgICAgICAgICAgLyoKKyAgICAgICAgICAgIGhhc2hfdXBkYXRlKCkgb3BlcmF0aW9uIGNv dWxkIGhhdmUgbW92ZWQgZWxlbWVudCBmcm9tIHRoZSB0YWlsCisgICAgICAgICAgICBvZiB0aGUg aGFzaCB0byB0aGUgY3VycmVudCBwb3NpdGlvbi4gU28gd2UgbmVlZCB0byB0YWtlIGEgbG9vawor ICAgICAgICAgICAgYXQgdGhlIGVsZW1lbnQgaW4gY3VycmVudCBwb3NpdGlvbiBvbmNlIGFnYWlu LgorICAgICAgICAgICAgVGhhbmtzIHRvIHRoZSBmYWN0IHRoYXQgaGFzaF91cGRhdGUoKSBmb3Ig b3VyIEhBU0ggaW1wbGVtZW50YXRpb24KKyAgICAgICAgICAgIHdvbid0IG1vdmUgYW55IGVsZW1l bnRzIGZyb20gdGhlIHRhaWwgb2YgdGhlIGhhc2ggdG8gdGhlIHBvc2l0aW9ucworICAgICAgICAg ICAgYmVmb3JlIHRoZSBjdXJyZW50IG9uZSAoYS5rLmEuIGhlYWQpIGl0IGlzIHNhZmUgdG8gY29u dGludWUKKyAgICAgICAgICAgIGl0ZXJhdGlvbiB3aXRob3V0IHJlc3RhcnRpbmcuCisgICAgICAg ICAgKi8KKyAgICAgICAgICBpZHgtLTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogCiAg ICAgICBjYXNlIDU6CiAgICAgICAgIGFjbF9wcm94eV91c2VyLT5zZXRfdXNlciAoJm1lbSwgdXNl cl90by0+dXNlci5zdHIpOwpAQCAtNjI1OCw3ICs2MjkxLDcgQEAgc3RhdGljIGludCBoYW5kbGVf Z3JhbnRfZGF0YShUQUJMRV9MSVNUCiAgICAgfQogICB9CiAKLSAgLyogSGFuZGxlIHByb2NlZHVy ZXMgdGFibGUuICovCisgIC8qIEhhbmRsZSBzdG9yZWQgcm91dGluZXMgdGFibGUuICovCiAgIGlm ICgoZm91bmQ9IGhhbmRsZV9ncmFudF90YWJsZSh0YWJsZXMsIDQsIGRyb3AsIHVzZXJfZnJvbSwg dXNlcl90bykpIDwgMCkKICAgewogICAgIC8qIEhhbmRsZSBvZiB0YWJsZSBmYWlsZWQsIGRvbid0 IHRvdWNoIGluLW1lbW9yeSBhcnJheS4gKi8KQEAgLTYyNzEsNiArNjMwNCwxNSBAQCBzdGF0aWMg aW50IGhhbmRsZV9ncmFudF9kYXRhKFRBQkxFX0xJU1QKICAgICAgICAgIGZvdW5kKSAmJiAhIHJl c3VsdCkKICAgICB7CiAgICAgICByZXN1bHQ9IDE7IC8qIEF0IGxlYXN0IG9uZSByZWNvcmQvZWxl bWVudCBmb3VuZC4gKi8KKyAgICAgIC8qIElmIHNlYXJjaCBpcyByZXF1ZXN0ZWQsIHdlIGRvIG5v dCBuZWVkIHRvIHNlYXJjaCBmdXJ0aGVyLiAqLworICAgICAgaWYgKCEgZHJvcCAmJiAhIHVzZXJf dG8pCisgICAgICAgIGdvdG8gZW5kOworICAgIH0KKyAgICAvKiBIYW5kbGUgZnVuY3MgYXJyYXku ICovCisgICAgaWYgKCgoaGFuZGxlX2dyYW50X3N0cnVjdCg0LCBkcm9wLCB1c2VyX2Zyb20sIHVz ZXJfdG8pICYmICEgcmVzdWx0KSB8fAorICAgICAgICAgZm91bmQpICYmICEgcmVzdWx0KQorICAg IHsKKyAgICAgIHJlc3VsdD0gMTsgLyogQXQgbGVhc3Qgb25lIHJlY29yZC9lbGVtZW50IGZvdW5k LiAqLwogICAgICAgLyogSWYgc2VhcmNoIGlzIHJlcXVlc3RlZCwgd2UgZG8gbm90IG5lZWQgdG8g c2VhcmNoIGZ1cnRoZXIuICovCiAgICAgICBpZiAoISBkcm9wICYmICEgdXNlcl90bykKICAgICAg ICAgZ290byBlbmQ7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF90cmlnZ2VyLmNjJwotLS0g YS9zcWwvc3FsX3RyaWdnZXIuY2MJMjAxMS0wMy0wNyAwOTowODoxMCArMDAwMAorKysgYi9zcWwv c3FsX3RyaWdnZXIuY2MJMjAxMS0wMy0xMCAwODowNzo1NyArMDAwMApAQCAtMzAsNiArMzAsNyBA QAogI2luY2x1ZGUgInNxbF9kYi5oIiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGdldF9kZWZh dWx0X2RiX2NvbGxhdGlvbgogI2luY2x1ZGUgInNxbF9hY2wuaCIgICAgICAgICAgICAgICAgICAg ICAgIC8vICpfQUNMLCBpc19hY2xfdXNlcgogI2luY2x1ZGUgInNxbF9oYW5kbGVyLmgiICAgICAg ICAgICAgICAgICAgICAgICAgLy8gbXlzcWxfaGFfcm1fdGFibGVzCisjaW5jbHVkZSAic3BfY2Fj aGUuaCIgICAgICAgICAgICAgICAgICAgICAvLyBzcF9pbnZhbGlkYXRlX2NhY2hlCiAKIC8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqLwogCkBAIC01MTcsNiArNTE4LDEyIEBAIGJvb2wgbXlzcWxfY3JlYXRlX29y X2Ryb3BfdHJpZ2dlcihUSEQgKnQKICAgKi8KICAgdGhkLT5sb2NrZWRfdGFibGVzX2xpc3QucmVv cGVuX3RhYmxlcyh0aGQpOwogCisgIC8qCisgICAgSW52YWxpZGF0ZSBTUC1jYWNoZS4gVGhhdCdz IG5lZWRlZCBiZWNhdXNlIHRyaWdnZXJzIG1heSBjaGFuZ2UgbGlzdCBvZgorICAgIHByZS1sb2Nr aW5nIHRhYmxlcy4KKyAgKi8KKyAgc3BfY2FjaGVfaW52YWxpZGF0ZSgpOworCiBlbmQ6CiAgIGlm ICghcmVzdWx0KQogICB7CgpObyBidW5kbGUgKHJlYXNvbjogcmV2aXNpb24gaXMgYSBtZXJnZSku