ZCI+PGltZyBjbGFzcz0iaWNvbiIgc3JjPSJodHRwczovL3d3dy5ub3Rpb24uc28vaWNvbnMvZG9jdW1lbnRfcmVkLnN2ZyIvPjwvZGl2PjxoMSBjbGFzcz0icGFnZS10aXRsZSI+Q29uY3VycmVuY3kgaW4gR286IEZyb20gQmFzaWNzIHRvIEJldHRlciBQcmFjdGljZXM8L2gxPjxwIGNsYXNzPSJwYWdlLWRlc2NyaXB0aW9uIj48L3A+PHRhYmxlIGNsYXNzPSJwcm9wZXJ0aWVzIj48dGJvZHk+PHRyIGNsYXNzPSJwcm9wZXJ0eS1yb3cgcHJvcGVydHktcm93LWNyZWF0ZWRfYnkiPjx0aD48c3BhbiBjbGFzcz0iaWNvbiBwcm9wZXJ0eS1pY29uIj48c3ZnIHJvbGU9ImdyYXBoaWNzLXN5bWJvbCIgdmlld0JveD0iMCAwIDE2IDE2IiBzdHlsZT0id2lkdGg6MTRweDtoZWlnaHQ6MTRweDtkaXNwbGF5OmJsb2NrO2ZpbGw6cmdiYSg1NSwgNTMsIDQ3LCAwLjQ1KTtmbGV4LXNocmluazowIiBjbGFzcz0idHlwZXNDcmVhdGVkQnkiPjxwYXRoIGQ9Ik04IDE1LjEyNkMxMS44NjIzIDE1LjEyNiAxNS4wNjE1IDExLjkzMzYgMTUuMDYxNSA4LjA2NDQ1QzE1LjA2MTUgNC4yMDIxNSAxMS44NjIzIDEuMDAyOTMgNy45OTMxNiAxLjAwMjkzQzQuMTMwODYgMS4wMDI5MyAwLjkzODQ3NyA0LjIwMjE1IDAuOTM4NDc3IDguMDY0NDVDMC45Mzg0NzcgMTEuOTMzNiA0LjEzNzcgMTUuMTI2IDggMTUuMTI2Wk04IDEwLjQyMjlDNi4wNTE3NiAxMC40MjI5IDQuNTQ3ODUgMTEuMTEzMyAzLjgzMDA4IDExLjkxMzFDMi45MDAzOSAxMC45MDgyIDIuMzMzMDEgOS41NTQ2OSAyLjMzMzAxIDguMDY0NDVDMi4zMzMwMSA0LjkxOTkyIDQuODQ4NjMgMi4zOTc0NiA3Ljk5MzE2IDIuMzk3NDZDMTEuMTM3NyAyLjM5NzQ2IDEzLjY3MzggNC45MTk5MiAxMy42NzM4IDguMDY0NDVDMTMuNjczOCA5LjU1NDY5IDEzLjEwNjQgMTAuOTA4MiAxMi4xNjk5IDExLjkxMzFDMTEuNDUyMSAxMS4xMTMzIDkuOTQ4MjQgMTAuNDIyOSA4IDEwLjQyMjlaTTggOS4zMDE3NkM5LjMyNjE3IDkuMzA4NTkgMTAuMzUxNiA4LjE4MDY2IDEwLjM1MTYgNi43MTA5NEMxMC4zNTE2IDUuMzMwMDggOS4zMTkzNCA0LjE4MTY0IDggNC4xODE2NEM2LjY4NzUgNC4xODE2NCA1LjY0MTYgNS4zMzAwOCA1LjY0ODQ0IDYuNzEwOTRDNS42NTUyNyA4LjE4MDY2IDYuNjgwNjYgOS4yODgwOSA4IDkuMzAxNzZaIj48L3BhdGg+PC9zdmc+PC9zcGFuPkNyZWF0ZWQgYnk8L3RoPjx0ZD48c3BhbiBjbGFzcz0idXNlciI+PGltZyBzcmM9IkNvbmN1cnJlbmN5JTIwaW4lMjBHbyUyMEZyb20lMjBCYXNpY3MlMjB0byUyMEJldHRlciUyMFByYWN0aWNlcyUyMDExMTZjZDUxOTkwZDgwY2Y4ODA1ZjZlM2VmYTVkMjEyL0lNR18yMjk1LmpwZyIgY2xhc3M9Imljb24gdXNlci1pY29uIi8+SmlhTGluIEh1YW5nPC9zcGFuPjwvdGQ+PC90cj48dHIgY2xhc3M9InByb3BlcnR5LXJvdyBwcm9wZXJ0eS1yb3ctbGFzdF9lZGl0ZWRfdGltZSI+PHRoPjxzcGFuIGNsYXNzPSJpY29uIHByb3BlcnR5LWljb24iPjxzdmcgcm9sZT0iZ3JhcGhpY3Mtc3ltYm9sIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHN0eWxlPSJ3aWR0aDoxNHB4O2hlaWdodDoxNHB4O2Rpc3BsYXk6YmxvY2s7ZmlsbDpyZ2JhKDU1LCA1MywgNDcsIDAuNDUpO2ZsZXgtc2hyaW5rOjAiIGNsYXNzPSJ0eXBlc0NyZWF0ZWRBdCI+PHBhdGggZD0iTTggMTUuMTI2QzExLjg2MjMgMTUuMTI2IDE1LjA2MTUgMTEuOTMzNiAxNS4wNjE1IDguMDY0NDVDMTUuMDYxNSA0LjIwMjE1IDExLjg2MjMgMS4wMDI5MyA3Ljk5MzE2IDEuMDAyOTNDNC4xMzA4NiAxLjAwMjkzIDAuOTM4NDc3IDQuMjAyMTUgMC45Mzg0NzcgOC4wNjQ0NUMwLjkzODQ3NyAxMS45MzM2IDQuMTM3NyAxNS4xMjYgOCAxNS4xMjZaTTggMTMuNzM4M0M0Ljg1NTQ3IDEzLjczODMgMi4zMzMwMSAxMS4yMDkgMi4zMzMwMSA4LjA2NDQ1QzIuMzMzMDEgNC45MTk5MiA0Ljg0ODYzIDIuMzk3NDYgNy45OTMxNiAyLjM5NzQ2QzExLjEzNzcgMi4zOTc0NiAxMy42NzM4IDQuOTE5OTIgMTMuNjczOCA4LjA2NDQ1QzEzLjY3MzggMTEuMjA5IDExLjE0NDUgMTMuNzM4MyA4IDEzLjczODNaTTQuNTQxMDIgOC45MTIxMUg3Ljk5MzE2QzguMzAwNzggOC45MTIxMSA4LjU0MDA0IDguNjcyODUgOC41NDAwNCA4LjM3MjA3VjMuODg3N0M4LjU0MDA0IDMuNTg2OTEgOC4zMDA3OCAzLjM0NzY2IDcuOTkzMTYgMy4zNDc2NkM3LjY5MjM4IDMuMzQ3NjYgNy40NTMxMiAzLjU4NjkxIDcuNDUzMTIgMy44ODc3VjcuODMyMDNINC41NDEwMkM0LjIzMzQgNy44MzIwMyA0LjAwMDk4IDguMDY0NDUgNC4wMDA5OCA4LjM3MjA3QzQuMDAwOTggOC42NzI4NSA0LjIzMzQgOC45MTIxMSA0LjU0MTAyIDguOTEyMTFaIj48L3BhdGg+PC9zdmc+PC9zcGFuPkxhc3QgZWRpdGVkPC90aD48dGQ+PHRpbWU+QDIwMjTlubQxMOaciDbml6UgMjM6NTc8L3RpbWU+PC90ZD48L3RyPjx0ciBjbGFzcz0icHJvcGVydHktcm93IHByb3BlcnR5LXJvdy1tdWx0aV9zZWxlY3QiPjx0aD48c3BhbiBjbGFzcz0iaWNvbiBwcm9wZXJ0eS1pY29uIj48c3ZnIHJvbGU9ImdyYXBoaWNzLXN5bWJvbCIgdmlld0JveD0iMCAwIDE2IDE2IiBzdHlsZT0id2lkdGg6MTRweDtoZWlnaHQ6MTRweDtkaXNwbGF5OmJsb2NrO2ZpbGw6cmdiYSg1NSwgNTMsIDQ3LCAwLjQ1KTtmbGV4LXNocmluazowIiBjbGFzcz0idHlwZXNNdWx0aXBsZVNlbGVjdCI+PHBhdGggZD0iTTEuOTE2MDIgNC44Mzc4OUMyLjQ0MjM4IDQuODM3ODkgMi44NzMwNSA0LjQwNzIzIDIuODczMDUgMy44NzQwMkMyLjg3MzA1IDMuMzQ3NjYgMi40NDIzOCAyLjkxNjk5IDEuOTE2MDIgMi45MTY5OUMxLjM4MjgxIDIuOTE2OTkgMC45NTIxNDggMy4zNDc2NiAwLjk1MjE0OCAzLjg3NDAyQzAuOTUyMTQ4IDQuNDA3MjMgMS4zODI4MSA0LjgzNzg5IDEuOTE2MDIgNC44Mzc4OVpNNS4xMDg0IDQuNTIzNDRIMTQuMzk4NEMxNC43NjA3IDQuNTIzNDQgMTUuMDQ3OSA0LjIzNjMzIDE1LjA0NzkgMy44NzQwMkMxNS4wNDc5IDMuNTExNzIgMTQuNzYwNyAzLjIyNDYxIDE0LjM5ODQgMy4yMjQ2MUg1LjEwODRDNC43NDYwOSAzLjIyNDYxIDQuNDU4OTggMy41MTE3MiA0LjQ1ODk4IDMuODc0MDJDNC40NTg5OCA0LjIzNjMzIDQuNzQ2MDkgNC41MjM0NCA1LjEwODQgNC41MjM0NFpNMS45MTYwMiA5LjAzNTE2QzIuNDQyMzggOS4wMzUxNiAyLjg3MzA1IDguNjA0NDkgMi44NzMwNSA4LjA3MTI5QzIuODczMDUgNy41NDQ5MiAyLjQ0MjM4IDcuMTE0MjYgMS45MTYwMiA3LjExNDI2QzEuMzgyODEgNy4xMTQyNiAwLjk1MjE0OCA3LjU0NDkyIDAuOTUyMTQ4IDguMDcxMjlDMC45NTIxNDggOC42MDQ0OSAxLjM4MjgxIDkuMDM1MTYgMS45MTYwMiA5LjAzNTE2Wk01LjEwODQgOC43MjA3SDE0LjM5ODRDMTQuNzYwNyA4LjcyMDcgMTUuMDQ3OSA4LjQzMzU5IDE1LjA0NzkgOC4wNzEyOUMxNS4wNDc5IDcuNzA4OTggMTQuNzYwNyA3LjQyMTg4IDE0LjM5ODQgNy40MjE4OEg1LjEwODRDNC43NDYwOSA3LjQyMTg4IDQuNDU4OTggNy43MDg5OCA0LjQ1ODk4IDguMDcxMjlDNC40NTg5OCA4LjQzMzU5IDQuNzQ2MDkgOC43MjA3IDUuMTA4NCA4LjcyMDdaTTEuOTE2MDIgMTMuMjMyNEMyLjQ0MjM4IDEzLjIzMjQgMi44NzMwNSAxMi44MDE4IDIuODczMDUgMTIuMjY4NkMyLjg3MzA1IDExLjc0MjIgMi40NDIzOCAxMS4zMTE1IDEuOTE2MDIgMTEuMzExNUMxLjM4MjgxIDExLjMxMTUgMC45NTIxNDggMTEuNzQyMiAwLjk1MjE0OCAxMi4yNjg2QzAuOTUyMTQ4IDEyLjgwMTggMS4zODI4MSAxMy4yMzI0IDEuOTE2MDIgMTMuMjMyNFpNNS4xMDg0IDEyLjkxOEgxNC4zOTg0QzE0Ljc2MDcgMTIuOTE4IDE1LjA0NzkgMTIuNjMwOSAxNS4wNDc5IDEyLjI2ODZDMTUuMDQ3OSAxMS45MDYyIDE0Ljc2MDcgMTEuNjE5MSAxNC4zOTg0IDExLjYxOTFINS4xMDg0QzQuNzQ2MDkgMTEuNjE5MSA0LjQ1ODk4IDExLjkwNjIgNC40NTg5OCAxMi4yNjg2QzQuNDU4OTggMTIuNjMwOSA0Ljc0NjA5IDEyLjkxOCA1LjEwODQgMTIuOTE4WiI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj5UYWdzPC90aD48dGQ+PHNwYW4gY2xhc3M9InNlbGVjdGVkLXZhbHVlIHNlbGVjdC12YWx1ZS1jb2xvci1wdXJwbGUiPlBvc3Q8L3NwYW4+PHNwYW4gY2xhc3M9InNlbGVjdGVkLXZhbHVlIHNlbGVjdC12YWx1ZS1jb2xvci1icm93biI+Y2hhbm5lbDwvc3Bhbj48c3BhbiBjbGFzcz0ic2VsZWN0ZWQtdmFsdWUgc2VsZWN0LXZhbHVlLWNvbG9yLWRlZmF1bHQiPmdvbGFuZzwvc3Bhbj48c3BhbiBjbGFzcz0ic2VsZWN0ZWQtdmFsdWUgc2VsZWN0LXZhbHVlLWNvbG9yLXBpbmsiPnRpbWUuU2xlZXA8L3NwYW4+PHNwYW4gY2xhc3M9InNlbGVjdGVkLXZhbHVlIHNlbGVjdC12YWx1ZS1jb2xvci1ibHVlIj53YWl0Z3JvdXA8L3NwYW4+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2hlYWRlcj48ZGl2IGNsYXNzPSJwYWdlLWJvZHkiPjxwIGNsYXNzPSIiPgo8L3A+PHAgY2xhc3M9IiI+V2hlbiB5b3Ugd2FudCB0byBkbyBtb3JlIHRoYW4gb25lIHRoaW5nIGF0IHRoZSBzYW1lIHRpbWUuLi48L3A+PHAgY2xhc3M9IiI+CjwvcD48aDEgY2xhc3M9IiI+TmV3YmllIE5haXZlIGJlaGF2aW9yPC9oMT48cCBjbGFzcz0iIj5XaGVuIHlvdSBmaXJzdCB3YW50IHRvIGRvIG11bHRpcGxlIHRoaW5ncyBhdCBvbmNlLCB5b3UgbWlnaHQgd3JpdGUgc29tZXRoaW5nIGxpa2UgdGhpczo8L3A+PHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC9wcmlzbS5taW4uanMiIGludGVncml0eT0ic2hhNTEyLTdaOUozbDErRVlmZWFQS2NHWHUzTVMvN1QrdzE5V3RLUVkvbit4em13NGhaaEo5dHlZbWNVUys0UXFBbHpoaWNFNUxBZk1RU0YzaUZUSzliUWRUeFhnPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvdGhlbWVzL3ByaXNtLm1pbi5jc3MiIGludGVncml0eT0ic2hhNTEyLXRON0VjNnpBRmFWU0czVHBOQUt0azRET0hOcFN3S0h4eHJzaXc0R0hLRVNHUHM1bmpuLzBzTUNVTWwyc3ZWNHdvNEJLL3JDUDdqdVl6K3p4K2w2b2VRPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciIvPjxwcmUgY2xhc3M9ImNvZGUiPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS1HbyI+ZnVuYyBkb1NvbWV0aGluZygpIHsKICAgIGZtdC5QcmludGxuKCZxdW90O0RvaW5nIHNvbWV0aGluZyBpbXBvcnRhbnQuLi4mcXVvdDspCiAgICB0aW1lLlNsZWVwKHRpbWUuU2Vjb25kICogMikgLy8gd2FzdGluZyB5b3VyIHRpbWUKfQoKZnVuYyBkb1NvbWV0aGluZ0Vsc2UoKSB7CiAgICBmbXQuUHJpbnRsbigmcXVvdDtEb2luZyBzb21ldGhpbmcgZWxzZSB0aGF0JiN4Mjc7cyBlcXVhbGx5IGltcG9ydGFudC4uLiZxdW90OykKICAgIHRpbWUuU2xlZXAodGltZS5TZWNvbmQgKiAzKSAgLy8gc3RpbGwgd2FzdGluZyB5b3VyIHRpbWUKfQoKZnVuYyBtYWluKCkgewogICAgc3RhcnQgOj0gdGltZS5Ob3coKQogICAgCiAgICBmbXQuUHJpbnRsbigmcXVvdDtTdGFydGluZyBmaXJzdCB0YXNrLi4uJnF1b3Q7KQogICAgZG9Tb21ldGhpbmcoKQogICAgCiAgICBmbXQuUHJpbnRsbigmcXVvdDtUYWtpbmcgYSBsb25nIGJyZWFrLi4uJnF1b3Q7KQogICAgdGltZS5TbGVlcCh0aW1lLlNlY29uZCAqIDUpICAvLyBmYWtlIGJ1c3kKICAgIAogICAgZm10LlByaW50bG4oJnF1b3Q7U3RhcnRpbmcgc2Vjb25kIHRhc2suLi4mcXVvdDspCiAgICBkb1NvbWV0aGluZ0Vsc2UoKQogICAgCiAgICBmbXQuUHJpbnRsbigmcXVvdDtUYWtpbmcgYW5vdGhlciB1bm5lY2Vzc2FyeSBicmVhay4uLiZxdW90OykKICAgIHRpbWUuU2xlZXAodGltZS5TZWNvbmQgKiA1KSAgLy8gZmFrZSBidXN5IGFnYWluCiAgICAKICAgIGZtdC5QcmludGxuKCZxdW90O0kmI3gyNzttIGZpbmFsbHkgZG9uZSB3aXRoIGFsbCB0aGUgaW1wb3J0YW50IHN0dWZmLi4uJnF1b3Q7KQogICAgZWxhcHNlZCA6PSB0aW1lLlNpbmNlKHN0YXJ0KQogICAgZm10LlByaW50ZigmcXVvdDtBbGwgdGhpcyBoYXJkIHdvcmsgdG9vayAlc1xuJnF1b3Q7LCBlbGFwc2VkKQp9PC9jb2RlPjwvcHJlPjxwIGNsYXNzPSIiPkl0JiN4Mjc7cyBwcmV0dHkgZHVtYiwgYnV0IGhleSwgd2UgYWxsIHN0YXJ0IHNvbWV3aGVyZSB3aGVuIGNvZGluZyBmcm9tIHNjcmF0Y2ghPC9wPjxoMSBjbGFzcz0iIj5Hb3JvdXRpbmVzPC9oMT48cCBjbGFzcz0iIj5TbyB5b3UmI3gyNzt2ZSBoZWFyZCBhYm91dCB0aGVzZSBjb29sIHRoaW5ncyBjYWxsZWQgZ29yb3V0aW5lcyBpbiBHby4gVGhleSYjeDI3O3JlIGxpa2UgbGlnaHR3ZWlnaHQgdGhyZWFkcywgYW5kIHlvdSB0aGluaywgJnF1b3Q7TmljZSEgSSYjeDI3O2xsIGp1c3QgYWRkIDxjb2RlPmdvPC9jb2RlPiBpbiBmcm9udCBvZiBldmVyeXRoaW5nISZxdW90OzwvcD48cCBjbGFzcz0iIj5UaGUgbWFpbiBwcm9ncmFtIGRvZXNuJiN4Mjc7dCBnaXZlIGEgc2hpdCBhYm91dCB5b3VyIGdvcm91dGluZXMuIEl0JiN4Mjc7bGwganVzdCBzYXkgJnF1b3Q7SSYjeDI3O20gZG9uZSZxdW90OyBhbmQgcGVhY2Ugb3V0IGJlZm9yZSB5b3VyIGdvcm91dGluZXMgZXZlbiBzdGFydCB0aGVpciBlbmdpbmVzLjwvcD48c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3ByaXNtLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGE1MTItN1o5SjNsMStFWWZlYVBLY0dYdTNNUy83VCt3MTlXdEtRWS9uK3h6bXc0aFpoSjl0eVltY1VTKzRRcUFsemhpY0U1TEFmTVFTRjNpRlRLOWJRZFR4WGc9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIj48L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC90aGVtZXMvcHJpc20ubWluLmNzcyIgaW50ZWdyaXR5PSJzaGE1MTItdE43RWM2ekFGYVZTRzNUcE5BS3RrNERPSE5wU3dLSHh4cnNpdzRHSEtFU0dQczVuam4vMHNNQ1VNbDJzdlY0d280QksvckNQN2p1WXorengrbDZvZVE9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIi8+PHByZSBjbGFzcz0iY29kZSI+PGNvZGUgY2xhc3M9Imxhbmd1YWdlLUdvIj5mdW5jIG1haW4oKSB7CiAgICBnbyBkb1NvbWV0aGluZygpCiAgICBnbyBkb1NvbWV0aGluZ0Vsc2UoKQogICAgZm10LlByaW50bG4oJnF1b3Q7SSYjeDI3O20gZG9uZSZxdW90OykKfTwvY29kZT48L3ByZT48cCBjbGFzcz0iIj5kaXJlY3RseSBwcmludDwvcD48c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3ByaXNtLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGE1MTItN1o5SjNsMStFWWZlYVBLY0dYdTNNUy83VCt3MTlXdEtRWS9uK3h6bXc0aFpoSjl0eVltY1VTKzRRcUFsemhpY0U1TEFmTVFTRjNpRlRLOWJRZFR4WGc9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIj48L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC90aGVtZXMvcHJpc20ubWluLmNzcyIgaW50ZWdyaXR5PSJzaGE1MTItdE43RWM2ekFGYVZTRzNUcE5BS3RrNERPSE5wU3dLSHh4cnNpdzRHSEtFU0dQczVuam4vMHNNQ1VNbDJzdlY0d280QksvckNQN2p1WXorengrbDZvZVE9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIi8+PHByZSBjbGFzcz0iY29kZSI+PGNvZGUgY2xhc3M9Imxhbmd1YWdlLUJhc2giPmdvIHJ1biBtYWluLmdvCiMgSSYjeDI3O20gZG9uZTwvY29kZT48L3ByZT48cCBjbGFzcz0iIj4KPC9wPjxwIGNsYXNzPSIiPgo8L3A+PGgxIGNsYXNzPSIiPldhaXRHcm91cCB0byB0aGUgUmVzY3VlPC9oMT48cCBjbGFzcz0iIj5UaGlzIGlzIHdoZXJlIFdhaXRHcm91cCBjb21lcyBpbiwgbGlrZSBhIHJlc3BvbnNpYmxlIGFkdWx0IG1hbmFnaW5nIGEgYnVuY2ggb2YgaHlwZXJhY3RpdmUga2lkcyAoZ29yb3V0aW5lcykuPGJyLz5XYWl0R3JvdXAgdGVsbHMgdGhlIG1haW4gcHJvZ3JhbTogJnF1b3Q7SGV5LCBJJiN4Mjc7bSBpbiBjaGFyZ2Ugb2YgdGhlc2UgZ29yb3V0aW5lcy4gWW91IGp1c3Qgc2l0IHRpZ2h0IGFuZCB3YWl0IGZvciBteSBzaWduYWwuJnF1b3Q7PGJyLz48L3A+PHAgY2xhc3M9IiI+SGVyZSYjeDI3O3MgaG93IGl0IHdvcmtzOjwvcD48b2wgdHlwZT0iMSIgY2xhc3M9Im51bWJlcmVkLWxpc3QiIHN0YXJ0PSIxIj48bGk+PGNvZGU+d2cuQWRkKCk8L2NvZGU+OiBIZXksIEkmI3gyNzttIHN0YXJ0aW5nIGEgbmV3IHRhc2shPC9saT48L29sPjxvbCB0eXBlPSIxIiBjbGFzcz0ibnVtYmVyZWQtbGlzdCIgc3RhcnQ9IjIiPjxsaT48Y29kZT53Zy5Eb25lKCk8L2NvZGU+OiBBbHJpZ2h0LCBJJiN4Mjc7bSBmaW5pc2hlZCB3aXRoIHRoaXMgdGFzayE8L2xpPjwvb2w+PG9sIHR5cGU9IjEiIGNsYXNzPSJudW1iZXJlZC1saXN0IiBzdGFydD0iMyI+PGxpPjxjb2RlPndnLldhaXQoKTwvY29kZT46IEhvbGQgdXAsIG1haW4gcHJvZ3JhbS4gV2FpdCB1bnRpbCBhbGwgbXkgdGFza3MgYXJlIGRvbmUuPC9saT48L29sPjxoMyBjbGFzcz0iIj5CYXNpYzwvaDM+PHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC9wcmlzbS5taW4uanMiIGludGVncml0eT0ic2hhNTEyLTdaOUozbDErRVlmZWFQS2NHWHUzTVMvN1QrdzE5V3RLUVkvbit4em13NGhaaEo5dHlZbWNVUys0UXFBbHpoaWNFNUxBZk1RU0YzaUZUSzliUWRUeFhnPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvdGhlbWVzL3ByaXNtLm1pbi5jc3MiIGludGVncml0eT0ic2hhNTEyLXRON0VjNnpBRmFWU0czVHBOQUt0azRET0hOcFN3S0h4eHJzaXc0R0hLRVNHUHM1bmpuLzBzTUNVTWwyc3ZWNHdvNEJLL3JDUDdqdVl6K3p4K2w2b2VRPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciIvPjxwcmUgY2xhc3M9ImNvZGUiPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS1HbyI+ZnVuYyB3b3JrZXIoaWQgaW50LCB3ZyAqc3luYy5XYWl0R3JvdXApIHsKICAgIGRlZmVyIHdnLkRvbmUoKSAvLyBpJiN4Mjc7bSBkb25lLiBjb3VudGVyLS0KICAgIGZtdC5QcmludGYoJnF1b3Q7V29ya2VyICVkIHN0YXJ0aW5nXG4mcXVvdDssIGlkKQogICAgdGltZS5TbGVlcCh0aW1lLlNlY29uZCkKICAgIGZtdC5QcmludGYoJnF1b3Q7V29ya2VyICVkIGRvbmVcbiZxdW90OywgaWQpCn0KCmZ1bmMgbWFpbigpIHsKICAgIHZhciB3ZyBzeW5jLldhaXRHcm91cAoKICAgIGZvciBpIDo9IDE7IGkgJmx0Oz0gNTsgaSsrIHsKICAgICAgICB3Zy5BZGQoMSkgLy8gY291bnRlcisrCiAgICAgICAgZ28gd29ya2VyKGksICZhbXA7d2cpCiAgICB9CgogICAgd2cuV2FpdCgpIC8vICZxdW90O0kmI3gyNzttIHdhaXRpbmcgZm9yIGFsbCB3b3JrZXJzIHRvIGZpbmlzaCEmcXVvdDsKICAgIGZtdC5QcmludGxuKCZxdW90O0FsbCB3b3JrZXJzIGRvbmUmcXVvdDspCn08L2NvZGU+PC9wcmU+PGgzIGNsYXNzPSIiPkFub255bW91czwvaDM+PHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC9wcmlzbS5taW4uanMiIGludGVncml0eT0ic2hhNTEyLTdaOUozbDErRVlmZWFQS2NHWHUzTVMvN1QrdzE5V3RLUVkvbit4em13NGhaaEo5dHlZbWNVUys0UXFBbHpoaWNFNUxBZk1RU0YzaUZUSzliUWRUeFhnPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvdGhlbWVzL3ByaXNtLm1pbi5jc3MiIGludGVncml0eT0ic2hhNTEyLXRON0VjNnpBRmFWU0czVHBOQUt0azRET0hOcFN3S0h4eHJzaXc0R0hLRVNHUHM1bmpuLzBzTUNVTWwyc3ZWNHdvNEJLL3JDUDdqdVl6K3p4K2w2b2VRPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciIvPjxwcmUgY2xhc3M9ImNvZGUiPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS1HbyI+ZnVuYyBtYWluKCkgewoJdmFyIHdnIHN5bmMuV2FpdEdyb3VwCgoJZm9yIGkgOj0gMTsgaSAmbHQ7PSAzOyBpKysgewoJCXdnLkFkZCgxKQoJCWdvIGZ1bmMoaWQgaW50KSB7CgkJCWRlZmVyIHdnLkRvbmUoKQoJCQlmbXQuUHJpbnRmKCZxdW90O0dvcm91dGluZSAlZCB3b3JraW5nXG4mcXVvdDssIGlkKQoJCQl0aW1lLlNsZWVwKHRpbWUuU2Vjb25kICogdGltZS5EdXJhdGlvbihpZCkpCgkJfShpKQoJfQoKCXdnLldhaXQoKQoJZm10LlByaW50bG4oJnF1b3Q7QWxsIGdvcm91dGluZXMgZG9uZSZxdW90OykKfTwvY29kZT48L3ByZT48cCBjbGFzcz0iIj4KPC9wPjxwIGNsYXNzPSIiPgo8L3A+PHAgY2xhc3M9IiI+CjwvcD48cCBjbGFzcz0iIj4KPC9wPjxoMSBjbGFzcz0iIj5DaGFubmVsczogV2hlbiBHb3JvdXRpbmVzIE5lZWQgdG8gQ2hhdDwvaDE+PHAgY2xhc3M9IiI+SWYgeW91ciBnb3JvdXRpbmVzIG5lZWQgdG8gZGlzY3VzcyB0aGVpciB0YXNrcywgaXQmI3gyNztzIHRpbWUgdG8gc2V0IHVwIGEgY2hhbm5lbCBmb3IgY29tbXVuaWNhdGlvbiE8L3A+PHRhYmxlIGNsYXNzPSJzaW1wbGUtdGFibGUiPjx0Ym9keT48dHI+PHRkIGNsYXNzPSIiPmR1YWw8L3RkPjx0ZCBjbGFzcz0iIj48Y29kZT5jaCA6PSBtYWtlKGNoYW4gaW50KTwvY29kZT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iIj5zZW5kZXI8L3RkPjx0ZCBjbGFzcz0iIj48Y29kZT5zZW5kQ2ggOj0gbWFrZShjaGFuJmx0Oy0gaW50KTwvY29kZT48L3RkPjwvdHI+PHRyPjx0ZCBjbGFzcz0iIj5yZWNlaXZlcjwvdGQ+PHRkIGNsYXNzPSIiPjxjb2RlPnJlY3ZDaCA6PSBtYWtlKCZsdDstY2hhbiBpbnQpPC9jb2RlPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC9wcmlzbS5taW4uanMiIGludGVncml0eT0ic2hhNTEyLTdaOUozbDErRVlmZWFQS2NHWHUzTVMvN1QrdzE5V3RLUVkvbit4em13NGhaaEo5dHlZbWNVUys0UXFBbHpoaWNFNUxBZk1RU0YzaUZUSzliUWRUeFhnPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvdGhlbWVzL3ByaXNtLm1pbi5jc3MiIGludGVncml0eT0ic2hhNTEyLXRON0VjNnpBRmFWU0czVHBOQUt0azRET0hOcFN3S0h4eHJzaXc0R0hLRVNHUHM1bmpuLzBzTUNVTWwyc3ZWNHdvNEJLL3JDUDdqdVl6K3p4K2w2b2VRPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciIvPjxwcmUgY2xhc3M9ImNvZGUiPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS1HbyI+ZnVuYyBtYWluKCkgewogICAgc2VuZGNoIDo9IG1ha2UoY2hhbiBpbnQpCiAgICByZWN2Y2ggOj0gbWFrZSgmbHQ7LWNoYW4gaW50KQoKICAgIGdvIHNlbmREYXRhKHNlbmRjaCkKICAgIGdvIHJlY2VpdmVEYXRhKHJlY3ZjaCkKCiAgICByZWN2Y2ggPSBzZW5kY2gKCgkJLy8gbGV0IGdvcm91dGluZXMgaGF2ZSBzb21lIHRpbWUgdG8gZXhlY3V0ZQoJCS8vIG5vIFdhaXRHcm91cCBoZXJlIHNvLi4uCiAgICB0aW1lLlNsZWVwKHRpbWUuU2Vjb25kKQp9CgpmdW5jIHNlbmREYXRhKGNoIGNoYW4mbHQ7LSBpbnQpIHsKICAgIGNoICZsdDstIDQyCn0KCmZ1bmMgcmVjZWl2ZURhdGEoY2ggJmx0Oy1jaGFuIGludCkgewogICAgZm10LlByaW50bG4oJmx0Oy1jaCkKfTwvY29kZT48L3ByZT48cCBjbGFzcz0iIj4KPC9wPjxwIGNsYXNzPSIiPgo8L3A+PHAgY2xhc3M9IiI+CjwvcD48aDEgY2xhc3M9IiI+V2FpdEdyb3VwICZhbXA7IENoYW5uZWwgVGVhbXdvcmsgMTwvaDE+PHAgY2xhc3M9IiI+SGVyZSYjeDI3O3MgYSBub3JtYWwsIGNvcnJlY3RseSB3b3JraW5nIGV4YW1wbGUsIGJ1dCB0aGVyZSYjeDI3O3Mgc29tZXRoaW5nIGN1cmlvdXMgYWJvdXQgaXQuIFdoeSBhcmUgPGNvZGU+d2cuV2FpdCgpPC9jb2RlPiBhbmQgPGNvZGU+Y2xvc2UocmVzdWx0KTwvY29kZT4gaW5zaWRlIGEgPGNvZGU+Z28gZnVuYygpPC9jb2RlPj8gTGV0JiN4Mjc7cyB0YWtlIGEgbG9vazo8L3A+PHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC9wcmlzbS5taW4uanMiIGludGVncml0eT0ic2hhNTEyLTdaOUozbDErRVlmZWFQS2NHWHUzTVMvN1QrdzE5V3RLUVkvbit4em13NGhaaEo5dHlZbWNVUys0UXFBbHpoaWNFNUxBZk1RU0YzaUZUSzliUWRUeFhnPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvdGhlbWVzL3ByaXNtLm1pbi5jc3MiIGludGVncml0eT0ic2hhNTEyLXRON0VjNnpBRmFWU0czVHBOQUt0azRET0hOcFN3S0h4eHJzaXc0R0hLRVNHUHM1bmpuLzBzTUNVTWwyc3ZWNHdvNEJLL3JDUDdqdVl6K3p4K2w2b2VRPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciIvPjxwcmUgY2xhc3M9ImNvZGUiPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS1HbyI+ZnVuYyB3b3JrZXIoaWQgaW50LCB3ZyAqc3luYy5XYWl0R3JvdXAsIHJlc3VsdCBjaGFuJmx0Oy0gaW50KSB7CiAgICBkZWZlciB3Zy5Eb25lKCkKICAgIGZtdC5QcmludGYoJnF1b3Q7V29ya2VyICVkIHN0YXJ0aW5nXG4mcXVvdDssIGlkKQogICAgdGltZS5TbGVlcCh0aW1lLlNlY29uZCAqIDIpCiAgICBmbXQuUHJpbnRmKCZxdW90O1dvcmtlciAlZCBkb25lXG4mcXVvdDssIGlkKQogICAgcmVzdWx0ICZsdDstIGlkICogMgp9CgpmdW5jIG1haW4oKSB7CiAgICB2YXIgd2cgc3luYy5XYWl0R3JvdXAKICAgIHJlc3VsdCA6PSBtYWtlKGNoYW4gaW50LCAzKQoKICAgIGZvciBpIDo9IDE7IGkgJmx0Oz0gMzsgaSsrIHsKICAgICAgICB3Zy5BZGQoMSkKICAgICAgICBnbyB3b3JrZXIoaSwgJmFtcDt3ZywgcmVzdWx0KQogICAgfQoKICAgIGdvIGZ1bmMoKSB7CiAgICAgICAgd2cuV2FpdCgpCiAgICAgICAgY2xvc2UocmVzdWx0KQogICAgfSgpCgogICAgZm9yIHIgOj0gcmFuZ2UgcmVzdWx0IHsKICAgICAgICBmbXQuUHJpbnRmKCZxdW90O1JlY2VpdmVkIHJlc3VsdDogJWRcbiZxdW90OywgcikKICAgIH0KCiAgICBmbXQuUHJpbnRsbigmcXVvdDtBbGwgd29ya2VycyBhcmUgZG9uZSZxdW90OykKfTwvY29kZT48L3ByZT48cCBjbGFzcz0iIj4KPC9wPjxoMyBjbGFzcz0iIj5XaGF0IEhhcHBlbnMgSWYgV2UgQ2hhbmdlIFRoaW5ncz88L2gzPjxwIGNsYXNzPSIiPlRyeSBjaGFuZ2luZyB0aGUgY2hhbm5lbCBsZW5ndGggdG8gMiBhbmQgcmVtb3ZlIHRoZSBvdXRlciBnb3JvdXRpbmUuIFdoYXQgZG8geW91IHRoaW5rIHdpbGwgaGFwcGVuPzwvcD48c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3ByaXNtLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGE1MTItN1o5SjNsMStFWWZlYVBLY0dYdTNNUy83VCt3MTlXdEtRWS9uK3h6bXc0aFpoSjl0eVltY1VTKzRRcUFsemhpY0U1TEFmTVFTRjNpRlRLOWJRZFR4WGc9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIj48L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC90aGVtZXMvcHJpc20ubWluLmNzcyIgaW50ZWdyaXR5PSJzaGE1MTItdE43RWM2ekFGYVZTRzNUcE5BS3RrNERPSE5wU3dLSHh4cnNpdzRHSEtFU0dQczVuam4vMHNNQ1VNbDJzdlY0d280QksvckNQN2p1WXorengrbDZvZVE9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIi8+PHByZSBjbGFzcz0iY29kZSI+PGNvZGUgY2xhc3M9Imxhbmd1YWdlLUdvIj4gICAgcmVzdWx0IDo9IG1ha2UoY2hhbiBpbnQsIDIpCiAgICAvLyAuLi4KICAgIC8vIGdvIGZ1bmMoKSB7CiAgICAgICAgd2cuV2FpdCgpCiAgICAgICAgY2xvc2UocmVzdWx0KQogICAgLy8gfSgpPC9jb2RlPjwvcHJlPjxwIGNsYXNzPSIiPlRoaXMgd2lsbCBjYXVzZTo8L3A+PG9sIHR5cGU9IjEiIGNsYXNzPSJudW1iZXJlZC1saXN0IiBzdGFydD0iMSI+PGxpPk5vdCBlbm91Z2ggYnVmZmVyIHNwYWNlPC9saT48L29sPjxvbCB0eXBlPSIxIiBjbGFzcz0ibnVtYmVyZWQtbGlzdCIgc3RhcnQ9IjIiPjxsaT5Xb3JrZXJzIGdldCBibG9ja2VkIHRyeWluZyB0byBzZW5kIHJlc3VsdHMsIHNvIHRoZXkgY2FuJiN4Mjc7dCBjYWxsIERvbmUoKTwvbGk+PC9vbD48b2wgdHlwZT0iMSIgY2xhc3M9Im51bWJlcmVkLWxpc3QiIHN0YXJ0PSIzIj48bGk+PGNvZGU+d2cuV2FpdCgpPC9jb2RlPiBrZWVwcyB3YWl0aW5nIGZvcmV2ZXI8L2xpPjwvb2w+PG9sIHR5cGU9IjEiIGNsYXNzPSJudW1iZXJlZC1saXN0IiBzdGFydD0iNCI+PGxpPjxjb2RlPndnLldhaXQoKTwvY29kZT4gaXMgc3luY2hyb25vdXMsIHNvIGl0IGJsb2NrcyB0aGUgbWFpbiBwcm9ncmFtIGZyb20gY29udGludWluZzwvbGk+PC9vbD48b2wgdHlwZT0iMSIgY2xhc3M9Im51bWJlcmVkLWxpc3QiIHN0YXJ0PSI1Ij48bGk+VGhlIHJlc3VsdCBjaGFubmVsIG5ldmVyIGdldHMgdG8gc3BpdCBvdXQgaXRzIHJlc3VsdHM8L2xpPjwvb2w+PHAgY2xhc3M9IiI+QW5kIGJvb20hIFlvdSBnZXQgYSBuaWNlIDxjb2RlPmZhdGFsIGVycm9yOiBhbGwgZ29yb3V0aW5lcyBhcmUgYXNsZWVwIC0gZGVhZGxvY2shPC9jb2RlPjwvcD48aDMgY2xhc3M9IiI+QnVmZmVyJiN4Mjc7cyBUb28gU21hbGwsIEJ1dCBXZSBVc2UgPGNvZGU+Z28gZnVuYygpPC9jb2RlPjwvaDM+PHAgY2xhc3M9IiI+QnV0IGlmIHlvdSBrZWVwIGl0IGluIGEgPGNvZGU+Z28gZnVuYygpPC9jb2RlPiwgZXZlbiBpZiB5b3VyIGJ1ZmZlciBpcyB0b28gc21hbGwsIGl0IHdvbiYjeDI3O3QgY2F1c2UgYW4gZXJyb3IuPC9wPjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvcHJpc20ubWluLmpzIiBpbnRlZ3JpdHk9InNoYTUxMi03WjlKM2wxK0VZZmVhUEtjR1h1M01TLzdUK3cxOVd0S1FZL24reHptdzRoWmhKOXR5WW1jVVMrNFFxQWx6aGljRTVMQWZNUVNGM2lGVEs5YlFkVHhYZz09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiPjwvc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3RoZW1lcy9wcmlzbS5taW4uY3NzIiBpbnRlZ3JpdHk9InNoYTUxMi10TjdFYzZ6QUZhVlNHM1RwTkFLdGs0RE9ITnBTd0tIeHhyc2l3NEdIS0VTR1BzNW5qbi8wc01DVU1sMnN2VjR3bzRCSy9yQ1A3anVZeit6eCtsNm9lUT09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiLz48cHJlIGNsYXNzPSJjb2RlIj48Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtR28iPiAgICByZXN1bHQgOj0gbWFrZShjaGFuIGludCwgMikKICAgIC8vIC4uLgogICAgZ28gZnVuYygpIHsKICAgICAgICB3Zy5XYWl0KCkKICAgICAgICBjbG9zZShyZXN1bHQpCiAgICB9KCk8L2NvZGU+PC9wcmU+PHAgY2xhc3M9IiI+CjwvcD48cCBjbGFzcz0iIj4KPC9wPjxoMSBjbGFzcz0iIj5XYWl0R3JvdXAgJmFtcDsgQ2hhbm5lbCBUZWFtd29yayAyPC9oMT48aDMgY2xhc3M9IiI+VGhyZWUgQ29uc3VtZXJzIFJlY2VpdmUgNSBNZXNzYWdlczwvaDM+PHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC9wcmlzbS5taW4uanMiIGludGVncml0eT0ic2hhNTEyLTdaOUozbDErRVlmZWFQS2NHWHUzTVMvN1QrdzE5V3RLUVkvbit4em13NGhaaEo5dHlZbWNVUys0UXFBbHpoaWNFNUxBZk1RU0YzaUZUSzliUWRUeFhnPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvdGhlbWVzL3ByaXNtLm1pbi5jc3MiIGludGVncml0eT0ic2hhNTEyLXRON0VjNnpBRmFWU0czVHBOQUt0azRET0hOcFN3S0h4eHJzaXc0R0hLRVNHUHM1bmpuLzBzTUNVTWwyc3ZWNHdvNEJLL3JDUDdqdVl6K3p4K2w2b2VRPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciIvPjxwcmUgY2xhc3M9ImNvZGUiPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS1HbyI+ZnVuYyBwcm9kdWNlcihjaCBjaGFuJmx0Oy0gaW50LCB3ZyAqc3luYy5XYWl0R3JvdXApIHsKICAgIGRlZmVyIHdnLkRvbmUoKQogICAgZm9yIGkgOj0gMDsgaSAmbHQ7IDU7IGkrKyB7CiAgICAgICAgY2ggJmx0Oy0gaQogICAgICAgIHRpbWUuU2xlZXAodGltZS5NaWxsaXNlY29uZCAqIDEwMCkKICAgIH0KICAgIGNsb3NlKGNoKQp9CgpmdW5jIGNvbnN1bWVyKGlkIGludCwgY2ggJmx0Oy1jaGFuIGludCwgd2cgKnN5bmMuV2FpdEdyb3VwKSB7CiAgICBkZWZlciB3Zy5Eb25lKCkKICAgIGZvciBudW0gOj0gcmFuZ2UgY2ggewogICAgICAgIGZtdC5QcmludGYoJnF1b3Q7Q29uc3VtZXIgJWQgcmVjZWl2ZWQ6ICVkXG4mcXVvdDssIGlkLCBudW0pCiAgICB9Cn0KCmZ1bmMgbWFpbigpIHsKICAgIHZhciB3ZyBzeW5jLldhaXRHcm91cAogICAgY2ggOj0gbWFrZShjaGFuIGludCkKCiAgICB3Zy5BZGQoMSkKICAgIGdvIHByb2R1Y2VyKGNoLCAmYW1wO3dnKQoKICAgIGZvciBpIDo9IDA7IGkgJmx0OyAzOyBpKysgewogICAgICAgIHdnLkFkZCgxKQogICAgICAgIGdvIGNvbnN1bWVyKGksIGNoLCAmYW1wO3dnKQogICAgfQoKICAgIHdnLldhaXQoKQogICAgZm10LlByaW50bG4oJnF1b3Q7QWxsIGRvbmUmcXVvdDspCn08L2NvZGU+PC9wcmU+PHAgY2xhc3M9IiI+CjwvcD48cCBjbGFzcz0iIj4KPC9wPjxoMSBjbGFzcz0iIj5BIEJpdCBNb3JlIG9uIEJldHRlciA8Y29kZT5kZWZlcjwvY29kZT4gUHJhY3RpY2VzPC9oMT48cCBjbGFzcz0iIj5DaGVjayBvdXQgdGhpcyBzaXR1YXRpb24uIElmIHRoZSBmaWxlIGZhaWxzIHRvIG9wZW4sIDxjb2RlPmZpbGU8L2NvZGU+IGlzIG5pbCwgYW5kIHRoZXJlJiN4Mjc7cyBubyBlcnJvciBoYW5kbGluZyBpbiBlaXRoZXIgdGhlIG1haW4gcHJvZ3JhbSBvciB0aGUgb3BlbkZpbGUgZnVuY3Rpb24uIEhlcmUmI3gyNztzIHdoYXQgSSBtZWFuOjwvcD48c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3ByaXNtLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGE1MTItN1o5SjNsMStFWWZlYVBLY0dYdTNNUy83VCt3MTlXdEtRWS9uK3h6bXc0aFpoSjl0eVltY1VTKzRRcUFsemhpY0U1TEFmTVFTRjNpRlRLOWJRZFR4WGc9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIj48L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC90aGVtZXMvcHJpc20ubWluLmNzcyIgaW50ZWdyaXR5PSJzaGE1MTItdE43RWM2ekFGYVZTRzNUcE5BS3RrNERPSE5wU3dLSHh4cnNpdzRHSEtFU0dQczVuam4vMHNNQ1VNbDJzdlY0d280QksvckNQN2p1WXorengrbDZvZVE9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIi8+PHByZSBjbGFzcz0iY29kZSI+PGNvZGUgY2xhc3M9Imxhbmd1YWdlLUdvIj4KZnVuYyBvcGVuRmlsZVVuc2FmZShmaWxlTmFtZSBzdHJpbmcpIHsKCWZpbGUsIGUgOj0gb3MuT3BlbihmaWxlTmFtZSkKCWZtdC5QcmludGxuKChlKSkKCS8vIG5vIGVycm9yIGhhbmRsaW5nCgkvLyAuLi4KCWRlZmVyIGZpbGUuQ2xvc2UoKQoKCWZtdC5QcmludGxuKCZxdW90O0ZpbGUgb3BlbmVkIHN1Y2Nlc3NmdWxseSZxdW90OykKfQoKZnVuYyBtYWluKCkgewoKCW9wZW5GaWxlVW5zYWZlKCZxdW90O25vbl9leGlzdGVudF9maWxlLnR4dCZxdW90OykKCWZtdC5QcmludGxuKCZxdW90O1RoaXMgbGluZSB3aWxsIG5vdCBiZSByZWFjaGVkIGlmIHBhbmljIG9jY3VycyZxdW90OykKfTwvY29kZT48L3ByZT48cCBjbGFzcz0iIj5XaGVuIHlvdSBydW4gaXQsIGl0JiN4Mjc7cyBzdXBlciB3ZWlyZCEgZGVmZXIgbWFrZXMgdGhlIGVycm9yIGxvdy1rZXkgTE9MPC9wPjxwIGNsYXNzPSIiPjxtYXJrIGNsYXNzPSJoaWdobGlnaHQtcmVkIj48c3Ryb25nPldIWSBJVCBKVVNUIEZBSUwgU0lMRU5UTFk/Pz8/Pzwvc3Ryb25nPjwvbWFyaz48L3A+PHAgY2xhc3M9IiI+SSBkb24mI3gyNzt0IGtub3cgd2h5IHRoaXMgaGFwcGVucywgSSBkb24mI3gyNzt0IGhhdmUgYW4gYW5zd2VyIHlldC48L3A+PHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC9wcmlzbS5taW4uanMiIGludGVncml0eT0ic2hhNTEyLTdaOUozbDErRVlmZWFQS2NHWHUzTVMvN1QrdzE5V3RLUVkvbit4em13NGhaaEo5dHlZbWNVUys0UXFBbHpoaWNFNUxBZk1RU0YzaUZUSzliUWRUeFhnPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvdGhlbWVzL3ByaXNtLm1pbi5jc3MiIGludGVncml0eT0ic2hhNTEyLXRON0VjNnpBRmFWU0czVHBOQUt0azRET0hOcFN3S0h4eHJzaXc0R0hLRVNHUHM1bmpuLzBzTUNVTWwyc3ZWNHdvNEJLL3JDUDdqdVl6K3p4K2w2b2VRPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciIvPjxwcmUgY2xhc3M9ImNvZGUiPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS1CYXNoIj5nbyBydW4gbWFpbi5nbwojIG9wZW4gbm9uX2V4aXN0ZW50X2ZpbGUudHh0OiBubyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiMgRmlsZSBvcGVuZWQgc3VjY2Vzc2Z1bGx5CiMgVGhpcyBsaW5lIHdpbGwgbm90IGJlIHJlYWNoZWQgaWYgcGFuaWMgb2NjdXJzPC9jb2RlPjwvcHJlPjxwIGNsYXNzPSIiPgo8L3A+PHAgY2xhc3M9IiI+CjwvcD48cCBjbGFzcz0iIj5IZXJlJiN4Mjc7cyBhIGJldHRlciB3YXkgdG8gd3JpdGUgaXQuIEV2ZW4gdGhvdWdoIHRoZSBhYm92ZSBkaWRuJiN4Mjc7dCB0aHJvdyBhbiBlcnJvciwgdGhlIHdob2xlIGJlaGF2aW9yIGlzIHN0cmFuZ2UuPC9wPjxwIGNsYXNzPSIiPllvdSBzaG91bGQgc3RpbGwgcHJvcGVybHkgaGFuZGxlIGVycm9ycyBldmVyeXdoZXJlLCBva2F5PzwvcD48c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3ByaXNtLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGE1MTItN1o5SjNsMStFWWZlYVBLY0dYdTNNUy83VCt3MTlXdEtRWS9uK3h6bXc0aFpoSjl0eVltY1VTKzRRcUFsemhpY0U1TEFmTVFTRjNpRlRLOWJRZFR4WGc9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIj48L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC90aGVtZXMvcHJpc20ubWluLmNzcyIgaW50ZWdyaXR5PSJzaGE1MTItdE43RWM2ekFGYVZTRzNUcE5BS3RrNERPSE5wU3dLSHh4cnNpdzRHSEtFU0dQczVuam4vMHNNQ1VNbDJzdlY0d280QksvckNQN2p1WXorengrbDZvZVE9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIi8+PHByZSBjbGFzcz0iY29kZSI+PGNvZGUgY2xhc3M9Imxhbmd1YWdlLUdvIj5mdW5jIG9wZW5GaWxlU2FmZShmaWxlTmFtZSBzdHJpbmcpIGVycm9yIHsKICAgIGZpbGUsIGVyciA6PSBvcy5PcGVuKGZpbGVOYW1lKQogICAgaWYgZXJyICE9IG5pbCB7CiAgICAgICAgcmV0dXJuIGZtdC5FcnJvcmYoJnF1b3Q7ZmFpbGVkIHRvIG9wZW4gZmlsZTogJXcmcXVvdDssIGVycikKICAgIH0KICAgIGRlZmVyIGZpbGUuQ2xvc2UoKQoKICAgIGZtdC5QcmludGxuKCZxdW90O0ZpbGUgb3BlbmVkIHN1Y2Nlc3NmdWxseSZxdW90OykKICAgIHJldHVybiBuaWwKfQoKZnVuYyBtYWluKCkgewogICAgaWYgZXJyIDo9IG9wZW5GaWxlU2FmZSgmcXVvdDtmaWxlLnR4dCZxdW90Oyk7IGVyciAhPSBuaWwgewogICAgICAgIGZtdC5QcmludGxuKCZxdW90O0Vycm9yOiZxdW90OywgZXJyKQogICAgICAgIHJldHVybgogICAgfQogICAgZm10LlByaW50bG4oJnF1b3Q7RmlsZSBwcm9jZXNzaW5nIGNvbXBsZXRlZCZxdW90OykKfTwvY29kZT48L3ByZT48cCBjbGFzcz0iIj5XaGVuIHlvdSBydW4gaXQ6PC9wPjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvcHJpc20ubWluLmpzIiBpbnRlZ3JpdHk9InNoYTUxMi03WjlKM2wxK0VZZmVhUEtjR1h1M01TLzdUK3cxOVd0S1FZL24reHptdzRoWmhKOXR5WW1jVVMrNFFxQWx6aGljRTVMQWZNUVNGM2lGVEs5YlFkVHhYZz09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiPjwvc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3RoZW1lcy9wcmlzbS5taW4uY3NzIiBpbnRlZ3JpdHk9InNoYTUxMi10TjdFYzZ6QUZhVlNHM1RwTkFLdGs0RE9ITnBTd0tIeHhyc2l3NEdIS0VTR1BzNW5qbi8wc01DVU1sMnN2VjR3bzRCSy9yQ1A3anVZeit6eCtsNm9lUT09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiLz48cHJlIGNsYXNzPSJjb2RlIj48Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtQmFzaCI+Z28gcnVuIHdnLmdvCkVycm9yOiBmYWlsZWQgdG8gb3BlbiBmaWxlOiBvcGVuIGZpbGUudHh0OiBubyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5PC9jb2RlPjwvcHJlPjxwIGNsYXNzPSIiPgo8L3A+PHAgY2xhc3M9IiI+CjwvcD48cCBjbGFzcz0iIj5BbmQgdGhlcmUgeW91IGhhdmUgaXQhIFRoYXQmI3gyNztzIGhvdyB5b3UgY2FuIG1ha2UgeW91ciBHbyBjb25jdXJyZW5jeSBjb2RlIGEgYml0IHNhZmVyIGFuZCBtb3JlIHJlbGlhYmxlLiBSZW1lbWJlciwgPG1hcmsgY2xhc3M9ImhpZ2hsaWdodC1yZWQiPjxzdHJvbmc+YWx3YXlzIGhhbmRsZSB5b3VyIGVycm9yczwvc3Ryb25nPjwvbWFyaz4gYW5kIGJlIGNhcmVmdWwgd2l0aCA8Y29kZT5kZWZlcjwvY29kZT4hPC9wPjxwIGNsYXNzPSIiPgo8L3A+PC9kaXY+PC9hcnRpY2xlPjxzcGFuIGNsYXNzPSJzYW5zIiBzdHlsZT0iZm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6MmVtIj48L3NwYW4+PC9ib2R5Pg==
~/
about
posts
frontbacknetworkoscloud
readings
css
bookmarks
archives
© 2024 jialin00.com Original content since 2022
And maybe its just slow involvement at first, but try to sort of creep your career in that direction, because if youre not being challenged, if youre not a little bit scared all the time, just a little bit, then youre not gonna improve. - The Myth of the Genius Programmer