From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Add missing testcases present in rhel6 GDB; some still FAIL. Date: Sat, 27 Jun 2026 23:57:57 GMT Message-ID: <178260467738.1.10256792499979949654.rpms-gdb-29d49d94919c@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 29d49d94919c0664cf9421b12eacbd9e78a7d3f9 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGdkYi0xNy4yLXJlYmFzZS1mNDQKQ29tbWl0IDogMjlkNDlkOTQ5MTljMDY2NGNmOTQyMWIxMmVh Y2JkOWU3OGE3ZDNmOQpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KRGF0ZSAgIDogMjAxNi0xMC0yMFQyMjozMDo0MyswMjowMApTdGF0cyAgOiArMjg5 OS8tODcgaW4gMTEgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9y Zy9ycG1zL2dkYi9jLzI5ZDQ5ZDk0OTE5YzA2NjRjZjk0MjFiMTJlYWNiZDllNzhhN2QzZjk/YnJh bmNoPWdkYi0xNy4yLXJlYmFzZS1mNDQKCkxvZzoKQWRkIG1pc3NpbmcgdGVzdGNhc2VzIHByZXNl bnQgaW4gcmhlbDYgR0RCOyBzb21lIHN0aWxsIEZBSUwuCgotLS0KZGlmZiAtLWdpdCBhL2dkYi02 LjMtc3RlcC10aHJlYWQtZXhpdC0yMDA1MDIxMS10ZXN0LnBhdGNoIGIvZ2RiLTYuMy1zdGVwLXRo cmVhZC1leGl0LTIwMDUwMjExLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNjlhMmY5NgotLS0gL2Rldi9udWxsCisrKyBiL2dkYi02LjMtc3RlcC10aHJlYWQt ZXhpdC0yMDA1MDIxMS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMTg3IEBACisyMDA1LTAyLTExICBK ZWZmIEpvaG5zdG9uICA8ampvaG5zdG5AcmVkaGF0LmNvbT4KKworCSogdGVzdHN1aXRlL2dkYi50 aHJlYWRzL3N0ZXAtdGhyZWFkLWV4aXQuYzogTmV3IHRlc3RjYXNlLgorCSogdGVzdHN1aXRlL2dk Yi50aHJlYWRzL3N0ZXAtdGhyZWFkLWV4aXQuZXhwOiBEaXR0by4KKwkKK0luZGV4OiBnZGItNy4x Mi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3N0ZXAtdGhyZWFkLWV4aXQuYworPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysr IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc3RlcC10aHJlYWQtZXhpdC5jCTIw MTYtMTAtMjAgMjE6MzY6MTcuMjg4NjUxOTg5ICswMjAwCitAQCAtMCwwICsxLDQ5IEBACisrLyog VGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBD b3B5cmlnaHQgMjAwNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisr ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0 byB0aGUgRnJlZSBTb2Z0d2FyZQorKyAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj ZSAtIFN1aXRlIDMzMCwKKysgICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4gICovCisrCisr I2luY2x1ZGUgPHB0aHJlYWQuaD4KKysjaW5jbHVkZSA8c3RkaW8uaD4KKysjaW5jbHVkZSA8c3Rk bGliLmg+CisrI2luY2x1ZGUgPHVuaXN0ZC5oPgorKworK3ZvaWQgKnRocmVhZF9mdW5jdGlvbiAo dm9pZCAqcHRyKQorK3sKKysgIGludCAqeCA9IChpbnQgKilwdHI7CisrICBwcmludGYoIkluIHRo cmVhZF9mdW5jdGlvbiwgKnggaXMgJWRcbiIsICp4KTsKKyt9IC8qIHRocmVhZF9mdW5jdGlvbl9l bmQgKi8KKysKKyt2b2xhdGlsZSBpbnQgcmVwZWF0ID0gMDsKKysKKytpbnQKKyttYWluICh2b2lk KQorK3sKKysgIGludCByZXQ7CisrICBwdGhyZWFkX3QgdGg7CisrICBpbnQgaSA9IDM7CisrCisr ICByZXQgPSBwdGhyZWFkX2NyZWF0ZSAoJnRoLCBOVUxMLCB0aHJlYWRfZnVuY3Rpb24sICZpKTsK KysgIGRvCisrICAgIHsKKysgICAgICByZXBlYXQgPSAwOworKyAgICAgIHNsZWVwICgzKTsgIC8q IHNsZWVwICovCisrICAgIH0KKysgIHdoaWxlIChyZXBlYXQpOworKyAgcHRocmVhZF9qb2luICh0 aCwgTlVMTCk7CisrICByZXR1cm4gMDsKKyt9CitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0 ZS9nZGIudGhyZWFkcy9zdGVwLXRocmVhZC1leGl0LmV4cAorPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjEyL2dk Yi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc3RlcC10aHJlYWQtZXhpdC5leHAJMjAxNi0xMC0yMCAy MTozODoxNy42NzI1NzkxNTMgKzAyMDAKK0BAIC0wLDAgKzEsMTIzIEBACisrIyBUaGlzIHRlc3Rj YXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyMgQ29weXJpZ2h0IDIw MDUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl CisrIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3Rv biwgTUEgMDIxMTEtMTMwNywgVVNBLiAgCisrCisrIyBDaGVjayB0aGF0IEdEQiBjYW4gc3RlcCBv dmVyIGEgdGhyZWFkIGV4aXQuCisrCisrc2V0IHRlc3RmaWxlICJzdGVwLXRocmVhZC1leGl0Igor K3NldCBzcmNmaWxlICR7dGVzdGZpbGV9LmMKKytzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0 X2ZpbGUgJHt0ZXN0ZmlsZX1dCisraWYge1tnZGJfY29tcGlsZV9wdGhyZWFkcyAiJHtzcmNkaXJ9 LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSBbbGlzdCBkZWJ1 ZyAiaW5jZGlyPVtzdGFuZGFyZF9vdXRwdXRfZmlsZSAuXSJdXSAhPSAiIiB9IHsKKysgICAgcmV0 dXJuIC0xCisrfQorKworK2dkYl9leGl0CisrZ2RiX3N0YXJ0CisrZ2RiX3JlaW5pdGlhbGl6ZV9k aXIgJHNyY2Rpci8kc3ViZGlyCisrZ2RiX2xvYWQgJHtiaW5maWxlfQorKworKyMgUmVzZXQgdGhl IGRlYnVnIGZpbGUgZGlyZWN0b3J5IHNvIHdlIGNhbid0IGRlYnVnIHdpdGhpbiB0aGUgQyBsaWJy YXJ5CisrZ2RiX3Rlc3QgInNldCBkZWJ1Zy1maWxlLWRpcmVjdG9yeSAuIiAiIiAiIgorKworKyMK KysjIFJ1biB0byBgbWFpbicgd2hlcmUgd2UgYmVnaW4gb3VyIHRlc3RzLgorKyMKKysKKytpZiAh W3J1bnRvX21haW5dIHRoZW4geworKyAgICBnZGJfc3VwcHJlc3NfdGVzdHMKKyt9CisrCisrIyBG SVhNRTogQ3VycmVudGx5IHRoZSBtYWluIHRocmVhZCB3aWxsIGVzY2FwZS9leGl0IGJlZm9yZSBv dXIgdGhyZWFkIGZpbmlzaGVzCisrIyB3aXRob3V0IHRoaXMgc2V0dGluZy4KKytnZGJfdGVzdCAi c2V0IHNjaGVkdWxlci1sb2NraW5nIHN0ZXAiCisrZ2RiX3Rlc3QgInNob3cgc2NoZWR1bGVyLWxv Y2tpbmciICJNb2RlIGZvciBsb2NraW5nIHNjaGVkdWxlciBkdXJpbmcgZXhlY3V0aW9uIGlzIFwi c3RlcFwiLiIgImNoZWNrIHNjaGVkdWxlci1sb2NraW5nIGZpcnN0IgorKworK3NldCBzbGVlcF9s aW5lIFtleHByIFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJzbGVlcCJdXQorK3NldCBlbmRfbGluZSBb ZXhwciBbZ2RiX2dldF9saW5lX251bWJlciAidGhyZWFkX2Z1bmN0aW9uX2VuZCJdXQorKworK2dk Yl9icmVha3BvaW50ICIkZW5kX2xpbmUiCisrZ2RiX3Rlc3QgImNvbnRpbnVlIiAiQnJlYWsuKnRo cmVhZF9mdW5jdGlvbi4qIiAiY29udGludWUgdG8gdGhyZWFkX2Z1bmN0aW9uIDEiCisrCisrIyBL ZWVwIG5leHRpbmcgdW50aWwgd2UgY2F1c2UgdGhlIHRocmVhZCB0byBleGl0LiAgV2UgZXhwZWN0 IHRoZSBtYWluCisrIyB0aHJlYWQgdG8gYmUgc3RvcHBlZCBhbmQgYSBtZXNzYWdlIHByaW50ZWQg dG8gdGVsbCB1cyB3ZSBoYXZlIHN0ZXBwZWQKKysjIG92ZXIgdGhlIHRocmVhZCBleGl0LgorK3Nl dCB0ZXN0ICJzdGVwIG92ZXIgdGhyZWFkIGV4aXQgMSIKKytnZGJfdGVzdF9tdWx0aXBsZSAibmV4 dCIgIiR0ZXN0IiB7CisrICAtcmUgIlx9LiokZ2RiX3Byb21wdCAkIiB7CisrICAgICBzZW5kX2dk YiAibmV4dFxuIgorKyAgICAgZXhwX2NvbnRpbnVlCisrICB9CisrICAtcmUgIlxbVGhyZWFkIC4q IGV4aXRlZFxdLipQcm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdTVE9QLiokZ2RiX3Byb21wdCAk IiB7CisrICAgICBwYXNzICIkdGVzdCIKKysgIH0KKysgIC1yZSAic3RhcnRfdGhyZWFkLiokZ2Ri X3Byb21wdCAkIiB7CisrICAgICBzZW5kX2dkYiAibmV4dFxuIgorKyAgICAgZXhwX2NvbnRpbnVl CisrICB9CisrfQorKworKyMgV2l0aG91dCB0aGlzIGZpeHVwIHdlIGNvdWxkIGVuZCB1cCBpbjoK KysjICMwICAweDAwMTEwNDE2IGluIF9fa2VybmVsX3ZzeXNjYWxsICgpCisrIyAjMSAgMHgwMDEx ZGUyNiBpbiBfX2xsbF91bmxvY2tfd2FrZV9wcml2YXRlICgpIGZyb20gL2xpYi9saWJwdGhyZWFk LnNvLjAKKysjICMyICAweDAwMTE3OWY0IGluIF9MX3VubG9ja18zMTY0ICgpIGZyb20gL2xpYi9s aWJwdGhyZWFkLnNvLjAKKysjICMzICAweDAwMTE2ZjAxIGluIHB0aHJlYWRfY3JlYXRlQEBHTElC Q18yLjEgKCkgZnJvbSAvbGliL2xpYnB0aHJlYWQuc28uMAorKyMgIzQgIDB4MDgwNDg1MzEgaW4g bWFpbiAoKSBhdCAuLi8uLi8uL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc3RlcC10aHJlYWQt ZXhpdC5jOjM5CisrZ2RiX2JyZWFrcG9pbnQgIiRzbGVlcF9saW5lIgorK2dkYl90ZXN0ICJzZXQg cmVwZWF0PTEiICIiICJHZXQgdG8gdGhlIHNsZWVwIGZ1bmN0aW9uIHByZXBhcmUgMSIKKytnZGJf dGVzdCAiY29udGludWUiICJCcmVhay4qJHNsZWVwX2xpbmUuKiIgIkdldCB0byB0aGUgc2xlZXAg ZnVuY3Rpb24gMSIKKysKKytnZGJfdGVzdCAiYnQiICJtYWluLiokc2xlZXBfbGluZS4qIiAiYmFj a3RyYWNlIGFmdGVyIHN0ZXAgMSIKKysKKytydW50b19tYWluCisrZ2RiX3Rlc3QgInNob3cgc2No ZWR1bGVyLWxvY2tpbmciICJNb2RlIGZvciBsb2NraW5nIHNjaGVkdWxlciBkdXJpbmcgZXhlY3V0 aW9uIGlzIFwic3RlcFwiLiIgImNoZWNrIHNjaGVkdWxlci1sb2NraW5nIHNlY29uZCIKKysKKytn ZGJfYnJlYWtwb2ludCAiJHNsZWVwX2xpbmUiCisrZ2RiX2JyZWFrcG9pbnQgIiRlbmRfbGluZSIK KytzZXQgdGVzdCAiY29udGludWUgdG8gdGhyZWFkX2Z1bmN0aW9uIDIiCisrZ2RiX3Rlc3RfbXVs dGlwbGUgImNvbnRpbnVlIiAiJHRlc3QiIHsKKysgICAgLXJlICJCcmVhay4qdGhyZWFkX2Z1bmN0 aW9uLiokZ2RiX3Byb21wdCAkIiB7CisrCXBhc3MgJHRlc3QKKysgICAgfQorKyAgICAtcmUgIkJy ZWFrLiokc2xlZXBfbGluZS4qJGdkYl9wcm9tcHQgJCIgeworKwlnZGJfdGVzdCAic2V0IHJlcGVh dD0xIiAiIiAiIgorKwlzZW5kX2dkYiAiY29udGludWVcbiIKKysJZXhwX2NvbnRpbnVlCisrICAg IH0KKyt9CisrCisrIyBLZWVwIG5leHRpbmcgdW50aWwgd2UgY2F1c2UgdGhlIHRocmVhZCB0byBl eGl0LiAgSW4gdGhpcyBjYXNlLCB3ZQorKyMgZXhwZWN0IHRoZSBicmVha3BvaW50IGluIHRoZSBt YWluIHRocmVhZCB0byBoYXZlIGFscmVhZHkgdHJpZ2dlcmVkCisrIyBhbmQgc28gd2Ugc2hvdWxk IHN0b3AgdGhlcmUgd2l0aCBhIG1lc3NhZ2UgdGhhdCB3ZSBzdGVwcGVkIG92ZXIKKysjIHRoZSB0 aHJlYWQgZXhpdC4KKytzZXQgdGVzdCAic3RlcCBvdmVyIHRocmVhZCBleGl0IDIiCisrZ2RiX3Rl c3RfbXVsdGlwbGUgIm5leHQiICIkdGVzdCIgeworKyAgLXJlICJcfS4qJGdkYl9wcm9tcHQgJCIg eworKyAgICAgc2VuZF9nZGIgIm5leHRcbiIKKysgICAgIGV4cF9jb250aW51ZQorKyAgfQorKyAg LXJlICJcW1RocmVhZCAuKiBleGl0ZWRcXS4qQnJlYWsuKiRzbGVlcF9saW5lLiokZ2RiX3Byb21w dCAkIiB7CisrICAgICBwYXNzICIkdGVzdCAoYnJlYWtwb2ludCBoaXQpIgorKyAgfQorKyAgLXJl ICJcW1RocmVhZCAuKiBleGl0ZWRcXS4qJGdkYl9wcm9tcHQgJCIgeworKyAgICAgcGFzcyAiJHRl c3QgKGJyZWFrcG9pbnQgbm90IGhpdCkiCisrICB9CisrICAtcmUgInN0YXJ0X3RocmVhZC4qJGdk Yl9wcm9tcHQgJCIgeworKyAgICAgc2VuZF9nZGIgIm5leHRcbiIKKysgICAgIGV4cF9jb250aW51 ZQorKyAgfQorK30KKysKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXZsYS10ZXN0cy5wYXRjaCBi L2dkYi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoCmluZGV4IGYzMDE4MGEuLjEzMzI2MTQgMTAwNjQ0 Ci0tLSBhL2dkYi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoCisrKyBiL2dkYi1hcmNoZXItdmxhLXRl c3RzLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dk Yi90ZXN0c3VpdGUvZ2RiLmFkYS9wYWNrZWRfYXJyYXkuZXhwCitJbmRleDogZ2RiLTcuMTIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYWRhL3BhY2tlZF9hcnJheS5leHAKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMS45MC4yMDE2MDgwNy5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmFkYS9wYWNrZWRfYXJyYXku ZXhwCTIwMTYtMDgtMDcgMDQ6MDA6MDEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMTEuOTAu MjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYWRhL3BhY2tlZF9hcnJheS5leHAJMjAxNi0wOC0y NSAxODo0NDo0Mi4wNTg3ODkwNTggKzAyMDAKKy0tLSBnZGItNy4xMi5vcmlnL2dkYi90ZXN0c3Vp dGUvZ2RiLmFkYS9wYWNrZWRfYXJyYXkuZXhwCTIwMTYtMTAtMjAgMjE6MDI6MzAuOTQxOTcwNTU2 ICswMjAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYWRhL3BhY2tlZF9hcnJheS5l eHAJMjAxNi0xMC0yMCAyMTowMzowOS40ODQyNzE5MTMgKzAyMDAKIEBAIC01Niw1ICs1NiwxMSBA QAogICAgICAgICAgIyBhcmUuICBPYnNlcnZlZCB3aXRoIChGU0YgR05VIEFkYSA0LjUuMyAyMDEx MDEyNCkuCiAgICAgICAgICB4ZmFpbCAkdGVzdApAQCAtMTQsMTAgKzE0LDU5MyBAQCBJbmRleDog Z2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYWRhL3BhY2tlZF9hcnJheS5l eHAKICsgICAgfQogIH0KICAKLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1 aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi1mb28uUworSW5kZXg6IGdkYi03LjEyL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLWZvby5TCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5 cGVkZWYtZm9vLlMJMjAxNi0wOC0yNSAxODo0NDo0Mi4wNTg3ODkwNTggKzAyMDAKKysrKyBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci1mb28uUwkyMDE2 LTEwLTIwIDIxOjAzOjA5LjQ4NTI3MTkyMSArMDIwMAorQEAgLTAsMCArMSw0NTcgQEAKKysJLmZp bGUJIng4Nl82NC12bGEtcG9pbnRlci5jIgorKwkuc2VjdGlvbgkuZGVidWdfYWJicmV2LCIiLEBw cm9nYml0cworKy5MZGVidWdfYWJicmV2MDoKKysJLnNlY3Rpb24JLmRlYnVnX2luZm8sIiIsQHBy b2diaXRzCisrLkxkZWJ1Z19pbmZvMDoKKysJLnNlY3Rpb24JLmRlYnVnX2xpbmUsIiIsQHByb2di aXRzCisrLkxkZWJ1Z19saW5lMDoKKysJLnRleHQKKysuTHRleHQwOgorKy5nbG9ibCBmb28KKysJ LnR5cGUJZm9vLCBAZnVuY3Rpb24KKytmb286CisrLkxGQjI6CisrCS5maWxlIDEgIng4Nl82NC12 bGEtcG9pbnRlci5jIgorKwkubG9jIDEgMjIgMAorKwlwdXNocQklcmJwCisrLkxDRkkwOgorKwlt b3ZxCSVyc3AsICVyYnAKKysuTENGSTE6CisrCXN1YnEJJDY0LCAlcnNwCisrLkxDRkkyOgorKwlt b3ZsCSVlZGksIC0zNiglcmJwKQorKwkubG9jIDEgMjIgMAorKwltb3ZxCSVyc3AsICVyYXgKKysJ bW92cQklcmF4LCAtNDgoJXJicCkKKysJLmxvYyAxIDIzIDAKKysJbW92bAktMzYoJXJicCksICVl ZHgKKysJbW92c2xxCSVlZHgsJXJheAorKwlzdWJxCSQxLCAlcmF4CisrCW1vdnEJJXJheCwgLTI0 KCVyYnApCisrCS5sb2MgMSAyNCAwCisrCW1vdnNscQklZWR4LCVyYXgKKysJYWRkcQkkMTUsICVy YXgKKysJYWRkcQkkMTUsICVyYXgKKysJc2hycQkkNCwgJXJheAorKwlzYWxxCSQ0LCAlcmF4Cisr CXN1YnEJJXJheCwgJXJzcAorKwltb3ZxCSVyc3AsIC01NiglcmJwKQorKwltb3ZxCS01NiglcmJw KSwgJXJheAorKwlhZGRxCSQxNSwgJXJheAorKwlzaHJxCSQ0LCAlcmF4CisrCXNhbHEJJDQsICVy YXgKKysJbW92cQklcmF4LCAtNTYoJXJicCkKKysJbW92cQktNTYoJXJicCksICVyYXgKKysJbW92 cQklcmF4LCAtMTYoJXJicCkKKysJLmxvYyAxIDI3IDAKKysJbW92bAkkMCwgLTQoJXJicCkKKysJ am1wCS5MMgorKy5MMzoKKysJLmxvYyAxIDI4IDAKKysJbW92bAktNCglcmJwKSwgJWVzaQorKwlt b3ZsCS00KCVyYnApLCAlZWF4CisrCW1vdmwJJWVheCwgJWVjeAorKwltb3ZxCS0xNiglcmJwKSwg JXJkeAorKwltb3ZzbHEJJWVzaSwlcmF4CisrCW1vdmIJJWNsLCAoJXJkeCwlcmF4KQorKwkubG9j IDEgMjcgMAorKwlhZGRsCSQxLCAtNCglcmJwKQorKy5MMjoKKysJbW92bAktNCglcmJwKSwgJWVh eAorKwljbXBsCS0zNiglcmJwKSwgJWVheAorKwlqbAkuTDMKKysJLmxvYyAxIDMwIDAKKysJLmds b2JsCWJyZWFrX2hlcmUKKyticmVha19oZXJlOgorKwltb3ZxCS0xNiglcmJwKSwgJXJheAorKwlt b3ZiCSQwLCAoJXJheCkKKysJbW92cQktNDgoJXJicCksICVyc3AKKysJLmxvYyAxIDMxIDAKKysJ bGVhdmUKKysJcmV0CisrLkxGRTI6CisrCS5zaXplCWZvbywgLi1mb28KKysJLnNlY3Rpb24JLmRl YnVnX2ZyYW1lLCIiLEBwcm9nYml0cworKy5MZnJhbWUwOgorKwkubG9uZwkuTEVDSUUwLS5MU0NJ RTAKKysuTFNDSUUwOgorKwkubG9uZwkweGZmZmZmZmZmCisrCS5ieXRlCTB4MQorKwkuc3RyaW5n CSIiCisrCS51bGViMTI4IDB4MQorKwkuc2xlYjEyOCAtOAorKwkuYnl0ZQkweDEwCisrCS5ieXRl CTB4YworKwkudWxlYjEyOCAweDcKKysJLnVsZWIxMjggMHg4CisrCS5ieXRlCTB4OTAKKysJLnVs ZWIxMjggMHgxCisrCS5hbGlnbiA4CisrLkxFQ0lFMDoKKysuTFNGREUwOgorKwkubG9uZwkuTEVG REUwLS5MQVNGREUwCisrLkxBU0ZERTA6CisrCS5sb25nCS5MZnJhbWUwCisrCS5xdWFkCS5MRkIy CisrCS5xdWFkCS5MRkUyLS5MRkIyCisrCS5ieXRlCTB4NAorKwkubG9uZwkuTENGSTAtLkxGQjIK KysJLmJ5dGUJMHhlCisrCS51bGViMTI4IDB4MTAKKysJLmJ5dGUJMHg4NgorKwkudWxlYjEyOCAw eDIKKysJLmJ5dGUJMHg0CisrCS5sb25nCS5MQ0ZJMS0uTENGSTAKKysJLmJ5dGUJMHhkCisrCS51 bGViMTI4IDB4NgorKwkuYWxpZ24gOAorKy5MRUZERTA6CisrCS5zZWN0aW9uCS5laF9mcmFtZSwi YSIsQHByb2diaXRzCisrLkxmcmFtZTE6CisrCS5sb25nCS5MRUNJRTEtLkxTQ0lFMQorKy5MU0NJ RTE6CisrCS5sb25nCTB4MAorKwkuYnl0ZQkweDEKKysJLnN0cmluZwkielIiCisrCS51bGViMTI4 IDB4MQorKwkuc2xlYjEyOCAtOAorKwkuYnl0ZQkweDEwCisrCS51bGViMTI4IDB4MQorKwkuYnl0 ZQkweDMKKysJLmJ5dGUJMHhjCisrCS51bGViMTI4IDB4NworKwkudWxlYjEyOCAweDgKKysJLmJ5 dGUJMHg5MAorKwkudWxlYjEyOCAweDEKKysJLmFsaWduIDgKKysuTEVDSUUxOgorKy5MU0ZERTE6 CisrCS5sb25nCS5MRUZERTEtLkxBU0ZERTEKKysuTEFTRkRFMToKKysJLmxvbmcJLkxBU0ZERTEt LkxmcmFtZTEKKysJLmxvbmcJLkxGQjIKKysJLmxvbmcJLkxGRTItLkxGQjIKKysJLnVsZWIxMjgg MHgwCisrCS5ieXRlCTB4NAorKwkubG9uZwkuTENGSTAtLkxGQjIKKysJLmJ5dGUJMHhlCisrCS51 bGViMTI4IDB4MTAKKysJLmJ5dGUJMHg4NgorKwkudWxlYjEyOCAweDIKKysJLmJ5dGUJMHg0Cisr CS5sb25nCS5MQ0ZJMS0uTENGSTAKKysJLmJ5dGUJMHhkCisrCS51bGViMTI4IDB4NgorKwkuYWxp Z24gOAorKy5MRUZERTE6CisrCS50ZXh0CisrLkxldGV4dDA6CisrCS5zZWN0aW9uCS5kZWJ1Z19s b2MsIiIsQHByb2diaXRzCisrLkxkZWJ1Z19sb2MwOgorKy5MTFNUMDoKKysJLnF1YWQJLkxGQjIt Lkx0ZXh0MAorKwkucXVhZAkuTENGSTAtLkx0ZXh0MAorKwkudmFsdWUJMHgyCisrCS5ieXRlCTB4 NzcKKysJLnNsZWIxMjggOAorKwkucXVhZAkuTENGSTAtLkx0ZXh0MAorKwkucXVhZAkuTENGSTEt Lkx0ZXh0MAorKwkudmFsdWUJMHgyCisrCS5ieXRlCTB4NzcKKysJLnNsZWIxMjggMTYKKysJLnF1 YWQJLkxDRkkxLS5MdGV4dDAKKysJLnF1YWQJLkxGRTItLkx0ZXh0MAorKwkudmFsdWUJMHgyCisr CS5ieXRlCTB4NzYKKysJLnNsZWIxMjggMTYKKysJLnF1YWQJMHgwCisrCS5xdWFkCTB4MAorKwku c2VjdGlvbgkuZGVidWdfaW5mbworKy5MZGVidWdfcmVsYXRpdmU6CisrCS5sb25nCS5MZGVidWdf ZW5kIC0gLkxkZWJ1Z19zdGFydAorKy5MZGVidWdfc3RhcnQ6CisrCS52YWx1ZQkweDIKKysJLmxv bmcJLkxkZWJ1Z19hYmJyZXYwCisrCS5ieXRlCTB4OAorKwkudWxlYjEyOCAweDEKKysJLmxvbmcJ LkxBU0YyCisrCS5ieXRlCTB4MQorKwkubG9uZwkuTEFTRjMKKysJLmxvbmcJLkxBU0Y0CisrCS5x dWFkCS5MdGV4dDAKKysJLnF1YWQJLkxldGV4dDAKKysJLmxvbmcJLkxkZWJ1Z19saW5lMAorKwku dWxlYjEyOCAweDIKKysJLmJ5dGUJMHgxCisrCS5zdHJpbmcJImZvbyIKKysJLmJ5dGUJMHgxCisr CS5ieXRlCTB4MTYKKysJLmJ5dGUJMHgxCisrCS5xdWFkCS5MRkIyCisrCS5xdWFkCS5MRkUyCisr CS5sb25nCS5MTFNUMAorKwkubG9uZwkuTHR5cGVfaW50IC0gLkxkZWJ1Z19yZWxhdGl2ZQorKwku dWxlYjEyOCAweDMKKysJLmxvbmcJLkxBU0Y1CisrCS5ieXRlCTB4MQorKwkuYnl0ZQkweDE1Cisr CS5sb25nCS5MdHlwZV9pbnQgLSAuTGRlYnVnX3JlbGF0aXZlCisrCS5ieXRlCTB4MgorKwkuYnl0 ZQkweDkxCisrCS5zbGViMTI4IC01MgorKy5MdGFnX3BvaW50ZXI6CisrCS51bGViMTI4IDB4NAor KwkuYnl0ZQkweDgJLyogRFdfQVRfYnl0ZV9zaXplICovCisrCS5sb25nCS5MdGFnX2FycmF5X3R5 cGUgLSAuZGVidWdfaW5mbwkvKiBEV19BVF90eXBlICovCisrCS51bGViMTI4IDB4NQkvKiBBYmJy ZXYgTnVtYmVyOiA1IChEV19UQUdfdmFyaWFibGUpICovCisrCS5sb25nCS5MQVNGMAorKwkuYnl0 ZQkweDEKKysJLmJ5dGUJMHgxOAorKyNpZiAxCisrCS5sb25nCS5MdGFnX3BvaW50ZXIgLSAuZGVi dWdfaW5mbworKyNlbHNlCisrCS8qIERlYnVnZ2luZyBvbmx5OiBTa2lwIHRoZSB0eXBlZGVmIGlu ZGlyZWN0aW9uLiAgKi8KKysJLmxvbmcJLkx0YWdfYXJyYXlfdHlwZSAtIC5kZWJ1Z19pbmZvCisr I2VuZGlmCisrCS8qIERXX0FUX2xvY2F0aW9uOiBEV19GT1JNX2Jsb2NrMTogc3RhcnQgKi8KKysJ LmJ5dGUJMHgzCisrCS5ieXRlCTB4OTEKKysJLnNsZWIxMjggLTMyCisrI2lmIDAKKysJLmJ5dGUJ MHg2CS8qIERXX09QX2RlcmVmICovCisrI2Vsc2UKKysJLmJ5dGUJMHg5NgkvKiBEV19PUF9ub3Ag Ki8KKysjZW5kaWYKKysJLyogRFdfQVRfbG9jYXRpb246IERXX0ZPUk1fYmxvY2sxOiBlbmQgKi8K KysJLnVsZWIxMjggMHg2CisrCS5zdHJpbmcJImkiCisrCS5ieXRlCTB4MQorKwkuYnl0ZQkweDE5 CisrCS5sb25nCS5MdHlwZV9pbnQgLSAuTGRlYnVnX3JlbGF0aXZlCisrCS5ieXRlCTB4MgorKwku Ynl0ZQkweDkxCisrCS5zbGViMTI4IC0yMAorKwkuYnl0ZQkweDAKKysuTHR5cGVfaW50OgorKwku dWxlYjEyOCAweDcKKysJLmJ5dGUJMHg0CisrCS5ieXRlCTB4NQorKwkuc3RyaW5nCSJpbnQiCisr Lkx0YWdfYXJyYXlfdHlwZToKKysJLnVsZWIxMjggMHg4CS8qIEFiYnJldiBOdW1iZXI6IDggKERX X1RBR19hcnJheV90eXBlKSAqLworKwkubG9uZwkuTHR5cGVfY2hhciAtIC5MZGVidWdfcmVsYXRp dmUKKysJLmxvbmcJLkx0eXBlX3Vsb25nIC0gLkxkZWJ1Z19yZWxhdGl2ZQkvKiBEV19BVF9zaWJs aW5nOiBEV19GT1JNX3JlZjQgKi8KKysxOgkvKiBEV19BVF9kYXRhX2xvY2F0aW9uOiBEV19GT1JN X2Jsb2NrMTogc3RhcnQgKi8KKysJLmJ5dGUJMmYgLSAzZgkvKiBsZW5ndGggKi8KKyszOgorKwku Ynl0ZQkweDk3CS8qIERXX09QX3B1c2hfb2JqZWN0X2FkZHJlc3MgKi8KKysjaWYgMQorKwkuYnl0 ZQkweDYJLyogRFdfT1BfZGVyZWYgKi8KKysjZWxzZQorKwkuYnl0ZQkweDk2CS8qIERXX09QX25v cCAqLworKyNlbmRpZgorKzI6CS8qIERXX0FUX2RhdGFfbG9jYXRpb246IERXX0ZPUk1fYmxvY2sx OiBlbmQgKi8KKysJLnVsZWIxMjggMHg5CisrCS5sb25nCS5MdHlwZV9jaGFyIC0gLkxkZWJ1Z19y ZWxhdGl2ZQkvKiBEV19BVF90eXBlOiBEV19GT1JNX3JlZjQgKi8KKysJLmJ5dGUJMHgzCisrCS5i eXRlCTB4OTEKKysJLnNsZWIxMjggLTQwCisrCS5ieXRlCTB4NgorKwkuYnl0ZQkweDAKKysuTHR5 cGVfdWxvbmc6CisrCS51bGViMTI4IDB4YQorKwkuYnl0ZQkweDgKKysJLmJ5dGUJMHg3CisrLkx0 eXBlX2NoYXI6CisrCS51bGViMTI4IDB4YgorKwkuYnl0ZQkweDEKKysJLmJ5dGUJMHg2CisrCS5s b25nCS5MQVNGMQorKwkuYnl0ZQkweDAKKysuTGRlYnVnX2VuZDoKKysJLnNlY3Rpb24JLmRlYnVn X2FiYnJldgorKwkudWxlYjEyOCAweDEKKysJLnVsZWIxMjggMHgxMQorKwkuYnl0ZQkweDEKKysJ LnVsZWIxMjggMHgyNQorKwkudWxlYjEyOCAweGUKKysJLnVsZWIxMjggMHgxMworKwkudWxlYjEy OCAweGIKKysJLnVsZWIxMjggMHgzCisrCS51bGViMTI4IDB4ZQorKwkudWxlYjEyOCAweDFiCisr CS51bGViMTI4IDB4ZQorKwkudWxlYjEyOCAweDExCisrCS51bGViMTI4IDB4MQorKwkudWxlYjEy OCAweDEyCisrCS51bGViMTI4IDB4MQorKwkudWxlYjEyOCAweDEwCisrCS51bGViMTI4IDB4Ngor KwkuYnl0ZQkweDAKKysJLmJ5dGUJMHgwCisrCS51bGViMTI4IDB4MgorKwkudWxlYjEyOCAweDJl CisrCS5ieXRlCTB4MQorKwkudWxlYjEyOCAweDNmCisrCS51bGViMTI4IDB4YworKwkudWxlYjEy OCAweDMKKysJLnVsZWIxMjggMHg4CisrCS51bGViMTI4IDB4M2EKKysJLnVsZWIxMjggMHhiCisr CS51bGViMTI4IDB4M2IKKysJLnVsZWIxMjggMHhiCisrCS51bGViMTI4IDB4MjcKKysJLnVsZWIx MjggMHhjCisrCS51bGViMTI4IDB4MTEKKysJLnVsZWIxMjggMHgxCisrCS51bGViMTI4IDB4MTIK KysJLnVsZWIxMjggMHgxCisrCS51bGViMTI4IDB4NDAKKysJLnVsZWIxMjggMHg2CisrCS51bGVi MTI4IDB4MQorKwkudWxlYjEyOCAweDEzCisrCS5ieXRlCTB4MAorKwkuYnl0ZQkweDAKKysJLnVs ZWIxMjggMHgzCisrCS51bGViMTI4IDB4NQorKwkuYnl0ZQkweDAKKysJLnVsZWIxMjggMHgzCisr CS51bGViMTI4IDB4ZQorKwkudWxlYjEyOCAweDNhCisrCS51bGViMTI4IDB4YgorKwkudWxlYjEy OCAweDNiCisrCS51bGViMTI4IDB4YgorKwkudWxlYjEyOCAweDQ5CisrCS51bGViMTI4IDB4MTMK KysJLnVsZWIxMjggMHgyCisrCS51bGViMTI4IDB4YQorKwkuYnl0ZQkweDAKKysJLmJ5dGUJMHgw CisrCS51bGViMTI4IDB4NAkvKiAuTHRhZ19wb2ludGVyIGFiYnJldiAqLworKwkudWxlYjEyOCAw eDBmCS8qIERXX1RBR19wb2ludGVyX3R5cGUgKi8KKysJLmJ5dGUJMHgwCisrCS51bGViMTI4IDB4 MGIKKysJLnVsZWIxMjggMHhiCisrCS51bGViMTI4IDB4NDkKKysJLnVsZWIxMjggMHgxMworKwku Ynl0ZQkweDAKKysJLmJ5dGUJMHgwCisrCS51bGViMTI4IDB4NQorKwkudWxlYjEyOCAweDM0Cisr CS5ieXRlCTB4MAorKwkudWxlYjEyOCAweDMKKysJLnVsZWIxMjggMHhlCisrCS51bGViMTI4IDB4 M2EKKysJLnVsZWIxMjggMHhiCisrCS51bGViMTI4IDB4M2IKKysJLnVsZWIxMjggMHhiCisrCS51 bGViMTI4IDB4NDkKKysJLnVsZWIxMjggMHgxMworKwkudWxlYjEyOCAweDIKKysJLnVsZWIxMjgg MHhhCisrCS5ieXRlCTB4MAorKwkuYnl0ZQkweDAKKysJLnVsZWIxMjggMHg2CisrCS51bGViMTI4 IDB4MzQKKysJLmJ5dGUJMHgwCisrCS51bGViMTI4IDB4MworKwkudWxlYjEyOCAweDgKKysJLnVs ZWIxMjggMHgzYQorKwkudWxlYjEyOCAweGIKKysJLnVsZWIxMjggMHgzYgorKwkudWxlYjEyOCAw eGIKKysJLnVsZWIxMjggMHg0OQorKwkudWxlYjEyOCAweDEzCisrCS51bGViMTI4IDB4MgorKwku dWxlYjEyOCAweGEKKysJLmJ5dGUJMHgwCisrCS5ieXRlCTB4MAorKwkudWxlYjEyOCAweDcKKysJ LnVsZWIxMjggMHgyNAorKwkuYnl0ZQkweDAKKysJLnVsZWIxMjggMHhiCisrCS51bGViMTI4IDB4 YgorKwkudWxlYjEyOCAweDNlCisrCS51bGViMTI4IDB4YgorKwkudWxlYjEyOCAweDMKKysJLnVs ZWIxMjggMHg4CisrCS5ieXRlCTB4MAorKwkuYnl0ZQkweDAKKysJLnVsZWIxMjggMHg4CS8qIEFi YnJldiBOdW1iZXI6IDggKERXX1RBR19hcnJheV90eXBlKSAqLworKwkudWxlYjEyOCAweDEKKysJ LmJ5dGUJMHgxCisrCS51bGViMTI4IDB4NDkJLyogRFdfQVRfdHlwZSAqLworKwkudWxlYjEyOCAw eDEzCS8qIERXX0ZPUk1fcmVmNCAqLworKwkudWxlYjEyOCAweDEJLyogRFdfQVRfc2libGluZyAq LworKwkudWxlYjEyOCAweDEzCS8qIERXX0ZPUk1fcmVmNCAqLworKwkudWxlYjEyOCAweDUwCS8q IERXX0FUX2RhdGFfbG9jYXRpb24gKi8KKysJLnVsZWIxMjggMHhhCS8qIERXX0ZPUk1fYmxvY2sx ICovCisrCS5ieXRlCTB4MAorKwkuYnl0ZQkweDAKKysJLnVsZWIxMjggMHg5CisrCS51bGViMTI4 IDB4MjEKKysJLmJ5dGUJMHgwCisrCS51bGViMTI4IDB4NDkJLyogRFdfQVRfdHlwZSAqLworKwku dWxlYjEyOCAweDEzCS8qIERXX0ZPUk1fcmVmNCAqLworKwkudWxlYjEyOCAweDJmCisrCS51bGVi MTI4IDB4YQorKwkuYnl0ZQkweDAKKysJLmJ5dGUJMHgwCisrCS51bGViMTI4IDB4YQorKwkudWxl YjEyOCAweDI0CisrCS5ieXRlCTB4MAorKwkudWxlYjEyOCAweGIKKysJLnVsZWIxMjggMHhiCisr CS51bGViMTI4IDB4M2UKKysJLnVsZWIxMjggMHhiCisrCS5ieXRlCTB4MAorKwkuYnl0ZQkweDAK KysJLnVsZWIxMjggMHhiCisrCS51bGViMTI4IDB4MjQKKysJLmJ5dGUJMHgwCisrCS51bGViMTI4 IDB4YgorKwkudWxlYjEyOCAweGIKKysJLnVsZWIxMjggMHgzZQorKwkudWxlYjEyOCAweGIKKysJ LnVsZWIxMjggMHgzCisrCS51bGViMTI4IDB4ZQorKwkuYnl0ZQkweDAKKysJLmJ5dGUJMHgwCisr CS5ieXRlCTB4MAorKwkuc2VjdGlvbgkuZGVidWdfcHVibmFtZXMsIiIsQHByb2diaXRzCisrCS5s b25nCTB4MTYKKysJLnZhbHVlCTB4MgorKwkubG9uZwkuTGRlYnVnX2luZm8wCisrCS5sb25nCTB4 YTgKKysJLmxvbmcJMHgyZAorKwkuc3RyaW5nCSJmb28iCisrCS5sb25nCTB4MAorKwkuc2VjdGlv bgkuZGVidWdfYXJhbmdlcywiIixAcHJvZ2JpdHMKKysJLmxvbmcJMHgyYworKwkudmFsdWUJMHgy CisrCS5sb25nCS5MZGVidWdfaW5mbzAKKysJLmJ5dGUJMHg4CisrCS5ieXRlCTB4MAorKwkudmFs dWUJMHgwCisrCS52YWx1ZQkweDAKKysJLnF1YWQJLkx0ZXh0MAorKwkucXVhZAkuTGV0ZXh0MC0u THRleHQwCisrCS5xdWFkCTB4MAorKwkucXVhZAkweDAKKysJLnNlY3Rpb24JLmRlYnVnX3N0ciwi TVMiLEBwcm9nYml0cywxCisrLkxBU0YwOgorKwkuc3RyaW5nCSJhcnJheSIKKysuTEFTRjU6Cisr CS5zdHJpbmcJInNpemUiCisrLkxBU0YzOgorKwkuc3RyaW5nCSJ4ODZfNjQtdmxhLXBvaW50ZXIu YyIKKysuTEFTRjY6CisrCS5zdHJpbmcJImFycmF5X3QiCisrLkxBU0YxOgorKwkuc3RyaW5nCSJj aGFyIgorKy5MQVNGNDoKKysJLnN0cmluZwkiZ2RiLmFyY2giCisrLkxBU0YyOgorKwkuc3RyaW5n CSJHTlUgQyA0LjMuMiAyMDA4MTEwNSAoUmVkIEhhdCA0LjMuMi03KSIKKysJLmlkZW50CSJHQ0M6 IChHTlUpIDQuMy4yIDIwMDgxMTA1IChSZWQgSGF0IDQuMy4yLTcpIgorKwkuc2VjdGlvbgkubm90 ZS5HTlUtc3RhY2ssIiIsQHByb2diaXRzCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLmMJMjAxNi0xMC0yMCAyMTowMzowOS40 ODUyNzE5MjEgKzAyMDAKK0BAIC0wLDAgKzEsNDUgQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdodCAyMDA5IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LiAgKi8KKysKKysjaWYgMAorKworK3ZvaWQKKytmb28gKGludCBzaXplKQorK3sK KysgIHR5cGVkZWYgY2hhciBhcnJheV90W3NpemVdOworKyAgYXJyYXlfdCBhcnJheTsKKysgIGlu dCBpOworKworKyAgZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykKKysgICAgYXJyYXlbaV0gPSBp OworKworKyAgYXJyYXlbMF0gPSAwOwkvKiBicmVhay1oZXJlICovCisrfQorKworKyNlbHNlCisr Cisrdm9pZCBmb28gKGludCBzaXplKTsKKysKKytpbnQKKyttYWluICh2b2lkKQorK3sKKysgIGZv byAoMjYpOworKyAgZm9vICg3OCk7CisrICByZXR1cm4gMDsKKyt9CisrCisrI2VuZGlmCitJbmRl eDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuZXhw Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBv aW50ZXIuZXhwCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDg1MjcxOTIxICswMjAwCitAQCAtMCwwICsx LDY2IEBACisrIyBDb3B5cmlnaHQgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KysKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor KyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisraWYgIVtpc3RhcmdldCAieDg2 XzY0LSotKiJdIHRoZW4geworKyAgICB2ZXJib3NlICJTa2lwcGluZyBvdmVyIGdkYi5hcmNoL3g4 Nl82NC12bGEtcG9pbnRlci5leHAgdGVzdCBtYWRlIG9ubHkgZm9yIHg4Nl82NC4iCisrICAgIHJl dHVybgorK30KKysKKytzZXQgdGVzdGZpbGUgeDg2XzY0LXZsYS1wb2ludGVyCisrc2V0IHNyY2Fz bWZpbGUgJHt0ZXN0ZmlsZX0tZm9vLlMKKytzZXQgc3JjZmlsZSAke3Rlc3RmaWxlfS5jCisrc2V0 IGJpbmZpbGUgW3N0YW5kYXJkX291dHB1dF9maWxlICR7dGVzdGZpbGV9XQorK3NldCBiaW5vYmpm aWxlIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAke3Rlc3RmaWxlfS1mb28ub10KKytpZiAgeyBbZ2Ri X2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNhc21maWxlfSIgIiR7Ymlub2JqZmls ZX0iIG9iamVjdCB7fV0gIT0gIiIgfSB7CisrICAgIHVudGVzdGVkICJDb3VsZG4ndCBjb21waWxl IHRlc3QgcHJvZ3JhbSIKKysgICAgcmV0dXJuIC0xCisrfQorK2lmICB7IFtnZGJfY29tcGlsZSAi JHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9ICR7Ymlub2JqZmlsZX0iICIke2JpbmZpbGV9 IiBleGVjdXRhYmxlIHtkZWJ1Z31dICE9ICIiIH0geworKyAgICB1bnRlc3RlZCAiQ291bGRuJ3Qg Y29tcGlsZSB0ZXN0IHByb2dyYW0iCisrICAgIHJldHVybiAtMQorK30KKysKKytnZGJfZXhpdAor K2dkYl9zdGFydAorK2dkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgorK2dkYl9s b2FkICR7YmluZmlsZX0KKysKKytpZiAhW3J1bnRvX21haW5dIHsKKysgICAgdW50ZXN0ZWQgeDg2 XzY0LXZsYS1wb2ludGVyCisrICAgIHJldHVybiAtMQorK30KKysKKytnZGJfYnJlYWtwb2ludCAi YnJlYWtfaGVyZSIKKysKKytnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiYnJlYWtfaGVyZSIK KysKKytnZGJfdGVzdCAid2hhdGlzIGFycmF5IiAidHlwZSA9IGNoYXIgXFwoXFwqXFwpXFxcW3Zh cmlhYmxlXFxcXSIgImZpcnN0OiB3aGF0aXMgYXJyYXkiCisrZ2RiX3Rlc3QgInB0eXBlIGFycmF5 IiAidHlwZSA9IGNoYXIgXFwoXFwqXFwpXFxcWzI2XFxcXSIgImZpcnN0OiBwdHlwZSBhcnJheSIK KysKKytnZGJfdGVzdCAid2hhdGlzICphcnJheSIgInR5cGUgPSBjaGFyIFxcXFsyNlxcXF0iICJm aXJzdDogd2hhdGlzICphcnJheSIKKytnZGJfdGVzdCAicHR5cGUgKmFycmF5IiAidHlwZSA9IGNo YXIgXFxcWzI2XFxcXSIgImZpcnN0OiBwdHlwZSAqYXJyYXkiCisrCisrZ2RiX3Rlc3QgInAgKCph cnJheSlcWzFcXSIgIlxcJFxbMC05XF0gPSAxICdcXFxcMDAxJyIKKytnZGJfdGVzdCAicCAoKmFy cmF5KVxbMlxdIiAiXFwkXFswLTlcXSA9IDIgJ1xcXFwwMDInIgorK2dkYl90ZXN0ICJwICgqYXJy YXkpXFszXF0iICJcXCRcWzAtOVxdID0gMyAnXFxcXDAwMyciCisrZ2RiX3Rlc3QgInAgKCphcnJh eSlcWzRcXSIgIlxcJFxbMC05XF0gPSA0ICdcXFxcMDA0JyIKKysKKytnZGJfY29udGludWVfdG9f YnJlYWtwb2ludCAiYnJlYWtfaGVyZSIKKysKKytnZGJfdGVzdCAid2hhdGlzIGFycmF5IiAidHlw ZSA9IGNoYXIgXFwoXFwqXFwpXFxcW3ZhcmlhYmxlXFxcXSIgInNlY29uZDogd2hhdGlzIGFycmF5 IgorK2dkYl90ZXN0ICJwdHlwZSBhcnJheSIgInR5cGUgPSBjaGFyIFxcKFxcKlxcKVxcXFs3OFxc XF0iICJzZWNvbmQ6IHB0eXBlIGFycmF5IgorKworK2dkYl90ZXN0ICJ3aGF0aXMgKmFycmF5IiAi dHlwZSA9IGNoYXIgXFxcWzc4XFxcXSIgInNlY29uZDogd2hhdGlzICphcnJheSIKKytnZGJfdGVz dCAicHR5cGUgKmFycmF5IiAidHlwZSA9IGNoYXIgXFxcWzc4XFxcXSIgInNlY29uZDogcHR5cGUg KmFycmF5IgorSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZs YS10eXBlZGVmLWZvby5TCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6 MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC94ODZfNjQtdmxhLXR5cGVkZWYtZm9vLlMJMjAxNi0xMC0yMCAyMTowMzowOS40ODYyNzE5Mjkg KzAyMDAKIEBAIC0wLDAgKzEsNDU1IEBACiArCS5maWxlCSJ4ODZfNjQtdmxhLXR5cGVkZWYuYyIK ICsJLnNlY3Rpb24JLmRlYnVnX2FiYnJldiwiIixAcHJvZ2JpdHMKQEAgLTQ3NCwxMCArMTA1Nywx MCBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94 ODZfNjQtdmxhLXR5cGVkZWYtZm9vLlMKICsJLnN0cmluZwkiR05VIEMgNC4zLjIgMjAwODExMDUg KFJlZCBIYXQgNC4zLjItNykiCiArCS5pZGVudAkiR0NDOiAoR05VKSA0LjMuMiAyMDA4MTEwNSAo UmVkIEhhdCA0LjMuMi03KSIKICsJLnNlY3Rpb24JLm5vdGUuR05VLXN0YWNrLCIiLEBwcm9nYml0 cwotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2 XzY0LXZsYS10eXBlZGVmLmMKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNo L3g4Nl82NC12bGEtdHlwZWRlZi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYuYwkyMDE2LTA4LTI1IDE4OjQ0 OjQyLjA1ODc4OTA1OCArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv eDg2XzY0LXZsYS10eXBlZGVmLmMJMjAxNi0xMC0yMCAyMTowMzowOS40ODYyNzE5MjkgKzAyMDAK IEBAIC0wLDAgKzEsNDUgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUg R05VIGRlYnVnZ2VyLgogKwpAQCAtNTI0LDEwICsxMTA3LDEwIEBAIEluZGV4OiBnZGItNy4xMS45 MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5jCiAr fQogKwogKyNlbmRpZgotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAorSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEx LjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4 cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA1ODc4OTA1OCArMDIwMAorKysrIGdkYi03LjEyL2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAkyMDE2LTEwLTIwIDIxOjAz OjA5LjQ4NjI3MTkyOSArMDIwMAogQEAgLTAsMCArMSw2NCBAQAogKyMgQ29weXJpZ2h0IDIwMDkg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC01OTMsMTAgKzExNzYsMTAgQEAg SW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0 LXZsYS10eXBlZGVmLmV4cAogK2dkYl90ZXN0ICJ3aGF0aXMgYXJyYXkiICJ0eXBlID0gYXJyYXlf dCIgInNlY29uZDogd2hhdGlzIGFycmF5IgogKwogK2dkYl90ZXN0ICJwdHlwZSBhcnJheSIgInR5 cGUgPSBjaGFyIFxcXFs3OFxcXF0iICJzZWNvbmQ6IHB0eXBlIGFycmF5IgotSW5kZXg6IGdkYi03 LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYworSW5kZXg6 IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjExLjkwLjIwMTYwODA3Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJh eWlkeC5jCTIwMTYtMDgtMDcgMDQ6MDA6MDEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMTEu OTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5jCTIwMTYtMDgtMjUg MTg6NDQ6NDIuMDU4Nzg5MDU4ICswMjAwCistLS0gZ2RiLTcuMTIub3JpZy9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2FycmF5aWR4LmMJMjAxNi0xMC0yMCAyMTowMjozMC45NDE5NzA1NTYgKzAyMDAK KysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMJMjAxNi0xMC0y MCAyMTowMzowOS40ODYyNzE5MjkgKzAyMDAKIEBAIC0xNyw2ICsxNywxMyBAQAogIAogIGludCBh cnJheVtdID0gezEsIDIsIDMsIDR9OwpAQCAtNjExLDEwICsxMTk0LDEwIEBAIEluZGV4OiBnZGIt Ny4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMKICBpbnQK ICBtYWluICh2b2lkKQogIHsKLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAorSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvYXJyYXlpZHguZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA4 MDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAkyMDE2LTA4LTA3IDA0 OjAwOjAxLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguZXhwCTIwMTYtMDgtMjUgMTg6NDQ6NDIuMDU5Nzg5MDY3 ICswMjAwCistLS0gZ2RiLTcuMTIub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4 LmV4cAkyMDE2LTEwLTIwIDIxOjAyOjMwLjk0MTk3MDU1NiArMDIwMAorKysrIGdkYi03LjEyL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguZXhwCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDg2 MjcxOTI5ICswMjAwCiBAQCAtNDksNCArNDksMTIgQEAKICAgICAgICAgICAiXFx7XFxcWzBcXFxd ID0gMSwgXFxcWzFcXFxdID0gMiwgXFxcWzJcXFxdID0gMywgXFxcWzNcXFxdID0gNFxcfSIgXAog ICAgICAgICAgICJQcmludCBhcnJheSB3aXRoIGFycmF5LWluZGV4ZXMgb24iCkBAIC02MjksMTAg KzEyMTIsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvYXJyYXlpZHguZXhwCiArCXVuc3VwcG9ydGVkICIkdGVzdCAobm8gR0NDKSIKICsgICAg fQogK30KLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0t LSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGIt Ny4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVs ZC1hZGRyZXNzLmMJMjAxNi0wOC0yNSAxODo0NDo0Mi4wNTk3ODkwNjcgKzAyMDAKKysrKyBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMJ MjAxNi0xMC0yMCAyMTowMzowOS40ODYyNzE5MjkgKzAyMDAKIEBAIC0wLDAgKzEsMjAgQEAKICsv KiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAt NjU0LDEwICsxMjM3LDEwIEBAIEluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMKICtzdHJ1Y3QgewogKyAg aW50IGZpZWxkOwogK30gc3RhdGljc3RydWN0ID0geyAxIH07Ci1JbmRleDogZ2RiLTcuMTEuOTAu MjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVz cy5leHAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZh ci1maWVsZC1hZGRyZXNzLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuZXhwCTIwMTYtMDgt MjUgMTg6NDQ6NDIuMDU5Nzg5MDY3ICswMjAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAJMjAxNi0xMC0yMCAyMTowMzow OS40ODYyNzE5MjkgKzAyMDAKIEBAIC0wLDAgKzEsMjYgQEAKICsjIENvcHlyaWdodCAyMDA5IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtNjg1LDEwICsxMjY4LDEwIEBAIElu ZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFs LXZhci1maWVsZC1hZGRyZXNzLmV4CiArCiArZ2RiX3Rlc3Qge3NldCAkdmFyc3RydWN0ID0gc3Rh dGljc3RydWN0fQogK2dkYl90ZXN0IHtwICR2YXJzdHJ1Y3QuZmllbGR9ICIgPSAxIgotSW5kZXg6 IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1lLmMK K0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1mcmFtZS5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtZnJh bWUuYwkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA1OTc4OTA2NyArMDIwMAorKysrIGdkYi03LjEyL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLWZyYW1lLmMJMjAxNi0xMC0yMCAyMTowMzowOS40ODcy NzE5MzYgKzAyMDAKIEBAIC0wLDAgKzEsMzEgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQg b2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtNzIxLDEwICsxMzA0LDEwIEBAIEluZGV4 OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1mcmFtZS5j CiArICBmIChzKTsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgw Ny9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1mcmFtZS5leHAKK0luZGV4OiBnZGItNy4xMi9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1mcmFtZS5leHAKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45 MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1mcmFtZS5leHAJMjAxNi0wOC0y NSAxODo0NDo0Mi4wNTk3ODkwNjcgKzAyMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3ZsYS1mcmFtZS5leHAJMjAxNi0xMC0yMCAyMTowMzowOS40ODcyNzE5MzYgKzAyMDAK IEBAIC0wLDAgKzEsMzggQEAKICsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKyMKQEAgLTc2NCwxMCArMTM0NywxMCBAQCBJbmRleDogZ2RiLTcuMTEuOTAu MjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtZnJhbWUuZXhwCiArfQogKwogK2dk Yl90ZXN0ICJidCBmdWxsIiAiXHJcbiArcyA9IFwiWFxcXFwwMDBcIlxyXG4uKiIKLUluZGV4OiBn ZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5j CitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvdmxh LW92ZXJmbG93LmMJMjAxNi0wOC0yNSAxODo0NDo0Mi4wNTk3ODkwNjcgKzAyMDAKKysrKyBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVyZmxvdy5jCTIwMTYtMTAtMjAgMjE6 MDM6MDkuNDg3MjcxOTM2ICswMjAwCiBAQCAtMCwwICsxLDMwIEBACiArLyogVGhpcyB0ZXN0Y2Fz ZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTc5OSwxMCArMTM4Miwx MCBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92 bGEtb3ZlcmZsb3cuYwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjExLjkwLjIw MTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAorSW5kZXg6IGdk Yi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93 LmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA1OTc4OTA2NyArMDIwMAorKysrIGdkYi03LjEyL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAkyMDE2LTEwLTIwIDIxOjAzOjA5 LjQ4NzI3MTkzNiArMDIwMAogQEAgLTAsMCArMSwxMDkgQEAKICsjIENvcHlyaWdodCAyMDA4IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtOTEzLDEwICsxNDk2LDEwIEBAIElu ZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVy Zmxvdy5leHAKICtnZGJfdGVzdCAiYnQiICJpbiBcW14gXF0qYWJvcnQgXFwoLiogaW4gbWFpbiBc XCguKiIgIkJhY2t0cmFjZSBhZnRlciBhYm9ydCgpIgogKwogK3ZlcmJvc2UgLWxvZyAia2JfZm91 bmQgaW4gYnQgYWZ0ZXIgYWJvcnQoKSA9IFtleHByIFttZW1vcnlfdl9wYWdlc19nZXRdICogJHBh Z2VzaXplIC8gMTAyNF0iCi1JbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS92bGEuYworSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv dmxhLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3ZsYS5jCTIwMTYtMDgtMjUgMTg6NDQ6NDIuMDU5Nzg5MDY3ICswMjAwCisrKysgZ2RiLTcu MTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuYwkyMDE2LTEwLTIwIDIxOjAzOjA5LjQ4NzI3 MTkzNiArMDIwMAogQEAgLTAsMCArMSw1NSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC05NzMsMTAgKzE1NTYsMTAgQEAgSW5kZXg6 IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMKICsgIGZv byAoNzgpOwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmV4cAorSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvdmxhLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA1OTc4OTA2NyAr MDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmV4cAkyMDE2LTEw LTIwIDIxOjAzOjA5LjQ4NzI3MTkzNiArMDIwMAogQEAgLTAsMCArMSw2MiBAQAogKyMgQ29weXJp Z2h0IDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMDQwLDEwICsx NjIzLDM4MiBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS92bGEuZXhwCiArZ2RiX3Rlc3QgInAgdGVtcDEiICIgPSAnMScgPHJlcGVhdHMgNzggdGlt ZXM+IiAic2Vjb25kOiBwcmludCB0ZW1wMSIKICtnZGJfdGVzdCAicCB0ZW1wMiIgIiA9ICcyJyA8 cmVwZWF0cyA3OCB0aW1lcz4iICJzZWNvbmQ6IHByaW50IHRlbXAyIgogK2dkYl90ZXN0ICJwIHRl bXAzIiAiID0gJzMnIDxyZXBlYXRzIDQ4IHRpbWVzPiIgInNlY29uZDogcHJpbnQgdGVtcDMiCi1J bmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1i b3VuZC1sb2NsaXN0LlMKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGI5 NTkzLmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvZ2RiOTU5My5j YwkyMDE2LTEwLTIwIDIxOjAzOjA5LjQ4NzI3MTkzNiArMDIwMAorQEAgLTAsMCArMSwxODAgQEAK KysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKwor KyAgIENvcHlyaWdodCAyMDA4LCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor KworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyAgICovCisrI2luY2x1 ZGUgPGlvc3RyZWFtPgorKworK3VzaW5nIG5hbWVzcGFjZSBzdGQ7CisrCisrY2xhc3MgTmV4dE92 ZXJUaHJvd0Rlcml2YXRlcworK3sKKysKKytwdWJsaWM6CisrCisrCisrICAvLyBTaW5nbGUgdGhy b3cgYW4gZXhjZXB0aW9uIGluIHRoaXMgZnVuY3Rpb24uCisrICB2b2lkIGZ1bmN0aW9uMSgpIAor KyAgeworKyAgICB0aHJvdyAyMDsKKysgIH0KKysKKysgIC8vIFRocm93IGFuIGV4Y2VwdGlvbiBp biBhbm90aGVyIGZ1bmN0aW9uLgorKyAgdm9pZCBmdW5jdGlvbjIoKSAKKysgIHsKKysgICAgZnVu Y3Rpb24xKCk7CisrICB9CisrCisrICAvLyBUaHJvdyBhbiBleGNlcHRpb24gaW4gYW5vdGhlciBm dW5jdGlvbiwgYnV0IGhhbmRsZSBpdAorKyAgLy8gbG9jYWxseS4KKysgIHZvaWQgZnVuY3Rpb24z ICgpIAorKyAgeworKyAgICB7CisrICAgICAgdHJ5CisrCXsKKysJICBmdW5jdGlvbjEgKCk7Cisr CX0KKysgICAgICBjYXRjaCAoLi4uKSAKKysJeworKwkgIGNvdXQgPDwgIkNhdWdodCBhbmQgaGFu ZGxlZCBmdW5jdGlvbjEgZXhjZXB0aW9uIiA8PCBlbmRsOworKwl9CisrICAgIH0KKysgIH0KKysK KysgIHZvaWQgcmV0aHJvdyAoKQorKyAgeworKyAgICB0cnkKKysgICAgICB7CisrCWZ1bmN0aW9u MSAoKTsKKysgICAgICB9CisrICAgIGNhdGNoICguLi4pCisrICAgICAgeworKwl0aHJvdzsKKysg ICAgICB9CisrICB9CisrCisrICB2b2lkIGZpbmlzaCAoKQorKyAgeworKyAgICAvLyBXZSB1c2Ug dGhpcyB0byB0ZXN0IHRoYXQgYSAiZmluaXNoIiBoZXJlIGRvZXMgbm90IGVuZCB1cCBpbgorKyAg ICAvLyB0aGlzIGZyYW1lLCBidXQgaW4gdGhlIG9uZSBhYm92ZS4KKysgICAgdHJ5CisrICAgICAg eworKwlmdW5jdGlvbjEgKCk7CisrICAgICAgfQorKyAgICBjYXRjaCAoaW50IHgpCisrICAgICAg eworKyAgICAgIH0KKysgICAgZnVuY3Rpb24xICgpOwkJLy8gbWFya2VyIGZvciB1bnRpbAorKyAg fQorKworKyAgdm9pZCB1bnRpbCAoKQorKyAgeworKyAgICBmdW5jdGlvbjEgKCk7CisrICAgIGZ1 bmN0aW9uMSAoKTsJCS8vIHVudGlsIGhlcmUKKysgIH0KKysKKyt9OworK05leHRPdmVyVGhyb3dE ZXJpdmF0ZXMgbmV4dF9jYXNlczsKKysKKysKKytpbnQgbWFpbiAoKSAKKyt7IAorKyAgdHJ5Cisr ICAgIHsKKysgICAgICBuZXh0X2Nhc2VzLmZ1bmN0aW9uMSAoKTsKKysgICAgfQorKyAgY2F0Y2gg KC4uLikKKysgICAgeworKyAgICAgIC8vIERpc2NhcmQKKysgICAgfQorKworKyAgdHJ5CisrICAg IHsKKysgICAgICBuZXh0X2Nhc2VzLmZ1bmN0aW9uMiAoKTsKKysgICAgfQorKyAgY2F0Y2ggKC4u LikKKysgICAgeworKyAgICAgIC8vIERpc2NhcmQKKysgICAgfQorKworKyAgdHJ5CisrICAgIHsK KysgICAgICAvLyBUaGlzIGlzIGR1cGxpY2F0ZWQgc28gd2UgY2FuIG5leHQgb3ZlciBvbmUgYnV0 IHN0ZXAgaW50bworKyAgICAgIC8vIGFub3RoZXIuCisrICAgICAgbmV4dF9jYXNlcy5mdW5jdGlv bjIgKCk7CisrICAgIH0KKysgIGNhdGNoICguLi4pCisrICAgIHsKKysgICAgICAvLyBEaXNjYXJk CisrICAgIH0KKysKKysgIG5leHRfY2FzZXMuZnVuY3Rpb24zICgpOworKworKyAgdHJ5CisrICAg IHsKKysgICAgICBuZXh0X2Nhc2VzLnJldGhyb3cgKCk7CisrICAgIH0KKysgIGNhdGNoICguLi4p CisrICAgIHsKKysgICAgICAvLyBEaXNjYXJkCisrICAgIH0KKysKKysgIHRyeQorKyAgICB7Cisr ICAgICAgLy8gQW5vdGhlciBkdXBsaWNhdGUgc28gd2UgY2FuIHRlc3QgImZpbmlzaCIuCisrICAg ICAgbmV4dF9jYXNlcy5mdW5jdGlvbjIgKCk7CisrICAgIH0KKysgIGNhdGNoICguLi4pCisrICAg IHsKKysgICAgICAvLyBEaXNjYXJkCisrICAgIH0KKysKKysgIC8vIEFub3RoZXIgdGVzdCBmb3Ig ImZpbmlzaCIuCisrICB0cnkKKysgICAgeworKyAgICAgIG5leHRfY2FzZXMuZmluaXNoICgpOwor KyAgICB9CisrICBjYXRjaCAoLi4uKQorKyAgICB7CisrICAgIH0KKysKKysgIC8vIFRlc3Qgb2Yg InVudGlsIi4KKysgIHRyeQorKyAgICB7CisrICAgICAgbmV4dF9jYXNlcy5maW5pc2ggKCk7Cisr ICAgIH0KKysgIGNhdGNoICguLi4pCisrICAgIHsKKysgICAgfQorKworKyAgLy8gVGVzdCBvZiAi dW50aWwiIHdpdGggYW4gYXJndW1lbnQuCisrICB0cnkKKysgICAgeworKyAgICAgIG5leHRfY2Fz ZXMudW50aWwgKCk7CisrICAgIH0KKysgIGNhdGNoICguLi4pCisrICAgIHsKKysgICAgfQorKwor KyAgLy8gVGVzdCBvZiAiYWR2YW5jZSIuCisrICB0cnkKKysgICAgeworKyAgICAgIG5leHRfY2Fz ZXMudW50aWwgKCk7CisrICAgIH0KKysgIGNhdGNoICguLi4pCisrICAgIHsKKysgICAgfQorK30K KysKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGI5NTkzLmV4cAorPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYjk1OTMuZXhwCTIwMTYtMTAt MjAgMjE6MTA6NDguMTI4ODQ4MTQyICswMjAwCitAQCAtMCwwICsxLDE4MiBAQAorKyMgQ29weXJp Z2h0IDIwMDgsIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysj IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworKworK2lmICR0cmFjZWxldmVsIHRoZW4geworKyAg ICBzdHJhY2UgJHRyYWNlbGV2ZWwKKyt9CisrCisraWYgeyBbc2tpcF9jcGx1c190ZXN0c10gfSB7 IGNvbnRpbnVlIH0KKysKKytzZXQgdGVzdGZpbGUgImdkYjk1OTMiCisrc2V0IHNyY2ZpbGUgJHt0 ZXN0ZmlsZX0uY2MKKytzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHRlc3RmaWxl XQorKworKyMgQ3JlYXRlIGFuZCBzb3VyY2UgdGhlIGZpbGUgdGhhdCBwcm92aWRlcyBpbmZvcm1h dGlvbiBhYm91dCB0aGUgY29tcGlsZXIKKysjIHVzZWQgdG8gY29tcGlsZSB0aGUgdGVzdCBjYXNl LgorK2lmIFtnZXRfY29tcGlsZXJfaW5mbyAiYysrIl0geworKyAgICB1bnRlc3RlZCBnZGI5NTkz LmV4cAorKyAgICByZXR1cm4gLTEKKyt9CisrCisraWYgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGly fS8ke3N1YmRpcn0vJHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUge2RlYnVnIGMr K31dICE9ICIiIH0geworKyAgICB1bnRlc3RlZCBnZGI5NTkzLmV4cAorKyAgICByZXR1cm4gLTEK Kyt9CisrCisrIyBTb21lIHRhcmdldHMgY2FuJ3QgZG8gZnVuY3Rpb24gY2FsbHMsIHNvIGRvbid0 IGV2ZW4gYm90aGVyIHdpdGggdGhpcworKyMgdGVzdC4KKytpZiBbdGFyZ2V0X2luZm8gZXhpc3Rz IGdkYixjYW5ub3RfY2FsbF9mdW5jdGlvbnNdIHsKKysgICAgc2V0dXBfeGZhaWwgIiotKi0qIiA5 NTkzCisrICAgIGZhaWwgIlRoaXMgdGFyZ2V0IGNhbiBub3QgY2FsbCBmdW5jdGlvbnMiCisrICAg IGNvbnRpbnVlCisrfQorKworK2dkYl9leGl0CisrZ2RiX3N0YXJ0CisrZ2RiX3JlaW5pdGlhbGl6 ZV9kaXIgJHNyY2Rpci8kc3ViZGlyCisrZ2RiX2xvYWQgJHtiaW5maWxlfQorKworK2lmICFbcnVu dG9fbWFpbl0gdGhlbiB7CisrICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRvIG1haW4iCisrICAg IGNvbnRpbnVlCisrfSAKKysKKysjIFNlZSB3aGV0aGVyIHdlIGhhdmUgdGhlIG5lZWRlZCB1bndp bmRlciBob29rcy4KKytzZXQgb2sgMQorK2dkYl90ZXN0X211bHRpcGxlICJwcmludCBfVW53aW5k X0RlYnVnSG9vayIgImNoZWNrIGZvciB1bndpbmRlciBob29rIiB7CisrICAgIC1yZSAiPSAuKl9V bndpbmRfRGVidWdIb29rLipcclxuJGdkYl9wcm9tcHQgJCIgeworKwlwYXNzICJjaGVjayBmb3Ig dW53aW5kZXIgaG9vayIKKysgICAgfQorKyAgICAtcmUgIk5vIHN5bWJvbCAuKiBpbiBjdXJyZW50 IGNvbnRleHQuXHJcbiRnZGJfcHJvbXB0ICQiIHsKKysJIyBQYXNzIHRoZSB0ZXN0IHNvIHdlIGRv bid0IGdldCBib2d1cyBmYWlscyBpbiB0aGUgcmVzdWx0cy4KKysJcGFzcyAiY2hlY2sgZm9yIHVu d2luZGVyIGhvb2siCisrCXNldCBvayAwCisrICAgIH0KKyt9CisraWYgeyEkb2t9IHsKKysgICAg dW50ZXN0ZWQgZ2RiOTU5My5leHAKKysgICAgcmV0dXJuIC0xCisrfQorKworKyMgU2VlIGh0dHA6 Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTU5MworKworK2dkYl90 ZXN0ICJuZXh0IiBcCisrICAgICIuKmNhdGNoICguLi4pLioiIFwKKysgICAgIm5leHQgb3ZlciBh IHRocm93IDEiCisrCisrZ2RiX3Rlc3QgIm5leHQiIFwKKysgICIuKm5leHRfY2FzZXMuZnVuY3Rp b24yLioiIFwKKysgICJuZXh0IHBhc3QgY2F0Y2ggMSIKKysKKytnZGJfdGVzdCAibmV4dCIgXAor KyAgICAiLipjYXRjaCAoLi4uKS4qIiBcCisrICAgICJuZXh0IG92ZXIgYSB0aHJvdyAyIgorKwor K2dkYl90ZXN0ICJuZXh0IiBcCisrICAiLipuZXh0X2Nhc2VzLmZ1bmN0aW9uMi4qIiBcCisrICAi bmV4dCBwYXN0IGNhdGNoIDIiCisrCisrZ2RiX3Rlc3QgInN0ZXAiIFwKKysgICIuKmZ1bmN0aW9u MSgpLioiIFwKKysgICJzdGVwIGludG8gZnVuY3Rpb24yIDEiCisrCisrZ2RiX3Rlc3QgIm5leHQi IFwKKysgICAgIi4qY2F0Y2ggKC4uLikuKiIgXAorKyAgICAibmV4dCBvdmVyIGEgdGhyb3cgMyIK KysKKytnZGJfdGVzdCAibmV4dCIgXAorKyAgIi4qbmV4dF9jYXNlcy5mdW5jdGlvbjMuKiIgXAor KyAgIm5leHQgcGFzdCBjYXRjaCAzIgorKworK2dkYl90ZXN0ICJuZXh0IiBcCisrICAiLipuZXh0 X2Nhc2VzLnJldGhyb3cuKiIgXAorKyAgICAibmV4dCBvdmVyIGEgdGhyb3cgNCIKKysKKytnZGJf dGVzdCAibmV4dCIgXAorKyAgIi4qY2F0Y2ggKC4uLikuKiIgXAorKyAgIm5leHQgb3ZlciBhIHJl dGhyb3ciCisrCisrZ2RiX3Rlc3QgIm5leHQiIFwKKysgICIuKm5leHRfY2FzZXMuZnVuY3Rpb24y LioiIFwKKysgICJuZXh0IGFmdGVyIGEgcmV0aHJvdyIKKysKKytnZGJfdGVzdCAic3RlcCIgXAor KyAgIi4qZnVuY3Rpb24xKCkuKiIgXAorKyAgInN0ZXAgaW50byBmdW5jdGlvbjIgMiIKKysKKytn ZGJfdGVzdCAiZmluaXNoIiBcCisrICAiLipjYXRjaCAoLi4uKS4qIiBcCisrICAiZmluaXNoIDEi CisrCisrZ2RiX3Rlc3QgIm5leHQiIFwKKysgICIuKm5leHRfY2FzZXMuZmluaXNoICgpLioiIFwK KysgICJuZXh0IHBhc3QgY2F0Y2ggNCIKKysKKytnZGJfdGVzdCAic3RlcCIgXAorKyAgIi4qZnVu Y3Rpb24xICgpLioiIFwKKysgICJzdGVwIGludG8gZmluaXNoIG1ldGhvZCIKKysKKytnZGJfdGVz dCAiZmluaXNoIiBcCisrICAiLipjYXRjaCAoLi4uKS4qIiBcCisrICAiZmluaXNoIDIiCisrCisr Z2RiX3Rlc3QgIm5leHQiIFwKKysgICIuKm5leHRfY2FzZXMuZmluaXNoICgpLioiIFwKKysgICJu ZXh0IHBhc3QgY2F0Y2ggNSIKKysKKytnZGJfdGVzdCAic3RlcCIgXAorKyAgIi4qZnVuY3Rpb24x ICgpLioiIFwKKysgICJzdGVwIGludG8gZmluaXNoLCBmb3IgdW50aWwiCisrCisrZ2RiX3Rlc3Qg InVudGlsIiBcCisrICAiLipmdW5jdGlvbjEgKCkuKiIgXAorKyAgInVudGlsIHdpdGggbm8gYXJn dW1lbnQgMSIKKysKKytzZXQgbGluZSBbZ2RiX2dldF9saW5lX251bWJlciAibWFya2VyIGZvciB1 bnRpbCIgJHRlc3RmaWxlLmNjXQorKworK2dkYl90ZXN0ICJ1bnRpbCAkbGluZSIgXAorKyAgIi4q ZnVuY3Rpb24xICgpLioiIFwKKysgICJuZXh0IHBhc3QgY2F0Y2ggNiIKKysKKytnZGJfdGVzdCAi dW50aWwiIFwKKysgICIuKmNhdGNoICguLi4pLioiIFwKKysgICJ1bnRpbCB3aXRoIG5vIGFyZ3Vt ZW50IDIiCisrCisrc2V0IGxpbmUgW2dkYl9nZXRfbGluZV9udW1iZXIgInVudGlsIGhlcmUiICR0 ZXN0ZmlsZS5jY10KKysKKytnZGJfdGVzdCAibmV4dCIgXAorKyAgIi4qbmV4dF9jYXNlcy51bnRp bCAoKS4qIiBcCisrICAibmV4dCBwYXN0IGNhdGNoIDYiCisrCisrZ2RiX3Rlc3QgInN0ZXAiIFwK KysgICIuKmZ1bmN0aW9uMSAoKS4qIiBcCisrICAic3RlcCBpbnRvIHVudGlsIgorKworK2dkYl90 ZXN0ICJ1bnRpbCAkbGluZSIgXAorKyAgIi4qY2F0Y2ggKC4uLikuKiIgXAorKyAgInVudGlsLW92 ZXItdGhyb3ciCisrCisrZ2RiX3Rlc3QgIm5leHQiIFwKKysgICIuKm5leHRfY2FzZXMudW50aWwg KCkuKiIgXAorKyAgIm5leHQgcGFzdCBjYXRjaCA3IgorKworK2dkYl90ZXN0ICJzdGVwIiBcCisr ICAiLipmdW5jdGlvbjEgKCkuKiIgXAorKyAgInN0ZXAgaW50byB1bnRpbCwgZm9yIGFkdmFuY2Ui CisrCisrZ2RiX3Rlc3QgImFkdmFuY2UgJGxpbmUiIFwKKysgICIuKmNhdGNoICguLi4pLioiIFwK KysgICJhZHZhbmNlLW92ZXItdGhyb3ciCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LlMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2 MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuUwkyMDE2LTA4 LTI1IDE4OjQ0OjQyLjA2MDc4OTA3NiArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5TCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDg4Mjcx OTQ0ICswMjAwCiBAQCAtMCwwICsxLDI0NiBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMjkxLDEwICsyMjQ2LDEwIEBAIEluZGV4 OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5k LWxvY2xpc3QuUwogKwkuc3RyaW5nCQkiY2hhciIKICsuTHVpbnRfc3RyOgogKwkuc3RyaW5nCQki dW5zaWduZWQgaW50IgotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5leHAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuZXhwCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu MTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0 LmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2MDc4OTA3NiArMDIwMAorKysrIGdkYi03LjEyL2dk Yi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5leHAJMjAxNi0xMC0yMCAy MTowMzowOS40ODgyNzE5NDQgKzAyMDAKIEBAIC0wLDAgKzEsNjYgQEAKICsjIENvcHlyaWdodCAy MDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTM2MiwxMCArMjMxNywx MCBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAogKwogKyMgVGhlIHJlZ2lzdGVyIGNvbnRhaW5zIHVucHJl ZGljdGFibGUgdmFsdWUgLSB0aGUgYXJyYXkgc2l6ZS4KICtnZGJfdGVzdCAicHR5cGUgcmVnX3N0 cmluZyIge3R5cGUgPSBjaGFyIFxbLT9bMC05XStcXX0KLUluZGV4OiBnZGItNy4xMS45MC4yMDE2 MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmMKK0luZGV4OiBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K IC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVk LmMJMjAxNi0wOC0yNSAxODo0NDo0Mi4wNjA3ODkwNzYgKzAyMDAKKysrKyBnZGItNy4xMi9nZGIv dGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmMJMjAxNi0xMC0yMCAyMTowMzowOS40 ODgyNzE5NDQgKzAyMDAKIEBAIC0wLDAgKzEsNDIgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTQwOSwxMCArMjM2NCwxMCBAQCBJ bmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1z dHJpcHBlZC5jCiArICBmdW5jMSAoMSwgMik7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2Ri LTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5l eHAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVk LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItc3RyaXBwZWQuZXhwCTIwMTYtMDgtMjUgMTg6NDQ6NDIuMDYwNzg5MDc2ICswMjAw CisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAJ MjAxNi0xMC0yMCAyMTowMzowOS40ODkyNzE5NTIgKzAyMDAKIEBAIC0wLDAgKzEsNzkgQEAKICsj IENvcHlyaWdodCAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTQ5 MywxMCArMjQ0OCwxMCBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAKICtnZGJfdGVzdCAic3RlcCIgXAogKyAgICAg ICAgICJmdW5jLiogXFwoLipcXCkgYXQgLioiIFwKICsgICAgICAgICAic3RlcCIKLUluZGV4OiBn ZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1t ZW1iZXItZGF0YS1sb2NhdGlvbi5TCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uUwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJl ci1kYXRhLWxvY2F0aW9uLlMJMjAxNi0wOC0yNSAxODo0NDo0Mi4wNjA3ODkwNzYgKzAyMDAKKysr KyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0 YS1sb2NhdGlvbi5TCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDg5MjcxOTUyICswMjAwCiBAQCAtMCww ICsxLDgzIEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1 Z2dlci4KICsKQEAgLTE1ODEsMTAgKzI1MzYsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYw ODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2EK ICsKICsJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8KICsJLmJ5dGUJCTB4MAkJCS8qIFRl cm1pbmF0b3IgKi8KLUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAKK0luZGV4OiBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2Nh dGlvbi5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAJMjAxNi0wOC0yNSAx ODo0NDo0Mi4wNjA3ODkwNzYgKzAyMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5k d2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAJMjAxNi0xMC0yMCAyMTow MzowOS40ODkyNzE5NTIgKzAyMDAKIEBAIC0wLDAgKzEsMzcgQEAKICsjIENvcHlyaWdodCAyMDA5 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTYyMywxMCArMjU3OCwxMCBA QCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYQogK2NsZWFuX3Jlc3RhcnQgJGJpbmZpbGUKICsKICtn ZGJfdGVzdCAicHR5cGUgc3RydWN0IHNvbWVfc3RydWN0IiAidHlwZSA9IHN0cnVjdCBzb21lX3N0 cnVjdCB7XFtcclxuIFx0XF0qdm9pZCBmaWVsZDtcW1xyXG4gXHRcXSp9IgotSW5kZXg6IGdkYi03 LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3VicmFuZ2Utbm8t dHlwZS5TCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdWJy YW5nZS1uby10eXBlLlMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1 aXRlL2dkYi5kd2FyZjIvZHcyLXN1YnJhbmdlLW5vLXR5cGUuUwkyMDE2LTA4LTI1IDE4OjQ0OjQy LjA2MDc4OTA3NiArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItc3VicmFuZ2Utbm8tdHlwZS5TCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDg5MjcxOTUyICswMjAw CiBAQCAtMCwwICsxLDEyMSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRo ZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xNzQ5LDEwICsyNzA0LDEwIEBAIEluZGV4OiBnZGItNy4x MS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN1YnJhbmdlLW5vLXR5 cGUuUwogKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwogKwogKwkuYnl0ZQkJMHgwCQkJ LyogVGVybWluYXRvciAqLwotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3Vp dGUvZ2RiLmR3YXJmMi9kdzItc3VicmFuZ2Utbm8tdHlwZS5leHAKK0luZGV4OiBnZGItNy4xMi9n ZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN1YnJhbmdlLW5vLXR5cGUuZXhwCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdWJy YW5nZS1uby10eXBlLmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2MDc4OTA3NiArMDIwMAorKysr IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3VicmFuZ2Utbm8tdHlwZS5l eHAJMjAxNi0xMC0yMCAyMTowMzowOS40ODkyNzE5NTIgKzAyMDAKIEBAIC0wLDAgKzEsMzkgQEAK ICsjIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAt MTc5MywxMCArMjc0OCwxMCBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdWJyYW5nZS1uby10eXBlLmV4cAogKwogK2dkYl90ZXN0ICJw dHlwZSBub3R5cGVfc3RyaW5nIiB7dHlwZSA9IGNoYXIgXFsxMjlcXX0KICtnZGJfdGVzdCAicCBu b3R5cGVfc3RyaW5nIiAiID0gJ3gnIDxyZXBlYXRzIDEyOSB0aW1lcz4iCi1JbmRleDogZ2RiLTcu MTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZXhw CitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUu ZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9kd2FyZi1zdHJpZGUuZXhwCTIwMTYtMDgtMjUgMTg6NDQ6NDIuMDYxNzg5MDg2ICswMjAw CisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZXhw CTIwMTYtMTAtMjAgMjE6MDM6MDkuNDg5MjcxOTUyICswMjAwCiBAQCAtMCwwICsxLDQyIEBACiAr IyBDb3B5cmlnaHQgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE4 NDAsMTAgKzI3OTUsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cAogK2dkYl9jb250aW51ZV90b19icmVha3Bv aW50ICJicmVhay1oZXJlIiAiLipicmVhay1oZXJlLioiCiArZ2RiX3Rlc3QgInAgYzQwcHQoMSki ICIgPSAnMC1oZWxsby4qIgogK2dkYl90ZXN0ICJwIGM0MHB0KDIpIiAiID0gJzEtaGVsbG8uKiIK LUluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3 YXJmLXN0cmlkZS5mOTAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2R3YXJmLXN0cmlkZS5mOTAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5mOTAJMjAxNi0wOC0yNSAxODo0NDo0Mi4w NjE3ODkwODYgKzAyMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3 YXJmLXN0cmlkZS5mOTAJMjAxNi0xMC0yMCAyMTowMzowOS40ODkyNzE5NTIgKzAyMDAKIEBAIC0w LDAgKzEsNDAgQEAKICshIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogKyEKQEAgLTE4ODUsMTAgKzI4NDAsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYw ODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmY5MAogKyAgcHJpbnQg KiwgYzQwcHQgICEgYnJlYWstaGVyZQogKwogK2VuZCBwcm9ncmFtIHJlcHJvCi1JbmRleDogZ2Ri LTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmV4cAor SW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5leHAKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5 bmFtaWMuZXhwCTIwMTYtMDgtMjUgMTg6NTQ6MjUuOTU3MjU4MDI0ICswMjAwCisrKysgZ2RiLTcu MTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmV4cAkyMDE2LTEwLTIwIDIxOjAz OjA5LjQ5MDI3MTk2MCArMDIwMAogQEAgLTAsMCArMSwxNTQgQEAKICsjIENvcHlyaWdodCAyMDA3 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMjA0NCwxMCArMjk5OSwxMCBA QCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9k eW5hbWljLmV4cAogK2dkYl90ZXN0ICJwIHZhcnQoMyw4KSIgIlxcJFxbMC05XF0qID0gOSIKICsj IG1hcHMgdG8gZm9vOjp2YXJ5KDEsMykKICtnZGJfdGVzdCAicCB2YXJ0KDIsOSkiICJcXCRcWzAt OVxdKiA9IDEwIgotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vZHluYW1pYy5mOTAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2R5bmFtaWMuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2MTc4 OTA4NiArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1p Yy5mOTAJMjAxNi0xMC0yMCAyMTowMzowOS40OTAyNzE5NjAgKzAyMDAKIEBAIC0wLDAgKzEsOTgg QEAKICshIENvcHlyaWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEK QEAgLTIxNDcsMTAgKzMxMDIsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5mOTAKICsgIGlmICh4ICgxLCAxKSAubmUuIDgg Lm9yLiB4ICgyLCAyKSAubmUuIDkgLm9yLiB4ICgxLCAyKSAubmUuIDQpIGNhbGwgYWJvcnQKICsg IGlmICh4ICgzLCAxKSAubmUuIDEwKSBjYWxsIGFib3J0CiArZW5kCi1JbmRleDogZ2RiLTcuMTEu OTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCitJbmRleDog Z2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhw CTIwMTYtMDgtMjUgMTg6NDQ6NDIuMDYxNzg5MDg2ICswMjAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDkwMjcx OTYwICswMjAwCiBAQCAtMCwwICsxLDU5IEBACiArIyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTIyMTEsMTAgKzMxNjYsMTAgQEAgSW5kZXg6IGdk Yi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmV4cAog K2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2YXItZmluaXNoIgogK2dkYl90ZXN0ICJwIGUi ICJcXCRcWzAtOVxdKiA9ICdlICAgJyIgInAgZSByZS1zZXQiCiArZ2RiX3Rlc3QgInAgZiIgIlxc JFxbMC05XF0qID0gXFwoXFwoICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAn LCAnZiAgICcsICdmICAgJ1xcKSBcXCggJ2YyICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAn ZiAgICcsICdmICAgJywgJ2YgICAnXFwpIFxcKCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAg ICcsICdmICAgJywgJ2YgICAnLCAnZiAgICdcXCkgXFwpIiAicCAqZiByZS1zZXQiCi1JbmRleDog Z2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkw CitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9z dHJpbmcuZjkwCTIwMTYtMDgtMjUgMTg6NDQ6NDIuMDYxNzg5MDg2ICswMjAwCisrKysgZ2RiLTcu MTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCTIwMTYtMTAtMjAgMjE6MDM6 MDkuNDkwMjcxOTYwICswMjAwCiBAQCAtMCwwICsxLDM3IEBACiArISBDb3B5cmlnaHQgMjAwOCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICshCkBAIC0yMjUzLDEwICszMjA4LDEwIEBA IEluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0 cmluZy5mOTAKICsgIGggPSAnaCcKICsgIGNhbGwgZm9vIChnLCBoKQogK2VuZAotSW5kZXg6IGdk Yi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhw CitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3N1YnJhbmdlLmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2MTc4OTA4NiArMDIwMAorKysrIGdk Yi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhwCTIwMTYtMTAtMjAg MjE6MDM6MDkuNDkwMjcxOTYwICswMjAwCiBAQCAtMCwwICsxLDcyIEBACiArIyBDb3B5cmlnaHQg MjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTIzMzAsMTAgKzMyODUs MTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vc3VicmFuZ2UuZXhwCiArZ2RiX3VubG9hZAogK3NldHVwX2tmYWlsICIqLSotKiIgInZsYXJl Z3Jlc3Npb24vOTk5OSIKICtnZGJfdGVzdCB7cCAkYSAoMywgMjoyKX0geyA9IFwoMjNcKX0KLUlu ZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJh bmdlLmY5MAorSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFu Z2UuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9zdWJyYW5nZS5mOTAJMjAxNi0wOC0yNSAxODo0NDo0Mi4wNjE3ODkwODYgKzAyMDAK KysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmY5MAkyMDE2 LTEwLTIwIDIxOjAzOjA5LjQ5MDI3MTk2MCArMDIwMAogQEAgLTAsMCArMSwyOCBAQAogKyEgQ29w eXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMjM2Mywx MCArMzMxOCwxMCBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9zdWJyYW5nZS5mOTAKICsgIHB0ciA9PiBhCiArICB3cml0ZSAoKiwqKSBhICAg ICAgICAgICAgICAgICAhIGJyZWFrLXN0YXRpYwogK2VuZAotSW5kZXg6IGdkYi03LjExLjkwLjIw MTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5jCitJbmRleDog Z2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0 YWxlLXR5cGUuYwkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2MTc4OTA4NiArMDIwMAorKysrIGdkYi03 LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5jCTIwMTYtMTAtMjAg MjE6MDM6MDkuNDkxMjcxOTY3ICswMjAwCiBAQCAtMCwwICsxLDI2IEBACiArLyogQ29weXJpZ2h0 IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0yMzk0LDEwICszMzQ5 LDEwIEBAIEluZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5taS9t aTItdmFyLXN0YWxlLXR5cGUuYwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjEx LjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAK K0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUu ZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCi0rKysgZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkv bWkyLXZhci1zdGFsZS10eXBlLmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQyLjA2Mjc4OTA5NSArMDIw MAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5l eHAJMjAxNi0xMC0yMCAyMTowMzowOS40OTEyNzE5NjcgKzAyMDAKIEBAIC0wLDAgKzEsNTcgQEAK ICsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyMKQEAg LTI0NTYsMTAgKzM0MTEsMTAgQEAgSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0 c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAKICttaV9jcmVhdGVfdmFyb2JqICJ2 bGEiICJ2bGEiICJjcmVhdGUgbG9jYWwgdmFyaWFibGUgdmxhIgogKwogK21pX2dkYl90ZXN0ICIt dmFyLXVwZGF0ZSAqIiAiXFxeZG9uZSxjaGFuZ2VsaXN0PS4qIiAiLXZhci11cGRhdGUgKiIKLUlu ZGV4OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJv bS1yZWdpc3Rlci1mdW5jLmMKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5vcHQv YXJyYXktZnJvbS1yZWdpc3Rlci1mdW5jLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45MC4yMDE2MDgw Ny9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci1mdW5jLmMJMjAxNi0w OC0yNSAxODo0NDo0Mi4wNjI3ODkwOTUgKzAyMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRl L2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci1mdW5jLmMJMjAxNi0xMC0yMCAyMTowMzowOS40 OTEyNzE5NjcgKzAyMDAKIEBAIC0wLDAgKzEsMjIgQEAKICsvKiBUaGlzIGZpbGUgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0yNDgzLDEwICszNDM4LDEwIEBAIEluZGV4 OiBnZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1y ZWdpc3Rlci1mdW5jLmMKICt7CiArICByZXR1cm4gYXJyWzBdOwogK30KLUluZGV4OiBnZGItNy4x MS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5j CitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0 ZXIuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLm9w dC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMJMjAxNi0wOC0yNSAxODo0NDo0Mi4wNjI3ODkwOTUgKzAy MDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rl ci5jCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDkxMjcxOTY3ICswMjAwCiBAQCAtMCwwICsxLDI4IEBA CiArLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAt MjUxNiwxMCArMzQ3MSwxMCBAQCBJbmRleDogZ2RiLTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3Rz dWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIuYwogKwogKyAgcmV0dXJuIDA7CiArfQot SW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1m cm9tLXJlZ2lzdGVyLmV4cAorSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9h cnJheS1mcm9tLXJlZ2lzdGVyLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjExLjkwLjIwMTYwODA3L2dk Yi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmV4cAkyMDE2LTA4LTI1IDE4 OjQ0OjQyLjA2Mjc4OTA5NSArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLm9w dC9hcnJheS1mcm9tLXJlZ2lzdGVyLmV4cAkyMDE2LTEwLTIwIDIxOjAzOjA5LjQ5MTI3MTk2NyAr MDIwMAogQEAgLTAsMCArMSwzMyBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCiArIwpAQCAtMjU1NCwxMCArMzUwOSw4NyBAQCBJbmRleDogZ2RiLTcu MTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXIu ZXhwCiArIyBTZWVuIHJlZ3Jlc3Npb246CiArIyBBZGRyZXNzIHJlcXVlc3RlZCBmb3IgaWRlbnRp ZmllciAiYXJyIiB3aGljaCBpcyBpbiByZWdpc3RlciAkcmRpCiArZ2RiX3Rlc3QgInAgYXJyXFsw XF0iICJcXCRcWzAtOVxdKyA9IDQyIgotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90 ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMuZXhwCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3Rz dWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjEyL2dkYi90 ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5leHAJMjAxNi0xMC0yMCAyMTowMzowOS40 OTEyNzE5NjcgKzAyMDAKK0BAIC0wLDAgKzEsMzkgQEAKKysjIENvcHlyaWdodCAyMDA5IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9m IHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K KysjIAorKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjIAorKyMgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisrIyBG b3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEg MDIxMTEtMTMwNywgVVNBLiAgCisrCisrIyBUaGlzIGZpbGUgd2FzIHdyaXR0ZW4gYnkgSmFuIEty YXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+LgorKworKyMgVGVzdCBHREIgY2Fu IGNvcGUgd2l0aCBGb3J0cmFuIHN0cmluZ3MgaGF2aW5nIHRoZWlyIGxlbmd0aCBwcmVzZW50IGlu IGEgQ1BVCisrIyByZWdpc3Rlci4gIFdpdGggLU8wIHRoZSBzdHJpbmcgbGVuZ3RoIGlzIHBhc3Nl ZCBvbiB0aGUgc3RhY2suICBUbyBtYWtlIHRoaXMKKysjIHRlc3QgbWVhbmluZ2Z1bCB0aGUgZm9s bG93IGFzc2VydGlvbiBzaG91bGQgcGFzcy4gIEl0IGlzIG5vdCBiZWluZyBjaGVja2VkCisrIyBo ZXJlIGFzIHRoZSAiX3MiIHN5bWJvbCBpcyBjb21waWxlciBkZXBlbmRlbnQ6CisrIyAgIChnZGIp IGluZm8gYWRkcmVzcyBfcworKyMgICBTeW1ib2wgIl9zIiBpcyBhIHZhcmlhYmxlIGluIHJlZ2lz dGVyIFhYLgorKworK3NldCB0ZXN0IGZvcnRyYW4tc3RyaW5nCisrc2V0IHNyY2ZpbGUgJHt0ZXN0 fS5mOTAKKytpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICR7dGVzdH0uZXhwICR7dGVzdH0gJHtz cmNmaWxlfSB7ZGVidWcgZjkwIGFkZGl0aW9uYWxfZmxhZ3M9LU8yfV0gfSB7CisrICAgIHJldHVy biAtMQorK30KKysKKytpZiAhW3J1bnRvICRzcmNmaWxlOltnZGJfZ2V0X2xpbmVfbnVtYmVyICJz ID0gcyJdXSB0aGVuIHsKKysgICAgcGVycm9yICJjb3VsZG4ndCBydW4gdG8gYnJlYWtwb2ludCBN QUlOX18iCisrICAgIGNvbnRpbnVlCisrfQorKworK2dkYl90ZXN0ICJmcmFtZSIgIi4qcz0nZm9v Jy4qIgorK2dkYl90ZXN0ICJwdHlwZSBzIiAidHlwZSA9IGNoYXJhY3RlclxcKjMiCisrZ2RiX3Rl c3QgInAgcyIgIlxcJFxbMC05XF0qID0gJ2ZvbyciCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3Rz dWl0ZS9nZGIub3B0L2ZvcnRyYW4tc3RyaW5nLmY5MAorPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjEyL2dkYi90 ZXN0c3VpdGUvZ2RiLm9wdC9mb3J0cmFuLXN0cmluZy5mOTAJMjAxNi0xMC0yMCAyMTowMzowOS40 OTEyNzE5NjcgKzAyMDAKK0BAIC0wLDAgKzEsMjggQEAKKyshIENvcHlyaWdodCAyMDA5IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKyEKKyshIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrISBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorKyEgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBv ZiB0aGUgTGljZW5zZSwgb3IKKyshIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisrIQorKyEgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCisrISBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyEgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyEgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyshCisrISBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyEgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyshIEZv dW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAw MjExMS0xMzA3LCBVU0EuCisrIQorKyEgSWhpcyBmaWxlIGlzIHRoZSBGb3J0cmFuIHNvdXJjZSBm aWxlIGZvciBkeW5hbWljLmV4cC4KKyshIE9yaWdpbmFsIGZpbGUgd3JpdHRlbiBieSBKYWt1YiBK ZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPi4KKyshIE1vZGlmaWVkIGZvciB0aGUgR0RCIHRlc3Rj YXNlIGJ5IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPi4KKysKKysg IHN1YnJvdXRpbmUgZihzKQorKyAgY2hhcmFjdGVyKigqKSBzCisrICBzID0gcworKyAgZW5kCisr CisrICBwcm9ncmFtIG1haW4KKysgIGNhbGwgZiAoJ2ZvbycpCisrICBlbmQKK0luZGV4OiBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLmV4cAogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMuZXhwCTIwMTYt MDgtMjUgMTg6NDQ6NDIuMDYyNzg5MDk1ICswMjAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0 ZS9nZGIucGFzY2FsL2FycmF5cy5leHAJMjAxNi0xMC0yMCAyMTowMzowOS40OTIyNzE5NzUgKzAy MDAKIEBAIC0wLDAgKzEsMTA0IEBACiArIyBDb3B5cmlnaHQgMjAwOCwgMjAwOSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICsjCkBAIC0yNjYzLDEwICszNjk1LDEwIEBAIEluZGV4OiBn ZGItNy4xMS45MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLmV4cAog K30KICtnZGJfdGVzdCAicHJpbnQgRHluQXJyQ2hhciIgIi4qID0gJ2FiY2RlZmdoaWprbG0nIiAi UHJpbnQgZHluYW1pYyBhcnJheSBvZiBjaGFyIgogKwotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYw ODA3L2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMucGFzCitJbmRleDogZ2RiLTcuMTIv Z2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5wYXMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4xMS45 MC4yMDE2MDgwNy9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBhcwkyMDE2LTA4LTI1 IDE4OjQ0OjQyLjA2Mjc4OTA5NSArMDIwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2Ri LnBhc2NhbC9hcnJheXMucGFzCTIwMTYtMTAtMjAgMjE6MDM6MDkuNDkyMjcxOTc1ICswMjAwCiBA QCAtMCwwICsxLDgyIEBACiArewogKyBDb3B5cmlnaHQgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KQEAgLTI3NTAsMTAgKzM3ODIsMTAgQEAgSW5kZXg6IGdkYi03LjEx LjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMucGFzCiArICBzIDo9 ICd0ZXN0JyMwJ3N0cmluZyc7CiArICB3cml0ZWxuKHMpOyB7IHNldCBicmVha3BvaW50IDIgaGVy ZSB9CiArZW5kLgotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvbGli L2dkYi5leHAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA4MDcub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9n ZGIuZXhwCTIwMTYtMDgtMjUgMTg6NDQ6NDEuNDI0NzgzMTQ4ICswMjAwCi0rKysgZ2RiLTcuMTEu OTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDE2LTA4LTI1IDE4OjQ0OjQy LjA2Mzc4OTEwNCArMDIwMAorLS0tIGdkYi03LjEyLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2Ri LmV4cAkyMDE2LTEwLTIwIDIxOjAyOjMwLjk0MTk3MDU1NiArMDIwMAorKysrIGdkYi03LjEyL2dk Yi90ZXN0c3VpdGUvbGliL2dkYi5leHAJMjAxNi0xMC0yMCAyMTowMzowOS40OTMyNzE5ODMgKzAy MDAKIEBAIC0xNzMsNiArMTczLDExIEBACiAgCSAgICBzZW5kX2dkYiAieVxuIgogIAkgICAgZXhw X2NvbnRpbnVlCkBAIC0yNzY2LDEwICszNzk4LDEwIEBAIEluZGV4OiBnZGItNy4xMS45MC4yMDE2 MDgwNy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiAgCS1yZSAiRGlzY2FyZCBzeW1ib2wgdGFi bGUgZnJvbSAuKnkgb3Igbi4qJCIgewogIAkgICAgc2VuZF9nZGIgInlcbiIKICAJICAgIGV4cF9j b250aW51ZQotSW5kZXg6IGdkYi03LjExLjkwLjIwMTYwODA3L2dkYi90ZXN0c3VpdGUvbGliL3Bh c2NhbC5leHAKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMTEuOTAuMjAxNjA4MDcub3JpZy9nZGIvdGVzdHN1aXRlL2xp Yi9wYXNjYWwuZXhwCTIwMTYtMDgtMDcgMDQ6MDA6MDEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2Ri LTcuMTEuOTAuMjAxNjA4MDcvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4cAkyMDE2LTA4LTI1 IDE4OjQ0OjQyLjA2Mzc4OTEwNCArMDIwMAorLS0tIGdkYi03LjEyLm9yaWcvZ2RiL3Rlc3RzdWl0 ZS9saWIvcGFzY2FsLmV4cAkyMDE2LTEwLTIwIDIxOjAyOjMwLjk0MTk3MDU1NiArMDIwMAorKysr IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAJMjAxNi0xMC0yMCAyMTowMzow OS40OTMyNzE5ODMgKzAyMDAKIEBAIC0zNyw2ICszNyw5IEBACiAgICAgIGdsb2JhbCBwYXNjYWxf Y29tcGlsZXJfaXNfZnBjCiAgICAgIGdsb2JhbCBncGNfY29tcGlsZXIKCmRpZmYgLS1naXQgYS9n ZGItcGh5c25hbWUtcHIxMTczNC10ZXN0LnBhdGNoIGIvZ2RiLXBoeXNuYW1lLXByMTE3MzQtdGVz dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzliYTRhCi0tLSAv ZGV2L251bGwKKysrIGIvZ2RiLXBoeXNuYW1lLXByMTE3MzQtdGVzdC5wYXRjaApAQCAtMCwwICsx LDIyNiBAQAoraHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTAtMTIvbXNn MDAyNjMuaHRtbAorCitJbmRleDogZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0 LTEuY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAw MDAwMDAgKzAwMDAKKysrKyBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMS5j YwkyMDExLTAyLTAzIDIyOjI4OjAxLjAwMDAwMDAwMCArMDEwMAorQEAgLTAsMCArMSwzMCBAQAor Ky8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisr ICAgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAg IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor KworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisrICAgUGxlYXNlIGVtYWlsIGFu eSBidWdzLCBjb21tZW50cywgYW5kL29yIGFkZGl0aW9ucyB0byB0aGlzIGZpbGUgdG86CisrICAg YnVnLWdkYkBnbnUub3JnICAqLworKworKyNpbmNsdWRlICJwcjExNzM0LmgiCisrCisraW50Cisr bWFpbiAoKQorK3sKKysgIHByMTE3MzQgKnAgPSBuZXcgcHIxMTczNDsKKysgIHAtPmZvbyAoKTsK KysgIHJldHVybiAwOworK30KKysKK0luZGV4OiBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNw L3ByMTE3MzQtMi5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIx MTczNC0yLmNjCTIwMTEtMDItMDMgMjI6Mjg6MDEuMDAwMDAwMDAwICswMTAwCitAQCAtMCwwICsx LDI3IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dl ci4KKysKKysgICBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKysgICBQbGVhc2Ug ZW1haWwgYW55IGJ1Z3MsIGNvbW1lbnRzLCBhbmQvb3IgYWRkaXRpb25zIHRvIHRoaXMgZmlsZSB0 bzoKKysgICBidWctZ2RiQGdudS5vcmcgICovCisrCisrI2luY2x1ZGUgInByMTE3MzQuaCIKKysK Kyt2b2lkCisrcHIxMTczNDo6Zm9vKHZvaWQpCisreworK30KKysKK0luZGV4OiBnZGItNy4yL2dk Yi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTE3MzQtMy5jYworPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjIvZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvcHIxMTczNC0zLmNjCTIwMTEtMDItMDMgMjI6Mjg6MDEuMDAwMDAwMDAw ICswMTAwCitAQCAtMCwwICsxLDI3IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdE QiwgdGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cisr ICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg TGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKwor KyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4KKysKKysgICBQbGVhc2UgZW1haWwgYW55IGJ1Z3MsIGNvbW1lbnRzLCBhbmQvb3IgYWRkaXRp b25zIHRvIHRoaXMgZmlsZSB0bzoKKysgICBidWctZ2RiQGdudS5vcmcgICovCisrCisrI2luY2x1 ZGUgInByMTE3MzQuaCIKKysKKyt2b2lkCisrcHIxMTczNDo6Zm9vIChpbnQgYSkKKyt7CisrfQor KworSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvcHIxMTczNC00LmNjCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw CisrKysgZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjExNzM0LTQuY2MJMjAxMS0wMi0w MyAyMjoyODowMS4wMDAwMDAwMDAgKzAxMDAKK0BAIC0wLDAgKzEsMjcgQEAKKysvKiBUaGlzIHRl c3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdo dCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworKyAgIFBsZWFzZSBlbWFpbCBhbnkgYnVncywgY29t bWVudHMsIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhpcyBmaWxlIHRvOgorKyAgIGJ1Zy1nZGJAZ251 Lm9yZyAgKi8KKysKKysjaW5jbHVkZSAicHIxMTczNC5oIgorKworK3ZvaWQKKytwcjExNzM0Ojpm b28gKGNoYXIgKmEpCisreworK30KKysKK0luZGV4OiBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2Ri LmNwL3ByMTE3MzQuZXhwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6 MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9w cjExNzM0LmV4cAkyMDExLTAyLTAzIDIyOjI4OjAxLjAwMDAwMDAwMCArMDEwMAorQEAgLTAsMCAr MSw1NSBAQAorKyMgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CisrIworKyMgQ29udHJpYnV0ZWQgYnkgUmVkIEhhdCwgb3JpZ2luYWxseSB3cml0dGVuIGJ5IEtl aXRoIFNlaXR6LgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws CisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisrIyBUaGlz IGZpbGUgaXMgcGFydCBvZiB0aGUgZ2RiIHRlc3RzdWl0ZS4KKysKKytpZiB7IFtza2lwX2NwbHVz X3Rlc3RzXSB9IHsgY29udGludWUgfQorKworK3NldCB0ZXN0ZmlsZSAicHIxMTczNCIKKytzZXQg Y2xhc3MgJHRlc3RmaWxlCisrCisrc2V0IHNyY2ZpbGVzIHt9CisrZm9yIHtzZXQgaSAxfSB7JGkg PCA1fSB7aW5jciBpfSB7CisrICAgIGxhcHBlbmQgc3JjZmlsZXMgJHRlc3RmaWxlLSRpLmNjCisr fQorKworK3ByZXBhcmVfZm9yX3Rlc3RpbmcgcHIxMTczNCAkdGVzdGZpbGUgJHNyY2ZpbGVzIHtj KysgZGVidWd9CisrCisraWYgeyFbcnVudG9fbWFpbl19IHsKKysgICAgcGVycm9yICJjb3VsZG4n dCBydW4gdG8gYnJlYWtwb2ludCIKKysgICAgY29udGludWUKKyt9CisrCisrIyBBbiBhcnJheSBo b2xkaW5nIHRoZSBvdmVybG9hZCB0eXBlcyBmb3IgdGhlIG1ldGhvZCBwcjExNzM0Ojpmb28uICBU aGUKKysjIGZpcnN0IGVsZW1lbnQgaXMgdGhlIG92ZXJsb2FkZWQgbWV0aG9kIHBhcmFtZXRlci4g IFRoZSBzZWNvbmQgZWxlbWVudAorKyMgaXMgdGhlIGV4cGVjdGVkIHNvdXJjZSBmaWxlIG51bWJl ciwgZS5nLiAicHIxMTczNC0/LmNjIi4KKythcnJheSBzZXQgdGVzdHMgeworKyAgICAiY2hhcioi ICA0CisrICAgICJpbnQiICAgIDMKKysgICAgIiIgICAgICAgMgorK30KKysKKysjIFRlc3QgZWFj aCBvdmVybG9hZCBpbnN0YW5jZSB0d2ljZTogb25jZSBxdW90ZWQsIG9uY2UgdW5xdW90ZWQKKytm b3JlYWNoIG92bGQgW2FycmF5IG5hbWVzIHRlc3RzXSB7CisrICAgIHNldCBtZXRob2QgIiR7Y2xh c3N9Ojpmb29cKCRvdmxkXCkiCisrICAgIHNldCByZXN1bHQgIkJyZWFrcG9pbnQgKFxbMC05XF0p LipmaWxlIC4qLyRjbGFzcy0kdGVzdHMoJG92bGQpLioiCisrICAgIGdkYl90ZXN0ICJicmVhayAk bWV0aG9kIiAkcmVzdWx0CisrICAgIGdkYl90ZXN0ICJicmVhayAnJG1ldGhvZCciICRyZXN1bHQK Kyt9CisrCisrZ2RiX2V4aXQKKytyZXR1cm4gMAorSW5kZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuY3AvcHIxMTczNC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEg MDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5j cC9wcjExNzM0LmgJMjAxMS0wMi0wMyAyMjoyODowMS4wMDAwMDAwMDAgKzAxMDAKK0BAIC0wLDAg KzEsMjggQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVn Z2VyLgorKworKyAgIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAg IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAg SWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworKyAgIFBsZWFz ZSBlbWFpbCBhbnkgYnVncywgY29tbWVudHMsIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhpcyBmaWxl IHRvOgorKyAgIGJ1Zy1nZGJAZ251Lm9yZyAgKi8KKysKKytjbGFzcyBwcjExNzM0CisreworKyBw dWJsaWM6CisrICB2b2lkIGZvbyAoKTsKKysgIHZvaWQgZm9vIChpbnQpOworKyAgdm9pZCBmb28g KGNoYXIgKik7CisrfTsKKysKCmRpZmYgLS1naXQgYS9nZGItcGh5c25hbWUtcHIxMjI3My10ZXN0 LnBhdGNoIGIvZ2RiLXBoeXNuYW1lLXByMTIyNzMtdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5lOGJlZDE1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2RiLXBoeXNu YW1lLXByMTIyNzMtdGVzdC5wYXRjaApAQCAtMCwwICsxLDk1IEBACitodHRwOi8vc291cmNld2Fy ZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMC0xMi9tc2cwMDI2NC5odG1sCisKK0luZGV4OiBnZGIt Ny4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTIyNzMuY2MKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4yL2dk Yi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTIyNzMuY2MJMjAxMS0wMi0wMyAyMjozMTowMS4wMDAwMDAw MDAgKzAxMDAKK0BAIC0wLDAgKzEsMzcgQEAKKysvKiBUaGlzIHRlc3QgY2FzZSBpcyBwYXJ0IG9m IEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 CisrICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor KworKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4gICovCisrCisrdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisrY2xhc3MgR0RCCisreworKyBw dWJsaWM6CisrICAgc3RhdGljIGludCBzaW1wbGUgKHZvaWQpIHsgcmV0dXJuIDA7IH0KKysgICBz dGF0aWMgaW50IGhhcmRlciAoVCBhKSB7IHJldHVybiAxOyB9CisrICAgdGVtcGxhdGUgPHR5cGVu YW1lIFg+CisrICAgc3RhdGljIFggZXZlbl9oYXJkZXIgKFQgYSkgeyByZXR1cm4gc3RhdGljX2Nh c3Q8WD4gKGEpOyB9CisrICAgaW50IG9wZXJhdG9yID09IChHREIgY29uc3QmIG90aGVyKQorKyAg IHsgcmV0dXJuIDE7IH0KKyt9OworKworK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikK Kyt7CisrICAgR0RCPGludD4gYSwgYjsKKysgICBpZiAoYSA9PSBiKQorKyAgICAgcmV0dXJuIEdE QjxjaGFyPjo6aGFyZGVyKCdhJykgKyBHREI8aW50Pjo6aGFyZGVyKDMpCisrCSsgR0RCPGNoYXI+ OjpldmVuX2hhcmRlcjxpbnQ+ICgnYScpOworKyAgIHJldHVybiBHREI8aW50Pjo6c2ltcGxlICgp OworK30KK0luZGV4OiBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ByMTIyNzMuZXhwCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICsw MDAwCisrKysgZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9wcjEyMjczLmV4cAkyMDExLTAy LTAzIDIyOjMxOjAxLjAwMDAwMDAwMCArMDEwMAorQEAgLTAsMCArMSw0NiBAQAorKyMgQ29weXJp Z2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIworKyMgQ29udHJpYnV0 ZWQgYnkgUmVkIEhhdCwgb3JpZ2luYWxseSB3cml0dGVuIGJ5IEtlaXRoIFNlaXR6LgorKyMKKysj IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisr IyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisrIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0 aGUgZ2RiIHRlc3RzdWl0ZS4KKysKKytpZiB7W3NraXBfY3BsdXNfdGVzdHNdfSB7IGNvbnRpbnVl IH0KKysKKytzZXQgdGVzdGZpbGUgInByMTIyNzMiCisrIyBEbyBOT1QgY29tcGlsZSB3aXRoIGRl YnVnIGZsYWcuCisrcHJlcGFyZV9mb3JfdGVzdGluZyBwcjEyMjczICR0ZXN0ZmlsZSAkdGVzdGZp bGUuY2Mge2MrK30KKysKKytnZGJfdGVzdF9ub19vdXRwdXQgInNldCBsYW5ndWFnZSBjKysiCisr CisrIyBBIGxpc3Qgb2YgbWluaW1hbCBzeW1ib2wgbmFtZXMgdG8gY2hlY2suCisrIyBOb3RlIHRo YXQgR0RCPGNoYXI+OjpldmVuX2hhcmRlcjxpbnQ+KGNoYXIpIGlzIHF1b3RlZCBhbmQgaW5jbHVk ZXMKKysjIHRoZSByZXR1cm4gdHlwZS4gIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhpcyBp cyB0aGUgZGVtYW5nbGVkIG5hbWUKKysjIG9mIHRoZSBtaW5pbWFsIHN5bWJvbC4KKytzZXQgbWlu X3N5bXMgW2xpc3QgXAorKwkJICAiR0RCPGludD46Om9wZXJhdG9yID09IiBcCisrCQkgICJHREI8 aW50Pjo6b3BlcmF0b3I9PShHREI8aW50PiBjb25zdCYpIiBcCisrCQkgICJHREI8Y2hhcj46Omhh cmRlcihjaGFyKSIgXAorKwkJICAiR0RCPGludD46OmhhcmRlcihpbnQpIiBcCisrCQkgIHsiaW50 IEdEQjxjaGFyPjo6ZXZlbl9oYXJkZXI8aW50PihjaGFyKSJ9IFwKKysJCSAgIkdEQjxpbnQ+Ojpz aW1wbGUoKSJdCisrCisrZm9yZWFjaCBzeW0gJG1pbl9zeW1zIHsKKysgICAgaWYge1tnZGJfYnJl YWtwb2ludCAkc3ltXX0geworKwlwYXNzICJzZXR0aW5nIGJyZWFrcG9pbnQgYXQgJHN5bSIKKysg ICAgfQorK30KKysKKytnZGJfZXhpdAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTAwNzYxNC1tZW1s ZWFrLWluZnB5X3JlYWRfbWVtb3J5LXRlc3QucGF0Y2ggYi9nZGItcmhiejEwMDc2MTQtbWVtbGVh ay1pbmZweV9yZWFkX21lbW9yeS10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjI5NWQxZGMKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItcmhiejEwMDc2MTQtbWVt bGVhay1pbmZweV9yZWFkX21lbW9yeS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMTYyIEBACitPcmln aW5hbCBtZXNzYWdlIGJ5IFRvbSBUcm9tZXk6CisKKyAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcv bWwvZ2RiLXBhdGNoZXMvMjAxMi0wMy9tc2cwMDk1NS5odG1sPgorICBNZXNzYWdlLUlEOiA8ODcx dW9jMXZhMy5mc2ZAZmxlY2hlLnJlZGhhdC5jb20+CisKK0NvbW1lbnQgZnJvbSBTZXJnaW8gRHVy aWdhbiBKdW5pb3I6CisKKyAgSW4gb3JkZXIgdG8gY29ycmVjdGx5IHRlc3QgdGhpcyBwYXRjaCwg SSB3cm90ZSBhIHRlc3RjYXNlIGJhc2VkIG9uIEphbgorICBLcmF0b2NodmlsJ3MgPGdkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZ2NvcmUtZXhjZXNzaXZlLW1lbW9yeS5leHA+LiAgVGhlCisgIHRlc3Rj YXNlLCB3aGljaCBjYW4gYmUgc2VlbiBiZWxvdywgdGVzdHMgR0RCIGluIG9yZGVyIHRvIHNlZSBp ZiB0aGUKKyAgYW1vdW50IG9mIG1lbW9yeSBiZWluZyBsZWFrZWQgaXMgbWluaW1hbCwgYXMgcmVx dWVzdGVkIGluIHRoZSBidWd6aWxsYS4KKyAgSXQgaXMgaGFyZCB0byBkZWZpbmUgd2hhdCAibWlu aW11bSIgaXMsIHNvIEkgcmFuIHRoZSB0ZXN0Y2FzZSBvbiBhbGwKKyAgc3VwcG9ydGVkIFJIRUwg YXJjaGl0ZWN0dXJlcyBhbmQgY2FtZSB1cCB3aXRoIGFuIGF2ZXJhZ2UuCisKK2NvbW1pdCBjYzAy NjVjZGRhOWRjN2U4NjY1ZThiZmNmNWI0NDc3NDg5ZGFmMjdjCitBdXRob3I6IFRvbSBUcm9tZXkg PHRyb21leUByZWRoYXQuY29tPgorRGF0ZTogICBXZWQgTWFyIDI4IDE3OjM4OjA4IDIwMTIgKzAw MDAKKworICAgIAkqIHB5dGhvbi9weS1pbmZlcmlvci5jIChpbmZweV9yZWFkX21lbW9yeSk6IFJl bW92ZSBjbGVhbnVwcyBhbmQKKyAgICAJZXhwbGljaXRseSBmcmVlICdidWZmZXInIG9uIGV4aXQg cGF0aHMuICBEZWNyZWYgJ21lbWJ1Zl9vYmplY3QnCisgICAgCWJlZm9yZSByZXR1cm5pbmcuCisK K0luZGV4OiBnZGItNy4yL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1nZGItcmhiejEwMDc2 MTQtbWVtbGVhay1pbmZweV9yZWFkX21lbW9yeS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxs CisrKysgZ2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnoxMDA3NjE0 LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnkuYworQEAgLTAsMCArMSwyNyBAQAorKy8qIFRoaXMg dGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJp Z2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysg ICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDov L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworK3N0YXRpYyBzdHJ1Y3QgeAorKyAgewor KyAgICBjaGFyIHVuc2lnbmVkIHVbNDA5Nl07CisrICB9IHgsICpweCA9ICZ4OworKworK2ludAor K21haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisreworKyAgcmV0dXJuIDA7CisrfQorSW5k ZXg6IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1t ZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAor KysrIGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1t ZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5LmV4cAorQEAgLTAsMCArMSw2OCBAQAorKyMgQ29weXJp Z2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorKworK3NldCB0ZXN0ZmlsZSBweS1nZGItcmhiejEwMDc2MTQtbWVt bGVhay1pbmZweV9yZWFkX21lbW9yeQorK3NldCBzcmNmaWxlICR7dGVzdGZpbGV9LmMKKytzZXQg YmluZmlsZSAke29iamRpcn0vJHtzdWJkaXJ9LyR7dGVzdGZpbGV9CisrCisraWYgeyBbcHJlcGFy ZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfV0gfSB7 CisrICAgIHJldHVybiAtMQorK30KKysKKytpZiB7IFtza2lwX3B5dGhvbl90ZXN0c10gfSB7IGNv bnRpbnVlIH0KKysKKytzZXQgcGlkX29mX2dkYiBbZXhwX3BpZCAtaSBbYm9hcmRfaW5mbyBob3N0 IGZpbGVpZF1dCisrCisrcHJvYyBtZW1vcnlfdl9wYWdlc19nZXQge30geworKyAgICBnbG9iYWwg cGlkX29mX2dkYgorKyAgICBzZXQgZmQgW29wZW4gIi9wcm9jLyRwaWRfb2ZfZ2RiL3N0YXRtIl0K KysgICAgZ2V0cyAkZmQgbGluZQorKyAgICBjbG9zZSAkZmQKKysgICAgIyBudW1iZXIgb2YgcGFn ZXMgb2YgdmlydHVhbCBtZW1vcnkKKysgICAgc2NhbiAkbGluZSAiJWQiIGRycworKyAgICByZXR1 cm4gJGRycworK30KKysKKytpZiB7ICFbcnVudG9fbWFpbl0gfSB7CisrICAgIHVudGVzdGVkICR0 ZXN0ZmlsZS5leHAKKysgICAgcmV0dXJuIC0xCisrfQorKworK3NldCByZW1vdGVfcHl0aG9uX2Zp bGUgW3JlbW90ZV9kb3dubG9hZCBob3N0ICR7c3JjZGlyfS8ke3N1YmRpcn0vJHt0ZXN0ZmlsZX0u cHldCisrCisrZ2RiX3Rlc3QgInNvdXJjZSAke3JlbW90ZV9weXRob25fZmlsZX0iICIiCisrCisr Z2RiX3Rlc3QgImhlbGxvLXdvcmxkIiAiIgorKworK3NldCBrYnl0ZXNfYmVmb3JlIFttZW1vcnlf dl9wYWdlc19nZXRdCisrdmVyYm9zZSAtbG9nICJrYnl0ZXNfYmVmb3JlID0gJGtieXRlc19iZWZv cmUiCisrCisrZ2RiX3Rlc3QgImhlbGxvLXdvcmxkIiAiIgorKworK3NldCBrYnl0ZXNfYWZ0ZXIg W21lbW9yeV92X3BhZ2VzX2dldF0KKyt2ZXJib3NlIC1sb2cgImtieXRlc19hZnRlciA9ICRrYnl0 ZXNfYWZ0ZXIiCisrCisrc2V0IGtieXRlc19kaWZmIFtleHByICRrYnl0ZXNfYWZ0ZXIgLSAka2J5 dGVzX2JlZm9yZV0KKyt2ZXJib3NlIC1sb2cgImtieXRlc19kaWZmID0gJGtieXRlc19kaWZmIgor KworKyMgVGhlIHZhbHVlICIxMDAwIiB3YXMgY2FsY3VsYXRlZCBieSBydW5uaW5nIGEgZmV3IEdE QiBzZXNzaW9ucyB3aXRoIHRoaXMKKysjIHRlc3RjYXNlLCBhbmQgc2VlaW5nIGhvdyBtdWNoIChp biBhdmVyYWdlKSB0aGUgbWVtb3J5IGNvbnN1bXB0aW9uCisrIyBpbmNyZWFzZWQgYWZ0ZXIgdGhl ICJoZWxsby13b3JsZCIgY29tbWFuZCBpc3N1ZWQgYWJvdmUuICBUaGUgYXZlcmFnZQorKyMgd2Fz IGFyb3VuZCA1MDAgYnl0ZXMsIHNvIEkgY2hvc2UgMTAwMCBhcyBhIGhpZ2ggZXN0aW1hdGUuCisr aWYgeyAka2J5dGVzX2RpZmYgPiAxMDAwIH0geworKyAgICBmYWlsICJ0aGVyZSBpcyBhIG1lbW9y eSBsZWFrIG9uIEdEQiAoUkhCWiAxMDA3NjE0KSIKKyt9IGVsc2UgeworKyAgICBwYXNzICJ0aGVy ZSBpcyBub3QgYSBtZW1vcnkgbGVhayBvbiBHREIgKFJIQlogMTAwNzYxNCkiCisrfQorSW5kZXg6 IGdkYi03LjIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWdkYi1yaGJ6MTAwNzYxNC1tZW1s ZWFrLWluZnB5X3JlYWRfbWVtb3J5LnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCisrKysg Z2RiLTcuMi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZ2RiLXJoYnoxMDA3NjE0LW1lbWxl YWstaW5mcHlfcmVhZF9tZW1vcnkucHkKK0BAIC0wLDAgKzEsMzAgQEAKKysjIENvcHlyaWdodCAo QykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysjIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor KyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCisrCisrY2xhc3MgSGVsbG9Xb3JsZCAoZ2RiLkNvbW1hbmQpOgorKyAg ICAiIiJHcmVldCB0aGUgd2hvbGUgd29ybGQuIiIiCisrCisrICAgIGRlZiBfX2luaXRfXyAoc2Vs Zik6CisrICAgICAgICBzdXBlciAoSGVsbG9Xb3JsZCwgc2VsZikuX19pbml0X18gKCJoZWxsby13 b3JsZCIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdkYi5D T01NQU5EX09CU0NVUkUpCisrCisrICAgIGRlZiBpbnZva2UgKHNlbGYsIGFyZywgZnJvbV90dHkp OgorKyAgICAgICAgcHggPSBnZGIucGFyc2VfYW5kX2V2YWwoInB4IikKKysgICAgICAgIGNvcmUg PSBnZGIuaW5mZXJpb3JzKClbMF0KKysgICAgICAgIGZvciBpIGluIHJhbmdlKDI1NiAqIDEwMjQp OgorKyAgICAgICAgICAgIGNodW5rID0gY29yZS5yZWFkX21lbW9yeShweCwgNDA5NikKKysgICAg ICAgIHByaW50ICJIZWxsbywgV29ybGQhIgorKworK0hlbGxvV29ybGQgKCkKCmRpZmYgLS1naXQg YS9nZGItcmhiejExNDkyMDUtY2F0Y2gtc3lzY2FsbC1hZnRlci1mb3JrLXRlc3QucGF0Y2ggYi9n ZGItcmhiejExNDkyMDUtY2F0Y2gtc3lzY2FsbC1hZnRlci1mb3JrLXRlc3QucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjcxNjllZgotLS0gL2Rldi9udWxsCisrKyBi L2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWFmdGVyLWZvcmstdGVzdC5wYXRjaApAQCAt MCwwICsxLDExNCBAQAorVVJMOiA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hl cy8yMDEzLTA1L21zZzAwMzY0Lmh0bWw+CitNZXNzYWdlLUlEOiA8MTM2ODEzNjU4Mi4zMDA1OC43 LmNhbWVsQHNvbGVpbD4KKworICBGcm9tOiBQaGlsaXBwZSBXYXJvcXVpZXJzIDxwaGlsaXBwZSBk b3Qgd2Fyb3F1aWVycyBhdCBza3luZXQgZG90IGJlPgorICBUbzogZ2RiLXBhdGNoZXMgYXQgc291 cmNld2FyZSBkb3Qgb3JnCisgIFN1YmplY3Q6IFJGQTogZml4IGdkYl9hc3NlcnQgY2F1c2VkIGJ5 ICdjYXRjaCBzaWduYWwgLi4uJyBhbmQgZm9yaworICBEYXRlOiBUaHUsIDA5IE1heSAyMDEzIDIz OjU2OjIyICswMjAwCisKKyAgVGhlIGF0dGFjaGVkIHBhdGNoIGZpeGVzIGEgZ2RiX2Fzc2VydCBj YXVzZWQgYnkgdGhlIGNvbWJpbmF0aW9uIG9mIGNhdGNoCisgIHNpZ25hbCBhbmQgZm9yazoKKyAg ICBicmVhay1jYXRjaC1zaWcuYzoxNTI6IGludGVybmFsLWVycm9yOiBzaWduYWxfY2F0Y2hwb2lu dF9yZW1vdmVfbG9jYXRpb246IEFzc2VydGlvbiBgc2lnbmFsX2NhdGNoX2NvdW50c1tpdGVyXSA+ IDAnIGZhaWxlZC4KKworICBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBzaWduYWxfY2F0Y2hfY291 bnRzIGlzIGRlY3JlbWVudGVkIGJ5IGRldGFjaF9icmVha3BvaW50cy4KKyAgVGhlIGZpeCBjb25z aXN0cyBpbiBub3QgZGV0YWNoaW5nIGJyZWFrcG9pbnQgbG9jYXRpb25zIG9mIHR5cGUgYnBfbG9j X290aGVyLgorICBUaGUgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyB0ZXN0LgorCitDb21tZW50cyBi eSBTZXJnaW8gRHVyaWdhbiBKdW5pb3I6CisKKyAgSSBhZGRkZWQgYSBzcGVjaWZpYyB0ZXN0Y2Fz ZSBmb3IgdGhpcyBwYXRjaCwgd2hpY2ggdGVzdHMgZXhhY3RseSB0aGUKKyAgaXNzdWUgdGhhdCB0 aGUgY3VzdG9tZXIgaXMgZmFjaW5nLiAgVGhpcyBwYXRjaCBkb2VzIG5vdCBzb2x2ZSB0aGUKKyAg d2hvbGUgcHJvYmxlbSBvZiBjYXRjaGluZyBhIHN5c2NhbGwgYW5kIGZvcmtpbmcgKGZvciBtb3Jl IGRldGFpbHMsCisgIHNlZSA8aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1 Zy5jZ2k/aWQ9MTM0NTc+LAorICBzcGVjaWZpY2FsbHkgY29tbWVudCAjMyksIGJ1dCBpdCBzb2x2 ZXMgdGhlIGlzc3VlIHJlcG9ydGVkIGJ5IHRoZQorICBjdXN0b21lci4KKworICBJIGFsc28gcmVt b3ZlZCB0aGUgb3JpZ2luYWwgdGVzdGNhc2Ugb2YgdGhpcyBwYXRjaCwgYmVjYXVzZSBpdAorICBy ZWxpZWQgb24gImNhdGNoIHNpZ25hbCIsIHdoaWNoIGlzIGEgY29tbWFuZCB0aGF0IGlzIG5vdCBp bXBsZW1lbnRlZAorICBpbiB0aGlzIHZlcnNpb24gb2YgR0RCLgorCitjb21taXQgYmQ5NjczYTRk ZWQ5NmVhNWMxMDg2MDE1MDFjOGU1OTAwM2VhMWJlNgorQXV0aG9yOiBQaGlsaXBwZSBXYXJvcXVp ZXJzIDxwaGlsaXBwZUBzb3VyY2V3YXJlLm9yZz4KK0RhdGU6ICAgVHVlIE1heSAyMSAxODo0Nzow NSAyMDEzICswMDAwCisKKyAgICBGaXggaW50ZXJuYWwgZXJyb3IgY2F1c2VkIGJ5IGludGVyYWN0 aW9uIGJldHdlZW4gY2F0Y2ggc2lnbmFsIGFuZCBmb3JrCisKK0luZGV4OiBnZGItNy4xMi9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWZvcmsuYwor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTQ5MjA1 LWNhdGNoLXN5c2NhbGwtZm9yay5jCTIwMTYtMTAtMjAgMjE6MDM6MDkuNTg0MjcyNjk1ICswMjAw CitAQCAtMCwwICsxLDExIEBACisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPHVuaXN0 ZC5oPgorKworK2ludAorK21haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKyt7CisrICBpZiAo Zm9yayAoKSA9PSAwKQorKyAgICBzbGVlcCAoMSk7CisrICBjaGRpciAoIi4iKTsKKysgIHJldHVy biAwOworK30KK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6 MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWZvcmsuZXhwCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejExNDkyMDUtY2F0Y2gtc3lzY2FsbC1mb3JrLmV4cAky MDE2LTEwLTIwIDIxOjA0OjEzLjMzNzc3MTE3NCArMDIwMAorQEAgLTAsMCArMSw1OCBAQAorKyMg Q29weXJpZ2h0IDIwMTUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysj IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworK2lmIHsgW2lzX3JlbW90ZSB0YXJnZXRdIHx8ICFb aXNuYXRpdmVdIH0gdGhlbiB7CisrICAgIGNvbnRpbnVlCisrfQorKworK3NldCB0ZXN0ZmlsZSAi Z2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtZm9yayIKKytzZXQgc3JjZmlsZSAke3Rlc3Rm aWxlfS5jCisrc2V0IGJpbmZpbGUgW3N0YW5kYXJkX291dHB1dF9maWxlICR7dGVzdGZpbGV9XQor KworKyMgVW50aWwgImNhdGNoIHN5c2NhbGwiIGlzIGltcGxlbWVudGVkIG9uIG90aGVyIHRhcmdl dHMuLi4KKytpZiB7IVtpc3RhcmdldCAiaHBwYSotaHAtaHB1eCoiXSAmJiAhW2lzdGFyZ2V0ICIq LWxpbnV4KiJdfSB0aGVuIHsKKysgICAgY29udGludWUKKyt9CisrCisrIyBUaGlzIHNoYWxsIGJl IHVwZGF0ZWQgd2hlbmV2ZXIgJ2NhdGNoIHN5c2NhbGwnIGlzIGltcGxlbWVudGVkCisrIyBvbiBz b21lIGFyY2hpdGVjdHVyZS4KKysjaWYgeyAhW2lzdGFyZ2V0ICJpXFszNDU2N1xdODYtKi1saW51 eCoiXQorK2lmIHsgIVtpc3RhcmdldCAieDg2XzY0LSotbGludXgqIl0gJiYgIVtpc3RhcmdldCAi aVxbMzQ1NjdcXTg2LSotbGludXgqIl0KKysgICAgICYmICFbaXN0YXJnZXQgInBvd2VycGMtKi1s aW51eCoiXSAmJiAhW2lzdGFyZ2V0ICJwb3dlcnBjNjQtKi1saW51eCoiXQorKyAgICAgJiYgIVtp c3RhcmdldCAic3BhcmMtKi1saW51eCoiXSAmJiAhW2lzdGFyZ2V0ICJzcGFyYzY0LSotbGludXgq Il0gfSB7CisrICAgICBjb250aW51ZQorK30KKysKKytpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3Jj ZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUge2RlYnVn fV0gIT0gIiIgfSB7CisrICAgIHVudGVzdGVkICR7dGVzdGZpbGV9LmV4cAorKyAgICByZXR1cm4g LTEKKyt9CisrCisrZ2RiX2V4aXQKKytnZGJfc3RhcnQKKytnZGJfcmVpbml0aWFsaXplX2RpciAk c3JjZGlyLyRzdWJkaXIKKytnZGJfbG9hZCAkYmluZmlsZQorKworK2lmIHsgIVtydW50b19tYWlu XSB9IHsKKysgICAgcmV0dXJuIC0xCisrfQorKworK2dkYl90ZXN0ICJjYXRjaCBzeXNjYWxsIGNo ZGlyIiBcCisrICAiQ2F0Y2hwb2ludCAkZGVjaW1hbCBcXFwoc3lzY2FsbCAoLik/Y2hkaXIoLik/ IFxcXFskZGVjaW1hbFxcXF1cXFwpIiBcCisrICAiY2F0Y2ggc3lzY2FsbCBjaGRpciIKKysKKytn ZGJfdGVzdCAiY29udGludWUiIFwKKysgICJDb250aW51aW5nXC5cclxuLipcclxuQ2F0Y2hwb2lu dCAkZGVjaW1hbCBcXFwoY2FsbCB0byBzeXNjYWxsIC4/Y2hkaXIuPy4qIiBcCisrICAiY29udGlu dWUgZnJvbSBjYXRjaCBzeXNjYWxsIGFmdGVyIGZvcmsiCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnox MTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tdGVzdC5wYXRjaCBiL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1 cnNpdmUtZGxvcGVuLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uOWY3Y2M2ZAotLS0gL2Rldi9udWxsCisrKyBiL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUt ZGxvcGVuLXRlc3QucGF0Y2gKQEAgLTAsMCArMSwzMjIgQEAKK0luZGV4OiBnZGItNy4xMi9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUtZGxvcGVuLWxpYmJh ci5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGItcmhiejEx NTYxOTItcmVjdXJzaXZlLWRsb3Blbi1saWJiYXIuYwkyMDE2LTEwLTIwIDIxOjAzOjA5LjU1ODI3 MjQ5MiArMDIwMAorQEAgLTAsMCArMSwzMCBAQAorKy8qIFRlc3RjYXNlIGZvciByZWN1cnNpdmUg ZGxvcGVuIGNhbGxzLgorKworKyAgIENvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisrCisrICAg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKKysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAg IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor KworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKy8qIFRoaXMgdGVzdCB3 YXMgY29waWVkIGZyb20gZ2xpYmMncyB0ZXN0Y2FzZSBjYWxsZWQKKysgICA8ZGxmY24vdHN0LXJl Yy1kbG9wZW4uYz4gYW5kIHJlbGF0ZWQgZmlsZXMuICAqLworKworKyNpbmNsdWRlIDxzdGRpby5o PgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKysKKyt2b2lkCisrYmFyICh2b2lkKQorK3sKKysgIHBy aW50ZiAoIkNhbGxlZCBiYXIuXG4iKTsKKyt9CitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9nZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi1saWJmb28uYworPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJl Y3Vyc2l2ZS1kbG9wZW4tbGliZm9vLmMJMjAxNi0xMC0yMCAyMTowMzowOS41NTgyNzI0OTIgKzAy MDAKK0BAIC0wLDAgKzEsMzAgQEAKKysvKiBUZXN0Y2FzZSBmb3IgcmVjdXJzaXZlIGRsb3BlbiBj YWxscy4KKysKKysgICBDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCisrCisrICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0RCLgorKworKyAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisr ICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKysKKysvKiBUaGlzIHRlc3Qgd2FzIGNvcGll ZCBmcm9tIGdsaWJjJ3MgdGVzdGNhc2UgY2FsbGVkCisrICAgPGRsZmNuL3RzdC1yZWMtZGxvcGVu LmM+IGFuZCByZWxhdGVkIGZpbGVzLiAgKi8KKysKKysjaW5jbHVkZSA8c3RkaW8uaD4KKysjaW5j bHVkZSA8c3RkbGliLmg+CisrCisrdm9pZAorK2ZvbyAodm9pZCkKKyt7CisrICBwcmludGYgKCJD YWxsZWQgZm9vLlxuIik7CisrfQorSW5kZXg6IGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4uYworPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjEy L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4u YwkyMDE2LTEwLTIwIDIxOjAzOjA5LjU1ODI3MjQ5MiArMDIwMAorQEAgLTAsMCArMSwxMjQgQEAK KysvKiBUZXN0Y2FzZSBmb3IgcmVjdXJzaXZlIGRsb3BlbiBjYWxscy4KKysKKysgICBDb3B5cmln aHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBm aWxlIGlzIHBhcnQgb2YgR0RCLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK KysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo ZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisr CisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LiAgKi8KKysKKysvKiBUaGlzIHRlc3Qgd2FzIGNvcGllZCBmcm9tIGdsaWJjJ3MgdGVzdGNh c2UgY2FsbGVkCisrICAgPGRsZmNuL3RzdC1yZWMtZGxvcGVuLmM+IGFuZCByZWxhdGVkIGZpbGVz LiAgKi8KKysKKysjaW5jbHVkZSA8c3RkaW8uaD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisrI2lu Y2x1ZGUgPG1hbGxvYy5oPgorKyNpbmNsdWRlIDxkbGZjbi5oPgorKworKyNkZWZpbmUgRFNPICJn ZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi1saWJmb28uc28iCisrI2RlZmluZSBGVU5D ICJmb28iCisrCisrI2RlZmluZSBEU08xICJnZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Bl bi1saWJiYXIuc28iCisrI2RlZmluZSBGVU5DMSAiYmFyIgorKworKy8qIFByb3RvdHlwZSBmb3Ig bXkgaG9vay4gICovCisrdm9pZCAqY3VzdG9tX21hbGxvY19ob29rIChzaXplX3QsIGNvbnN0IHZv aWQgKik7CisrCisrLyogUG9pbnRlciB0byBvbGQgbWFsbG9jIGhvb2tzLiAgKi8KKyt2b2lkICoo Km9sZF9tYWxsb2NfaG9vaykgKHNpemVfdCwgY29uc3Qgdm9pZCAqKTsKKysKKysvKiBDYWxsIGZ1 bmN0aW9uIGZ1bmNfbmFtZSBpbiBEU08gZHNvX25hbWUgdmlhIGRsb3Blbi4gICovCisrdm9pZAor K2NhbGxfZnVuYyAoY29uc3QgY2hhciAqZHNvX25hbWUsIGNvbnN0IGNoYXIgKmZ1bmNfbmFtZSkK Kyt7CisrICBpbnQgcmV0OworKyAgdm9pZCAqZHNvOworKyAgdm9pZCAoKmZ1bmMpICh2b2lkKTsK KysgIGNoYXIgKmVycjsKKysKKysgIC8qIE9wZW4gdGhlIERTTy4gICovCisrICBkc28gPSBkbG9w ZW4gKGRzb19uYW1lLCBSVExEX05PV3xSVExEX0dMT0JBTCk7CisrICBpZiAoZHNvID09IE5VTEwp CisrICAgIHsKKysgICAgICBlcnIgPSBkbGVycm9yICgpOworKyAgICAgIGZwcmludGYgKHN0ZGVy ciwgIiVzXG4iLCBlcnIpOworKyAgICAgIGV4aXQgKDEpOworKyAgICB9CisrICAvKiBDbGVhciBh bnkgZXJyb3JzLiAgKi8KKysgIGRsZXJyb3IgKCk7CisrCisrICAvKiBMb29rdXAgZnVuYy4gICov CisrICAqKHZvaWQgKiopICgmZnVuYykgPSBkbHN5bSAoZHNvLCBmdW5jX25hbWUpOworKyAgaWYg KGZ1bmMgPT0gTlVMTCkKKysgICAgeworKyAgICAgIGVyciA9IGRsZXJyb3IgKCk7CisrICAgICAg aWYgKGVyciAhPSBOVUxMKQorKyAgICAgICAgeworKyAgZnByaW50ZiAoc3RkZXJyLCAiJXNcbiIs IGVycik7CisrICBleGl0ICgxKTsKKysgICAgICAgIH0KKysgICAgfQorKyAgLyogQ2FsbCBmdW5j IHR3aWNlLiAgKi8KKysgICgqZnVuYykgKCk7CisrCisrICAvKiBDbG9zZSB0aGUgbGlicmFyeSBh bmQgbG9vayBmb3IgZXJyb3JzIHRvby4gICovCisrICByZXQgPSBkbGNsb3NlIChkc28pOworKyAg aWYgKHJldCAhPSAwKQorKyAgICB7CisrICAgICAgZXJyID0gZGxlcnJvciAoKTsKKysgICAgICBm cHJpbnRmIChzdGRlcnIsICIlc1xuIiwgZXJyKTsKKysgICAgICBleGl0ICgxKTsKKysgICAgfQor KworK30KKysKKysvKiBFbXB0eSBob29rIHRoYXQgZG9lcyBub3RoaW5nLiAgKi8KKyt2b2lkICoK KytjdXN0b21fbWFsbG9jX2hvb2sgKHNpemVfdCBzaXplLCBjb25zdCB2b2lkICpjYWxsZXIpCisr eworKyAgdm9pZCAqcmVzdWx0OworKyAgLyogUmVzdG9yZSBvbGQgaG9va3MuICAqLworKyAgX19t YWxsb2NfaG9vayA9IG9sZF9tYWxsb2NfaG9vazsKKysgIC8qIEZpcnN0IGNhbGwgYSBmdW5jdGlv biBpbiBhbm90aGVyIGxpYnJhcnkgdmlhIGRsb3Blbi4gICovCisrICBjYWxsX2Z1bmMgKERTTzEs IEZVTkMxKTsKKysgIC8qIENhbGxlZCByZWN1cnNpdmVseS4gICovCisrICByZXN1bHQgPSBtYWxs b2MgKHNpemUpOworKyAgLyogUmVzdG9yZSBuZXcgaG9va3MuICAqLworKyAgX19tYWxsb2NfaG9v ayA9IGN1c3RvbV9tYWxsb2NfaG9vazsKKysgIHJldHVybiByZXN1bHQ7CisrfQorKworK2ludAor K21haW4gKHZvaWQpCisreworKworKyAgLyogU2F2ZSBvbGQgaG9vay4gICovCisrICBvbGRfbWFs bG9jX2hvb2sgPSBfX21hbGxvY19ob29rOworKyAgLyogSW5zdGFsbCBuZXcgaG9vay4gICovCisr ICBfX21hbGxvY19ob29rID0gY3VzdG9tX21hbGxvY19ob29rOworKworKyAgLyogQXR0ZW1wdCB0 byBkbG9wZW4gYSBzaGFyZWQgbGlicmFyeS4gVGhpcyBkbG9wZW4gd2lsbAorKyAgICAgdHJpZ2dl ciBhbiBhY2Nlc3MgdG8gdGhlIGxkLnNvLmNhY2hlLCBhbmQgdGhhdCBpbiB0dXJuCisrICAgICB3 aWxsIHJlcXVpcmUgYSBtYWxsb2MgdG8gZHVwbGljYXRlIGRhdGEgaW4gdGhlIGNhY2hlLgorKyAg ICAgVGhlIG1hbGxvYyB3aWxsIGNhbGwgb3VyIG1hbGxvYyBob29rIHdoaWNoIGNhbGxzIGRsb3Bl bgorKyAgICAgcmVjdXJzaXZlbHksIGFuZCB1cG9uIHJldHVybiBvZiB0aGlzIGRsb3BlbiB0aGUg bm9uLXJlZgorKyAgICAgY291bnRlZCBsZC5zby5jYWNoZSBtYXBwaW5nIHdpbGwgYmUgdW5tYXBw ZWQuIFdlIHdpbGwKKysgICAgIHJldHVybiB0byB0aGUgb3JpZ2luYWwgZGxvcGVuIGFuZCBjcmFz aCB0cnlpbmcgdG8gYWNjZXNzCisrICAgICBkbG9wZW5lZCBkYXRhLiAgKi8KKysgIGNhbGxfZnVu YyAoRFNPLCBGVU5DKTsKKysKKysgIC8qIFJlc3RvcmUgb2xkIGhvb2suICAqLworKyAgX19tYWxs b2NfaG9vayA9IG9sZF9tYWxsb2NfaG9vazsKKysKKysgIHJldHVybiAwOworK30KK0luZGV4OiBn ZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUt ZGxvcGVuLmV4cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAorKysrIGdkYi03LjEyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2Ri LXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4uZXhwCTIwMTYtMTAtMjAgMjE6MDY6MDEuMDcz NjEzNTQ1ICswMjAwCitAQCAtMCwwICsxLDExOCBAQAorKyMgQ29weXJpZ2h0IDIwMTQgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K KysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4KKysKKytpZiB7IFtza2lwX3NobGliX3Rlc3RzXSB9IHsKKysgIHJldHVybiAwCisrfQorKwor KyMgTGlicmFyeSBmb28KKytzZXQgbGlibmFtZTEgImdkYi1yaGJ6MTE1NjE5Mi1yZWN1cnNpdmUt ZGxvcGVuLWxpYmZvbyIKKytzZXQgc3JjZmlsZV9saWIxICR7c3JjZGlyfS8ke3N1YmRpcn0vJHts aWJuYW1lMX0uYworK3NldCBiaW5maWxlX2xpYjEgW3N0YW5kYXJkX291dHB1dF9maWxlICR7bGli bmFtZTF9LnNvXQorKyMgTGlicmFyeSBiYXIKKytzZXQgbGlibmFtZTIgImdkYi1yaGJ6MTE1NjE5 Mi1yZWN1cnNpdmUtZGxvcGVuLWxpYmJhciIKKytzZXQgc3JjZmlsZV9saWIyICR7c3JjZGlyfS8k e3N1YmRpcn0vJHtsaWJuYW1lMn0uYworK3NldCBiaW5maWxlX2xpYjIgW3N0YW5kYXJkX291dHB1 dF9maWxlICR7bGlibmFtZTJ9LnNvXQorKworK3NldCB0ZXN0ZmlsZSAiZ2RiLXJoYnoxMTU2MTky LXJlY3Vyc2l2ZS1kbG9wZW4iCisrc2V0IHNyY2ZpbGUgJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3Rl c3RmaWxlfS5jCisrc2V0IGV4ZWN1dGFibGUgJHt0ZXN0ZmlsZX0KKytzZXQgYmluZmlsZSBbc3Rh bmRhcmRfb3V0cHV0X2ZpbGUgJHtleGVjdXRhYmxlfV0KKysKKytpZiB7IFtnZGJfY29tcGlsZV9z aGxpYiAke3NyY2ZpbGVfbGliMX0gJHtiaW5maWxlX2xpYjF9IFwKKysJeyBkZWJ1ZyAiYWRkaXRp b25hbF9mbGFncz0tZlBJQyIgfV0gIT0gIiIgfSB7CisrICAgIHVudGVzdGVkICJDb3VsZCBub3Qg Y29tcGlsZSAke2JpbmZpbGVfbGliMX0iCisrICAgIHJldHVybiAtMQorK30KKysKKytpZiB7IFtn ZGJfY29tcGlsZV9zaGxpYiAke3NyY2ZpbGVfbGliMn0gJHtiaW5maWxlX2xpYjJ9IFwKKysJeyBk ZWJ1ZyAiYWRkaXRpb25hbF9mbGFncz0tZlBJQyIgfV0gIT0gIiIgfSB7CisrICAgIHVudGVzdGVk ICJDb3VsZCBub3QgY29tcGlsZSAke2JpbmZpbGVfbGliMn0iCisrICAgIHJldHVybiAtMQorK30K KysKKytzZXQgb3B0cyAiIgorK2lmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0u ZXhwICR7ZXhlY3V0YWJsZX0gJHtzcmNmaWxlfSBcCisrCVsgbGlzdCBkZWJ1ZyBzaGxpYl9sb2Fk ICJhZGRpdGlvbmFsX2ZsYWdzPS1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMgLVdsLCR7Ymlu ZmlsZV9saWIxfSwtcnBhdGgsW2ZpbGUgZGlybmFtZSAke2JpbmZpbGVfbGliMX1dLCR7YmluZmls ZV9saWIyfSwtcnBhdGgsW2ZpbGUgZGlybmFtZSAke2JpbmZpbGVfbGliMn1dIiBdXSB9IHsKKysg ICAgdW50ZXN0ZWQgIkNvdWxkIG5vdCBjb21waWxlICR7ZXhlY3V0YWJsZX0iCisrICAgIHJldHVy biAtMQorK30KKysKKytwcm9jIGRvX3Rlc3QgeyBoYXNfbGliZm9vIGhhc19saWJiYXIgcGFzcyB9 IHsKKysgIGdsb2JhbCBoZXggYmluZmlsZV9saWIyIGJpbmZpbGVfbGliMSBnZGJfcHJvbXB0Cisr ICBzZXQgbGliYmFyX21hdGNoICJbc3RyaW5nX3RvX3JlZ2V4cCAkYmluZmlsZV9saWIyXSIKKysg IHNldCBsaWJmb29fbWF0Y2ggIltzdHJpbmdfdG9fcmVnZXhwICRiaW5maWxlX2xpYjFdIgorKwor KyAgd2l0aF90ZXN0X3ByZWZpeCAicGFzcyAjJHBhc3MiIHsKKysgICAgZ2RiX3Rlc3RfbXVsdGlw bGUgImluZm8gc2hhcmVkIiAiaW5mbyBzaGFyZWQiIHsKKysgICAgICAtcmUgIi4qJGxpYmZvb19t YXRjaFxyXG4uKiRsaWJiYXJfbWF0Y2hcKFxyXG4uKlNoYXJlZCBsaWJyYXJ5IGlzIG1pc3Npbmcu KlwpP1xyXG4ke2dkYl9wcm9tcHR9ICQiIHsKKysJaWYgeyAkaGFzX2xpYmZvbyAmJiAkaGFzX2xp YmJhciB9IHsKKysJICBwYXNzICJtYXRjaGVkIGxpYmZvbyBhbmQgbGliYmFyIgorKwl9IGVsc2Ug eworKwkgIGZhaWwgIm1hdGNoZWQgbGliZm9vIGFuZCBsaWJiYXIgKGhhc19saWJmb28gPSAkaGFz X2xpYmZvbywgaGFzX2xpYmJhciA9ICRoYXNfbGliYmFyKSIKKysJfQorKyAgICAgIH0KKysgICAg ICAtcmUgIi4qJGxpYmZvb19tYXRjaFwoXHJcbi4qU2hhcmVkIGxpYnJhcnkgaXMgbWlzc2luZy4q XCk/XHJcbiR7Z2RiX3Byb21wdH0gJCIgeworKwlpZiB7ICRoYXNfbGliZm9vICYmICEkaGFzX2xp YmJhciB9IHsKKysJICBwYXNzICJtYXRjaGVkIGxpYmZvbyIKKysJfSBlbHNlIHsKKysJICBmYWls ICJtYXRjaGVkIGxpYmZvbyAoaGFzX2xpYmZvbyA9ICRoYXNfbGliZm9vLCBoYXNfbGliYmFyID0g JGhhc19saWJiYXIpIgorKwl9CisrICAgICAgfQorKyAgICAgIC1yZSAiLiokbGliYmFyX21hdGNo XChcclxuLipTaGFyZWQgbGlicmFyeSBpcyBtaXNzaW5nLipcKT9cclxuJHtnZGJfcHJvbXB0fSAk IiB7CisrCWlmIHsgJGhhc19saWJiYXIgJiYgISRoYXNfbGliZm9vIH0geworKwkgIHBhc3MgIm1h dGNoZWQgbGliYmFyIgorKwl9IGVsc2UgeworKwkgIGZhaWwgIm1hdGNoZWQgbGliYmFyIChoYXNf bGliZm9vID0gJGhhc19saWJmb28sIGhhc19saWJiYXIgPSAkaGFzX2xpYmJhcikiCisrCX0KKysg ICAgICB9CisrICAgICAgIiR7Z2RiX3Byb21wdH0gJCIgeworKwlpZiB7ICEkaGFzX2xpYmZvbyAm JiAhJGhhc19saWJiYXIgfSB7CisrCSAgcGFzcyAiZGlkIG5vdCBtYXRjaCBsaWJmb28gbm9yIGxp YmJhciIKKysJfSBlbHNlIHsKKysJICBmYWlsICJkaWQgbm90IG1hdGNoIGxpYmZvbyBub3IgbGli YmFyIChoYXNfbGliZm9vID0gJGhhc19saWJmb28sIGhhc19saWJiYXIgPSAkaGFzX2xpYmJhciki CisrCX0KKysgICAgICB9CisrICAgIH0KKysgIH0KKyt9CisrCisrcHJvYyB0ZXN0X3N0b3Bfb25f c29saWJfZXZlbnRzIHsgfSB7CisrICBzZXQgcGFzcyAwCisrICAjIFRoaXMgdmFyaWFibGUgaG9s ZHMgdGhlIGluZm9ybWF0aW9uIGFib3V0IHdoZXRoZXIgbGliZm9vIGFuZAorKyAgIyBsaWJiYXIg KHJlc3BlY3RpdmVseSkgYXJlIGV4cGVjdGVkIGluIHRoZSAiaW5mbyBzaGFyZWQiIG91dHB1dC4K KysgIHNldCBzb2xpYl9ldmVudF9vcmRlciB7IHsgMCAwIH0geyAwIDAgfSB7IDAgMCB9IHsgMCAx IH0gXAorKwkJCSAgeyAwIDEgfSB7IDAgMCB9IHsgMCAwIH0geyAwIDEgfSBcCisrCQkJICB7IDAg MSB9IHsgMCAwIH0geyAwIDAgfSB7IDAgMSB9IFwKKysJCQkgIHsgMCAxIH0geyAwIDAgfSB7IDEg MCB9IHsgMSAxIH0gXAorKwkJCSAgeyAxIDEgfSB7IDEgMCB9IHsgMSAwIH0geyAxIDEgfSBcCisr CQkJICB7IDEgMSB9IHsgMSAwIH0geyAxIDAgfSB7IDEgMCB9IH0KKysKKysgIHdpdGhfdGVzdF9w cmVmaXggInN0b3Atb24tc29saWItZXZlbnRzIiB7CisrICAgIGdkYl90ZXN0X25vX291dHB1dCAi c2V0IHN0b3Atb24tc29saWItZXZlbnRzIDEiICJzZXR0aW5nIHN0b3Atb24tc29saWItZXZlbnRz IgorKworKyAgICBnZGJfcnVuX2NtZAorKyAgICBmb3JlYWNoIGwgJHNvbGliX2V2ZW50X29yZGVy IHsKKysgICAgICBpbmNyIHBhc3MKKysgICAgICBkb190ZXN0IFtsaW5kZXggJGwgMF0gW2xpbmRl eCAkbCAxXSAkcGFzcworKyAgICAgIGdkYl90ZXN0ICJjb250aW51ZSIgIlwoQ2FsbGVkIFwoZm9v XHxiYXJcKVxyXG5cKT9TdG9wcGVkIGR1ZSB0byBzaGFyZWQgbGlicmFyeSBldmVudCIKKysgICAg fQorKyAgICAjIEluIHRoZSBsYXN0IHBhc3Mgd2UgZG8gbm90IGV4cGVjdCB0byBzZWUgbGliZm9v IG9yIGxpYmJhci4KKysgICAgaW5jciBwYXNzCisrICAgIGRvX3Rlc3QgMCAwICRwYXNzCisrICB9 CisrfQorKworK3Rlc3Rfc3RvcF9vbl9zb2xpYl9ldmVudHMKCmRpZmYgLS1naXQgYS9nZGItcmhi ejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5wYXRj aCBiL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNl dC10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjYWVjZTQK LS0tIC9kZXYvbnVsbAorKysgYi9nZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFs aWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5wYXRjaApAQCAtMCwwICsxLDEyNSBAQAorQ29tbWVudHMg ZnJvbSBTZXJnaW8gRHVyaWdhbiBKdW5pb3I6CisKKyAgVGhlICJwcm9wZXIiIGZpeCBmb3IgdGhp cyB3aG9sZSBwcm9ibGVtIHdvdWxkIGJlIHRvIGJhY2twb3J0IHRoZQorICAiYW1iaWd1b3VzIGxp bmVzcGVjIiBwYXRjaCBzZXJpZXMuICBIb3dldmVyLCBpdCBpcyByZWFsbHkgbm90CisgIHJlY29t bWVuZGVkIHRvIGRvIHRoYXQgZm9yIFJIRUwgR0RCLCBiZWNhdXNlIHRoZSBwYXRjaCBzZXJpZXMg aXMgdG9vCisgIGJpZyBhbmQgY291bGQgaW50cm9kdWNlIHVud2FudGVkIHJlZ3Jlc3Npb25zLiAg SW5zdGVhZCwgd2hhdCB3ZQorICBjaG9zZSB0byBkbyB3YXMgdG8gcmVwbGFjZSB0aGUgZ2RiX2Fz c2VydCBjYWxsIGJ5IGEgd2FybmluZyAod2hpY2gKKyAgYWxsb3dzIHRoZSB1c2VyIHRvIGNvbnRp bnVlIHRoZSBkZWJ1Z2dpbmcgc2Vzc2lvbiksIGFuZCB0ZWxsIHRoZQorICB1c2VyIHRoYXQsIGFs dGhvdWdoIG1vcmUgdGhhbiBvbmUgbG9jYXRpb24gd2FzIGZvdW5kIGZvciBoaXMvaGVyCisgIGJy ZWFrcG9pbnQsIG9ubHkgb25lIHdpbGwgYmUgdXNlZC4KKworSW5kZXg6IGdkYi03LjEyL2dkYi90 ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmll ZC1uYW1lLXJlLXNldC1tYWluLmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3AvZ2RiLXJoYnoxMTg2NDc2LWludGVybmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUt c2V0LW1haW4uY2MJMjAxNi0xMC0yMCAyMTowNjozMS44NDk4NTQxODAgKzAyMDAKK0BAIC0wLDAg KzEsMjIgQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVn Z2VyLgorKworKyAgIENvcHlyaWdodCAyMDE1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAg IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAg SWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKysKKytpbnQK KyttYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorK3sKKysgIHJldHVybiAwOworK30KK0lu ZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGItcmhiejExODY0NzYtaW50ZXJu YWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQuY2MKKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4xMi9n ZGIvdGVzdHN1aXRlL2dkYi5jcC9nZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFs aWZpZWQtbmFtZS1yZS1zZXQuY2MJMjAxNi0xMC0yMCAyMTowNjozMS44NTA4NTQxODggKzAyMDAK K0BAIC0wLDAgKzEsMjYgQEAKKysvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUg R05VIGRlYnVnZ2VyLgorKworKyAgIENvcHlyaWdodCAyMDE1IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8K KysKKytjbGFzcyBDCisrICB7CisrICAgIHB1YmxpYzoKKysgICAgICBDICgpIHt9CisrICAgICAg QyAoaW50IHgpIHt9CisrICB9OworKworK0MgYTsKKytDIGIgKDEpOworSW5kZXg6IGdkYi03LjEy L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2dkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1 YWxpZmllZC1uYW1lLXJlLXNldC5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRl L2dkYi5jcC9nZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1y ZS1zZXQuZXhwCTIwMTYtMTAtMjAgMjE6MDk6MzMuNDA4MjcwNTI2ICswMjAwCitAQCAtMCwwICsx LDUxIEBACisrIyBDb3B5cmlnaHQgMjAxNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KysKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor KyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrCisraWYgeyBbc2tpcF9jcGx1c190 ZXN0c10gfSB7IGNvbnRpbnVlIH0KKytpZiB7IFtza2lwX3NobGliX3Rlc3RzXSB9IHsgY29udGlu dWUgfQorK2lmIHsgW2lzX3JlbW90ZSB0YXJnZXRdIH0geyBjb250aW51ZSB9CisraWYgeyBbdGFy Z2V0X2luZm8gZXhpc3RzIHVzZV9nZGJfc3R1Yl0gfSB7IGNvbnRpbnVlIH0KKysKKytzZXQgdGVz dGZpbGUgZ2RiLXJoYnoxMTg2NDc2LWludGVybmFsLWVycm9yLXVucXVhbGlmaWVkLW5hbWUtcmUt c2V0LW1haW4KKytzZXQgc3JjZmlsZSAkdGVzdGZpbGUuY2MKKytzZXQgZXhlY3V0YWJsZSAkdGVz dGZpbGUKKytzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJGV4ZWN1dGFibGVdCisr Cisrc2V0IGxpYnRlc3RmaWxlIGdkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxp ZmllZC1uYW1lLXJlLXNldAorK3NldCBsaWJzcmNmaWxlICRsaWJ0ZXN0ZmlsZS5jYworK3NldCBz b2ZpbGUgW3N0YW5kYXJkX291dHB1dF9maWxlIGxpYiRsaWJ0ZXN0ZmlsZS5zb10KKysKKysjIENy ZWF0ZSBhbmQgc291cmNlIHRoZSBmaWxlIHRoYXQgcHJvdmlkZXMgaW5mb3JtYXRpb24gYWJvdXQg dGhlIGNvbXBpbGVyCisrIyB1c2VkIHRvIGNvbXBpbGUgdGhlIHRlc3QgY2FzZS4KKytpZiBbZ2V0 X2NvbXBpbGVyX2luZm8gImMrKyJdIHsKKysgICAgcmV0dXJuIC0xCisrfQorKworK2lmIHsgW2dk Yl9jb21waWxlX3NobGliICRzcmNkaXIvJHN1YmRpci8kbGlic3JjZmlsZSAkc29maWxlIHtkZWJ1 ZyBjKysgImFkZGl0aW9uYWxfZmxhZ3M9LWZQSUMifV0gIT0gIiIKKysgICAgIHx8IFtnZGJfY29t cGlsZSAkc3JjZGlyLyRzdWJkaXIvJHNyY2ZpbGUgJGJpbmZpbGUgZXhlY3V0YWJsZSBbbGlzdCBh ZGRpdGlvbmFsX2ZsYWdzPS1XbCwtcnBhdGgsW2ZpbGUgZGlybmFtZSAke3NvZmlsZX1dICJjKysi IHNobGliPSR7c29maWxlfSBdXSAhPSAiIn0geworKyAgICB1bnRlc3RlZCAkbGlidGVzdGZpbGUu ZXhwCisrICAgIHJldHVybiAtMQorK30KKysKKytjbGVhbl9yZXN0YXJ0ICRleGVjdXRhYmxlCisr CisrZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgYnJlYWtwb2ludCBwZW5kaW5nIG9uIgorKyMgZ2Ri X2JyZWFrcG9pbnQgd291bGQgcHJpbnQgYSBmYWlsdXJlIGJlY2F1c2Ugb2Ygc29tZSB3YXJuaW5n IG1lc3NhZ2VzCisrZ2RiX3Rlc3QgImJyZWFrIEM6OkMiICJCcmVha3BvaW50ICRkZWNpbWFsIFxc KEM6OkNcXCkgcGVuZGluZy4iCisrCisrI2dkYl90ZXN0ICJydW4iICJ3YXJuaW5nOiBGb3VuZCBt b3JlIHRoYW4gb25lIGxvY2F0aW9uIGZvciBicmVha3BvaW50ICMkZGVjaW1hbDsgb25seSB0aGUg Zmlyc3QgbG9jYXRpb24gd2lsbCBiZSB1c2VkLihcclxuKStCcmVha3BvaW50ICRkZWNpbWFsLCBD OjpDLioiCisrZ2RiX3Rlc3QgInJ1biIKKysKKytnZGJfdGVzdCAiaW5mbyBicmVhayIgIiBpbiBD OjpDXFwoXFwpIGF0IC4qIGluIEM6OkNcXChpbnRcXCkgYXQgLioiCgpkaWZmIC0tZ2l0IGEvZ2Ri LXRlc3QtaXZ5LWJyaWRnZS5wYXRjaCBiL2dkYi10ZXN0LWl2eS1icmlkZ2UucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY1NzRjMwotLS0gL2Rldi9udWxsCisrKyBi L2dkYi10ZXN0LWl2eS1icmlkZ2UucGF0Y2gKQEAgLTAsMCArMSw0NjEgQEAKK0luZGV4OiBnZGIt Ny4xMi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LWl2eS1icmlkZ2UuZXhwCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisr KysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1pdnktYnJpZGdlLmV4cAky MDE2LTEwLTIwIDIwOjU3OjMxLjY1MjYzMDQ1NSArMDIwMAorQEAgLTAsMCArMSwxNzAgQEAKKysj IENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyMgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisr IyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKytpZiB7IVtpc3RhcmdldCAieDg2XzY0LSotKiJd fSB0aGVuIHsKKysgICAgcmV0dXJuCisrfQorKworK3NldCB0ZXN0ZmlsZSBhbWQ2NC1pdnktYnJp ZGdlCisrc2V0IHRlc3QgY29tcGlsYXRpb24KKytpZiBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rl c3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0ueCAke3Rlc3RmaWxlfS5TIFtsaXN0IGRlYnVnICJhZGRp dGlvbmFsX2ZsYWdzPS1tNjQgLW5vc3RkbGliIl1dIHsKKysgICAgZmFpbCAkdGVzdAorKyAgICBy ZXR1cm4gLTEKKyt9CisrcGFzcyAkdGVzdAorKworK2dkYl90ZXN0X25vX291dHB1dCAic2V0IGRp c2Fzc2VtYmx5LWZsYXZvciBhdHQiCisrIyBnYXMvaTM4Ni94ODYtNjQtcmRybmQuZAorKyMgZ2Fz L2kzODYveDg2LTY0LWYxNmMuZAorKyMgZ2FzL2kzODYveDg2LTY0LWZzZ3MuZAorK2dkYl90ZXN0 ICJkaXNhc3NlbWJsZS9yIF9zdGFydCIgIlxyCisrRHVtcCBvZiBhc3NlbWJsZXIgY29kZSBmb3Ig ZnVuY3Rpb24gX3N0YXJ0OlxyCisrXFteXHJcblxdKzpcdDY2IDBmIGM3IGYzXHRcKCAgICAgICAg ICAgICBcKT9yZHJhbmQgJWJ4XHIKKytcW15cclxuXF0rOlx0MGYgYzcgZjNcdFwoICAgICAgICAg ICAgICAgIFwpP3JkcmFuZCAlZWJ4XHIKKytcW15cclxuXF0rOlx0NDggMGYgYzcgZjNcdFwoICAg ICAgICAgICAgIFwpP3JkcmFuZCAlcmJ4XHIKKytcW15cclxuXF0rOlx0NjYgNDEgMGYgYzcgZjBc dFwoICAgICAgICAgIFwpP3JkcmFuZCAlcjh3XHIKKytcW15cclxuXF0rOlx0NDEgMGYgYzcgZjBc dFwoICAgICAgICAgICAgIFwpP3JkcmFuZCAlcjhkXHIKKytcW15cclxuXF0rOlx0NDkgMGYgYzcg ZjBcdFwoICAgICAgICAgICAgIFwpP3JkcmFuZCAlcjhccgorK1xbXlxyXG5cXSs6XHQ2NiAwZiBj NyBmM1x0XCggICAgICAgICAgICAgXCk/cmRyYW5kICVieFxyCisrXFteXHJcblxdKzpcdDBmIGM3 IGYzXHRcKCAgICAgICAgICAgICAgICBcKT9yZHJhbmQgJWVieFxyCisrXFteXHJcblxdKzpcdDQ4 IDBmIGM3IGYzXHRcKCAgICAgICAgICAgICBcKT9yZHJhbmQgJXJieFxyCisrXFteXHJcblxdKzpc dDY2IDQxIDBmIGM3IGYwXHRcKCAgICAgICAgICBcKT9yZHJhbmQgJXI4d1xyCisrXFteXHJcblxd KzpcdDQxIDBmIGM3IGYwXHRcKCAgICAgICAgICAgICBcKT9yZHJhbmQgJXI4ZFxyCisrXFteXHJc blxdKzpcdDQ5IDBmIGM3IGYwXHRcKCAgICAgICAgICAgICBcKT9yZHJhbmQgJXI4XHIKKytcW15c clxuXF0rOlx0YzQgZTIgN2QgMTMgZTRcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyAleG1tNCwl eW1tNFxyCisrXFteXHJcblxdKzpcdGM0IDQyIDdkIDEzIDAwXHRcKCAgICAgICAgICBcKT92Y3Z0 cGgycHMgXFwoJXI4XFwpLCV5bW04XHIKKytcW15cclxuXF0rOlx0YzQgZTIgNzkgMTMgZjRcdFwo ICAgICAgICAgIFwpP3ZjdnRwaDJwcyAleG1tNCwleG1tNlxyCisrXFteXHJcblxdKzpcdGM0IGUy IDc5IDEzIDIxXHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgXFwoJXJjeFxcKSwleG1tNFxyCisr XFteXHJcblxdKzpcdGM0IGUzIDdkIDFkIGU0IDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggXFxc JDB4MiwleW1tNCwleG1tNFxyCisrXFteXHJcblxdKzpcdGM0IDQzIDdkIDFkIDAwIDAyXHRcKCAg ICAgICBcKT92Y3Z0cHMycGggXFxcJDB4MiwleW1tOCxcXCglcjhcXClccgorK1xbXlxyXG5cXSs6 XHRjNCBlMyA3OSAxZCBlNCAwMlx0XCggICAgICAgXCk/dmN2dHBzMnBoIFxcXCQweDIsJXhtbTQs JXhtbTRccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3OSAxZCAyMSAwMlx0XCggICAgICAgXCk/dmN2 dHBzMnBoIFxcXCQweDIsJXhtbTQsXFwoJXJjeFxcKVxyCisrXFteXHJcblxdKzpcdGM0IGUyIDdk IDEzIGU0XHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgJXhtbTQsJXltbTRccgorK1xbXlxyXG5c XSs6XHRjNCA0MiA3ZCAxMyAwMFx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIFxcKCVyOFxcKSwl eW1tOFxyCisrXFteXHJcblxdKzpcdGM0IGUyIDdkIDEzIDIxXHRcKCAgICAgICAgICBcKT92Y3Z0 cGgycHMgXFwoJXJjeFxcKSwleW1tNFxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIGY0XHRc KCAgICAgICAgICBcKT92Y3Z0cGgycHMgJXhtbTQsJXhtbTZccgorK1xbXlxyXG5cXSs6XHRjNCBl MiA3OSAxMyAyMVx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIFxcKCVyY3hcXCksJXhtbTRccgor K1xbXlxyXG5cXSs6XHRjNCBlMiA3OSAxMyAyMVx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIFxc KCVyY3hcXCksJXhtbTRccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCBlNCAwMlx0XCggICAg ICAgXCk/dmN2dHBzMnBoIFxcXCQweDIsJXltbTQsJXhtbTRccgorK1xbXlxyXG5cXSs6XHRjNCBl MyA3ZCAxZCAyMSAwMlx0XCggICAgICAgXCk/dmN2dHBzMnBoIFxcXCQweDIsJXltbTQsXFwoJXJj eFxcKVxyCisrXFteXHJcblxdKzpcdGM0IGUzIDdkIDFkIDIxIDAyXHRcKCAgICAgICBcKT92Y3Z0 cHMycGggXFxcJDB4MiwleW1tNCxcXCglcmN4XFwpXHIKKytcW15cclxuXF0rOlx0YzQgZTMgNzkg MWQgZTQgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCBcXFwkMHgyLCV4bW00LCV4bW00XHIKKytc W15cclxuXF0rOlx0YzQgNDMgNzkgMWQgMDAgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCBcXFwk MHgyLCV4bW04LFxcKCVyOFxcKVxyCisrXFteXHJcblxdKzpcdGM0IGUzIDc5IDFkIDIxIDAyXHRc KCAgICAgICBcKT92Y3Z0cHMycGggXFxcJDB4MiwleG1tNCxcXCglcmN4XFwpXHIKKytcW15cclxu XF0rOlx0ZjMgMGYgYWUgYzNcdFwoICAgICAgICAgICAgIFwpP3JkZnNiYXNlICVlYnhccgorK1xb XlxyXG5cXSs6XHRmMyA0OCAwZiBhZSBjM1x0XCggICAgICAgICAgXCk/cmRmc2Jhc2UgJXJieFxy CisrXFteXHJcblxdKzpcdGYzIDQxIDBmIGFlIGMwXHRcKCAgICAgICAgICBcKT9yZGZzYmFzZSAl cjhkXHIKKytcW15cclxuXF0rOlx0ZjMgNDkgMGYgYWUgYzBcdFwoICAgICAgICAgIFwpP3JkZnNi YXNlICVyOFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGNiXHRcKCAgICAgICAgICAgICBcKT9y ZGdzYmFzZSAlZWJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDggMGYgYWUgY2JcdFwoICAgICAgICAg IFwpP3JkZ3NiYXNlICVyYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0MSAwZiBhZSBjOFx0XCggICAg ICAgICAgXCk/cmRnc2Jhc2UgJXI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGM4XHRc KCAgICAgICAgICBcKT9yZGdzYmFzZSAlcjhccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBkM1x0 XCggICAgICAgICAgICAgXCk/d3Jmc2Jhc2UgJWVieFxyCisrXFteXHJcblxdKzpcdGYzIDQ4IDBm IGFlIGQzXHRcKCAgICAgICAgICBcKT93cmZzYmFzZSAlcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMg NDEgMGYgYWUgZDBcdFwoICAgICAgICAgIFwpP3dyZnNiYXNlICVyOGRccgorK1xbXlxyXG5cXSs6 XHRmMyA0OSAwZiBhZSBkMFx0XCggICAgICAgICAgXCk/d3Jmc2Jhc2UgJXI4XHIKKytcW15cclxu XF0rOlx0ZjMgMGYgYWUgZGJcdFwoICAgICAgICAgICAgIFwpP3dyZ3NiYXNlICVlYnhccgorK1xb XlxyXG5cXSs6XHRmMyA0OCAwZiBhZSBkYlx0XCggICAgICAgICAgXCk/d3Jnc2Jhc2UgJXJieFxy CisrXFteXHJcblxdKzpcdGYzIDQxIDBmIGFlIGQ4XHRcKCAgICAgICAgICBcKT93cmdzYmFzZSAl cjhkXHIKKytcW15cclxuXF0rOlx0ZjMgNDkgMGYgYWUgZDhcdFwoICAgICAgICAgIFwpP3dyZ3Ni YXNlICVyOFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGMzXHRcKCAgICAgICAgICAgICBcKT9y ZGZzYmFzZSAlZWJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDggMGYgYWUgYzNcdFwoICAgICAgICAg IFwpP3JkZnNiYXNlICVyYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0MSAwZiBhZSBjMFx0XCggICAg ICAgICAgXCk/cmRmc2Jhc2UgJXI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGMwXHRc KCAgICAgICAgICBcKT9yZGZzYmFzZSAlcjhccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBjYlx0 XCggICAgICAgICAgICAgXCk/cmRnc2Jhc2UgJWVieFxyCisrXFteXHJcblxdKzpcdGYzIDQ4IDBm IGFlIGNiXHRcKCAgICAgICAgICBcKT9yZGdzYmFzZSAlcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMg NDEgMGYgYWUgYzhcdFwoICAgICAgICAgIFwpP3JkZ3NiYXNlICVyOGRccgorK1xbXlxyXG5cXSs6 XHRmMyA0OSAwZiBhZSBjOFx0XCggICAgICAgICAgXCk/cmRnc2Jhc2UgJXI4XHIKKytcW15cclxu XF0rOlx0ZjMgMGYgYWUgZDNcdFwoICAgICAgICAgICAgIFwpP3dyZnNiYXNlICVlYnhccgorK1xb XlxyXG5cXSs6XHRmMyA0OCAwZiBhZSBkM1x0XCggICAgICAgICAgXCk/d3Jmc2Jhc2UgJXJieFxy CisrXFteXHJcblxdKzpcdGYzIDQxIDBmIGFlIGQwXHRcKCAgICAgICAgICBcKT93cmZzYmFzZSAl cjhkXHIKKytcW15cclxuXF0rOlx0ZjMgNDkgMGYgYWUgZDBcdFwoICAgICAgICAgIFwpP3dyZnNi YXNlICVyOFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGRiXHRcKCAgICAgICAgICAgICBcKT93 cmdzYmFzZSAlZWJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDggMGYgYWUgZGJcdFwoICAgICAgICAg IFwpP3dyZ3NiYXNlICVyYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0MSAwZiBhZSBkOFx0XCggICAg ICAgICAgXCk/d3Jnc2Jhc2UgJXI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGQ4XHRc KCAgICAgICAgICBcKT93cmdzYmFzZSAlcjhccgorK0VuZCBvZiBhc3NlbWJsZXIgZHVtcFxcLiIg ImF0dCIKKysKKytnZGJfdGVzdF9ub19vdXRwdXQgInNldCBkaXNhc3NlbWJseS1mbGF2b3IgaW50 ZWwiCisrIyBnYXMvaTM4Ni94ODYtNjQtcmRybmQtaW50ZWwuZAorKyMgZ2FzL2kzODYveDg2LTY0 LWYxNmMtaW50ZWwuZAorKyMgZ2FzL2kzODYveDg2LTY0LWZzZ3MtaW50ZWwuZAorK2dkYl90ZXN0 ICJkaXNhc3NlbWJsZS9yIF9zdGFydCIgIlxyCisrRHVtcCBvZiBhc3NlbWJsZXIgY29kZSBmb3Ig ZnVuY3Rpb24gX3N0YXJ0OlxyCisrXFteXHJcblxdKzpcdDY2IDBmIGM3IGYzXHRcKCAgICAgICAg ICAgICBcKT9yZHJhbmQgYnhccgorK1xbXlxyXG5cXSs6XHQwZiBjNyBmM1x0XCggICAgICAgICAg ICAgICAgXCk/cmRyYW5kIGVieFxyCisrXFteXHJcblxdKzpcdDQ4IDBmIGM3IGYzXHRcKCAgICAg ICAgICAgICBcKT9yZHJhbmQgcmJ4XHIKKytcW15cclxuXF0rOlx0NjYgNDEgMGYgYzcgZjBcdFwo ICAgICAgICAgIFwpP3JkcmFuZCByOHdccgorK1xbXlxyXG5cXSs6XHQ0MSAwZiBjNyBmMFx0XCgg ICAgICAgICAgICAgXCk/cmRyYW5kIHI4ZFxyCisrXFteXHJcblxdKzpcdDQ5IDBmIGM3IGYwXHRc KCAgICAgICAgICAgICBcKT9yZHJhbmQgcjhccgorK1xbXlxyXG5cXSs6XHQ2NiAwZiBjNyBmM1x0 XCggICAgICAgICAgICAgXCk/cmRyYW5kIGJ4XHIKKytcW15cclxuXF0rOlx0MGYgYzcgZjNcdFwo ICAgICAgICAgICAgICAgIFwpP3JkcmFuZCBlYnhccgorK1xbXlxyXG5cXSs6XHQ0OCAwZiBjNyBm M1x0XCggICAgICAgICAgICAgXCk/cmRyYW5kIHJieFxyCisrXFteXHJcblxdKzpcdDY2IDQxIDBm IGM3IGYwXHRcKCAgICAgICAgICBcKT9yZHJhbmQgcjh3XHIKKytcW15cclxuXF0rOlx0NDEgMGYg YzcgZjBcdFwoICAgICAgICAgICAgIFwpP3JkcmFuZCByOGRccgorK1xbXlxyXG5cXSs6XHQ0OSAw ZiBjNyBmMFx0XCggICAgICAgICAgICAgXCk/cmRyYW5kIHI4XHIKKytcW15cclxuXF0rOlx0YzQg ZTIgN2QgMTMgZTRcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyB5bW00LHhtbTRccgorK1xbXlxy XG5cXSs6XHRjNCA0MiA3ZCAxMyAwMFx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIHltbTgsWE1N V09SRCBQVFIgXFxcW3I4XFxcXVxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIGY0XHRcKCAg ICAgICAgICBcKT92Y3Z0cGgycHMgeG1tNix4bW00XHIKKytcW15cclxuXF0rOlx0YzQgZTIgNzkg MTMgMjFcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyB4bW00LFFXT1JEIFBUUiBcXFxbcmN4XFxc XVxyCisrXFteXHJcblxdKzpcdGM0IGUzIDdkIDFkIGU0IDAyXHRcKCAgICAgICBcKT92Y3Z0cHMy cGggeG1tNCx5bW00LDB4MlxyCisrXFteXHJcblxdKzpcdGM0IDQzIDdkIDFkIDAwIDAyXHRcKCAg ICAgICBcKT92Y3Z0cHMycGggWE1NV09SRCBQVFIgXFxcW3I4XFxcXSx5bW04LDB4MlxyCisrXFte XHJcblxdKzpcdGM0IGUzIDc5IDFkIGU0IDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggeG1tNCx4 bW00LDB4MlxyCisrXFteXHJcblxdKzpcdGM0IGUzIDc5IDFkIDIxIDAyXHRcKCAgICAgICBcKT92 Y3Z0cHMycGggUVdPUkQgUFRSIFxcXFtyY3hcXFxdLHhtbTQsMHgyXHIKKytcW15cclxuXF0rOlx0 YzQgZTIgN2QgMTMgZTRcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyB5bW00LHhtbTRccgorK1xb XlxyXG5cXSs6XHRjNCA0MiA3ZCAxMyAwMFx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIHltbTgs WE1NV09SRCBQVFIgXFxcW3I4XFxcXVxyCisrXFteXHJcblxdKzpcdGM0IGUyIDdkIDEzIDIxXHRc KCAgICAgICAgICBcKT92Y3Z0cGgycHMgeW1tNCxYTU1XT1JEIFBUUiBcXFxbcmN4XFxcXVxyCisr XFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIGY0XHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgeG1t Nix4bW00XHIKKytcW15cclxuXF0rOlx0YzQgZTIgNzkgMTMgMjFcdFwoICAgICAgICAgIFwpP3Zj dnRwaDJwcyB4bW00LFFXT1JEIFBUUiBcXFxbcmN4XFxcXVxyCisrXFteXHJcblxdKzpcdGM0IGUy IDc5IDEzIDIxXHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgeG1tNCxRV09SRCBQVFIgXFxcW3Jj eFxcXF1ccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCBlNCAwMlx0XCggICAgICAgXCk/dmN2 dHBzMnBoIHhtbTQseW1tNCwweDJccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCAyMSAwMlx0 XCggICAgICAgXCk/dmN2dHBzMnBoIFhNTVdPUkQgUFRSIFxcXFtyY3hcXFxdLHltbTQsMHgyXHIK KytcW15cclxuXF0rOlx0YzQgZTMgN2QgMWQgMjEgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCBY TU1XT1JEIFBUUiBcXFxbcmN4XFxcXSx5bW00LDB4MlxyCisrXFteXHJcblxdKzpcdGM0IGUzIDc5 IDFkIGU0IDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggeG1tNCx4bW00LDB4MlxyCisrXFteXHJc blxdKzpcdGM0IDQzIDc5IDFkIDAwIDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggUVdPUkQgUFRS IFxcXFtyOFxcXF0seG1tOCwweDJccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3OSAxZCAyMSAwMlx0 XCggICAgICAgXCk/dmN2dHBzMnBoIFFXT1JEIFBUUiBcXFxbcmN4XFxcXSx4bW00LDB4MlxyCisr XFteXHJcblxdKzpcdGYzIDBmIGFlIGMzXHRcKCAgICAgICAgICAgICBcKT9yZGZzYmFzZSBlYnhc cgorK1xbXlxyXG5cXSs6XHRmMyA0OCAwZiBhZSBjM1x0XCggICAgICAgICAgXCk/cmRmc2Jhc2Ug cmJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDEgMGYgYWUgYzBcdFwoICAgICAgICAgIFwpP3JkZnNi YXNlIHI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGMwXHRcKCAgICAgICAgICBcKT9y ZGZzYmFzZSByOFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGNiXHRcKCAgICAgICAgICAgICBc KT9yZGdzYmFzZSBlYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0OCAwZiBhZSBjYlx0XCggICAgICAg ICAgXCk/cmRnc2Jhc2UgcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDEgMGYgYWUgYzhcdFwoICAg ICAgICAgIFwpP3JkZ3NiYXNlIHI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGM4XHRc KCAgICAgICAgICBcKT9yZGdzYmFzZSByOFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGQzXHRc KCAgICAgICAgICAgICBcKT93cmZzYmFzZSBlYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0OCAwZiBh ZSBkM1x0XCggICAgICAgICAgXCk/d3Jmc2Jhc2UgcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDEg MGYgYWUgZDBcdFwoICAgICAgICAgIFwpP3dyZnNiYXNlIHI4ZFxyCisrXFteXHJcblxdKzpcdGYz IDQ5IDBmIGFlIGQwXHRcKCAgICAgICAgICBcKT93cmZzYmFzZSByOFxyCisrXFteXHJcblxdKzpc dGYzIDBmIGFlIGRiXHRcKCAgICAgICAgICAgICBcKT93cmdzYmFzZSBlYnhccgorK1xbXlxyXG5c XSs6XHRmMyA0OCAwZiBhZSBkYlx0XCggICAgICAgICAgXCk/d3Jnc2Jhc2UgcmJ4XHIKKytcW15c clxuXF0rOlx0ZjMgNDEgMGYgYWUgZDhcdFwoICAgICAgICAgIFwpP3dyZ3NiYXNlIHI4ZFxyCisr XFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGQ4XHRcKCAgICAgICAgICBcKT93cmdzYmFzZSByOFxy CisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGMzXHRcKCAgICAgICAgICAgICBcKT9yZGZzYmFzZSBl YnhccgorK1xbXlxyXG5cXSs6XHRmMyA0OCAwZiBhZSBjM1x0XCggICAgICAgICAgXCk/cmRmc2Jh c2UgcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDEgMGYgYWUgYzBcdFwoICAgICAgICAgIFwpP3Jk ZnNiYXNlIHI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGMwXHRcKCAgICAgICAgICBc KT9yZGZzYmFzZSByOFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGNiXHRcKCAgICAgICAgICAg ICBcKT9yZGdzYmFzZSBlYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0OCAwZiBhZSBjYlx0XCggICAg ICAgICAgXCk/cmRnc2Jhc2UgcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMgNDEgMGYgYWUgYzhcdFwo ICAgICAgICAgIFwpP3JkZ3NiYXNlIHI4ZFxyCisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGM4 XHRcKCAgICAgICAgICBcKT9yZGdzYmFzZSByOFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGQz XHRcKCAgICAgICAgICAgICBcKT93cmZzYmFzZSBlYnhccgorK1xbXlxyXG5cXSs6XHRmMyA0OCAw ZiBhZSBkM1x0XCggICAgICAgICAgXCk/d3Jmc2Jhc2UgcmJ4XHIKKytcW15cclxuXF0rOlx0ZjMg NDEgMGYgYWUgZDBcdFwoICAgICAgICAgIFwpP3dyZnNiYXNlIHI4ZFxyCisrXFteXHJcblxdKzpc dGYzIDQ5IDBmIGFlIGQwXHRcKCAgICAgICAgICBcKT93cmZzYmFzZSByOFxyCisrXFteXHJcblxd KzpcdGYzIDBmIGFlIGRiXHRcKCAgICAgICAgICAgICBcKT93cmdzYmFzZSBlYnhccgorK1xbXlxy XG5cXSs6XHRmMyA0OCAwZiBhZSBkYlx0XCggICAgICAgICAgXCk/d3Jnc2Jhc2UgcmJ4XHIKKytc W15cclxuXF0rOlx0ZjMgNDEgMGYgYWUgZDhcdFwoICAgICAgICAgIFwpP3dyZ3NiYXNlIHI4ZFxy CisrXFteXHJcblxdKzpcdGYzIDQ5IDBmIGFlIGQ4XHRcKCAgICAgICAgICBcKT93cmdzYmFzZSBy OFxyCisrRW5kIG9mIGFzc2VtYmxlciBkdW1wXFwuIiAiaW50ZWwiCitJbmRleDogZ2RiLTcuMTIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LWl2eS1icmlkZ2UuZXhwCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2Ri LTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LWl2eS1icmlkZ2UuZXhwCTIwMTYtMTAt MjAgMjA6NTc6NDMuMjUxNzIxMTQ3ICswMjAwCitAQCAtMCwwICsxLDEwNiBAQAorKyMgQ29weXJp Z2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrIyBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorKworK2lmIHshW2lzdGFyZ2V0ICJ4ODZfNjQtKi0qIl0gJiYgIVtp c3RhcmdldCAiaT84Ni0qLSoiXX0gdGhlbiB7CisrICAgIHJldHVybgorK30KKysKKytzZXQgdGVz dGZpbGUgaTM4Ni1pdnktYnJpZGdlCisrc2V0IHRlc3QgY29tcGlsYXRpb24KKytpZiBbcHJlcGFy ZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0ueCAke3Rlc3RmaWxlfS5T IFtsaXN0IGRlYnVnICJhZGRpdGlvbmFsX2ZsYWdzPS1tMzIgLW5vc3RkbGliIl1dIHsKKysgICAg ZmFpbCAkdGVzdAorKyAgICByZXR1cm4gLTEKKyt9CisrcGFzcyAkdGVzdAorKworK2dkYl90ZXN0 X25vX291dHB1dCAic2V0IGRpc2Fzc2VtYmx5LWZsYXZvciBhdHQiCisrIyBnYXMvaTM4Ni9yZHJu ZC5kCisrIyBnYXMvaTM4Ni9mMTZjLmQKKysjIGdhcy9pMzg2L2ZzZ3MuZAorK2dkYl90ZXN0ICJk aXNhc3NlbWJsZS9yIF9zdGFydCIgIlxyCisrRHVtcCBvZiBhc3NlbWJsZXIgY29kZSBmb3IgZnVu Y3Rpb24gX3N0YXJ0OlxyCisrXFteXHJcblxdKzpcdDY2IDBmIGM3IGYzXHRcKCAgICAgICAgICAg ICBcKT9yZHJhbmQgJWJ4XHIKKytcW15cclxuXF0rOlx0MGYgYzcgZjNcdFwoICAgICAgICAgICAg ICAgIFwpP3JkcmFuZCAlZWJ4XHIKKytcW15cclxuXF0rOlx0NjYgMGYgYzcgZjNcdFwoICAgICAg ICAgICAgIFwpP3JkcmFuZCAlYnhccgorK1xbXlxyXG5cXSs6XHQwZiBjNyBmM1x0XCggICAgICAg ICAgICAgICAgXCk/cmRyYW5kICVlYnhccgorK1xbXlxyXG5cXSs6XHRjNCBlMiA3ZCAxMyBlNFx0 XCggICAgICAgICAgXCk/dmN2dHBoMnBzICV4bW00LCV5bW00XHIKKytcW15cclxuXF0rOlx0YzQg ZTIgN2QgMTMgMjFcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyBcXCglZWN4XFwpLCV5bW00XHIK KytcW15cclxuXF0rOlx0YzQgZTIgNzkgMTMgZjRcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyAl eG1tNCwleG1tNlxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIDIxXHRcKCAgICAgICAgICBc KT92Y3Z0cGgycHMgXFwoJWVjeFxcKSwleG1tNFxyCisrXFteXHJcblxdKzpcdGM0IGUzIDdkIDFk IGU0IDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggXFxcJDB4MiwleW1tNCwleG1tNFxyCisrXFte XHJcblxdKzpcdGM0IGUzIDdkIDFkIDIxIDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggXFxcJDB4 MiwleW1tNCxcXCglZWN4XFwpXHIKKytcW15cclxuXF0rOlx0YzQgZTMgNzkgMWQgZTQgMDJcdFwo ICAgICAgIFwpP3ZjdnRwczJwaCBcXFwkMHgyLCV4bW00LCV4bW00XHIKKytcW15cclxuXF0rOlx0 YzQgZTMgNzkgMWQgMjEgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCBcXFwkMHgyLCV4bW00LFxc KCVlY3hcXClccgorK1xbXlxyXG5cXSs6XHRjNCBlMiA3ZCAxMyBlNFx0XCggICAgICAgICAgXCk/ dmN2dHBoMnBzICV4bW00LCV5bW00XHIKKytcW15cclxuXF0rOlx0YzQgZTIgN2QgMTMgMjFcdFwo ICAgICAgICAgIFwpP3ZjdnRwaDJwcyBcXCglZWN4XFwpLCV5bW00XHIKKytcW15cclxuXF0rOlx0 YzQgZTIgN2QgMTMgMjFcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyBcXCglZWN4XFwpLCV5bW00 XHIKKytcW15cclxuXF0rOlx0YzQgZTIgNzkgMTMgZjRcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJw cyAleG1tNCwleG1tNlxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIDIxXHRcKCAgICAgICAg ICBcKT92Y3Z0cGgycHMgXFwoJWVjeFxcKSwleG1tNFxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5 IDEzIDIxXHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgXFwoJWVjeFxcKSwleG1tNFxyCisrXFte XHJcblxdKzpcdGM0IGUzIDdkIDFkIGU0IDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggXFxcJDB4 MiwleW1tNCwleG1tNFxyCisrXFteXHJcblxdKzpcdGM0IGUzIDdkIDFkIDIxIDAyXHRcKCAgICAg ICBcKT92Y3Z0cHMycGggXFxcJDB4MiwleW1tNCxcXCglZWN4XFwpXHIKKytcW15cclxuXF0rOlx0 YzQgZTMgN2QgMWQgMjEgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCBcXFwkMHgyLCV5bW00LFxc KCVlY3hcXClccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3OSAxZCBlNCAwMlx0XCggICAgICAgXCk/ dmN2dHBzMnBoIFxcXCQweDIsJXhtbTQsJXhtbTRccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3OSAx ZCAyMSAwMlx0XCggICAgICAgXCk/dmN2dHBzMnBoIFxcXCQweDIsJXhtbTQsXFwoJWVjeFxcKVxy CisrXFteXHJcblxdKzpcdGM0IGUzIDc5IDFkIDIxIDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGgg XFxcJDB4MiwleG1tNCxcXCglZWN4XFwpXHIKKytcW15cclxuXF0rOlx0ZjMgMGYgYWUgYzNcdFwo ICAgICAgICAgICAgIFwpP3JkZnNiYXNlICVlYnhccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBj Ylx0XCggICAgICAgICAgICAgXCk/cmRnc2Jhc2UgJWVieFxyCisrXFteXHJcblxdKzpcdGYzIDBm IGFlIGQzXHRcKCAgICAgICAgICAgICBcKT93cmZzYmFzZSAlZWJ4XHIKKytcW15cclxuXF0rOlx0 ZjMgMGYgYWUgZGJcdFwoICAgICAgICAgICAgIFwpP3dyZ3NiYXNlICVlYnhccgorK1xbXlxyXG5c XSs6XHRmMyAwZiBhZSBjM1x0XCggICAgICAgICAgICAgXCk/cmRmc2Jhc2UgJWVieFxyCisrXFte XHJcblxdKzpcdGYzIDBmIGFlIGNiXHRcKCAgICAgICAgICAgICBcKT9yZGdzYmFzZSAlZWJ4XHIK KytcW15cclxuXF0rOlx0ZjMgMGYgYWUgZDNcdFwoICAgICAgICAgICAgIFwpP3dyZnNiYXNlICVl YnhccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBkYlx0XCggICAgICAgICAgICAgXCk/d3Jnc2Jh c2UgJWVieFxyCisrRW5kIG9mIGFzc2VtYmxlciBkdW1wXFwuIiAiYXR0IgorKworK2dkYl90ZXN0 X25vX291dHB1dCAic2V0IGRpc2Fzc2VtYmx5LWZsYXZvciBpbnRlbCIKKysjIGdhcy9pMzg2L3Jk cm5kLWludGVsLmQKKysjIGdhcy9pMzg2L2YxNmMtaW50ZWwuZAorKyMgZ2FzL2kzODYvZnNncy1p bnRlbC5kCisrZ2RiX3Rlc3QgImRpc2Fzc2VtYmxlL3IgX3N0YXJ0IiAiXHIKKytEdW1wIG9mIGFz c2VtYmxlciBjb2RlIGZvciBmdW5jdGlvbiBfc3RhcnQ6XHIKKytcW15cclxuXF0rOlx0NjYgMGYg YzcgZjNcdFwoICAgICAgICAgICAgIFwpP3JkcmFuZCBieFxyCisrXFteXHJcblxdKzpcdDBmIGM3 IGYzXHRcKCAgICAgICAgICAgICAgICBcKT9yZHJhbmQgZWJ4XHIKKytcW15cclxuXF0rOlx0NjYg MGYgYzcgZjNcdFwoICAgICAgICAgICAgIFwpP3JkcmFuZCBieFxyCisrXFteXHJcblxdKzpcdDBm IGM3IGYzXHRcKCAgICAgICAgICAgICAgICBcKT9yZHJhbmQgZWJ4XHIKKytcW15cclxuXF0rOlx0 YzQgZTIgN2QgMTMgZTRcdFwoICAgICAgICAgIFwpP3ZjdnRwaDJwcyB5bW00LHhtbTRccgorK1xb XlxyXG5cXSs6XHRjNCBlMiA3ZCAxMyAyMVx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIHltbTQs WE1NV09SRCBQVFIgXFxcW2VjeFxcXF1ccgorK1xbXlxyXG5cXSs6XHRjNCBlMiA3OSAxMyBmNFx0 XCggICAgICAgICAgXCk/dmN2dHBoMnBzIHhtbTYseG1tNFxyCisrXFteXHJcblxdKzpcdGM0IGUy IDc5IDEzIDIxXHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgeG1tNCxRV09SRCBQVFIgXFxcW2Vj eFxcXF1ccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCBlNCAwMlx0XCggICAgICAgXCk/dmN2 dHBzMnBoIHhtbTQseW1tNCwweDJccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCAyMSAwMlx0 XCggICAgICAgXCk/dmN2dHBzMnBoIFhNTVdPUkQgUFRSIFxcXFtlY3hcXFxdLHltbTQsMHgyXHIK KytcW15cclxuXF0rOlx0YzQgZTMgNzkgMWQgZTQgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCB4 bW00LHhtbTQsMHgyXHIKKytcW15cclxuXF0rOlx0YzQgZTMgNzkgMWQgMjEgMDJcdFwoICAgICAg IFwpP3ZjdnRwczJwaCBRV09SRCBQVFIgXFxcW2VjeFxcXF0seG1tNCwweDJccgorK1xbXlxyXG5c XSs6XHRjNCBlMiA3ZCAxMyBlNFx0XCggICAgICAgICAgXCk/dmN2dHBoMnBzIHltbTQseG1tNFxy CisrXFteXHJcblxdKzpcdGM0IGUyIDdkIDEzIDIxXHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMg eW1tNCxYTU1XT1JEIFBUUiBcXFxbZWN4XFxcXVxyCisrXFteXHJcblxdKzpcdGM0IGUyIDdkIDEz IDIxXHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgeW1tNCxYTU1XT1JEIFBUUiBcXFxbZWN4XFxc XVxyCisrXFteXHJcblxdKzpcdGM0IGUyIDc5IDEzIGY0XHRcKCAgICAgICAgICBcKT92Y3Z0cGgy cHMgeG1tNix4bW00XHIKKytcW15cclxuXF0rOlx0YzQgZTIgNzkgMTMgMjFcdFwoICAgICAgICAg IFwpP3ZjdnRwaDJwcyB4bW00LFFXT1JEIFBUUiBcXFxbZWN4XFxcXVxyCisrXFteXHJcblxdKzpc dGM0IGUyIDc5IDEzIDIxXHRcKCAgICAgICAgICBcKT92Y3Z0cGgycHMgeG1tNCxRV09SRCBQVFIg XFxcW2VjeFxcXF1ccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCBlNCAwMlx0XCggICAgICAg XCk/dmN2dHBzMnBoIHhtbTQseW1tNCwweDJccgorK1xbXlxyXG5cXSs6XHRjNCBlMyA3ZCAxZCAy MSAwMlx0XCggICAgICAgXCk/dmN2dHBzMnBoIFhNTVdPUkQgUFRSIFxcXFtlY3hcXFxdLHltbTQs MHgyXHIKKytcW15cclxuXF0rOlx0YzQgZTMgN2QgMWQgMjEgMDJcdFwoICAgICAgIFwpP3ZjdnRw czJwaCBYTU1XT1JEIFBUUiBcXFxbZWN4XFxcXSx5bW00LDB4MlxyCisrXFteXHJcblxdKzpcdGM0 IGUzIDc5IDFkIGU0IDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggeG1tNCx4bW00LDB4MlxyCisr XFteXHJcblxdKzpcdGM0IGUzIDc5IDFkIDIxIDAyXHRcKCAgICAgICBcKT92Y3Z0cHMycGggUVdP UkQgUFRSIFxcXFtlY3hcXFxdLHhtbTQsMHgyXHIKKytcW15cclxuXF0rOlx0YzQgZTMgNzkgMWQg MjEgMDJcdFwoICAgICAgIFwpP3ZjdnRwczJwaCBRV09SRCBQVFIgXFxcW2VjeFxcXF0seG1tNCww eDJccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBjM1x0XCggICAgICAgICAgICAgXCk/cmRmc2Jh c2UgZWJ4XHIKKytcW15cclxuXF0rOlx0ZjMgMGYgYWUgY2JcdFwoICAgICAgICAgICAgIFwpP3Jk Z3NiYXNlIGVieFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGQzXHRcKCAgICAgICAgICAgICBc KT93cmZzYmFzZSBlYnhccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBkYlx0XCggICAgICAgICAg ICAgXCk/d3Jnc2Jhc2UgZWJ4XHIKKytcW15cclxuXF0rOlx0ZjMgMGYgYWUgYzNcdFwoICAgICAg ICAgICAgIFwpP3JkZnNiYXNlIGVieFxyCisrXFteXHJcblxdKzpcdGYzIDBmIGFlIGNiXHRcKCAg ICAgICAgICAgICBcKT9yZGdzYmFzZSBlYnhccgorK1xbXlxyXG5cXSs6XHRmMyAwZiBhZSBkM1x0 XCggICAgICAgICAgICAgXCk/d3Jmc2Jhc2UgZWJ4XHIKKytcW15cclxuXF0rOlx0ZjMgMGYgYWUg ZGJcdFwoICAgICAgICAgICAgIFwpP3dyZ3NiYXNlIGVieFxyCisrRW5kIG9mIGFzc2VtYmxlciBk dW1wXFwuIiAiaW50ZWwiCitJbmRleDogZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9h bWQ2NC1pdnktYnJpZGdlLlMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5h cmNoL2FtZDY0LWl2eS1icmlkZ2UuUwkyMDE2LTEwLTIwIDIwOjU1OjUwLjg1Mzg0MjMyNCArMDIw MAorQEAgLTAsMCArMSw5OCBAQAorKy8qIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAg VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgor KworKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBnZGIgdGVzdHN1aXRlLiAgKi8KKysKKysJ Lmdsb2JsIF9zdGFydAorK19zdGFydDoJLnRleHQKKysKKysvKiBnYXMvaTM4Ni94ODYtNjQtcmRy bmQucyAqLworKwkuYXR0X3N5bnRheCBwcmVmaXgKKysJcmRyYW5kICVieAorKwlyZHJhbmQgJWVi eAorKwlyZHJhbmQgJXJieAorKwlyZHJhbmQgJXI4dworKwlyZHJhbmQgJXI4ZAorKwlyZHJhbmQg JXI4CisrCisrCS5pbnRlbF9zeW50YXggbm9wcmVmaXgKKysJcmRyYW5kIGJ4CisrCXJkcmFuZCBl YngKKysJcmRyYW5kIHJieAorKwlyZHJhbmQgcjh3CisrCXJkcmFuZCByOGQKKysJcmRyYW5kIHI4 CisrCisrLyogZ2FzL2kzODYveDg2LTY0LWYxNmMucyAqLworKwkuYXR0X3N5bnRheCBwcmVmaXgK KysJdmN2dHBoMnBzICV4bW00LCV5bW00CisrCXZjdnRwaDJwcyAoJXI4KSwleW1tOAorKwl2Y3Z0 cGgycHMgJXhtbTQsJXhtbTYKKysJdmN2dHBoMnBzICglcmN4KSwleG1tNAorKwl2Y3Z0cHMycGgg JDB4MiwleW1tNCwleG1tNAorKwl2Y3Z0cHMycGggJDB4MiwleW1tOCwoJXI4KQorKwl2Y3Z0cHMy cGggJDB4MiwleG1tNCwleG1tNAorKwl2Y3Z0cHMycGggJDB4MiwleG1tNCwoJXJjeCkgCisrCisr CS5pbnRlbF9zeW50YXggbm9wcmVmaXgKKysJdmN2dHBoMnBzIHltbTQseG1tNAorKwl2Y3Z0cGgy cHMgeW1tOCxYTU1XT1JEIFBUUiBbcjhdCisrCXZjdnRwaDJwcyB5bW00LFtyY3hdCisrCXZjdnRw aDJwcyB4bW02LHhtbTQKKysJdmN2dHBoMnBzIHhtbTQsUVdPUkQgUFRSIFtyY3hdICAgICAgICAg IAorKwl2Y3Z0cGgycHMgeG1tNCxbcmN4XQorKwl2Y3Z0cHMycGggeG1tNCx5bW00LDB4MgorKwl2 Y3Z0cHMycGggWE1NV09SRCBQVFIgW3JjeF0seW1tNCwweDIgICAgCisrCXZjdnRwczJwaCBbcmN4 XSx5bW00LDB4MiAKKysJdmN2dHBzMnBoIHhtbTQseG1tNCwweDIKKysJdmN2dHBzMnBoIFFXT1JE IFBUUiBbcjhdLHhtbTgsMHgyICAgICAgIAorKwl2Y3Z0cHMycGggW3JjeF0seG1tNCwweDIgCisr CisrLyogZ2FzL2kzODYveDg2LTY0LWZzZ3MucyAqLworKwkuYXR0X3N5bnRheCBwcmVmaXgKKysJ cmRmc2Jhc2UgJWVieAorKwlyZGZzYmFzZSAlcmJ4CisrCXJkZnNiYXNlICVyOGQKKysJcmRmc2Jh c2UgJXI4CisrCXJkZ3NiYXNlICVlYngKKysJcmRnc2Jhc2UgJXJieCAgIAorKwlyZGdzYmFzZSAl cjhkICAgCisrCXJkZ3NiYXNlICVyOCAgICAKKysJd3Jmc2Jhc2UgJWVieCAgIAorKwl3cmZzYmFz ZSAlcmJ4ICAgCisrCXdyZnNiYXNlICVyOGQgICAKKysJd3Jmc2Jhc2UgJXI4ICAgIAorKwl3cmdz YmFzZSAlZWJ4ICAgCisrCXdyZ3NiYXNlICVyYnggICAKKysJd3Jnc2Jhc2UgJXI4ZCAgIAorKwl3 cmdzYmFzZSAlcjggICAgCisrCisrCS5pbnRlbF9zeW50YXggbm9wcmVmaXgKKysJcmRmc2Jhc2Ug ZWJ4ICAgIAorKwlyZGZzYmFzZSByYnggICAgCisrCXJkZnNiYXNlIHI4ZCAgICAKKysJcmRmc2Jh c2UgcjgKKysJcmRnc2Jhc2UgZWJ4ICAgIAorKwlyZGdzYmFzZSByYnggICAgCisrCXJkZ3NiYXNl IHI4ZCAgICAKKysJcmRnc2Jhc2UgcjgKKysJd3Jmc2Jhc2UgZWJ4ICAgIAorKwl3cmZzYmFzZSBy YnggICAgCisrCXdyZnNiYXNlIHI4ZCAgICAKKysJd3Jmc2Jhc2UgcjgKKysJd3Jnc2Jhc2UgZWJ4 ICAgIAorKwl3cmdzYmFzZSByYnggICAgCisrCXdyZ3NiYXNlIHI4ZCAgICAKKysJd3Jnc2Jhc2Ug cjgKK0luZGV4OiBnZGItNy4xMi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2kzODYtaXZ5LWJyaWRn ZS5TCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCisrKysgZ2RiLTcuMTIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9pMzg2LWl2eS1i cmlkZ2UuUwkyMDE2LTEwLTIwIDIwOjU1OjUwLjg1Mzg0MjMyNCArMDIwMAorQEAgLTAsMCArMSw2 NyBAQAorKy8qIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor KworKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKworKyAgIFRoaXMgZmls ZSBpcyBwYXJ0IG9mIHRoZSBnZGIgdGVzdHN1aXRlLiAgKi8KKysKKysJLmdsb2JsIF9zdGFydAor K19zdGFydDoJLnRleHQKKysKKysvKiBnYXMvaTM4Ni9yZHJuZC5zICovCisrCS5hdHRfc3ludGF4 IHByZWZpeAorKwlyZHJhbmQgJWJ4CisrCXJkcmFuZCAlZWJ4CisrCisrCS5pbnRlbF9zeW50YXgg bm9wcmVmaXgKKysJcmRyYW5kIGJ4CisrCXJkcmFuZCBlYngKKysKKysvKiBnYXMvaTM4Ni9mMTZj LnMgKi8KKysJLmF0dF9zeW50YXggcHJlZml4CisrCXZjdnRwaDJwcyAleG1tNCwleW1tNAorKwl2 Y3Z0cGgycHMgKCVlY3gpLCV5bW00CisrCXZjdnRwaDJwcyAleG1tNCwleG1tNgorKwl2Y3Z0cGgy cHMgKCVlY3gpLCV4bW00CisrCXZjdnRwczJwaCAkMHgyLCV5bW00LCV4bW00CisrCXZjdnRwczJw aCAkMHgyLCV5bW00LCglZWN4KSAKKysJdmN2dHBzMnBoICQweDIsJXhtbTQsJXhtbTQKKysJdmN2 dHBzMnBoICQweDIsJXhtbTQsKCVlY3gpIAorKworKwkuaW50ZWxfc3ludGF4IG5vcHJlZml4Cisr CXZjdnRwaDJwcyB5bW00LHhtbTQKKysJdmN2dHBoMnBzIHltbTQsWE1NV09SRCBQVFIgW2VjeF0K KysJdmN2dHBoMnBzIHltbTQsW2VjeF0KKysJdmN2dHBoMnBzIHhtbTYseG1tNAorKwl2Y3Z0cGgy cHMgeG1tNCxRV09SRCBQVFIgW2VjeF0gICAgICAgICAgCisrCXZjdnRwaDJwcyB4bW00LFtlY3hd CisrCXZjdnRwczJwaCB4bW00LHltbTQsMHgyCisrCXZjdnRwczJwaCBYTU1XT1JEIFBUUiBbZWN4 XSx5bW00LDB4MiAgICAKKysJdmN2dHBzMnBoIFtlY3hdLHltbTQsMHgyIAorKwl2Y3Z0cHMycGgg eG1tNCx4bW00LDB4MgorKwl2Y3Z0cHMycGggUVdPUkQgUFRSIFtlY3hdLHhtbTQsMHgyICAgICAg CisrCXZjdnRwczJwaCBbZWN4XSx4bW00LDB4MiAKKysKKysvKiBnYXMvaTM4Ni9mc2dzLnMgKi8K KysJLmF0dF9zeW50YXggcHJlZml4CisrCXJkZnNiYXNlICVlYngKKysJcmRnc2Jhc2UgJWVieAor Kwl3cmZzYmFzZSAlZWJ4CisrCXdyZ3NiYXNlICVlYngKKysKKysJLmludGVsX3N5bnRheCBub3By ZWZpeAorKwlyZGZzYmFzZSBlYnggICAgCisrCXJkZ3NiYXNlIGVieCAgICAKKysJd3Jmc2Jhc2Ug ZWJ4ICAgIAorKwl3cmdzYmFzZSBlYnggICAgCisrCgpkaWZmIC0tZ2l0IGEvZ2RiLXVwc3RyZWFt LnBhdGNoIGIvZ2RiLXVwc3RyZWFtLnBhdGNoCmluZGV4IDBjZWU1NmYuLjJiYTcyZGIgMTAwNjQ0 Ci0tLSBhL2dkYi11cHN0cmVhbS5wYXRjaAorKysgYi9nZGItdXBzdHJlYW0ucGF0Y2gKQEAgLTQw OSwzICs0MDksNTIgQEAgaW5kZXggNmMxMGRmYy4uYTFiODA2NSAxMDA2NDQKICBtYWluICh2b2lk KQogLS0gCiAyLjcuNAorCisKKworaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVz LzIwMTYtMTAvbXNnMDA2MTMuaHRtbAorU3ViamVjdDogW3Rlc3RzdWl0ZSBwYXRjaF0gRml4IGdj Y19jb21waWxlZCBmb3IgZ2NjIDYgJiA3CisKKworLS1JUzB6S2t6d1VHeWRGTzBvCitDb250ZW50 LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkKK0NvbnRlbnQtRGlzcG9zaXRpb246 IGlubGluZQorCitIaSwKKworT0sgZm9yIGNoZWNrLWluPworCisKK0phbgorCistLUlTMHpLa3p3 VUd5ZEZPMG8KK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11cy1hc2NpaQorQ29u dGVudC1EaXNwb3NpdGlvbjogaW5saW5lOyBmaWxlbmFtZT0xCisKK2dkYi90ZXN0c3VpdGUvQ2hh bmdlTG9nCisyMDE2LTEwLTIwICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhh dC5jb20+CisKKwkqIGxpYi9nZGIuZXhwIChnZXRfY29tcGlsZXJfaW5mbyk6IEdlbmVyYWxpemUg Z2NjX2NvbXBpbGUgcmVnZXhwLgorCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2Ri LmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKK2luZGV4IDM3OGVlYTAuLjdkOWIxOTgg MTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCisrKysgYi9nZGIvdGVzdHN1 aXRlL2xpYi9nZGIuZXhwCitAQCAtMzI5MCwxMiArMzI5MCw4IEBAIHByb2MgZ2V0X2NvbXBpbGVy X2luZm8ge3thcmcgIiJ9fSB7CisgICAgIH0KKyAKKyAgICAgIyBTZXQgdGhlIGxlZ2FjeSBzeW1i b2xzLgorLSAgICBzZXQgZ2NjX2NvbXBpbGVkICAgICAwCistICAgIGlmIHsgW3JlZ2V4cCAiXmdj Yy0xLSIgIiRjb21waWxlcl9pbmZvIiBdIH0geyBzZXQgZ2NjX2NvbXBpbGVkIDEgfQorLSAgICBp ZiB7IFtyZWdleHAgIl5nY2MtMi0iICIkY29tcGlsZXJfaW5mbyIgXSB9IHsgc2V0IGdjY19jb21w aWxlZCAyIH0KKy0gICAgaWYgeyBbcmVnZXhwICJeZ2NjLTMtIiAiJGNvbXBpbGVyX2luZm8iIF0g fSB7IHNldCBnY2NfY29tcGlsZWQgMyB9CistICAgIGlmIHsgW3JlZ2V4cCAiXmdjYy00LSIgIiRj b21waWxlcl9pbmZvIiBdIH0geyBzZXQgZ2NjX2NvbXBpbGVkIDQgfQorLSAgICBpZiB7IFtyZWdl eHAgIl5nY2MtNS0iICIkY29tcGlsZXJfaW5mbyIgXSB9IHsgc2V0IGdjY19jb21waWxlZCA1IH0K KysgICAgc2V0IGdjY19jb21waWxlZCAwCisrICAgIHJlZ2V4cCAiXmdjYy0oXFswLTlcXSspLSIg IiRjb21waWxlcl9pbmZvIiBtYXRjaGFsbCBnY2NfY29tcGlsZWQKKyAKKyAgICAgIyBMb2cgd2hh dCBoYXBwZW5lZC4KKyAgICAgdmVyYm9zZSAtbG9nICJnZXRfY29tcGlsZXJfaW5mbzogJGNvbXBp bGVyX2luZm8iCisKKy0tSVMwektrendVR3lkRk8wby0tCisKCmRpZmYgLS1naXQgYS9nZGIuc3Bl YyBiL2dkYi5zcGVjCmluZGV4IDI3ZDgxMGMuLmNkOTc2NTQgMTAwNjQ0Ci0tLSBhL2dkYi5zcGVj CisrKyBiL2dkYi5zcGVjCkBAIC0yNiw3ICsyNiw3IEBAIFZlcnNpb246IDcuMTIKIAogIyBUaGUg cmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3RhcnQg aXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1 bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNl OiAyNSV7P2Rpc3R9CitSZWxlYXNlOiAyNiV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBhbmQg R1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNlcHRp b25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFuZCBCU0QgYW5kIFB1YmxpYyBEb21haW4gYW5kIEdG REwKIEdyb3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dlcnMKQEAgLTI4OSw2ICsyODksOSBAQCBQYXRj aDI1NDogZ2RiLTYuNi10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2gKICM9ZmVkb3JhdGVzdAogUGF0 Y2gyNTg6IGdkYi02LjYtYnoyMzc1NzItcHBjLWF0b21pYy1zZXF1ZW5jZS10ZXN0LnBhdGNoCiAK KyMgU3RvcCB3aGlsZSBpbnRlbnRpb25hbGx5IHN0ZXBwaW5nIGFuZCB0aGUgdGhyZWFkIGV4aXQg aXMgbWV0LgorUGF0Y2gyNTk6IGdkYi02LjMtc3RlcC10aHJlYWQtZXhpdC0yMDA1MDIxMS10ZXN0 LnBhdGNoCisKICMgVGVzdCBrZXJuZWwgVkRTTyBkZWNvZGluZyB3aGlsZSBhdHRhY2hpbmcgdG8g YW4gaTM4NiBwcm9jZXNzLgogIz1mZWRvcmF0ZXN0CiBQYXRjaDI2MzogZ2RiLTYuMy1hdHRhY2gt c2VlLXZkc28tdGVzdC5wYXRjaApAQCAtNDc1LDYgKzQ3OCwxMCBAQCBQYXRjaDU0NzogZ2RiLXRl c3QtZHcyLWFyYW5nZXMucGF0Y2gKICM9ZmVkb3JhdGVzdAogUGF0Y2g1NDg6IGdkYi10ZXN0LWV4 cHItY3VtdWxhdGl2ZS1hcmNoZXIucGF0Y2gKIAorIyBGaXggcmVncmVzc2lvbnMgb24gQysrIG5h bWVzIHJlc29sdmluZyAoUFIgMTE3MzQsIFBSIDEyMjczLCBLZWl0aCBTZWl0eikuCitQYXRjaDU2 NTogZ2RiLXBoeXNuYW1lLXByMTE3MzQtdGVzdC5wYXRjaAorUGF0Y2g1Njc6IGdkYi1waHlzbmFt ZS1wcjEyMjczLXRlc3QucGF0Y2gKKwogIyBUb29sY2hhaW4gb24gc3BhcmMgaXMgc2xpZ2h0bHkg YnJva2VuIGFuZCBkZWJ1Z2luZm8gZmlsZXMgYXJlIGdlbmVyYXRlZAogIyB3aXRoIG5vbiA2NGJp dCBhbGlnbmVkIHRhYmxlcy9vZmZzZXRzLgogIyBTZWUgZm9yIGV4YW1wbGUgcmVhZGVsZiAtUyAu Li9Ydm5jLmRlYnVnLgpAQCAtNDg5LDYgKzQ5Niw5IEBAIFBhdGNoNTQ4OiBnZGItdGVzdC1leHBy LWN1bXVsYXRpdmUtYXJjaGVyLnBhdGNoCiAjPXB1c2grd29yawogUGF0Y2g1Nzk6IGdkYi03LjIu NTAtc3BhcmMtYWRkLXdvcmthcm91bmQtdG8tYnJva2VuLWRlYnVnLWZpbGVzLnBhdGNoCiAKKyMg VGVzdCBHREIgb3Bjb2Rlcy8gZGlzYXNzZW1ibHkgb2YgSW50ZWwgSXZ5IEJyaWRnZSBpbnN0cnVj dGlvbnMgKEJaIDY5Njg5MCkuCitQYXRjaDYxNjogZ2RiLXRlc3QtaXZ5LWJyaWRnZS5wYXRjaAor CiAjIFdvcmsgYXJvdW5kIFBSIGxpYmMvMTMwOTcgImxpbnV4LXZkc28uc28uMSIgd2FybmluZyBt ZXNzYWdlLgogIz1wdXNoCiBQYXRjaDYyNzogZ2RiLWdsaWJjLXZkc28td29ya2Fyb3VuZC5wYXRj aApAQCAtNTQ0LDYgKzU1NCw5IEBAIFBhdGNoODQ4OiBnZGItZHRzLXJoZWw2LXB5dGhvbi1jb21w YXQucGF0Y2gKICMgRml4IGNyYXNoIG9mIC1yZWFkbm93IC91c3IvbGliL2RlYnVnL3Vzci9iaW4v Z25hdGJpbmQuZGVidWcgKEJaIDEwNjkyMTEpLgogUGF0Y2g4NTI6IGdkYi1nbmF0LWR3YXJmLWNy YXNoLTNvZjMucGF0Y2gKIAorIyBGaXggJ21lbW9yeSBsZWFrIGluIGluZnB5X3JlYWRfbWVtb3J5 KCknIChSSCBCWiAxMDA3NjE0KQorUGF0Y2g4NjE6IGdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWlu ZnB5X3JlYWRfbWVtb3J5LXRlc3QucGF0Y2gKKwogIyBWTEEgKEZvcnRyYW4gZHluYW1pYyBhcnJh eXMpIGZyb20gSW50ZWwgKyBhcmNoZXItamFua3JhdG9jaHZpbC12bGEgdGVzdHMuCiBQYXRjaDEw NTg6IGdkYi12bGEtaW50ZWwtZm9ydHJhbi1zdHJpZGVzLnBhdGNoCiBQYXRjaDExMzI6IGdkYi12 bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaApAQCAtNTYwLDkgKzU3MywyMiBAQCBQ YXRjaDkyNTogZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCiAjIEZpeCBQeXRob24gR0lM IHdpdGggZ2RiLmV4ZWN1dGUoImNvbnRpbnVlIikgKFBoaWwgTXVsZG9vbiwgQlogMTExNjk1Nyku CiBQYXRjaDkyNzogZ2RiLXB5dGhvbi1naWwucGF0Y2gKIAorIyBUZXN0Y2FzZSBmb3IgJ1tTQVBd IFJlY3Vyc2l2ZSBkbG9wZW4gY2F1c2VzIFNBUCBIQU5BIGluc3RhbGxlciB0bworIyBjcmFzaC4n IChSSCBCWiAxMTU2MTkyKS4KK1BhdGNoOTc3OiBnZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRs b3Blbi10ZXN0LnBhdGNoCisKICMgRml4IGppdC1yZWFkZXIuaCBmb3IgbXVsdGktbGliLgogUGF0 Y2g5Nzg6IGdkYi1qaXQtcmVhZGVyLW11bHRpbGliLnBhdGNoCiAKKyMgRml4ICdgY2F0Y2ggc3lz Y2FsbCcgZG9lc24ndCB3b3JrIGZvciBwYXJlbnQgYWZ0ZXIgYGZvcmsnIGlzIGNhbGxlZCcKKyMg KFBoaWxpcHBlIFdhcm9xdWllcnMsIFJIIEJaIDExNDkyMDUpLgorUGF0Y2g5ODQ6IGdkYi1yaGJ6 MTE0OTIwNS1jYXRjaC1zeXNjYWxsLWFmdGVyLWZvcmstdGVzdC5wYXRjaAorCisjIEZpeCAnYmFj a3BvcnQgR0RCIDcuNCBmaXggdG8gUkhFTCA2LjYgR0RCJyBbT3JpZ2luYWwgU291cmNld2FyZSBi dWcKKyMgZGVzY3JpcHRpb246ICdDKysgKGFuZCBvYmpjKTogSW50ZXJuYWwgZXJyb3Igb24gdW5x dWFsaWZpZWQgbmFtZQorIyByZS1zZXQnLCBQUiAxMTY1N10gKFJIIEJaIDExODY0NzYpLgorUGF0 Y2g5OTE6IGdkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1uYW1lLXJl LXNldC10ZXN0LnBhdGNoCisKICMgVGVzdCAnaW5mbyB0eXBlLXByaW50ZXJzJyBQeXRob24gZXJy b3IgKFJIIEJaIDEzNTA0MzYpLgogUGF0Y2g5OTI6IGdkYi1yaGJ6MTM1MDQzNi10eXBlLXByaW50 ZXJzLWVycm9yLnBhdGNoCiAKQEAgLTg3Nyw2ICs5MDMsNyBAQCBmaW5kIC1uYW1lICIqLmluZm8q Inx4YXJncyBybSAtZgogJXBhdGNoMjQ3IC1wMQogJXBhdGNoMjU0IC1wMQogJXBhdGNoMjU4IC1w MQorJXBhdGNoMjU5IC1wMQogJXBhdGNoMjYwIC1wMQogJXBhdGNoMjYzIC1wMQogJXBhdGNoMjcx IC1wMQpAQCAtOTIyLDcgKzk0OSwxMCBAQCBmaW5kIC1uYW1lICIqLmluZm8qInx4YXJncyBybSAt ZgogJXBhdGNoNTQyIC1wMQogJXBhdGNoNTQ3IC1wMQogJXBhdGNoNTQ4IC1wMQorJXBhdGNoNTY1 IC1wMQorJXBhdGNoNTY3IC1wMQogJXBhdGNoNTc5IC1wMQorJXBhdGNoNjE2IC1wMQogJXBhdGNo NjI3IC1wMQogJXBhdGNoNjM0IC1wMQogJXBhdGNoNjUzIC1wMQpAQCAtOTM5LDEzICs5NjksMTcg QEAgZmluZCAtbmFtZSAiKi5pbmZvKiJ8eGFyZ3Mgcm0gLWYKICVwYXRjaDgxOCAtcDEKICVwYXRj aDgzMiAtcDEKICVwYXRjaDg1MiAtcDEKKyVwYXRjaDg2MSAtcDEKICVwYXRjaDg2MyAtcDEKICVw YXRjaDg4NyAtcDEKICVwYXRjaDg4OCAtcDEKICVwYXRjaDkxOCAtcDEKICVwYXRjaDkyNSAtcDEK ICVwYXRjaDkyNyAtcDEKKyVwYXRjaDk3NyAtcDEKICVwYXRjaDk3OCAtcDEKKyVwYXRjaDk4NCAt cDEKKyVwYXRjaDk5MSAtcDEKICVwYXRjaDk5MiAtcDEKICVwYXRjaDEwMjYgLXAxCiAlcGF0Y2gx MDUzIC1wMQpAQCAtMTMwNiwxMCArMTM0MCwxMiBAQCBtYWtlICV7P19zbXBfbWZsYWdzfSBpbnN0 YWxsIERFU1RESVI9JFJQTV9CVUlMRF9ST09UCiAlaWYgMCV7IT9zY2w6MX0KIG1rZGlyIC1wICRS UE1fQlVJTERfUk9PVCV7X3ByZWZpeH0vbGliZXhlYwogbXYgLWYgJFJQTV9CVUlMRF9ST09UJXtf YmluZGlyfS9nZGIgJFJQTV9CVUlMRF9ST09UJXtfcHJlZml4fS9saWJleGVjL2dkYgotIyBSSEVM LTY6IGxuOiBpbnZhbGlkIG9wdGlvbiAtLSAncicKLSMgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQu Y29tL3Nob3dfYnVnLmNnaT9pZD0xMzg0OTQ3Ci0jIGxuIC1zIC1yICRSUE1fQlVJTERfUk9PVCV7 X3ByZWZpeH0vbGliZXhlYy9nZGIgJFJQTV9CVUlMRF9ST09UJXtfYmluZGlyfS9nZGIKKyVpZiAw JXs/cmhlbDoxfSAmJiAwJXs/cmhlbH0gPD0gNgorIyBSSEVMLTY6IGxuOiBpbnZhbGlkIG9wdGlv biAtLSAncic6IGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTM4 NDk0NwogbG4gLXMgJChyZWFscGF0aCAtLXJlbGF0aXZlLXRvPSRSUE1fQlVJTERfUk9PVCV7X2Jp bmRpcn0gJFJQTV9CVUlMRF9ST09UJXtfcHJlZml4fS9saWJleGVjL2dkYikgJFJQTV9CVUlMRF9S T09UJXtfYmluZGlyfS9nZGIKKyVlbHNlCitsbiAtcyAtciAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAkUlBNX0JVSUxEX1JPT1Qle19wcmVmaXh9L2xpYmV4 ZWMvZ2RiICAkUlBNX0JVSUxEX1JPT1Qle19iaW5kaXJ9L2dkYgorJWVuZGlmCiAlZW5kaWYKIAog IyBQcm92aWRlIGdkYnR1aSBmb3IgUkhFTC01IGFuZCBSSEVMLTYgYXMgaXQgaXMgcmVtb3ZlZCB1 cHN0cmVhbSAoQlogNzk3NjY0KS4KQEAgLTE1MzYsNiArMTU3Miw5IEBAIHRoZW4KIGZpCiAKICVj aGFuZ2Vsb2cKKyogVGh1IE9jdCAyMCAyMDE2IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZp bEByZWRoYXQuY29tPiAtIDcuMTItMjYuZmMyNQorLSBBZGQgbWlzc2luZyB0ZXN0Y2FzZXMgcHJl c2VudCBpbiByaGVsNiBHREI7IHNvbWUgc3RpbGwgRkFJTC4KKwogKiBGcmkgT2N0IDE0IDIwMTYg SmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy4xMi0yNS5mYzI1 CiAtIFtyaGVsNl0gRml4IC5zcGVjIHdpdGhvdXQgZGV2dG9vbHNldC02LWJ1aWxkIGluc3RhbGxl ZCAoUkggQlogMTM4NDk0NykuCiAK