data:text/html;base64,PGh0bWw+DQoNCgk8aGVhZD4NCgkJPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPg0KDQoJCTxzdHlsZT4NCg0KCQkJYm9keSB7DQoJCQkJYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7DQoJCQl9DQoNCgkJCWh0bWwsIGJvZHkgew0KCQkJCW1hcmdpbjowOw0KCQkJCXBhZGRpbmc6MDsNCgkJCX0NCg0KCQkJLyogVGhlIE1vZGFsIChiYWNrZ3JvdW5kKSAqLw0KCQkJLm1vZGFsIHsNCgkJCSAgZGlzcGxheTogbm9uZTsgLyogSGlkZGVuIGJ5IGRlZmF1bHQgKi8NCgkJCSAgcG9zaXRpb246IGZpeGVkOyAvKiBTdGF5IGluIHBsYWNlICovDQoJCQkgIHotaW5kZXg6IDE7IC8qIFNpdCBvbiB0b3AgKi8NCgkJCSAgcGFkZGluZy10b3A6IDBweDsgLyogTG9jYXRpb24gb2YgdGhlIGJveCAqLw0KCQkJICBsZWZ0OiAwOw0KCQkJICB0b3A6IDA7DQoJCQkgIHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoICovDQoJCQkgIGhlaWdodDogMTAwJTsgLyogRnVsbCBoZWlnaHQgKi8NCgkJCSAgb3ZlcmZsb3c6IGF1dG87IC8qIEVuYWJsZSBzY3JvbGwgaWYgbmVlZGVkICovDQoJCQkgIGJhY2tncm91bmQtY29sb3I6IHJnYigwLDAsMCk7IC8qIEZhbGxiYWNrIGNvbG9yICovDQoJCQkgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC45KTsgLyogQmxhY2sgdy8gb3BhY2l0eSAqLw0KCQkJfQ0KDQoJCQkvKiBNb2RhbCBDb250ZW50IChJbWFnZSkgKi8NCgkJCS5tb2RhbC1jb250ZW50IHsNCgkJCSAgbWFyZ2luOiBhdXRvOw0KCQkJICBkaXNwbGF5OiBibG9jazsNCgkJCSAgd2lkdGg6IDgwJTsNCgkJCSAgbWF4LXdpZHRoOiA3MDBweDsNCgkJCX0NCg0KCQkJLyogQWRkIEFuaW1hdGlvbiAtIFpvb20gaW4gdGhlIE1vZGFsICovDQoJCQkubW9kYWwtY29udGVudCwgI2NhcHRpb24gew0KCQkJICBhbmltYXRpb24tbmFtZTogem9vbTsNCgkJCSAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjZzOw0KCQkJfQ0KDQoJCQlAa2V5ZnJhbWVzIHpvb20gew0KCQkJICBmcm9tIHt0cmFuc2Zvcm06c2NhbGUoMCl9DQoJCQkgIHRvIHt0cmFuc2Zvcm06c2NhbGUoMSl9DQoJCQl9DQoNCgkJCS8qIFRoZSBDbG9zZSBCdXR0b24gKi8NCgkJCS5jbG9zZSB7DQoJCQkgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCgkJCSAgdG9wOiAxNXB4Ow0KCQkJICByaWdodDogMzVweDsNCgkJCSAgY29sb3I6ICNmMWYxZjE7DQoJCQkgIGZvbnQtc2l6ZTogNDBweDsNCgkJCSAgZm9udC13ZWlnaHQ6IGJvbGQ7DQoJCQkgIHRyYW5zaXRpb246IDAuM3M7DQoJCQl9DQoNCgkJCS5jbG9zZTpob3ZlciwNCgkJCS5jbG9zZTpmb2N1cyB7DQoJCQkgIGNvbG9yOiAjYmJiOw0KCQkJICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQoJCQkgIGN1cnNvcjogcG9pbnRlcjsNCgkJCX0NCg0KCQkJLyogMTAwJSBJbWFnZSBXaWR0aCBvbiBTbWFsbGVyIFNjcmVlbnMgKi8NCgkJCUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzAwcHgpew0KCQkJICAubW9kYWwtY29udGVudCB7DQoJCQkJd2lkdGg6IDEwMCU7DQoJCQkgIH0NCgkJCX0NCg0KCQkJI21haW5DYW52YXMgew0KCQkJCS13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqLw0KCQkJCS1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovDQoJCQkJdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFN0YW5kYXJkIHN5bnRheCAqLw0KCQkJfQ0KDQoJCTwvc3R5bGU+DQoJPC9oZWFkPg0KCTxib2R5Pg0KDQoJCTxjZW50ZXI+DQoJCSAgPGNhbnZhcyBpZD0ibWFpbkNhbnZhcyIgc3R5bGU9Im9iamVjdC1maXQ6IGNvbnRhaW47Ij48L2NhbnZhcz4NCgkJICA8Y2FudmFzIGlkPSJzbWFsbENhbnZhcyIgPjwvY2FudmFzPg0KCQk8L2NlbnRlcj4NCg0KCQk8IS0tIFRoZSBNb2RhbCAtLT4NCgkJPGRpdiBpZD0ibXlNb2RhbCIgY2xhc3M9Im1vZGFsIj4NCgkJCTwhLS0gVGhlIENsb3NlIEJ1dHRvbiAtLT4NCgkJCTxzcGFuIGNsYXNzPSJjbG9zZSI+JnRpbWVzOzwvc3Bhbj4NCg0KCQkJPCEtLSBNb2RhbCBDb250ZW50IChUaGUgSW1hZ2UpIC0tPg0KCQkJPGltZyBjbGFzcz0ibW9kYWwtY29udGVudCIgaWQ9ImltZzAxIiBzdHlsZT0ib2JqZWN0LWZpdDogY29udGFpbjsgd2lkdGg6IDEwMHZ3OyBoZWlnaHQ6IDEwMHZoOyIgd2lkdGg9IjQwOTYiIGhlaWdodD0iNDA5NiI+DQoNCgkJPC9kaXY+DQoNCgkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KCQkgIGZ1bmN0aW9uIGEoKXtyZXR1cm4iIyIrKE1hdGgucmFuZG9tKCkqMTY3NzcyMTU8PDApLnRvU3RyaW5nKDE2KS5wYWRTdGFydCg2LCIwIil9ZnVuY3Rpb24gbihhLG4pe3JldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKG4tYSsxKSthKX12YXIgdD1uKC0xMCwxMCk7dmFyIHY9bigtMTAsMTApO2Z1bmN0aW9uIHIoYSxuKXtyZXR1cm4gTWF0aC5yYW5kb20oKSoobi1hKSthfW1haW5DYW52YXM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW5DYW52YXMiKTttYWluQ2FudmFzLndpZHRoPTQwOTY7bWFpbkNhbnZhcy5oZWlnaHQ9NDA5NjttYWluQ2FudmFzLnN0eWxlLndpZHRoPSIxMDB2dyI7bWFpbkNhbnZhcy5zdHlsZS5oZWlnaHQ9IjEwMHZoIjttYWluQ2FudmFzLmdldENvbnRleHQoIjJkIikuc2NhbGUoMiwyKTt2YXIgaD1tYWluQ2FudmFzLmdldENvbnRleHQoIjJkIik7c21hbGxDYW52YXM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNtYWxsQ2FudmFzIik7c21hbGxDYW52YXMuaGlkZGVuPXRydWU7c21hbGxDYW52YXMud2lkdGg9MTAyNDtzbWFsbENhbnZhcy5oZWlnaHQ9MTAyNDtzbWFsbENhbnZhcy5nZXRDb250ZXh0KCIyZCIpO3ZhciBsPXNtYWxsQ2FudmFzLmdldENvbnRleHQoIjJkIik7dmFyIHM9IiMwMDAwMDAiO3ZhciBtPSIjZGJhOTAxIjt2YXIgTT0iI2Y2ZDAwMSI7dmFyIGk9IiMwMDAwMDAiO3ZhciBlPSIjZjdlOTAxIjt2YXIgYz0iIzAwMDAwMCI7dmFyIG89IiNmN2Y3MDAiO3ZhciBmPSIjMDAwMDAwIjt2YXIgQz1sLmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMjQpLE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxMDI0KSxNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMTAyNCkpO0MuYWRkQ29sb3JTdG9wKE1hdGgucmFuZG9tKCksIiMwMDAwMDAiKTtDLmFkZENvbG9yU3RvcChNYXRoLnJhbmRvbSgpLCIjZmZmZmZmIik7Qy5hZGRDb2xvclN0b3AoTWF0aC5yYW5kb20oKSwiIzAwMDAwMCIpO0MuYWRkQ29sb3JTdG9wKE1hdGgucmFuZG9tKCksIiNmZmZmZmYiKTtsLmZpbGxTdHlsZT1DO2wuZmlsbFJlY3QoMCwwLDEwMjQsMTAyNCk7aC50cmFuc2xhdGUoMTAyNCwxMDI0KTt2YXIgdT1sLmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMjQpLE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxMDI0KSxNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMTAyNCkpO3UuYWRkQ29sb3JTdG9wKE1hdGgucmFuZG9tKCksbSk7dS5hZGRDb2xvclN0b3AoTWF0aC5yYW5kb20oKSxNKTt1LmFkZENvbG9yU3RvcChNYXRoLnJhbmRvbSgpLGkpO3UuYWRkQ29sb3JTdG9wKE1hdGgucmFuZG9tKCksZSk7dS5hZGRDb2xvclN0b3AoTWF0aC5yYW5kb20oKSxjKTt1LmFkZENvbG9yU3RvcChNYXRoLnJhbmRvbSgpLG8pO3UuYWRkQ29sb3JTdG9wKE1hdGgucmFuZG9tKCksZik7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNtYWxsQ2FudmFzIik7dmFyIGc9ZC5nZXRDb250ZXh0KCIyZCIpO3ZhciBrPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MC4wOTA5MDkwOTUpO3ZhciB3PXIoN2U0LDllNCk7dmFyIGI9cigwLDUxMik7dmFyIHk9cigwLDUxMik7dmFyIFQ9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEpKy4wMDc5O3ZhciBwPTQyMy45NTE5NzY1NjY5NzMyO3ZhciBxPXA7Zy5tb3ZlVG8oYix5KTt3aGlsZShxPGsrdyl7dmFyIEk9YitxKk1hdGguY29zKHEpKlQ7dmFyIGo9eStxKk1hdGguc2luKHEpKlQ7Zy5saW5lVG8oSSxqKTtxPXErcH1nLmZpbGxTdHlsZT11O2cuZmlsbFJlY3QoMCwwLDQwOTYsNDA5Nik7Zy5zaGFkb3dDb2xvcj1pO2cuc2hhZG93T2Zmc2V0WD10O2cuc2hhZG93T2Zmc2V0WT12O2cuc2hhZG93Qmx1cj01MDA7Zy5zdHJva2VTdHlsZT1pO2cubGluZVdpZHRoPTg7Zy5zdHJva2UoKTtsLm1vdmVUbyhiLHkpO3ZhciBxPXA7d2hpbGUocTxrK3cpe3ZhciBJPWIrcSpNYXRoLmNvcyhxKSpUO3ZhciBqPXkrcSpNYXRoLnNpbihxKSpUO2wubGluZVRvKEksaik7cT1xK3B9bC5zdHJva2VTdHlsZT1DO2wubGluZVdpZHRoPTM7bC5zdHJva2UoKTtoLmRyYXdJbWFnZShzbWFsbENhbnZhcywwLDApO2guc2NhbGUoMSwtMSk7aC5kcmF3SW1hZ2Uoc21hbGxDYW52YXMsMCwwKTtoLnNjYWxlKC0xLDEpO2guZHJhd0ltYWdlKHNtYWxsQ2FudmFzLDAsMCk7aC5zY2FsZSgxLC0xKTtoLmRyYXdJbWFnZShzbWFsbENhbnZhcywwLDApO2xldCB4O2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluQ2FudmFzIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGE9PntpZihhLmRldGFpbD09PTEpe3g9c2V0VGltZW91dCgoKT0+e2NvbnNvbGUubG9nKCJjbGljayIpO2xvY2F0aW9uLnJlbG9hZCgpfSwyMDApfX0pO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluQ2FudmFzIikuYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLGE9PntjbGVhclRpbWVvdXQoeCk7Y29uc29sZS5sb2coImRibGNsaWNrIik7eigpfSk7ZnVuY3Rpb24geigpe3ZhciBhPW1haW5DYW52YXMudG9EYXRhVVJMKHtmb3JtYXQ6ImltYWdlL3BuZyIsdDoxLHdpZHRoOjQwOTYsaGVpZ2h0OjQwOTZ9KTt2YXIgbj1uZXcgSW1hZ2U7bi5zcmM9YTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibXlNb2RhbCIpO3ZhciB2PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWcwMSIpO3Quc3R5bGUuZGlzcGxheT0iYmxvY2siO3Yuc3JjPWE7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiY2xvc2UiKVswXTtyLm9uY2xpY2s9ZnVuY3Rpb24oKXt0LnN0eWxlLmRpc3BsYXk9Im5vbmUifX0NCgkJPC9zY3JpcHQ+DQoJPC9ib2R5Pg0KPC9odG1sPg==