ZGlmZiAtLWdpdCBhL2puaS9saWJleHBhdC9NYWtlZmlsZS5NUFcgYi9qbmkvbGliZXhwYXQvTWFrZWZpbGUuTVBXCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0NmFmMDAKLS0tIC9kZXYvbnVsbAorKysgYi9qbmkvbGliZXhwYXQvTWFrZWZpbGUuTVBXCkBAIC0wLDAgKzEsMjA2IEBACisjICAgRmlsZTogICAgICAgTWFrZWZpbGUuTVBXCisjICAgVGFyZ2V0czogICAgQWxsLCBEeW5hbWljLCBTdGF0aWMgKGFuZCBDbGVhbiwgQ2xlYW4tQWxsKQorIyAgIENyZWF0ZWQ6ICAgIFR1ZXNkYXksIEp1bHkgMDIsIDIwMDIKKyMKKyMgICBNUFcgTWFrZWZpbGUgZm9yIGJ1aWxkaW5nIGV4cGF0IHVuZGVyIHRoZSAiY2xhc3NpYyIgKGkuZS4gcHJlLVgpIE1hYyBPUworIyAgIENvcHlyaWdodCCpIDIwMDIgRGFyeWxlIFdhbGtlcgorIyAgIFBvcnRpb25zIENvcHlyaWdodCCpIDIwMDIgVGhvbWFzIFdlZ25lcgorIyAgIFNlZSB0aGUgQ09QWUlORyBmaWxlIGZvciBkaXN0cmlidXRpb24gaW5mb3JtYXRpb24KKyMKKyMgICBEZXNjcmlwdGlvbjogCisjICAgVGhpcyBNYWtlZmlsZSBsZXRzIHlvdSBidWlsZCBzdGF0aWMsIGR5bmFtaWMgKGkuZS4gc2hhcmVkKSBhbmQgc3R1YiAKKyMgICB2ZXJzaW9ucyBvZiB0aGUgZXhwYXQgbGlicmFyeSBhcyB3ZWxsIGFzIHRoZSBlbGVtZW50cy5jIGFuZCBvdXRsaW5lLmMgCisjICAgZXhhbXBsZXMgKGJ1aWx0IGFzIHRvb2xzIGZvciBNUFcpLiBUaGlzIGlzIGZvciBQUEMgb25seTsgaXQgc2hvdWxkIGJlIAorIyAgIG5vIHByb2JsZW0gdG8gYnVpbGQgYSA2OEsgdmVyc2lvbiBvZiB0aGUgZXhwYXQgbGlicmFyeSwgdGhvdWdoLgorIworIyAJVXNhZ2U6IAorIwkJCSAgICAgICBCdWlsZHByb2dyYW0gQWxsCisjCQkJIG9yICAgIEJ1aWxkcHJvZ3JhbSBEeW5hbWljCisjCQkJIG9yICAgIEJ1aWxkcHJvZ3JhbSBTdGF0aWMKKyMKKyMgICBOb3RlOiBZb3UgZmlyc3QgaGF2ZSB0byByZW5hbWUgdGhpcyBmaWxlIHRvICJNYWtlZmlsZSIsIG9yIHRoZSBCdWlsZHByb2dyYW0gCisjICAgICAgICAgY29tbWFuZG8gd2lsbCBub3QgcmVjb2duaXplIGl0LgorIworCitNQUtFRklMRSAgICAgICAgPSBNYWtlZmlsZQorpU1vbmRvQnVpbGSlICAgID0ge01BS0VGSUxFfSAgIyBNYWtlIGJsYW5rIHRvIGF2b2lkIHJlYnVpbGRzIHdoZW4gbWFrZWZpbGUgaXMgbW9kaWZpZWQKKworT2JqRGlyICAgICAgICAgID0gOgorU3JjRGlyICAgICAgICAgID0gOgorSGRyRGlyICAgICAgICAgID0gOgorCitUb29sRGlyICAgICAgICAgPSA6OmV4YW1wbGVzOgorCitJbmNsdWRlcyAgICAgICAgPSAtaSB7SGRyRGlyfQorCitTeW0tUFBDICAgICAgICAgPSAtc3ltIG9mZgorCitEZWZpbmVzICAgICAgICAgPSAtZCBNQUNPU19DTEFTU0lDCisKK1BQQ0NPcHRpb25zICAgICA9IHtJbmNsdWRlc30ge1N5bS1QUEN9IC13IDM1IHtEZWZpbmVzfQorCitGcmFnTmFtZSAgICAgICAgPSBsaWJleHBhdAorCisKKyMjIyBTb3VyY2UgRmlsZXMgIyMjCisKK1NyY0ZpbGVzICAgICAgICA9ICC2CisJCQkJICAie1NyY0Rpcn14bWxwYXJzZS5jIiC2CisJCQkJICAie1NyY0Rpcn14bWxyb2xlLmMiILYKKwkJCQkgICJ7U3JjRGlyfXhtbHRvay5jIgorCitUb29sU3JjRmlsZXMgICAgPSAgtgorCQkJCSAgIntUb29sRGlyfWVsZW1lbnRzLmMiILYKKwkJCQkgICJ7VG9vbERpcn1vdXRsaW5lLmMiCisKKworIyMjIE9iamVjdCBGaWxlcyAjIyMKKworT2JqRmlsZXMtUFBDICAgID0gILYKKwkJCQkgICJ7T2JqRGlyfXhtbHBhcnNlLmMubyIgtgorCQkJCSAgIntPYmpEaXJ9eG1scm9sZS5jLm8iILYKKwkJCQkgICJ7T2JqRGlyfXhtbHRvay5jLm8iCisKK0VsZW1lbnRUb29sT2JqRmlsZSAgID0gICJ7T2JqRGlyfWVsZW1lbnRzLmMubyIKKworT3V0bGluZVRvb2xPYmpGaWxlICAgPSAgIntPYmpEaXJ9b3V0bGluZS5jLm8iCisKKworIyMjIExpYnJhcmllcyAjIyMKKworU3RMaWJGaWxlcy1QUEMgICAgPSAgtgorCQkJCSAgIntQUENMaWJyYXJpZXN9U3RkQ1J1bnRpbWUubyIgtgorCQkJCSAgIntQUENMaWJyYXJpZXN9UFBDQ1J1bnRpbWUubyIgtgorCQkJCSAgIntQUENMaWJyYXJpZXN9UFBDVG9vbExpYnMubyIKKworU2hMaWJGaWxlcy1QUEMgICAgPSAgtgorCQkJCSAgIntTaGFyZWRMaWJyYXJpZXN9SW50ZXJmYWNlTGliIiC2CisJCQkJICAie1NoYXJlZExpYnJhcmllc31TdGRDTGliIiC2CisJCQkJICAie1NoYXJlZExpYnJhcmllc31NYXRoTGliIgorCitMaWJGaWxlcy1QUEMgICAgPSAgtgorCQkJCSAge1N0TGliRmlsZXMtUFBDfSC2CisJCQkJICB7U2hMaWJGaWxlcy1QUEN9CisKKworIyMjIFNwZWNpYWwgRmlsZXMgIyMjCisKK0V4cG9ydEZpbGUgICAgICA9ICJ7T2JqRGlyfXtGcmFnTmFtZX0uZXhwIgorCitTdExpYkZpbGUgICAgICAgPSAie09iakRpcn17RnJhZ05hbWV9Lk1yQy5vIgorCitTaExpYkZpbGUgICAgICAgPSAie09iakRpcn17RnJhZ05hbWV9IgorCitTdHViRmlsZSAgICAgICAgPSAie09iakRpcn17RnJhZ05hbWV9LnN0dWIiCisKK0VsZW1lbnRzVG9vbCAgICA9ICJ7VG9vbERpcn1lbGVtZW50cyIKKworT3V0bGluZVRvb2wgICAgID0gIntUb29sRGlyfW91dGxpbmUiCisKKworIyMjIERlZmF1bHQgUnVsZXMgIyMjCisKKy5jLm8gIMQgIC5jICB7pU1vbmRvQnVpbGSlfQorCXtQUENDfSB7ZGVwRGlyfXtkZWZhdWx0fS5jIC1vIHt0YXJnRGlyfXtkZWZhdWx0fS5jLm8ge1BQQ0NPcHRpb25zfQorCisKKyMjIyBCdWlsZCBSdWxlcyAjIyMKKworQWxsICDEICBEeW5hbWljIHtFbGVtZW50c1Rvb2x9IHtPdXRsaW5lVG9vbH0KKworU3RhdGljICDEICB7U3RMaWJGaWxlfQorCitEeW5hbWljICDEICBTdGF0aWMge1NoTGliRmlsZX0ge1N0dWJGaWxlfQorCit7U3RMaWJGaWxlfSAgxMQgIHtPYmpGaWxlcy1QUEN9IHtTdExpYkZpbGVzLVBQQ30ge6VNb25kb0J1aWxkpX0KKwlQUENMaW5rILYKKwkJLW8ge1Rhcmd9ILYKKwkJe09iakZpbGVzLVBQQ30gtgorCQl7U3RMaWJGaWxlcy1QUEN9ILYKKwkJe1N5bS1QUEN9ILYKKwkJLW1mIC1kILYKKwkJLXQgJ1hDT0YnILYKKwkJLWMgJ01QUyAnILYKKwkJLXhtIGwKKwore1NoTGliRmlsZX0gIMTEICB7U3RMaWJGaWxlfSB7U2hMaWJGaWxlcy1QUEN9IHtFeHBvcnRGaWxlfSB7pU1vbmRvQnVpbGSlfQorCVBQQ0xpbmsgtgorCQktbyB7VGFyZ30gtgorCQl7U3RMaWJGaWxlfSC2CisJCXtTaExpYkZpbGVzLVBQQ30gtgorCQl7U3ltLVBQQ30gtgorCQktQGV4cG9ydCB7RXhwb3J0RmlsZX0gtgorCQktZnJhZ25hbWUge0ZyYWdOYW1lfSC2CisJCS1tZiAtZCC2CisJCS10ICdzaGxiJyC2CisJCS1jICc/Pz8/JyC2CisJCS14bSBzCisKK3tTdHViRmlsZX0gIMTEICB7U2hMaWJGaWxlfSB7pU1vbmRvQnVpbGSlfQorCXNobGIyc3R1YiAtbyB7VGFyZ30ge1NoTGliRmlsZX0KKwore0VsZW1lbnRzVG9vbH0gIMTEICB7RWxlbWVudFRvb2xPYmpGaWxlfSB7U3R1YkZpbGV9IHtMaWJGaWxlcy1QUEN9IHulTW9uZG9CdWlsZKV9CisJUFBDTGluayC2CisJCS1vIHtUYXJnfSC2CisJCXtFbGVtZW50VG9vbE9iakZpbGV9ILYKKwkJe1N0TGliRmlsZX0gtgorCQl7TGliRmlsZXMtUFBDfSC2CisJCXtTeW0tUFBDfSC2CisJCS1tZiAtZCC2CisJCS10ICdNUFNUJyC2CisJCS1jICdNUFMgJworCit7T3V0bGluZVRvb2x9ICDExCAge091dGxpbmVUb29sT2JqRmlsZX0ge1N0dWJGaWxlfSB7TGliRmlsZXMtUFBDfSB7pU1vbmRvQnVpbGSlfQorCVBQQ0xpbmsgtgorCQktbyB7VGFyZ30gtgorCQl7T3V0bGluZVRvb2xPYmpGaWxlfSC2CisJCXtTdExpYkZpbGV9ILYKKwkJe0xpYkZpbGVzLVBQQ30gtgorCQl7U3ltLVBQQ30gtgorCQktbWYgLWQgtgorCQktdCAnTVBTVCcgtgorCQktYyAnTVBTICcKKworCisjIyMgU3BlY2lhbCBSdWxlcyAjIyMKKwore0V4cG9ydEZpbGV9ICDExCAgIntIZHJEaXJ9ZXhwYXQuaCIge6VNb25kb0J1aWxkpX0KKwlTdHJlYW1FZGl0IC1kILYKKwkJLWUgIi+lKCdYTUxQQVJTRUFQSSgnxScpICcpxzAsMcgnWE1MXycoW0EtWmEtejAtOV9dKymoMScoJy8gUHJpbnQgJ1hNTF8nIKgxIiC2CisJCSJ7SGRyRGlyfWV4cGF0LmgiID4ge1Rhcmd9CisKKworIyMjIFJlcXVpcmVkIERlcGVuZGVuY2llcyAjIyMKKworIntPYmpEaXJ9eG1scGFyc2UuYy5vIiAgxCAgIntTcmNEaXJ9eG1scGFyc2UuYyIKKyJ7T2JqRGlyfXhtbHJvbGUuYy5vIiAgxCAgIntTcmNEaXJ9eG1scm9sZS5jIgorIntPYmpEaXJ9eG1sdG9rLmMubyIgIMQgICJ7U3JjRGlyfXhtbHRvay5jIgorCisie09iakRpcn1lbGVtZW50cy5jLm8iICDEICJ7VG9vbERpcn1lbGVtZW50cy5jIgorIntPYmpEaXJ9b3V0bGluZS5jLm8iICDEICJ7VG9vbERpcn1vdXRsaW5lLmMiCisKKworIyMjIE9wdGlvbmFsIERlcGVuZGVuY2llcyAjIyMKKyMjIyBCdWlsZCB0aGlzIHRhcmdldCB0byBjbGVhbiBvdXQgZ2VuZXJhdGVkIGludGVybWVkaWF0ZSBmaWxlcy4gIyMjCisKK0NsZWFuICDECisJRGVsZXRlIHtPYmpGaWxlcy1QUEN9IHtFeHBvcnRGaWxlfSB7RWxlbWVudFRvb2xPYmpGaWxlfSB7T3V0bGluZVRvb2xPYmpGaWxlfQorCisjIyMgQnVpbGQgdGhpcyB0YXJnZXQgdG8gY2xlYW4gb3V0IGFsbCBnZW5lcmF0ZWQgZmlsZXMuICMjIworCitDbGVhbi1BbGwgIMQgIENsZWFuCisJRGVsZXRlIHtTdExpYkZpbGV9IHtTaExpYkZpbGV9IHtTdHViRmlsZX0ge0VsZW1lbnRzVG9vbH0ge091dGxpbmVUb29sfQorCisjIyMgQnVpbGQgdGhpcyB0YXJnZXQgdG8gZ2VuZXJhdGUgImluY2x1ZGUgZmlsZSIgZGVwZW5kZW5jaWVzLiAjIyMKKworRGVwZW5kZW5jaWVzICDEICAkT3V0T2ZEYXRlCisJTWFrZURlcGVuZCC2CisJCS1hcHBlbmQge01BS0VGSUxFfSC2CisJCS1pZ25vcmUgIntDSW5jbHVkZXN9IiC2CisJCS1vYmpkaXIgIntPYmpEaXJ9IiC2CisJCS1vYmpleHQgLm8gtgorCQl7RGVmaW5lc30gtgorCQl7SW5jbHVkZXN9ILYKKwkJe1NyY0ZpbGVzfQorCisK