IiBNZW51IFRyYW5zbGF0aW9uczogUG9ydHVndepzCiIgYWRhcHRhZG8gZGUgcHRfYnIuCiIgTWFpbnRhaW5lcjogRHVhcnRlIEhlbnJpcXVlcyA8ZHVhcnRlX2hlbnJpcXVlc0BteXJlYWxib3guY29tPgoKIiBRdWl0IHdoZW4gbWVudSB0cmFuc2xhdGlvbnMgaGF2ZSBhbHJlYWR5IGJlZW4gZG9uZS4KaWYgZXhpc3RzKCJkaWRfbWVudV90cmFucyIpCglmaW5pc2gKZW5kaWYKbGV0IGRpZF9tZW51X3RyYW5zID0gMQoKIiBUcmFuc2xhdGlvbnMgaW4gbGF0aW4xIChJU08tODg1OS0xKSwgYW5kIHNob3VsZCB3b3JrIGluCiIgbGF0aW45IChJU08tODg1OS0xNSkKCmlmICZlbmMgIT0gImNwMTI1MiIgJiYgJmVuYyAhPSAiaXNvLTg4NTktMTUiCglzY3JpcHRlbmNvZGluZyBsYXRpbjEKZW5kaWYKCiIgSGVscCBtZW51Cm1lbnV0cmFucyAmSGVscAkJCUEmanVkYQptZW51dHJhbnMgJk92ZXJ2aWV3PFRhYj48RjE+CSZDb250ZfpkbwptZW51dHJhbnMgJlVzZXJcIE1hbnVhbAkJJk1hbnVhbFwgZG9cIFV0aWxpemFkb3IKbWVudXRyYW5zICZIb3ctdG9cIGxpbmtzCSZDb21vXCBmYXplcj8KbWVudXRyYW5zICZGaW5kXC5cLlwuCQkmUHJvY3VyYXJcLlwuXC4KbWVudXRyYW5zICZDcmVkaXRzCQkmQ3LpZGl0b3MKbWVudXRyYW5zIE8mcnBoYW5zCQkm03Jm429zCm1lbnV0cmFucyBDbyZweWluZwkJJkxpY2Vu52EKbWVudXRyYW5zICZWZXJzaW9uCQkmVmVyc+NvCm1lbnV0cmFucyAmQWJvdXQJCSZTb2JyZQoKIiBGaWxlIG1lbnUKbWVudXRyYW5zICZGaWxlCQkJCSZGaWNoZWlybwptZW51dHJhbnMgJk9wZW5cLlwuXC48VGFiPjplCQlBJmJyaXJcLlwuXC48VGFiPjplCm1lbnV0cmFucyBTcCZsaXQtT3BlblwuXC5cLjxUYWI+OnNwCUFicmlyXCBub3V0cmFcICZqYW5lbGFcLlwuXC48VGFiPjpzcAptZW51dHJhbnMgJk5ldzxUYWI+OmVuZXcJCSZOb3ZvPFRhYj46ZW5ldwptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2xvc2UJCSZGZWNoYXI8VGFiPjpjbG9zZQptZW51dHJhbnMgJlNhdmU8VGFiPjp3CQkJJkd1YXJkYXI8VGFiPjp3Cm1lbnV0cmFucyBTYXZlXCAmQXNcLlwuXC48VGFiPjpzYXYJR3UmYXJkYXJcIGNvbW9cLlwuXC48VGFiPjpzYXYKbWVudXRyYW5zIFNwbGl0XCAmRGlmZlwgd2l0aFwuXC5cLgkmRXhpYmlyXCBkaWZlcmVu52FzXCBjb21cLlwuXC4KbWVudXRyYW5zIFNwbGl0XCBQYXRjaGVkXCAmQnlcLlwuXC4JRXgmaWJpclwgcGF0Y2hlYWRvXCBwb3JcLlwuXC4KbWVudXRyYW5zICZQcmludAkJCUltJnByaW1pcgptZW51dHJhbnMgU2EmdmUtRXhpdDxUYWI+OndxYQkJR3VhJnJkYXJcIGVcIHNhaXI8VGFiPjp3cWEKbWVudXRyYW5zIEUmeGl0PFRhYj46cWEJCQlTYWkmcjxUYWI+OnFhCgoiIEVkaXQgbWVudQptZW51dHJhbnMgJkVkaXQJCQkJJkVkaXRhcgptZW51dHJhbnMgJlVuZG88VGFiPnUJCQkmRGVzZmF6ZXI8VGFiPnUKbWVudXRyYW5zICZSZWRvPFRhYj5eUgkJCSZSZWZhemVyPFRhYj51Cm1lbnV0cmFucyBSZXAmZWF0PFRhYj5cLgkJUmVwZSZ0aXI8VGFiPlwuCm1lbnV0cmFucyBDdSZ0PFRhYj4iK3gJCQkmQ29ydGFyPFRhYj4iK3gKbWVudXRyYW5zICZDb3B5PFRhYj4iK3kJCQlDb3AmaWFyPFRhYj4iK3kKbWVudXRyYW5zICZQYXN0ZTxUYWI+IitnUAkJQyZvbGFyPFRhYj4iK2dQCm1lbnV0cmFucyBQdXRcICZCZWZvcmU8VGFiPltwCQlDb2xvY2FyXCAmYW50ZXM8VGFiPltwCm1lbnV0cmFucyBQdXRcICZBZnRlcjxUYWI+XXAJCUNvbG9jYXJcICZkZXBvaXM8VGFiPl1wCm1lbnV0cmFucyAmU2VsZWN0XCBhbGw8VGFiPmdnVkcJCSZTZWxlY2Npb25hclwgdHVkbzxUYWI+Z2dWRwptZW51dHJhbnMgJkZpbmRcLlwuXC4JCQkmUHJvY3VyYXJcLlwuXC4KbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4JUHJvY3VyYXJcIGVcIHN1YnN0aXQmdWlyXC5cLlwuCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlPFRhYj46JXMJUHJvY3VyYXJcIGVcIHN1YnN0aXQmdWlyPFRhYj46JXMKbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2UJCVByb2N1cmFyXCBlXCBzdWJzdGl0JnVpcgptZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZTxUYWI+OnMJUHJvY3VyYXJcIGVcIHN1YnN0aXR1aXI8VGFiPjpzCm1lbnV0cmFucyBTZXR0aW5nc1wgJldpbmRvdwkJT3Am5/VlcwoKIiBFZGl0L0dsb2JhbCBTZXR0aW5ncwptZW51dHJhbnMgJkdsb2JhbFwgU2V0dGluZ3MJCU9w5/Vlc1wgJkdsb2JhaXMKCm1lbnV0cmFucyBUb2dnbGVcIFBhdHRlcm5cICZIaWdobGlnaHQ8VGFiPjpzZXRcIGhscyEJQWN0aXZhci9EZXNhY3RpdmFyXCAmUmVhbGNlXCBkZVwgUGFkcvVlczxUYWI+OnNldFwgaGxzIQptZW51dHJhbnMgVG9nZ2xlXCAmSWdub3JlLWNhc2U8VGFiPjpzZXRcIGljIQkJQWN0aXZhci9EZXNhY3RpdmFyXCAmSWdub3JhclwgbWFp+nNjdWxhczxUYWI+OnNldFwgaWMhCm1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtIQkJQWN0aXZhci9EZXNhY3RpdmFyXCAmY29pbmNpZOpuY2lhczxUYWI+OnNldFwgc20hCgptZW51dHJhbnMgJkNvbnRleHRcIGxpbmVzCQlMaW5oYXNcIGRlXCBDJm9udGV4dG8KCm1lbnV0cmFucyAmVmlydHVhbFwgRWRpdAkJRWRp5+NvXCAmVmlydHVhbAptZW51dHJhbnMgTmV2ZXIJCQkJTnVuY2EKbWVudXRyYW5zIEJsb2NrXCBTZWxlY3Rpb24JCVNlbGXn429cIGRlXCBCbG9jbwptZW51dHJhbnMgSW5zZXJ0XCBtb2RlCQkJTW9kb1wgZGVcIGluc2Vy5+NvCm1lbnV0cmFucyBCbG9ja1wgYW5kXCBJbnNlcnQJCUJsb2NvXCBlXCBpbnNlcufjbwptZW51dHJhbnMgQWx3YXlzCQkJU2VtcHJlCgptZW51dHJhbnMgVG9nZ2xlXCBJbnNlcnRcICZNb2RlPFRhYj46c2V0XCBpbSEgQWN0aXZhci9EZXNhY3RpdmFyXCBNb2RvXCBkZVwgSW4mc2Vy5+NvPFRhYj46c2V0XCBpbSEKbWVudXRyYW5zIFRvZ2dsZVwgVmlcIEMmb21wYXRpYmxlPFRhYj46c2V0XCBjcCEgQWN0aXZhci9EZXNhY3RpdmFyXCBDbyZtcGF0aWJpbGlkYWRlXCBjb21cIFZpPFRhYj46c2V0XCBjcCEKbWVudXRyYW5zIFNlYXJjaFwgJlBhdGhcLlwuXC4JCUNhbWluJmhvXCBkZVwgQnVzY2FcLlwuXC4KbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQlBcnF1aXZvc1wgZGVcIFRhZ3NcLlwuXC4KCiIgR1VJIG9wdGlvbnMKbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCU9jdWx0YXIvRXhpYmlyXCBCYXJyYVwgZGVcICZGZXJyYW1lbnRhcwptZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJT2N1bHRhci9FeGliaXJcIEJhcnJhXCBkZVwgJlJvbGFnZW1cIEluZmVyaW9yCm1lbnV0cmFucyBUb2dnbGVcICZMZWZ0XCBTY3JvbGxiYXIJT2N1bHRhci9FeGliaXJcIEJhcnJhXCBkZVwgUiZvbGFnZW1cIEVzcXVlcmRhCm1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCU9jdWx0YXIvRXhpYmlyXCBCYXJyYVwgZGVcIFJvJmxhZ2VtXCBEaXJlaXRhCmxldCBnOm1lbnV0cmFuc19wYXRoX2RpYWxvZyA9ICJJbmRpcXVlIHVtIGNhbWluaG8gZGUgcHJvY3VyYSBwYXJhIG9zIGFycXVpdm9zLlxuU2VwYXJlIG9zIG5vbWVzIGRvcyBkaXJldPNyaW9zIGNvbSB1bWEgdu1yZ3VsYS4iCmxldCBnOm1lbnV0cmFuc190YWdzX2RpYWxvZyA9ICJJbmRpcXVlIG9zIG5vbWVzIGRvcyBhcnF1aXZvcyBkZSB0YWdzLlxuU2VwYXJlIG9zIG5vbWVzIGNvbSB1bWEgdu1yZ3VsYS4iCgoiIEVkaXQvRmlsZSBTZXR0aW5ncwptZW51dHJhbnMgRiZpbGVcIFNldHRpbmdzCQlPcOf1ZXNcIGRvXCAmQXJxdWl2bwoKIiBCb29sZWFuIG9wdGlvbnMKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJk51bWJlcmluZzxUYWI+OnNldFwgbnUhCUFjdGl2YXIvRGVzYWN0aXZhclwgJm51bWVyYefjb1wgZGVcIGxpbmhhczxUYWI+OnNldFwgbnUhCm1lbnV0cmFucyBUb2dnbGVcICZMaXN0XCBNb2RlPFRhYj46c2V0XCBsaXN0IQkJQWN0aXZhci9EZXNhY3RpdmFyXCBtb2RvXCAmbGlzdDxUYWI+OnNldFwgbGlzdCEKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJldyYXA8VGFiPjpzZXRcIHdyYXAhCQlBY3RpdmFyL0Rlc2FjdGl2YXJcICZxdWVicmFcIGRlXCBsaW5oYXM8VGFiPjpzZXRcIHdyYXAhCm1lbnV0cmFucyBUb2dnbGVcIFcmcmFwXCBhdFwgd29yZDxUYWI+OnNldFwgbGJyIQlBY3RpdmFyL0Rlc2FjdGl2YXJcIHF1ZWJyYVwgbmFcICZwYWxhdnJhPFRhYj46c2V0XCBsYnIhCm1lbnV0cmFucyBUb2dnbGVcICZleHBhbmQtdGFiPFRhYj46c2V0XCBldCEJCUFjdGl2YXIvRGVzYWN0aXZhclwgZXhwYW5z428gZGUgdGFiczxUYWI+OnNldFwgZXQhCm1lbnV0cmFucyBUb2dnbGVcICZhdXRvLWluZGVudDxUYWI+OnNldFwgYWkhCQlBY3RpdmFyL0Rlc2FjdGl2YXJcICZhdXRvLWluZGVudGHn4288VGFiPjpzZXRcIGFpIQptZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEJCUFjdGl2YXIvRGVzYWN0aXZhclwgaW5kZW50YefjbyBlc3RpbG8gJkM8VGFiPjpzZXRcIGNpbiEKCiIgb3RoZXIgb3B0aW9ucwptZW51dHJhbnMgJlNoaWZ0d2lkdGgJCQlMYXJndXJhXCBkYVwgJmluZGVudGHn428KCm1lbnV0cmFucyBTb2Z0XCAmVGFic3RvcAkJJlRhYnVsYefjb1wgY29tXCBlc3Bh529zCgptZW51dHJhbnMgVGUmeHRcIFdpZHRoXC5cLlwuCQlMYXJndXJhXCBkb1wgdGUmeHRvXC5cLlwuCmxldCBnOm1lbnV0cmFuc190ZXh0d2lkdGhfZGlhbG9nID0gIkRpZ2l0ZSBhIG5vdmEgbGFyZ3VyYSBkbyB0ZXh0byAoMCBwYXJhIGRlc2F0aXZhciBhIGZvcm1hdGHn428pOiAiCgptZW51dHJhbnMgJkZpbGVcIEZvcm1hdFwuXC5cLgkJJkZvcm1hdG9cIGRvXCBhcnF1aXZvXC5cLlwuCmxldCBnOm1lbnV0cmFuc19maWxlZm9ybWF0X2RpYWxvZyA9ICJTZWxlY2lvbmUgbyBmb3JtYXRvIHBhcmEgZ3JhdmFyIG8gYXJxdWl2byIKCm1lbnV0cmFucyBDJm9sb3JcIFNjaGVtZQkJRXNxdWVtYVwgZGVcIGMmb3JlcwptZW51dHJhbnMgZGVmYXVsdAlwYWRy428KCm1lbnV0cmFucyBTZWxlY3RcIEZvJm50XC5cLlwuCQlTZWxlY2Npb25hclwgZm8mbnRlXC5cLlwuCgptZW51dHJhbnMgJktleW1hcAlNYXBhXCBkZVwgdGVjbGFkbwptZW51dHJhbnMgTm9uZQkJTmVuaHVtCgoiIFByb2dyYW1taW5nIG1lbnUKbWVudXRyYW5zICZUb29scwkJCUZlJnJyYW1lbnRhcwptZW51dHJhbnMgJkp1bXBcIHRvXCB0aGlzXCB0YWc8VGFiPmdeXQlTYWx0YXJcIHBhcmFcIGVzdGFcICZ0YWc8VGFiPmdeXQptZW51dHJhbnMgSnVtcFwgJmJhY2s8VGFiPl5UCQkmVm9sdGFyPFRhYj5eVAptZW51dHJhbnMgQnVpbGRcICZUYWdzXCBGaWxlCQkmQ29uc3RydWlyXCBBcnF1aXZvXCBkZVwgdGFncwptZW51dHJhbnMgJkZvbGRpbmcJCQkmRG9icmEKbWVudXRyYW5zICZNYWtlPFRhYj46bWFrZQkJJk1ha2U8VGFiPjptYWtlCm1lbnV0cmFucyAmTGlzdFwgRXJyb3JzPFRhYj46Y2wJCSZMaXN0YVwgZGVcIGVycm9zPFRhYj46Y2wKbWVudXRyYW5zIEwmaXN0XCBNZXNzYWdlczxUYWI+OmNsIQlMaSZzdGFcIGRlXCBtZW5zYWdlbnM8VGFiPjpjbCEKbWVudXRyYW5zICZOZXh0XCBFcnJvcjxUYWI+OmNuCQlQJnLzeGltb1wgZXJybzxUYWI+OmNuCm1lbnV0cmFucyAmUHJldmlvdXNcIEVycm9yPFRhYj46Y3AJJkVycm9cIGFudGVyaW9yPFRhYj46Y3AKbWVudXRyYW5zICZPbGRlclwgTGlzdDxUYWI+OmNvbGQJTGlzdGFyXCBlcnJvc1wgJmFudGlnb3M8VGFiPjpjb2xkCm1lbnV0cmFucyBOJmV3ZXJcIExpc3Q8VGFiPjpjbmV3CUxpc3RhclwgZXJyb3NcICZub3ZvczxUYWI+OmNuZXcKbWVudXRyYW5zIEVycm9yXCAmV2luZG93CQkmSmFuZWxhXCBkZVwgZXJyb3MKbWVudXRyYW5zICZTZXRcIENvbXBpbGVyCQlEZWYmaW5pclwgQ29tcGlsYWRvcgptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIRVg8VGFiPjolIXh4ZAlDb252ZXJ0ZXJcIHBhcmFcIGhleGFkZWNpbWFsPFRhYj46JSF4eGQKbWVudXRyYW5zIENvbnZlJnJ0XCBiYWNrPFRhYj46JSF4eGRcIC1yCUNvbnZlciZ0ZXJcIGRlXCB2b2x0YTxUYWI+OiUheHhkXCAtcgoKIiBUb29scy5Gb2xkIE1lbnUKbWVudXRyYW5zICZFbmFibGUvRGlzYWJsZVwgZm9sZHM8VGFiPnppCQkmQWN0aXZhci9EZXNhY3RpdmFyXCBkb2JyYXM8VGFiPnppCm1lbnV0cmFucyAmVmlld1wgQ3Vyc29yXCBMaW5lPFRhYj56dgkJJlZlclwgbGluaGFcIGRvXCBjdXJzb3I8VGFiPnp2Cm1lbnV0cmFucyBWaWUmd1wgQ3Vyc29yXCBMaW5lXCBvbmx5PFRhYj56TXp4CVZlJnJcIHNvbWVudGVcIGxpbmhhXCBkb1wgY3Vyc29yPFRhYj56TXp4Cm1lbnV0cmFucyBDJmxvc2VcIG1vcmVcIGZvbGRzPFRhYj56bQkJJkZlY2hhclwgbWFpc1wgZG9icmFzPFRhYj56bQptZW51dHJhbnMgJkNsb3NlXCBhbGxcIGZvbGRzPFRhYj56TQkJRiZlY2hhclwgdG9kYXNcIGFzXCBkb2JyYXM8VGFiPnpNCm1lbnV0cmFucyBPJnBlblwgbW9yZVwgZm9sZHM8VGFiPnpyCQlBJmJyaXJcIG1haXNcIGRvYnJhczxUYWI+enIKbWVudXRyYW5zICZPcGVuXCBhbGxcIGZvbGRzPFRhYj56UgkJQWJyJmlyXCB0b2Rhc1wgYXNcIGRvYnJhczxUYWI+elIKIiBmb2xkIG1ldGhvZAptZW51dHJhbnMgRm9sZFwgTWV0JmhvZAkJCQkmTW9kb1wgZGVcIGRvYnJhcwptZW51dHJhbnMgQ3JlYXRlXCAmRm9sZDxUYWI+emYJCQlDcmlhclwgJmRvYnJhczxUYWI+emYKbWVudXRyYW5zICZEZWxldGVcIEZvbGQ8VGFiPnpkCQkJUmVtb3ZlclwgZCZvYnJhczxUYWI+emQKbWVudXRyYW5zIERlbGV0ZVwgJkFsbFwgRm9sZHM8VGFiPnpECQlSZW1vdmVyXCAmdG9kYXNcIGFzXCBkb2JyYXM8VGFiPnpECiIgbW92aW5nIGFyb3VuZCBpbiBmb2xkcwptZW51dHJhbnMgRm9sZFwgY29sJnVtblwgd2lkdGgJCQkmTGFyZ3VyYVwgZGFcIGNvbHVuYVwgZGFcIGRvYnJhCgoiIFRvb2xzLkRpZmYgTWVudQptZW51dHJhbnMgJlVwZGF0ZQkmQWN0dWFsaXphcgptZW51dHJhbnMgJkdldFwgQmxvY2sJJk9idGVyXCBCbG9jbwptZW51dHJhbnMgJlB1dFwgQmxvY2sJJlD0clwgQmxvY28KCiIgVG9vbHMuRXJyb3IgTWVudQptZW51dHJhbnMgJlVwZGF0ZTxUYWI+OmN3aW4JJkFjdHVhbGl6YXI8VGFiPjpjd2luCm1lbnV0cmFucyAmT3BlbjxUYWI+OmNvcGVuCUEmYnJpcjxUYWI+OmNvcGVuCm1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjY2xvc2UJJkZlY2hhcjxUYWI+OmNjbG9zZQoKIiBOYW1lcyBmb3IgYnVmZmVyIG1lbnUuCm1lbnV0cmFucyAmQnVmZmVycwkJJkJ1ZmZlcnMKbWVudXRyYW5zICZSZWZyZXNoXCBtZW51CUEmY3R1YWxpemFyXCBtZW51Cm1lbnV0cmFucyAmRGVsZXRlCQkmQXBhZ2FyCm1lbnV0cmFucyAmQWx0ZXJuYXRlCQlBJmx0ZXJuYXIKbWVudXRyYW5zICZOZXh0CQkJUCZy83hpbW8KbWVudXRyYW5zICZQcmV2aW91cwkJQSZudGVyaW9yCmxldCBnOm1lbnV0cmFuc19ub19maWxlID0gIltTZW0gYXJxdWl2b3NdIgoKIiBXaW5kb3cgbWVudQptZW51dHJhbnMgJldpbmRvdwkJCSZKYW5lbGEKbWVudXRyYW5zICZOZXc8VGFiPl5XbgkJCU4mb3ZhPFRhYj5eV24KbWVudXRyYW5zIFMmcGxpdDxUYWI+XldzCQkmRGl2aWRpcjxUYWI+XldzCm1lbnV0cmFucyBTcCZsaXRcIFRvXCAjPFRhYj5eV15eCUQmaXZpZGlyXCBwYXJhXCAjPFRhYj5eV15eCm1lbnV0cmFucyBTcGxpdFwgJlZlcnRpY2FsbHk8VGFiPl5XdglEaXZpZGlyXCAmdmVydGljYWxtZW50ZTxUYWI+Xld2Cm1lbnV0cmFucyBTcGxpdFwgRmlsZVwgRSZ4cGxvcmVyCSZBYnJpclwgR2VyZW5jaWFkb3JcIGRlXCBhcnF1aXZvcwptZW51dHJhbnMgJkNsb3NlPFRhYj5eV2MJCSZGZWNoYXI8VGFiPl5XYwptZW51dHJhbnMgQ2xvc2VcICZPdGhlcihzKTxUYWI+XldvCUZlY2hhclwgJm91dHJhKHMpPFRhYj5eV28KbWVudXRyYW5zIE1vdmVcICZUbwkJCU1vdmVyXCAmcGFyYQptZW51dHJhbnMgJlRvcDxUYWI+XldLCQkJQSZjaW1hPFRhYj5eV0sKbWVudXRyYW5zICZCb3R0b208VGFiPl5XSgkJQSZiYWl4bzxUYWI+XldKCm1lbnV0cmFucyAmTGVmdFwgc2lkZTxUYWI+XldICQlMYWRvXCAmZXNxdWVyZG88VGFiPl5XSAptZW51dHJhbnMgJlJpZ2h0XCBzaWRlPFRhYj5eV0wJCUxhZG9cIGRpJnJlaXRvPFRhYj5eV0wKbWVudXRyYW5zIFJvdGF0ZVwgJlVwPFRhYj5eV1IJCSZHaXJhclwgcGFyYVwgY2ltYTxUYWI+XldSCm1lbnV0cmFucyBSb3RhdGVcICZEb3duPFRhYj5eV3IJCUdpcmFyXCBwYXJhXCBiYWkmeG88VGFiPl5XcgptZW51dHJhbnMgJkVxdWFsXCBTaXplPFRhYj5eVz0JCU1lc21vXCAmVGFtYW5obzxUYWI+Xlc9Cm1lbnV0cmFucyAmTWF4XCBIZWlnaHQ8VGFiPl5XXwkJQWx0dXJhXCAmTeF4aW1hPFRhYj5eV18KbWVudXRyYW5zIE0maW5cIEhlaWdodDxUYWI+XlcxXwkJQSZsdHVyYVwgTe1uaW1hPFRhYj5eVzFfCm1lbnV0cmFucyBNYXhcICZXaWR0aDxUYWI+XldcfAkJTGFyZyZ1cmFcIE3heGltYTxUYWI+XldcfAptZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQlMYXJndXJhXCBN7SZuaW1hPFRhYj5eVzFcfAoKIiBUaGUgcG9wdXAgbWVudQptZW51dHJhbnMgJlVuZG8JCQkmRGVzZmF6ZXIKbWVudXRyYW5zIEN1JnQJCQlSZWNvciZ0YXIKbWVudXRyYW5zICZDb3B5CQkJJkNvcGlhcgptZW51dHJhbnMgJlBhc3RlCQlDbyZsYXIKbWVudXRyYW5zICZEZWxldGUJCSZBcGFnYXIKbWVudXRyYW5zIFNlbGVjdFwgQmxvY2t3aXNlCVNlbGXn429cIGRlXCBibG9jbwptZW51dHJhbnMgU2VsZWN0XCAmV29yZAkJU2VsZWNjaW9uYXJcICZQYWxhdnJhCm1lbnV0cmFucyBTZWxlY3RcICZMaW5lCQlTZWxlY2Npb25hclwgTCZpbmhhCm1lbnV0cmFucyBTZWxlY3RcICZBbGwJCVNlbGVjY2lvbmFyXCBUJnVkbwoKIiBUaGUgR1VJIHRvb2xiYXIKaWYgaGFzKCJ0b29sYmFyIikKICBpZiBleGlzdHMoIipEb190b29sYmFyX3RtZW51IikKICAgIGRlbGZ1biBEb190b29sYmFyX3RtZW51CiAgZW5kaWYKICBmdW4gRG9fdG9vbGJhcl90bWVudSgpCgkgIHRtZW51IFRvb2xCYXIuT3BlbglBYnJpciBBcnF1aXZvCgkgIHRtZW51IFRvb2xCYXIuU2F2ZQlTYWx2YXIgQXJxdWl2bwoJICB0bWVudSBUb29sQmFyLlNhdmVBbGwJU2FsdmFyIFRvZG9zIG9zIGFycXVpdm9zCgkgIHRtZW51IFRvb2xCYXIuUHJpbnQJSW1wcmltaXIKCSAgdG1lbnUgVG9vbEJhci5VbmRvCURlc2ZhemVyCgkgIHRtZW51IFRvb2xCYXIuUmVkbwlSZWZhemVyCgkgIHRtZW51IFRvb2xCYXIuQ3V0CVJlY29ydGFyCgkgIHRtZW51IFRvb2xCYXIuQ29weQlDb3BpYXIKCSAgdG1lbnUgVG9vbEJhci5QYXN0ZQlDb2xhcgoJICB0bWVudSBUb29sQmFyLkZpbmQJUHJvY3VyYXIuLi4KCSAgdG1lbnUgVG9vbEJhci5GaW5kTmV4dAlQcm9jdXJhciBQcvN4aW1vCgkgIHRtZW51IFRvb2xCYXIuRmluZFByZXYJUHJvY3VyYXIgQW50ZXJpb3IKCSAgdG1lbnUgVG9vbEJhci5SZXBsYWNlCQlQcm9jdXJhciBlIFN1YnN0aXR1aXIKCSAgaWYgMAkiIGRpc2FibGU7IHRoZXNlIGFyZSBpbiB0aGUgV2luZG96ZSBtZW51CgkJICB0bWVudSBUb29sQmFyLk5ldwlOb3ZhIEphbmVsYQoJCSAgdG1lbnUgVG9vbEJhci5XaW5TcGxpdAlEaXZpZGlyIEphbmVsYQoJCSAgdG1lbnUgVG9vbEJhci5XaW5NYXgJCUphbmVsYSBN4XhpbWEKCQkgIHRtZW51IFRvb2xCYXIuV2luTWluCQlKYW5lbGEgTe1uaW1hCgkJICB0bWVudSBUb29sQmFyLldpblZTcGxpdAlEaXZpZGlyIFZlcnRpY2FsbWVudGUKCQkgIHRtZW51IFRvb2xCYXIuV2luTWF4V2lkdGgJTGFyZ3VyYSBN4XhpbWEKCQkgIHRtZW51IFRvb2xCYXIuV2luTWluV2lkdGgJTGFyZ3VyYSBN7W5pbWEKCQkgIHRtZW51IFRvb2xCYXIuV2luQ2xvc2UJRmVjaGFyIEphbmVsYQoJICBlbmRpZgoJICB0bWVudSBUb29sQmFyLkxvYWRTZXNuCUNhcnJlZ2FyIFNlc3PjbwoJICB0bWVudSBUb29sQmFyLlNhdmVTZXNuCVNhbHZhciBTZXNz428KCSAgdG1lbnUgVG9vbEJhci5SdW5TY3JpcHQJRXhlY3V0YXIgc2NyaXB0CgkgIHRtZW51IFRvb2xCYXIuTWFrZQkJTWFrZQoJICB0bWVudSBUb29sQmFyLlNoZWxsCQlBYnJpciB1bSBzaGVsbAoJICB0bWVudSBUb29sQmFyLlJ1bkN0YWdzCUdlcmFyIHVtIGFycXVpdm8gZGUgdGFncwoJICB0bWVudSBUb29sQmFyLlRhZ0p1bXAJCVNhbHRhciBwYXJhIHVtIHRhZwoJICB0bWVudSBUb29sQmFyLkhlbHAJCUFqdWRhCgkgIHRtZW51IFRvb2xCYXIuRmluZEhlbHAJUHJvY3VyYXIgbmEgQWp1ZGEKICBlbmRmdW4KZW5kaWYKCiIgU3ludGF4IG1lbnUKbWVudXRyYW5zICZTeW50YXgJCQkmU2ludGF4ZQoibWVudXRyYW5zICZTaG93XCBpbmRpdmlkdWFsXCBjaG9pY2VzCUUmeGliaXJcIGVzY29saGFzXCBpbmRpdmlkdWFpcwptZW51dHJhbnMgJlNob3dcIGZpbGV0eXBlc1wgaW5cIG1lbnUJRSZ4aWJpclwgdGlwb3NcIGRlXCBhcnF1aXZvc1wgbm9cIG1lbnUKbWVudXRyYW5zIFNldFwgJyZzeW50YXgnXCBvbmx5CQlBY3RpdmFyXCBzb21lbnRlXCBzJmludGF4ZQptZW51dHJhbnMgU2V0XCAnJmZpbGV0eXBlJ1wgdG9vCQlBY3RpdmFyXCB0YW1i6W1cICZ0aXBvXCBkZVwgYXJxdWl2bwptZW51dHJhbnMgJk9mZgkJCQkmRGVzYWN0aXZhcgptZW51dHJhbnMgJk1hbnVhbAkJCSZNYW51YWwKbWVudXRyYW5zIEEmdXRvbWF0aWMJCQlBJnV0b23hdGljYQptZW51dHJhbnMgb24vb2ZmXCBmb3JcICZUaGlzXCBmaWxlCUFjdGl2YXIvRGVzYWN0aXZhclwgbmVzdGVcICZhcnF1aXZvCm1lbnV0cmFucyBDbyZsb3JcIHRlc3QJCQlUJmVzdGVcIGRlXCBjb3JlcwptZW51dHJhbnMgJkhpZ2hsaWdodFwgdGVzdAkJVGVzdGVcIGRlXCAmcmVhbGNlCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhUTUwJCSZDb252ZXJ0ZXJcIHBhcmFcIEhUTUwKCiIgRmluZCBIZWxwIGRpYWxvZyB0ZXh0CmxldCBnOm1lbnV0cmFuc19oZWxwX2RpYWxvZyA9ICJEaWdpdGUgdW0gY29tYW5kbyBvdSBwYWxhdnJhIHBhcmEgb2J0ZXIgYWp1ZGE7XG5cbkFudGVwb25oYSBpXyBwYXJhIGNvbWFuZG9zIGRlIGVudHJhZGEgKGV4LjogaV9DVFJMLVgpXG5BbnRlcG9uaGEgY18gcGFyYSBjb21hbmRvcyBkYSBsaW5oYSBkZSBjb21hbmRvcyAoZXguOiBjXzxEZWw+KVxuQW50ZXBvbmhhIGAgcGFyYSB1bSBub21lIGRlIG9w5+NvIChleC46IGBzaGlmdHdpZHRoYCkiCg==