dW5kZWZpbmVkIj48aW1nIGNsYXNzPSJpY29uIiBzcmM9Imh0dHBzOi8vd3d3Lm5vdGlvbi5zby9pY29ucy9oZWxwLWFsdGVybmF0ZV9yZWQuc3ZnIi8+PC9kaXY+PGgxIGNsYXNzPSJwYWdlLXRpdGxlIj5Hb3JvdXRpbmVzIEhlbGwg4oCUIEEgU3Vydml2YWwgR3VpZGUgdG8gUGFuaWMgYW5kIERlYWRsb2NrPC9oMT48cCBjbGFzcz0icGFnZS1kZXNjcmlwdGlvbiI+PC9wPjx0YWJsZSBjbGFzcz0icHJvcGVydGllcyI+PHRib2R5Pjx0ciBjbGFzcz0icHJvcGVydHktcm93IHByb3BlcnR5LXJvdy1jcmVhdGVkX2J5Ij48dGg+PHNwYW4gY2xhc3M9Imljb24gcHJvcGVydHktaWNvbiI+PHN2ZyByb2xlPSJncmFwaGljcy1zeW1ib2wiIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9IndpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7ZGlzcGxheTpibG9jaztmaWxsOnJnYmEoNTUsIDUzLCA0NywgMC40NSk7ZmxleC1zaHJpbms6MCIgY2xhc3M9InR5cGVzQ3JlYXRlZEJ5Ij48cGF0aCBkPSJNOCAxNS4xMjZDMTEuODYyMyAxNS4xMjYgMTUuMDYxNSAxMS45MzM2IDE1LjA2MTUgOC4wNjQ0NUMxNS4wNjE1IDQuMjAyMTUgMTEuODYyMyAxLjAwMjkzIDcuOTkzMTYgMS4wMDI5M0M0LjEzMDg2IDEuMDAyOTMgMC45Mzg0NzcgNC4yMDIxNSAwLjkzODQ3NyA4LjA2NDQ1QzAuOTM4NDc3IDExLjkzMzYgNC4xMzc3IDE1LjEyNiA4IDE1LjEyNlpNOCAxMC40MjI5QzYuMDUxNzYgMTAuNDIyOSA0LjU0Nzg1IDExLjExMzMgMy44MzAwOCAxMS45MTMxQzIuOTAwMzkgMTAuOTA4MiAyLjMzMzAxIDkuNTU0NjkgMi4zMzMwMSA4LjA2NDQ1QzIuMzMzMDEgNC45MTk5MiA0Ljg0ODYzIDIuMzk3NDYgNy45OTMxNiAyLjM5NzQ2QzExLjEzNzcgMi4zOTc0NiAxMy42NzM4IDQuOTE5OTIgMTMuNjczOCA4LjA2NDQ1QzEzLjY3MzggOS41NTQ2OSAxMy4xMDY0IDEwLjkwODIgMTIuMTY5OSAxMS45MTMxQzExLjQ1MjEgMTEuMTEzMyA5Ljk0ODI0IDEwLjQyMjkgOCAxMC40MjI5Wk04IDkuMzAxNzZDOS4zMjYxNyA5LjMwODU5IDEwLjM1MTYgOC4xODA2NiAxMC4zNTE2IDYuNzEwOTRDMTAuMzUxNiA1LjMzMDA4IDkuMzE5MzQgNC4xODE2NCA4IDQuMTgxNjRDNi42ODc1IDQuMTgxNjQgNS42NDE2IDUuMzMwMDggNS42NDg0NCA2LjcxMDk0QzUuNjU1MjcgOC4xODA2NiA2LjY4MDY2IDkuMjg4MDkgOCA5LjMwMTc2WiI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj5DcmVhdGVkIGJ5PC90aD48dGQ+PHNwYW4gY2xhc3M9InVzZXIiPjxpbWcgc3JjPSJHb3JvdXRpbmVzJTIwSGVsbCUyMCVFMiU4MCU5NCUyMEElMjBTdXJ2aXZhbCUyMEd1aWRlJTIwdG8lMjBQYW5pYyUyMGFuZCUyMERlJTIwZmZhYTdmZDk2M2QxNDIwMTk1YTY5MmQwNjdiZjIyNGMvSU1HXzIyOTUuanBnIiBjbGFzcz0iaWNvbiB1c2VyLWljb24iLz5KaWFMaW4gSHVhbmc8L3NwYW4+PC90ZD48L3RyPjx0ciBjbGFzcz0icHJvcGVydHktcm93IHByb3BlcnR5LXJvdy1sYXN0X2VkaXRlZF90aW1lIj48dGg+PHNwYW4gY2xhc3M9Imljb24gcHJvcGVydHktaWNvbiI+PHN2ZyByb2xlPSJncmFwaGljcy1zeW1ib2wiIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9IndpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7ZGlzcGxheTpibG9jaztmaWxsOnJnYmEoNTUsIDUzLCA0NywgMC40NSk7ZmxleC1zaHJpbms6MCIgY2xhc3M9InR5cGVzQ3JlYXRlZEF0Ij48cGF0aCBkPSJNOCAxNS4xMjZDMTEuODYyMyAxNS4xMjYgMTUuMDYxNSAxMS45MzM2IDE1LjA2MTUgOC4wNjQ0NUMxNS4wNjE1IDQuMjAyMTUgMTEuODYyMyAxLjAwMjkzIDcuOTkzMTYgMS4wMDI5M0M0LjEzMDg2IDEuMDAyOTMgMC45Mzg0NzcgNC4yMDIxNSAwLjkzODQ3NyA4LjA2NDQ1QzAuOTM4NDc3IDExLjkzMzYgNC4xMzc3IDE1LjEyNiA4IDE1LjEyNlpNOCAxMy43MzgzQzQuODU1NDcgMTMuNzM4MyAyLjMzMzAxIDExLjIwOSAyLjMzMzAxIDguMDY0NDVDMi4zMzMwMSA0LjkxOTkyIDQuODQ4NjMgMi4zOTc0NiA3Ljk5MzE2IDIuMzk3NDZDMTEuMTM3NyAyLjM5NzQ2IDEzLjY3MzggNC45MTk5MiAxMy42NzM4IDguMDY0NDVDMTMuNjczOCAxMS4yMDkgMTEuMTQ0NSAxMy43MzgzIDggMTMuNzM4M1pNNC41NDEwMiA4LjkxMjExSDcuOTkzMTZDOC4zMDA3OCA4LjkxMjExIDguNTQwMDQgOC42NzI4NSA4LjU0MDA0IDguMzcyMDdWMy44ODc3QzguNTQwMDQgMy41ODY5MSA4LjMwMDc4IDMuMzQ3NjYgNy45OTMxNiAzLjM0NzY2QzcuNjkyMzggMy4zNDc2NiA3LjQ1MzEyIDMuNTg2OTEgNy40NTMxMiAzLjg4NzdWNy44MzIwM0g0LjU0MTAyQzQuMjMzNCA3LjgzMjAzIDQuMDAwOTggOC4wNjQ0NSA0LjAwMDk4IDguMzcyMDdDNC4wMDA5OCA4LjY3Mjg1IDQuMjMzNCA4LjkxMjExIDQuNTQxMDIgOC45MTIxMVoiPjwvcGF0aD48L3N2Zz48L3NwYW4+TGFzdCBlZGl0ZWQ8L3RoPjx0ZD48dGltZT5AMjAyNOW5tDEw5pyIMuaXpSAxOToxNDwvdGltZT48L3RkPjwvdHI+PHRyIGNsYXNzPSJwcm9wZXJ0eS1yb3cgcHJvcGVydHktcm93LW11bHRpX3NlbGVjdCI+PHRoPjxzcGFuIGNsYXNzPSJpY29uIHByb3BlcnR5LWljb24iPjxzdmcgcm9sZT0iZ3JhcGhpY3Mtc3ltYm9sIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHN0eWxlPSJ3aWR0aDoxNHB4O2hlaWdodDoxNHB4O2Rpc3BsYXk6YmxvY2s7ZmlsbDpyZ2JhKDU1LCA1MywgNDcsIDAuNDUpO2ZsZXgtc2hyaW5rOjAiIGNsYXNzPSJ0eXBlc011bHRpcGxlU2VsZWN0Ij48cGF0aCBkPSJNMS45MTYwMiA0LjgzNzg5QzIuNDQyMzggNC44Mzc4OSAyLjg3MzA1IDQuNDA3MjMgMi44NzMwNSAzLjg3NDAyQzIuODczMDUgMy4zNDc2NiAyLjQ0MjM4IDIuOTE2OTkgMS45MTYwMiAyLjkxNjk5QzEuMzgyODEgMi45MTY5OSAwLjk1MjE0OCAzLjM0NzY2IDAuOTUyMTQ4IDMuODc0MDJDMC45NTIxNDggNC40MDcyMyAxLjM4MjgxIDQuODM3ODkgMS45MTYwMiA0LjgzNzg5Wk01LjEwODQgNC41MjM0NEgxNC4zOTg0QzE0Ljc2MDcgNC41MjM0NCAxNS4wNDc5IDQuMjM2MzMgMTUuMDQ3OSAzLjg3NDAyQzE1LjA0NzkgMy41MTE3MiAxNC43NjA3IDMuMjI0NjEgMTQuMzk4NCAzLjIyNDYxSDUuMTA4NEM0Ljc0NjA5IDMuMjI0NjEgNC40NTg5OCAzLjUxMTcyIDQuNDU4OTggMy44NzQwMkM0LjQ1ODk4IDQuMjM2MzMgNC43NDYwOSA0LjUyMzQ0IDUuMTA4NCA0LjUyMzQ0Wk0xLjkxNjAyIDkuMDM1MTZDMi40NDIzOCA5LjAzNTE2IDIuODczMDUgOC42MDQ0OSAyLjg3MzA1IDguMDcxMjlDMi44NzMwNSA3LjU0NDkyIDIuNDQyMzggNy4xMTQyNiAxLjkxNjAyIDcuMTE0MjZDMS4zODI4MSA3LjExNDI2IDAuOTUyMTQ4IDcuNTQ0OTIgMC45NTIxNDggOC4wNzEyOUMwLjk1MjE0OCA4LjYwNDQ5IDEuMzgyODEgOS4wMzUxNiAxLjkxNjAyIDkuMDM1MTZaTTUuMTA4NCA4LjcyMDdIMTQuMzk4NEMxNC43NjA3IDguNzIwNyAxNS4wNDc5IDguNDMzNTkgMTUuMDQ3OSA4LjA3MTI5QzE1LjA0NzkgNy43MDg5OCAxNC43NjA3IDcuNDIxODggMTQuMzk4NCA3LjQyMTg4SDUuMTA4NEM0Ljc0NjA5IDcuNDIxODggNC40NTg5OCA3LjcwODk4IDQuNDU4OTggOC4wNzEyOUM0LjQ1ODk4IDguNDMzNTkgNC43NDYwOSA4LjcyMDcgNS4xMDg0IDguNzIwN1pNMS45MTYwMiAxMy4yMzI0QzIuNDQyMzggMTMuMjMyNCAyLjg3MzA1IDEyLjgwMTggMi44NzMwNSAxMi4yNjg2QzIuODczMDUgMTEuNzQyMiAyLjQ0MjM4IDExLjMxMTUgMS45MTYwMiAxMS4zMTE1QzEuMzgyODEgMTEuMzExNSAwLjk1MjE0OCAxMS43NDIyIDAuOTUyMTQ4IDEyLjI2ODZDMC45NTIxNDggMTIuODAxOCAxLjM4MjgxIDEzLjIzMjQgMS45MTYwMiAxMy4yMzI0Wk01LjEwODQgMTIuOTE4SDE0LjM5ODRDMTQuNzYwNyAxMi45MTggMTUuMDQ3OSAxMi42MzA5IDE1LjA0NzkgMTIuMjY4NkMxNS4wNDc5IDExLjkwNjIgMTQuNzYwNyAxMS42MTkxIDE0LjM5ODQgMTEuNjE5MUg1LjEwODRDNC43NDYwOSAxMS42MTkxIDQuNDU4OTggMTEuOTA2MiA0LjQ1ODk4IDEyLjI2ODZDNC40NTg5OCAxMi42MzA5IDQuNzQ2MDkgMTIuOTE4IDUuMTA4NCAxMi45MThaIj48L3BhdGg+PC9zdmc+PC9zcGFuPlRhZ3M8L3RoPjx0ZD48c3BhbiBjbGFzcz0ic2VsZWN0ZWQtdmFsdWUgc2VsZWN0LXZhbHVlLWNvbG9yLXB1cnBsZSI+UG9zdDwvc3Bhbj48c3BhbiBjbGFzcz0ic2VsZWN0ZWQtdmFsdWUgc2VsZWN0LXZhbHVlLWNvbG9yLWRlZmF1bHQiPmdvbGFuZzwvc3Bhbj48c3BhbiBjbGFzcz0ic2VsZWN0ZWQtdmFsdWUgc2VsZWN0LXZhbHVlLWNvbG9yLW9yYW5nZSI+bXV0ZXg8L3NwYW4+PHNwYW4gY2xhc3M9InNlbGVjdGVkLXZhbHVlIHNlbGVjdC12YWx1ZS1jb2xvci1ncmF5Ij5wYW5pYzwvc3Bhbj48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvaGVhZGVyPjxkaXYgY2xhc3M9InBhZ2UtYm9keSI+PHAgY2xhc3M9IiI+SW4gdGhlIHBhZ2UsIHRoaXMgZ3VpZGUgd2lsbCBpbmNsdWRlOjwvcD48dWwgY2xhc3M9ImJ1bGxldGVkLWxpc3QiPjxsaSBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOmRpc2MiPldoYXQgdHJpZ2dlcnMgcGFuaWMgYW5kIGRlYWRsb2NrPC9saT48L3VsPjx1bCBjbGFzcz0iYnVsbGV0ZWQtbGlzdCI+PGxpIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6ZGlzYyI+UmVjb2duaXplIHRoZWlyIHN5bXB0b21zIGFuZCBkaWZmZXJlbmNlczwvbGk+PC91bD48dWwgY2xhc3M9ImJ1bGxldGVkLWxpc3QiPjxsaSBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOmRpc2MiPkxlYXJuIHN0cmF0ZWdpZXMgdG8gcHJldmVudCBhbmQgaGFuZGxlIHRoZW08L2xpPjwvdWw+PHVsIGNsYXNzPSJidWxsZXRlZC1saXN0Ij48bGkgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTpkaXNjIj5Ib3cgZGVidWdnaW5nIHRoZXNlIGlzc3VlczwvbGk+PC91bD48aDEgY2xhc3M9IiI+cGFuaWM8L2gxPjxwIGNsYXNzPSIiPldoZW4gaXQgaGFwcGVuczo8L3A+PHVsIGNsYXNzPSJidWxsZXRlZC1saXN0Ij48bGkgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTpkaXNjIj5JbW1lZGlhdGVseSBzdG9wcyB0aGUgY3VycmVudCBnb3JvdXRpbmUsIGJ1YmJsZXMgdXAgdGhlIGVycm9yLCBleGVjdXRlcyBlYWNoIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBkZWZlcjx1bCBjbGFzcz0iYnVsbGV0ZWQtbGlzdCI+PGxpIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6Y2lyY2xlIj5Db2RlIGFmdGVyIHBhbmljIGFuZCBkZWZlcnMgcmVnaXN0ZXJlZCBhZnRlciBwYW5pYyB3b24mI3gyNzt0IGV4ZWN1dGU8L2xpPjwvdWw+PC9saT48L3VsPjx1bCBjbGFzcz0iYnVsbGV0ZWQtbGlzdCI+PGxpIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6ZGlzYyI+SWYgcmVjb3ZlcigpIGZhaWxzLCB0aGUgcHJvZ3JhbSBjcmFzaGVzPC9saT48L3VsPjxoMyBjbGFzcz0iIj7wn5qrwqBTZW5kIGRhdGEgZm9yIGNsb3NlZCBjaGFubmVsPC9oMz48dWwgY2xhc3M9InRvZ2dsZSI+PGxpPjxkZXRhaWxzIG9wZW49IiI+PHN1bW1hcnk+Y29kZTwvc3VtbWFyeT48c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3ByaXNtLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGE1MTItN1o5SjNsMStFWWZlYVBLY0dYdTNNUy83VCt3MTlXdEtRWS9uK3h6bXc0aFpoSjl0eVltY1VTKzRRcUFsemhpY0U1TEFmTVFTRjNpRlRLOWJRZFR4WGc9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIj48L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC90aGVtZXMvcHJpc20ubWluLmNzcyIgaW50ZWdyaXR5PSJzaGE1MTItdE43RWM2ekFGYVZTRzNUcE5BS3RrNERPSE5wU3dLSHh4cnNpdzRHSEtFU0dQczVuam4vMHNNQ1VNbDJzdlY0d280QksvckNQN2p1WXorengrbDZvZVE9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIi8+PHByZSBjbGFzcz0iY29kZSI+PGNvZGUgY2xhc3M9Imxhbmd1YWdlLUdvIj5mdW5jIG1haW4oKSB7CglkZWZlciBmbXQuUHJpbnRsbigmcXVvdDtUaGlzIGxpbmUgd2lsbCB3b3JrIGFmdGVyIHBhbmljLiZxdW90OykKCWNoIDo9IG1ha2UoY2hhbiBpbnQpCgoJY2xvc2UoY2gpCgoJY2ggJmx0Oy0gMSAvLyBzZW5kIGRhdGEgdG8gY2xvc2VkIGNoYW5uZWwKCWRlZmVyIGZtdC5QcmludGxuKCZxdW90O1RoaXMgbGluZSB3b24mI3gyNzt0IHdvcmsgYWZ0ZXIgcGFuaWMuJnF1b3Q7KQoJZm10LlByaW50bG4oJnF1b3Q7VGhpcyBsaW5lIHdvbiYjeDI3O3QgYmUgZXhlY3V0ZWQmcXVvdDspCn0KCi8vIHBhbmljOiBzZW5kIG9uIGNsb3NlZCBjaGFubmVsPC9jb2RlPjwvcHJlPjwvZGV0YWlscz48L2xpPjwvdWw+PGgzIGNsYXNzPSIiPvCfmqvCoEFjY2VzcyB2aW9sYXRpb248L2gzPjx1bCBjbGFzcz0idG9nZ2xlIj48bGk+PGRldGFpbHMgb3Blbj0iIj48c3VtbWFyeT5jb2RlPC9zdW1tYXJ5PjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvcHJpc20ubWluLmpzIiBpbnRlZ3JpdHk9InNoYTUxMi03WjlKM2wxK0VZZmVhUEtjR1h1M01TLzdUK3cxOVd0S1FZL24reHptdzRoWmhKOXR5WW1jVVMrNFFxQWx6aGljRTVMQWZNUVNGM2lGVEs5YlFkVHhYZz09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiPjwvc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3RoZW1lcy9wcmlzbS5taW4uY3NzIiBpbnRlZ3JpdHk9InNoYTUxMi10TjdFYzZ6QUZhVlNHM1RwTkFLdGs0RE9ITnBTd0tIeHhyc2l3NEdIS0VTR1BzNW5qbi8wc01DVU1sMnN2VjR3bzRCSy9yQ1A3anVZeit6eCtsNm9lUT09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiLz48cHJlIGNsYXNzPSJjb2RlIj48Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtR28iPnR5cGUgUGVyc29uIHN0cnVjdCB7CglOYW1lIHN0cmluZwp9CgpmdW5jIG1haW4oKSB7Cgl2YXIgcCAqUGVyc29uCglmbXQuUHJpbnRsbihwLk5hbWUpCgkKfQoKLy8gcGFuaWM6IHJ1bnRpbWUgZXJyb3I6IGludmFsaWQgbWVtb3J5IGFkZHJlc3Mgb3IgbmlsIHBvaW50ZXIgZGVyZWZlcmVuY2U8L2NvZGU+PC9wcmU+PC9kZXRhaWxzPjwvbGk+PC91bD48aDMgY2xhc3M9IiI+8J+aq8KgTmlsIFBvaW50ZXIgcmVmZXJlbmNlPC9oMz48dWwgY2xhc3M9InRvZ2dsZSI+PGxpPjxkZXRhaWxzIG9wZW49IiI+PHN1bW1hcnk+Y29kZTwvc3VtbWFyeT48c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3ByaXNtLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGE1MTItN1o5SjNsMStFWWZlYVBLY0dYdTNNUy83VCt3MTlXdEtRWS9uK3h6bXc0aFpoSjl0eVltY1VTKzRRcUFsemhpY0U1TEFmTVFTRjNpRlRLOWJRZFR4WGc9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIj48L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC90aGVtZXMvcHJpc20ubWluLmNzcyIgaW50ZWdyaXR5PSJzaGE1MTItdE43RWM2ekFGYVZTRzNUcE5BS3RrNERPSE5wU3dLSHh4cnNpdzRHSEtFU0dQczVuam4vMHNNQ1VNbDJzdlY0d280QksvckNQN2p1WXorengrbDZvZVE9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIi8+PHByZSBjbGFzcz0iY29kZSI+PGNvZGUgY2xhc3M9Imxhbmd1YWdlLUdvIj5mdW5jIHBhbmljRXhhbXBsZSgpIHsKCWRlZmVyIGZtdC5QcmludGxuKCZxdW90O3BhbmljICBleGFtcGxlJnF1b3Q7KQoKCWEgOj0gW11pbnR7MSwgMiwgM30KCWZtdC5QcmludGxuKGFbNV0pCn0KCi8vIHBhbmljOiBydW50aW1lIGVycm9yOiBpbmRleCBvdXQgb2YgcmFuZ2UgWzVdIHdpdGggbGVuZ3RoIDM8L2NvZGU+PC9wcmU+PC9kZXRhaWxzPjwvbGk+PC91bD48aDMgY2xhc3M9IiI+8J+aq8KgVHlwZSBBc3NlcnRpb24gRXJyb3I8L2gzPjx1bCBjbGFzcz0idG9nZ2xlIj48bGk+PGRldGFpbHMgb3Blbj0iIj48c3VtbWFyeT5jb2RlPC9zdW1tYXJ5PjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvcHJpc20ubWluLmpzIiBpbnRlZ3JpdHk9InNoYTUxMi03WjlKM2wxK0VZZmVhUEtjR1h1M01TLzdUK3cxOVd0S1FZL24reHptdzRoWmhKOXR5WW1jVVMrNFFxQWx6aGljRTVMQWZNUVNGM2lGVEs5YlFkVHhYZz09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiPjwvc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3RoZW1lcy9wcmlzbS5taW4uY3NzIiBpbnRlZ3JpdHk9InNoYTUxMi10TjdFYzZ6QUZhVlNHM1RwTkFLdGs0RE9ITnBTd0tIeHhyc2l3NEdIS0VTR1BzNW5qbi8wc01DVU1sMnN2VjR3bzRCSy9yQ1A3anVZeit6eCtsNm9lUT09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiLz48cHJlIGNsYXNzPSJjb2RlIj48Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtR28iPmZ1bmMgbWFpbigpIHsKCXZhciBpIGludGVyZmFjZXt9ID0gJnF1b3Q7aGVsbG8mcXVvdDsKCW51bSA6PSBpLihpbnQpCglmbXQuUHJpbnRsbigobnVtKSkKCS8vcGFuaWM6IGludGVyZmFjZSBjb252ZXJzaW9uOiBpbnRlcmZhY2Uge30gaXMgc3RyaW5nLCBub3QgaW50Cn08L2NvZGU+PC9wcmU+PC9kZXRhaWxzPjwvbGk+PC91bD48cCBjbGFzcz0iIj4KPC9wPjxoMSBjbGFzcz0iIj5kZWFkbG9jazwvaDE+PHAgY2xhc3M9IiI+WW91ciBsb2dpYyBpcyBiYWQ8L3A+PHVsIGNsYXNzPSJidWxsZXRlZC1saXN0Ij48bGkgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTpkaXNjIj5XZSYjeDI3O3JlIGFsbCB3YWl0aW5nIGZvciBlYWNoIG90aGVyLCBsaWtlIHlvdXIgb2ZmaWNlIEJMT0NLSU5HIElTU1VFPC9saT48L3VsPjx1bCBjbGFzcz0iYnVsbGV0ZWQtbGlzdCI+PGxpIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6ZGlzYyI+T25seSBzb21lIGNhbiBiZSBkZXRlY3RlZCwgYW5kIHdoZW4gZGV0ZWN0ZWQsIHRoZSBwcm9ncmFtIGV4aXRzPC9saT48L3VsPjxoMyBjbGFzcz0iIj7imqDvuI/CoERlYWRsb2NrIC0gTXV0ZXg8L2gzPjxwIGNsYXNzPSIiPmVhY2ggZ29yb3V0aW5lIHRyeSBnZXQgZWFjaCBvdGhlciBsb2NrPC9wPjx1bCBjbGFzcz0idG9nZ2xlIj48bGk+PGRldGFpbHMgb3Blbj0iIj48c3VtbWFyeT5jb2RlPC9zdW1tYXJ5PjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvcHJpc20ubWluLmpzIiBpbnRlZ3JpdHk9InNoYTUxMi03WjlKM2wxK0VZZmVhUEtjR1h1M01TLzdUK3cxOVd0S1FZL24reHptdzRoWmhKOXR5WW1jVVMrNFFxQWx6aGljRTVMQWZNUVNGM2lGVEs5YlFkVHhYZz09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiPjwvc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3RoZW1lcy9wcmlzbS5taW4uY3NzIiBpbnRlZ3JpdHk9InNoYTUxMi10TjdFYzZ6QUZhVlNHM1RwTkFLdGs0RE9ITnBTd0tIeHhyc2l3NEdIS0VTR1BzNW5qbi8wc01DVU1sMnN2VjR3bzRCSy9yQ1A3anVZeit6eCtsNm9lUT09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiLz48cHJlIGNsYXNzPSJjb2RlIj48Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtR28iPmZ1bmMgbXV0ZXhEZWFkbG9jaygpIHsKCXZhciBtdXRleDEsIG11dGV4MiBzeW5jLk11dGV4CgoJZ28gZnVuYygpIHsKCQltdXRleDEuTG9jaygpCgkJZm10LlByaW50bG4oJnF1b3Q7R29yb3V0aW5lIDE6IEdPVCBtdXRleDEmcXVvdDspCgkJdGltZS5TbGVlcCgxMDAgKiB0aW1lLk1pbGxpc2Vjb25kKQoKCQlmbXQuUHJpbnRsbigmcXVvdDtHb3JvdXRpbmUgMTogVFJZIG11dGV4MiZxdW90OykKCQltdXRleDIuTG9jaygpIC8vIGRlYWRsb2NrCgkJZm10LlByaW50bG4oJnF1b3Q7R29yb3V0aW5lIDE6IEdPVCBtdXRleDImcXVvdDspCgkJZGVmZXIgbXV0ZXgyLlVubG9jaygpCgkJZGVmZXIgbXV0ZXgxLlVubG9jaygpCgl9KCkKCglnbyBmdW5jKCkgewoJCW11dGV4Mi5Mb2NrKCkKCQlmbXQuUHJpbnRsbigmcXVvdDtHb3JvdXRpbmUgMjogR09UIG11dGV4MiZxdW90OykKCQl0aW1lLlNsZWVwKDEwMCAqIHRpbWUuTWlsbGlzZWNvbmQpCgoJCWZtdC5QcmludGxuKCZxdW90O0dvcm91dGluZSAyOiBUUlkgbXV0ZXgxJnF1b3Q7KQoJCW11dGV4MS5Mb2NrKCkgLy8gZGVhZGxvY2sKCQlmbXQuUHJpbnRsbigmcXVvdDtHb3JvdXRpbmUgMjogR09UIG11dGV4MSZxdW90OykKCQlkZWZlciBtdXRleDEuVW5sb2NrKCkKCQlkZWZlciBtdXRleDIuVW5sb2NrKCkKCX0oKQoKCXRpbWUuU2xlZXAodGltZS5TZWNvbmQpCn08L2NvZGU+PC9wcmU+PC9kZXRhaWxzPjwvbGk+PC91bD48aDMgY2xhc3M9IiI+8J+aq8KgRGVhZGxvY2sgLSBDaGFubmVsPC9oMz48dWwgY2xhc3M9InRvZ2dsZSI+PGxpPjxkZXRhaWxzIG9wZW49IiI+PHN1bW1hcnk+Y29kZTwvc3VtbWFyeT48c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3ByaXNtLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGE1MTItN1o5SjNsMStFWWZlYVBLY0dYdTNNUy83VCt3MTlXdEtRWS9uK3h6bXc0aFpoSjl0eVltY1VTKzRRcUFsemhpY0U1TEFmTVFTRjNpRlRLOWJRZFR4WGc9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIj48L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC90aGVtZXMvcHJpc20ubWluLmNzcyIgaW50ZWdyaXR5PSJzaGE1MTItdE43RWM2ekFGYVZTRzNUcE5BS3RrNERPSE5wU3dLSHh4cnNpdzRHSEtFU0dQczVuam4vMHNNQ1VNbDJzdlY0d280QksvckNQN2p1WXorengrbDZvZVE9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIi8+PHByZSBjbGFzcz0iY29kZSI+PGNvZGUgY2xhc3M9Imxhbmd1YWdlLUdvIj5mdW5jIGNoYW5uZWxEZWFkbG9jaygpIHsKCWNoIDo9IG1ha2UoY2hhbiBpbnQpIC8vIG5vIGJ1ZmZlcgoJLy8gZGVhZGxvY2sgaGVyZQoJY2ggJmx0Oy0gMSAvLyBubyByZWNlaXZlcgoJZm10LlByaW50bG4oJmx0Oy1jaCkgLy8gbmV2ZXIgYmVlbiBoZXJlCn0KLy8gZmF0YWwgZXJyb3I6IGFsbCBnb3JvdXRpbmVzIGFyZSBhc2xlZXAgLSBkZWFkbG9jayE8L2NvZGU+PC9wcmU+PC9kZXRhaWxzPjwvbGk+PC91bD48cCBjbGFzcz0iIj4KPC9wPjxoMyBjbGFzcz0iIj5PYnNlcnZpbmcgTXV0ZXggRGVhZGxvY2tzPC9oMz48cCBjbGFzcz0iIj5Vbmxpa2UgY2hhbm5lbCBkZWFkbG9ja3Mgd2hpY2ggcHJvZHVjZSBpbW1lZGlhdGUgZmF0YWwgZXJyb3JzLCBtdXRleCBkZWFkbG9ja3MgY2FuIGJlIG1vcmUgc3VidGxlIGFuZCBjaGFsbGVuZ2luZyB0byBkZXRlY3QuIEhlcmUgYXJlIHR3byBlZmZlY3RpdmUgbWV0aG9kcyBmb3IgaWRlbnRpZnlpbmcgbXV0ZXggZGVhZGxvY2tzOjwvcD48cCBjbGFzcz0iIj4KPC9wPjxwIGNsYXNzPSIiPjxzdHJvbmc+TWV0aG9kIDE6IEdvcm91dGluZSBDb3VudCBNb25pdG9yaW5nPC9zdHJvbmc+PC9wPjxwIGNsYXNzPSIiPkJ5IHRyYWNraW5nIHRoZSBudW1iZXIgb2YgYWN0aXZlIGdvcm91dGluZXMsIHlvdSBjYW4gZGV0ZWN0IHBvdGVudGlhbCBkZWFkbG9ja3MuPC9wPjxwIGNsYXNzPSIiPklmIHRoZSBnb3JvdXRpbmUgY291bnQgcmVtYWlucyBjb25zdGFudCBhbmQgZWxldmF0ZWQsIGl0IG1pZ2h0IGluZGljYXRlIGEgZGVhZGxvY2suPC9wPjx1bCBjbGFzcz0idG9nZ2xlIj48bGk+PGRldGFpbHMgb3Blbj0iIj48c3VtbWFyeT5jb2RlPC9zdW1tYXJ5PjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvcHJpc20ubWluLmpzIiBpbnRlZ3JpdHk9InNoYTUxMi03WjlKM2wxK0VZZmVhUEtjR1h1M01TLzdUK3cxOVd0S1FZL24reHptdzRoWmhKOXR5WW1jVVMrNFFxQWx6aGljRTVMQWZNUVNGM2lGVEs5YlFkVHhYZz09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiPjwvc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3RoZW1lcy9wcmlzbS5taW4uY3NzIiBpbnRlZ3JpdHk9InNoYTUxMi10TjdFYzZ6QUZhVlNHM1RwTkFLdGs0RE9ITnBTd0tIeHhyc2l3NEdIS0VTR1BzNW5qbi8wc01DVU1sMnN2VjR3bzRCSy9yQ1A3anVZeit6eCtsNm9lUT09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiLz48cHJlIGNsYXNzPSJjb2RlIj48Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtR28iPmZ1bmMgbWFpbigpIHsKCWdvIGZ1bmMoKSB7CgkJZm9yIHsKCQkJZm10LlByaW50ZigmcXVvdDtOdW1iZXIgb2YgZ29yb3V0aW5lczogJWRcbiZxdW90OywgcnVudGltZS5OdW1Hb3JvdXRpbmUoKSkKCQkJdGltZS5TbGVlcCh0aW1lLlNlY29uZCkKCQl9Cgl9KCkKCW11dGV4RGVhZGxvY2soKQoJdGltZS5TbGVlcCgxMDAgKiB0aW1lLlNlY29uZCkgLy8gZ2l2ZSBlbm91Z2ggdGltZSB0byBvYnNlcnZlCn08L2NvZGU+PC9wcmU+PC9kZXRhaWxzPjwvbGk+PC91bD48cCBjbGFzcz0iIj4KPC9wPjxwIGNsYXNzPSIiPjxzdHJvbmc+TWV0aG9kIDI6IFJ1bnRpbWUgUHJvZmlsaW5nIHdpdGggcHByb2Y8L3N0cm9uZz48L3A+PHAgY2xhc3M9IiI+Rm9yIG1vcmUgZGV0YWlsZWQgYW5hbHlzaXMsIEdvJiN4Mjc7cyBwcHJvZiB0b29sIHByb3ZpZGVzIGNvbXByZWhlbnNpdmUgaW5zaWdodHM6PC9wPjx1bCBjbGFzcz0idG9nZ2xlIj48bGk+PGRldGFpbHMgb3Blbj0iIj48c3VtbWFyeT5jb2RlPC9zdW1tYXJ5PjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvcHJpc20ubWluLmpzIiBpbnRlZ3JpdHk9InNoYTUxMi03WjlKM2wxK0VZZmVhUEtjR1h1M01TLzdUK3cxOVd0S1FZL24reHptdzRoWmhKOXR5WW1jVVMrNFFxQWx6aGljRTVMQWZNUVNGM2lGVEs5YlFkVHhYZz09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiPjwvc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3RoZW1lcy9wcmlzbS5taW4uY3NzIiBpbnRlZ3JpdHk9InNoYTUxMi10TjdFYzZ6QUZhVlNHM1RwTkFLdGs0RE9ITnBTd0tIeHhyc2l3NEdIS0VTR1BzNW5qbi8wc01DVU1sMnN2VjR3bzRCSy9yQ1A3anVZeit6eCtsNm9lUT09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiLz48cHJlIGNsYXNzPSJjb2RlIj48Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtR28iPmltcG9ydCAoCiAgLy8gLi4uCglfICZxdW90O25ldC9odHRwL3Bwcm9mJnF1b3Q7CikKCmZ1bmMgbWFpbigpIHsKCS8vIFN0YXJ0IHBwcm9mIHNlcnZlcgoJZ28gZnVuYygpIHsKCQlsb2cuUHJpbnRsbihodHRwLkxpc3RlbkFuZFNlcnZlKCZxdW90O2xvY2FsaG9zdDo2MDYwJnF1b3Q7LCBuaWwpKQoJfSgpCgoJbXV0ZXhEZWFkbG9jaygpCgl0aW1lLlNsZWVwKDEwMCAqIHRpbWUuU2Vjb25kKSAvLyBnaXZlIGVub3VnaCB0aW1lIHRvIG9ic2VydmUKfTwvY29kZT48L3ByZT48L2RldGFpbHM+PC9saT48L3VsPjxwIGNsYXNzPSIiPk5hdmlnYXRlIHRvIDxjb2RlPmh0dHA6Ly9sb2NhbGhvc3Q6NjA2MC9kZWJ1Zy9wcHJvZi9nb3JvdXRpbmU/ZGVidWc9MTwvY29kZT4gaW4geW91ciBicm93c2VyIHRvIHZpZXcgZGV0YWlsZWQgZ29yb3V0aW5lIHN0YXRlcywgaW5jbHVkaW5nOjwvcD48dWwgY2xhc3M9ImJ1bGxldGVkLWxpc3QiPjxsaSBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOmRpc2MiPkxvY2tlZCBnb3JvdXRpbmVzPC9saT48L3VsPjx1bCBjbGFzcz0iYnVsbGV0ZWQtbGlzdCI+PGxpIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6ZGlzYyI+U3RhY2sgdHJhY2VzPC9saT48L3VsPjx1bCBjbGFzcz0iYnVsbGV0ZWQtbGlzdCI+PGxpIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6ZGlzYyI+TG9jayBjb250ZW50aW9uIHBvaW50czwvbGk+PC91bD48c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3ByaXNtLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGE1MTItN1o5SjNsMStFWWZlYVBLY0dYdTNNUy83VCt3MTlXdEtRWS9uK3h6bXc0aFpoSjl0eVltY1VTKzRRcUFsemhpY0U1TEFmTVFTRjNpRlRLOWJRZFR4WGc9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIj48L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC90aGVtZXMvcHJpc20ubWluLmNzcyIgaW50ZWdyaXR5PSJzaGE1MTItdE43RWM2ekFGYVZTRzNUcE5BS3RrNERPSE5wU3dLSHh4cnNpdzRHSEtFU0dQczVuam4vMHNNQ1VNbDJzdlY0d280QksvckNQN2p1WXorengrbDZvZVE9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIi8+PHByZSBjbGFzcz0iY29kZSI+PGNvZGUgY2xhc3M9Imxhbmd1YWdlLVBsYWluIFRleHQiPjEgQCAweDEwMDFmN2I4OCAweDEwMDIwYmQ5OCAweDEwMDIwYmQ3NSAweDEwMDIyYmNjOCAweDEwMDI0OTU1NCAweDEwMDQwMDRhMCAweDEwMDQwMDQ0ZCAweDEwMDIzMDI4NAojCTB4MTAwMjJiY2M3CXN5bmMucnVudGltZV9TZW1hY3F1aXJlTXV0ZXgrMHgyNwkvdXNyL2xvY2FsL2dvL3NyYy9ydW50aW1lL3NlbWEuZ286NzcKIwkweDEwMDI0OTU1MwlzeW5jLigqTXV0ZXgpLmxvY2tTbG93KzB4MTczCQkvdXNyL2xvY2FsL2dvL3NyYy9zeW5jL211dGV4LmdvOjE3MQojCTB4MTAwNDAwNDlmCXN5bmMuKCpNdXRleCkuTG9jaysweDE2ZgkJL3Vzci9sb2NhbC9nby9zcmMvc3luYy9tdXRleC5nbzo5MAojCTB4MTAwNDAwNDRjCW1haW4ubXV0ZXhEZWFkbG9jay5mdW5jMisweDExYwkJL1VzZXJzL2ppYWxpbmh1YW5nL0Rlc2t0b3AvZ28td2Vic29ja2V0L21haW4uZ286NDcKCjEgQCAweDEwMDFmN2I4OCAweDEwMDIwYmQ5OCAweDEwMDIwYmQ3NSAweDEwMDIyYmNjOCAweDEwMDI0OTU1NCAweDEwMDQwMDgyMCAweDEwMDQwMDdjZCAweDEwMDIzMDI4NAojCTB4MTAwMjJiY2M3CXN5bmMucnVudGltZV9TZW1hY3F1aXJlTXV0ZXgrMHgyNwkvdXNyL2xvY2FsL2dvL3NyYy9ydW50aW1lL3NlbWEuZ286NzcKIwkweDEwMDI0OTU1MwlzeW5jLigqTXV0ZXgpLmxvY2tTbG93KzB4MTczCQkvdXNyL2xvY2FsL2dvL3NyYy9zeW5jL211dGV4LmdvOjE3MQojCTB4MTAwNDAwODFmCXN5bmMuKCpNdXRleCkuTG9jaysweDE2ZgkJL3Vzci9sb2NhbC9nby9zcmMvc3luYy9tdXRleC5nbzo5MAojCTB4MTAwNDAwN2NjCW1haW4ubXV0ZXhEZWFkbG9jay5mdW5jMSsweDExYwkJL1VzZXJzL2ppYWxpbmh1YW5nL0Rlc2t0b3AvZ28td2Vic29ja2V0L21haW4uZ286MzU8L2NvZGU+PC9wcmU+PHAgY2xhc3M9IiI+SWYgeW91IHdhbnQgdmlzdWFsaXphdGlvbjwvcD48c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3ByaXNtLm1pbi5qcyIgaW50ZWdyaXR5PSJzaGE1MTItN1o5SjNsMStFWWZlYVBLY0dYdTNNUy83VCt3MTlXdEtRWS9uK3h6bXc0aFpoSjl0eVltY1VTKzRRcUFsemhpY0U1TEFmTVFTRjNpRlRLOWJRZFR4WGc9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIj48L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC90aGVtZXMvcHJpc20ubWluLmNzcyIgaW50ZWdyaXR5PSJzaGE1MTItdE43RWM2ekFGYVZTRzNUcE5BS3RrNERPSE5wU3dLSHh4cnNpdzRHSEtFU0dQczVuam4vMHNNQ1VNbDJzdlY0d280QksvckNQN2p1WXorengrbDZvZVE9PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgcmVmZXJyZXJQb2xpY3k9Im5vLXJlZmVycmVyIi8+PHByZSBjbGFzcz0iY29kZSI+PGNvZGUgY2xhc3M9Imxhbmd1YWdlLUJhc2giPmJyZXcgaW5zdGFsbCBncmFwaHZpegoKIyB3aGVuIGdvIHJ1biBtYWluLmdvCgpnbyB0b29sIHBwcm9mIGh0dHA6Ly9sb2NhbGhvc3Q6NjA2MC9kZWJ1Zy9wcHJvZi9nb3JvdXRpbmUKIyBnZW5lcmF0ZSBhIGNvbXByZXNzZWQgcHJvZmlsZSBpbiB5b3VyCiMgL1VzZXJzL3s/Pz99L3Bwcm9mL3Bwcm9mLm1haW4uYWxsb2Nfb2JqZWN0cy5hbGxvY19zcGFjZS5pbnVzZV9vYmplY3RzLmludXNlX3NwYWNlLjAwNC5wYi5negoKCiMgdG8gc2VydmUgdGhhdCBwcm9maWxlIHlvdSBqdXN0IGNyZWF0ZWQuCmdvIHRvb2wgcHByb2YgLWh0dHA9OjgwODAgL1VzZXJzL2ppYWxpbmh1YW5nL3Bwcm9mL3Bwcm9mLm1haW4uZ29yb3V0aW5lLjAwNC5wYi5negojIFNlcnZpbmcgd2ViIFVJIG9uIGh0dHA6Ly9sb2NhbGhvc3Q6ODA4MDwvY29kZT48L3ByZT48cCBjbGFzcz0iIj4KPC9wPjxwIGNsYXNzPSIiPgo8L3A+PHAgY2xhc3M9IiI+CjwvcD48aDEgY2xhc3M9IiI+RGVhZGxvY2sgc29sdXRpb248L2gxPjxoMyBjbGFzcz0iIj5EZWFkbG9jayBNdXRleCBTb2x1dGlvbiAtIHNhbWUgb3JkZXI8L2gzPjxwIGNsYXNzPSIiPkdvcm91dGluZTEgZ2V0cyBsb2NrMSwgZ29yb3V0aW5lMiBpcyBibG9ja2VkIGJlY2F1c2UgbG9jazEgaXMgYWxyZWFkeSB0YWtlbiBieSBnb3JvdXRpbmUxLCBzbyBnb3JvdXRpbmUyIHdpbGwgYmUgaW4gYSBibG9ja2luZyBzdGF0ZSB1bnRpbCBnb3JvdXRpbmUxIHJlbGVhc2VzIHRoZSBsb2NrLjwvcD48cCBjbGFzcz0iIj48bWFyayBjbGFzcz0iaGlnaGxpZ2h0LXJlZCI+PHN0cm9uZz5OT1QgR09PRCBFTk9VR0g8L3N0cm9uZz48L21hcms+OiBUaGlzIGJlY29tZXMgaGFyZCB0byBtYW5hZ2Ugd2hlbiB5b3UgaGF2ZSBtYW55IGxvY2tzPC9wPjx1bCBjbGFzcz0idG9nZ2xlIj48bGk+PGRldGFpbHMgb3Blbj0iIj48c3VtbWFyeT5jb2RlPC9zdW1tYXJ5PjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvcHJpc20ubWluLmpzIiBpbnRlZ3JpdHk9InNoYTUxMi03WjlKM2wxK0VZZmVhUEtjR1h1M01TLzdUK3cxOVd0S1FZL24reHptdzRoWmhKOXR5WW1jVVMrNFFxQWx6aGljRTVMQWZNUVNGM2lGVEs5YlFkVHhYZz09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiPjwvc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3RoZW1lcy9wcmlzbS5taW4uY3NzIiBpbnRlZ3JpdHk9InNoYTUxMi10TjdFYzZ6QUZhVlNHM1RwTkFLdGs0RE9ITnBTd0tIeHhyc2l3NEdIS0VTR1BzNW5qbi8wc01DVU1sMnN2VjR3bzRCSy9yQ1A3anVZeit6eCtsNm9lUT09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiLz48cHJlIGNsYXNzPSJjb2RlIj48Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtR28iPmZ1bmMgbXV0ZXhTb2x1dGlvbjEoKSB7Cgl2YXIgbXV0ZXgxLCBtdXRleDIgc3luYy5NdXRleAoJdmFyIHdnIHN5bmMuV2FpdEdyb3VwCgoJd2cuQWRkKDIpCgoJLy8gYm90aCBsb2NrIHRoaW5nIGluIHRoZSBzYW1lIG9yZGVy77yaZmlyc3QgbXV0ZXgxIHRoZW4gbXV0ZXgyCglmb3IgaSA6PSAwOyBpICZsdDsgMjsgaSsrIHsKCQlnbyBmdW5jKGlkIGludCkgewoJCQlkZWZlciB3Zy5Eb25lKCkKCgkJCW11dGV4MS5Mb2NrKCkKCQkJZm10LlByaW50ZigmcXVvdDtHb3JvdXRpbmUgJWQ6IExPQ0tJTkcgbXV0ZXgxXG4mcXVvdDssIGlkKQoKCQkJLy8gc29tZSBqb2IKCQkJdGltZS5TbGVlcCgxMDAgKiB0aW1lLk1pbGxpc2Vjb25kKQoKCQkJZm10LlByaW50ZigmcXVvdDtHb3JvdXRpbmUgJWQ6IFRSWSBMT0NLSU5HIG11dGV4MlxuJnF1b3Q7LCBpZCkKCQkJbXV0ZXgyLkxvY2soKQoKCQkJLy8KCQkJZm10LlByaW50ZigmcXVvdDtHb3JvdXRpbmUgJWQ6IFVTSU5HLi4uXG4mcXVvdDssIGlkKQoJCQl0aW1lLlNsZWVwKDUwICogdGltZS5NaWxsaXNlY29uZCkKCgkJCW11dGV4Mi5VbmxvY2soKQoJCQltdXRleDEuVW5sb2NrKCkKCQl9KGkpCgl9CgoJd2cuV2FpdCgpCn08L2NvZGU+PC9wcmU+PC9kZXRhaWxzPjwvbGk+PC91bD48aDMgY2xhc3M9IiI+RGVhZGxvY2sgTXV0ZXggU29sdXRpb24gLSBsb2NrIGFsbDwvaDM+PHAgY2xhc3M9IiI+QmFyYmFyaWMgb25lPC9wPjxwIGNsYXNzPSIiPjxtYXJrIGNsYXNzPSJoaWdobGlnaHQtcmVkIj48c3Ryb25nPk5PVCBHT09EIEVOT1VHSDwvc3Ryb25nPjwvbWFyaz46IFRoaXMgYnJ1dGUgZm9yY2UgYXBwcm9hY2ggaXNuJiN4Mjc7dCBzdXN0YWluYWJsZSBsb25nLXRlcm08L3A+PHVsIGNsYXNzPSJ0b2dnbGUiPjxsaT48ZGV0YWlscyBvcGVuPSIiPjxzdW1tYXJ5PmNvZGU8L3N1bW1hcnk+PHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC9wcmlzbS5taW4uanMiIGludGVncml0eT0ic2hhNTEyLTdaOUozbDErRVlmZWFQS2NHWHUzTVMvN1QrdzE5V3RLUVkvbit4em13NGhaaEo5dHlZbWNVUys0UXFBbHpoaWNFNUxBZk1RU0YzaUZUSzliUWRUeFhnPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvdGhlbWVzL3ByaXNtLm1pbi5jc3MiIGludGVncml0eT0ic2hhNTEyLXRON0VjNnpBRmFWU0czVHBOQUt0azRET0hOcFN3S0h4eHJzaXc0R0hLRVNHUHM1bmpuLzBzTUNVTWwyc3ZWNHdvNEJLL3JDUDdqdVl6K3p4K2w2b2VRPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciIvPjxwcmUgY2xhc3M9ImNvZGUiPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS1HbyI+ZnVuYyBtdXRleFNvbHV0aW9uMigpIHsKCWxvY2tzIDo9IE9yZGVyZWRMb2Nrc3t9CgoJZ28gZnVuYygpIHsKCQlsb2Nrcy5Mb2NrQm90aCgpCgkJZm10LlByaW50bG4oJnF1b3Q7R29yb3V0aW5lIDE6IEdFVCBBTEwgTE9DS1MmcXVvdDspCgkJZm10LlByaW50bG4oJnF1b3Q7R29yb3V0aW5lIDE6IERPTkUmcXVvdDspCgkJbG9ja3MuVW5sb2NrQm90aCgpCgl9KCkKCglnbyBmdW5jKCkgewoJCWxvY2tzLkxvY2tCb3RoKCkKCQlmbXQuUHJpbnRsbigmcXVvdDtHb3JvdXRpbmUgMjogR0VUIEFMTCBMT0NLUyZxdW90OykKCQlmbXQuUHJpbnRsbigmcXVvdDtHb3JvdXRpbmUgMjogRE9ORSZxdW90OykKCQlsb2Nrcy5VbmxvY2tCb3RoKCkKCX0oKQoKCXRpbWUuU2xlZXAodGltZS5TZWNvbmQpCn0KCnR5cGUgT3JkZXJlZExvY2tzIHN0cnVjdCB7CgltdXRleDEgc3luYy5NdXRleAoJbXV0ZXgyIHN5bmMuTXV0ZXgKfQoKZnVuYyAobCAqT3JkZXJlZExvY2tzKSBMb2NrQm90aCgpIHsKCWwubXV0ZXgxLkxvY2soKQoJbC5tdXRleDIuTG9jaygpCn0KCmZ1bmMgKGwgKk9yZGVyZWRMb2NrcykgVW5sb2NrQm90aCgpIHsKCWwubXV0ZXgyLlVubG9jaygpCglsLm11dGV4MS5VbmxvY2soKQp9PC9jb2RlPjwvcHJlPjwvZGV0YWlscz48L2xpPjwvdWw+PGgzIGNsYXNzPSIiPkRlYWRsb2NrIE11dGV4IFNvbHV0aW9uIC0gVHJ5TG9jazwvaDM+PHAgY2xhc3M9IiI+VHJ5TG9jayBpcyBhdmFpbGFibGUgYWZ0ZXIgR28gMS4xODwvcD48cCBjbGFzcz0iIj5IZXJlIHdlIHVzZSBDb250ZXh0IGZvciBjb21tdW5pY2F0aW9uLiBEb24mI3gyNzt0IG92ZXJ0aGluayBpdCAtIGNvbnRleHQgaXMganVzdCBhIHRvb2wgZm9yIHRpbWUtbGltaXRlZCBhY3Rpb25zPGJyLz5Gb3Igc2ltcGxlIHNpZ25hbCBwYXNzaW5nLCBib3RoIENoYW5uZWwgYW5kIENvbnRleHQgd29yay48YnIvPkNob29zZSBDaGFubmVsIGZvciBzeW5jaHJvbml6YXRpb24gbmVlZHMsIENvbnRleHQgZm9yIHRpbWUtbGltaXRlZCBzdHVmZiBsaWtlIEhUVFA8YnIvPjwvcD48cCBjbGFzcz0iIj4KPC9wPjxwIGNsYXNzPSIiPlRoZSBpZGVhIGJlbG93IGlzOjwvcD48b2wgdHlwZT0iMSIgY2xhc3M9Im51bWJlcmVkLWxpc3QiIHN0YXJ0PSIxIj48bGk+RWFjaCBnb3JvdXRpbmUgZmlyc3QgbG9ja3MgaXRzIGNvcnJlc3BvbmRpbmcgaW5kZXggbG9jazwvbGk+PC9vbD48b2wgdHlwZT0iMSIgY2xhc3M9Im51bWJlcmVkLWxpc3QiIHN0YXJ0PSIyIj48bGk+VGhlbiB0cmllcyB0byBsb2NrIHRoZSBvdGhlciBvbmU8L2xpPjwvb2w+PG9sIHR5cGU9IjEiIGNsYXNzPSJudW1iZXJlZC1saXN0IiBzdGFydD0iMyI+PGxpPkZpbmRzIG91dCBpdCBjYW4mI3gyNzt0IGJlY2F1c2UgdGhlIG90aGVyIGxvY2sgaXMgdGFrZW4gYnkgYW5vdGhlciBnb3JvdXRpbmU8L2xpPjwvb2w+PG9sIHR5cGU9IjEiIGNsYXNzPSJudW1iZXJlZC1saXN0IiBzdGFydD0iNCI+PGxpPkluIHRyeUxvY2ssIGNoYW5naW5nIHRoZSBkZWZhdWx0IGJlaGF2aW9yIDxjb2RlPnRpbWUuU2xlZXAoMSAqIHRpbWUuTWlsbGlzZWNvbmQpPC9jb2RlPiB0byA8Y29kZT50aW1lLlNsZWVwKDEwMCAqIHRpbWUuTWljcm9zZWNvbmQpPC9jb2RlPiBjYW4gZWZmZWN0aXZlbHkgPHN0cm9uZz5HRVQgQUxMIExPQ0tTPC9zdHJvbmc+PC9saT48L29sPjx1bCBjbGFzcz0idG9nZ2xlIj48bGk+PGRldGFpbHMgb3Blbj0iIj48c3VtbWFyeT5jb2RlPC9zdW1tYXJ5PjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvcHJpc20ubWluLmpzIiBpbnRlZ3JpdHk9InNoYTUxMi03WjlKM2wxK0VZZmVhUEtjR1h1M01TLzdUK3cxOVd0S1FZL24reHptdzRoWmhKOXR5WW1jVVMrNFFxQWx6aGljRTVMQWZNUVNGM2lGVEs5YlFkVHhYZz09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiPjwvc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcHJpc20vMS4yOS4wL3RoZW1lcy9wcmlzbS5taW4uY3NzIiBpbnRlZ3JpdHk9InNoYTUxMi10TjdFYzZ6QUZhVlNHM1RwTkFLdGs0RE9ITnBTd0tIeHhyc2l3NEdIS0VTR1BzNW5qbi8wc01DVU1sMnN2VjR3bzRCSy9yQ1A3anVZeit6eCtsNm9lUT09IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiByZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiLz48cHJlIGNsYXNzPSJjb2RlIj48Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtR28iPmZ1bmMgdHJ5bG9ja1NvbHV0aW9uKCkgewoJdmFyIG11dGV4ZXMgWzJdc3luYy5NdXRleAoJdmFyIHdnIHN5bmMuV2FpdEdyb3VwCgoJdHJ5TG9jayA6PSBmdW5jKG0gKnN5bmMuTXV0ZXgsIHRpbWVvdXQgdGltZS5EdXJhdGlvbiwgaW5kZXggaW50KSBib29sIHsKCQljdHgsIGNhbmNlbCA6PSBjb250ZXh0LldpdGhUaW1lb3V0KGNvbnRleHQuQmFja2dyb3VuZCgpLCB0aW1lb3V0KQoJCWRlZmVyIGNhbmNlbCgpCgoJCWZvciB7CgkJCXNlbGVjdCB7CgkJCWNhc2UgJmx0Oy1jdHguRG9uZSgpOgoJCQkJcmV0dXJuIGZhbHNlCgkJCWRlZmF1bHQ6CgkJCQlpZiBtLlRyeUxvY2soKSB7CgkJCQkJZm10LlByaW50ZigmcXVvdDtHb3JvdXRpbmUgJWQ6IExvY2sgU3VjY2Vzc1xuJnF1b3Q7LCBpbmRleCkKCQkJCQlyZXR1cm4gdHJ1ZQoJCQkJfQoJCQkJdGltZS5TbGVlcCgxICogdGltZS5NaWxsaXNlY29uZCkgLy8gcmVkdWNlIGludGVydmFsIGhlcmUsIAoJCQl9CgkJfQoJfQoKCXdnLkFkZCgyKQoKCWZvciBpIDo9IDA7IGkgJmx0OyAyOyBpKysgewoJCQlnbyBmdW5jKGkgaW50KSB7CgkJCWRlZmVyIHdnLkRvbmUoKQoKCQkJLy8gVHJ5IHRvIGxvY2sgdGhlIGZpcnN0IG11dGV4CgkJCWlmICF0cnlMb2NrKCZhbXA7bXV0ZXhlc1tpXSwgNTAwKnRpbWUuTWlsbGlzZWNvbmQsIGkrMSkgewoJCQkJZm10LlByaW50ZigmcXVvdDtHb3JvdXRpbmUgJWQ6IENBTiYjeDI3O3QgR0VUIG11dGV4JWQsIEdJVkUgVVAhXG4mcXVvdDssIGkrMSwgaSsxKQoJCQkJcmV0dXJuCgkJCX0KCQkJZGVmZXIgbXV0ZXhlc1tpXS5VbmxvY2soKQoKCQkJdGltZS5TbGVlcCgxMDAgKiB0aW1lLk1pbGxpc2Vjb25kKQoKCQkJLy8gVHJ5IHRvIGxvY2sgdGhlIHNlY29uZCBtdXRleCAoaW4gcmV2ZXJzZSBvcmRlciBmb3IgdGhlIHNlY29uZCBnb3JvdXRpbmUpCgkJCXNlY29uZExvY2sgOj0gKGkgKyAxKSAlIDIKCQkJaWYgIXRyeUxvY2soJmFtcDttdXRleGVzW3NlY29uZExvY2tdLCA1MDAqdGltZS5NaWxsaXNlY29uZCwgaSsxKSB7CgkJCQlmbXQuUHJpbnRmKCZxdW90O0dvcm91dGluZSAlZDogQ0FOJiN4Mjc7dCBHRVQgbXV0ZXglZCwgR0lWRSBVUCFcbiZxdW90OywgaSsxLCBzZWNvbmRMb2NrKzEpCgkJCQlyZXR1cm4KCQkJfQoJCQlkZWZlciBtdXRleGVzW3NlY29uZExvY2tdLlVubG9jaygpCgoJCQlmbXQuUHJpbnRmKCZxdW90O0dvcm91dGluZSAlZDogR0VUIEFMTCBMT0NLU1xuJnF1b3Q7LCBpKzEpCgkJfShpKQoJfQoKCXdnLldhaXQoKQp9CgovKgoKR29yb3V0aW5lIDE6IExvY2sgU3VjY2VzcwpHb3JvdXRpbmUgMjogTG9jayBTdWNjZXNzCkdvcm91dGluZSAxOiBDQU4mI3gyNzt0IEdFVCBtdXRleDIsIEdJVkUgVVAhCkdvcm91dGluZSAyOiBDQU4mI3gyNzt0IEdFVCBtdXRleDEsIEdJVkUgVVAhCgoqLwoKCi8vIHNtYWxsIGNoYW5jZSB3aWxsIGJlCgovKgpJdGVyYXRpb24gNwpHb3JvdXRpbmUgMjogTG9jayBTdWNjZXNzCkdvcm91dGluZSAxOiBMb2NrIFN1Y2Nlc3MKR29yb3V0aW5lIDI6IENBTiYjeDI3O3QgR0VUIG11dGV4MSwgR0lWRSBVUCEKR29yb3V0aW5lIDE6IExvY2sgU3VjY2VzcwpHb3JvdXRpbmUgMTogR0VUIEFMTCBMT0NLUwoqLzwvY29kZT48L3ByZT48L2RldGFpbHM+PC9saT48L3VsPjxoMyBjbGFzcz0iIj5EZWFkbG9jayBDaGFubmVsIFNvbHV0aW9uPC9oMz48cCBjbGFzcz0iIj5JZiB5b3UgcHJlZmVyIEdvJiN4Mjc7cyBDU1Agc3R5bGU8L3A+PHVsIGNsYXNzPSJ0b2dnbGUiPjxsaT48ZGV0YWlscyBvcGVuPSIiPjxzdW1tYXJ5PmNvZGU8L3N1bW1hcnk+PHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3ByaXNtLzEuMjkuMC9wcmlzbS5taW4uanMiIGludGVncml0eT0ic2hhNTEyLTdaOUozbDErRVlmZWFQS2NHWHUzTVMvN1QrdzE5V3RLUVkvbit4em13NGhaaEo5dHlZbWNVUys0UXFBbHpoaWNFNUxBZk1RU0YzaUZUSzliUWRUeFhnPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wcmlzbS8xLjI5LjAvdGhlbWVzL3ByaXNtLm1pbi5jc3MiIGludGVncml0eT0ic2hhNTEyLXRON0VjNnpBRmFWU0czVHBOQUt0azRET0hOcFN3S0h4eHJzaXc0R0hLRVNHUHM1bmpuLzBzTUNVTWwyc3ZWNHdvNEJLL3JDUDdqdVl6K3p4K2w2b2VRPT0iIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHJlZmVycmVyUG9saWN5PSJuby1yZWZlcnJlciIvPjxwcmUgY2xhc3M9ImNvZGUiPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS1HbyI+ZnVuYyBjaGFubmVsU29sdXRpb24oKSB7CglyZXNvdXJjZTEgOj0gbWFrZShjaGFuIHN0cnVjdHt9LCAxKQoJcmVzb3VyY2UyIDo9IG1ha2UoY2hhbiBzdHJ1Y3R7fSwgMSkKCXZhciB3ZyBzeW5jLldhaXRHcm91cAoKCXJlc291cmNlMSAmbHQ7LSBzdHJ1Y3R7fXt9CglyZXNvdXJjZTIgJmx0Oy0gc3RydWN0e317fQoKCXdnLkFkZCgyKQoKCWdvIGZ1bmMoKSB7CgkJZGVmZXIgd2cuRG9uZSgpCgoJCXNlbGVjdCB7CgkJY2FzZSAmbHQ7LXJlc291cmNlMToKCQkJZm10LlByaW50bG4oJnF1b3Q7R29yb3V0aW5lIDE6IEdFVCBSRVNPVVJDRSAxJnF1b3Q7KQoJCQl0aW1lLlNsZWVwKDEwMCAqIHRpbWUuTWlsbGlzZWNvbmQpCgoJCQlzZWxlY3QgewoJCQljYXNlICZsdDstcmVzb3VyY2UyOgoJCQkJZm10LlByaW50bG4oJnF1b3Q7R29yb3V0aW5lIDE6IEdFVCBSRVNPVVJDRSAyJnF1b3Q7KQoJCQkJdGltZS5TbGVlcCgxMDAgKiB0aW1lLk1pbGxpc2Vjb25kKQoJCQkJcmVzb3VyY2UyICZsdDstIHN0cnVjdHt9e30gLy9yZWxlYXNlIHJlc291cmNlCgkJCWRlZmF1bHQ6CgkJCQlmbXQuUHJpbnRsbigmcXVvdDtHb3JvdXRpbmUgMTogQ0FOJiN4Mjc7VCBHRVQgUkVTT1VSQ0UgMiZxdW90OykKCQkJfQoKCQkJcmVzb3VyY2UxICZsdDstIHN0cnVjdHt9e30KCQlkZWZhdWx0OgoJCQlmbXQuUHJpbnRsbigmcXVvdDtHb3JvdXRpbmUgMTogQ0FOJiN4Mjc7VCBHRVQgUkVTT1VSQ0UgMSZxdW90OykKCQl9Cgl9KCkKCglnbyBmdW5jKCkgewoJCWRlZmVyIHdnLkRvbmUoKQoKCQlzZWxlY3QgewoJCWNhc2UgJmx0Oy1yZXNvdXJjZTI6CgkJCWZtdC5QcmludGxuKCZxdW90O0dvcm91dGluZSAyOiBHRVQgUkVTT1VSQ0UgMiZxdW90OykKCQkJdGltZS5TbGVlcCgxMDAgKiB0aW1lLk1pbGxpc2Vjb25kKQoKCQkJc2VsZWN0IHsKCQkJY2FzZSAmbHQ7LXJlc291cmNlMToKCQkJCWZtdC5QcmludGxuKCZxdW90O0dvcm91dGluZSAyOiBHRVQgUkVTT1VSQ0UgMSZxdW90OykKCQkJCXRpbWUuU2xlZXAoMTAwICogdGltZS5NaWxsaXNlY29uZCkKCQkJCXJlc291cmNlMSAmbHQ7LSBzdHJ1Y3R7fXt9IC8vIHJlbGVhc2UgcmVzb3VyY2UKCQkJZGVmYXVsdDoKCQkJCWZtdC5QcmludGxuKCZxdW90O0dvcm91dGluZSAyOiBDQU4mI3gyNztUIEdFVCBSRVNPVVJDRSAxJnF1b3Q7KQoJCQl9CgoJCQlyZXNvdXJjZTIgJmx0Oy0gc3RydWN0e317fQoJCWRlZmF1bHQ6CgkJCWZtdC5QcmludGxuKCZxdW90O0dvcm91dGluZSAyOiBDQU4mI3gyNztUIEdFVCBSRVNPVVJDRSAyJnF1b3Q7KQoJCX0KCX0oKQoKCXdnLldhaXQoKQp9PC9jb2RlPjwvcHJlPjwvZGV0YWlscz48L2xpPjwvdWw+PHAgY2xhc3M9IiI+CjwvcD48cCBjbGFzcz0iIj4KPC9wPjxwIGNsYXNzPSIiPgo8L3A+PGgxIGNsYXNzPSIiPkNvbXBhcmlzb248L2gxPjx0YWJsZSBjbGFzcz0ic2ltcGxlLXRhYmxlIj48dGJvZHk+PHRyPjx0ZCBjbGFzcz0iIj5Bc3BlY3Q8L3RkPjx0ZCBjbGFzcz0iIiBzdHlsZT0id2lkdGg6MjczcHgiPjxzdHJvbmc+UGFuaWM8L3N0cm9uZz48L3RkPjx0ZCBjbGFzcz0iIj48c3Ryb25nPkRlYWRsb2NrPC9zdHJvbmc+PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IiI+VGltaW5nPC90ZD48dGQgY2xhc3M9IiIgc3R5bGU9IndpZHRoOjI3M3B4Ij5pbW1lZGlhdGVseTwvdGQ+PHRkIGNsYXNzPSIiPk1heWJlIHdhaXQgZm9yIHVuc3VyZTwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSIiPlJlY292ZXJ5PC90ZD48dGQgY2xhc3M9IiIgc3R5bGU9IndpZHRoOjI3M3B4Ij55ZXMgd2l0aCByZWNvdmVyKCk8L3RkPjx0ZCBjbGFzcz0iIj5ubywgcHJvZ3JhbSByZXN0YXJ0PC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IiI+RGV0ZWN0aW9uPC90ZD48dGQgY2xhc3M9IiIgc3R5bGU9IndpZHRoOjI3M3B4Ij5FeHBsaWNpdCBlcnJvciBtZXNzYWdlPC90ZD48dGQgY2xhc3M9IiI+T2Z0ZW4gcmVxdWlyZXMgbW9uaXRvcmluZyB0b29sczwvdGQ+PC90cj48dHI+PHRkIGNsYXNzPSIiPlNjb3BlPC90ZD48dGQgY2xhc3M9IiIgc3R5bGU9IndpZHRoOjI3M3B4Ij5BZmZlY3RzIHNwZWNpZmljIGdvcm91dGluZTwvdGQ+PHRkIGNsYXNzPSIiPlBvdGVudGlhbGx5IHN5c3RlbS13aWRlPC90ZD48L3RyPjx0cj48dGQgY2xhc3M9IiI+RGVidWdnaW5nPC90ZD48dGQgY2xhc3M9IiIgc3R5bGU9IndpZHRoOjI3M3B4Ij5vYnZpb3VzIHN0YWNrIGFuZCBlcnJvciBtZXNzYWdlLCBlYXN5PC90ZD48dGQgY2xhc3M9IiI+Q29tcGxleCwgcmVxdWlyZXMgcnVudGltZSBhbmFseXNpczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PHAgY2xhc3M9IiI+CjwvcD48cCBjbGFzcz0iIj4KPC9wPjxoMSBjbGFzcz0iIj5SZWZlcmVuY2VzPC9oMT48cCBjbGFzcz0iIj48YSBocmVmPSJodHRwczovL3dhbmdkYW1pbmcuZ2l0Ym9va3MuaW8vZ29sYW5nL2NvbnRlbnQvdG9uZ19idV9sb2NrLmh0bWwiPmh0dHBzOi8vd2FuZ2RhbWluZy5naXRib29rcy5pby9nb2xhbmcvY29udGVudC90b25nX2J1X2xvY2suaHRtbDwvYT48L3A+PHAgY2xhc3M9IiI+PGEgaHJlZj0iaHR0cHM6Ly9nb2xhbmcuZGVzaWduL2dvLXF1ZXN0aW9ucy9jaGFubmVsL2NzcC8iPmh0dHBzOi8vZ29sYW5nLmRlc2lnbi9nby1xdWVzdGlvbnMvY2hhbm5lbC9jc3AvPC9hPjwvcD48cCBjbGFzcz0iIj48YSBocmVmPSJodHRwczovL2l0aGVscC5pdGhvbWUuY29tLnR3L2FydGljbGVzLzEwMjM1MTcyIj5odHRwczovL2l0aGVscC5pdGhvbWUuY29tLnR3L2FydGljbGVzLzEwMjM1MTcyPC9hPjwvcD48L2Rpdj48L2FydGljbGU+PHNwYW4gY2xhc3M9InNhbnMiIHN0eWxlPSJmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDoyZW0iPjwvc3Bhbj48L2JvZHk+
~/
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