IiBNZW51IFRyYW5zbGF0aW9uczoJU2xvdmFrCiIgVHJhbnNsYXRlZCBCeToJTWFydGluIExhY2tvIDxsYWNrb0Bob3N0LnNrPgoiIExhc3QgQ2hhbmdlOgkJMjAxMiBNYXkgMDEKCiIgUXVpdCB3aGVuIG1lbnUgdHJhbnNsYXRpb25zIGhhdmUgYWxyZWFkeSBiZWVuIGRvbmUuCmlmIGV4aXN0cygiZGlkX21lbnVfdHJhbnMiKQogIGZpbmlzaAplbmRpZgpsZXQgZGlkX21lbnVfdHJhbnMgPSAxCmxldCBzOmtlZXBjcG89ICZjcG8Kc2V0IGNwbyZ2aW0KCnNjcmlwdGVuY29kaW5nIGlzby04ODU5LTIKCiIgSGVscCBtZW51Cm1lbnV0cmFucyAmSGVscAkJCSZQb21vY27tawptZW51dHJhbnMgJk92ZXJ2aWV3PFRhYj48RjE+CSZQcmVotWFkPFRhYj48RjE+Cm1lbnV0cmFucyAmVXNlclwgTWFudWFsCQlQbyZ1vu12YXRltXNr/VwgbWFudeFsCm1lbnV0cmFucyAmSG93LXRvXCBsaW5rcwkmVGlweQptZW51dHJhbnMgJkZpbmRcLlwuXC4JCSZO4Wpzu1wuXC5cLgptZW51dHJhbnMgJkNyZWRpdHMJCVBv7yZha292YW5pZQptZW51dHJhbnMgTyZycGhhbnMJCVNpJnJvdHkKbWVudXRyYW5zIENvJnB5aW5nCQkmTGljZW5jaWEKbWVudXRyYW5zICZWZXJzaW9uCQkmVmVyemlhCm1lbnV0cmFucyAmQWJvdXQJCSZPXCBwcm9ncmFtZQoKIiBGaWxlIG1lbnUKbWVudXRyYW5zICZGaWxlCQkJCSZT+mJvcgptZW51dHJhbnMgJk9wZW5cLlwuXC48VGFiPjplCQkmT3R2b3Jpu1wuXC5cLjxUYWI+OmUKbWVudXRyYW5zIFNwJmxpdC1PcGVuXC5cLlwuPFRhYj46c3AJT3Qmdm9yabtcIHZcIG5vdm9tXCBva25lXC5cLlwuPFRhYj46c3AKbWVudXRyYW5zICZOZXc8VGFiPjplbmV3CQkmTm92/TxUYWI+OmVuZXcKbWVudXRyYW5zICZDbG9zZTxUYWI+OmNsb3NlCQkmWmF0dm9yabs8VGFiPjpjbG9zZQptZW51dHJhbnMgJlNhdmU8VGFiPjp3CQkJJlVsb75puzxUYWI+OncKbWVudXRyYW5zIFNhdmVcICZBc1wuXC5cLjxUYWI+OnNhdglVbG++abtcICZha29cLlwuXC48VGFiPjpzYXYKbWVudXRyYW5zIFNwbGl0XCAmRGlmZlwgd2l0aFwuXC5cLglPdHZvciZpu1wgcG9yb3ZuYW5pZVwgdlwgbm92b21cIG9rbmVcIHNcLlwuXC4KbWVudXRyYW5zIFNwbGl0XCBQYXRjaGVkXCAmQnlcLlwuXC4JT3R2byZyabtcIGFrdHVhbGl6b3ZhbulcIHNcLlwuXC4KbWVudXRyYW5zICZQcmludAkJCSZUbGHoCm1lbnV0cmFucyBTYSZ2ZS1FeGl0PFRhYj46d3FhCQlVJmxvvmm7LUtvbmllYzxUYWI+OndxYQptZW51dHJhbnMgRSZ4aXQ8VGFiPjpxYQkJCSZLb25pZWM8VGFiPjpxYQoKIiBFZGl0IG1lbnUKbWVudXRyYW5zICZFZGl0CQkJCSbacHJhdnkKbWVudXRyYW5zICZVbmRvPFRhYj51CQkJJlNw5Ls8VGFiPnUKbWVudXRyYW5zICZSZWRvPFRhYj5eUgkJCVomcnW5abtcIHNw5Ls8VGFiPl5SCm1lbnV0cmFucyBSZXAmZWF0PFRhYj5cLgkJJk9wYWtvdmG7PFRhYj5cLgptZW51dHJhbnMgQ3UmdDxUYWI+Iit4CQkJJlZ5c3RyaWhu+rs8VGFiPiIreAptZW51dHJhbnMgJkNvcHk8VGFiPiIreQkJCSZLb3Dtcm92Ybs8VGFiPiIreQptZW51dHJhbnMgJlBhc3RlPFRhYj4iK2dQCQlWJmxvvmm7PFRhYj4iK2dQCm1lbnV0cmFucyBQdXRcICZCZWZvcmU8VGFiPltwCQlWbG++abtcICZwcmVkPFRhYj5bcAptZW51dHJhbnMgUHV0XCAmQWZ0ZXI8VGFiPl1wCQlWbG++abtcIHphPFRhYj5dcAptZW51dHJhbnMgJlNlbGVjdFwgYWxsPFRhYj5nZ1ZHCQlWeSZicmG7XCB2uWV0a288VGFiPmdnVkcKbWVudXRyYW5zICZEZWxldGU8VGFiPngJCQlWeSZtYXphuzxUYWI+eAptZW51dHJhbnMgJkZpbmRcLlwuXC4JCQkmTuFqc7tcLlwuXC4KbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4JTiZhaHJhZGm7XC5cLlwuCm1lbnV0cmFucyBTZXR0aW5nc1wgJldpbmRvdwkJTW8mvm5vc3RpCm1lbnV0cmFucyAmR2xvYmFsXCBTZXR0aW5ncwkJJkdsb2LhbG5lIG1vvm5vc3RpCm1lbnV0cmFucyBUb2dnbGVcIFBhdHRlcm5cICZIaWdobGlnaHQ8VGFiPjpzZXRcIGhscyEJUHJlcG76u1wgcGFsZXR1XCB6dv1yYXryb3ZhbmlhPFRhYj46c2V0XCBobHMhCm1lbnV0cmFucyBUb2dnbGVcICZJZ25vcmUtY2FzZTxUYWI+OnNldFwgaWMhCVByZXBu+rtcICZpZ25vcm92YW5pZSB2ZbVrb3N0aTxUYWI+OnNldFwgaWMhCm1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtIQlQcmVwbvq7XCAmdWvhemG7XCB6aG9kdTxUYWI+OnNldFwgc20hCm1lbnV0cmFucyAmQ29udGV4dFwgbGluZXMJCSZLb250ZXh0b3bpXCByaWFka3kKbWVudXRyYW5zICZWaXJ0dWFsXCBFZGl0CQkmVmlydHXhbG5lIPpwcmF2eQptZW51dHJhbnMgTmV2ZXIJCQkJTmlrZHkKbWVudXRyYW5zIEJsb2NrXCBTZWxlY3Rpb24JCUJsb2tvdv1cIHb9YmVyCm1lbnV0cmFucyBJbnNlcnRcIG1vZGUJCQlSZb5pbVwgdmtsYWRhbmlhCm1lbnV0cmFucyBCbG9ja1wgYW5kXCBJbnNlcnQJCUJsb2tcIGFcIHZrbGFkYW5pZQptZW51dHJhbnMgQWx3YXlzCQkJVr5keQptZW51dHJhbnMgVG9nZ2xlXCBJbnNlcnRcICZNb2RlPFRhYj46c2V0XCBpbSEJUHJlcG76u1wgcmW+aSZtXCB2a2xhZGFuaWE8VGFiPjpzZXRcIGltIQptZW51dHJhbnMgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwIQlQcmVwbvq7XCB2aVwga29tcGF0aWJpbGl0dTxUYWI+OnNldFwgY3AhCm1lbnV0cmFucyBTZWFyY2hcICZQYXRoXC5cLlwuCQlDZXN0YVwgJmi1YWRhbmlhXC5cLlwuCm1lbnV0cmFucyBUYSZnXCBGaWxlc1wuXC5cLgkJVGEmZ2926SBz+mJvcnlcLlwuXC4KbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCVByZXBu+rtcICZwYW5lbAptZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJUHJlcG76u1wgc3BvZG79XCBwb3N1dm7tawptZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCVByZXBu+rtcILVhdv1cIHBvc3V2bu1rCm1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCVByZXBu+rtcIHByYXb9XCBwb3N1dm7tawptZW51dHJhbnMgRiZpbGVcIFNldHRpbmdzCQlOYXN0YXZlbmlhXCBz+mJvcnUKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJk51bWJlcmluZzxUYWI+OnNldFwgbnUhCVByZXBu+rtcIOjtc2xvdmEmbmllXCByaWFka292PFRhYj46c2V0XCBudSEKbWVudXRyYW5zIFRvZ2dsZVwgJkxpc3RcIE1vZGU8VGFiPjpzZXRcIGxpc3QhCQlQcmVwbvq7XCByZb5pbVwgJnpvem5hbXU8VGFiPjpzZXRcIGxpc3QhCm1lbnV0cmFucyBUb2dnbGVcIExpbmVcICZXcmFwPFRhYj46c2V0XCB3cmFwIQkJUHJlcG76u1wgeiZhbGFtb3ZhbmllXCByaWFka292PFRhYj46c2V0XCB3cmFwIQptZW51dHJhbnMgVG9nZ2xlXCBXJnJhcFwgYXRcIHdvcmQ8VGFiPjpzZXRcIGxiciEJUHJlcG76u1wgemEmbGFtb3ZhbmllXCBzbG92PFRhYj46c2V0XCBsYnIhCm1lbnV0cmFucyBUb2dnbGVcICZleHBhbmQtdGFiPFRhYj46c2V0XCBldCEJCVByZXBu+rtcIHJverntciZlbulcIHRhYnVs4XRvcnk8VGFiPjpzZXRcIGV0IQptZW51dHJhbnMgVG9nZ2xlXCAmYXV0by1pbmRlbnQ8VGFiPjpzZXRcIGFpIQkJUHJlcG76u1wgYXV0b21hdGlja+lcICZvZHNhZHpvdmFuaWU8VGFiPjpzZXRcIGFpIQptZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEJCVByZXBu+rtcICZDLW9kc2Fkem92YW5pZTxUYWI+OnNldFwgY2luIQptZW51dHJhbnMgJlNoaWZ0d2lkdGgJCQkmqe1ya2FcILlpZnR1Cm1lbnV0cmFucyBTb2Z0XCAmVGFic3RvcAkJJlNvZnR26XJvdv1cIHRhYnVs4XRvcgptZW51dHJhbnMgVGUmeHRcIFdpZHRoXC5cLlwuCQmp7XJrYVwgdGUmeHR1XC5cLlwuCm1lbnV0cmFucyAmRmlsZVwgRm9ybWF0XC5cLlwuCQkmRm9ybeF0XCBz+mJvcnVcLlwuXC4KbWVudXRyYW5zIEMmb2xvclwgU2NoZW1lCQlGYXImZWJu4Vwgc2No6W1hCgoiIFByb2dyYW1taW5nIG1lbnUKbWVudXRyYW5zICZUb29scwkJCSZO4XN0cm9qZQptZW51dHJhbnMgJkp1bXBcIHRvXCB0aGlzXCB0YWc8VGFiPmdeXQkmU2tv6Gm7XCBuYVwgem5h6Gt1PFRhYj5nXl0KbWVudXRyYW5zIEp1bXBcICZiYWNrPFRhYj5eVAkJU2smb+hpu1wgc3DkuzxUYWI+XlQKbWVudXRyYW5zIEJ1aWxkXCAmVGFnc1wgRmlsZQkJJlZ5dHZvcmm7XCBz+mJvclwgem5h6GllawptZW51dHJhbnMgJkZvbGRpbmcJCQkmVm7hcmFuaWUKbWVudXRyYW5zICZFbmFibGUvRGlzYWJsZVwgZm9sZHM8VGFiPnppCVphcG76uy9WeXBu+rtcIHZu4XJhbmkmZTxUYWI+emkKbWVudXRyYW5zICZWaWV3XCBDdXJzb3JcIExpbmU8VGFiPnp2CVpvYnJhemm7XCBrdXJ6b3JvJnb9XCByaWFkb2s8VGFiPnp2Cm1lbnV0cmFucyBWaWUmd1wgQ3Vyc29yXCBMaW5lXCBvbmx5PFRhYj56TXp4CVpvYnJhemm7XCBpYmFcIGt1cnpvcm92/VwgcmlhZG9rPFRhYj56TXp4Cm1lbnV0cmFucyBDJmxvc2VcIG1vcmVcIGZvbGRzPFRhYj56bQlaYXR2b3Jpu1wgdmlhYyBcdm5vcmVu7TxUYWI+em0KbWVudXRyYW5zICZDbG9zZVwgYWxsXCBmb2xkczxUYWI+ek0JWmF0dm9yJmm7XCB2uWV0a3lcIHZub3JlbmlhPFRhYj56TQptZW51dHJhbnMgTyZwZW5cIG1vcmVcIGZvbGRzPFRhYj56cglPJnR2b3Jpu1wgdmlhY1wgdm5vcmVu7TxUYWI+enIKbWVudXRyYW5zICZPcGVuXCBhbGxcIGZvbGRzPFRhYj56UgkmT3R2b3Jpu1wgdrlldGt5XCB2bm9yZW5pYTxUYWI+elIKbWVudXRyYW5zIEZvbGRcIE1ldCZob2QJCQlNZXTzJmRhXCB2buFyYW5pYQptZW51dHJhbnMgTSZhbnVhbAkJCU0mYW514WxuZQptZW51dHJhbnMgSSZuZGVudAkJCU9kc2FkZSZuaWUKbWVudXRyYW5zIEUmeHByZXNzaW9uCQkJJlb9cmF6Cm1lbnV0cmFucyBTJnludGF4CQkJUyZ5bnRheAptZW51dHJhbnMgJkRpZmYJCQkJUm96JmRpZWwKbWVudXRyYW5zIE1hJnJrZXIJCQlabmEm6GtvdmHoCm1lbnV0cmFucyBDcmVhdGVcICZGb2xkPFRhYj56ZgkJVnl0JnZvcmm7XCB2bm9yZW5pZTxUYWI+emYKbWVudXRyYW5zICZEZWxldGVcIEZvbGQ8VGFiPnpkCQlWJnltYXphu1wgdm5vcmVuaWU8VGFiPnpkCm1lbnV0cmFucyBEZWxldGVcICZBbGxcIEZvbGRzPFRhYj56RAlWeW1hemG7XCB2uWV0a3lcIHZub3JlbmlhPFRhYj56RAptZW51dHJhbnMgRm9sZFwgY29sdW1uXCAmd2lkdGgJCantcmthXCAmdmtsYWRhbulob1wgc3TlcGNhCm1lbnV0cmFucyAmRGlmZgkJCQkmUm96ZGllbHkKbWVudXRyYW5zICZVcGRhdGUJCQlBa3QmdWFsaXpvdmG7Cm1lbnV0cmFucyAmR2V0XCBCbG9jawkJCVpvYiZyYbtcIGJsb2sKbWVudXRyYW5zICZQdXRcIEJsb2NrCQkJJlZsb75pu1wgYmxvawptZW51dHJhbnMgRXJyb3JcICZXaW5kb3cJCUNoeWJvdulcICZva25vCm1lbnV0cmFucyAmVXBkYXRlPFRhYj46Y3dpbgkJQWt0JnVhbGl6b3ZhuzxUYWI+OmN3aW4KbWVudXRyYW5zICZPcGVuPFRhYj46Y29wZW4JCSZPdHZvcmm7PFRhYj46Y29wZW4KbWVudXRyYW5zICZDbG9zZTxUYWI+OmNjbG9zZQkJJlphdHZvcmm7PFRhYj46Y2Nsb3NlCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhFWDxUYWI+OiUheHhkCSZLb252ZXJ0b3Zhu1wgZG9cIEhFWDxUYWI+OiUheHhkCm1lbnV0cmFucyBDb252ZSZydFwgYmFjazxUYWI+OiUheHhkXCAtcglLb252ZSZydG92YbtcIHNw5Ls8VGFiPjolIXh4ZFwgLXIKbWVudXRyYW5zICZNYWtlPFRhYj46bWFrZQkJJk1ha2U8VGFiPjptYWtlCm1lbnV0cmFucyAmTGlzdFwgRXJyb3JzPFRhYj46Y2wJCVb9cGlzXCAmY2j9YjxUYWI+OmNsCm1lbnV0cmFucyBMJmlzdFwgTWVzc2FnZXM8VGFiPjpjbCEJVv1wJmlzXCBzcHLhdjxUYWI+OmNsIQptZW51dHJhbnMgJk5leHRcIEVycm9yPFRhYj46Y24JCc9hJmy5aWFcIGNoeWJhPFRhYj46Y24KbWVudXRyYW5zICZQcmV2aW91c1wgRXJyb3I8VGFiPjpjcAkmUHJlZGNo4WR6YWr6Y2FcIGNoeWJhPFRhYj46Y3AKbWVudXRyYW5zICZPbGRlclwgTGlzdDxUYWI+OmNvbGQJU3RhJnK57Vwgem96bmFtPFRhYj46Y29sZAptZW51dHJhbnMgTiZld2VyXCBMaXN0PFRhYj46Y25ldwlOb3a57VwgJnpvem5hbTxUYWI+OmNuZXcKbWVudXRyYW5zIEVycm9yXCAmV2luZG93PFRhYj46Y3dpbglDaHlib3bpXCBvJmtubzxUYWI+OmN3aW4KbWVudXRyYW5zICZTZXRcIENvbXBpbGVyCQlWeWJlcnRlXCBrJm9tcGls4XRvcgptZW51dHJhbnMgQ29udmVydFwgdG9cIEhFWDxUYWI+OiUheHhkCVBydmllc7tcIGRvXCC5ZXMmdG7hc3Rrb3bpaG9cIGZvcm3hdHU8VGFiPjolIXh4ZAptZW51dHJhbnMgQ29udmVydFwgYmFjazxUYWI+OiUheHhkXCAtcglQciZldmllc7tcIHNw5Ls8VGFiPjolIXh4ZFwgLXIKCiIgTmFtZXMgZm9yIGJ1ZmZlciBtZW51LgptZW51dHJhbnMgJkJ1ZmZlcnMJCSZWeXJvdm7hdmFjaWFcIHBhbeS7Cm1lbnV0cmFucyAmUmVmcmVzaFwgbWVudQlPYm5vdmm7Cm1lbnV0cmFucyAmRGVsZXRlCQlWeW1hemG7Cm1lbnV0cmFucyAmQWx0ZXJuYXRlCQlabWVuabsKbWVudXRyYW5zICZOZXh0CQkJzyZhbLlpYQptZW51dHJhbnMgJlByZXZpb3VzCQkmUHJlZGNo4WR6YWr6Y2EKbWVudXRyYW5zIFtObyBGaWxlXQkJW65pYWRueVwgc/pib3JdCgoiIFdpbmRvdyBtZW51Cm1lbnV0cmFucyAmV2luZG93CQkJJk9rbuEKbWVudXRyYW5zICZOZXc8VGFiPl5XbgkJCSZOb3bpPFRhYj5eV24KbWVudXRyYW5zIFMmcGxpdDxUYWI+XldzCQkmUm96ZGVsabs8VGFiPl5XcwptZW51dHJhbnMgU3AmbGl0XCBUb1wgIzxUYWI+XldeXglSbyZ6ZGVsabtcIG5hXCAjPFRhYj5eV15eCm1lbnV0cmFucyBTcGxpdFwgJlZlcnRpY2FsbHk8VGFiPl5XdglSb3pkZWxpu1wgJnZlcnRpa+FsbmU8VGFiPl5XdgptZW51dHJhbnMgU3BsaXRcIEZpbGVcIEUmeHBsb3JlcglPdHZvcmm7XCBwcmkmZXNrdW1u7WthCm1lbnV0cmFucyAmQ2xvc2U8VGFiPl5XYwkJWmF0dm9yJmm7PFRhYj5eV2MKbWVudXRyYW5zIENsb3NlXCAmT3RoZXIocyk8VGFiPl5XbwlaYXR2b3Jpu1wgaSZu6TxUYWI+XldvCm1lbnV0cmFucyBNb3ZlXCAmVG8JCQlQcmVzdW76JrsKbWVudXRyYW5zICZUb3A8VGFiPl5XSwkJCU5hJmhvcjxUYWI+XldLCm1lbnV0cmFucyAmQm90dG9tPFRhYj5eV0oJCU5hZG8mbDxUYWI+XldKCm1lbnV0cmFucyAmTGVmdFwgc2lkZTxUYWI+XldICQlWJrVhdm88VGFiPl5XSgptZW51dHJhbnMgJlJpZ2h0XCBzaWRlPFRhYj5eV0wJCVZwcmF2Jm88VGFiPl5XTAptZW51dHJhbnMgTmUmeHQ8VGFiPl5XdwkJCc8mYWy5aWU8VGFiPl5XdwptZW51dHJhbnMgUCZyZXZpb3VzPFRhYj5eV1cJCSZQcmVkY2jhZHphavpjZTxUYWI+XldXCm1lbnV0cmFucyAmRXF1YWxcIFNpemU8VGFiPl5XPQkJUm92bmFr4Vwgdv25JmthPFRhYj5eVz0KbWVudXRyYW5zICZNYXhcIEhlaWdodDxUYWI+XldfCQkmTWF4aW3hbG5hXCB2/blrYTxUYWI+XldfCm1lbnV0cmFucyBNJmluXCBIZWlnaHQ8VGFiPl5XMV8JCU1pbmlt4WxuYVwgdv0muWthPFRhYj5eVzFfCm1lbnV0cmFucyBNYXhcICZXaWR0aDxUYWI+XldcfAkJTWF4aW3hbG5hXCC57XJrYTxUYWI+XldcfAptZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQlNaW5pbeFsbmEguWlya2E8VGFiPl5XMVx8Cm1lbnV0cmFucyBSb3RhdGVcICZVcDxUYWI+XldSCQlSb3RvdmEmu1wgbmFob3I8VGFiPl5XUgptZW51dHJhbnMgUm90YXRlXCAmRG93bjxUYWI+XldyCQlSb3RvdmG7XCBuYSZkb2w8VGFiPl5XcgptZW51dHJhbnMgU2VsZWN0XCBGbyZudFwuXC5cLgkJVnkmYnJhu1wgcO1zbW9cLlwuXC4KCiIgVGhlIHBvcHVwIG1lbnUKbWVudXRyYW5zICZVbmRvCQkJJlNw5LsKbWVudXRyYW5zIEN1JnQJCQkmVnlzdHJpaG76uwptZW51dHJhbnMgJkNvcHkJCQkmS29w7XJvdmG7Cm1lbnV0cmFucyAmUGFzdGUJCVYmbG++absKbWVudXRyYW5zICZEZWxldGUJCVYmeW1hemG7Cm1lbnV0cmFucyBTZWxlY3RcIEJsb2Nrd2lzZQlWeWJyYbtcIGJsb2tvdm8KbWVudXRyYW5zIFNlbGVjdFwgJldvcmQJCVZ5YnJhu1wgc2wmb3ZvCm1lbnV0cmFucyBTZWxlY3RcICZMaW5lCQlWeWJyYbtcICZyaWFkb2sKbWVudXRyYW5zIFNlbGVjdFwgJkJsb2NrCVZ5YnJhu1wgJmJsb2sKbWVudXRyYW5zIFNlbGVjdFwgJkFsbAkJVnlicmG7XCB2uSZldGtvCgoiIFRoZSBHVUkgdG9vbGJhcgppZiBoYXMoInRvb2xiYXIiKQogIGlmIGV4aXN0cygiKkRvX3Rvb2xiYXJfdG1lbnUiKQogICAgZGVsZnVuIERvX3Rvb2xiYXJfdG1lbnUKICBlbmRpZgogIGZ1biBEb190b29sYmFyX3RtZW51KCkKICAgIHRtZW51IFRvb2xCYXIuT3BlbgkJT3R2b3JpuyBz+mJvcgogICAgdG1lbnUgVG9vbEJhci5TYXZlCQlVbG++absgc/pib3IKICAgIHRtZW51IFRvb2xCYXIuU2F2ZUFsbAlVbG++absgdrlldGt5CiAgICB0bWVudSBUb29sQmFyLlByaW50CQlUbGHoCiAgICB0bWVudSBUb29sQmFyLlVuZG8JCVNw5LsKICAgIHRtZW51IFRvb2xCYXIuUmVkbwkJT3Bha292YbsKICAgIHRtZW51IFRvb2xCYXIuQ3V0CQlWeXN0cmlobvq7CiAgICB0bWVudSBUb29sQmFyLkNvcHkJCUtvcO1yb3ZhuwogICAgdG1lbnUgVG9vbEJhci5QYXN0ZQkJVmxvvmm7CiAgICB0bWVudSBUb29sQmFyLkZpbmQJCU7hanO7Li4uCiAgICB0bWVudSBUb29sQmFyLkZpbmROZXh0CU7hanO7IO9hbLlpZQogICAgdG1lbnUgVG9vbEJhci5GaW5kUHJldglO4WpzuyBwcmVkY2jhZHphavpjZQogICAgdG1lbnUgVG9vbEJhci5SZXBsYWNlCU5haHJhZGm7Li4uCiAgICBpZiAwCSIgZGlzYWJsZWQ7IFRoZXNlIGFyZSBpbiB0aGUgV2luZG93cyBtZW51CiAgICAgIHRtZW51IFRvb2xCYXIuTmV3CQlOb3bpIG9rbm8KICAgICAgdG1lbnUgVG9vbEJhci5XaW5TcGxpdAlSb3pkZWxpuyBva25vCiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWF4CU1heGltYWxpem92Ybsgb2tubwogICAgICB0bWVudSBUb29sQmFyLldpbk1pbglNaW5pbWFsaXpvdmG7IG9rbm8KICAgICAgdG1lbnUgVG9vbEJhci5XaW5WU3BsaXQJUm96ZGVsabsgb2tubyB2ZXJ0aWvhbG5lCiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWF4V2lkdGgJTWF4aW1hbGl6b3ZhuyC57XJrdSBva25hCiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWluV2lkdGgJTWluaW1hbGl6b3ZhuyC57XJrdSBva25hCiAgICAgIHRtZW51IFRvb2xCYXIuV2luQ2xvc2UJWmF0dm9yabsgb2tubwogICAgZW5kaWYKICAgIHRtZW51IFRvb2xCYXIuTG9hZFNlc24JTmHo7XRhuyBzZWRlbmllCiAgICB0bWVudSBUb29sQmFyLlNhdmVTZXNuCVVsb75puyBzZWRlbmllCiAgICB0bWVudSBUb29sQmFyLlJ1blNjcmlwdAlTcHVzdGm7IHNrcmlwdAogICAgdG1lbnUgVG9vbEJhci5NYWtlCQlTcHVzdGm7IG1ha2UKICAgIHRtZW51IFRvb2xCYXIuU2hlbGwJCVNwdXN0absguWVsCiAgICB0bWVudSBUb29sQmFyLlJ1bkN0YWdzCVNwdXN0absgY3RhZ3MKICAgIHRtZW51IFRvb2xCYXIuVGFnSnVtcAlTa2/oabsgbmEgdGFnIHBvZCBrdXJ6b3JvbQogICAgdG1lbnUgVG9vbEJhci5IZWxwCQlQb21vY27tawogICAgdG1lbnUgVG9vbEJhci5GaW5kSGVscAlO4WpzuyBwb21vY27ta2Egay4uLgogIGVuZGZ1bgplbmRpZgoKIiBTeW50YXggbWVudQptZW51dHJhbnMgJlN5bnRheAkJJlN5bnRheAptZW51dHJhbnMgU2V0XCAnJnN5bnRheCdcIG9ubHkJTmFzdGF2abtcIGliYVwgJ3N5bnRheCcKbWVudXRyYW5zIFNldFwgJyZmaWxldHlwZSdcIHRvbwlOYXN0YXZpu1wgYWpcICdmaWxldHlwZScKbWVudXRyYW5zICZPZmYJCQkmVnlwbvq7Cm1lbnV0cmFucyAmTWFudWFsCQkmUnXobmUKbWVudXRyYW5zIEEmdXRvbWF0aWMJCUEmdXRvbWF0aWNreQoiIG1lbnV0cmFucyBvJm5cICh0aGlzXCBmaWxlKQkmWmFwbvq7XCAocHJlXCB0ZW50b1wgc/pib3IpCiIgbWVudXRyYW5zIG8mZmZcICh0aGlzXCBmaWxlKQlWeXAmbvq7XCAocHJlXCB0ZW50b1wgc/pib3IgKQptZW51dHJhbnMgb24vb2ZmXCBmb3JcICZUaGlzXCBmaWxlCVphcG76uy92eXBu+rtcIHByZVwgJnRlbnRvXCBz+mJvcgptZW51dHJhbnMgQ28mbG9yXCB0ZXN0CQlUZXN0XCAmZmFyaWViCm1lbnV0cmFucyAmSGlnaGxpZ2h0XCB0ZXN0CSZUZXN0XCB6dv1yYXryb3ZhbmlhCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhUTUwJJlByZXZpZXO7XCBkb1wgSFRNTAoKbGV0ICZjcG8gPSBzOmtlZXBjcG8KdW5sZXQgczprZWVwY3BvCg==