IiBNZW51IFRyYW5zbGF0aW9uczoJSHVuZ2FyaWFuIChNYWd5YXIpCiIgT3JpZ2luYWwgVHJhbnNsYXRpb246CVpvbHThbiDBcnDhZGZmeQoiIE1haW50YWluZWQgQnk6CUtvbnRyYSBHZXJnZWx5IDxrZ2VyZ2VseUBtY2wuaHU+CiIgTGFzdCBDaGFuZ2U6CQkyMDEyIE1heSAwMQoiIEknbSB3b3JraW5nIG9uIGRlZmluaW5nICh1bmFjY2VudGVkKSBob3RrZXlzIGZvciBldmVyeXRoaW5nLgoiIEkgd2FudCB0byByZW1vdmUgeSBhbmQgeiBob3RrZXlzLCBiZWNhdXNlIG9uIHRoZSBodW5nYXJpYW4ga2V5bWFwIHRoZXkncmUgYXQKIiBhIGRpZmZlcnJlbnQgcGxhY2UuCiIgSSBhbHNvIHdhbnQgdG8gYXZvaWQgZyBhbmQgaiBzaG9ydGN1dHMsIGJlY2F1c2UgeW91IGNhbm5vdCBzZWUsIHdoZXRlcgoiIHRoZXkncmUgdW5kZXJsaW5lZCBvciBub3QuCiIgSWYgdGhlIGhvdGtleXMgYXJlIG5vdCB1bmlxIChwcmVzc2luZyB0aGUgaG90a2V5IGRvZXNuJ3QgZXhlY3V0ZXMgdGhlIG1lbnUsCiIganVzdCBvbmUgbWVudXBvaW50IGlzIHNlbGVjdGVkKSwgb3IgeW91IGZpbmQgYW55IG90aGVyIHVuZGVzaXJlZCBiZWhhdmlvdXIsCiIgcGxlYXNlIHJlcG9ydCBpdCB0byBtZS4KIiBBbGwga2luZCBvZiBmZWVkYmFjayBpcyB3ZWxjb21lLgoiCiIgSWd5ZWtlenRlbSBtaW5kZW5oZXogZ3lvcnNiaWxsZW50eft0IHJlbmRlbG5pLCBsZWhldPVsZWcgbmVtIOlrZXpldGVzZXQuCiIgVG924WJiaSB0ZW5uaXZhbPMgYXogeSDpcyB6IGd5b3JzYmlsbGVudHn7ayBraWlydOFzYSwgZXplbmvtdvxsIGEgZywgagoiIGJpbGxlbnR5+2sgaXJ04XNhIGlzLCBtaXZlbCBleiB1dPNiYmlhayBhbOFo+npvdHQgduFsdG96YXThdCBuZW0ga/Zubnn7CiIgZmVsaXNtZXJuaS4KIiBBbWVubnlpYmVuIHZhbGFob2wgbmVtIGVneelydGVsbftrIGEgZ3lvcnNiaWxsZW50eftrIChhIGd5b3JzYmlsbGVudHn7dAoiIGxl/HR2ZSBuZW0gaGFqdPNkaWsgdulncmUgYSBraXN6ZW1lbHQgbWVu/HBvbnQsIGhhbmVtIGNzYWsga2l24Wxhc3p082RpaywKIiB2YWd5IG3hc2lrIG1lbvxwb250IHbhbGFzenTzZGlrIGtpKSwgdmFneSBlZ3npYiBoaWLhdCB0YWzhbHN6LCBr6XJsZWsgamVsZXpkCiIgbmVrZW0gYSBmZW50aSBlbWFpbCBj7W1lbi4KIiBNaW5kZW5uZW37IHZpc3N6YWplbHrpc3Qgc3rtdmVzZW4gZm9nYWRvay4KCiIgUXVpdCB3aGVuIG1lbnUgdHJhbnNsYXRpb25zIGhhdmUgYWxyZWFkeSBiZWVuIGRvbmUuCmlmIGV4aXN0cygiZGlkX21lbnVfdHJhbnMiKQogIGZpbmlzaAplbmRpZgpsZXQgZGlkX21lbnVfdHJhbnMgPSAxCmxldCBzOmtlZXBjcG89ICZjcG8Kc2V0IGNwbyZ2aW0KCnNjcmlwdGVuY29kaW5nIGlzby04ODU5LTIKCiIgSGVscCBtZW51Cm1lbnV0cmFucyAmSGVscAkJCSZT+mfzCm1lbnV0cmFucyAmT3ZlcnZpZXc8VGFiPjxGMT4JwSZ0dGVraW506XM8VGFiPjxGMT4KbWVudXRyYW5zICZIb3ctdG9cIGxpbmtzCSZIT0dZQU5cIGxpbmtlawptZW51dHJhbnMgJlVzZXJcIE1hbnVhbAkJJkvpemlr9m55dgptZW51dHJhbnMgJkNyZWRpdHMJCSZTemVyevVrLFwga/ZzevZuZXRlawptZW51dHJhbnMgQ28mcHlpbmcJCSZW6WRqZWd5Cm1lbnV0cmFucyBPJnJwaGFucwkJwXJ24SZrCm1lbnV0cmFucyAmRmluZFwuXC5cLgkJS2UmcmVz6XNcLlwuXC4KbWVudXRyYW5zICZWZXJzaW9uCQkmVmVyemnzCm1lbnV0cmFucyAmQWJvdXQJCSZO6XZqZWd5CiIgRmlsZSBtZW51Cm1lbnV0cmFucyAmRmlsZQkJCQkmRuFqbAptZW51dHJhbnMgJk9wZW5cLlwuXC48VGFiPjplCQlNZWcmbnlpdOFzXC5cLlwuPFRhYj46ZQptZW51dHJhbnMgU3AmbGl0LU9wZW5cLlwuXC48VGFiPjpzcAlNZWdueWl04XNcIPpqXCBhJmJsYWtiYVwuXC5cLjxUYWI+OnNwCm1lbnV0cmFucyAmTmV3PFRhYj46ZW5ldwkJ2mpcIGRvayZ1bWVudHVtPFRhYj46ZW5ldwptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2xvc2UJCUJlJnrhcuFzPFRhYj46Y2xvc2UKbWVudXRyYW5zICZTYXZlPFRhYj46dwkJCSZNZW506XM8VGFiPjp3Cm1lbnV0cmFucyBTcGxpdFwgJkRpZmZcIHdpdGhcLlwuXC4J1nNzemUmaGFzb25s7XThc1wuXC5cLgptZW51dHJhbnMgU3BsaXRcIFBhdGNoZWRcICZCeVwuXC5cLgnWc3N6ZWhhc29ubO104XNcICZwYXRjaFwgLWVsXC5cLlwuCm1lbnV0cmFucyBTYXZlXCAmQXNcLlwuXC48VGFiPjpzYXYJTWVudOkmc1wgbeFza+ludFwuXC5cLjxUYWI+OncKbWVudXRyYW5zICZQcmludAkJCU55b210JmF04XMKbWVudXRyYW5zIFNhJnZlLUV4aXQ8VGFiPjp3cWEJCU1lbnTpc1wg6XNcIGsmaWzpcOlzPFRhYj46d3FhCm1lbnV0cmFucyBFJnhpdDxUYWI+OnFhCQkJJktpbOlw6XM8VGFiPjpxYQoKIiBFZGl0IG1lbnUKbWVudXRyYW5zICZFZGl0CQkJCVMmemVya2VzenTpcwptZW51dHJhbnMgJlVuZG88VGFiPnUJCQkmVmlzc3phdm9u4XM8VGFiPnUKbWVudXRyYW5zICZSZWRvPFRhYj5eUgkJCU3pJmdpczxUYWI+XlIKbWVudXRyYW5zIFJlcCZlYXQ8VGFiPlwuCQkmSXNt6XQ8VGFiPlwuCm1lbnV0cmFucyBDdSZ0PFRhYj4iK3gJCQkmS2l24WfhczxUYWI+Iit4Cm1lbnV0cmFucyAmQ29weTxUYWI+Iit5CQkJJk3hc29s4XM8VGFiPiIreQptZW51dHJhbnMgJlBhc3RlPFRhYj4iK2dQCQkmQmVpbGxlc3p06XM8VGFiPiIrZ1AKbWVudXRyYW5zIFB1dFwgJkJlZm9yZTxUYWI+W3AJCUJlcmFr4XNcIGUmbOk8VGFiPltwCm1lbnV0cmFucyBQdXRcICZBZnRlcjxUYWI+XXAJCUJlcmFr4XNcICZt9mfpPFRhYj5dcAptZW51dHJhbnMgJkRlbGV0ZTxUYWI+eAkJCSZU9nJs6XM8VGFiPngKbWVudXRyYW5zICZTZWxlY3RcIGFsbDxUYWI+Z2dWRwkJQSZ6XCD2c3N6ZXMga2lqZWz2bOlzZTxUYWI+Z2d2RwptZW51dHJhbnMgJkZpbmRcLlwuXC4JCQlLZSZyZXPpc1wuXC5cLgptZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZVwuXC5cLglLZXJlc+lzXCDpc1wgYyZzZXJlXC5cLlwuCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlPFRhYj46JXMJS2VyZXPpc1wg6XNcIGMmc2VyZTxUYWI+OiVzCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlCQlLZXJlc+lzXCDpc1wgYyZzZXJlCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlPFRhYj46cwlLZXJlc+lzXCDpc1wgYyZzZXJlPFRhYj46cwptZW51dHJhbnMgU2V0dGluZ3NcICZXaW5kb3cJCSZBYmxha1wgYmXhbGztdOFzYWkKbWVudXRyYW5zICZHbG9iYWxcIFNldHRpbmdzCQnBbCZ0YWzhbm9zXCBiZeFsbO104XNvawptZW51dHJhbnMgRiZpbGVcIFNldHRpbmdzCQkmRuFqbFwgYmXhbGztdOFzb2sKbWVudXRyYW5zIEMmb2xvclwgU2NoZW1lCQkmU3rtbmVrCm1lbnV0cmFucyAmS2V5bWFwCQkJQmlsbGVudCZ5+3pldGtpb3N6dOFzCgoiIEVkaXQuR2xvYmFsIFNldHRpbmdzCm1lbnV0cmFucyBUb2dnbGVcIFBhdHRlcm5cICZIaWdobGlnaHQ8VGFiPjpzZXRcIGhscyEJJk1pbnRhXCBraWVtZWzpc1wgQkUvS0k8VGFiPjpzZXRcIGhscyEKbWVudXRyYW5zIFRvZ2dsZVwgJklnbm9yZS1jYXNlPFRhYj46c2V0XCBpYyEJJktpcy9uYWd5YmV0+1wgYXpvbm9zL2v8bPZuYvZ69TxUYWI+OnNldFwgaWMhCm1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtIQkmWuFy82plbHDhclwgbXV0YXThc2FcIEJFL0tJPFRhYj46c2V0XCBzbSEKbWVudXRyYW5zICZDb250ZXh0XCBsaW5lcwkJJkt1cnpvclwgYWJsYWtcIHN66WzpdPVsCm1lbnV0cmFucyAmVmlydHVhbFwgRWRpdAkJJlZpcnR14Wxpc1wgc3plcmtlc3p06XMKbWVudXRyYW5zIE5ldmVyCQkJCSZTb2hhCm1lbnV0cmFucyBCbG9ja1wgU2VsZWN0aW9uCQkmQmxva2tcIGtpamVs9mzpc2Vrb3IKbWVudXRyYW5zIEluc2VydFwgbW9kZQkJCVMmevZ2ZWdcIGJldml0ZWxla29yCm1lbnV0cmFucyBCbG9ja1wgYW5kXCBJbnNlcnQJCUJsJm9ra1wga2lqZWz2bOlzZWtvclwg6XNcIHN69nZlZ1wgYmV2aXRlbGVrb3IKbWVudXRyYW5zIEFsd2F5cwkJCSZNaW5kaWcKbWVudXRyYW5zIFRvZ2dsZVwgSW5zZXJ0XCAmTW9kZTxUYWI+OnNldFwgaW0hCSZTevZ2ZWdiZXZpdGVsaVwgbfNkXCBCRS9LSTxUYWI+OnNldFwgaW0hCm1lbnV0cmFucyBUb2dnbGVcIFZpXCBDJm9tcGF0aWJsZTxUYWI+OnNldFwgY3AhCSZWaVwga29tcGF07WJpbGlzXCBt82RcIEJFL0tpPFRhYj46c2V0XCBjcCEKbWVudXRyYW5zIFNlYXJjaFwgJlBhdGhcLlwuXC4JCUtlJnJlc+lzaVwg+nR2b25hbFwuXC5cLgptZW51dHJhbnMgVGEmZ1wgRmlsZXNcLlwuXC4JCSZUYWdcIGbhamxcLlwuXC4KbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCSZFc3pr9np04XJcIEJFL0tJCm1lbnV0cmFucyBUb2dnbGVcICZCb3R0b21cIFNjcm9sbGJhcgkmVu16c3ppbnRlc1wgR/ZyZ2V09XPhdlwgQkUvS0kKbWVudXRyYW5zIFRvZ2dsZVwgJkxlZnRcIFNjcm9sbGJhcgkmQmFsXCBn9nJnZXT1c+F2XCBCRS9LSQptZW51dHJhbnMgVG9nZ2xlXCAmUmlnaHRcIFNjcm9sbGJhcgkmSm9iYlwgZ/ZyZ2V09XPhdlwgQkUvS0kKbWVudXRyYW5zIE5vbmUJCQkJTmluY3MKCiIgRWRpdC5GaWxlIFNldHRpbmdzCm1lbnV0cmFucyBUb2dnbGVcIExpbmVcICZOdW1iZXJpbmc8VGFiPjpzZXRcIG51IQlTb3JzeuEmbW964XNcIEJFL0tJPFRhYj46c2V0XCBudSEKbWVudXRyYW5zIFRvZ2dsZVwgJkxpc3RcIE1vZGU8VGFiPjpzZXRcIGxpc3QhCQkmTGlzdGFcIG3zZFwgQkUvS0k8VGFiPjpzZXRcIGxpc3QhCm1lbnV0cmFucyBUb2dnbGVcIExpbmVcICZXcmFwPFRhYj46c2V0XCB3cmFwIQkJU29yJnT2culzXCBCRS9LSTxUYWI+OnNldFwgd3JhcCEKbWVudXRyYW5zIFRvZ2dsZVwgVyZyYXBcIGF0XCB3b3JkPFRhYj46c2V0XCBsYnIhCVNvcnT2culzXCBzJnrzdulnZWtu6WxcIEJFL0tJPHRhYj46c2V0XCBsYnIhCm1lbnV0cmFucyBUb2dnbGVcICZleHBhbmQtdGFiPFRhYj46c2V0XCBldCEJCSZUYWJcIGtpZmVqdOlzXCBCRS9LSTxUYWI+OnNldFwgZXQhCm1lbnV0cmFucyBUb2dnbGVcICZhdXRvLWluZGVudDxUYWI+OnNldFwgYWkhCQkmQXV0b21hdGlrdXNcIGJlaPp64XNcIEJFL0tJPFRhYj46c2V0XCBhaSEKbWVudXRyYW5zIFRvZ2dsZVwgJkMtaW5kZW50aW5nPFRhYj46c2V0XCBjaW4hCQkmQy1iZWj6euFzXCBCRS9LSTxUYWI+OnNldFwgY2luIQptZW51dHJhbnMgJlNoaWZ0d2lkdGgJCQkJCSZCZWj6euFzXCBt6XJ06WtlXCAoJ3N3JykKbWVudXRyYW5zIFNvZnRcICZUYWJzdG9wCQkJCVQmYWJ1bOFs4XNcIG3pcnTpa2VcICgnc3RzJykKbWVudXRyYW5zIFRlJnh0XCBXaWR0aFwuXC5cLgkJCQkmU3r2dmVnXCBzeulsZXNz6WdlXC5cLlwuCm1lbnV0cmFucyAmRmlsZVwgRm9ybWF0XC5cLlwuCQkJCSZG4WpsZm9ybeF0dW1cLlwuXC4KCiIgVG9vbHMgbWVudQptZW51dHJhbnMgJlRvb2xzCQkJJkVzemv2evZrCm1lbnV0cmFucyAmSnVtcFwgdG9cIHRoaXNcIHRhZzxUYWI+Z15dCSZVZ3Lhc1wgYVwgdGFnaG96PFRhYj5nXl0KbWVudXRyYW5zIEp1bXBcICZiYWNrPFRhYj5eVAkJVWdy4XNcICZ2aXNzemE8VGFiPl5UCm1lbnV0cmFucyBCdWlsZFwgJlRhZ3NcIEZpbGUJCSZUYWdcIGbhamxcIGvpc3rtdOlzZQptZW51dHJhbnMgJkZvbGRpbmcJCQkmQmVoYWp04XNvawptZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQkmRm9yZO104XM8VGFiPjptYWtlCm1lbnV0cmFucyAmTGlzdFwgRXJyb3JzPFRhYj46Y2wJCSZIaWLha1wgbGlzdOFqYTxUYWI+OmNsCm1lbnV0cmFucyBMJmlzdFwgTWVzc2FnZXM8VGFiPjpjbCEJ3CZ6ZW5ldGVrXCBsaXN04WphPFRhYj46Y2whCm1lbnV0cmFucyAmTmV4dFwgRXJyb3I8VGFiPjpjbgkJJkv2dmV0a2V69VwgJmhpYmE8VGFiPjpjbgptZW51dHJhbnMgJlByZXZpb3VzXCBFcnJvcjxUYWI+OmNwCSZFbPV69VwgaGliYTxUYWI+OmNwCm1lbnV0cmFucyAmT2xkZXJcIExpc3Q8VGFiPjpjb2xkCSZS6WdlYmJpXCBsaXN0YTxUYWI+OmNvbGQKbWVudXRyYW5zIE4mZXdlclwgTGlzdDxUYWI+OmNuZXcJJtpqYWJiXCBsaXN0YTxUYWI+OmNuZXcKbWVudXRyYW5zIEVycm9yXCAmV2luZG93CQlIaWJhYWJsYWsKbWVudXRyYW5zICZVcGRhdGU8VGFiPjpjd2luCQkmRnJpc3PtdOlzPFRhYj46Y3dpbgptZW51dHJhbnMgJk9wZW48VGFiPjpjb3BlbgkJTSZlZ255aXThczxUYWI+OmNvcGVuCm1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjY2xvc2UJCUJlJnrhcuFzPFRhYj46Y2Nsb3NlCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhFWDxUYWI+OiUheHhkCU5vcm3hbC0+SEVYXCBu6XpldDxUYWI+OiUheHhkCm1lbnV0cmFucyBDb252ZSZydFwgYmFjazxUYWI+OiUheHhkXCAtcglIRVgtPk5vcm3hbFwgbul6ZXQ8VGFiPjolIXh4ZFwgLXIKbWVudXRyYW5zICZTZXRcIENvbXBpbGVyCQlGb3Jk7XTzXCAmbWVnYWThc2EKCiIgVG9vbHMuRm9sZGluZwptZW51dHJhbnMgJkVuYWJsZS9EaXNhYmxlXCBmb2xkczxUYWI+emkJQmVoYWp04XNva1wgQkUmL0tJPFRhYj56aQptZW51dHJhbnMgJlZpZXdcIEN1cnNvclwgTGluZTxUYWI+enYJJkFrdHXhbGlzXCBzb3JcIGzhdHN6aWs8VGFiPnp2Cm1lbnV0cmFucyBWaWUmd1wgQ3Vyc29yXCBMaW5lXCBvbmx5PFRhYj56TXp4CSZDc2FrXCBha3R14Wxpc1wgc29yXCBs4XRzemlrPFRhYj56TXp4Cm1lbnV0cmFucyBDJmxvc2VcIG1vcmVcIGZvbGRzPFRhYj56bQlL9nZldGtlevVcIHN6aW50XCBiZSZ64XLhc2E8VGFiPnptCm1lbnV0cmFucyAmQ2xvc2VcIGFsbFwgZm9sZHM8VGFiPnpNCdZzc3plc1wgaGFqdOFzXCAmYmV64XLhc2E8VGFiPnpNCm1lbnV0cmFucyBPJnBlblwgbW9yZVwgZm9sZHM8VGFiPnpyCUv2dmV0a2V69Vwgc3ppbnRcIGtpJm55aXThc2E8VGFiPnpyCm1lbnV0cmFucyAmT3BlblwgYWxsXCBmb2xkczxUYWI+elIJ1nNzemVzXCBoYWp04XNcICZraW55aXThc2E8VGFiPnpSCm1lbnV0cmFucyBGb2xkXCBNZXQmaG9kCQkJQmVoYWp04XNva1wgJmzpdHJlaG964XNhCm1lbnV0cmFucyBNJmFudWFsCQkJJkvpemkKbWVudXRyYW5zIEkmbmRlbnQJCQlCZSZo+nrhcwptZW51dHJhbnMgRSZ4cHJlc3Npb24JCQlLaSZmZWpleulzCm1lbnV0cmFucyBTJnludGF4CQkJJlN6aW50YXhpcwptZW51dHJhbnMgJkRpZmYJCQkJJkRpZmYta/xs9m5ic+lnCm1lbnV0cmFucyBNYSZya2VyCQkJJkplbPZs6XMKbWVudXRyYW5zIENyZWF0ZVwgJkZvbGQ8VGFiPnpmCQnaJmpcIGJlaGFqdOFzPFRhYj56ZgptZW51dHJhbnMgJkRlbGV0ZVwgRm9sZDxUYWI+emQJCUJlaGFqdOFzXCAmdPZybOlzZTxUYWI+emQKbWVudXRyYW5zIERlbGV0ZVwgJkFsbFwgRm9sZHM8VGFiPnpECdZzcyZ6ZXNcIGJlaGFqdOFzXCB09nJs6XNlPFRhYj56RAptZW51dHJhbnMgRm9sZFwgY29sJnVtblwgd2lkdGgJCUJlaGFqdOFzb2tcIGFcICZtYXJn825cIHhcIG9zemxvcGJhbgoKIiBUb29scy5EaWZmCm1lbnV0cmFucyAmVXBkYXRlCQkmRnJpc3PtdOlzCm1lbnV0cmFucyAmR2V0XCBCbG9jawkJQmxvY2tcICZCRQptZW51dHJhbnMgJlB1dFwgQmxvY2sJCUJsb2NrXCAmS0kKCgoKIiBOYW1lcyBmb3IgYnVmZmVyIG1lbnUuCm1lbnV0cmFucyAmQnVmZmVycwkJJlB1ZmZlcm9rCm1lbnV0cmFucyAmUmVmcmVzaFwgbWVudQkmRnJpc3PtdOlzCm1lbnV0cmFucyBEZWxldGUJCSZU9nJs6XMKbWVudXRyYW5zICZBbHRlcm5hdGUJCSZDc2VyZQptZW51dHJhbnMgJk5leHQJCQkmS/Z2ZXRrZXr1Cm1lbnV0cmFucyAmUHJldmlvdXMJCSZFbPV69QoKIiBXaW5kb3cgbWVudQptZW51dHJhbnMgJldpbmRvdwkJCSZBYmxhawptZW51dHJhbnMgJk5ldzxUYWI+XlduCQkJ2iZqPFRhYj5eV24KbWVudXRyYW5zIFMmcGxpdDxUYWI+XldzCQkmRmVsb3N6dOFzPFRhYj5eV3MKbWVudXRyYW5zIFNwJmxpdFwgVG9cICM8VGFiPl5XXl4JRmVsb3N6dOFzXCAmIy12YWw8VGFiPl5XXl4KbWVudXRyYW5zIFNwbGl0XCAmVmVydGljYWxseTxUYWI+Xld2CUZlbG9zenThc1wgRvwmZ2f1bGVnZXNlbjxUYWI+Xld2Cm1lbnV0cmFucyBTcGxpdFwgRmlsZVwgRSZ4cGxvcmVyCdpqXCAmaW506Xr1Cm1lbnV0cmFucyAmQ2xvc2U8VGFiPl5XYwkJQmUmeuFy4XM8VGFiPl5XYwptZW51dHJhbnMgQ2xvc2VcICZPdGhlcihzKTxUYWI+XldvCSZU9mJiaVwgYmV64XLhc2E8VGFiPl5XbwptZW51dHJhbnMgTmUmeHQ8VGFiPl5XdwkJCSZL9nZldGtlevU8VGFiPl5XdwptZW51dHJhbnMgUCZyZXZpb3VzPFRhYj5eV1cJCSZFbPV69TxUYWI+XldXCm1lbnV0cmFucyAmRXF1YWxcIFNpemU8VGFiPl5XPQkJJkF6b25vc1wgbWFnYXNz4Wc8VGFiPl5XPQptZW51dHJhbnMgJk1heFwgSGVpZ2h0PFRhYj5eV18JCU1hJnhcIG1hZ2Fzc+FnPFRhYj5eV18KbWVudXRyYW5zIE0maW5cIEhlaWdodDxUYWI+XlcxXwkJJk1pblwgbWFnYXNz4Wc8VGFiPl5XMV8KbWVudXRyYW5zIE1heFwgJldpZHRoPFRhYj5eV1x8CQlNYXhcICZzeulsZXNz6Wc8VGFiPl5XXHwKbWVudXRyYW5zIE1pblwgV2lkdCZoPFRhYj5eVzFcfAkJTWkmblwgc3rpbGVzc+lnPFRhYj5eVzFcfAptZW51dHJhbnMgTW92ZVwgJlRvCQkJJkVsbW96ZO104XMKbWVudXRyYW5zICZUb3A8VGFiPl5XSwkJCSZGZWw8VGFiPl5XSwptZW51dHJhbnMgJkJvdHRvbTxUYWI+XldKCQkmTGU8VGFiPl5XSgptZW51dHJhbnMgJkxlZnRcIHNpZGU8VGFiPl5XSAkJJkJhbHJhPFRhYj5eV0gKbWVudXRyYW5zICZSaWdodFwgc2lkZTxUYWI+XldMCQkmSm9iYnJhPFRhYj5eV0wKbWVudXRyYW5zIFJvdGF0ZVwgJlVwPFRhYj5eV1IJCUf2cmTtdOlzXCAmZmVsZmVs6TxUYWI+XldSCm1lbnV0cmFucyBSb3RhdGVcICZEb3duPFRhYj5eV3IJCUf2cmTtdOlzXCAmbGVmZWzpPFRhYj5eV3IKbWVudXRyYW5zIFNlbGVjdFwgRm8mbnRcLlwuXC4JCSZCZXT7dO1wdXNcLlwuXC4KCiIgVGhlIHBvcHVwIG1lbnUKbWVudXRyYW5zICZVbmRvCQkJJlZpc3N6YXZvbuFzCm1lbnV0cmFucyBDdSZ0CQkJJktpduFn4XMKbWVudXRyYW5zICZDb3B5CQkJJk3hc29s4XMKbWVudXRyYW5zICZQYXN0ZQkJJkJlaWxsZXN6dOlzCm1lbnV0cmFucyAmRGVsZXRlCQkmVPZybOlzCm1lbnV0cmFucyBTZWxlY3RcIEJsb2Nrd2lzZQlLaWplbPZs6XNcIGJsbyZra+ludAptZW51dHJhbnMgU2VsZWN0XCAmV29yZAkJUyZ681wga2lqZWz2bOlzZQptZW51dHJhbnMgU2VsZWN0XCAmTGluZQkJJlNvclwga2lqZWz2bOlzZQptZW51dHJhbnMgU2VsZWN0XCAmQmxvY2sJQiZsb2trXCBraWplbPZs6XNlCm1lbnV0cmFucyBTZWxlY3RcICZBbGwJCUEmelwg9nNzemVzXCBraWplbPZs6XNlCgoiIFRoZSBHVUkgdG9vbGJhcgppZiBoYXMoInRvb2xiYXIiKQogIGlmIGV4aXN0cygiKkRvX3Rvb2xiYXJfdG1lbnUiKQogICAgZGVsZnVuIERvX3Rvb2xiYXJfdG1lbnUKICBlbmRpZgogIGZ1biBEb190b29sYmFyX3RtZW51KCkKICAgIHRtZW51IFRvb2xCYXIuT3BlbgkJTWVnbnlpdOFzCiAgICB0bWVudSBUb29sQmFyLlNhdmUJCU1lbnTpcwogICAgdG1lbnUgVG9vbEJhci5TYXZlQWxsCU1pbmRldCBtZW50aQogICAgdG1lbnUgVG9vbEJhci5QcmludAkJTnlvbXRhdOFzCiAgICB0bWVudSBUb29sQmFyLlVuZG8JCVZpc3N6YXZvbuFzCiAgICB0bWVudSBUb29sQmFyLlJlZG8JCU3pZ2lzCiAgICB0bWVudSBUb29sQmFyLkN1dAkJS2l24WfhcwogICAgdG1lbnUgVG9vbEJhci5Db3B5CQlN4XNvbOFzCiAgICB0bWVudSBUb29sQmFyLlBhc3RlCQlCZWlsbGVzenTpcwogICAgdG1lbnUgVG9vbEJhci5GaW5kCQlLZXJlc+lzCiAgICB0bWVudSBUb29sQmFyLkZpbmROZXh0CVRvduFiYiBrZXJlc+lzCiAgICB0bWVudSBUb29sQmFyLkZpbmRQcmV2CUtlcmVz6XMgdmlzc3phZmVs6QogICAgdG1lbnUgVG9vbEJhci5SZXBsYWNlCUtlcmVz6XMvY3NlcmUKICAgIHRtZW51IFRvb2xCYXIuTG9hZFNlc24JTXVua2FtZW5ldCBiZW9sdmFz4XMKICAgIHRtZW51IFRvb2xCYXIuU2F2ZVNlc24JTXVua2FtZW5ldCBtZW506XMKICAgIHRtZW51IFRvb2xCYXIuUnVuU2NyaXB0CVZpbSBwcm9ncmFtIGluZO104XMKICAgIHRtZW51IFRvb2xCYXIuTWFrZQkJUHJvamVrdCDpcO106XMKICAgIHRtZW51IFRvb2xCYXIuU2hlbGwJCVNoZWxsIGluZO104XMKICAgIHRtZW51IFRvb2xCYXIuUnVuQ3RhZ3MJVGFnIOlw7XTpcwogICAgdG1lbnUgVG9vbEJhci5UYWdKdW1wCVVncuFzIGEga3Vyem9yIGFsYXR0aSB0YWdyYQogICAgdG1lbnUgVG9vbEJhci5IZWxwCQlWaW0gc/pn8wogICAgdG1lbnUgVG9vbEJhci5GaW5kSGVscAlLZXJlc+lzIGEgVmltIHP6Z/NiYW4KICBlbmRmdW4KZW5kaWYKCiIgU3ludGF4IG1lbnUKbWVudXRyYW5zICZTeW50YXgJCQlTeiZpbnRheGlzCm1lbnV0cmFucyAmU2hvd1wgZmlsZXR5cGVzXCBpblwgbWVudQlG4WpsJnTtcHVzb2tcIG1lbvwKbWVudXRyYW5zIFNldFwgJyZzeW50YXgnXCBvbmx5CQlDc2FrXCAnJnN5bnRheCcKbWVudXRyYW5zIFNldFwgJyZmaWxldHlwZSdcIHRvbwkJJyZmaWxldHlwZSdcIGlzCm1lbnV0cmFucyAmT2ZmCQkJCSZLaQptZW51dHJhbnMgJk1hbnVhbAkJCUvpJnppCm1lbnV0cmFucyBBJnV0b21hdGljCQkJQSZ1dG9tYXRpa3VzCm1lbnV0cmFucyBvbi9vZmZcIGZvclwgJlRoaXNcIGZpbGUJJkJFL0tJXCBlbm7pbFwgYVwgZuFqbG7hbAptZW51dHJhbnMgQ28mbG9yXCB0ZXN0CQkJJlN67W50ZXN6dAptZW51dHJhbnMgJkhpZ2hsaWdodFwgdGVzdAkJS2llbWVs6XNcICZ0ZXN6dAptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIVE1MCQkmSFRNTFwgb2xkYWxcIGvpc3rtdOlzZQoKIiBkaWFsb2cgdGV4dHMKbGV0IG1lbnV0cmFuc19ub19maWxlID0gIltOaW5jcyBmaWxlXSIKbGV0IG1lbnV0cmFuc19oZWxwX2RpYWxvZyA9ICLNcmQgYmUgYSBr7XbhbnQgc3rzdCB2YWd5IHBhcmFuY3NvdDpcblxuIEEgc3r2dmVnYmV2aXRlbGkgcGFyYW5jc29rIGVs6SDtcmogaV8tdCAocGwuOiBpX0NUUkwtWClcbkEgc29yc3plcmtlc3r1IHBhcmFuY3NvayBlbOkgY18tdCAocGwuOiBjXzxEZWw+KVxuQSB24Wx0b3rza2F0IGEgJyBqZWxsZWwgdmVkZCBr9nL8bCAocGwuOiAnc2hpZnR3aWR0aCcpIgpsZXQgZzptZW51dHJhbnNfcGF0aF9kaWFsb2cgPSAizXJkIGJlIGEga2VyZXNldHQgZuFqbCBsZWhldHPpZ2VzIGVs6XLpc2kg+nRqYWl0LCB2ZXNzevV2ZWwgZWx24Wxhc3p0dmEiCmxldCBnOm1lbnV0cmFuc190YWdzX2RpYWxvZyA9ICLNcmQgYmUgYSB0YWcgZuFqbCBsZWhldHPpZ2VzIGVs6XLpc2kg+nRqYWl0LCB2ZXNzevV2ZWwgZWx24Wxhc3p0dmEiCmxldCBnOm1lbnV0cmFuc190ZXh0d2lkdGhfZGlhbG9nID0gIs1yZCBiZSBhIHN69nZlZyBzeulsZXNz6WfpdCAoMCA9IGZvcm3heuFzIGtpa2FwY3NvbHZhKSIKbGV0IGc6bWVudXRyYW5zX2ZpbGVmb3JtYXRfZGlhbG9nID0gIlbhbGFzemQga2kgYSBm4WpsIGZvcm3hdHVt4XQiCgpsZXQgJmNwbyA9IHM6a2VlcGNwbwp1bmxldCBzOmtlZXBjcG8K