MS4gSU5UUk9EVUNUSU9OCgpXaW5lIGVzdCB1biBwcm9ncmFtbWUgcXVpIHBlcm1ldCBkJ2V46WN1dGVyIGxlcyBsb2dpY2llbHMg6WNyaXRzCnBvdXIgTWljcm9zb2Z0IFdpbmRvd3MgKGNvbXByZW5hbnQgbGVzIGV46WN1dGFibGVzIERPUywgV2luZG93cyAzLngKZXQgV2luMzIpIHN1ciB1biBVbml4LiBJbCBlc3QgY29tcG9z6SBkJ3VuIGNoYXJnZXVyIHF1aSBjaGFyZ2UgZXQKZXjpY3V0ZSB1biBiaW5haXJlIE1pY3Jvc29mdCBXaW5kb3dzLCBhaW5zaSBxdWUgZCd1bmUgbGlicmFpcmllIChhcHBlbOllCldpbmVsaWIpIHF1aSBpbXBs6W1lbnRlIGxlcyBhcHBlbHMgZGUgbCdBUEkgZGUgV2luZG93cyBwYXIgbGV1cgrpcXVpdmFsZW50IFVuaXggb3UgWDExLiBDZXR0ZSBsaWJyYWlyaWUgcGV1dCDpZ2FsZW1lbnQg6nRyZSB1dGlsaXPpZQpwb3VyIHBvcnRlciBkdSBjb2RlIFdpbjMyIHZlcnMgdW4gZXjpY3V0YWJsZSBVbml4IG5hdGlmcy4KCldpbmUgZXN0IHVuIGxvZ2ljaWVsIGxpYnJlLCBkaXN0cmlidekgc291cyBHTlUgTEdQTDsgbGlzZXogbGUgZmljaGllcgpMSUNFTkNFIHBvdXIgbGVzIGTpdGFpbHMuCgoyLiBEyU1BUlJBR0UgUkFQSURFCgpN6m1lIHNpIHZvdXMgY29tcGlsZXog4CBwYXJ0aXIgZGVzIHNvdXJjZXMsIGlsIGVzdCByZWNvbW1hbmTpIGQndXRpbGlzZXIKbCdJbnN0YWxsYXRldXIgZGUgV2luZSBwb3VyIGNvbnN0cnVpcmUgZXQgaW5zdGFsbGVyIFdpbmUuIMAgcGFydGlyIGR1CnLpcGVydG9pcmUgbGUgcGx1cyDpbGV26SBkZXMgc291cmNlcyBkZSBXaW5lIChxdWkgY29udGllbnQgY2UgZmljaGllciksCmV46WN1dGV6IDoKCi4vdG9vbHMvd2luZWluc3RhbGwKClBvdXIgZXjpY3V0ZXIgbGVzIHByb2dyYW1tZXMsIHRhcGV6ICJ3aW5lIFtvcHRpb25zXSBwcm9ncmFtbWUiLiBQb3VyIGRlcwppbmZvcm1hdGlvblMgY29tcGzpbWVudGFpcmVzIGV0IGRlcyBy6XNvbHV0aW9ucyBkZSBwcm9ibOhtZXMsIGxpc2V6IGxlCnJlc3RlIGRlIGNlIGZpY2hpZXIsIGxlcyBwYWdlcyAibWFuIiBkZSBXaW5lLCBsZXMgZmljaGllcnMgZGFucyBsZQpy6XBlcnRvaXJlIGRlIGRvY3VtZW50YXRpb24gZGVzIHNvdXJjZXMgZGUgV2luZSAodm9pciAiRE9DVU1FTlRBVElPTiIpLApldCBzdXJ0b3V0IGxlcyBub21icmV1c2VzIGluZm9ybWF0aW9ucyBxdWUgdm91cyB0cm91dmVyZXogc3VyCmh0dHA6Ly93d3cud2luZWhxLm9yZy4KCjMuIENPTkZJR1VSQVRJT04gTslDRVNTQUlSRQoKUG91ciBjb21waWxlciBldCBleOljdXRlciBXaW5lLCB2b3VzIGRldmV6IGF2b2lyIHVuIGRlcyBzeXN06G1lcwpkJ2V4cGxvaXRhdGlvbiBxdWkgc3VpdCA6CgoJTGludXggdmVyc2lvbiAyLjAuMzYgb3Ugc3Vw6XJpZXVyCglGcmVlQlNEIDQueCBvciBGcmVlQlNEIDUtQ1VSUkVOVCBvdSBzdXDpcmlldXIKCVNvbGFyaXMgeDg2IDIuNSBvdSBzdXDpcmlldXIKCU5ldEJTRC1jdXJyZW50CgrJdGFudCBkb25u6SBxdWUgV2luZSBu6WNlc3NpdGUgdW5lIGltcGzpbWVudGF0aW9uIGRlcyAidGhyZWFkcyIgYXUgbml2ZWF1IGR1Cm5veWF1LCBzZXVscyBsZXMgc3lzdOhtZXMgZCdleHBsb2l0YXRpb24gbWVudGlvbm7pcyBjaS1oYXV0IHNvbnQgc3VwcG9ydOlzLgpEJ2F1dHJlcyBzeXN06G1lcyBkJ2V4cGxvaXRhdGlvbiBxdWkgaW1wbOltZW50ZW50IGxlcyAidGhyZWFkcyIgbm95YXUgcGV1dmVudArqdHJlIHN1cHBvcnTpcyBkYW5zIGxlIGZ1dHVyLgoKSW5mb3JtYXRpb24gTGludXggOgogIEJpZW4gcXVlIExpbnV4IDIuMi54IGRldnJhaXQgZW5jb3JlIGZvbnRpb25uZXIgZXQgcXVlIExpbnV4IDIuMC54IHBvdXJyYWl0CiAgZW5jb3JlIG1hcmNoZXIgKGRlcyB2ZXJzaW9ucyBwbHVzIGFuY2llbm5lcyBkZSAyLjAueCBhdmFpZW50IGRlcyBwbGFudGFnZXMKICBk+yBhdXggInRocmVhZHMiKSwgaWwgZXN0IHBy6WbpcmFibGUgZCdhdm9pciB1biBub3lhdSBy6WNlbnQgdGVsIHF1ZSAyLjQueC4KCkluZm9ybWF0aW9uIEZyZWVCU0QgOgogIFdpbmUgZGV2cmFpdCBwb3V2b2lyIOp0cmUgY29tcGls6SBzdXIgRnJlZUJTRCA0LnggZXQgRnJlZUJTRCA1LngsIG1haXMgbGVzCiAgdmVyc2lvbnMgYW506XJpZXVyZXMg4CBGcmVlQlNEIDUuMyBuZSBmb25jdGlvbm5lcm9udCBn6W7pcmFsZW1lbnQgcGFzLgoKICBQbHVzIGQnaW5mb3JtYXRpb24gZXN0IHNpdHXpZSBkYW5zIGwnYXJicmUgZGUgcG9ydHMgOgogIGZ0cDovL2Z0cC5mcmVlYnNkLm9yZy9wdWIvRnJlZUJTRC9wb3J0cy9wb3J0cy9lbXVsYXRvcnMvd2luZS8KCkluZm9ybWF0aW9uIFNvbGFyaXMgOgogIElsIGVzdCBwbHVzIHF1ZSBwcm9iYWJsZSBxdWUgdm91cyBkZXZyZXogY29uc3RydWlyZSBXaW5lIGF2ZWMgbGEgY2hh7m5lCiAgZCdvdXRpbHMgR05VIChnY2MsIGdhcywgZXRjLikuIEF2ZXJ0aXNzZW1lbnQgOiBpbnRhbGxlciBnYXMgbidhc3N1cmUgcGFzCiAgcXUnaWwgc2VyYSB1dGlsaXPpIHBhciBnY2MuICBSZWNvbXBsaWxlciBnY2MgYXBy6HMgbCdpbnN0YWxsYXRpb24gZGUgZ2FzCiAgb3UgY3LpZXIgdW4gbGllbiBzeW1ib2xpcXVlIGRlIGNjLCBhcyBldCBsZCB2ZXJzIGxlcyBvdXRpbHMgR05VIHNlbWJsZQogIG7pY2Vzc2FpcmUuCgpJbmZvcm1hdGlvbiBOZXRCU0QgOgogIEFzc3VyZXotdm91cyBkJ2F2b2lyIGxlcyBvcHRpb25zIFVTRVJfTERULCBTWVNWU0hNLCBTWVNWU0VNLCBhbmQgU1lTVk1TRwogIGVuY2xhbmNo6WVzIGRhbnMgdm90cmUgbm95YXUuCgpTeXN06G1lcyBkZSBmaWNoaWVyIHN1cHBvcnTpcyA6CiAgV2luZSBkZXZyYWl0IGZvbmN0aW9ubmVyIHN1ciBsYSBwbHVwYXJ0IGRlcyBzeXN06G1lcyBkZSBmaWNoaWVyLiBDZXBlbmRhbnQKICBXaW5lIHMnYXJy6nRlcmEgYXUgZOltYXJyYWdlIHNpIHVtc2RvcyBlc3QgdXRpbGlz6SBwb3VyIGxlIHLpcGVydG9pcmUgL3RtcC4KICBRdWVscXVlcyBwcm9ibOhtZXMgZGUgY29tcGF0aWJpbGl06SBvbnQgYXVzc2kg6XTpIHJhcHBvcnTpcyBzdXIKICBsJ3V0aWxpc2F0aW9uIGRlcyBmaWNoaWVycyBhY2PpZOlzIGF1IHRyYXZlcnMgZGUgU2FtYmEuIEVnYWxlbWVudCwgcHVpc3F1ZQogIE5URlMgbmUgcGV1dCDqdHJlIHV0aWxpc+kgZW4gc+ljdXJpdOkgcXUnYXZlYyB1biBhY2PocyBlbiBsZWN0dXJlIHNldWwgcG91cgogIGxlIG1vbWVudCwgbm91cyByZWNvbW1hbmRvbnMgZGUgbmUgcGFzIHV0aWxpc2VyIE5URlMsIHBhcmNlIHF1ZSBsZXMKICBwcm9ncmFtbWVzIFdpbmRvd3Mgb24gYmVzb2luIGRlcyBhY2PocyBlbiDpY3JpdHVyZSBwcmVzcXVlIHBhcnRvdXQuIFNpIHZvdXMKICBhdmV6IGRlcyBmaWNoaWVyIE5URlMsIGNvcGlleiBsZXMgdmVycyB1bmUgbG9jYWxpc2F0aW9uIGFjY2Vzc2libGUgZW4KICDpY3JpdHVyZS4KCkNvbmZpZ3VyYXRpb24gcmVxdWlzZSBkZSBiYXNlIDoKVm91cyBhdmV6IGJlc29pbiBkJ2F2b2lyIGxlcyBmaWNoaWVycyAiaW5jbHVkZSIgZGUgWDExIGluc3RhbGzpcwooYXBwZWzpcyB4bGliNmctZGV2IHBvdXIgRGViaWFuIGV0IFhGcmVlODYtZGV2ZWwgcG91ciBSZWRIYXQpLgoKQ29uZmlndXJhdGlvbiByZXF1aXNlIGRlcyBvdXRpbHMgZGUgY29tcGlsYXRpb24gOgpTdXIgbGVzIHN5c3TobWUgeDg2LCBnY2MgPj0gMi43LjIgZXN0IG7pY2Vzc2FpcmUuIExlcyB2ZXJzaW9ucyBpbmbpcmlldXJlcyDgCmxhIDIuNy4yLjMgcGV1dmVudCBjcullciBkZXMgZW5udWlzIGxvc3JxdWUgY2VydGFpbnMgZmljaGllcnMgc29udCBjb21waWzpcwphdmVjIGwnb3B0aW1pc2F0aW9uLCBzb3V2ZW50IGT7IOAgZGVzIHByb2Js6G1lcyBkZSBnZXN0aW9uIGQnZW4tdOp0ZSBkZSBmaWNoaWVyLgpwZ2NjIG5lIGZvbmN0aW9ubmUgcGFzIGFjdHVlbGxlbWVudCBhdmVjIFdpbmUuIExhIGNhdXNlIGRlIGNlIHByb2Js6G1lIGVzdAppbmNvbm51ZS4KCsl2aWRlbW1lbnQsIHZvdXMgYXVyZXogYmVzb2luIGRlICJtYWtlIiAodHLocyBwcm9iYWJsZW1lbnQgR05VIG1ha2UpLgoKVm91cyBhdXJleiDpZ2FsZW1lbnQgYmVzb2luIGRlIGZsZXggdmVyc2lvbiAyLjUgb3Ugc3Vw6XJpZXVyZSBldCBiaXNvbi4KU2kgdm91cyB1dGlsaXNleiBSZWRIYXQgb3UgRGViaWFuLCBpbnN0YWxsZXogbGVzIHBhcXVldHMgZmxleCBldCBiaXNvbi4KCkxpYnJhaXJpZXMgb3B0aW9ubmVsbGVzIDoKICBTaSB2b3VzIHZvdWxleiB1biBzdXBwb3J0IGQnaW1wcmVzc2lvbiDgIGwnYWlkZSBkZSBDVVBTLCBTVlAgaW5zdGFsbGV6IOAgbGEKICBmb2lzIGxlcyBwYWNrYWdlcyBjdXBzIGV0IGN1cHMtZGV2ZWwuCgpQb3VyIGxhIGNvbmZpZ3VyYXRpb24gbuljZXNzYWlyZSBzaSB2b3VzIGF2ZXogbCdpbnRlbnRpb24gZGUgY29uc3RydWlyZSBsYQpkb2N1bWVudGF0aW9uIHZvdXMtbeptZSB2b3lleiBsYSBzZWN0aW9uICJET0NVTUVOVEFUSU9OIi4KCjQuIENPTVBJTEFUSU9OCgpBdSBjYXMgb/kgdm91cyBjaG9pc2lzc2V6IGRlIG5lIHBhcyB1dGlsaXNlciB3aW5laW5zdGFsbCwgZXjpY3V0ZXIgbGVzIGNvbS0KbWFuZGVzIHN1aXZhbnRlcyBwb3VyIGNvbnN0cnVpcmUgV2luZSA6CgouL2NvbmZpZ3VyZQptYWtlIGRlcGVuZAptYWtlCgpDZWxhIHZhIGNvbnN0dWlyZSBsZSBwcm9ncmFtbWUgIndpbmUiIGV0IGRlIG5vbWJyZXV4IGJpbmFpcmVzL2xpYnJhaXJpZXMgZGUKc3VwcG9ydC4KTGUgcHJvZ3JhbW1lICJ3aW5lIiBjaGFyZ2VyYSBldCBleOljdXRlcmEgbGVzIGV46WN1dGFibGVzIFdpbmRvd3MuCkxhIGxpYnJhaXJpZSAibGlid2luZSIgKCJXaW5lbGliIikgcGV1dCDqdHJlIHV0aWxpc+llIHBvdXIgY29tcGlsZXIgZXQgbGllcgpsZSBjb2RlIHNvdXJjZSBXaW5kb3dzIHNvdXMgVW5peC4KClBvdXIgdm9pciBsZXMgb3B0aW9ucyBkZSBjb21waWxhdGlvbiwgdGFwZXogLi9jb25maWd1cmUgLS1oZWxwLgoKUG91ciBtZXR0cmUg4CBqb3VyIHVuZSBub3V2ZWxsZSB2ZXJzaW9uIGVuIHV0aWxpc2FudCBsZXMgZmljaGllcnMgcGF0Y2gsIHRvdXQKZCdhYm9yZCBhbGxlciBkYW5zIGxlIHLpcGVydG9pcmUgZGUgcGx1cyBoYXV0IG5pdmVhdSBkZSBsYSB2ZXJzaW9uIGFjdHVlbGxlCihjZWx1aSBxdWkgY29udGllbnQgY2UgZmljaGllciBSRUFETUUuZnIpLiBFbnN1aXRlIGZhaXJlIHVuICJtYWtlIGNsZWFuIiwgZXQKcGF0Y2hlciBsYSB2ZXJzaW9uIGF2ZWMgOgoKICAgIGd1bnppcCAtYyBwYXRjaC1maWxlIHwgcGF0Y2ggLXAxCgpBdmVjICJwYXRjaC1maWxlIiBxdWkgZXN0IGxlIG5vbSBkdSBmaWNoaWVyIGRlIHBhdGNoZSAocXVlbHF1ZSBjaG9zZSBkZQpzaW1pbGFpcmUg4CBXaW5lLXl5bW1kZC5kaWZmLmd6KS4gVm91cyBwb3V2ZXogculleOljdXRlciAiLi9jb25maWd1cmUiLCBldAplbnN1aXRlIHRhcGVyICJtYWtlIGRlcGVuZCAmJiBtYWtlIi4KCjUuIFNFVFVQCgpVbiBmb2lzIHF1ZSBXaW5lIGEg6XTpIGNvbnN0cnVpdCBjb3JyZWN0ZW1lbnQsIHZvdXMgcG91dmV6IHRhcGV6ICJtYWtlIGluc3RhbGwiOwpjZWxhIGluc3RhbGxlcmEgbCdleOljdXRhYmxlIHdpbmUsIGxlcyBwYWdlcyBtYW4gV2luZSBldCBxdWVscXVlcyBhdXRyZXMgZmljaGllcnMKbuljZXNzYWlyZXMuCgpOJ291YmxpZXogcGFzIGRlIGTpc2luc2F0bGxlciB0b3V0ZXMgbGVzIGluc3RhbGxhdGlvbnMgcHLpY+lkYW50ZXMgZGUgd2luZS4KRXNzYXlleiBzb2l0ICJkcGtnIC1yIHdpbmUiLCAicnBtIC1lIHdpbmUiIG91ICJtYWtlIHVuaW5zdGFsbCIgYXZhbnQKZCdpbnN0YWxsZXIuCgpTaSB2b3UgZOlzaXJleiBsaXJlIGxhIGRvY3VtZW50YXRpb24gZm91cm5pZSBhdmVjIGxlcyBzb3VyY2VzIGRlIFdpbmUsIHZveWV6IGxhCnNlY3Rpb24gIkRPQ1VNRU5UQVRJT04iLgoKV2luZSBhIGJlc29pbiBkJ3VuIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBub21t6SAiY29uZmlnIiBkYW5zIHZvdHJlIHLpcGVydG9pcmUKfi8ud2luZS4gTGUgZm9ybWF0IGRlIGNlIGZpY2hpZXIgZXN0IGV4cGxpcXXpIGRhbnMgbGEgcGFnZSBtYW4gZHUgZmljaGllciBkZQpjb25maWd1cmF0aW9uIChkb2N1bWVudGF0aW9uL3dpbmUuY29uZi5tYW4pLgpMZSBmaWNoaWVyIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcgY29udGllbnQgdW4gZXhlbXBsZSBkZSBmaWNoaWVyIGRlCmNvbmZpZ3VyYXRpb24gcXVpIGRvaXQg6nRyZSBhZGFwdOkgZXQgY29waekgdmVycyBsYSBsb2NhbGlzYXRpb24gbWVudGlvbm7pZQpjaS1kZXNzdXMuCgpOYXZpZ3VleiBkYW5zIGxhIHNlY3Rpb24gU3VwcG9ydCDgIGh0dHA6Ly93d3cud2luZWhxLm9yZy8gcG91ciBwbHVzIGQnYXN0dWNlcwpkZSBjb25maWd1cmF0aW9uLgoKRW4gY2FzIGQnZXJyZXVyIGRlIGNoYXJnZW1lbnQgZGUgbGlicmFpcmllIChwYXIgZXhlbXBsZQoiRXJyb3Igd2hpbGUgbG9hZGluZyBzaGFyZWQgbGlicmFyaWVzOiBsaWJudGRsbC5zbyIpLCBhc3N1cmV6IHZvdXMgZCdham91dGVyCmxlIGNoZW1pbiBkZXMgbGlicmFpcmllcyDgIC9ldGMvbGQuc28uY29uZiBldCBleOljdXRlciBsZGNvbmZpZyBlbiB0YW50IHF1ZSByb290LgoKNi4gRVjJQ1VURVIgREVTIFBST0dSQU1NRVMKCkxvcnNxdWUgbCdvbiBpbnZvcXVlIFdpbmUsIHZvdXMgcG91dmV6IHNw6WNpZmllciBsZSBjaGVtaW4gZW50aWVyIHZlcnMKbCdleOljdXRhYmxlIG91IHNldWxlbWVudCBsZSBub20gZGUgZmljaGllci4KClBvdXIgZXjpY3V0ZXIgU29saXRhaXJlIHBhciBleGVtcGxlIDoKCgl3aW5lIHNvbAkJICAgKGVuIHV0aWxpc2FudCBsZSBjaGVtaW4gZCdhY2PocyBzcOljaWZp6QoJd2luZSBzb2wuZXhlCQkJZGFucyBsZSBmaWNoaWVyICJjb25maWciIHBvdXIgbG9jYWxpc2VyCgkJCQkJbGUgZmljaGllcikKCgl3aW5lIGM6XFx3aW5kb3dzXFxzb2wuZXhlICAoZW4gdXRpbGlzYW50IGxhIHN5bnRheGUgZGUgZmljaGllcnMgRE9TKQoKCXdpbmUgL3Vzci93aW5kb3dzL3NvbC5leGUgIChlbiB1dGlsaXNhbnQgbGEgc3ludGF4ZSBkZSBmaWNoaWVycyBVbml4KQoKCXdpbmUgc29sLmV4ZSAvcGFyYW1ldHJlMSAtcGFyYW1ldHJlMiBwYXJhbWV0cmUzCgkJCShlbiBhcHBlbGFudCBsZSBwcm9ncmFtbWUgYXZlYyBkZXMgcGFyYW3odHJlcykKCk5vdGU6IGxlIGNoZW1pbiBkdSBmaWNoaWVyIHNlcmEg6WdhbGVtZW50IGFkZGl0aW9ubukgYXUgY2hlbWluIHBhciBk6WZhdXQKICAgICAgbG9yc3F1ZSBsZSBub20gZW50aWVyIGVzdCDpY3JpdCBzdXIgbGEgbGlnbmUgZGUgY29tbWFuZGUuCgpXaW5lIG4nZXN0IHBhcyBlbmNvcmUgY29tcGxldCwgYWluc2kgcXVlbHF1ZSBwcm9ncmFtbWVzIHBldXZlbnQgcGxhbnRlci4gU2Vsb24KcXVlIHZvdXMgYXZleiBpbnN0YWxs6SBjb3JyZWN0ZW1lbnQgd2luZWRiZyBkJ2FwcuhzIGRvY3VtZW50YXRpb24vZGVidWdnZXIuc2dtbCwKdm91cyBlbnRyZXJleiBkYW5zIGxlIGTpYm9ndWV1ciB2b3VzIHBlcm1ldHRhbnQgZCdlbnF16nRlciBldCBkZSBy6XNvdWRyZSBsZQpwcm9ibOhtZS4gUG91ciBwbHVzIGQnaW5mb3JtYXRpb24gc3VyIGxhIG1hbmnocmUgZGUgbGUgZmFpcmUsIHZldWlsbGV6IGxpcmUKbGUgZmljaGllciBkb2N1bWVudGF0aW9uL2RlYnVnZ2luZy5zZ21sLgoKVm91cyBkZXZyaWV6IHNhdXZlZ2FyZGVyIHRvdXMgdm9zIGZpY2hpZXIgaW1wb3J0YW50IGF1cXVlbHMgdm91cyBkb25uZXogYWNj6HMK4CBXaW5lIG91IHV0aWxpc2VyIHVuZSBjb3BpZSBzcOljaWFsZSBwb3VyIFdpbmUsIHB1aXNxdWUgZGFucyBjZXJ0YWluIGNhcyBkZXMKdXRpbGlzYXRldXJzIG9udCByYXBwb3J06SBkZXMgY29ycnVwdGlvbnMgZGUgZmljaGllcnMuIE5lIFBBUwrpeOljdXRlciBsJ0V4cGxvcmF0ZXVyLCBwYXIgZXhlbXBsZSwgc2kgdm91cyBuJ2F2ZXogcGFzIHVuZSBjb3BpZSBwcm9wcmUsCnB1aXNxdWUgaWwgcmVub21tZS9jb3Jyb21wdCBwYXJmb2lzIHBsdXNpZXVycyBy6XBlcnRvaXJlcy4gTeptZSBjZXJ0YWluZXMKYXBwbGljYXRpb24gTVMgdGVsbGUgTWVzc2VuZ2VyIHBhciBleGVtcGxlIG5lIHNvbnQgcGFzIHP7cmVzIHB1aXNxdSdlbGxlCnBldXZlbnQgbGFuY2VyIGwnRXhwbG9yYXRldXIgZGFucyBjZXJ0YWlucyBjYXMuIENlcnRhaW5lcyBjb3JydXB0aW9ucwpwYXJ0aWN1bGnocmVzIHRlbGxlICghJCEkISQhJC5wZnIpIHBldXQgZHUgbW9pbnMg6nRyZSBwYXJ0aWVsbGVtZW50CmZpeOllIGVuIHV0aWxpc2FudCBsYSBt6XRob2RlIGTpY3JpdGUgcGFyCmh0dHA6Ly9ob21lLm5leGdvLmRlL2FuZGkubW9oci9kb3dubG9hZC9kZWNvcnJ1cHRfZXhwbG9yZXIKCjcuIERPQ1VNRU5UQVRJT04KCkNlcnRhaW5lcyBkb2N1bWVudGF0aW9ucyAoZGl2ZXJzIEd1aWRlcyBXaW5lIGV0YykgcGV1dmVudCDqdHJlIHRyb3V26WVzIGRhbnMKbGUgculwZXJ0b2lyZSBkb2N1bWVudGF0aW9uLyAo4CBwYXJ0IGNldXggZGlzcG9uaWJsZXMg6WdhbGVtZW50IHN1ciBXaW5lSFEpCgpTaSB2b3Ugdm91bGV6IGNvbnN0cnVpcmUgbGVzIGZpY2hpZXIgU0dNTCBpY2ksIHZvdXMgcG91dmV6IGV46WN1dGVyIGxhCmNvbW1hbmRlICJtYWtlIGRvYyIgZGFucyBsZSBy6XBlcnRvaXJlIGRvY3VtZW50YXRpb24vLgpQb3VyIGxlIGZhaXJlIHZvdXMgYXVycmV6IGJlc29pbiBkZXMgb3V0aWxzIGR1IHBhY2thZ2Ugc2dtbCAocG91ciBkYjJodG1sLApkYjJwcywgZGIycGRmKSBub21t6XMgOgpEZWJpYW46CQlkb2Nib29rLXV0aWxzCk1hbmRyYWtlOglzZ21sLXRvb2xzLUEuQi5DLUREbWRrClN1U0U6CQlkb2Nia3Rscy1BLkJCLkMtREQKCjguIE9QVEVOSVIgUExVUyBEJ0lORk9STUFUSU9OUwoKV1dXOglCYXVjb3VwIGQnaW5mb3JtYXRpb25zIOAgcHJvcG9zIGRlIFdpbmUgc29udCBkaXNwb25pYmxlcyBzdXIgV2luZUhRIOAKCWh0dHA6Ly93d3cud2luZWhxLm9yZy8gOiBkaXZlcnMgR3VpZGVzIFdpbmUsIGJhc2UgZGUgZG9ubullCglkJ2FwcGxpY2F0aW9ucywgc3Vpdml0IGRlIGJvZ3Vlcy4gQydlc3QgcHJvYmFibGVtZW50IGxlIG1laWxsZXVyIHBvaW50CglkZSBk6XBhcnQuCgpGQVE6CUxhIEZvaXJlIEF1eCBRdWVzdGlvbnMgZGUgV2luZSBlc3QgbG9jYWxpc+llIOAgOgoJaHR0cDovL3d3dy53aW5laHEub3JnL0ZBUQoKVXNlbmV0OglWb3VzIHBvdXZleiBwYXJsZXIgZGVzIHByb2Js6G1lcyBvdSBy6XNvbHV0aW9ucyBlbiByZWxhdGlvbiBhdmVjIFdpbmUKCW91IG9wdGVuaXIgZGUgbCdhaWRlIHN1ciBjb21wLmVtdWxhdG9ycy5tcy13aW5kb3dzLndpbmUuCgpCdWdzOglSYXBwb3J0ZXogbGVzIGJvZ3VlcyDgIFdpbmUgQnVnemlsbGEg4CBodHRwOi8vYnVncy53aW5laHEub3JnCglTVlAgY2hlcmNoZXogdG91dCBkJ2Fib3JkIGRhbnMgbGEgYmFzZSBkZSBkb25u6WUgZGUgYnVnemlsbGEKCXBvdXIgY29udHL0bGVyIHF1ZSBsZSBwcm9ibOhtZSBuJ2VzdCBwYXMgZOlq4CBk6WNvdXZlcnQgYXZhbnQKCWRlIHBvc3RlciB1biByYXBwb3J0IGRlIGJvZ3VlLiBWb3VzIHBvdXZleiDpZ2FsZW1lbnQgcmFwcG9ydGVyCglkZXMgcmFwcG9ydHMgZGUgYm9ndWUg4CBjb21wLmVtdWxhdG9ycy5tcy13aW5kb3dzLndpbmUuCglTVlAgbGlzZXogbGUgZmljaGllciBkb2N1bWVudGF0aW9uL2J1Z3Muc2dtbCBwb3VyIGNvbm5h7nRyZSBsZXMKCWluZm9ybWF0aW9ucyBu6WNlc3NhaXJlcy4KCklSQzoJTCdhaWRlIGVuIGxpZ25lIGVzdCBkaXNwb25pYmxlIHN1ciBsZSBjYW5uYWwgI1dpbmVIUSBzdXIKCWlyYy5mcmVlbm9kZS5uZXQuCgpDVlM6CUwnYXJicmUgZGUgZOl2ZWxvcHBlbWVudCBhY3R1ZWwgZGUgV2luZSBlc3QgZGlzcG9uaWJsZSBhdSB0cmF2ZXJzCglkZSBDVlMuCglBbGxleiBzdXIgaHR0cDovL3d3dy53aW5laHEub3JnL2N2cyBwb3VyIHBsdXMgZCdpbmZvcm1hdGlvbnMKCk1haWxpbmcgbGlzdHM6CglJbCBleGlzdGUgZGUgbXVsdGlwbGVzIG1haWxpbmcgbGlzdHMgcG91ciBsZXMgZOl2ZWxvcHBldXJzIGRlIFdpbmU7CglyZXBwb3J0ZXotdm91cyDgIGh0dHA6Ly93d3cud2luZWhxLm9yZy9mb3J1bXMgcG91ciBkZSBwbHVzCglhbXBsZXMgaW5mb3JtYXRpb25zLgoKU2kgdm91cyBham91dGV6IHF1ZWxxdWVjaG9zZSBvdSBmaXhleiB1biBib2d1ZSwgZW52b3lleiB1biBwYXRjaCAoZGFucyBsZQpmb3JtYXQgJ2RpZmYgLXUnICkg4CBsYSBsaXN0ZSBkZSBkaWZmdXNpb24gd2luZS1wYXRjaGVzQHdpbmVocS5vcmcgIHBvdXIgc29uCmluY2x1c2lvbiBkYW5zIGxhIHByb2NoYWluZSB2ZXJzaW9uLgoKLS0KQWxleGFuZHJlIEp1bGxpYXJkCmp1bGxpYXJkQHdpbmVocS5vcmcK