PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxzY3JpcHQgaWQ9Imt4LWhk ci1sb2FkZXIiPndpbmRvdy5LWF9IRFJfQ0ZHPXsicGFnZSI6ImFlZyIsInBpZWNlcyI6IiNjb2xs ZWN0aW9uIiwiaGlkZSI6ImJvZHk+bmF2I25hdiIsInNob3AiOnsiZ3JpZCI6Ii5jZ3JpZCIsImNh cmQiOiIuY2FyZCIsIm5hbWUiOiJoMy5wbmFtZSIsInByaWNlIjoiLnByaWNlIn19OyhmdW5jdGlv bigpe3RyeXt2YXIgcz1wYXJlbnQuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImt4LXNoYXJlZC1o ZWFkZXIiKTtpZighcylyZXR1cm47dmFyIGM9ZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShhdG9i KHMudGV4dENvbnRlbnQucmVwbGFjZSgvXHMrL2csIiIpKSkpO3ZhciBlPWRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoInNjcmlwdCIpO2UudGV4dD1jOyhkb2N1bWVudC5oZWFkfHxkb2N1bWVudC5kb2N1 bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKGUpO31jYXRjaCh4KXt9fSkoKTs8L3NjcmlwdD4KPG1l dGEgY2hhcnNldD0iVVRGLTgiPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9 ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+Cjx0aXRsZT5UaGUgQWVnZWFuIENvbGxl Y3Rpb24g4oCUIEthc3RlbCBKZXdlbHJ5PC90aXRsZT4KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24i IGNvbnRlbnQ9Ikthc3RlbCdzIEFlZ2VhbiBDb2xsZWN0aW9uIOKAlCAxOGsgZ29sZCBhbmQgZGlh bW9uZHMgc2N1bHB0ZWQgYnkgdGhlIHNlYS4gRGlzY292ZXIgdGhlIEFlZ2VhbiBCYW5nbGUsIGRp YW1vbmQgaG9vcHMsIHdhdmUgcmluZ3MgYW5kIG1vcmUuIj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0 IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KPGxpbmsgcmVsPSJwcmVjb25u ZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj4KPGxpbmsg aHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1NYXJjZWxsdXMm ZmFtaWx5PUNvcm1vcmFudCtHYXJhbW9uZDppdGFsLHdnaHRAMCw0MDA7MCw1MDA7MSw0MDA7MSw1 MDAmZmFtaWx5PUpvc3Q6d2dodEAzMDA7NDAwOzUwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVz aGVldCI+CjxzdHlsZT4KOnJvb3R7CiAgLS1hYnlzczojMEIxRDI3OwogIC0tc2VhOiMxNTMxNDA7 CiAgLS1wb3JjZWxhaW46I0Y2RjRFRjsKICAtLXNhbmQ6I0VERThERTsKICAtLWdvbGQ6I0M0QTE1 RjsKICAtLWdvbGQtZGVlcDojOUE3QjNFOwogIC0tbWlzdDojOTNBOUIxOwogIC0taW5rOiMxRDJB MzE7CiAgLS1oYWlybGluZTpyZ2JhKDE5NiwxNjEsOTUsLjM1KTsKfQoqe21hcmdpbjowO3BhZGRp bmc6MDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Cmh0bWx7c2Nyb2xsLWJlaGF2aW9yOnNtb290aH0K Ym9keXsKICBmb250LWZhbWlseTonSm9zdCcsc2Fucy1zZXJpZjtmb250LXdlaWdodDozMDA7Y29s b3I6dmFyKC0taW5rKTsKICBiYWNrZ3JvdW5kOnZhcigtLXBvcmNlbGFpbik7LXdlYmtpdC1mb250 LXNtb290aGluZzphbnRpYWxpYXNlZDtvdmVyZmxvdy14OmhpZGRlbjsKfQppbWd7ZGlzcGxheTpi bG9jazttYXgtd2lkdGg6MTAwJX0KYXtjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25l fQoucnZ7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDI2cHgpO3RyYW5zaXRpb246b3Bh Y2l0eSAxLjFzIGN1YmljLWJlemllciguMjIsLjYxLC4zNiwxKSx0cmFuc2Zvcm0gMS4xcyBjdWJp Yy1iZXppZXIoLjIyLC42MSwuMzYsMSl9Ci5ydi5pbntvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9 Ci5ydi5kMXt0cmFuc2l0aW9uLWRlbGF5Oi4xNXN9LnJ2LmQye3RyYW5zaXRpb24tZGVsYXk6LjNz fS5ydi5kM3t0cmFuc2l0aW9uLWRlbGF5Oi40NXN9LnJ2LmQ0e3RyYW5zaXRpb24tZGVsYXk6LjZz fQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsKICAucnZ7b3BhY2l0eTox O3RyYW5zZm9ybTpub25lO3RyYW5zaXRpb246bm9uZX0KICAqe2FuaW1hdGlvbjpub25lIWltcG9y dGFudDt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fQp9Cm5hdnsKICBwb3NpdGlvbjphYnNvbHV0 ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjUwOwogIGRpc3BsYXk6ZmxleDthbGlnbi1p dGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47CiAgcGFkZGluZzoyNnB4 IGNsYW1wKDI0cHgsNXZ3LDY0cHgpOwp9Ci53b3JkbWFya3tmb250LWZhbWlseTonTWFyY2VsbHVz JyxzZXJpZjtmb250LXNpemU6MjJweDtsZXR0ZXItc3BhY2luZzouNDJlbTtjb2xvcjojZmZmO3Bh ZGRpbmctbGVmdDouNDJlbX0KLm5hdmxpbmtze2Rpc3BsYXk6ZmxleDtnYXA6MzhweH0KLm5hdmxp bmtzIGF7Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjI4ZW07dGV4dC10cmFuc2Zvcm06 dXBwZXJjYXNlO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjgyKTtmb250LXdlaWdodDo0MDA7cG9z aXRpb246cmVsYXRpdmU7cGFkZGluZzo0cHggMH0KLm5hdmxpbmtzIGE6OmFmdGVye2NvbnRlbnQ6 Jyc7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO3dpZHRoOjA7aGVpZ2h0OjFweDti YWNrZ3JvdW5kOnZhcigtLWdvbGQpO3RyYW5zaXRpb246d2lkdGggLjRzIGVhc2V9Ci5uYXZsaW5r cyBhOmhvdmVyOjphZnRlciwubmF2bGlua3MgYTpmb2N1cy12aXNpYmxlOjphZnRlcnt3aWR0aDox MDAlfQphOmZvY3VzLXZpc2libGUsYnV0dG9uOmZvY3VzLXZpc2libGV7b3V0bGluZToxcHggc29s aWQgdmFyKC0tZ29sZCk7b3V0bGluZS1vZmZzZXQ6NHB4fQpAbWVkaWEobWF4LXdpZHRoOjc2MHB4 KXsubmF2bGlua3N7ZGlzcGxheTpub25lfX0KLmhlcm97cG9zaXRpb246cmVsYXRpdmU7bWluLWhl aWdodDo3NjBweDtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQ2JSA1NCU7YmFj a2dyb3VuZDp2YXIoLS1hYnlzcyl9Ci5oZXJvLXBhbmVsewogIHBvc2l0aW9uOnJlbGF0aXZlO2Rp c3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjsK ICBwYWRkaW5nOjEyMHB4IGNsYW1wKDI4cHgsNXZ3LDcycHgpIDkwcHg7ei1pbmRleDozOwp9Ci5l eWVicm93ewogIGZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi40NGVtO3RleHQtdHJhbnNm b3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1nb2xkKTsKICBmb250LXdlaWdodDo0MDA7ZGlzcGxh eTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MThweDsKfQouZXllYnJvdzo6YmVmb3Jle2Nv bnRlbnQ6Jyc7d2lkdGg6NDRweDtoZWlnaHQ6MXB4O2JhY2tncm91bmQ6dmFyKC0tZ29sZCl9Ci5o ZXJvIGgxewogIGZvbnQtZmFtaWx5OidNYXJjZWxsdXMnLHNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtj b2xvcjojZmZmOwogIGZvbnQtc2l6ZTpjbGFtcCg1NnB4LDcuMnZ3LDExNnB4KTtsaW5lLWhlaWdo dDouOTg7bGV0dGVyLXNwYWNpbmc6LjAyZW07CiAgbWFyZ2luOjI4cHggMCA4cHg7Cn0KLmhlcm8g aDEgLnRoaW57ZGlzcGxheTpibG9jaztmb250LXNpemU6LjQyZW07bGV0dGVyLXNwYWNpbmc6LjNl bTtjb2xvcjp2YXIoLS1taXN0KTttYXJnaW4tdG9wOjE0cHg7Zm9udC1mYW1pbHk6J0Nvcm1vcmFu dCBHYXJhbW9uZCcsc2VyaWY7Zm9udC1zdHlsZTppdGFsaWM7dGV4dC10cmFuc2Zvcm06bm9uZX0K LndhdmUtbGluZXt3aWR0aDptaW4oMzQwcHgsNzAlKTttYXJnaW46MzBweCAwIDM0cHh9Ci53YXZl LWxpbmUgcGF0aHtzdHJva2U6dmFyKC0tZ29sZCk7c3Ryb2tlLXdpZHRoOjEuNjtmaWxsOm5vbmU7 c3Ryb2tlLWRhc2hhcnJheTo2MDA7c3Ryb2tlLWRhc2hvZmZzZXQ6NjAwO2FuaW1hdGlvbjpkcmF3 IDIuNnMgLjlzIGN1YmljLWJlemllciguNCwwLC4yLDEpIGZvcndhcmRzfQpAa2V5ZnJhbWVzIGRy YXd7dG97c3Ryb2tlLWRhc2hvZmZzZXQ6MH19Ci5oZXJvIHAubGVkZXtjb2xvcjp2YXIoLS1taXN0 KTtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxLjg1O21heC13aWR0aDo0NGNoO2xldHRlci1z cGFjaW5nOi4wMmVtfQouaGVyby1jdGF7bWFyZ2luLXRvcDo0NHB4O2Rpc3BsYXk6ZmxleDtnYXA6 MjZweDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC13cmFwOndyYXB9Ci5idG57CiAgZGlzcGxheTpp bmxpbmUtYmxvY2s7Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjNlbTt0ZXh0LXRyYW5z Zm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6NDAwOwogIHBhZGRpbmc6MTdweCA0MnB4O2JvcmRl cjoxcHggc29saWQgdmFyKC0tZ29sZCk7Y29sb3I6dmFyKC0tZ29sZCk7CiAgcG9zaXRpb246cmVs YXRpdmU7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246Y29sb3IgLjQ1cyBlYXNlO3otaW5kZXg6 MTsKfQouYnRuOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2Jh Y2tncm91bmQ6dmFyKC0tZ29sZCk7dHJhbnNmb3JtOnNjYWxlWCgwKTt0cmFuc2Zvcm0tb3JpZ2lu OmxlZnQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjQ1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt6 LWluZGV4Oi0xfQouYnRuOmhvdmVyOjpiZWZvcmUsLmJ0bjpmb2N1cy12aXNpYmxlOjpiZWZvcmV7 dHJhbnNmb3JtOnNjYWxlWCgxKX0KLmJ0bjpob3ZlciwuYnRuOmZvY3VzLXZpc2libGV7Y29sb3I6 dmFyKC0tYWJ5c3MpfQouYnRuLmdob3N0e2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4z NSk7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuODUpfQouYnRuLmdob3N0OjpiZWZvcmV7YmFja2dy b3VuZDojZmZmfS5idG4uZ2hvc3Q6aG92ZXJ7Y29sb3I6dmFyKC0tYWJ5c3MpfQouaGVyby1pbWd7 cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufQouaGVyby1pbWcgaW1ne3dpZHRoOjEw MCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtcG9zaXRpb246Y2VudGVyIDI0 JTthbmltYXRpb246a2IgMThzIGVhc2Utb3V0IGZvcndhcmRzfQpAa2V5ZnJhbWVzIGtie2Zyb217 dHJhbnNmb3JtOnNjYWxlKDEuMSl9dG97dHJhbnNmb3JtOnNjYWxlKDEpfX0KLmhlcm8taW1nOjpi ZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MjtiYWNr Z3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1hYnlzcykgMCUscmdiYSgxMSwyOSwz OSwuNDIpIDI2JSxyZ2JhKDExLDI5LDM5LDApIDU1JSl9Ci5oZXJvLWltZzo6YWZ0ZXJ7Y29udGVu dDonJztwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MjtiYWNrZ3JvdW5kOmxpbmVh ci1ncmFkaWVudCgwZGVnLHJnYmEoMTEsMjksMzksLjU1KSAwJSxyZ2JhKDExLDI5LDM5LDApIDMy JSl9Ci53b3JuewogIHBvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NDtyaWdodDpjbGFtcCgyMHB4 LDR2dyw1NHB4KTtib3R0b206MzRweDt0ZXh0LWFsaWduOnJpZ2h0OwogIGZvbnQtc2l6ZToxMC41 cHg7bGV0dGVyLXNwYWNpbmc6LjNlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6cmdi YSgyNTUsMjU1LDI1NSwuNzUpOwp9Ci53b3JuIHN0cm9uZ3tkaXNwbGF5OmJsb2NrO2ZvbnQtZmFt aWx5OidDb3Jtb3JhbnQgR2FyYW1vbmQnLHNlcmlmO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2Vp Z2h0OjUwMDt0ZXh0LXRyYW5zZm9ybTpub25lO2xldHRlci1zcGFjaW5nOi4wNmVtO2ZvbnQtc2l6 ZToxN3B4O2NvbG9yOiNmZmY7bWFyZ2luLXRvcDo1cHh9Ci5zY3JvbGxjdWV7cG9zaXRpb246YWJz b2x1dGU7bGVmdDo1MCU7Ym90dG9tOjI2cHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7ei1p bmRleDo1O3dpZHRoOjFweDtoZWlnaHQ6NTZweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2 YXIoLS1nb2xkKSx0cmFuc3BhcmVudCk7YW5pbWF0aW9uOmN1ZSAyLjRzIGVhc2UtaW4tb3V0IGlu ZmluaXRlfQpAa2V5ZnJhbWVzIGN1ZXswJSwxMDAle29wYWNpdHk6Ljk7dHJhbnNmb3JtOnRyYW5z bGF0ZVgoLTUwJSkgc2NhbGVZKDEpfTUwJXtvcGFjaXR5Oi4zNTt0cmFuc2Zvcm06dHJhbnNsYXRl WCgtNTAlKSBzY2FsZVkoLjYpfX0KQG1lZGlhKG1heC13aWR0aDo5MDBweCl7CiAgLmhlcm97Z3Jp ZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjttaW4taGVpZ2h0OjB9CiAgLmhlcm8taW1ne29yZGVyOi0x O2hlaWdodDo0NjBweDttaW4taGVpZ2h0OjB9CiAgLmhlcm8taW1nOjpiZWZvcmV7YmFja2dyb3Vu ZDpsaW5lYXItZ3JhZGllbnQoMGRlZyx2YXIoLS1hYnlzcykgMCUscmdiYSgxMSwyOSwzOSwuMTUp IDQwJSxyZ2JhKDExLDI5LDM5LDApIDcwJSl9CiAgLmhlcm8tcGFuZWx7cGFkZGluZzo0NHB4IDI4 cHggODBweH0KICAuc2Nyb2xsY3Vle2Rpc3BsYXk6bm9uZX0KfQpzZWN0aW9ue3BhZGRpbmc6Y2xh bXAoOTBweCwxMXZ3LDE1MHB4KSBjbGFtcCgyNHB4LDZ2dyw4MHB4KX0KLmNlbnRlcnttYXgtd2lk dGg6ODIwcHg7bWFyZ2luOjAgYXV0bzt0ZXh0LWFsaWduOmNlbnRlcn0KLmtpY2tlcntmb250LXNp emU6MTFweDtsZXR0ZXItc3BhY2luZzouNDRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29s b3I6dmFyKC0tZ29sZC1kZWVwKTtmb250LXdlaWdodDo0MDA7bWFyZ2luLWJvdHRvbToyNnB4fQou aW50cm8tbGVkZXsKICBmb250LWZhbWlseTonQ29ybW9yYW50IEdhcmFtb25kJyxzZXJpZjtmb250 LXN0eWxlOml0YWxpYztmb250LXdlaWdodDo0MDA7CiAgZm9udC1zaXplOmNsYW1wKDI2cHgsMy40 dncsNDBweCk7bGluZS1oZWlnaHQ6MS40NTtjb2xvcjp2YXIoLS1pbmspOwp9Ci5pbnRyby1sZWRl IGVte2NvbG9yOnZhcigtLWdvbGQtZGVlcCl9Ci5pbnRyby1ib2R5e21hcmdpbi10b3A6MzRweDtm b250LXNpemU6MTYuNXB4O2xpbmUtaGVpZ2h0OjIuMTtjb2xvcjojNEE1NzVFO21heC13aWR0aDo1 OGNoO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87bGV0dGVyLXNwYWNpbmc6LjAy ZW19CiNjb2xsZWN0aW9uIC5raWNrZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtq dXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoyNHB4O21hcmdpbi1ib3R0b206MzRweH0KI2NvbGxl Y3Rpb24gLmtpY2tlcjo6YmVmb3JlLCNjb2xsZWN0aW9uIC5raWNrZXI6OmFmdGVye2NvbnRlbnQ6 Jyc7d2lkdGg6NThweDtoZWlnaHQ6MXB4O2JhY2tncm91bmQ6dmFyKC0tZ29sZCl9Ci5kaXZpZGVy LXdhdmV7d2lkdGg6MTcwcHg7bWFyZ2luOjUycHggYXV0byAwO29wYWNpdHk6Ljg1fQouZGl2aWRl ci13YXZlIHBhdGh7c3Ryb2tlOnZhcigtLWdvbGQpO3N0cm9rZS13aWR0aDoxLjQ7ZmlsbDpub25l fQouZmVhdHVyZWR7YmFja2dyb3VuZDp2YXIoLS1zYW5kKTt9Ci5mZWF0dXJlZC1ncmlke21heC13 aWR0aDoxMjQwcHg7bWFyZ2luOjAgYXV0bztkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1 bW5zOjEuMTVmciAuODVmcjtnYXA6Y2xhbXAoNDBweCw2dncsOTZweCk7YWxpZ24taXRlbXM6Y2Vu dGVyfQouZnJhbWV7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6 I2ZmZn0KLmZyYW1lOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjE0 cHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1oYWlybGluZSk7cG9pbnRlci1ldmVudHM6bm9uZX0K LmZyYW1lIC5ndHJhY2sgaW1ne3RyYW5zaXRpb246b3BhY2l0eSAuN3MgZWFzZSwgdHJhbnNmb3Jt IDEuNHMgY3ViaWMtYmV6aWVyKC4yMiwuNjEsLjM2LDEpfQouZnJhbWU6aG92ZXIgLmd0cmFjayBp bWcub257dHJhbnNmb3JtOnNjYWxlKDEuMDUpfQoucG51bXtmb250LWZhbWlseTonQ29ybW9yYW50 IEdhcmFtb25kJyxzZXJpZjtmb250LXN0eWxlOml0YWxpYztmb250LXNpemU6MjBweDtjb2xvcjp2 YXIoLS1nb2xkLWRlZXApO2xldHRlci1zcGFjaW5nOi4wOGVtfQoucG5hbWV7Zm9udC1mYW1pbHk6 J01hcmNlbGx1cycsc2VyaWY7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTpjbGFtcCgzNHB4LDMu NnZ3LDUycHgpO2xldHRlci1zcGFjaW5nOi4wNGVtO2NvbG9yOnZhcigtLWluayk7bWFyZ2luOjE0 cHggMCAyMHB4fQoucGRlc2N7Zm9udC1zaXplOjE1LjVweDtsaW5lLWhlaWdodDoyO2NvbG9yOiM0 QTU3NUU7bGV0dGVyLXNwYWNpbmc6LjAyZW07bWF4LXdpZHRoOjQ4Y2h9Ci5wbWV0YXttYXJnaW46 MzRweCAwIDM4cHg7ZGlzcGxheTpncmlkO2dhcDoxNHB4fQoucG1ldGEgZGl2e2Rpc3BsYXk6Zmxl eDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MjBweDtib3JkZXItYm90dG9tOjFw eCBzb2xpZCByZ2JhKDI5LDQyLDQ5LC4xMik7cGFkZGluZy1ib3R0b206MTNweDtmb250LXNpemU6 MTJweDtsZXR0ZXItc3BhY2luZzouMjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Ci5wbWV0 YSBzcGFuOmxhc3QtY2hpbGR7Y29sb3I6dmFyKC0tZ29sZC1kZWVwKTt0ZXh0LXRyYW5zZm9ybTpu b25lO2xldHRlci1zcGFjaW5nOi4wNGVtO2ZvbnQtc2l6ZToxMy41cHh9Ci5idG4uZGFya3tib3Jk ZXItY29sb3I6dmFyKC0taW5rKTtjb2xvcjp2YXIoLS1pbmspfQouYnRuLmRhcms6OmJlZm9yZXti YWNrZ3JvdW5kOnZhcigtLWluayl9Ci5idG4uZGFyazpob3ZlciwuYnRuLmRhcms6Zm9jdXMtdmlz aWJsZXtjb2xvcjp2YXIoLS1wb3JjZWxhaW4pfQpAbWVkaWEobWF4LXdpZHRoOjkwMHB4KXsuZmVh dHVyZWQtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfX0KLmNhcmQgLmZyYW1le21hcmdp bi1ib3R0b206MzBweH0KLmNhcmQgLnBuYW1le2ZvbnQtc2l6ZTpjbGFtcCgyNnB4LDIuNnZ3LDM0 cHgpO21hcmdpbjoxMHB4IDAgMTRweH0KLmNhcmQgLnBkZXNje2ZvbnQtc2l6ZToxNC41cHg7bWF4 LXdpZHRoOm5vbmV9Ci5jYXJkIC5zaG9we2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6 Y2VudGVyO2dhcDoxNHB4O21hcmdpbi10b3A6MjJweDtmb250LXNpemU6MTFweDtsZXR0ZXItc3Bh Y2luZzouM2VtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1nb2xkLWRlZXAp O2ZvbnQtd2VpZ2h0OjQwMH0KLmNhcmQgLnNob3A6OmFmdGVye2NvbnRlbnQ6Jyc7d2lkdGg6Mzhw eDtoZWlnaHQ6MXB4O2JhY2tncm91bmQ6dmFyKC0tZ29sZC1kZWVwKTt0cmFuc2l0aW9uOndpZHRo IC40cyBlYXNlfQouY2FyZCAuc2hvcDpob3Zlcjo6YWZ0ZXJ7d2lkdGg6NjBweH0KLnByaWNle2Zv bnQtZmFtaWx5OidDb3Jtb3JhbnQgR2FyYW1vbmQnLHNlcmlmO2ZvbnQtc3R5bGU6aXRhbGljO2Zv bnQtc2l6ZToxOXB4O2NvbG9yOnZhcigtLWluayk7bWFyZ2luLXRvcDoxNnB4fQouZ2Fse3Bvc2l0 aW9uOnJlbGF0aXZlfQouZ2FsIC5ndHJhY2t7cG9zaXRpb246cmVsYXRpdmU7YXNwZWN0LXJhdGlv OjEvMTtvdmVyZmxvdzpoaWRkZW59Ci5nYWwgLmd0cmFjayBpbWd7cG9zaXRpb246YWJzb2x1dGU7 aW5zZXQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXI7b3BhY2l0eTow O3RyYW5zaXRpb246b3BhY2l0eSAuN3MgZWFzZX0KLmdhbCAuZ3RyYWNrIGltZy5vbntvcGFjaXR5 OjF9Ci5nYWwgLmd0cmFjayBpbWdbZGF0YS1rPSJrYWx5cHNvIl17b2JqZWN0LWZpdDpjb250YWlu O3BhZGRpbmc6MzRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7YmFja2dyb3VuZDojZmZmfQpAbWVk aWEobWF4LXdpZHRoOjY0MHB4KXsuZ2FsIC5ndHJhY2sgaW1nW2RhdGEtaz0ia2FseXBzbyJde3Bh ZGRpbmc6MjZweH19Ci5nbmF2ewogIHBvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3Jt OnRyYW5zbGF0ZVkoLTUwJSk7ei1pbmRleDo1OwogIHdpZHRoOjQycHg7aGVpZ2h0OjQycHg7Ym9y ZGVyOjFweCBzb2xpZCByZ2JhKDI5LDQyLDQ5LC4yKTtiYWNrZ3JvdW5kOnJnYmEoMjQ2LDI0NCwy MzksLjg4KTsKICBjb2xvcjp2YXIoLS1pbmspO2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjE7 Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6J0pvc3QnLHNhbnMtc2VyaWY7CiAgZGlzcGxheTpm bGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246 YmFja2dyb3VuZCAuM3MsYm9yZGVyLWNvbG9yIC4zcyxvcGFjaXR5IC4zczsKICBvcGFjaXR5OjA7 Cn0KLmdhbDpob3ZlciAuZ25hdiwuZ25hdjpmb2N1cy12aXNpYmxle29wYWNpdHk6MX0KLmduYXY6 aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1nb2xkKTtib3JkZXItY29sb3I6dmFyKC0tZ29sZCk7Y29s b3I6I2ZmZn0KLmduYXYucHJldntsZWZ0OjEycHh9LmduYXYubmV4dHtyaWdodDoxMnB4fQouZ2Rv dHN7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjE0cHg7ei1pbmRleDo1 O2Rpc3BsYXk6ZmxleDtnYXA6OHB4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9Ci5nZG90cyBidXR0 b257d2lkdGg6N3B4O2hlaWdodDo3cHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjFweCBzb2xp ZCB2YXIoLS1nb2xkLWRlZXApO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7 cGFkZGluZzowO3RyYW5zaXRpb246YmFja2dyb3VuZCAuM3N9Ci5nZG90cyBidXR0b24ub257YmFj a2dyb3VuZDp2YXIoLS1nb2xkLWRlZXApfQouZ2FsLnNpbmdsZSAuZ25hdiwuZ2FsLnNpbmdsZSAu Z2RvdHN7ZGlzcGxheTpub25lfQpAbWVkaWEoaG92ZXI6bm9uZSl7LmdhbCAuZ25hdntvcGFjaXR5 OjF9fQouY2dyaWR7bWF4LXdpZHRoOjEyNDBweDttYXJnaW46MCBhdXRvO2Rpc3BsYXk6Z3JpZDtn cmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6Y2xhbXAoMzJweCw0dncsNTZw eCkgY2xhbXAoMjhweCwzLjV2dyw0NHB4KX0KQG1lZGlhKG1pbi13aWR0aDoxMDIxcHgpey5jZ3Jp ZD4uY2FyZDpsYXN0LWNoaWxkOm50aC1jaGlsZCgzbisxKXtncmlkLWNvbHVtbjoyfX0KQG1lZGlh KG1heC13aWR0aDoxMDIwcHgpey5jZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcn19 CkBtZWRpYShtYXgtd2lkdGg6NjQwcHgpey5jZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZy fX0KLnNlYWJhbmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTYwZGVnLHZhcigtLWFieXNz KSAwJSx2YXIoLS1zZWEpIDEwMCUpO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjt0 ZXh0LWFsaWduOmNlbnRlcn0KLnNlYWJhbmQ6OmJlZm9yZXsKICBjb250ZW50OicnO3Bvc2l0aW9u OmFic29sdXRlO2luc2V0Oi00MCU7b3BhY2l0eTouMTQ7CiAgYmFja2dyb3VuZDpyYWRpYWwtZ3Jh ZGllbnQoZWxsaXBzZSA2MCUgNDAlIGF0IDMwJSA0MCUsdmFyKC0tZ29sZCksdHJhbnNwYXJlbnQg NjAlKSwKICAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDUwJSAzNSUgYXQgNzIl IDY1JSwjM0U3QThDLHRyYW5zcGFyZW50IDYwJSk7CiAgYW5pbWF0aW9uOmNhdXN0aWMgMjZzIGVh c2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTsKfQpAa2V5ZnJhbWVzIGNhdXN0aWN7ZnJvbXt0 cmFuc2Zvcm06dHJhbnNsYXRlKC00JSwtMyUpIHNjYWxlKDEpfXRve3RyYW5zZm9ybTp0cmFuc2xh dGUoNSUsNCUpIHNjYWxlKDEuMTIpfX0KLnNlYWJhbmQgLmlubmVye3Bvc2l0aW9uOnJlbGF0aXZl O3otaW5kZXg6MjttYXgtd2lkdGg6ODQwcHg7bWFyZ2luOjAgYXV0b30KLnNlYWJhbmQgLmtpY2tl cntjb2xvcjp2YXIoLS1nb2xkKX0KLnNlYWJhbmQgYmxvY2txdW90ZXsKICBmb250LWZhbWlseTon Q29ybW9yYW50IEdhcmFtb25kJyxzZXJpZjtmb250LXN0eWxlOml0YWxpYztmb250LXdlaWdodDo0 MDA7CiAgZm9udC1zaXplOmNsYW1wKDI4cHgsNHZ3LDQ2cHgpO2xpbmUtaGVpZ2h0OjEuNDtjb2xv cjojZmZmOwp9Ci5zZWFiYW5kIC5hdHRye21hcmdpbi10b3A6MzBweDtmb250LXNpemU6MTFweDts ZXR0ZXItc3BhY2luZzouNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1t aXN0KX0KLmNyYWZ0LWNvbHN7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO21heC13aWR0aDox MDAwcHg7bWFyZ2luOjcwcHggYXV0byAwO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVt bnM6cmVwZWF0KDMsMWZyKTtnYXA6NDRweDt0ZXh0LWFsaWduOmNlbnRlcn0KLmNyYWZ0LWNvbHMg aDN7Zm9udC1mYW1pbHk6J01hcmNlbGx1cycsc2VyaWY7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6 ZToxOXB4O2xldHRlci1zcGFjaW5nOi4xNGVtO2NvbG9yOiNmZmY7bWFyZ2luOjAgMCAxNHB4fQou Y3JhZnQtY29scyBwe2ZvbnQtc2l6ZToxMy41cHg7bGluZS1oZWlnaHQ6MS45NTtjb2xvcjp2YXIo LS1taXN0KTtsZXR0ZXItc3BhY2luZzouMDNlbX0KLmNyYWZ0LWNvbHMgLmdseXBoe3dpZHRoOjQ0 cHg7bWFyZ2luOjAgYXV0byAyMnB4fQouY3JhZnQtY29scyAuZ2x5cGggcGF0aCwuY3JhZnQtY29s cyAuZ2x5cGggY2lyY2xle3N0cm9rZTp2YXIoLS1nb2xkKTtzdHJva2Utd2lkdGg6MS4zO2ZpbGw6 bm9uZX0KQG1lZGlhKG1heC13aWR0aDo3NjBweCl7LmNyYWZ0LWNvbHN7Z3JpZC10ZW1wbGF0ZS1j b2x1bW5zOjFmcjtnYXA6NTJweH19Ci5jdGF7dGV4dC1hbGlnbjpjZW50ZXJ9Ci5jdGEgaDJ7Zm9u dC1mYW1pbHk6J01hcmNlbGx1cycsc2VyaWY7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTpjbGFt cCgzNHB4LDQuNnZ3LDU4cHgpO2xldHRlci1zcGFjaW5nOi4wNWVtO2NvbG9yOnZhcigtLWluayk7 bWFyZ2luLWJvdHRvbToyMnB4fQouY3RhIHB7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6Mjtj b2xvcjojNEE1NzVFO21heC13aWR0aDo1MmNoO21hcmdpbjowIGF1dG8gNDRweDtsZXR0ZXItc3Bh Y2luZzouMDJlbX0KLmN0YSAuaGVyby1jdGF7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4t dG9wOjB9CmZvb3RlcntiYWNrZ3JvdW5kOnZhcigtLWFieXNzKTtwYWRkaW5nOjcwcHggY2xhbXAo MjRweCw2dncsODBweCkgNDRweDt0ZXh0LWFsaWduOmNlbnRlcn0KZm9vdGVyIC53b3JkbWFya3tm b250LXNpemU6MjZweDtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MjZweH0KZm9vdGVyIC50 YWd7Zm9udC1mYW1pbHk6J0Nvcm1vcmFudCBHYXJhbW9uZCcsc2VyaWY7Zm9udC1zdHlsZTppdGFs aWM7Y29sb3I6dmFyKC0tbWlzdCk7Zm9udC1zaXplOjE2cHg7bWFyZ2luLWJvdHRvbTozNnB4fQpm b290ZXIgLmZuYXZ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjM0cHg7 ZmxleC13cmFwOndyYXA7bWFyZ2luLWJvdHRvbTo0NHB4fQpmb290ZXIgLmZuYXYgYXtmb250LXNp emU6MTAuNXB4O2xldHRlci1zcGFjaW5nOi4yOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtj b2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC42KX0KZm9vdGVyIC5mbmF2IGE6aG92ZXJ7Y29sb3I6dmFy KC0tZ29sZCl9CmZvb3RlciAubGVnYWx7Zm9udC1zaXplOjEwLjVweDtsZXR0ZXItc3BhY2luZzou MTZlbTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zMil9Ci5rbW9kYWx7cG9zaXRpb246YWJzb2x1 dGU7bGVmdDowO3dpZHRoOjEwMCU7ZGlzcGxheTpub25lO3otaW5kZXg6MjAwfQoua21vZGFsLm9w ZW57ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVy fQoua21vZGFsIC5rYmFja3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6cmdi YSgxMSwyOSwzOSwuNTUpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDNweCl9Ci5rcGFuZWx7cG9zaXRp b246cmVsYXRpdmU7bWFyZ2luOjA7d2lkdGg6bWluKDEwNjBweCw5MiUpO21heC1oZWlnaHQ6Y2Fs YygxMDAlIC0gNDhweCk7b3ZlcmZsb3c6YXV0bztiYWNrZ3JvdW5kOnZhcigtLXBvcmNlbGFpbik7 Ym94LXNoYWRvdzowIDMwcHggODBweCByZ2JhKDAsMCwwLC4zNSl9Ci5rY2xvc2V7cG9zaXRpb246 YWJzb2x1dGU7dG9wOjE0cHg7cmlnaHQ6MTRweDt6LWluZGV4OjU7d2lkdGg6NDBweDtoZWlnaHQ6 NDBweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjksNDIsNDksLjI1KTtiYWNrZ3JvdW5kOnZhcigt LXBvcmNlbGFpbik7Zm9udC1zaXplOjIwcHg7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6J0pv c3QnLHNhbnMtc2VyaWZ9Ci5rY2xvc2U6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1nb2xkKTtib3Jk ZXItY29sb3I6dmFyKC0tZ29sZCk7Y29sb3I6I2ZmZn0KLmtncmlke2Rpc3BsYXk6Z3JpZDtncmlk LXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcn0KLmtpbmZve3BhZGRpbmc6NDRweCA0NHB4IDQwcHh9 Ci5raW5mbyAua25hbWV7Zm9udC1mYW1pbHk6J01hcmNlbGx1cycsc2VyaWY7Zm9udC13ZWlnaHQ6 NDAwO2ZvbnQtc2l6ZTpjbGFtcCgyOHB4LDN2dywzOHB4KTtsZXR0ZXItc3BhY2luZzouMDRlbTtt YXJnaW46NnB4IDAgNnB4fQoua2luZm8gLmtwcmljZXtmb250LWZhbWlseTonQ29ybW9yYW50IEdh cmFtb25kJyxzZXJpZjtmb250LXN0eWxlOml0YWxpYztmb250LXNpemU6MjRweDtjb2xvcjp2YXIo LS1nb2xkLWRlZXApO21hcmdpbi1ib3R0b206MjBweH0KLmtpbmZvIC5rZGVzY3tmb250LXNpemU6 MTQuNXB4O2xpbmUtaGVpZ2h0OjEuOTU7Y29sb3I6IzRBNTc1RTtsZXR0ZXItc3BhY2luZzouMDJl bTttYXJnaW4tYm90dG9tOjI2cHh9Ci5rbWV0YXtkaXNwbGF5OmdyaWQ7Z2FwOjExcHg7bWFyZ2lu LWJvdHRvbTozMHB4fQoua21ldGEgZGl2e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3Bh Y2UtYmV0d2VlbjtnYXA6MThweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI5LDQyLDQ5 LC4xMik7cGFkZGluZy1ib3R0b206MTBweDtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzou MmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0KLmttZXRhIHNwYW46bGFzdC1jaGlsZHtjb2xv cjp2YXIoLS1nb2xkLWRlZXApO3RleHQtdHJhbnNmb3JtOm5vbmU7bGV0dGVyLXNwYWNpbmc6LjA0 ZW07Zm9udC1zaXplOjEzcHg7dGV4dC1hbGlnbjpyaWdodH0KLmtub3Rlc3tmb250LXNpemU6MTJw eDtsaW5lLWhlaWdodDoyO2NvbG9yOiM3ZDhhOTE7bGV0dGVyLXNwYWNpbmc6LjAzZW07bWFyZ2lu LXRvcDoyMnB4fQoua2FkZHt3aWR0aDoxMDAlO3BhZGRpbmc6MThweDtib3JkZXI6MXB4IHNvbGlk IHZhcigtLWluayk7YmFja2dyb3VuZDp2YXIoLS1pbmspO2NvbG9yOnZhcigtLXBvcmNlbGFpbik7 Zm9udC1mYW1pbHk6J0pvc3QnLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNp bmc6LjNlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlv bjpiYWNrZ3JvdW5kIC4zcyxib3JkZXItY29sb3IgLjNzfQoua2FkZDpob3ZlcntiYWNrZ3JvdW5k OnZhcigtLWdvbGQtZGVlcCk7Ym9yZGVyLWNvbG9yOnZhcigtLWdvbGQtZGVlcCl9Ci5rYWRkLmFk ZGVke2JhY2tncm91bmQ6dmFyKC0tZ29sZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWdvbGQpO2NvbG9y OnZhcigtLWFieXNzKX0KLmtjYXJ0LXJvd3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNw YWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxNnB4O2JvcmRlci1ib3R0b206MXB4 IHNvbGlkIHJnYmEoMjksNDIsNDksLjEyKTtwYWRkaW5nOjE2cHggMH0KLmtjYXJ0LXJvdyAubntm b250LWZhbWlseTonTWFyY2VsbHVzJyxzZXJpZjtmb250LXNpemU6MTdweH0KLmtjYXJ0LXJvdyAu cHtmb250LWZhbWlseTonQ29ybW9yYW50IEdhcmFtb25kJyxzZXJpZjtmb250LXN0eWxlOml0YWxp Yztmb250LXNpemU6MTdweDtjb2xvcjp2YXIoLS1nb2xkLWRlZXApfQoua2NhcnQtcm93IGJ1dHRv bntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6I2E1NTtjdXJzb3I6cG9pbnRlcjtm b250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2Fz ZTtmb250LWZhbWlseTonSm9zdCcsc2Fucy1zZXJpZn0KLmt0b3RhbHtkaXNwbGF5OmZsZXg7anVz dGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Zm9udC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6 LjI0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3BhZGRpbmc6MjJweCAwIDI2cHh9Ci5rdG90 YWwgc3BhbjpsYXN0LWNoaWxke2ZvbnQtZmFtaWx5OidDb3Jtb3JhbnQgR2FyYW1vbmQnLHNlcmlm O2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtc2l6ZToyMnB4O2NvbG9yOnZhcigtLWluayk7bGV0dGVy LXNwYWNpbmc6LjAyZW19Ci5rdG9hc3R7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dHJhbnNm b3JtOnRyYW5zbGF0ZVgoLTUwJSk7YmFja2dyb3VuZDp2YXIoLS1hYnlzcyk7Y29sb3I6I2ZmZjtm b250LXNpemU6MTEuNXB4O2xldHRlci1zcGFjaW5nOi4yMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVy Y2FzZTtwYWRkaW5nOjE0cHggMjZweDt6LWluZGV4OjMwMDtkaXNwbGF5Om5vbmV9Ci5rY2FydGxp bmt7Y3Vyc29yOnBvaW50ZXJ9Ci5taGlkZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fQpbZGF0YS1w cm9kXSAuZnJhbWV7Y3Vyc29yOnBvaW50ZXJ9CltkYXRhLXByb2RdIC5wbmFtZXtjdXJzb3I6cG9p bnRlcn0KLmttZXRhbHtkaXNwbGF5OmZsZXg7Z2FwOjEycHg7bWFyZ2luOjAgMCAzNHB4fQoua2dy aWQgLmttZXRhbHttYXJnaW46MCAwIDI0cHh9Ci5rbWV0YWxidG57cGFkZGluZzoxM3B4IDI0cHg7 Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI5LDQyLDQ5LC4zKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50 O2ZvbnQtZmFtaWx5OidKb3N0JyxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFj aW5nOi4yNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjdXJzb3I6cG9pbnRlcjtjb2xvcjp2 YXIoLS1pbmspO3RyYW5zaXRpb246YWxsIC4zc30KLmttZXRhbGJ0bjpob3Zlcntib3JkZXItY29s b3I6dmFyKC0tZ29sZC1kZWVwKX0KLmttZXRhbGJ0bi5vbntib3JkZXItY29sb3I6dmFyKC0tZ29s ZC1kZWVwKTtiYWNrZ3JvdW5kOnZhcigtLWdvbGQtZGVlcCk7Y29sb3I6I2ZmZn0KLmtmb3Jte2Rp c3BsYXk6Z3JpZDtnYXA6MTZweDttYXJnaW4tdG9wOjI2cHh9Ci5rZm9ybSBsYWJlbHtmb250LXNp emU6MTAuNXB4O2xldHRlci1zcGFjaW5nOi4yNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtj b2xvcjojN2Q4YTkxO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo3cHh9Ci5rZm9ybSBpbnB1 dCwua2Zvcm0gdGV4dGFyZWF7d2lkdGg6MTAwJTtwYWRkaW5nOjE0cHggMTZweDtib3JkZXI6MXB4 IHNvbGlkIHJnYmEoMjksNDIsNDksLjI1KTtiYWNrZ3JvdW5kOiNmZmY7Zm9udC1mYW1pbHk6J0pv c3QnLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0taW5rKTtsZXR0ZXItc3Bh Y2luZzouMDJlbX0KLmtmb3JtIGlucHV0OmZvY3VzLC5rZm9ybSB0ZXh0YXJlYTpmb2N1c3tvdXRs aW5lOm5vbmU7Ym9yZGVyLWNvbG9yOnZhcigtLWdvbGQtZGVlcCl9Ci5rZm9ybSB0ZXh0YXJlYXtt aW4taGVpZ2h0Ojk2cHg7cmVzaXplOnZlcnRpY2FsfQoua2Zvcm0gLmtyb3d7ZGlzcGxheTpncmlk O2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoxNnB4fQoua2Vycntjb2xvcjojYTMz O2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOi4wNmVtO2Rpc3BsYXk6bm9uZTttYXJnaW4t dG9wOjRweH0KLmtocHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi05OTk5cHg7b3BhY2l0eTowO2hl aWdodDowO292ZXJmbG93OmhpZGRlbn0KLmtmb3JtIHNlbGVjdHt3aWR0aDoxMDAlO3BhZGRpbmc6 MTRweCAxNnB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyOSw0Miw0OSwuMjUpO2JhY2tncm91bmQ6 I2ZmZjtmb250LWZhbWlseTonSm9zdCcsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtjb2xvcjp2 YXIoLS1pbmspO2xldHRlci1zcGFjaW5nOi4wMmVtO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5k LWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9 J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAnIGhlaWdodD0nNiclM0UlM0Nw YXRoIGQ9J00wIDBsNSA2IDUtNnonIGZpbGw9JyUyMzlBN0IzRScvJTNFJTNDL3N2ZyUzRSIpO2Jh Y2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDE2cHgg Y2VudGVyfQoua2Zvcm0gc2VsZWN0OmZvY3Vze291dGxpbmU6bm9uZTtib3JkZXItY29sb3I6dmFy KC0tZ29sZC1kZWVwKX0KLmtmb3JtIGlucHV0W3R5cGU9ZGF0ZV17Y29sb3I6dmFyKC0taW5rKX0K Lmtib29rLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczouOGZyIDEuMmZy O21pbi1oZWlnaHQ6NTIwcHh9Ci5rYm9vay1zaWRle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50 KDE2NWRlZyx2YXIoLS1hYnlzcykgMCUsdmFyKC0tc2VhKSAxMDAlKTtjb2xvcjojZmZmO3BhZGRp bmc6NDhweCAzOHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1j b250ZW50OmNlbnRlcn0KLmtib29rLXNpZGUgLmtpY2tlcntjb2xvcjp2YXIoLS1nb2xkKTttYXJn aW4tYm90dG9tOjIwcHh9Ci5rYm9vay1zaWRlIGgze2ZvbnQtZmFtaWx5OidNYXJjZWxsdXMnLHNl cmlmO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6Y2xhbXAoMjRweCwyLjR2dywzMnB4KTtsZXR0 ZXItc3BhY2luZzouMDRlbTttYXJnaW4tYm90dG9tOjE2cHh9Ci5rYm9vay1zaWRlIHB7Zm9udC1z aXplOjEzLjVweDtsaW5lLWhlaWdodDoxLjk1O2NvbG9yOnZhcigtLW1pc3QpO2xldHRlci1zcGFj aW5nOi4wM2VtfQoua2Jvb2stc2lkZSB1bHtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luLXRvcDoyNnB4 O2Rpc3BsYXk6Z3JpZDtnYXA6MTJweH0KLmtib29rLXNpZGUgbGl7Zm9udC1zaXplOjExcHg7bGV0 dGVyLXNwYWNpbmc6LjIyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnJnYmEoMjU1 LDI1NSwyNTUsLjg1KTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4fQou a2Jvb2stc2lkZSBsaTo6YmVmb3Jle2NvbnRlbnQ6Jyc7d2lkdGg6MThweDtoZWlnaHQ6MXB4O2Jh Y2tncm91bmQ6dmFyKC0tZ29sZCl9Ci5rYm9vay1zaWRlIC5rYWRkcnttYXJnaW4tdG9wOjMwcHg7 Zm9udC1mYW1pbHk6J0Nvcm1vcmFudCBHYXJhbW9uZCcsc2VyaWY7Zm9udC1zdHlsZTppdGFsaWM7 Zm9udC1zaXplOjE2cHg7Y29sb3I6I2ZmZn0KQG1lZGlhKG1heC13aWR0aDo4NDBweCl7Lmtib29r LWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0ua2Jvb2stc2lkZXtwYWRkaW5nOjM0cHgg MjhweDttaW4taGVpZ2h0OjB9fQpAbWVkaWEobWF4LXdpZHRoOjYwMHB4KXsua2Zvcm0gLmtyb3d7 Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19CkBtZWRpYShtYXgtd2lkdGg6ODQwcHgpey5rZ3Jp ZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS5raW5mb3twYWRkaW5nOjMwcHggMjRweCAzNHB4 fX0KCi8qa3gtb25lLXBob3RvKi8uZ2FsIC5nbmF2LC5nYWwgLmdkb3Rze2Rpc3BsYXk6bm9uZSAh aW1wb3J0YW50fQo8L3N0eWxlPgo8c3R5bGU+Ci5rd3NvbGR7ZGlzcGxheTppbmxpbmUtYmxvY2s7 dmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1sZWZ0OjEwcHg7cGFkZGluZzo0cHggOHB4IDNw eDtib3JkZXI6MXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtmb250LWZhbWlseTonSm9zdCcsc2Fucy1z ZXJpZjtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTtsZXR0ZXIt c3BhY2luZzouMjRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzhBNkQzQjtvcGFj aXR5Oi45fQoua3didXN5e29wYWNpdHk6LjY7Y3Vyc29yOnByb2dyZXNzICFpbXBvcnRhbnR9Ci5r d21ldGF7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6LjA4ZW07b3BhY2l0eTouNjU7bWFy Z2luLXRvcDoycHh9Ci5rd2NvbGx7Zm9udC1zaXplOjEwcHg7bGV0dGVyLXNwYWNpbmc6LjIyZW07 dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO29wYWNpdHk6LjU1O21hcmdpbi10b3A6M3B4fQo8L3N0 eWxlPgo8c2NyaXB0PgovKiBLYXN0ZWwgeCBXb29Db21tZXJjZSBicmlkZ2UgdjIKICAgV29vQ29t bWVyY2UncyBjYXJ0IGlzIHRoZSBPTkUgY2FydCBmb3IgdGhlIHdob2xlIHNpdGUuIEV2ZXJ5IHBh Z2U6CiAgIC0gZmluZHMgaXRzIHBpZWNlcyBpbiBXb29Db21tZXJjZSBieSByZWZlcmVuY2UgKFNL VSkgYW5kIG1hcmtzIHNvbGQgb25lcywKICAgLSBhZGRzIHBpZWNlcyBzdHJhaWdodCBpbnRvIHRo ZSBXb29Db21tZXJjZSBjYXJ0LAogICAtIHNob3dzIHRoZSBmdWxsIFdvb0NvbW1lcmNlIGNhcnQg KGV2ZXJ5IGNvbGxlY3Rpb24pIGluIGl0cyBvd24gY2FydCBwYW5lbCwgd2l0aCBSZW1vdmUsCiAg IC0ga2VlcHMgdGhlIGhlYWRlciBjb3VudCBpbiBzdGVwLCBhbmQgc2VuZHMgQ2hlY2tvdXQgdG8g V29vQ29tbWVyY2UgY2hlY2tvdXQuICovCihmdW5jdGlvbigpewogIHZhciBBUEk9Jy93cC1qc29u L3djL3N0b3JlL3YxLyc7CiAgdmFyIE1BUD17fSwgUkVBRFk9ZmFsc2UsIFE9W10sIE5PTkNFPScn LCBDQVJUPXtpdGVtczpbXSxjb3VudDowLHRvdGFsOicwJyx1bml0OjIsbG9hZGVkOmZhbHNlfSwg U1VCUz1bXTsKCiAgZnVuY3Rpb24gZG9uZSgpe1JFQURZPXRydWU7dmFyIHE9UTtRPVtdO3EuZm9y RWFjaChmdW5jdGlvbihmKXt0cnl7ZigpO31jYXRjaChlKXtjb25zb2xlLndhcm4oZSk7fX0pO30K ICBmdW5jdGlvbiBvblJlYWR5KGYpe2lmKFJFQURZKXt0cnl7ZigpO31jYXRjaChlKXtjb25zb2xl Lndhcm4oZSk7fX1lbHNle1EucHVzaChmKTt9fQogIGZ1bmN0aW9uIGxvYWQoc2t1cyl7CiAgICB2 YXIgbGlzdD1bXTsoc2t1c3x8W10pLmZvckVhY2goZnVuY3Rpb24ocyl7aWYocyYmbGlzdC5pbmRl eE9mKHMpPDApbGlzdC5wdXNoKHMpO30pOwogICAgcmVmcmVzaCgpOwogICAgaWYoIWxpc3QubGVu Z3RoKXtkb25lKCk7cmV0dXJuO30KICAgIGZldGNoKEFQSSsncHJvZHVjdHM/cGVyX3BhZ2U9MTAw JnNrdT0nK2VuY29kZVVSSUNvbXBvbmVudChsaXN0LmpvaW4oJywnKSkse2NyZWRlbnRpYWxzOidz YW1lLW9yaWdpbid9KQogICAgICAudGhlbihmdW5jdGlvbihyKXtpZighci5vayl0aHJvdyBuZXcg RXJyb3IoJ0hUVFAgJytyLnN0YXR1cyk7cmV0dXJuIHIuanNvbigpO30pCiAgICAgIC50aGVuKGZ1 bmN0aW9uKGEpeyhhfHxbXSkuZm9yRWFjaChmdW5jdGlvbihwKXtpZihwJiZwLnNrdSlNQVBbcC5z a3VdPXA7fSk7CiAgICAgICAgY29uc29sZS5pbmZvKCdLYXN0ZWwgc2hvcDogJytPYmplY3Qua2V5 cyhNQVApLmxlbmd0aCsnIG9mICcrbGlzdC5sZW5ndGgrJyBwaWVjZXMgZm91bmQgaW4gV29vQ29t bWVyY2UnKTtkb25lKCk7fSkKICAgICAgLmNhdGNoKGZ1bmN0aW9uKGUpe2NvbnNvbGUud2Fybign S2FzdGVsIHNob3A6IHByb2R1Y3QgbG9va3VwIGZhaWxlZCcsZSk7ZG9uZSgpO30pOwogIH0KICBm dW5jdGlvbiBnZXQocyl7cmV0dXJuIE1BUFtzXXx8bnVsbDt9CiAgZnVuY3Rpb24gaXNTb2xkKHMp e3ZhciBwPU1BUFtzXTtyZXR1cm4gISEocCYmcC5pc19pbl9zdG9jaz09PWZhbHNlKTt9CiAgZnVu Y3Rpb24gYnV5YWJsZShzKXt2YXIgcD1NQVBbc107cmV0dXJuICEhKHAmJnAuaXNfcHVyY2hhc2Fi bGUmJnAucHJpY2VzJiZwLnByaWNlcy5wcmljZSk7fQoKICAvKiAtLS0tLS0tLS0tIHRoZSBzaGFy ZWQgY2FydCAtLS0tLS0tLS0tICovCiAgZnVuY3Rpb24gc2V0Q2FydChjKXsKICAgIGlmKCFjKXJl dHVybjsKICAgIHZhciB0PWMudG90YWxzfHx7fTsKICAgIENBUlQ9e2l0ZW1zOmMuaXRlbXN8fFtd LGNvdW50OmMuaXRlbXNfY291bnR8fDAsdG90YWw6dC50b3RhbF9pdGVtc3x8JzAnLHVuaXQ6KHQu Y3VycmVuY3lfbWlub3JfdW5pdD09bnVsbD8yOnQuY3VycmVuY3lfbWlub3JfdW5pdCksbG9hZGVk OnRydWV9OwogICAgU1VCUy5mb3JFYWNoKGZ1bmN0aW9uKGYpe3RyeXtmKENBUlQpO31jYXRjaChl KXtjb25zb2xlLndhcm4oZSk7fX0pOwogIH0KICBmdW5jdGlvbiBvbkNhcnQoZil7U1VCUy5wdXNo KGYpO2lmKENBUlQubG9hZGVkKXt0cnl7ZihDQVJUKTt9Y2F0Y2goZSl7Y29uc29sZS53YXJuKGUp O319fQogIGZ1bmN0aW9uIHRha2VOb25jZShyKXt2YXIgbj1yLmhlYWRlcnMuZ2V0KCdOb25jZScp fHxyLmhlYWRlcnMuZ2V0KCdYLVdDLVN0b3JlLUFQSS1Ob25jZScpO2lmKG4pTk9OQ0U9bjt9CiAg ZnVuY3Rpb24gcmVmcmVzaCgpewogICAgcmV0dXJuIGZldGNoKEFQSSsnY2FydCcse2NyZWRlbnRp YWxzOidzYW1lLW9yaWdpbicsY2FjaGU6J25vLXN0b3JlJ30pCiAgICAgIC50aGVuKGZ1bmN0aW9u KHIpe3Rha2VOb25jZShyKTtyZXR1cm4gci5qc29uKCk7fSkKICAgICAgLnRoZW4oZnVuY3Rpb24o Yyl7c2V0Q2FydChjKTtyZXR1cm4gYzt9KQogICAgICAuY2F0Y2goZnVuY3Rpb24oZSl7Y29uc29s ZS53YXJuKCdLYXN0ZWwgc2hvcDogY2FydCB1bmF2YWlsYWJsZScsZSk7fSk7CiAgfQogIGZ1bmN0 aW9uIHBvc3QocGF0aCxib2R5LHJldHJpZWQpewogICAgdmFyIHA9Tk9OQ0U/UHJvbWlzZS5yZXNv bHZlKCk6cmVmcmVzaCgpOwogICAgcmV0dXJuIHAudGhlbihmdW5jdGlvbigpewogICAgICByZXR1 cm4gZmV0Y2goQVBJK3BhdGgse21ldGhvZDonUE9TVCcsY3JlZGVudGlhbHM6J3NhbWUtb3JpZ2lu JyxoZWFkZXJzOnsnQ29udGVudC1UeXBlJzonYXBwbGljYXRpb24vanNvbicsJ05vbmNlJzpOT05D RX0sYm9keTpKU09OLnN0cmluZ2lmeShib2R5KX0pOwogICAgfSkudGhlbihmdW5jdGlvbihyKXsK ICAgICAgdGFrZU5vbmNlKHIpOwogICAgICBpZigoci5zdGF0dXM9PT00MDF8fHIuc3RhdHVzPT09 NDAzKSYmIXJldHJpZWQpe05PTkNFPScnO3JldHVybiBwb3N0KHBhdGgsYm9keSx0cnVlKTt9CiAg ICAgIHJldHVybiByLmpzb24oKS50aGVuKGZ1bmN0aW9uKGope2lmKCFyLm9rKXRocm93IG5ldyBF cnJvcigoaiYmai5tZXNzYWdlKXx8KCdIVFRQICcrci5zdGF0dXMpKTtyZXR1cm4gajt9KTsKICAg IH0pOwogIH0KICBmdW5jdGlvbiB0ZWxsSGVhZGVyKGV2dCl7CiAgICAvKiBhc2sgdGhlIHNpdGUn cyBvd24gbWluaS1jYXJ0ICh0b3AgcmlnaHQpIHRvIHJlZnJlc2ggKi8KICAgIHRyeXt2YXIgUD13 aW5kb3cucGFyZW50OwogICAgICBpZihQJiZQIT09d2luZG93KXsKICAgICAgICB0cnl7UC5kb2N1 bWVudC5ib2R5LmRpc3BhdGNoRXZlbnQobmV3IFAuRXZlbnQoZXZ0LHtidWJibGVzOnRydWV9KSk7 fWNhdGNoKGUpe30KICAgICAgICB0cnl7aWYoUC5qUXVlcnkpUC5qUXVlcnkoUC5kb2N1bWVudC5i b2R5KS50cmlnZ2VyKGV2dD09PSd3Yy1ibG9ja3NfYWRkZWRfdG9fY2FydCc/J3djX2ZyYWdtZW50 X3JlZnJlc2gnOid3Y19mcmFnbWVudF9yZWZyZXNoJyk7fWNhdGNoKGUpe30KICAgICAgICB0cnl7 aWYoUC53cCYmUC53cC5kYXRhKVAud3AuZGF0YS5kaXNwYXRjaCgnd2Mvc3RvcmUvY2FydCcpLmlu dmFsaWRhdGVSZXNvbHV0aW9uRm9yU3RvcmUoKTt9Y2F0Y2goZSl7fQogICAgICB9fWNhdGNoKGUp e30KICB9CiAgZnVuY3Rpb24gaW5DYXJ0KHMpe3ZhciBwPU1BUFtzXTtyZXR1cm4gQ0FSVC5pdGVt cy5zb21lKGZ1bmN0aW9uKGl0KXtyZXR1cm4gaXQuc2t1PT09c3x8KHAmJml0LmlkPT09cC5pZCk7 fSk7fQogIGZ1bmN0aW9uIGJ1c3koYnRuLG9uLGxhYmVsKXsKICAgIGlmKCFidG4pcmV0dXJuOwog ICAgaWYob24pe2J0bi5zZXRBdHRyaWJ1dGUoJ2RhdGEta3dsYWJlbCcsYnRuLmlubmVySFRNTCk7 YnRuLmlubmVySFRNTD1sYWJlbHx8J0FkZGluZ+KApic7YnRuLmNsYXNzTGlzdC5hZGQoJ2t3YnVz eScpO2J0bi5kaXNhYmxlZD10cnVlO30KICAgIGVsc2V7dmFyIGw9YnRuLmdldEF0dHJpYnV0ZSgn ZGF0YS1rd2xhYmVsJyk7aWYobCE9PW51bGwpYnRuLmlubmVySFRNTD1sO2J0bi5jbGFzc0xpc3Qu cmVtb3ZlKCdrd2J1c3knKTtidG4uZGlzYWJsZWQ9ZmFsc2U7fQogIH0KICAvKiBhZGQgb25lIHBp ZWNlLiBvaygpIHJ1bnMgb25jZSBpdCBpcyBpbiB0aGUgY2FydDsgbWlzc2luZygpIHJ1bnMgaWYg dGhlIHBpZWNlIGlzIG5vdCBzb2xkIG9ubGluZSAqLwogIGZ1bmN0aW9uIGFkZChza3UsYnRuLG9r LG1pc3NpbmcpewogICAgb25SZWFkeShmdW5jdGlvbigpewogICAgICBpZighYnV5YWJsZShza3Up KXtjb25zb2xlLmluZm8oJ0thc3RlbCBzaG9wOiAnK3NrdSsnIG5vdCBwdXJjaGFzYWJsZSBvbmxp bmUsIHVzaW5nIGVucXVpcnknKTtpZihtaXNzaW5nKW1pc3NpbmcoKTtyZXR1cm47fQogICAgICBp Zihpc1NvbGQoc2t1KSl7d2luZG93LmFsZXJ0KCdXZSBhcmUgc29ycnkg4oCUIHRoaXMgcGllY2Ug aGFzIGp1c3QgYmVlbiBhY3F1aXJlZC4nKTtyZXR1cm47fQogICAgICBpZihidG4mJmJ0bi5kaXNh YmxlZClyZXR1cm47CiAgICAgIGJ1c3koYnRuLHRydWUpOwogICAgICBwb3N0KCdjYXJ0L2FkZC1p dGVtJyx7aWQ6TUFQW3NrdV0uaWQscXVhbnRpdHk6MX0pCiAgICAgICAgLnRoZW4oZnVuY3Rpb24o Yyl7c2V0Q2FydChjKTtidXN5KGJ0bixmYWxzZSk7dGVsbEhlYWRlcignd2MtYmxvY2tzX2FkZGVk X3RvX2NhcnQnKTtpZihvaylvaygpO30pCiAgICAgICAgLmNhdGNoKGZ1bmN0aW9uKGUpe2J1c3ko YnRuLGZhbHNlKTtjb25zb2xlLndhcm4oJ0thc3RlbCBzaG9wOiBhZGQgZmFpbGVkJyxlKTsKICAg ICAgICAgIHJlZnJlc2goKS50aGVuKGZ1bmN0aW9uKCl7aWYoaW5DYXJ0KHNrdSkpe2lmKG9rKW9r KCk7fWVsc2V7d2luZG93LmFsZXJ0KCdUaGlzIHBpZWNlIGNvdWxkIG5vdCBiZSBhZGRlZCB0byB5 b3VyIGNhcnQuIFBsZWFzZSB0cnkgYWdhaW4sIG9yIGNvbnRhY3QgdGhlIGF0ZWxpZXIuJyk7fX0p O30pOwogICAgfSk7CiAgfQogIGZ1bmN0aW9uIHJlbW92ZShrZXksYnRuKXsKICAgIGJ1c3koYnRu LHRydWUsJ1JlbW92aW5n4oCmJyk7CiAgICByZXR1cm4gcG9zdCgnY2FydC9yZW1vdmUtaXRlbScs e2tleTprZXl9KQogICAgICAudGhlbihmdW5jdGlvbihjKXtzZXRDYXJ0KGMpO3RlbGxIZWFkZXIo J3djLWJsb2Nrc19yZW1vdmVkX2Zyb21fY2FydCcpO30pCiAgICAgIC5jYXRjaChmdW5jdGlvbihl KXtidXN5KGJ0bixmYWxzZSk7Y29uc29sZS53YXJuKCdLYXN0ZWwgc2hvcDogcmVtb3ZlIGZhaWxl ZCcsZSk7cmV0dXJuIHJlZnJlc2goKTt9KTsKICB9CiAgZnVuY3Rpb24gbW9uZXkobWlub3IsdW5p dCl7CiAgICB2YXIgdT0odW5pdD09bnVsbD9DQVJULnVuaXQ6dW5pdCk7dmFyIG49TnVtYmVyKG1p bm9yfHwwKS9NYXRoLnBvdygxMCx1KTsKICAgIHJldHVybiAnJCcrbi50b0xvY2FsZVN0cmluZygn ZW4tVVMnLHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6KG4lMT8yOjApLG1heGltdW1GcmFjdGlvbkRp Z2l0czoyfSk7CiAgfQogIGZ1bmN0aW9uIGl0ZW1QcmljZShpdCl7cmV0dXJuIG1vbmV5KGl0LnBy aWNlcz9pdC5wcmljZXMucHJpY2U6MCxpdC5wcmljZXM/aXQucHJpY2VzLmN1cnJlbmN5X21pbm9y X3VuaXQ6bnVsbCk7fQogIGZ1bmN0aW9uIGl0ZW1JbWcoaXQpe3ZhciBpbT1pdC5pbWFnZXMmJml0 LmltYWdlc1swXTtyZXR1cm4gaW0/KGltLnRodW1ibmFpbHx8aW0uc3JjfHwnJyk6Jyc7fQogIGZ1 bmN0aW9uIGl0ZW1NZXRhKGl0KXtyZXR1cm4gaXQuc2t1fHwnJzt9CiAgZnVuY3Rpb24gZ28odSl7 dHJ5e3dpbmRvdy50b3AubG9jYXRpb24uaHJlZj11O31jYXRjaChlKXt3aW5kb3cubG9jYXRpb24u aHJlZj11O319CiAgZnVuY3Rpb24gY2hlY2tvdXQoKXtnbygnL2NoZWNrb3V0LycpO30KCiAgLyog LS0tLS0tLS0tLSBzb2xkIC8gYnV0dG9uIGhlbHBlcnMgLS0tLS0tLS0tLSAqLwogIGZ1bmN0aW9u IG1hcmsoYnRuLHNrdSxzb2xkTGFiZWwpewogICAgaWYoIWJ0bilyZXR1cm47c29sZExhYmVsPXNv bGRMYWJlbHx8J0FjcXVpcmVkJzsKICAgIGlmKGlzU29sZChza3UpKXsKICAgICAgaWYoYnRuLmlu bmVySFRNTCE9PXNvbGRMYWJlbClidG4uc2V0QXR0cmlidXRlKCdkYXRhLWt3bGFiZWwnLGJ0bi5p bm5lckhUTUwpOwogICAgICBidG4uaW5uZXJIVE1MPXNvbGRMYWJlbDtidG4uZGlzYWJsZWQ9dHJ1 ZTtidG4uc3R5bGUub3BhY2l0eT0nLjU1JztidG4uc3R5bGUuY3Vyc29yPSdkZWZhdWx0JzsKICAg IH1lbHNlewogICAgICBpZihidG4uaW5uZXJIVE1MPT09c29sZExhYmVsKXt2YXIgbD1idG4uZ2V0 QXR0cmlidXRlKCdkYXRhLWt3bGFiZWwnKTtpZihsIT09bnVsbClidG4uaW5uZXJIVE1MPWw7fQog ICAgICBidG4uZGlzYWJsZWQ9ZmFsc2U7YnRuLnN0eWxlLm9wYWNpdHk9Jyc7YnRuLnN0eWxlLmN1 cnNvcj0nJzsKICAgIH0KICB9CiAgZnVuY3Rpb24gYmFkZ2UoZWwpe2lmKGVsJiYhZWwucXVlcnlT ZWxlY3RvcignLmt3c29sZCcpKXt2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7 cy5jbGFzc05hbWU9J2t3c29sZCc7cy50ZXh0Q29udGVudD0nU29sZCc7ZWwuYXBwZW5kQ2hpbGQo cyk7fX0KICBmdW5jdGlvbiBlbnF1aXJlKG5hbWUsc2t1KXsKICAgIGdvKCdtYWlsdG86bXJlc3NA a2FzdGVsamV3ZWxyeS5jb20/c3ViamVjdD0nK2VuY29kZVVSSUNvbXBvbmVudCgnRW5xdWlyeSDi gJQgJytuYW1lKSsnJmJvZHk9JytlbmNvZGVVUklDb21wb25lbnQoJ0RlYXIgTWFpc29uIEthc3Rl bCxcblxuSSB3b3VsZCBsaWtlIHRvIGVucXVpcmUgYWJvdXQgJytuYW1lKyhza3U/JyAoJytza3Ur JyknOicnKSsnLlxuXG5LaW5kIHJlZ2FyZHMnKSk7CiAgfQoKICAvKiBrZWVwIGV2ZXJ5IHBhZ2Ug aW4gc3RlcCB3aGVuIHRoZSB2aXNpdG9yIGNvbWVzIGJhY2sgd2l0aCBCYWNrL0ZvcndhcmQgb3Ig c3dpdGNoZXMgdGFicyAqLwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwYWdlc2hvdycsZnVu Y3Rpb24oZSl7aWYoZS5wZXJzaXN0ZWQpcmVmcmVzaCgpO30pOwogIGRvY3VtZW50LmFkZEV2ZW50 TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLGZ1bmN0aW9uKCl7aWYoZG9jdW1lbnQudmlzaWJp bGl0eVN0YXRlPT09J3Zpc2libGUnKXJlZnJlc2goKTt9KTsKCiAgd2luZG93LktXPXtsb2FkOmxv YWQsZ2V0OmdldCxpc1NvbGQ6aXNTb2xkLGJ1eWFibGU6YnV5YWJsZSxvblJlYWR5Om9uUmVhZHks b25DYXJ0Om9uQ2FydCxyZWZyZXNoOnJlZnJlc2gsCiAgICBhZGQ6YWRkLHJlbW92ZTpyZW1vdmUs aW5DYXJ0OmluQ2FydCxtb25leTptb25leSxpdGVtUHJpY2U6aXRlbVByaWNlLGl0ZW1JbWc6aXRl bUltZyxpdGVtTWV0YTppdGVtTWV0YSwKICAgIGNoZWNrb3V0OmNoZWNrb3V0LG1hcms6bWFyayxi YWRnZTpiYWRnZSxlbnF1aXJlOmVucXVpcmUsZ286Z28sY2FydDpmdW5jdGlvbigpe3JldHVybiBD QVJUO319Owp9KSgpOwo8L3NjcmlwdD4KPHN0eWxlPi5reC1kZHtwb3NpdGlvbjpyZWxhdGl2ZTtk aXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0ua3gtZGQtYnRue3doaXRlLXNw YWNlOm5vd3JhcDtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOjA7cGFkZGluZzowO21hcmdpbjowO2Zv bnQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7dGV4dC10cmFu c2Zvcm06aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDppbmhlcml0fS5reC1kZC1i dG46YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo1cHg7aGVpZ2h0 OjVweDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtib3JkZXItYm90dG9tOjFw eCBzb2xpZCBjdXJyZW50Q29sb3I7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7bWFyZ2luOjAgMCAz cHggOXB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXN9Lmt4LWRkLm9wZW4gLmt4LWRkLWJ0bjph ZnRlcnt0cmFuc2Zvcm06cm90YXRlKC0xMzVkZWcpO21hcmdpbi1ib3R0b206LTFweH0ua3gtZGQt cGFuZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoMTAwJSArIDE2cHgpO3JpZ2h0OjA7bWlu LXdpZHRoOjI0MHB4O2JhY2tncm91bmQ6IzBCMUQyNztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk2 LDE2MSw5NSwuMzUpO3BhZGRpbmc6MTBweCAwO2Rpc3BsYXk6bm9uZTt6LWluZGV4OjEwMDA7dGV4 dC1hbGlnbjpsZWZ0O2JveC1zaGFkb3c6MCAxNHB4IDM0cHggcmdiYSgwLDAsMCwuMjgpfS5reC1k ZC5vcGVuIC5reC1kZC1wYW5lbHtkaXNwbGF5OmJsb2NrfS5reC1kZC1wYW5lbCBhe2Rpc3BsYXk6 YmxvY2s7cGFkZGluZzoxMHB4IDIycHg7Y29sb3I6I0Y2RjRFRiAhaW1wb3J0YW50O3RleHQtZGVj b3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Zm9udC1mYW1pbHk6J0pvc3QnLHNhbnMtc2VyaWY7Zm9u dC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxMS41cHg7bGV0dGVyLXNwYWNpbmc6LjE4ZW07dGV4dC10 cmFuc2Zvcm06dXBwZXJjYXNlO29wYWNpdHk6Ljg1O3doaXRlLXNwYWNlOm5vd3JhcDtwb3NpdGlv bjpzdGF0aWMgIWltcG9ydGFudH0ua3gtZGQtcGFuZWwgYTpob3Zlciwua3gtZGQtcGFuZWwgYVth cmlhLWN1cnJlbnRde29wYWNpdHk6MTtjb2xvcjojRDlCRTg2ICFpbXBvcnRhbnQ7YmFja2dyb3Vu ZDpyZ2JhKDE5NiwxNjEsOTUsLjEpfS5reC1kZC1wYW5lbCBhOjphZnRlciwua3gtZGQtcGFuZWwg YTo6YmVmb3Jle2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fS5reC1kZC1wYW5lbCBocntib3JkZXI6 MDtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDE5NiwxNjEsOTUsLjI1KTttYXJnaW46OHB4IDIy cHh9Lmt4LWZsaW5rc3twb3NpdGlvbjpzdGF0aWMgIWltcG9ydGFudDtkaXNwbGF5OmZsZXg7Zmxl eC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTBweCAyNnB4O21hcmdpbjow IGF1dG8gMjRweDttYXgtd2lkdGg6MTEwMHB4O2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5n Oi4xNmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsaW5lLWhlaWdodDoxLjY7dHJhbnNmb3Jt Om5vbmUgIWltcG9ydGFudDt3aWR0aDphdXRvO2hlaWdodDphdXRvO2JhY2tncm91bmQ6bm9uZTti b3JkZXI6MH0ua3gtZmxpbmtzIGF7Y29sb3I6aW5oZXJpdCAhaW1wb3J0YW50O3RleHQtZGVjb3Jh dGlvbjpub25lICFpbXBvcnRhbnQ7b3BhY2l0eTouODV9Lmt4LWZsaW5rcyBhOmhvdmVye29wYWNp dHk6MX08L3N0eWxlPjxzY3JpcHQ+KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gc3luYygpe2RvY3VtZW50 LnF1ZXJ5U2VsZWN0b3JBbGwoJy5reC1kZCcpLmZvckVhY2goZnVuY3Rpb24oZGQpe3ZhciBwPWRk LnBhcmVudE5vZGUscz1udWxsO2Zvcih2YXIgaT0wO2k8cC5jaGlsZHJlbi5sZW5ndGg7aSsrKXt2 YXIgYz1wLmNoaWxkcmVuW2ldO2lmKGMhPT1kZCYmKGMudGFnTmFtZT09PSdBJ3x8Yy50YWdOYW1l PT09J0JVVFRPTicpJiYhL3dvcmRtYXJrfG1hcmsvLnRlc3QoYy5jbGFzc05hbWUpKXtzPWM7YnJl YWs7fX1pZighcylyZXR1cm47dmFyIGNzPWdldENvbXB1dGVkU3R5bGUocyksYj1kZC5xdWVyeVNl bGVjdG9yKCcua3gtZGQtYnRuJyk7Wydmb250RmFtaWx5JywnZm9udFNpemUnLCdsZXR0ZXJTcGFj aW5nJywndGV4dFRyYW5zZm9ybScsJ2ZvbnRXZWlnaHQnLCdjb2xvcicsJ29wYWNpdHknXS5mb3JF YWNoKGZ1bmN0aW9uKGspe2Iuc3R5bGVba109Y3Nba107fSk7fSk7fXZhciB0O2Z1bmN0aW9uIGxh dGVyKCl7Y2xlYXJUaW1lb3V0KHQpO3Q9c2V0VGltZW91dChzeW5jLDYwKTt9ZG9jdW1lbnQuYWRk RXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsc3luYyk7d2luZG93LmFkZEV2ZW50TGlz dGVuZXIoJ2xvYWQnLHN5bmMpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLGxhdGVy LHtwYXNzaXZlOnRydWV9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJyxsYXRlcik7 ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpe2RvY3VtZW50LnF1 ZXJ5U2VsZWN0b3JBbGwoJy5reC1kZC5vcGVuJykuZm9yRWFjaChmdW5jdGlvbihkKXtpZighZC5j b250YWlucyhlLnRhcmdldCkpe2QuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpO2QucXVlcnlTZWxl Y3RvcignLmt4LWRkLWJ0bicpLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsJ2ZhbHNlJyk7 fX0pO30pO30pKCk7PC9zY3JpcHQ+PHN0eWxlPkBtZWRpYShtYXgtd2lkdGg6NzYwcHgpeyNuYXYg Lm5hdmxpbmtze2Rpc3BsYXk6ZmxleCAhaW1wb3J0YW50O2dhcDoxOHB4fSNuYXYgLm5hdmxpbmtz IGEsI25hdiAua2NhcnRsaW5re3doaXRlLXNwYWNlOm5vd3JhcH0jbmF2IC5uYXZsaW5rcyA+IDpu b3QoLmt4LWRkKTpub3QoLmtjYXJ0bGluayl7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9fTwvc3R5 bGU+PHN0eWxlPi5reC13bXtmb250LWZhbWlseTonTWFyY2VsbHVzJyxHZW9yZ2lhLHNlcmlmICFp bXBvcnRhbnQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNp bmc6LjNlbSAhaW1wb3J0YW50O3doaXRlLXNwYWNlOm5vd3JhcCAhaW1wb3J0YW50O3RleHQtZGVj b3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NDAwICFpbXBvcnRhbnR9Lmt4LXdt IC5reC13bS1ne2NvbG9yOiNDNEExNUYgIWltcG9ydGFudH1AbWVkaWEobWF4LXdpZHRoOjYwMHB4 KXtuYXYgLmt4LXdte2ZvbnQtc2l6ZToxNHB4ICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6LjJl bSAhaW1wb3J0YW50fX08L3N0eWxlPjxzdHlsZSBpZD0ia3gtc3RkLWNzcyI+Ci5reGItbWFza3tk aXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7dG9wOjA7ei1pbmRl eDoyMTQ3NDgzMDAwO2JhY2tncm91bmQ6cmdiYSgxMSwyOSwzOSwuNjIpO2FsaWduLWl0ZW1zOmNl bnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTZweDtib3gtc2l6aW5nOmJvcmRl ci1ib3h9Ci5reGItbWFzay5vbntkaXNwbGF5OmZsZXh9Ci5reGItc2hlbGx7ZGlzcGxheTpmbGV4 O3dpZHRoOm1pbigxMDIwcHgsMTAwJSk7bWF4LWhlaWdodDoxMDAlO2JveC1zaGFkb3c6MCAzMHB4 IDkwcHggcmdiYSgxMSwyOSwzOSwuNSk7b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtZmFtaWx5OidKb3N0 JyxzYW5zLXNlcmlmO3RleHQtYWxpZ246bGVmdH0KLmt4Yi1pbmZve2ZsZXg6MCAwIDQwJTtiYWNr Z3JvdW5kOiMwQjFEMjc7Y29sb3I6I0Y2RjRFRjtwYWRkaW5nOjU2cHggNDRweDtkaXNwbGF5OmZs ZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym94LXNpemlu Zzpib3JkZXItYm94fQoua3hiLWV5ZWJyb3d7Zm9udC1mYW1pbHk6J0pvc3QnLHNhbnMtc2VyaWY7 Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjM0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJj YXNlO2NvbG9yOiNDNEExNUY7bWFyZ2luOjAgMCAyMnB4O2ZvbnQtd2VpZ2h0OjQwMH0KLmt4Yi1p bmZvIGgze2ZvbnQtZmFtaWx5OidNYXJjZWxsdXMnLHNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtmb250 LXNpemU6Y2xhbXAoMjRweCwyLjR2dywzNHB4KTtsaW5lLWhlaWdodDoxLjI7bWFyZ2luOjAgMCAx OHB4O2NvbG9yOiNGNkY0RUY7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LXRyYW5zZm9ybTpub25lfQou a3hiLWluZm8gaDMgZW17Zm9udC1mYW1pbHk6J0Nvcm1vcmFudCBHYXJhbW9uZCcsc2VyaWY7Zm9u dC1zdHlsZTppdGFsaWM7Y29sb3I6I0M0QTE1Rn0KLmt4Yi1pbmZvIHB7Zm9udC1zaXplOjE1cHg7 bGluZS1oZWlnaHQ6MS43NTtjb2xvcjpyZ2JhKDI0NiwyNDQsMjM5LC44Mik7bWFyZ2luOjAgMCAy NnB4O2ZvbnQtd2VpZ2h0OjMwMH0KLmt4Yi1saXtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2lu ZzouMjZlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6cmdiYSgyNDYsMjQ0LDIzOSwu ODgpO21hcmdpbjowIDAgMTJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDox MnB4fQoua3hiLWxpIGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MjJweDtoZWlnaHQ6MXB4 O2JhY2tncm91bmQ6I0M0QTE1Rn0KLmt4Yi1wYW5lbHtmbGV4OjEgMSA2MCU7YmFja2dyb3VuZDoj RjZGNEVGO292ZXJmbG93LXk6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LW92ZXJmbG93 LXNjcm9sbGluZzp0b3VjaDtvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59Ci5reGIteHtwb3Np dGlvbjphYnNvbHV0ZTt0b3A6MThweDtyaWdodDoxOHB4O3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7 YmFja2dyb3VuZDpub25lO2JvcmRlcjoxcHggc29saWQgcmdiYSgyOSw0Miw0OSwuMyk7Y29sb3I6 IzFEMkEzMTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxO2N1cnNvcjpwb2ludGVyO3otaW5k ZXg6MjtwYWRkaW5nOjB9Ci5reGIteDpob3ZlcntiYWNrZ3JvdW5kOiMxRDJBMzE7Y29sb3I6I0Y2 RjRFRn0KLmt4Yi1mb3Jte3BhZGRpbmc6NDhweCA0OHB4IDM4cHg7Ym94LXNpemluZzpib3JkZXIt Ym94fQoua3hiLXRpdGxle2ZvbnQtZmFtaWx5OidNYXJjZWxsdXMnLHNlcmlmO2ZvbnQtd2VpZ2h0 OjQwMDtmb250LXNpemU6Y2xhbXAoMjJweCwyLjJ2dywzMHB4KTtjb2xvcjojMUQyQTMxO21hcmdp bjowIDAgMjZweDtsZXR0ZXItc3BhY2luZzowO3RleHQtdHJhbnNmb3JtOm5vbmV9Ci5reGItZ3Jp ZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjIwcHggMjRw eH0KLmt4Yi1me2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjB9Ci5r eGItZi53e2dyaWQtY29sdW1uOjEvLTF9Ci5reGItZiBsYWJlbHtmb250LWZhbWlseTonSm9zdCcs c2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtsZXR0ZXItc3BhY2luZzouM2VtO3RleHQtdHJhbnNm b3JtOnVwcGVyY2FzZTtjb2xvcjojNkY3ODgyO21hcmdpbjowIDAgOHB4O2ZvbnQtd2VpZ2h0OjQw MH0KLmt4Yi1mIGlucHV0LC5reGItZiBzZWxlY3QsLmt4Yi1mIHRleHRhcmVhe2ZvbnQtZmFtaWx5 OidKb3N0JyxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjMwMDtmb250LXNpemU6MTVweDtjb2xvcjoj MUQyQTMxO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjksNDIsNDksLjI1 KTtwYWRkaW5nOjEycHggMTRweDtib3JkZXItcmFkaXVzOjA7b3V0bGluZTpub25lOy13ZWJraXQt YXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTt3aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9y ZGVyLWJveDttYXJnaW46MDtoZWlnaHQ6YXV0b30KLmt4Yi1mIHNlbGVjdHtiYWNrZ3JvdW5kLWlt YWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5v cmcvMjAwMC9zdmcnIHdpZHRoPScxMCcgaGVpZ2h0PSc2JyUzRSUzQ3BhdGggZD0nTTEgMSBMNSA1 IEw5IDEnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzQzRBMTVGJyBzdHJva2Utd2lkdGg9JzEuNCcv JTNFJTNDL3N2ZyUzRSIpO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBv c2l0aW9uOnJpZ2h0IDE0cHggY2VudGVyO3BhZGRpbmctcmlnaHQ6MzZweH0KLmt4Yi1mIGlucHV0 OmZvY3VzLC5reGItZiBzZWxlY3Q6Zm9jdXMsLmt4Yi1mIHRleHRhcmVhOmZvY3Vze2JvcmRlci1j b2xvcjojQzRBMTVGfQoua3hiLWYgdGV4dGFyZWF7bWluLWhlaWdodDo5MnB4O3Jlc2l6ZTp2ZXJ0 aWNhbH0KLmt4Yi1ocHtwb3NpdGlvbjphYnNvbHV0ZSAhaW1wb3J0YW50O2xlZnQ6LTk5OTlweCAh aW1wb3J0YW50O3dpZHRoOjFweDtoZWlnaHQ6MXB4O292ZXJmbG93OmhpZGRlbn0KLmt4Yi1lcnJ7 Z3JpZC1jb2x1bW46MS8tMTtkaXNwbGF5Om5vbmU7Zm9udC1zaXplOjEzcHg7Y29sb3I6I0E4MTIz QTttYXJnaW46MH0KLmt4Yi1zZW5ke2dyaWQtY29sdW1uOjEvLTE7YmFja2dyb3VuZDojMEIxRDI3 O2NvbG9yOiNGNkY0RUY7Ym9yZGVyOjFweCBzb2xpZCAjMEIxRDI3O2ZvbnQtZmFtaWx5OidKb3N0 JyxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTJweDtsZXR0ZXItc3BhY2lu ZzouMzJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7cGFkZGluZzoxNnB4IDIwcHg7Y3Vyc29y OnBvaW50ZXI7Ym9yZGVyLXJhZGl1czowO21hcmdpbi10b3A6NHB4O3RyYW5zaXRpb246YmFja2dy b3VuZC1jb2xvciAuM3MsY29sb3IgLjNzLGJvcmRlci1jb2xvciAuM3N9Ci5reGItc2VuZDpob3Zl cntiYWNrZ3JvdW5kOiNDNEExNUY7Ym9yZGVyLWNvbG9yOiNDNEExNUY7Y29sb3I6IzBCMUQyN30K Lmt4Yi1zZW5kW2Rpc2FibGVkXXtvcGFjaXR5Oi41NTtjdXJzb3I6ZGVmYXVsdH0KLmt4Yi1maW5l e2dyaWQtY29sdW1uOjEvLTE7Zm9udC1zaXplOjEyLjVweDtjb2xvcjojNkY3ODgyO21hcmdpbjo2 cHggMCAwO2xpbmUtaGVpZ2h0OjEuNn0KLmt4Yi1maW5lIGF7Y29sb3I6aW5oZXJpdH0KLmt4Yi1k b25le3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6NTZweCAyOHB4fQoua3hiLWRvbmUgaDR7Zm9u dC1mYW1pbHk6J01hcmNlbGx1cycsc2VyaWY7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTpjbGFt cCgyMnB4LDIuMnZ3LDMwcHgpO2NvbG9yOiMxRDJBMzE7bWFyZ2luOjE0cHggMCAxNnB4fQoua3hi LWRvbmUgcHtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxLjg7Y29sb3I6IzFEMkEzMTttYXJn aW46MCAwIDEwcHh9Ci5reGItZG9uZSBhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi10b3A6 MTRweDtwYWRkaW5nOjE0cHggMzJweDtiYWNrZ3JvdW5kOiMwQjFEMjc7Y29sb3I6I0Y2RjRFRjt0 ZXh0LWRlY29yYXRpb246bm9uZTtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouMzJlbTt0 ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Ci5reGItaW5saW5le2Rpc3BsYXk6YmxvY2s7d2lkdGg6 MTAwJTttYXgtd2lkdGg6NzYwcHg7bWFyZ2luOjAgYXV0b30KLmt4Yi1pbmxpbmUgLmt4Yi1zaGVs bHtib3gtc2hhZG93OjAgMThweCA1MHB4IHJnYmEoMTEsMjksMzksLjE4KTt3aWR0aDoxMDAlfQou a3hiLWlubGluZSAua3hiLWluZm8sLmt4Yi1pbmxpbmUgLmt4Yi14e2Rpc3BsYXk6bm9uZX0KQG1l ZGlhKG1heC13aWR0aDo4NjBweCl7Lmt4Yi1zaGVsbHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWF4 LXdpZHRoOjU2MHB4fS5reGItaW5mb3tkaXNwbGF5Om5vbmV9Lmt4Yi1mb3Jte3BhZGRpbmc6NDRw eCAyMnB4IDMwcHh9Lmt4Yi1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQpmb290ZXIu a3gtZm9vdHtkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7cG9zaXRpb246c3RhdGljICFpbXBvcnRh bnQ7YmFja2dyb3VuZDojMEIxRDI3ICFpbXBvcnRhbnQ7Y29sb3I6cmdiYSgyNDYsMjQ0LDIzOSwu NzIpICFpbXBvcnRhbnQ7Ym9yZGVyOjAgIWltcG9ydGFudDtib3JkZXItdG9wOjFweCBzb2xpZCBy Z2JhKDE5NiwxNjEsOTUsLjQ1KSAhaW1wb3J0YW50O3BhZGRpbmc6NjRweCAyNHB4IDQwcHggIWlt cG9ydGFudDt0ZXh0LWFsaWduOmNlbnRlciAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5OidKb3N0Jyxz YW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi10b3A6MCAhaW1wb3J0 YW50O21hcmdpbi1ib3R0b206MCAhaW1wb3J0YW50O2dyaWQtdGVtcGxhdGUtY29sdW1uczpub25l ICFpbXBvcnRhbnQ7dHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0 YW50O21pbi1oZWlnaHQ6MCAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveH0KLmt4LWZv b3QtaW57bWF4LXdpZHRoOjExMDBweDttYXJnaW46MCBhdXRvfQoua3gtZm9vdCAua3gtZm9vdC13 bXtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTonTWFyY2VsbHVzJyxzZXJpZiAhaW1w b3J0YW50O2ZvbnQtc2l6ZToyMnB4ICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6LjNlbSAhaW1w b3J0YW50O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50O2NvbG9yOiNGNkY0RUYg IWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O3doaXRlLXNwYWNlOm5v d3JhcDtmb250LXdlaWdodDo0MDAgIWltcG9ydGFudDttYXJnaW46MH0KLmt4LWZvb3QgLmt4LWZv b3Qtd20gc3Bhbntjb2xvcjojQzRBMTVGICFpbXBvcnRhbnR9Ci5reC1mb290IC5reC1mb290LXRh Z3tmb250LWZhbWlseTonQ29ybW9yYW50IEdhcmFtb25kJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQt c3R5bGU6aXRhbGljO2ZvbnQtc2l6ZToxN3B4ICFpbXBvcnRhbnQ7Y29sb3I6cmdiYSgyNDYsMjQ0 LDIzOSwuNykgIWltcG9ydGFudDttYXJnaW46MTRweCAwIDMwcHggIWltcG9ydGFudDtsZXR0ZXIt c3BhY2luZzowICFpbXBvcnRhbnQ7dGV4dC10cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50fQoua3gt Zm9vdCAua3gtZm9vdC1saW5rc3tkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1j b250ZW50OmNlbnRlcjtnYXA6MTJweCAyOHB4O21hcmdpbjowIDAgMjZweH0KLmt4LWZvb3QgLmt4 LWZvb3QtbGlua3MgYSwua3gtZm9vdCAua3gtZm9vdC1jb250YWN0IGF7Y29sb3I6cmdiYSgyNDYs MjQ0LDIzOSwuODUpICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtm b250LWZhbWlseTonSm9zdCcsc2Fucy1zZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxMXB4ICFp bXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6LjI0ZW0gIWltcG9ydGFudDt0ZXh0LXRyYW5zZm9ybTp1 cHBlcmNhc2UgIWltcG9ydGFudDtmb250LXdlaWdodDo0MDAgIWltcG9ydGFudDtwb3NpdGlvbjpz dGF0aWMgIWltcG9ydGFudDtwYWRkaW5nOjAgIWltcG9ydGFudDtvcGFjaXR5OjEgIWltcG9ydGFu dH0KLmt4LWZvb3QgLmt4LWZvb3QtY29udGFjdCBhe3RleHQtdHJhbnNmb3JtOm5vbmUgIWltcG9y dGFudDtsZXR0ZXItc3BhY2luZzouMDhlbSAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxM3B4ICFpbXBv cnRhbnR9Ci5reC1mb290IGE6aG92ZXJ7Y29sb3I6I0M0QTE1RiAhaW1wb3J0YW50fQoua3gtZm9v dCBhOjphZnRlciwua3gtZm9vdCBhOjpiZWZvcmV7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9Ci5r eC1mb290IC5reC1mb290LWNvbnRhY3R7bWFyZ2luOjAgMCAxOHB4fQoua3gtZm9vdCAua3gtZm9v dC1maW5le2ZvbnQtZmFtaWx5OidKb3N0JyxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXpl OjExcHggIWltcG9ydGFudDtsZXR0ZXItc3BhY2luZzouMTRlbSAhaW1wb3J0YW50O2NvbG9yOnJn YmEoMjQ2LDI0NCwyMzksLjUpICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDt0ZXh0LXRy YW5zZm9ybTpub25lICFpbXBvcnRhbnR9Ci5reC1jYXJ0bGlua3ttYXJnaW4tbGVmdDphdXRvO21h cmdpbi1yaWdodDoyNnB4O2NvbG9yOiNGNkY0RUYgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246 bm9uZSAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5OidKb3N0JyxzYW5zLXNlcmlmO2ZvbnQtc2l6ZTox MXB4O2xldHRlci1zcGFjaW5nOi4zZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3doaXRlLXNw YWNlOm5vd3JhcDtmb250LXdlaWdodDo0MDA7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo2MH0K Lmt4LWNhcnRsaW5rOmhvdmVye2NvbG9yOiNDNEExNUYgIWltcG9ydGFudH0KPC9zdHlsZT48L2hl YWQ+Cjxib2R5PgoKPG5hdiBpZD0ibmF2Ij4KICA8YSBjbGFzcz0id29yZG1hcmsga3gtd20iIGhy ZWY9Ii8iIHRhcmdldD0iX3RvcCI+TWFpc29uIDxzcGFuIGNsYXNzPSJreC13bS1nIj5LYXN0ZWw8 L3NwYW4+PC9hPgogIDxkaXYgY2xhc3M9Im5hdmxpbmtzIj4KICAgIDxhIGhyZWY9IiNjb2xsZWN0 aW9uIj5UaGUgUGllY2VzPC9hPjxkaXYgY2xhc3M9Imt4LWRkIj48YnV0dG9uIHR5cGU9ImJ1dHRv biIgY2xhc3M9Imt4LWRkLWJ0biIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1leHBhbmRlZD0i ZmFsc2UiIG9uY2xpY2s9InZhciBkPXRoaXMucGFyZW50Tm9kZTt2YXIgbz1kLmNsYXNzTGlzdC50 b2dnbGUoJ29wZW4nKTt0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsbz8ndHJ1ZSc6 J2ZhbHNlJyk7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Ij5Db2xsZWN0aW9uczwvYnV0dG9uPjxk aXYgY2xhc3M9Imt4LWRkLXBhbmVsIj48YSBocmVmPSIvbWFoam9uZy1jb2xsZWN0aW9uLyIgdGFy Z2V0PSJfdG9wIj5UaGUgTWFoam9uZyBDb2xsZWN0aW9uPC9hPjxhIGhyZWY9Ii9lbmNoYW50ZWQt Y29sbGVjdGlvbi8iIHRhcmdldD0iX3RvcCI+VGhlIEVuY2hhbnRlZCBDb2xsZWN0aW9uPC9hPjxh IGhyZWY9Ii9lc3NlbnRpYWxzLWNvbGxlY3Rpb24vIiB0YXJnZXQ9Il90b3AiPkVzc2VudGlhbHMg Q29sbGVjdGlvbjwvYT48YSBocmVmPSIvdGFyb3QtY29sbGVjdGlvbi8iIHRhcmdldD0iX3RvcCI+ VGFyb3QgQ29sbGVjdGlvbjwvYT48YSBocmVmPSIvcm9kZW8tc3VtbWl0LWNvbGxlY3Rpb24vIiB0 YXJnZXQ9Il90b3AiPlJvZGVvICZhbXA7IFN1bW1pdDwvYT48YSBocmVmPSIvYWVnZWFuLWNvbGxl Y3Rpb24vIiB0YXJnZXQ9Il90b3AiIGFyaWEtY3VycmVudD0icGFnZSI+QWVnZWFuIENvbGxlY3Rp b248L2E+PGEgaHJlZj0iL2dhcmRlbi1wYXJ0eS8iIHRhcmdldD0iX3RvcCI+R2FyZGVuIFBhcnR5 PC9hPjxhIGhyZWY9Ii9zZWFib3JuZS1jb2xsZWN0aW9uLyIgdGFyZ2V0PSJfdG9wIj5TZWFib3Ju ZSBDb2xsZWN0aW9uPC9hPjxocj48YSBocmVmPSIvb3VyLXN0b3J5LyIgdGFyZ2V0PSJfdG9wIj5P dXIgU3Rvcnk8L2E+PC9kaXY+PC9kaXY+CiAgICA8YSBocmVmPSIjY3JhZnQiPkNyYWZ0c21hbnNo aXA8L2E+CiAgICA8YSBocmVmPSIvb3VyLXN0b3J5LyIgdGFyZ2V0PSJfdG9wIj5PdXIgU3Rvcnk8 L2E+CiAgICA8YSBocmVmPSIjdmlzaXQiPkFwcG9pbnRtZW50czwvYT4KICAgIDxhIGNsYXNzPSJr Y2FydGxpbmsiIGlkPSJrY2FydC1vcGVuIj5DYXJ0ICg8c3BhbiBpZD0ia2NhcnQtbiI+MDwvc3Bh bj4pPC9hPgogIDwvZGl2Pgo8L25hdj4KCjxoZWFkZXIgY2xhc3M9Imhlcm8iPgogIDxkaXYgY2xh c3M9Imhlcm8tcGFuZWwiPgogICAgPGRpdiBjbGFzcz0iZXllYnJvdyBydiBpbiI+TWFpc29uIEth c3RlbDwvZGl2PgogICAgPGgxIGNsYXNzPSJydiBpbiBkMSI+QUVHRUFOCiAgICAgIDxzcGFuIGNs YXNzPSJ0aGluIj53aGVyZSBnb2xkIGxlYXJucyB0aGUgbGFuZ3VhZ2Ugb2Ygd2F0ZXI8L3NwYW4+ CiAgICA8L2gxPgogICAgPHN2ZyBjbGFzcz0id2F2ZS1saW5lIiB2aWV3Qm94PSIwIDAgMzQwIDI0 IiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgIDxwYXRoIGQ9Ik0yIDEyIEMgMzAgMiwgNTUgMjIs IDg1IDEyIFMgMTQwIDIsIDE3MCAxMiBTIDIyNSAyMiwgMjU1IDEyIFMgMzEwIDIsIDMzOCAxMiIv PgogICAgPC9zdmc+CiAgICA8cCBjbGFzcz0ibGVkZSBydiBpbiBkMiI+U2N1bHB0ZWQgYnkgdGhl IG1lZXRpbmcgb2Ygc2VhIGFuZCBsaWdodCwgdGhlIEFlZ2VhbiBDb2xsZWN0aW9uIHJlbmRlcnMg dGhlIGV0ZXJuYWwgbW90aW9uIG9mIHRoZSBDeWNsYWRlcyBpbiAxOC1rYXJhdCBnb2xkIGFuZCBk aWFtb25kcyDigJQgZWFjaCBwaWVjZSBhIHdhdmUsIGhlbGQgc3RpbGwuPC9wPgogICAgPGRpdiBj bGFzcz0iaGVyby1jdGEgcnYgaW4gZDMiPgogICAgICA8YSBjbGFzcz0iYnRuIiBocmVmPSIjY29s bGVjdGlvbiI+RGlzY292ZXIgdGhlIENvbGxlY3Rpb248L2E+CiAgICAgIDxhIGNsYXNzPSJidG4g Z2hvc3QiIGhyZWY9IiMiIGRhdGEtYm9vaz0iMSI+Qm9vayBhbiBBcHBvaW50bWVudDwvYT4KICAg IDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Imhlcm8taW1nIj4KICAgIDxpbWcgc3JjPSJk YXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFC QUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1rPSJoZXJvMiIgYWx0PSJNb2RlbCBpbiB0aGUgc2VhIHdl YXJpbmcgdGhlIEFlZ2VhbiBXYXZlIE5lY2tsYWNlIGFuZCBBZWdlYW4gRGlhbW9uZCBIb29wIGlu IDE4ayBnb2xkIiBmZXRjaHByaW9yaXR5PSJoaWdoIj4KICAgIDxkaXYgY2xhc3M9Indvcm4iPldv cm48c3Ryb25nPlRoZSBBZWdlYW4gV2F2ZSBOZWNrbGFjZTwvc3Ryb25nPjwvZGl2PgogIDwvZGl2 PgogIDxkaXYgY2xhc3M9InNjcm9sbGN1ZSIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2Pgo8L2hl YWRlcj4KCjxzZWN0aW9uIGNsYXNzPSJjZW50ZXIiIGlkPSJjb2xsZWN0aW9uIj4KICA8ZGl2IGNs YXNzPSJraWNrZXIgcnYiPlRoZSBBZWdlYW4gQ29sbGVjdGlvbjwvZGl2PgogIDxwIGNsYXNzPSJp bnRyby1sZWRlIHJ2IGQxIj5EcmF3aW5nIG9uIHRoZSBpc2xhbmRzIHdoZXJlIDxlbT5tYXJibGUg bWVldHMgd2F0ZXI8L2VtPiwgZWFjaCBBZWdlYW4gcGllY2UgaXMgY2FydmVkLCBjYXN0IGFuZCBo YW5kLWZpbmlzaGVkIGluIG91ciBhdGVsaWVyLjwvcD4KICA8cCBjbGFzcz0iaW50cm8tYm9keSBy diBkMiI+VW5kdWxhdGluZyBzaWxob3VldHRlcyB0cmFjZSB0aGUgc3dlbGwgb2YgdGhlIG9wZW4g c2VhOyBkaWFtb25kcyDigJQgYmFndWV0dGUsIG1hcnF1aXNlIGFuZCBicmlsbGlhbnQg4oCUIHNj YXR0ZXIgYWNyb3NzIHBvbGlzaGVkIGdvbGQgbGlrZSBzdW5saWdodCBicmVha2luZyBvbiB0aGUg c3VyZmFjZS48L3A+CiAgPHN2ZyBjbGFzcz0iZGl2aWRlci13YXZlIHJ2IGQzIiB2aWV3Qm94PSIw IDAgMTIwIDE2IiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICA8cGF0aCBkPSJNMiA4IEMgMTQgMiwg MjQgMTQsIDM4IDggUyA2MCAyLCA3NCA4IFMgMTAwIDE0LCAxMTggOCIvPgogIDwvc3ZnPgo8L3Nl Y3Rpb24+CgoKPHNlY3Rpb24+CiAgPGRpdiBjbGFzcz0iY2dyaWQiPgogICAgPGRpdiBjbGFzcz0i Y2FyZCIgZGF0YS1wcm9kPSJiYW5nbGUtdyI+CiAgICAgIDxkaXYgY2xhc3M9ImZyYW1lIGdhbCBy diI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3RyYWNrIj48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7 YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93 PT0iIGRhdGEtaz0iYWVnZWFuLWJhbmdsZS13LTIwMjYiIGFsdD0iQWVnZWFuIEJhbmdsZSBpbiAx OGsgd2hpdGUgZ29sZCB3aXRoIHNjYXR0ZXJlZCBtaXhlZC1jdXQgZGlhbW9uZHMiIGNsYXNzPSJv biIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2 IiBhcmlhLWxhYmVsPSJQcmV2aW91cyBpbWFnZSI+JiM4MjQ5OzwvYnV0dG9uPgogICAgICAgIDxi dXR0b24gY2xhc3M9ImduYXYgbmV4dCIgYXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+JiM4MjUwOzwv YnV0dG9uPgogICAgICAgIDxkaXYgY2xhc3M9Imdkb3RzIj48L2Rpdj4KICAgICAgPC9kaXY+CiAg ICAgIDxoMyBjbGFzcz0icG5hbWUgcnYgZDEiPkFlZ2VhbiBCYW5nbGUsIFdoaXRlIEdvbGQ8L2gz PgogICAgICA8cCBjbGFzcz0icGRlc2MgcnYgZDIiPjE4ayBnb2xkIHRoYXQgcmlzZXMgYW5kIGZh bGxzIGxpa2UgdGhlIHdhdGVyLiBTY2F0dGVyZWQgbWl4ZWQtY3V0IGRpYW1vbmRzLCAzLjA3IGN0 IHRvdGFsLjwvcD4KICAgICAgPGRpdiBjbGFzcz0icHJpY2UgcnYgZDIiPiQyMSw4MDAgJm5ic3A7 JiMxODM7Jm5ic3A7IDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzou MTRlbTtjb2xvcjojN2Q4YTkxOyI+QjEwMDY0Vzwvc3Bhbj48L2Rpdj4KICAgICAgPGEgY2xhc3M9 InNob3AgcnYgZDMiIGhyZWY9IiMiIGRhdGEtcGlkPSJiYW5nbGUtdyI+U2hvcCBUaGlzIFBpZWNl PC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJjYXJkIiBkYXRhLXByb2Q9ImJhbmdsZS15 Ij4KICAgICAgPGRpdiBjbGFzcz0iZnJhbWUgZ2FsIHJ2Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJn dHJhY2siPjxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFD SDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1rPSJhZWdlYW4tYmFuZ2xl LXktMjAyNiIgYWx0PSJBZWdlYW4gQmFuZ2xlIGluIDE4ayB5ZWxsb3cgZ29sZCB3aXRoIHNjYXR0 ZXJlZCBtaXhlZC1jdXQgZGlhbW9uZHMiIGNsYXNzPSJvbiIgbG9hZGluZz0ibGF6eSI+PC9kaXY+ CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2IiBhcmlhLWxhYmVsPSJQcmV2aW91cyBp bWFnZSI+JiM4MjQ5OzwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgbmV4dCIg YXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+JiM4MjUwOzwvYnV0dG9uPgogICAgICAgIDxkaXYgY2xh c3M9Imdkb3RzIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxoMyBjbGFzcz0icG5hbWUgcnYg ZDEiPkFlZ2VhbiBCYW5nbGUsIFllbGxvdyBHb2xkPC9oMz4KICAgICAgPHAgY2xhc3M9InBkZXNj IHJ2IGQyIj4xOGsgZ29sZCB0aGF0IHJpc2VzIGFuZCBmYWxscyBsaWtlIHRoZSB3YXRlci4gU2Nh dHRlcmVkIG1peGVkLWN1dCBkaWFtb25kcywgMy4wNyBjdCB0b3RhbC48L3A+CiAgICAgIDxkaXYg Y2xhc3M9InByaWNlIHJ2IGQyIj4kMjEsODAwICZuYnNwOyYjMTgzOyZuYnNwOyA8c3BhbiBzdHls ZT0iZm9udC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07Y29sb3I6IzdkOGE5MTsiPkIx MDA2NFdZPC9zcGFuPjwvZGl2PgogICAgICA8YSBjbGFzcz0ic2hvcCBydiBkMyIgaHJlZj0iIyIg ZGF0YS1waWQ9ImJhbmdsZS15Ij5TaG9wIFRoaXMgUGllY2U8L2E+CiAgICA8L2Rpdj4KICAgIDxk aXYgY2xhc3M9ImNhcmQiIGRhdGEtcHJvZD0ia3ltYSI+CiAgICAgIDxkaXYgY2xhc3M9ImZyYW1l IGdhbCBydiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3RyYWNrIj48aW1nIHNyYz0iZGF0YTppbWFn ZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlD VEFFQU93PT0iIGRhdGEtaz0iZWFycmluZ3MiIGFsdD0iQWVnZWFuIGRpYW1vbmQgaG9vcCBlYXJy aW5ncyBpbiAxOGsgeWVsbG93IGdvbGQgd2l0aCBwYXYmIzIzMzsgZGlhbW9uZHMiIGNsYXNzPSJv biIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2 IiBhcmlhLWxhYmVsPSJQcmV2aW91cyBpbWFnZSI+JiM4MjQ5OzwvYnV0dG9uPgogICAgICAgIDxi dXR0b24gY2xhc3M9ImduYXYgbmV4dCIgYXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+JiM4MjUwOzwv YnV0dG9uPgogICAgICAgIDxkaXYgY2xhc3M9Imdkb3RzIj48L2Rpdj4KICAgICAgPC9kaXY+CiAg ICAgIDxoMyBjbGFzcz0icG5hbWUgcnYgZDEiPkFlZ2VhbiBEaWFtb25kIEhvb3A8L2gzPgogICAg ICA8cCBjbGFzcz0icGRlc2MgcnYgZDIiPkEgY3VycmVudCBvZiBwYXYmIzIzMzsgZGlhbW9uZHMg d3JhcHMgdGhyb3VnaCBwb2xpc2hlZCAxOGsgeWVsbG93IGdvbGQg4oCUIHR3byB0aWRlcyBwYXNz aW5nIGluIGEgc2luZ2xlLCBmbHVpZCBnZXN0dXJlLiAyLjA4IGN0IHRvdGFsLjwvcD4KICAgICAg PGRpdiBjbGFzcz0icHJpY2UgcnYgZDIiPiQ4LDcyMCAmbmJzcDsmIzE4MzsmbmJzcDsgPHNwYW4g c3R5bGU9ImZvbnQtc2l6ZToxM3B4O2xldHRlci1zcGFjaW5nOi4xNGVtO2NvbG9yOiM3ZDhhOTE7 Ij5FMTA0NTBZPC9zcGFuPjwvZGl2PgogICAgICA8YSBjbGFzcz0ic2hvcCBydiBkMyIgaHJlZj0i IyIgZGF0YS1waWQ9Imt5bWEiPlNob3AgVGhpcyBQaWVjZTwvYT4KICAgIDwvZGl2PgogICAgPGRp diBjbGFzcz0iY2FyZCIgZGF0YS1wcm9kPSJuZXJlaWQiPgogICAgICA8ZGl2IGNsYXNzPSJmcmFt ZSBnYWwgcnYiPgogICAgICAgIDxkaXYgY2xhc3M9Imd0cmFjayI+PGltZyBzcmM9ImRhdGE6aW1h Z2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJ Q1RBRUFPdz09IiBkYXRhLWs9ImU5Nzg0eSIgYWx0PSJBZWdlYW4gcGViYmxlIGRpYW1vbmQgZWFy cmluZ3MgaW4gMThrIHllbGxvdyBnb2xkIHdpdGggc2NhdHRlcmVkIGRpYW1vbmRzIiBjbGFzcz0i b24iIGxvYWRpbmc9ImxhenkiPjwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgcHJl diIgYXJpYS1sYWJlbD0iUHJldmlvdXMgaW1hZ2UiPiYjODI0OTs8L2J1dHRvbj4KICAgICAgICA8 YnV0dG9uIGNsYXNzPSJnbmF2IG5leHQiIGFyaWEtbGFiZWw9Ik5leHQgaW1hZ2UiPiYjODI1MDs8 L2J1dHRvbj4KICAgICAgICA8ZGl2IGNsYXNzPSJnZG90cyI+PC9kaXY+CiAgICAgIDwvZGl2Pgog ICAgICA8aDMgY2xhc3M9InBuYW1lIHJ2IGQxIj5BZWdlYW4gUGViYmxlIERpYW1vbmQgRWFycmlu Z3M8L2gzPgogICAgICA8cCBjbGFzcz0icGRlc2MgcnYgZDIiPk9wZW4gbG9vcHMgb2YgMThrIHll bGxvdyBnb2xkIGN1cmwgbGlrZSBzZWEgZm9hbSwgdHJhaWxlZCBieSBhIGRyaWZ0IG9mIHByb25n LXNldCBicmlsbGlhbnQgZGlhbW9uZHMuIDEuNjAgY3QgdG90YWwuPC9wPgogICAgICA8ZGl2IGNs YXNzPSJwcmljZSBydiBkMiI+JDEyLDA4MCAmbmJzcDsmIzE4MzsmbmJzcDsgPHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxM3B4O2xldHRlci1zcGFjaW5nOi4xNGVtO2NvbG9yOiM3ZDhhOTE7Ij5FOTc4 NFk8L3NwYW4+PC9kaXY+CiAgICAgIDxhIGNsYXNzPSJzaG9wIHJ2IGQzIiBocmVmPSIjIiBkYXRh LXBpZD0ibmVyZWlkIj5TaG9wIFRoaXMgUGllY2U8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xh c3M9ImNhcmQiIGRhdGEtcHJvZD0iZGVsb3MtZSI+CiAgICAgIDxkaXYgY2xhc3M9ImZyYW1lIGdh bCBydiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3RyYWNrIj48aW1nIHNyYz0iZGF0YTppbWFnZS9n aWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFF QU93PT0iIGRhdGEtaz0iZTEwMzU1bCIgYWx0PSJBZWdlYW4gZGlhbW9uZCBkb21lIGVhcnJpbmdz IGluIDE4ayB5ZWxsb3cgZ29sZCIgY2xhc3M9Im9uIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAg ICAgICA8YnV0dG9uIGNsYXNzPSJnbmF2IHByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIGltYWdl Ij4mIzgyNDk7PC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBuZXh0IiBhcmlh LWxhYmVsPSJOZXh0IGltYWdlIj4mIzgyNTA7PC9idXR0b24+CiAgICAgICAgPGRpdiBjbGFzcz0i Z2RvdHMiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGgzIGNsYXNzPSJwbmFtZSBydiBkMSI+ QWVnZWFuIERpYW1vbmQgRG9tZSBFYXJyaW5nczwvaDM+CiAgICAgIDxwIGNsYXNzPSJwZGVzYyBy diBkMiI+VGVhcmRyb3BzIG9mIG9wZW53b3JrIGdvbGQsIGJhbmRlZCBpbiBhbHRlcm5hdGluZyBw b2xpc2hlZCBjaGV2cm9ucyBhbmQgY2hhbm5lbHMgb2YgcGF2JiMyMzM7IOKAlCBsaWdodCBwYXNz ZXMgc3RyYWlnaHQgdGhyb3VnaC4gMi4yOCBjdCB0b3RhbC48L3A+CiAgICAgIDxkaXYgY2xhc3M9 InByaWNlIHJ2IGQyIj4kMTIsMzk1ICZuYnNwOyYjMTgzOyZuYnNwOyA8c3BhbiBzdHlsZT0iZm9u dC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07Y29sb3I6IzdkOGE5MTsiPkUxMDM1NUw8 L3NwYW4+PC9kaXY+CiAgICAgIDxhIGNsYXNzPSJzaG9wIHJ2IGQzIiBocmVmPSIjIiBkYXRhLXBp ZD0iZGVsb3MtZSI+U2hvcCBUaGlzIFBpZWNlPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNz PSJjYXJkIiBkYXRhLXByb2Q9ImN5Y2xhZGVzLWUiPgogICAgICA8ZGl2IGNsYXNzPSJmcmFtZSBn YWwgcnYiPgogICAgICAgIDxkaXYgY2xhc3M9Imd0cmFjayI+PGltZyBzcmM9ImRhdGE6aW1hZ2Uv Z2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RB RUFPdz09IiBkYXRhLWs9ImU0Njk2NmwiIGFsdD0iQWVnZWFuIHRleHR1cmVkIGRpYW1vbmQgZWFy cmluZ3MgaW4gMThrIHllbGxvdyBnb2xkIHdpdGggc2NhdHRlcmVkIGRpYW1vbmRzIiBjbGFzcz0i b24iIGxvYWRpbmc9ImxhenkiPjwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgcHJl diIgYXJpYS1sYWJlbD0iUHJldmlvdXMgaW1hZ2UiPiYjODI0OTs8L2J1dHRvbj4KICAgICAgICA8 YnV0dG9uIGNsYXNzPSJnbmF2IG5leHQiIGFyaWEtbGFiZWw9Ik5leHQgaW1hZ2UiPiYjODI1MDs8 L2J1dHRvbj4KICAgICAgICA8ZGl2IGNsYXNzPSJnZG90cyI+PC9kaXY+CiAgICAgIDwvZGl2Pgog ICAgICA8aDMgY2xhc3M9InBuYW1lIHJ2IGQxIj5BZWdlYW4gVGV4dHVyZWQgRGlhbW9uZCBFYXJy aW5nczwvaDM+CiAgICAgIDxwIGNsYXNzPSJwZGVzYyBydiBkMiI+VGhlIHJpbmcncyByaXBwbGVk IGNvbXBhbmlvbiDigJQgZmx1dGVkIDE4ayBnb2xkIGNhcnJ5aW5nIGEgc3ByYXkgb2YgbWFycXVp c2UsIHBlYXIgYW5kIGJyaWxsaWFudCBkaWFtb25kcy4gMi40MCBjdCB0b3RhbC48L3A+CiAgICAg IDxkaXYgY2xhc3M9InByaWNlIHJ2IGQyIj4kMTIsMDgwICZuYnNwOyYjMTgzOyZuYnNwOyA8c3Bh biBzdHlsZT0iZm9udC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07Y29sb3I6IzdkOGE5 MTsiPkU0Njk2Nkw8L3NwYW4+PC9kaXY+CiAgICAgIDxhIGNsYXNzPSJzaG9wIHJ2IGQzIiBocmVm PSIjIiBkYXRhLXBpZD0iY3ljbGFkZXMtZSI+U2hvcCBUaGlzIFBpZWNlPC9hPgogICAgPC9kaXY+ CiAgICA8ZGl2IGNsYXNzPSJjYXJkIiBkYXRhLXByb2Q9ImRlbG9zLXIiPgogICAgICA8ZGl2IGNs YXNzPSJmcmFtZSBnYWwgcnYiPgogICAgICAgIDxkaXYgY2xhc3M9Imd0cmFjayI+PGltZyBzcmM9 ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFB QUJBQUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9InIxMDM1NXkiIGFsdD0iQWVnZWFuIGRvbWUgcmlu ZyBpbiAxOGsgeWVsbG93IGdvbGQiIGNsYXNzPSJvbiIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAg ICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2IiBhcmlhLWxhYmVsPSJQcmV2aW91cyBpbWFn ZSI+JiM4MjQ5OzwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgbmV4dCIgYXJp YS1sYWJlbD0iTmV4dCBpbWFnZSI+JiM4MjUwOzwvYnV0dG9uPgogICAgICAgIDxkaXYgY2xhc3M9 Imdkb3RzIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxoMyBjbGFzcz0icG5hbWUgcnYgZDEi PkFlZ2VhbiBEb21lIFJpbmc8L2gzPgogICAgICA8cCBjbGFzcz0icGRlc2MgcnYgZDIiPkEgZG9t ZSBvZiBvcGVuIGdvbGQgcmlicywgZXZlcnkgc2Vjb25kIG9uZSBzZXQgd2l0aCBhIGZpbmUgbGlu ZSBvZiBwYXYmIzIzMzsg4oCUIGFyY2hpdGVjdHVyZSBhdCB0aGUgc2NhbGUgb2YgYSBmaW5nZXJ0 aXAuIDEuMTQgY3QgdG90YWwuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJwcmljZSBydiBkMiI+JDcs NTQwICZuYnNwOyYjMTgzOyZuYnNwOyA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHg7bGV0dGVy LXNwYWNpbmc6LjE0ZW07Y29sb3I6IzdkOGE5MTsiPlIxMDM1NVk8L3NwYW4+PC9kaXY+CiAgICAg IDxhIGNsYXNzPSJzaG9wIHJ2IGQzIiBocmVmPSIjIiBkYXRhLXBpZD0iZGVsb3MtciI+U2hvcCBU aGlzIFBpZWNlPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJjYXJkIiBkYXRhLXByb2Q9 ImN5Y2xhZGVzLXIiPgogICAgICA8ZGl2IGNsYXNzPSJmcmFtZSBnYWwgcnYiPgogICAgICAgIDxk aXYgY2xhc3M9Imd0cmFjayI+PGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0Rs aEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9InJp bmciIGFsdD0iQWVnZWFuIHRleHR1cmVkIGRpYW1vbmQgcmluZyBpbiBmbHV0ZWQgMThrIHllbGxv dyBnb2xkIHdpdGggc2NhdHRlcmVkIGRpYW1vbmRzIiBjbGFzcz0ib24iIGxvYWRpbmc9Imxhenki PjwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgcHJldiIgYXJpYS1sYWJlbD0iUHJl dmlvdXMgaW1hZ2UiPiYjODI0OTs8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJnbmF2 IG5leHQiIGFyaWEtbGFiZWw9Ik5leHQgaW1hZ2UiPiYjODI1MDs8L2J1dHRvbj4KICAgICAgICA8 ZGl2IGNsYXNzPSJnZG90cyI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8aDMgY2xhc3M9InBu YW1lIHJ2IGQxIj5BZWdlYW4gVGV4dHVyZWQgRGlhbW9uZCBSaW5nPC9oMz4KICAgICAgPHAgY2xh c3M9InBkZXNjIHJ2IGQyIj5GbHV0ZWQgZ29sZCwgcmlwcGxlZCBsaWtlIHdpbmQgb3ZlciB3YXRl ciwgY2FycmllcyBhIGRyaWZ0IG9mIG1hcnF1aXNlLCBwZWFyIGFuZCBicmlsbGlhbnQgZGlhbW9u ZHMg4oCUIHNlYSBzcHJheSBjYXVnaHQgbWlkLWFpci4gMC45MSBjdCB0b3RhbC48L3A+CiAgICAg IDxkaXYgY2xhc3M9InByaWNlIHJ2IGQyIj4kNSw3MjAgJm5ic3A7JiMxODM7Jm5ic3A7IDxzcGFu IHN0eWxlPSJmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMTRlbTtjb2xvcjojN2Q4YTkx OyI+UjQ2OTY2TDwvc3Bhbj48L2Rpdj4KICAgICAgPGEgY2xhc3M9InNob3AgcnYgZDMiIGhyZWY9 IiMiIGRhdGEtcGlkPSJjeWNsYWRlcy1yIj5TaG9wIFRoaXMgUGllY2U8L2E+CiAgICA8L2Rpdj4K ICAgIDxkaXYgY2xhc3M9ImNhcmQiIGRhdGEtcHJvZD0ibmFpYWQiPgogICAgICA8ZGl2IGNsYXNz PSJmcmFtZSBnYWwgcnYiPgogICAgICAgIDxkaXYgY2xhc3M9Imd0cmFjayI+PGltZyBzcmM9ImRh dGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJB QUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9InI0NzAyN3ktMjAyNiIgYWx0PSJBZWdlYW4gYXN5bW1l dHJpY2FsIHdhdmUgcmluZyBpbiBwb2xpc2hlZCAxOGsgeWVsbG93IGdvbGQgd2l0aCBtYXJxdWlz ZSBkaWFtb25kcyIgY2xhc3M9Im9uIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgICAgICA8YnV0 dG9uIGNsYXNzPSJnbmF2IHByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIGltYWdlIj4mIzgyNDk7 PC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBuZXh0IiBhcmlhLWxhYmVsPSJO ZXh0IGltYWdlIj4mIzgyNTA7PC9idXR0b24+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2RvdHMiPjwv ZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGgzIGNsYXNzPSJwbmFtZSBydiBkMSI+QWVnZWFuIEFz eW1tZXRyaWNhbCBXYXZlIFJpbmc8L2gzPgogICAgICA8cCBjbGFzcz0icGRlc2MgcnYgZDIiPkEg c21vb3RoIHN3ZWxsIG9mIHBvbGlzaGVkIDE4ayBnb2xkLCBjcm9zc2VkIGJ5IGEgZ2FybGFuZCBv ZiBtYXJxdWlzZSBhbmQgcGVhciBkaWFtb25kcyDigJQgcXVpZXQgd2F0ZXIsIHRoZW4gbGlnaHQu IDEuOTMgY3QgdG90YWwuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJwcmljZSBydiBkMiI+JDcsNjgw ICZuYnNwOyYjMTgzOyZuYnNwOyA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHg7bGV0dGVyLXNw YWNpbmc6LjE0ZW07Y29sb3I6IzdkOGE5MTsiPlI0NzAyN1k8L3NwYW4+PC9kaXY+CiAgICAgIDxh IGNsYXNzPSJzaG9wIHJ2IGQzIiBocmVmPSIjIiBkYXRhLXBpZD0ibmFpYWQiPlNob3AgVGhpcyBQ aWVjZTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iY2FyZCIgZGF0YS1wcm9kPSJ0aGFs YXNzYS1yIj4KICAgICAgPGRpdiBjbGFzcz0iZnJhbWUgZ2FsIHJ2Ij4KICAgICAgICA8ZGl2IGNs YXNzPSJndHJhY2siPjxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFC QUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1rPSJyNDcwNjF5 LTIwMjYiIGRhdGEtbWV0YWw9InkiIGFsdD0iQWVnZWFuIHdhdmUgYmFuZCByaW5nIGluIDE4ayB5 ZWxsb3cgZ29sZCB3aXRoIHBhdiYjMjMzOyBhbmQgcGVhciBkaWFtb25kcyIgY2xhc3M9Im9uIiBs b2FkaW5nPSJsYXp5Ij48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFB QkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0icjQ3MDYx dyIgZGF0YS1tZXRhbD0idyIgYWx0PSJBZWdlYW4gd2F2ZSBiYW5kIHJpbmcgaW4gMThrIHdoaXRl IGdvbGQiIGxvYWRpbmc9ImxhenkiPjwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYg cHJldiIgYXJpYS1sYWJlbD0iUHJldmlvdXMgaW1hZ2UiPiYjODI0OTs8L2J1dHRvbj4KICAgICAg ICA8YnV0dG9uIGNsYXNzPSJnbmF2IG5leHQiIGFyaWEtbGFiZWw9Ik5leHQgaW1hZ2UiPiYjODI1 MDs8L2J1dHRvbj4KICAgICAgICA8ZGl2IGNsYXNzPSJnZG90cyI+PC9kaXY+CiAgICAgIDwvZGl2 PgogICAgICA8aDMgY2xhc3M9InBuYW1lIHJ2IGQxIj5BZWdlYW4gV2F2ZSBCYW5kIFJpbmc8L2gz PgogICAgICA8cCBjbGFzcz0icGRlc2MgcnYgZDIiPlRoZSBzaWduYXR1cmUgd2F2ZSwgbWFkZSB0 byBiZSB3b3JuIGRhaWx5LiBUd2luIHBhdiYjMjMzOyBjcmVzdHMgYnJlYWsgYXJvdW5kIGEgbGlu ZSBvZiBwZWFyIGRpYW1vbmRzIOKAlCBpbiB5ZWxsb3cgb3Igd2hpdGUgZ29sZC4gMS40MCYjODIx MTsxLjYwIGN0IHRvdGFsLjwvcD4KICAgICAgPGRpdiBjbGFzcz0icHJpY2UgcnYgZDIiPiQ4LDQw MCAmbmJzcDsmIzE4MzsmbmJzcDsgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2xldHRlci1z cGFjaW5nOi4xNGVtO2NvbG9yOiM3ZDhhOTE7Ij5SNDcwNjFZIC8gUjQ3MDYxVzwvc3Bhbj48L2Rp dj4KICAgICAgPGEgY2xhc3M9InNob3AgcnYgZDMiIGhyZWY9IiMiIGRhdGEtcGlkPSJ0aGFsYXNz YS1yIj5TaG9wIFRoaXMgUGllY2U8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhcmQi IGRhdGEtcHJvZD0iZHlvIj4KICAgICAgPGRpdiBjbGFzcz0iZnJhbWUgZ2FsIHJ2Ij4KICAgICAg ICA8ZGl2IGNsYXNzPSJndHJhY2siPjxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBs R09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1r PSJyNDczMTR5IiBhbHQ9IkFlZ2VhbiB0d28gc3RvbmUgcmluZyB3aXRoIHR3byByb3VuZCBkaWFt b25kcyBpbiAxOGsgeWVsbG93IGdvbGQiIGNsYXNzPSJvbiIgbG9hZGluZz0ibGF6eSI+PC9kaXY+ CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2IiBhcmlhLWxhYmVsPSJQcmV2aW91cyBp bWFnZSI+JiM4MjQ5OzwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgbmV4dCIg YXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+JiM4MjUwOzwvYnV0dG9uPgogICAgICAgIDxkaXYgY2xh c3M9Imdkb3RzIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxoMyBjbGFzcz0icG5hbWUgcnYg ZDEiPkFlZ2VhbiBUd28gU3RvbmUgUmluZzwvaDM+CiAgICAgIDxwIGNsYXNzPSJwZGVzYyBydiBk MiI+VHdvIGJyaWxsaWFudCBkaWFtb25kcyBwYXNzIGxpa2UgY3VycmVudHMgaW4gMThrIGdvbGQg 4oCUIHNob3duIHN0YWNrZWQgd2l0aCBpdHMgcGF2JiMyMzM7IGJhbmQuIDEuMDMgY3Qgc29saXRh aXJlcyAmIzE4MzsgMC40MiBjdCBwYXYmIzIzMzsuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJwcmlj ZSBydiBkMiI+JDgsMTIwICZuYnNwOyYjMTgzOyZuYnNwOyA8c3BhbiBzdHlsZT0iZm9udC1zaXpl OjEzcHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07Y29sb3I6IzdkOGE5MTsiPlI0NzMxNFk8L3NwYW4+ PC9kaXY+CiAgICAgIDxhIGNsYXNzPSJzaG9wIHJ2IGQzIiBocmVmPSIjIiBkYXRhLXBpZD0iZHlv Ij5TaG9wIFRoaXMgUGllY2U8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhcmQiIGRh dGEtcHJvZD0ibWF0aSI+CiAgICAgIDxkaXYgY2xhc3M9ImZyYW1lIGdhbCBydiI+CiAgICAgICAg PGRpdiBjbGFzcz0iZ3RyYWNrIj48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdP RGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0i bWF0aSIgYWx0PSJBZWdlYW4gZXZpbCBleWUgcGVuZGFudCBuZWNrbGFjZSB3aXRoIHNhcHBoaXJl IGV5ZSBhbmQgZGlhbW9uZCBsYXNoZXMgaW4gMThrIHllbGxvdyBnb2xkIiBjbGFzcz0ib24iIGxv YWRpbmc9ImxhenkiPjwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgcHJldiIgYXJp YS1sYWJlbD0iUHJldmlvdXMgaW1hZ2UiPiYjODI0OTs8L2J1dHRvbj4KICAgICAgICA8YnV0dG9u IGNsYXNzPSJnbmF2IG5leHQiIGFyaWEtbGFiZWw9Ik5leHQgaW1hZ2UiPiYjODI1MDs8L2J1dHRv bj4KICAgICAgICA8ZGl2IGNsYXNzPSJnZG90cyI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8 aDMgY2xhc3M9InBuYW1lIHJ2IGQxIj5BZWdlYW4gRXZpbCBFeWUgUGVuZGFudDwvaDM+CiAgICAg IDxwIGNsYXNzPSJwZGVzYyBydiBkMiI+VGhlIEFlZ2VhbiYjODIxNztzIG9sZGVzdCB0YWxpc21h biDigJQgYSBzYXBwaGlyZSBleWUgcmluZ2VkIGluIGRpYW1vbmRzLCBsYXNoZXMgb2YgZ29sZCBh bmQgYmV6ZWwtc2V0IGJyaWxsaWFudHMuIDAuNjggY3QgdG90YWwuPC9wPgogICAgICA8ZGl2IGNs YXNzPSJwcmljZSBydiBkMiI+JDIsOTAwPC9kaXY+CiAgICAgIDxhIGNsYXNzPSJzaG9wIHJ2IGQz IiBocmVmPSIjIiBkYXRhLXBpZD0ibWF0aSI+U2hvcCBUaGlzIFBpZWNlPC9hPgogICAgPC9kaXY+ CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJzZWFiYW5kIiBpZD0iY3JhZnQi PgogIDxkaXYgY2xhc3M9ImlubmVyIj4KICAgIDxkaXYgY2xhc3M9ImtpY2tlciBydiI+Q3JhZnRz bWFuc2hpcDwvZGl2PgogICAgPGJsb2NrcXVvdGUgY2xhc3M9InJ2IGQxIj4iV2UgZG8gbm90IGlt aXRhdGUgdGhlIHNlYS4gV2UgYXNrIHRoZSBnb2xkIHRvIHJlbWVtYmVyIGl0LiI8L2Jsb2NrcXVv dGU+CiAgICA8ZGl2IGNsYXNzPSJhdHRyIHJ2IGQyIj5NYXJpYSBSZXNzICYjMTgzOyBGb3VuZGVy LCBLYXN0ZWw8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJjcmFmdC1jb2xzIj4KICAgIDxk aXYgY2xhc3M9InJ2Ij4KICAgICAgPHN2ZyBjbGFzcz0iZ2x5cGgiIHZpZXdCb3g9IjAgMCA0NCA0 NCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik00IDIyIEMgMTIgMTIsIDE4IDMyLCAyNiAy MiBTIDM4IDEyLCA0MCAyMiIvPjxwYXRoIGQ9Ik00IDMwIEMgMTIgMjAsIDE4IDQwLCAyNiAzMCBT IDM4IDIwLCA0MCAzMCIvPjwvc3ZnPgogICAgICA8aDM+U0NVTFBURUQgRk9STTwvaDM+CiAgICAg IDxwPkV2ZXJ5IHNpbGhvdWV0dGUgYmVnaW5zIGFzIGEgaGFuZC1jYXJ2ZWQgd2F4LCByZWZpbmVk IHVudGlsIHRoZSBjdXJ2ZSBob2xkcyB0aGUgZXhhY3QgdGVuc2lvbiBvZiBhIGJyZWFraW5nIHdh dmUuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJydiBkMSI+CiAgICAgIDxzdmcgY2xh c3M9ImdseXBoIiB2aWV3Qm94PSIwIDAgNDQgNDQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xl IGN4PSIyMiIgY3k9IjIyIiByPSI5Ii8+PHBhdGggZD0iTTIyIDQgTDIyIDEwIE0yMiAzNCBMMjIg NDAgTTQgMjIgTDEwIDIyIE0zNCAyMiBMNDAgMjIiLz48L3N2Zz4KICAgICAgPGgzPlNDQVRURVJF RCBMSUdIVDwvaDM+CiAgICAgIDxwPkRpYW1vbmRzIGFyZSBzZXQgZnJlZSBvZiByaWdpZCByb3dz IOKAlCBwbGFjZWQgb25lIGJ5IG9uZSwgdGhlIHdheSBzdW5saWdodCBsYW5kcyBvbiBtb3Zpbmcg d2F0ZXIuIE5vIHR3byBwaWVjZXMgc2NhdHRlciBhbGlrZS48L3A+CiAgICA8L2Rpdj4KICAgIDxk aXYgY2xhc3M9InJ2IGQyIj4KICAgICAgPHN2ZyBjbGFzcz0iZ2x5cGgiIHZpZXdCb3g9IjAgMCA0 NCA0NCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0yMiA1IEwzNiAxNSBMMzYgMzMgTDIy IDQxIEw4IDMzIEw4IDE1IFoiLz48cGF0aCBkPSJNMjIgNSBMMjIgMjMgTDM2IDMzIE0yMiAyMyBM OCAzMyIvPjwvc3ZnPgogICAgICA8aDM+MTgtS0FSQVQgUFJPTUlTRTwvaDM+CiAgICAgIDxwPlJl c3BvbnNpYmx5IHNvdXJjZWQgZ29sZCBhbmQgR0lBLWdyYWRlZCBkaWFtb25kcywgZmluaXNoZWQg YW5kIGhhbGxtYXJrZWQgaW4gdGhlIEthc3RlbCBhdGVsaWVyLiBHdWFyYW50ZWVkIGZvciBsaWZl LjwvcD4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8c2VjdGlvbiBjbGFzcz0iY3Rh IiBpZD0idmlzaXQiPgogIDxkaXYgY2xhc3M9ImtpY2tlciBydiI+UHJpdmF0ZSBBcHBvaW50bWVu dHM8L2Rpdj4KICA8aDIgY2xhc3M9InJ2IGQxIj5FeHBlcmllbmNlIHRoZSBBZWdlYW48L2gyPgog IDxwIGNsYXNzPSJydiBkMiI+TWVldCB0aGUgY29sbGVjdGlvbiBpbiBwZXJzb24uIE91ciBzcGVj aWFsaXN0cyB3aWxsIGd1aWRlIHlvdSB0aHJvdWdoIGVhY2ggcGllY2Ug4oCUIGFuZCwgc2hvdWxk IHlvdSB3aXNoLCBiZWdpbiBhIGNvbW1pc3Npb24gZW50aXJlbHkgeW91ciBvd24uPC9wPgogIDxk aXYgY2xhc3M9Imhlcm8tY3RhIHJ2IGQzIj4KICAgIDxhIGNsYXNzPSJidG4gZGFyayIgaHJlZj0i IyIgZGF0YS1ib29rPSIxIj5Cb29rIGFuIEFwcG9pbnRtZW50PC9hPgogICAgPGEgY2xhc3M9ImJ0 biBkYXJrIiBocmVmPSJtYWlsdG86bXJlc3NAa2FzdGVsamV3ZWxyeS5jb20iIHN0eWxlPSJib3Jk ZXItY29sb3I6dHJhbnNwYXJlbnQiPkNvbnRhY3QgdGhlIEF0ZWxpZXIgJiM4NTk0OzwvYT4KICA8 L2Rpdj4KPC9zZWN0aW9uPgoKPGZvb3RlciBjbGFzcz0ia3gtZm9vdCI+PGRpdiBjbGFzcz0ia3gt Zm9vdC1pbiI+PGEgY2xhc3M9Imt4LWZvb3Qtd20iIGhyZWY9Ii8iIHRhcmdldD0iX3RvcCI+TWFp c29uIDxzcGFuPkthc3RlbDwvc3Bhbj48L2E+PHAgY2xhc3M9Imt4LWZvb3QtdGFnIj5GaW5lIGpl d2VscnkgY29uY2VpdmVkIGJ5IGEgZ2Vtb2xvZ2lzdCBhbmQgbWFkZSB0byBiZSB3b3JuIGZvciBn ZW5lcmF0aW9ucy48L3A+PGRpdiBjbGFzcz0ia3gtZm9vdC1saW5rcyI+PGEgaHJlZj0iL21haGpv bmctY29sbGVjdGlvbi8iIHRhcmdldD0iX3RvcCI+VGhlIE1haGpvbmcgQ29sbGVjdGlvbjwvYT48 YSBocmVmPSIvZW5jaGFudGVkLWNvbGxlY3Rpb24vIiB0YXJnZXQ9Il90b3AiPlRoZSBFbmNoYW50 ZWQgQ29sbGVjdGlvbjwvYT48YSBocmVmPSIvZXNzZW50aWFscy1jb2xsZWN0aW9uLyIgdGFyZ2V0 PSJfdG9wIj5Fc3NlbnRpYWxzIENvbGxlY3Rpb248L2E+PGEgaHJlZj0iL3Rhcm90LWNvbGxlY3Rp b24vIiB0YXJnZXQ9Il90b3AiPlRhcm90IENvbGxlY3Rpb248L2E+PGEgaHJlZj0iL3JvZGVvLXN1 bW1pdC1jb2xsZWN0aW9uLyIgdGFyZ2V0PSJfdG9wIj5Sb2RlbyAmYW1wOyBTdW1taXQ8L2E+PGEg aHJlZj0iL2FlZ2Vhbi1jb2xsZWN0aW9uLyIgdGFyZ2V0PSJfdG9wIj5BZWdlYW4gQ29sbGVjdGlv bjwvYT48YSBocmVmPSIvZ2FyZGVuLXBhcnR5LyIgdGFyZ2V0PSJfdG9wIj5HYXJkZW4gUGFydHk8 L2E+PGEgaHJlZj0iL3NlYWJvcm5lLWNvbGxlY3Rpb24vIiB0YXJnZXQ9Il90b3AiPlNlYWJvcm5l IENvbGxlY3Rpb248L2E+PGEgaHJlZj0iL291ci1zdG9yeS8iIHRhcmdldD0iX3RvcCI+T3VyIFN0 b3J5PC9hPjxhIGhyZWY9Ii9jb250YWN0LyIgdGFyZ2V0PSJfdG9wIj5Db250YWN0PC9hPjxhIGhy ZWY9Ii9zaGlwcGluZy1yZXR1cm5zLyIgdGFyZ2V0PSJfdG9wIj5TaGlwcGluZyAmYW1wOyBSZXR1 cm5zPC9hPjxhIGhyZWY9IiMiIGNsYXNzPSJreC1hcHB0Ij5BcHBvaW50bWVudHM8L2E+PGEgaHJl Zj0iaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9rYXN0ZWxqZXdlbHJ5LyIgdGFyZ2V0PSJfYmxh bmsiIHJlbD0ibm9vcGVuZXIiPkluc3RhZ3JhbTwvYT48L2Rpdj48ZGl2IGNsYXNzPSJreC1mb290 LWNvbnRhY3QiPjxhIGhyZWY9Im1haWx0bzptcmVzc0BrYXN0ZWxqZXdlbHJ5LmNvbSI+bXJlc3NA a2FzdGVsamV3ZWxyeS5jb208L2E+PC9kaXY+PHAgY2xhc3M9Imt4LWZvb3QtZmluZSI+JmNvcHk7 IDIwMjYgTWFpc29uIEthc3RlbCAmbWlkZG90OyBXaWxtZXR0ZSwgSUwgJm1pZGRvdDsgQWxsIHJp Z2h0cyByZXNlcnZlZDwvcD48L2Rpdj48L2Zvb3Rlcj4KCjxkaXYgY2xhc3M9Imttb2RhbCIgaWQ9 Imttb2RhbCIgcm9sZT0iZGlhbG9nIiBhcmlhLW1vZGFsPSJ0cnVlIj4KICA8ZGl2IGNsYXNzPSJr YmFjayIgaWQ9ImtiYWNrIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJrcGFuZWwiPgogICAgPGJ1dHRv biBjbGFzcz0ia2Nsb3NlIiBpZD0ia2Nsb3NlIiBhcmlhLWxhYmVsPSJDbG9zZSI+JiMyMTU7PC9i dXR0b24+CiAgICA8ZGl2IGlkPSJrcGFuZWwtYm9keSI+PC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBj bGFzcz0ia3RvYXN0IiBpZD0ia3RvYXN0Ij5BZGRlZCB0byB5b3VyIGNhcnQ8L2Rpdj4KPC9kaXY+ CjxzY3JpcHQ+Ci8vIGhlaWdodCByZXBvcnRlciBmaXJzdDogbXVzdCBzdXJ2aXZlIGFueSBsYXRl ciBlcnJvcgpmdW5jdGlvbiBrYXN0ZWxQb3N0KCl7cGFyZW50LnBvc3RNZXNzYWdlKHtrYXN0ZWxB ZWdlYW5IOmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHR9LCcqJyk7fQp3aW5k b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsa2FzdGVsUG9zdCk7CndpbmRvdy5hZGRFdmVudExp c3RlbmVyKCdyZXNpemUnLGthc3RlbFBvc3QpOwpzZXRJbnRlcnZhbChrYXN0ZWxQb3N0LDEwMDAp OwovLyByZXZlYWxzCmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5ydjpub3QoLmluKScpLmZv ckVhY2goZnVuY3Rpb24oZWwpe2VsLmNsYXNzTGlzdC5hZGQoJ2luJyl9KTsKLy8gaW1hZ2UgZ2Fs bGVyaWVzCmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5nYWwnKS5mb3JFYWNoKGZ1bmN0aW9u KGcpe2luaXRHYWwoZyl9KTsKZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmdhbCcpLmZvckVh Y2goZnVuY3Rpb24oZyl7aWYoZy5xdWVyeVNlbGVjdG9yKCdpbWdbZGF0YS1tZXRhbF0nKSlzZXRN ZXRhbChnLCd3Jyl9KTsKCnZhciBLUFJPRFVDVFM9ewogImJhbmdsZSI6eyJuYW1lIjoiQWVnZWFu IEJhbmdsZSIsInByaWNlIjoyMTgwMCwicmVmIjoiQjEwMDY0VyAvIEIxMDA2NFdZIiwibWV0YWwi OiIxOGsgV2hpdGUgb3IgWWVsbG93IEdvbGQiLCJjdCI6IjMuMDcgY3QgXHUwMGI3IE11bHRpLVNo YXBlIFNjYXR0ZXJlZCIsImRlc2MiOiIxOGsgZ29sZCB0aGF0IHJpc2VzIGFuZCBmYWxscyBsaWtl IHRoZSB3YXRlci4gSGluZ2VkIGNsb3N1cmUgd2l0aCBoaWRkZW4gY2xhc3AuIn0sCiAiYmFuZ2xl LXciOnsibmFtZSI6IkFlZ2VhbiBCYW5nbGUsIFdoaXRlIEdvbGQiLCJwcmljZSI6MjE4MDAsInJl ZiI6IkIxMDA2NFciLCJtZXRhbCI6IjE4ayBXaGl0ZSBHb2xkIiwiY3QiOiIzLjA3IGN0IFx1MDBi NyBNdWx0aS1TaGFwZSBTY2F0dGVyZWQiLCJkZXNjIjoiMThrIGdvbGQgdGhhdCByaXNlcyBhbmQg ZmFsbHMgbGlrZSB0aGUgd2F0ZXIuIEhpbmdlZCBjbG9zdXJlIHdpdGggaGlkZGVuIGNsYXNwLiJ9 LAogImJhbmdsZS15Ijp7Im5hbWUiOiJBZWdlYW4gQmFuZ2xlLCBZZWxsb3cgR29sZCIsInByaWNl IjoyMTgwMCwicmVmIjoiQjEwMDY0V1kiLCJtZXRhbCI6IjE4ayBZZWxsb3cgR29sZCIsImN0Ijoi My4wNyBjdCBcdTAwYjcgTXVsdGktU2hhcGUgU2NhdHRlcmVkIiwiZGVzYyI6IjE4ayBnb2xkIHRo YXQgcmlzZXMgYW5kIGZhbGxzIGxpa2UgdGhlIHdhdGVyLiBIaW5nZWQgY2xvc3VyZSB3aXRoIGhp ZGRlbiBjbGFzcC4ifSwKICJreW1hIjp7Im5hbWUiOiJBZWdlYW4gRGlhbW9uZCBIb29wIiwicHJp Y2UiOjg3MjAsInJlZiI6IkUxMDQ1MFkiLCJtZXRhbCI6IjE4ayBZZWxsb3cgR29sZCIsImN0Ijoi Mi4wOCBjdCBcdTAwYjcgUm91bmQgQnJpbGxpYW50IiwiZGVzYyI6IkEgY3VycmVudCBvZiBwYXZc dTAwZTkgZGlhbW9uZHMgd3JhcHMgdGhyb3VnaCBwb2xpc2hlZCBnb2xkIFx1MjAxNCB0d28gdGlk ZXMgcGFzc2luZyBpbiBhIHNpbmdsZSwgZmx1aWQgZ2VzdHVyZS4gVGhyZWUgcm93cyBvZiBtaWNy by1zZXQgYnJpbGxpYW50cyBmb2xsb3cgdGhlIHR3aXN0IG9mIHRoZSBob29wLiBTZWN1cmUgaGlu Z2VkIGh1Z2dpZSBjbG9zdXJlLCBlbmdyYXZlZCBLQVNURUwgaW5zaWRlLiJ9LAogIm5lcmVpZCI6 eyJuYW1lIjoiQWVnZWFuIFBlYmJsZSBEaWFtb25kIEVhcnJpbmdzIiwicHJpY2UiOjEyMDgwLCJy ZWYiOiJFOTc4NFkiLCJtZXRhbCI6IjE4ayBZZWxsb3cgR29sZCIsImN0IjoiMS42MCBjdCBcdTAw YjcgUm91bmQgQnJpbGxpYW50IiwiZGVzYyI6Ik9wZW4gbG9vcHMgb2YgZ29sZCBjdXJsIGxpa2Ug c2VhIGZvYW0sIHRyYWlsZWQgYnkgYSBkcmlmdCBvZiBwcm9uZy1zZXQgYnJpbGxpYW50IGRpYW1v bmRzIHRoYXQgYXBwZWFyIHRvIGZsb2F0IGZyZWUgb2YgdGhlIG1ldGFsLiBMaWdodCBwYXNzZXMg dGhyb3VnaCB0aGUgb3BlbiBzaWxob3VldHRlIHdpdGggZXZlcnkgdHVybiBvZiB0aGUgaGVhZC4g UG9zdCBiYWNrcyB3aXRoIGxhcmdlIGZyaWN0aW9uIGNsdXRjaGVzLiJ9LAogImRlbG9zLWUiOnsi bmFtZSI6IkFlZ2VhbiBEaWFtb25kIERvbWUgRWFycmluZ3MiLCJwcmljZSI6MTIzOTUsInJlZiI6 IkUxMDM1NUwiLCJtZXRhbCI6IjE4ayBZZWxsb3cgR29sZCIsImN0IjoiMi4yOCBjdCBcdTAwYjcg Um91bmQgQnJpbGxpYW50IiwiZGVzYyI6IlRlYXJkcm9wcyBvZiBvcGVud29yayBnb2xkLCBiYW5k ZWQgaW4gYWx0ZXJuYXRpbmcgcG9saXNoZWQgY2hldnJvbnMgYW5kIGNoYW5uZWxzIG9mIHBhdlx1 MDBlOS4gVGhlIHBpZXJjZWQgc3RydWN0dXJlIGtlZXBzIHRoZW0gZmVhdGhlcmxpZ2h0IGF0IGZ1 bGwgcHJlc2VuY2UuIE9tZWdhLWNsaXAgYmFja3MgZm9yIGFsbC1kYXkgY29tZm9ydC4ifSwKICJj eWNsYWRlcy1lIjp7Im5hbWUiOiJBZWdlYW4gVGV4dHVyZWQgRGlhbW9uZCBFYXJyaW5ncyIsInBy aWNlIjoxMjA4MCwicmVmIjoiRTQ2OTY2TCIsIm1ldGFsIjoiMThrIFllbGxvdyBHb2xkIiwiY3Qi OiIyLjQwIGN0IFx1MDBiNyBNaXhlZCBDdXRzIiwiZGVzYyI6IlRoZSByaW5nJ3MgcmlwcGxlZCBj b21wYW5pb24gXHUyMDE0IGZsdXRlZCBnb2xkIGNhcnJ5aW5nIGEgc3ByYXkgb2YgbWFycXVpc2Us IHBlYXIgYW5kIGJyaWxsaWFudCBkaWFtb25kcyBhY3Jvc3MgaXRzIHdhdmVzIGxpa2Ugc2VhIHNw cmF5IGNhdWdodCBtaWQtYWlyLiBFYWNoIHdpcmUgaXMgZHJhd24gYW5kIHNoYXBlZCBieSBoYW5k IGJlZm9yZSBzZXR0aW5nLiJ9LAogImRlbG9zLXIiOnsibmFtZSI6IkFlZ2VhbiBEb21lIFJpbmci LCJwcmljZSI6NzU0MCwicmVmIjoiUjEwMzU1WSIsIm1ldGFsIjoiMThrIFllbGxvdyBHb2xkIiwi Y3QiOiIxLjE0IGN0IFx1MDBiNyBSb3VuZCBCcmlsbGlhbnQiLCJkZXNjIjoiQSBkb21lIG9mIG9w ZW4gZ29sZCByaWJzLCBldmVyeSBzZWNvbmQgb25lIHNldCB3aXRoIGEgZmluZSBsaW5lIG9mIHBh dlx1MDBlOSBcdTIwMTQgYXJjaGl0ZWN0dXJlIGF0IHRoZSBzY2FsZSBvZiBhIGZpbmdlcnRpcC4g VGhlIG9wZW53b3JrIGtlZXBzIGl0IGxpZ2h0OyB0aGUgZG9tZSBrZWVwcyBpdCBjb21tYW5kaW5n LiJ9LAogImN5Y2xhZGVzLXIiOnsibmFtZSI6IkFlZ2VhbiBUZXh0dXJlZCBEaWFtb25kIFJpbmci LCJwcmljZSI6NTcyMCwicmVmIjoiUjQ2OTY2TCIsIm1ldGFsIjoiMThrIFllbGxvdyBHb2xkIiwi Y3QiOiIwLjkxIGN0IFx1MDBiNyBNaXhlZCBDdXRzIiwiZGVzYyI6IkZsdXRlZCBnb2xkLCByaXBw bGVkIGxpa2Ugd2luZCBvdmVyIHdhdGVyLCBjYXJyaWVzIGEgZHJpZnQgb2YgbWFycXVpc2UsIHBl YXIgYW5kIGJyaWxsaWFudCBkaWFtb25kcy4gTm8gdHdvIHN0b25lcyBzaXQgYXQgdGhlIHNhbWUg YW5nbGUgXHUyMDE0IHNldCBvbmUgYnkgb25lLCB0aGUgd2F5IGxpZ2h0IGxhbmRzIG9uIG1vdmlu ZyB3YXRlci4ifSwKICJuYWlhZCI6eyJuYW1lIjoiQWVnZWFuIEFzeW1tZXRyaWNhbCBXYXZlIFJp bmciLCJwcmljZSI6NzY4MCwicmVmIjoiUjQ3MDI3WSIsIm1ldGFsIjoiMThrIFllbGxvdyBHb2xk IiwiY3QiOiIxLjkzIGN0IFx1MDBiNyBNYXJxdWlzZSwgUGVhciAmIEJyaWxsaWFudCIsImRlc2Mi OiJBIHNtb290aCBzd2VsbCBvZiBwb2xpc2hlZCBnb2xkLCBjcm9zc2VkIGJ5IGEgZ2FybGFuZCBv ZiBtYXJxdWlzZSBhbmQgcGVhciBkaWFtb25kcyBcdTIwMTQgcXVpZXQgd2F0ZXIsIHRoZW4gbGln aHQuIFRoZSBoaWdoLXBvbGlzaCBkb21lIGlzIGZpbmlzaGVkIGJ5IGhhbmQgdG8gYSBtaXJyb3Ig c3VyZmFjZS4ifSwKICJ0aGFsYXNzYS1yIjp7Im5hbWUiOiJBZWdlYW4gV2F2ZSBCYW5kIFJpbmci LCJwcmljZSI6ODQwMCwicmVmIjoiUjQ3MDYxWSAvIFI0NzA2MVciLCJtZXRhbCI6IjE4ayBZZWxs b3cgb3IgV2hpdGUgR29sZCIsImN0IjoiMS40MFx1MjAxMzEuNjAgY3QgXHUwMGI3IFBlYXIgU29s aXRhaXJlcyAmIFBhdlx1MDBlOSIsImRlc2MiOiJUaGUgc2lnbmF0dXJlIHdhdmUsIG1hZGUgdG8g YmUgd29ybiBkYWlseS4gVHdpbiBwYXZcdTAwZTkgY3Jlc3RzIGJyZWFrIGFyb3VuZCBhIGxpbmUg b2YgcGVhciBkaWFtb25kIHNvbGl0YWlyZXMuIENob29zZSB5ZWxsb3cgb3Igd2hpdGUgZ29sZCBc dTIwMTQgYm90aCBzaG93biBpbiB0aGUgZ2FsbGVyeS4ifSwKICJkeW8iOnsibmFtZSI6IkFlZ2Vh biBUd28gU3RvbmUgUmluZyIsInByaWNlIjo4MTIwLCJyZWYiOiJSNDczMTRZIiwibWV0YWwiOiIx OGsgWWVsbG93ICYgV2hpdGUgR29sZCIsImN0IjoiMS4wMyBjdCBTb2xpdGFpcmVzIFx1MDBiNyAw LjQyIGN0IFBhdlx1MDBlOSIsImRlc2MiOiJUd28gYnJpbGxpYW50IGRpYW1vbmRzIHBhc3MgbGlr ZSBjdXJyZW50cyBhcm91bmQgYSByaWJib24gb2YgZ29sZC4gU2hvd24gc3RhY2tlZCB3aXRoIGl0 cyB3aGl0ZS1nb2xkIHBhdlx1MDBlOSBiYW5kLCBzb2xkIHNlcGFyYXRlbHkgb3IgYXMgYSBzZXQu In0sCiAibWF0aSI6eyJuYW1lIjoiQWVnZWFuIEV2aWwgRXllIFBlbmRhbnQiLCJwcmljZSI6Mjkw MCwicmVmIjoiIiwibWV0YWwiOiIxOGsgWWVsbG93IEdvbGQgJiBTYXBwaGlyZSIsImN0IjoiMC42 OCBjdCBcdTAwYjcgQnJpbGxpYW50ICsgTWFycXVpc2UgU2FwcGhpcmUiLCJkZXNjIjoiVGhlIEFl Z2VhbidzIG9sZGVzdCB0YWxpc21hbiBcdTIwMTQgYSBtYXJxdWlzZSBzYXBwaGlyZSBleWUgcmlu Z2VkIGluIGRpYW1vbmRzLCB3aXRoIGxhc2hlcyBvZiBnb2xkIGFuZCBiZXplbC1zZXQgYnJpbGxp YW50cyBiZW5lYXRoLiBXb3JuIGZvciBwcm90ZWN0aW9uIHNpbmNlIGFudGlxdWl0eTsgbWFkZSB0 byBiZSB3b3JuIGV2ZXJ5IGRheS4gNDUgY20gYWRqdXN0YWJsZSBjaGFpbi4ifSwKICJrYWx5cHNv Ijp7Im5hbWUiOiJBZWdlYW4gV2F2ZSBOZWNrbGFjZSIsInByaWNlIjo1ODAwMCwicmVmIjoiTjU0 MC0xNiIsIm1ldGFsIjoiMThrIFllbGxvdyBHb2xkIiwiY3QiOiI2LjAwIGN0IFx1MDBiNyBQYXZc dTAwZTkgKyBNYXJxdWlzZSIsImRlc2MiOiJUd28gcGF2XHUwMGU5IHdhdmVzIGNyb3NzIGF0IHRo ZSB0aHJvYXQgYWJvdmUgYSByaWJiZWQgZ29sZCBjb2xsYXIsIG1lZXRpbmcgYXQgYSBzaW5nbGUg YXJ0aWN1bGF0ZWQgbWFycXVpc2UgZGlhbW9uZCB0aGF0IG1vdmVzIGFzIHlvdSBkby4gU2l4IGNh cmF0cyBvZiBkaWFtb25kcyBcdTIwMTQgYSBzdGF0ZW1lbnQgbWFkZSBmb3IgYmFyZSBzaG91bGRl cnMgYW5kIGNhbmRsZWxpZ2h0LiJ9LAp9Owp2YXIgS0NBUlQ9W107CnZhciBBRU1FVEFMPXsnYmFu Z2xlJzp7dzonQjEwMDY0VycseTonQjEwMDY0V1knfSwndGhhbGFzc2Etcic6e3c6J1I0NzA2MVcn LHk6J1I0NzA2MVknfX07CmZ1bmN0aW9uIGFlU2t1KGUpe3ZhciBhPVN0cmluZyhlKS5zcGxpdCgn fCcpLHBpZD1hWzBdLG09YVsxXSxtbT1BRU1FVEFMW3BpZF07aWYobW0pcmV0dXJuIG1tW218fCd3 J118fG1tLnc7aWYocGlkPT09J21hdGknKXJldHVybiAnS1NUTC1BRS1NQVRJJztyZXR1cm4gS1BS T0RVQ1RTW3BpZF0/S1BST0RVQ1RTW3BpZF0ucmVmOicnO30KZnVuY3Rpb24gYWVBbGwocGlkKXt2 YXIgbW09QUVNRVRBTFtwaWRdO3JldHVybiBtbT9bbW0udyxtbS55XTpbYWVTa3UocGlkKV07fQpm dW5jdGlvbiBhZUFsbFNvbGQocGlkKXtyZXR1cm4gYWVBbGwocGlkKS5ldmVyeShmdW5jdGlvbih4 KXtyZXR1cm4gS1cuaXNTb2xkKHgpO30pO30KZnVuY3Rpb24gYWVNZXRhbExhYmVsKGUpe3ZhciBh PVN0cmluZyhlKS5zcGxpdCgnfCcpO3JldHVybiAoQUVNRVRBTFthWzBdXSYmYVsxXSk/KGFbMV09 PT0ndyc/JyBcdTAwYjcgV2hpdGUgR29sZCc6JyBcdTAwYjcgWWVsbG93IEdvbGQnKTonJzt9CmZ1 bmN0aW9uIG1vbmV5KG4pe3JldHVybiAnJCcrbi50b0xvY2FsZVN0cmluZygnZW4tVVMnKTt9CmZ1 bmN0aW9uIHZpc2libGVJbWdzKGcpe3JldHVybiBbXS5maWx0ZXIuY2FsbChnLnF1ZXJ5U2VsZWN0 b3JBbGwoJy5ndHJhY2sgaW1nJyksZnVuY3Rpb24oaW0pe3JldHVybiAhaW0uY2xhc3NMaXN0LmNv bnRhaW5zKCdtaGlkZScpfSk7fQpmdW5jdGlvbiBzZXRNZXRhbChnLG0pewogIFtdLmZvckVhY2gu Y2FsbChnLnF1ZXJ5U2VsZWN0b3JBbGwoJy5ndHJhY2sgaW1nJyksZnVuY3Rpb24oaW0pewogICAg dmFyIG1tPWltLmdldEF0dHJpYnV0ZSgnZGF0YS1tZXRhbCcpOwogICAgaWYobW0paW0uY2xhc3NM aXN0LnRvZ2dsZSgnbWhpZGUnLG1tIT09bSk7CiAgfSk7CiAgaW5pdEdhbChnKTsKfQpmdW5jdGlv biBpbml0R2FsKGcpewogIHZhciBpbWdzPXZpc2libGVJbWdzKGcpOwogIFtdLmZvckVhY2guY2Fs bChnLnF1ZXJ5U2VsZWN0b3JBbGwoJy5ndHJhY2sgaW1nJyksZnVuY3Rpb24oaW0pe2ltLmNsYXNz TGlzdC5yZW1vdmUoJ29uJyl9KTsKICBpZihpbWdzLmxlbmd0aClpbWdzWzBdLmNsYXNzTGlzdC5h ZGQoJ29uJyk7CiAgaWYoaW1ncy5sZW5ndGg8Mil7Zy5jbGFzc0xpc3QuYWRkKCdzaW5nbGUnKTty ZXR1cm47fQogIGcuY2xhc3NMaXN0LnJlbW92ZSgnc2luZ2xlJyk7CiAgdmFyIGRvdHM9Zy5xdWVy eVNlbGVjdG9yKCcuZ2RvdHMnKSxpPTA7CiAgZG90cy5pbm5lckhUTUw9Jyc7CiAgaW1ncy5mb3JF YWNoKGZ1bmN0aW9uKF8sbil7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7 Yi5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCdJbWFnZSAnKyhuKzEpKTtpZihuPT09MCliLmNs YXNzTGlzdC5hZGQoJ29uJyk7Yi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXtn byhuKX0pO2RvdHMuYXBwZW5kQ2hpbGQoYik7fSk7CiAgZnVuY3Rpb24gZ28obil7aT0obitpbWdz Lmxlbmd0aCklaW1ncy5sZW5ndGg7aW1ncy5mb3JFYWNoKGZ1bmN0aW9uKGltLGspe2ltLmNsYXNz TGlzdC50b2dnbGUoJ29uJyxrPT09aSl9KTtkb3RzLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbicp LmZvckVhY2goZnVuY3Rpb24oYixrKXtiLmNsYXNzTGlzdC50b2dnbGUoJ29uJyxrPT09aSl9KTt9 CiAgZy5xdWVyeVNlbGVjdG9yKCcuZ25hdi5wcmV2Jykub25jbGljaz1mdW5jdGlvbigpe2dvKGkt MSl9OwogIGcucXVlcnlTZWxlY3RvcignLmduYXYubmV4dCcpLm9uY2xpY2s9ZnVuY3Rpb24oKXtn byhpKzEpfTsKfQp2YXIga21vZGFsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrbW9kYWwnKSxr Ym9keT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna3BhbmVsLWJvZHknKTsKZnVuY3Rpb24ga09w ZW4oaHRtbCl7CiAga2JvZHkuaW5uZXJIVE1MPWh0bWw7CiAga21vZGFsLmNsYXNzTGlzdC5hZGQo J29wZW4nKTsKICBwYXJlbnQucG9zdE1lc3NhZ2Uoe2thc3RlbE1vZGFsT3Blbjp0cnVlfSwnKicp OwogIHZhciBnPWtib2R5LnF1ZXJ5U2VsZWN0b3IoJy5nYWwnKTtpZihnKWluaXRHYWwoZyk7Cn0K ZnVuY3Rpb24ga0Nsb3NlKCl7a21vZGFsLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTtwYXJlbnQu cG9zdE1lc3NhZ2Uoe2thc3RlbE1vZGFsT3BlbjpmYWxzZX0sJyonKTt9CmlmKGRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKCdrY2xvc2UnKSlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna2Nsb3NlJyku YWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGtDbG9zZSk7CmlmKGRvY3VtZW50LmdldEVsZW1lbnRC eUlkKCdrYmFjaycpKWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrYmFjaycpLmFkZEV2ZW50TGlz dGVuZXIoJ2NsaWNrJyxrQ2xvc2UpOwpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3du JyxmdW5jdGlvbihlKXtpZihlLmtleT09PSdFc2NhcGUnKWtDbG9zZSgpO30pOwp3aW5kb3cuYWRk RXZlbnRMaXN0ZW5lcignbWVzc2FnZScsZnVuY3Rpb24oZSl7CiAgaWYoZS5kYXRhJiZ0eXBlb2Yg ZS5kYXRhLmthc3RlbE1vZGFsVG9wPT09J251bWJlcicpewogICAga21vZGFsLnN0eWxlLnRvcD1N YXRoLm1heCgwLGUuZGF0YS5rYXN0ZWxNb2RhbFRvcCkrJ3B4JzsKICAgIGttb2RhbC5zdHlsZS5o ZWlnaHQ9ZS5kYXRhLmthc3RlbE1vZGFsSCsncHgnOwogIH0KfSk7CmZ1bmN0aW9uIHByb2R1Y3RI VE1MKHBpZCl7CiAgdmFyIFA9S1BST0RVQ1RTW3BpZF07CiAgdmFyIHNyYz1kb2N1bWVudC5xdWVy eVNlbGVjdG9yKCdbZGF0YS1wcm9kPSInK3BpZCsnIl0gLmd0cmFjaycpOwogIHZhciBpbWdzPXNy Yz9zcmMuaW5uZXJIVE1MOicnOwogIHZhciBoYXNNZXRhbD1zcmMmJnNyYy5xdWVyeVNlbGVjdG9y KCdpbWdbZGF0YS1tZXRhbF0nKTsKICB2YXIgY3VyPSd3JzsKICBpZihoYXNNZXRhbCl7dmFyIHdp bWc9c3JjLnF1ZXJ5U2VsZWN0b3IoJ2ltZ1tkYXRhLW1ldGFsPVx1MDAyMndcdTAwMjJdJyk7aWYo d2ltZyYmd2ltZy5jbGFzc0xpc3QuY29udGFpbnMoJ21oaWRlJykpY3VyPSd5Jzt9CiAgdmFyIHJl Zj1QLnJlZj8nPGRpdj48c3Bhbj5SZWZlcmVuY2U8L3NwYW4+PHNwYW4+JytQLnJlZisnPC9zcGFu PjwvZGl2Pic6Jyc7CiAgcmV0dXJuICc8ZGl2IGNsYXNzPSJrZ3JpZCI+JwogICArJzxkaXYgY2xh c3M9ImZyYW1lIGdhbCI+PGRpdiBjbGFzcz0iZ3RyYWNrIj4nK2ltZ3MrJzwvZGl2PicKICAgKyc8 YnV0dG9uIGNsYXNzPSJnbmF2IHByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIGltYWdlIj4mIzgy NDk7PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iZ25hdiBuZXh0IiBhcmlhLWxhYmVsPSJOZXh0IGlt YWdlIj4mIzgyNTA7PC9idXR0b24+PGRpdiBjbGFzcz0iZ2RvdHMiPjwvZGl2PjwvZGl2PicKICAg Kyc8ZGl2IGNsYXNzPSJraW5mbyI+JwogICArJzxkaXYgY2xhc3M9ImtpY2tlciI+VGhlIEFlZ2Vh biBDb2xsZWN0aW9uPC9kaXY+JwogICArJzxkaXYgY2xhc3M9ImtuYW1lIj4nK1AubmFtZSsnPC9k aXY+JwogICArJzxkaXYgY2xhc3M9ImtwcmljZSI+Jyttb25leShQLnByaWNlKSsnPC9kaXY+Jwog ICArJzxkaXYgY2xhc3M9ImtkZXNjIj4nK1AuZGVzYysnPC9kaXY+JwogICArJzxkaXYgY2xhc3M9 ImttZXRhIj48ZGl2PjxzcGFuPk1ldGFsPC9zcGFuPjxzcGFuPicrUC5tZXRhbCsnPC9zcGFuPjwv ZGl2PjxkaXY+PHNwYW4+RGlhbW9uZHM8L3NwYW4+PHNwYW4+JytQLmN0Kyc8L3NwYW4+PC9kaXY+ JytyZWYrJzwvZGl2PicKICAgKyhoYXNNZXRhbD8nPGRpdiBjbGFzcz0ia21ldGFsIj48YnV0dG9u IGNsYXNzPSJrbWV0YWxidG4nKyhjdXI9PT0ndyc/JyBvbic6JycpKyciIGRhdGEtbWV0YWwtY2hv aWNlPSJ3Ij5XaGl0ZSBHb2xkPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ia21ldGFsYnRuJysoY3Vy PT09J3knPycgb24nOicnKSsnIiBkYXRhLW1ldGFsLWNob2ljZT0ieSI+WWVsbG93IEdvbGQ8L2J1 dHRvbj48L2Rpdj4nOicnKQogICArKGFlQWxsU29sZChwaWQpPyc8YnV0dG9uIGNsYXNzPSJrYWRk IiBkaXNhYmxlZCBzdHlsZT0ib3BhY2l0eTouNTU7Y3Vyc29yOmRlZmF1bHQiPkFjcXVpcmVkPC9i dXR0b24+JzonPGJ1dHRvbiBjbGFzcz0ia2FkZCIgZGF0YS1hZGQ9IicrcGlkKyciPkFkZCB0byBD YXJ0ICZuYnNwO1x1MDBiNyZuYnNwOyAnK21vbmV5KFAucHJpY2UpKyc8L2J1dHRvbj4nKQogICAr JzxkaXYgY2xhc3M9Imtub3RlcyI+Q29tcGxpbWVudGFyeSBpbnN1cmVkIHNoaXBwaW5nIFx1MDBi NyBTaWduYXR1cmUgS2FzdGVsIHBhY2thZ2luZyBcdTAwYjcgS2FzdGVsIGxpZmV0aW1lIGNhcmU8 L2Rpdj4nCiAgICsnPC9kaXY+PC9kaXY+JzsKfQpmdW5jdGlvbiBzaXRlT3JpZ2luKCl7dHJ5e3Jl dHVybiBwYXJlbnQubG9jYXRpb24ub3JpZ2luO31jYXRjaChlKXtyZXR1cm4gd2luZG93LmxvY2F0 aW9uLm9yaWdpbjt9fQpmdW5jdGlvbiBib29raW5nSFRNTCgpewogIHZhciBkPW5ldyBEYXRlKCk7 dmFyIGlzbz1kLmdldEZ1bGxZZWFyKCkrJy0nK1N0cmluZyhkLmdldE1vbnRoKCkrMSkucGFkU3Rh cnQoMiwnMCcpKyctJytTdHJpbmcoZC5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsJzAnKTsKICB2YXIg cGllY2VzPU9iamVjdC5rZXlzKEtQUk9EVUNUUykubWFwKGZ1bmN0aW9uKGspe3JldHVybiAnPG9w dGlvbiB2YWx1ZT0iJytLUFJPRFVDVFNba10ubmFtZSsnIj4nK0tQUk9EVUNUU1trXS5uYW1lKyc8 L29wdGlvbj4nfSkuam9pbignJyk7CiAgdmFyIHRpbWVzPVsnMTA6MDAgQU0nLCcxMTozMCBBTScs JzE6MDAgUE0nLCcyOjMwIFBNJywnNDowMCBQTScsJzU6MzAgUE0nXS5tYXAoZnVuY3Rpb24odCl7 cmV0dXJuICc8b3B0aW9uIHZhbHVlPSInK3QrJyI+Jyt0Kyc8L29wdGlvbj4nfSkuam9pbignJyk7 CiAgcmV0dXJuICc8ZGl2IGNsYXNzPSJrYm9vay1ncmlkIj4nCiAgICsnPGRpdiBjbGFzcz0ia2Jv b2stc2lkZSI+JwogICArJzxkaXYgY2xhc3M9ImtpY2tlciI+UHJpdmF0ZSBBcHBvaW50bWVudHM8 L2Rpdj4nCiAgICsnPGgzPkFuIGhvdXIgd2l0aCB0aGUgQWVnZWFuLCBkZXZvdGVkIGVudGlyZWx5 IHRvIHlvdTwvaDM+JwogICArJzxwPk1lZXQgdGhlIGNvbGxlY3Rpb24gcGllY2UgYnkgcGllY2Ug d2l0aCBhIEthc3RlbCBzcGVjaWFsaXN0IFx1MjAxNCB0cnkgZXZlcnl0aGluZyBvbiwgZXhwbG9y ZSBzaXppbmcgYW5kIG1ldGFscywgYW5kIHRha2UgYWxsIHRoZSB0aW1lIHlvdSBuZWVkLjwvcD4n CiAgICsnPHVsPjxsaT5Db21wbGltZW50YXJ5LCBubyBvYmxpZ2F0aW9uPC9saT48bGk+SW4gcGVy c29uIG9yIHZpcnR1YWw8L2xpPjxsaT5DaGFtcGFnbmUgb24gYXJyaXZhbDwvbGk+PC91bD4nCiAg ICsnPGRpdiBjbGFzcz0ia2FkZHIiPlRoZSBLYXN0ZWwgQXRlbGllciBcdTAwYjcgSGlnaGxhbmQg UGFyaywgSWxsaW5vaXM8L2Rpdj4nCiAgICsnPC9kaXY+JwogICArJzxkaXYgY2xhc3M9ImtpbmZv Ij4nCiAgICsnPGRpdiBjbGFzcz0ia25hbWUiIHN0eWxlPSJmb250LXNpemU6MjZweDsiPkJvb2sg YW4gQXBwb2ludG1lbnQ8L2Rpdj4nCiAgICsnPGRpdiBjbGFzcz0ia2Zvcm0iPicKICAgKyc8ZGl2 IGNsYXNzPSJrcm93Ij48ZGl2PjxsYWJlbCBmb3I9ImtiLW5hbWUiPk5hbWU8L2xhYmVsPjxpbnB1 dCBpZD0ia2ItbmFtZSIgdHlwZT0idGV4dCIgYXV0b2NvbXBsZXRlPSJuYW1lIj48L2Rpdj4nCiAg ICsnPGRpdj48bGFiZWwgZm9yPSJrYi1lbWFpbCI+RW1haWw8L2xhYmVsPjxpbnB1dCBpZD0ia2It ZW1haWwiIHR5cGU9ImVtYWlsIiBhdXRvY29tcGxldGU9ImVtYWlsIj48L2Rpdj48L2Rpdj4nCiAg ICsnPGRpdiBjbGFzcz0ia3JvdyI+PGRpdj48bGFiZWwgZm9yPSJrYi1waG9uZSI+UGhvbmUgKG9w dGlvbmFsKTwvbGFiZWw+PGlucHV0IGlkPSJrYi1waG9uZSIgdHlwZT0idGVsIiBhdXRvY29tcGxl dGU9InRlbCI+PC9kaXY+JwogICArJzxkaXY+PGxhYmVsIGZvcj0ia2ItdHlwZSI+QXBwb2ludG1l bnQgdHlwZTwvbGFiZWw+PHNlbGVjdCBpZD0ia2ItdHlwZSI+PG9wdGlvbiB2YWx1ZT0iSW4gcGVy c29uIGF0IHRoZSBhdGVsaWVyIj5JbiBwZXJzb24gYXQgdGhlIGF0ZWxpZXI8L29wdGlvbj48b3B0 aW9uIHZhbHVlPSJWaXJ0dWFsIGFwcG9pbnRtZW50Ij5WaXJ0dWFsIGFwcG9pbnRtZW50PC9vcHRp b24+PC9zZWxlY3Q+PC9kaXY+PC9kaXY+JwogICArJzxkaXY+PGxhYmVsIGZvcj0ia2ItcGllY2Ui PlBpZWNlIG9mIGludGVyZXN0PC9sYWJlbD48c2VsZWN0IGlkPSJrYi1waWVjZSI+PG9wdGlvbiB2 YWx1ZT0iVGhlIGZ1bGwgY29sbGVjdGlvbiI+VGhlIGZ1bGwgY29sbGVjdGlvbjwvb3B0aW9uPicr cGllY2VzKyc8L3NlbGVjdD48L2Rpdj4nCiAgICsnPGRpdiBjbGFzcz0ia3JvdyI+PGRpdj48bGFi ZWwgZm9yPSJrYi1kYXRlIj5QcmVmZXJyZWQgZGF0ZTwvbGFiZWw+PGlucHV0IGlkPSJrYi1kYXRl IiB0eXBlPSJkYXRlIiBtaW49IicraXNvKyciPjwvZGl2PicKICAgKyc8ZGl2PjxsYWJlbCBmb3I9 ImtiLXRpbWUiPlByZWZlcnJlZCB0aW1lPC9sYWJlbD48c2VsZWN0IGlkPSJrYi10aW1lIj4nK3Rp bWVzKyc8L3NlbGVjdD48L2Rpdj48L2Rpdj4nCiAgICsnPGRpdj48bGFiZWwgZm9yPSJrYi1tc2ci PkFueXRoaW5nIHdlIHNob3VsZCBrbm93PyAob3B0aW9uYWwpPC9sYWJlbD48dGV4dGFyZWEgaWQ9 ImtiLW1zZyI+PC90ZXh0YXJlYT48L2Rpdj4nCiAgICsnPGRpdiBjbGFzcz0ia2hwIj48bGFiZWwg Zm9yPSJrYi1jb21wYW55Ij5Db21wYW55PC9sYWJlbD48aW5wdXQgaWQ9ImtiLWNvbXBhbnkiIHR5 cGU9InRleHQiIHRhYmluZGV4PSItMSIgYXV0b2NvbXBsZXRlPSJvZmYiPjwvZGl2PicKICAgKyc8 ZGl2IGNsYXNzPSJrZXJyIiBpZD0ia2ItZXJyIj5QbGVhc2UgYWRkIHlvdXIgbmFtZSwgYSB2YWxp ZCBlbWFpbCBhZGRyZXNzLCBhbmQgYSBwcmVmZXJyZWQgZGF0ZS48L2Rpdj4nCiAgICsnPGJ1dHRv biBjbGFzcz0ia2FkZCIgaWQ9Imtib29rLXNlbmQiPlJlcXVlc3QgQXBwb2ludG1lbnQ8L2J1dHRv bj4nCiAgICsnPC9kaXY+JwogICArJzxkaXYgY2xhc3M9Imtub3RlcyI+QSBzcGVjaWFsaXN0IGNv bmZpcm1zIHdpdGhpbiBvbmUgYnVzaW5lc3MgZGF5IFx1MDBiNyBQcmVmZXIgZW1haWw/IG1yZXNz QGthc3RlbGpld2VscnkuY29tPC9kaXY+JwogICArJzwvZGl2PjwvZGl2Pic7Cn0KZnVuY3Rpb24g Ym9va2luZ1NlbmQoYnRuKXsKICB2YXIgdj1mdW5jdGlvbihpZCl7dmFyIGVsPWRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKGlkKTtyZXR1cm4gZWw/ZWwudmFsdWU6Jyc7fTsKICB2YXIgbmFtZT12KCdr Yi1uYW1lJyksZW1haWw9digna2ItZW1haWwnKSxwaG9uZT12KCdrYi1waG9uZScpLHR5cGU9dign a2ItdHlwZScpLAogICAgICBwaWVjZT12KCdrYi1waWVjZScpLGRhdGU9digna2ItZGF0ZScpLHRp bWU9digna2ItdGltZScpLG1zZz12KCdrYi1tc2cnKSxocD12KCdrYi1jb21wYW55Jyk7CiAgdmFy IGVycj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna2ItZXJyJyk7CiAgaWYoIW5hbWUudHJpbSgp fHwhL15bXlxzQF0rQFteXHNAXStcLlteXHNAXSskLy50ZXN0KGVtYWlsKXx8IWRhdGUpe2lmKGVy cillcnIuc3R5bGUuZGlzcGxheT0nYmxvY2snO3JldHVybjt9CiAgaWYoZXJyKWVyci5zdHlsZS5k aXNwbGF5PSdub25lJzsKICBidG4uZGlzYWJsZWQ9dHJ1ZTtidG4udGV4dENvbnRlbnQ9J1NlbmRp bmdcdTIwMjYnOwogIHZhciBmZD1uZXcgRm9ybURhdGEoKTsKICBmZC5hcHBlbmQoJ2FjdGlvbics J2thc3RlbF92aWV3aW5nJyk7CiAgZmQuYXBwZW5kKCduYW1lJyxuYW1lKTtmZC5hcHBlbmQoJ2Vt YWlsJyxlbWFpbCk7ZmQuYXBwZW5kKCdwaG9uZScscGhvbmUpOwogIGZkLmFwcGVuZCgndHlwZScs dHlwZSk7ZmQuYXBwZW5kKCdwaWVjZScscGllY2UpOwogIGZkLmFwcGVuZCgnZGF0ZScsZGF0ZSk7 ZmQuYXBwZW5kKCd0aW1lJyx0aW1lKTtmZC5hcHBlbmQoJ21lc3NhZ2UnLG1zZyk7ZmQuYXBwZW5k KCdjb21wYW55JyxocCk7CiAgZmV0Y2goc2l0ZU9yaWdpbigpKycvd3AtYWRtaW4vYWRtaW4tYWph eC5waHAnLHttZXRob2Q6J1BPU1QnLGJvZHk6ZmR9KQogICAgLnRoZW4oZnVuY3Rpb24ocil7aWYo IXIub2spdGhyb3cgbmV3IEVycm9yKCdodHRwICcrci5zdGF0dXMpO3JldHVybiByLmpzb24oKTt9 KQogICAgLnRoZW4oZnVuY3Rpb24oail7CiAgICAgIGlmKGomJmouc3VjY2Vzcz09PWZhbHNlKXRo cm93IG5ldyBFcnJvcignc2VydmVyJyk7CiAgICAgIGtib2R5LmlubmVySFRNTD0nPGRpdiBjbGFz cz0ia2luZm8iIHN0eWxlPSJwYWRkaW5nOjYwcHggNDRweDt0ZXh0LWFsaWduOmNlbnRlcjsiPjxk aXYgY2xhc3M9ImtpY2tlciI+VGhhbmsgeW91PC9kaXY+PGRpdiBjbGFzcz0ia25hbWUiPllvdXIg cmVxdWVzdCBoYXMgYmVlbiByZWNlaXZlZDwvZGl2PjxkaXYgY2xhc3M9ImtkZXNjIiBzdHlsZT0i bWFyZ2luLXRvcDoxNnB4OyI+QSBLYXN0ZWwgc3BlY2lhbGlzdCB3aWxsIGJlIGluIHRvdWNoIHdp dGhpbiBvbmUgYnVzaW5lc3MgZGF5IHRvIGNvbmZpcm0geW91ciBwcml2YXRlIHZpZXdpbmcgb24g JytkYXRlKycgYXQgJyt0aW1lKycuPC9kaXY+PC9kaXY+JzsKICAgIH0pCiAgICAuY2F0Y2goZnVu Y3Rpb24oZSl7CiAgICAgIGNvbnNvbGUuZXJyb3IoJ0tBU1RFTCBib29raW5nOicsZSk7CiAgICAg IHZhciBtYWlsPSdtYWlsdG86bXJlc3NAa2FzdGVsamV3ZWxyeS5jb20/c3ViamVjdD0nK2VuY29k ZVVSSUNvbXBvbmVudCgnUHJpdmF0ZSBWaWV3aW5nIFJlcXVlc3QgXHUyMDE0ICcrbmFtZSkKICAg ICAgICArJyZib2R5PScrZW5jb2RlVVJJQ29tcG9uZW50KCdOYW1lOiAnK25hbWUrJ1xuRW1haWw6 ICcrZW1haWwrJ1xuUGhvbmU6ICcrcGhvbmUrJ1xuVHlwZTogJyt0eXBlKydcblBpZWNlIG9mIGlu dGVyZXN0OiAnK3BpZWNlKydcblByZWZlcnJlZDogJytkYXRlKycgYXQgJyt0aW1lKydcblxuJytt c2cpOwogICAgICBrYm9keS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImtpbmZvIiBzdHlsZT0icGFk ZGluZzo2MHB4IDQ0cHg7dGV4dC1hbGlnbjpjZW50ZXI7Ij48ZGl2IGNsYXNzPSJraWNrZXIiPkFs bW9zdCB0aGVyZTwvZGl2PjxkaXYgY2xhc3M9ImtuYW1lIj5PbmUgbW9yZSBzdGVwPC9kaXY+PGRp diBjbGFzcz0ia2Rlc2MiIHN0eWxlPSJtYXJnaW4tdG9wOjE2cHg7Ij5XZSBjb3VsZG5cdTIwMTl0 IHNlbmQgeW91ciByZXF1ZXN0IGF1dG9tYXRpY2FsbHkuIFRhcCBiZWxvdyBhbmQgeW91ciBlbWFp bCBhcHAgd2lsbCBvcGVuIHdpdGggZXZlcnl0aGluZyBwcmUtZmlsbGVkIFx1MjAxNCBqdXN0IHBy ZXNzIHNlbmQuPC9kaXY+PGEgY2xhc3M9ImJ0biBkYXJrIiBzdHlsZT0ibWFyZ2luLXRvcDoxMHB4 O2Rpc3BsYXk6aW5saW5lLWJsb2NrOyIgaHJlZj0iJyttYWlsKyciPkVtYWlsIFlvdXIgUmVxdWVz dDwvYT48L2Rpdj4nOwogICAgfSk7Cn0KZnVuY3Rpb24gYm9va2luZ1NlbmQoYnRuKXsKICB2YXIg bmFtZT0oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2tiLW5hbWUnKXx8e30pLnZhbHVlfHwnJzsK ICB2YXIgZW1haWw9KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrYi1lbWFpbCcpfHx7fSkudmFs dWV8fCcnOwogIHZhciBwaG9uZT0oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2tiLXBob25lJyl8 fHt9KS52YWx1ZXx8Jyc7CiAgdmFyIGRhdGU9KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrYi1k YXRlJyl8fHt9KS52YWx1ZXx8Jyc7CiAgdmFyIG1zZz0oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo J2tiLW1zZycpfHx7fSkudmFsdWV8fCcnOwogIHZhciBocD0oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoJ2tiLWNvbXBhbnknKXx8e30pLnZhbHVlfHwnJzsKICB2YXIgZXJyPWRvY3VtZW50LmdldEVs ZW1lbnRCeUlkKCdrYi1lcnInKTsKICBpZighbmFtZS50cmltKCl8fCEvXlteXHNAXStAW15cc0Bd K1wuW15cc0BdKyQvLnRlc3QoZW1haWwpKXtpZihlcnIpZXJyLnN0eWxlLmRpc3BsYXk9J2Jsb2Nr JztyZXR1cm47fQogIGlmKGVycillcnIuc3R5bGUuZGlzcGxheT0nbm9uZSc7CiAgYnRuLmRpc2Fi bGVkPXRydWU7YnRuLnRleHRDb250ZW50PSdTZW5kaW5nXHUyMDI2JzsKICB2YXIgZmQ9bmV3IEZv cm1EYXRhKCk7CiAgZmQuYXBwZW5kKCdhY3Rpb24nLCdrYXN0ZWxfdmlld2luZycpOwogIGZkLmFw cGVuZCgnbmFtZScsbmFtZSk7ZmQuYXBwZW5kKCdlbWFpbCcsZW1haWwpO2ZkLmFwcGVuZCgncGhv bmUnLHBob25lKTsKICBmZC5hcHBlbmQoJ2RhdGUnLGRhdGUpO2ZkLmFwcGVuZCgnbWVzc2FnZScs bXNnKTtmZC5hcHBlbmQoJ2NvbXBhbnknLGhwKTsKICBmZXRjaChzaXRlT3JpZ2luKCkrJy93cC1h ZG1pbi9hZG1pbi1hamF4LnBocCcse21ldGhvZDonUE9TVCcsYm9keTpmZH0pCiAgICAudGhlbihm dW5jdGlvbihyKXtpZighci5vayl0aHJvdyBuZXcgRXJyb3IoJ2h0dHAgJytyLnN0YXR1cyk7cmV0 dXJuIHIuanNvbigpO30pCiAgICAudGhlbihmdW5jdGlvbihqKXsKICAgICAgaWYoaiYmai5zdWNj ZXNzPT09ZmFsc2UpdGhyb3cgbmV3IEVycm9yKCdzZXJ2ZXInKTsKICAgICAga2JvZHkuaW5uZXJI VE1MPSc8ZGl2IGNsYXNzPSJraW5mbyIgc3R5bGU9InBhZGRpbmc6NjBweCA0NHB4O3RleHQtYWxp Z246Y2VudGVyOyI+PGRpdiBjbGFzcz0ia2lja2VyIj5UaGFuayB5b3U8L2Rpdj48ZGl2IGNsYXNz PSJrbmFtZSI+WW91ciByZXF1ZXN0IGhhcyBiZWVuIHJlY2VpdmVkPC9kaXY+PGRpdiBjbGFzcz0i a2Rlc2MiIHN0eWxlPSJtYXJnaW4tdG9wOjE2cHg7Ij5BIEthc3RlbCBzcGVjaWFsaXN0IHdpbGwg YmUgaW4gdG91Y2ggd2l0aGluIG9uZSBidXNpbmVzcyBkYXkgdG8gY29uZmlybSB5b3VyIHByaXZh dGUgdmlld2luZy48L2Rpdj48L2Rpdj4nOwogICAgfSkKICAgIC5jYXRjaChmdW5jdGlvbihlKXsK ICAgICAgY29uc29sZS5lcnJvcignS0FTVEVMIGJvb2tpbmc6JyxlKTsKICAgICAgdmFyIG1haWw9 J21haWx0bzptcmVzc0BrYXN0ZWxqZXdlbHJ5LmNvbT9zdWJqZWN0PScrZW5jb2RlVVJJQ29tcG9u ZW50KCdQcml2YXRlIFZpZXdpbmcgUmVxdWVzdCBcdTIwMTQgJytuYW1lKQogICAgICAgICsnJmJv ZHk9JytlbmNvZGVVUklDb21wb25lbnQoJ05hbWU6ICcrbmFtZSsnXG5FbWFpbDogJytlbWFpbCsn XG5QaG9uZTogJytwaG9uZSsnXG5QcmVmZXJyZWQgZGF0ZTogJytkYXRlKydcblxuJyttc2cpOwog ICAgICBrYm9keS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImtpbmZvIiBzdHlsZT0icGFkZGluZzo2 MHB4IDQ0cHg7dGV4dC1hbGlnbjpjZW50ZXI7Ij48ZGl2IGNsYXNzPSJraWNrZXIiPkFsbW9zdCB0 aGVyZTwvZGl2PjxkaXYgY2xhc3M9ImtuYW1lIj5PbmUgbW9yZSBzdGVwPC9kaXY+PGRpdiBjbGFz cz0ia2Rlc2MiIHN0eWxlPSJtYXJnaW4tdG9wOjE2cHg7Ij5XZSBjb3VsZG5cdTIwMTl0IHNlbmQg eW91ciByZXF1ZXN0IGF1dG9tYXRpY2FsbHkuIFRhcCBiZWxvdyBhbmQgeW91ciBlbWFpbCBhcHAg d2lsbCBvcGVuIHdpdGggZXZlcnl0aGluZyBwcmUtZmlsbGVkIFx1MjAxNCBqdXN0IHByZXNzIHNl bmQuPC9kaXY+PGEgY2xhc3M9ImJ0biBkYXJrIiBzdHlsZT0ibWFyZ2luLXRvcDoxMHB4O2Rpc3Bs YXk6aW5saW5lLWJsb2NrOyIgaHJlZj0iJyttYWlsKyciPkVtYWlsIFlvdXIgUmVxdWVzdDwvYT48 L2Rpdj4nOwogICAgfSk7Cn0KZnVuY3Rpb24gY2FydEhUTUwoKXsKICB2YXIgQz1LVy5jYXJ0KCk7 CiAgaWYoIUMuaXRlbXMubGVuZ3RoKXtyZXR1cm4gJzxkaXYgY2xhc3M9ImtpbmZvIiBzdHlsZT0i cGFkZGluZzo2MHB4IDQ0cHg7dGV4dC1hbGlnbjpjZW50ZXI7Ij48ZGl2IGNsYXNzPSJrbmFtZSI+ WW91ciBjYXJ0IGlzIGVtcHR5PC9kaXY+PGRpdiBjbGFzcz0ia2Rlc2MiIHN0eWxlPSJtYXJnaW4t dG9wOjE0cHg7Ij5FdmVyeSBBZWdlYW4gcGllY2UgaXMgbWFkZSB0byBvcmRlciBpbiB0aGUgS2Fz dGVsIGF0ZWxpZXIuPC9kaXY+PC9kaXY+Jzt9CiAgdmFyIHJvd3M9Qy5pdGVtcy5tYXAoZnVuY3Rp b24oaXQpewogICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJrY2FydC1yb3ciPjxzcGFuIGNsYXNzPSJu Ij4nK2l0Lm5hbWUrJzxzcGFuIGNsYXNzPSJrd21ldGEiIHN0eWxlPSJkaXNwbGF5OmJsb2NrIj4n K0tXLml0ZW1NZXRhKGl0KSsnPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+JytLVy5pdGVt UHJpY2UoaXQpKyc8L3NwYW4+PGJ1dHRvbiBkYXRhLWt3cm09IicraXQua2V5KyciPlJlbW92ZTwv YnV0dG9uPjwvZGl2Pic7fSkuam9pbignJyk7CiAgcmV0dXJuICc8ZGl2IGNsYXNzPSJraW5mbyI+ PGRpdiBjbGFzcz0ia2lja2VyIj5Zb3VyIENhcnQ8L2Rpdj4nK3Jvd3MKICAgKyc8ZGl2IGNsYXNz PSJrdG90YWwiPjxzcGFuPlN1YnRvdGFsPC9zcGFuPjxzcGFuPicrS1cubW9uZXkoQy50b3RhbCkr Jzwvc3Bhbj48L2Rpdj4nCiAgICsnPGJ1dHRvbiBjbGFzcz0ia2FkZCIgZGF0YS1jaGVja291dD0i MSI+UHJvY2VlZCB0byBDaGVja291dDwvYnV0dG9uPicKICAgKyc8ZGl2IGNsYXNzPSJrbm90ZXMi PlRheGVzIGFuZCBhbnkgZHV0aWVzIGFyZSBjYWxjdWxhdGVkIGF0IGNoZWNrb3V0LjwvZGl2Pjwv ZGl2Pic7Cn0KZnVuY3Rpb24gdXBkYXRlQ291bnQoKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn a2NhcnQtbicpLnRleHRDb250ZW50PUtXLmNhcnQoKS5jb3VudDt9CktXLm9uQ2FydCh1cGRhdGVD b3VudCk7CnZhciB0b2FzdFQ9bnVsbDsKZnVuY3Rpb24gdG9hc3QobXNnKXt2YXIgdD1kb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgna3RvYXN0Jyk7dC50ZXh0Q29udGVudD1tc2c7dC5zdHlsZS5kaXNw bGF5PSdibG9jayc7dC5zdHlsZS50b3A9KHBhcnNlSW50KGttb2RhbC5zdHlsZS50b3B8fDApKzI0 KSsncHgnO2NsZWFyVGltZW91dCh0b2FzdFQpO3RvYXN0VD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7 dC5zdHlsZS5kaXNwbGF5PSdub25lJ30sMjIwMCk7fQpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVy KCdjbGljaycsZnVuY3Rpb24oZXYpewogIHZhciB0PWV2LnRhcmdldDsKICB2YXIgbWI9dC5jbG9z ZXN0P3QuY2xvc2VzdCgnW2RhdGEtbWV0YWwtY2hvaWNlXScpOm51bGw7CiAgaWYobWIpewogICAg ZXYucHJldmVudERlZmF1bHQoKTsKICAgIHZhciB3cmFwPW1iLmNsb3Nlc3QoJy5rZ3JpZCcpfHxt Yi5jbG9zZXN0KCcuZmVhdHVyZWQtZ3JpZCcpOwogICAgdmFyIGc9d3JhcD93cmFwLnF1ZXJ5U2Vs ZWN0b3IoJy5nYWwnKTpudWxsOwogICAgaWYoZylzZXRNZXRhbChnLG1iLmdldEF0dHJpYnV0ZSgn ZGF0YS1tZXRhbC1jaG9pY2UnKSk7CiAgICB2YXIgc2licz1tYi5wYXJlbnROb2RlLnF1ZXJ5U2Vs ZWN0b3JBbGwoJ1tkYXRhLW1ldGFsLWNob2ljZV0nKTsKICAgIFtdLmZvckVhY2guY2FsbChzaWJz LGZ1bmN0aW9uKGIpe2IuY2xhc3NMaXN0LnRvZ2dsZSgnb24nLGI9PT1tYil9KTsKICAgIHJldHVy bjsKICB9CiAgdmFyIGJrPXQuY2xvc2VzdD90LmNsb3Nlc3QoJ1tkYXRhLWJvb2tdJyk6bnVsbDsK ICBpZihiayl7ZXYucHJldmVudERlZmF1bHQoKTtrT3Blbihib29raW5nSFRNTCgpKTtyZXR1cm47 fQogIGlmKHQuaWQ9PT0na2Jvb2stc2VuZCcpe2V2LnByZXZlbnREZWZhdWx0KCk7Ym9va2luZ1Nl bmQodCk7cmV0dXJuO30KICB2YXIgcGlkRWw9dC5jbG9zZXN0P3QuY2xvc2VzdCgnW2RhdGEtcGlk XScpOm51bGw7CiAgaWYocGlkRWwpe2V2LnByZXZlbnREZWZhdWx0KCk7a09wZW4ocHJvZHVjdEhU TUwocGlkRWwuZ2V0QXR0cmlidXRlKCdkYXRhLXBpZCcpKSk7cmV0dXJuO30KICBpZih0LmlkPT09 J2tjYXJ0LW9wZW4nKXtldi5wcmV2ZW50RGVmYXVsdCgpO2tPcGVuKGNhcnRIVE1MKCkpO0tXLnJl ZnJlc2goKS50aGVuKGZ1bmN0aW9uKCl7aWYoa21vZGFsLmNsYXNzTGlzdC5jb250YWlucygnb3Bl bicpKXtpZihrYm9keS5xdWVyeVNlbGVjdG9yKCdbZGF0YS1jaGVja291dF0sW2RhdGEta3dybV0n KXx8a2JvZHkudGV4dENvbnRlbnQuaW5kZXhPZignWW91ciBjYXJ0IGlzIGVtcHR5Jyk+PTApa2Jv ZHkuaW5uZXJIVE1MPWNhcnRIVE1MKCk7fX0pO3JldHVybjt9CiAgaWYodC5nZXRBdHRyaWJ1dGUm JnQuZ2V0QXR0cmlidXRlKCdkYXRhLWt3cm0nKSl7ZXYucHJldmVudERlZmF1bHQoKTtLVy5yZW1v dmUodC5nZXRBdHRyaWJ1dGUoJ2RhdGEta3dybScpLHQpLnRoZW4oZnVuY3Rpb24oKXtrYm9keS5p bm5lckhUTUw9Y2FydEhUTUwoKTt9KTtyZXR1cm47fQogIGlmKHQuZ2V0QXR0cmlidXRlJiZ0Lmdl dEF0dHJpYnV0ZSgnZGF0YS1hZGQnKSl7CiAgICB2YXIgX3c9dC5jbG9zZXN0KCcua2dyaWQnKXx8 dC5jbG9zZXN0KCcuZmVhdHVyZWQtZ3JpZCcpO3ZhciBfb249X3c/X3cucXVlcnlTZWxlY3Rvcign LmttZXRhbGJ0bi5vbicpOm51bGw7CiAgICB2YXIgX2U9dC5nZXRBdHRyaWJ1dGUoJ2RhdGEtYWRk JykrKF9vbj8nfCcrX29uLmdldEF0dHJpYnV0ZSgnZGF0YS1tZXRhbC1jaG9pY2UnKTonJyksX3M9 YWVTa3UoX2UpOwogICAgaWYoS1cuaXNTb2xkKF9zKSl7dG9hc3QoJ1RoaXMgcGllY2UgaGFzIGJl ZW4gYWNxdWlyZWQnKTtyZXR1cm47fQogICAgS1cuYWRkKF9zLHQsZnVuY3Rpb24oKXt0LmNsYXNz TGlzdC5hZGQoJ2FkZGVkJyk7dC5pbm5lckhUTUw9J0FkZGVkIHRvIENhcnQgXHUyNzEzJztzZXRU aW1lb3V0KGZ1bmN0aW9uKCl7a09wZW4oY2FydEhUTUwoKSk7fSw5MDApO30sCiAgICAgIGZ1bmN0 aW9uKCl7dmFyIFAwPUtQUk9EVUNUU1tfZS5zcGxpdCgnfCcpWzBdXTtLVy5lbnF1aXJlKFAwLm5h bWUrYWVNZXRhbExhYmVsKF9lKSxfcyk7fSk7CiAgICByZXR1cm47CiAgfQogIGlmKHQuZ2V0QXR0 cmlidXRlJiZ0Lmhhc0F0dHJpYnV0ZSgnZGF0YS1ybScpKXsKICAgIEtDQVJULnNwbGljZShwYXJz ZUludCh0LmdldEF0dHJpYnV0ZSgnZGF0YS1ybScpLDEwKSwxKTt1cGRhdGVDb3VudCgpO2tPcGVu KGNhcnRIVE1MKCkpO3JldHVybjsKICB9CiAgdmFyIGZyPXQuY2xvc2VzdD90LmNsb3Nlc3QoJ1tk YXRhLXByb2RdIC5mcmFtZSwgW2RhdGEtcHJvZF0gLnBuYW1lJyk6bnVsbDsKICBpZihmciAmJiAh KHQuY2xvc2VzdCYmKHQuY2xvc2VzdCgnLmduYXYnKXx8dC5jbG9zZXN0KCcuZ2RvdHMnKXx8dC5j bG9zZXN0KCdhJyl8fHQuY2xvc2VzdCgnW2RhdGEtbWV0YWwtY2hvaWNlXScpKSkpewogICAgdmFy IGNhcmQ9ZnIuY2xvc2VzdCgnW2RhdGEtcHJvZF0nKTsKICAgIHZhciBwcD1jYXJkP2NhcmQuZ2V0 QXR0cmlidXRlKCdkYXRhLXByb2QnKTpudWxsOwogICAgaWYocHAmJktQUk9EVUNUU1twcF0pe2V2 LnByZXZlbnREZWZhdWx0KCk7a09wZW4ocHJvZHVjdEhUTUwocHApKTtyZXR1cm47fQogIH0KICBp Zih0LmdldEF0dHJpYnV0ZSYmdC5oYXNBdHRyaWJ1dGUoJ2RhdGEtY2hlY2tvdXQnKSl7CiAgICBL Vy5jaGVja291dCgpOwogICAgcmV0dXJuOwogIH0KfSx0cnVlKTsKLyogV29vQ29tbWVyY2U6IGxv b2sgdXAgZXZlcnkgcmVmZXJlbmNlLCBtYXJrIHNvbGQgcGllY2VzICovCihmdW5jdGlvbigpe3Zh ciBhbGw9W107T2JqZWN0LmtleXMoS1BST0RVQ1RTKS5mb3JFYWNoKGZ1bmN0aW9uKHBpZCl7YWxs PWFsbC5jb25jYXQoYWVBbGwocGlkKSk7fSk7S1cubG9hZChhbGwpOwpLVy5vblJlYWR5KGZ1bmN0 aW9uKCl7W10uZm9yRWFjaC5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXBy b2RdJyksZnVuY3Rpb24oYyl7dmFyIHBpZD1jLmdldEF0dHJpYnV0ZSgnZGF0YS1wcm9kJyk7CiAg aWYoS1BST0RVQ1RTW3BpZF0mJmFlQWxsU29sZChwaWQpKUtXLmJhZGdlKGMucXVlcnlTZWxlY3Rv cignLnBuYW1lJyl8fGMpO30pO30pO30pKCk7Ci8vIHNhZmUgbGluayBoYW5kbGluZyAocHJldmVu dHMgYWJvdXQ6YmxhbmsgbmF2aWdhdGlvbnMgZnJvbSBpbnNpZGUgc3JjZG9jKQpkb2N1bWVudC5h ZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oZXYpewogIHZhciBhPWV2LnRhcmdldC5j bG9zZXN0P2V2LnRhcmdldC5jbG9zZXN0KCdhJyk6bnVsbDsKICBpZighYSlyZXR1cm47CiAgdmFy IGhyZWY9YS5nZXRBdHRyaWJ1dGUoJ2hyZWYnKXx8Jyc7CiAgaWYoaHJlZj09PScnfHxocmVmPT09 JyMnKXtldi5wcmV2ZW50RGVmYXVsdCgpO3JldHVybjt9CiAgaWYoaHJlZi5jaGFyQXQoMCk9PT0n IycpewogICAgZXYucHJldmVudERlZmF1bHQoKTsKICAgIHZhciBlbD1kb2N1bWVudC5nZXRFbGVt ZW50QnlJZChocmVmLnNsaWNlKDEpKTsKICAgIGlmKGVsKXtwYXJlbnQucG9zdE1lc3NhZ2Uoe2th c3RlbFNjcm9sbDplbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3Ard2luZG93LnBhZ2VZT2Zm c2V0fSwnKicpO30KICAgIHJldHVybjsKICB9CiAgaWYoL15odHRwcz86L2kudGVzdChocmVmKSl7 ZXYucHJldmVudERlZmF1bHQoKTt0cnl7d2luZG93LnRvcC5sb2NhdGlvbi5ocmVmPWhyZWY7fWNh dGNoKGUpe3dpbmRvdy5vcGVuKGhyZWYsJ19ibGFuaycpO319Cn0sdHJ1ZSk7Cjwvc2NyaXB0Pgo8 ZGl2IGNsYXNzPSJreGItbWFzayIgcm9sZT0iZGlhbG9nIiBhcmlhLW1vZGFsPSJ0cnVlIiBhcmlh LWxhYmVsPSJCb29rIGFuIEFwcG9pbnRtZW50Ij48ZGl2IGNsYXNzPSJreGItc2hlbGwiPjxkaXYg Y2xhc3M9Imt4Yi1pbmZvIj48cCBjbGFzcz0ia3hiLWV5ZWJyb3ciPlByaXZhdGUgQXBwb2ludG1l bnRzPC9wPjxoMz5BbiBob3VyIHdpdGggPGVtPk1haXNvbiBLYXN0ZWw8L2VtPiwgZGV2b3RlZCBl bnRpcmVseSB0byB5b3U8L2gzPjxwPk1lZXQgdGhlIGNvbGxlY3Rpb25zIHdpdGggYSBLYXN0ZWwg c3BlY2lhbGlzdCAmbWRhc2g7IHRyeSBlYWNoIHBpZWNlIG9uLCBleHBsb3JlIHNpemluZyBhbmQg bWV0YWxzLCBhbmQgdGFrZSBhbGwgdGhlIHRpbWUgeW91IG5lZWQuPC9wPjxwIGNsYXNzPSJreGIt bGkiPjxpPjwvaT5Db21wbGltZW50YXJ5LCBubyBvYmxpZ2F0aW9uPC9wPjxwIGNsYXNzPSJreGIt bGkiPjxpPjwvaT5JbiBwZXJzb24gb3IgdmlydHVhbDwvcD48cCBjbGFzcz0ia3hiLWxpIj48aT48 L2k+Q2hhbXBhZ25lIG9uIGFycml2YWw8L3A+PC9kaXY+PGRpdiBjbGFzcz0ia3hiLXBhbmVsIj48 YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Imt4Yi14IiBhcmlhLWxhYmVsPSJDbG9zZSI+JiMx MDAwNTs8L2J1dHRvbj48ZGl2IGNsYXNzPSJreGItZm9ybSI+PGgzIGNsYXNzPSJreGItdGl0bGUi PkJvb2sgYW4gQXBwb2ludG1lbnQ8L2gzPjxkaXYgY2xhc3M9Imt4Yi1ncmlkIj48ZGl2IGNsYXNz PSJreGItZiI+PGxhYmVsPk5hbWU8L2xhYmVsPjxpbnB1dCBkYXRhLWs9Im5hbWUiIHR5cGU9InRl eHQiIGF1dG9jb21wbGV0ZT0ibmFtZSI+PC9kaXY+PGRpdiBjbGFzcz0ia3hiLWYiPjxsYWJlbD5F bWFpbDwvbGFiZWw+PGlucHV0IGRhdGEtaz0iZW1haWwiIHR5cGU9ImVtYWlsIiBhdXRvY29tcGxl dGU9ImVtYWlsIj48L2Rpdj48ZGl2IGNsYXNzPSJreGItZiI+PGxhYmVsPlBob25lIChvcHRpb25h bCk8L2xhYmVsPjxpbnB1dCBkYXRhLWs9InBob25lIiB0eXBlPSJ0ZWwiIGF1dG9jb21wbGV0ZT0i dGVsIj48L2Rpdj48ZGl2IGNsYXNzPSJreGItZiI+PGxhYmVsPkFwcG9pbnRtZW50IHR5cGU8L2xh YmVsPjxzZWxlY3QgZGF0YS1rPSJ0eXBlIj48b3B0aW9uPkluIHBlcnNvbiBhdCB0aGUgYXRlbGll cjwvb3B0aW9uPjxvcHRpb24+VmlydHVhbDwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjxkaXYgY2xh c3M9Imt4Yi1mIHciPjxsYWJlbD5Db2xsZWN0aW9uIG9mIGludGVyZXN0PC9sYWJlbD48c2VsZWN0 IGRhdGEtaz0icGllY2UiPjxvcHRpb24+Tm90IHN1cmUgeWV0PC9vcHRpb24+PG9wdGlvbj5UaGUg TWFoam9uZyBDb2xsZWN0aW9uPC9vcHRpb24+PG9wdGlvbj5UaGUgRW5jaGFudGVkIENvbGxlY3Rp b248L29wdGlvbj48b3B0aW9uPkVzc2VudGlhbHMgQ29sbGVjdGlvbjwvb3B0aW9uPjxvcHRpb24+ VGFyb3QgQ29sbGVjdGlvbjwvb3B0aW9uPjxvcHRpb24+Um9kZW8gJmFtcDsgU3VtbWl0PC9vcHRp b24+PG9wdGlvbiBzZWxlY3RlZD5BZWdlYW4gQ29sbGVjdGlvbjwvb3B0aW9uPjxvcHRpb24+R2Fy ZGVuIFBhcnR5PC9vcHRpb24+PG9wdGlvbj5TZWFib3JuZSBDb2xsZWN0aW9uPC9vcHRpb24+PG9w dGlvbj5BIGN1c3RvbSBwaWVjZTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjxkaXYgY2xhc3M9Imt4 Yi1mIj48bGFiZWw+UHJlZmVycmVkIGRhdGU8L2xhYmVsPjxpbnB1dCBkYXRhLWs9ImRhdGUiIHR5 cGU9ImRhdGUiPjwvZGl2PjxkaXYgY2xhc3M9Imt4Yi1mIj48bGFiZWw+UHJlZmVycmVkIHRpbWU8 L2xhYmVsPjxzZWxlY3QgZGF0YS1rPSJ0aW1lIj48b3B0aW9uPjEwOjAwIEFNPC9vcHRpb24+PG9w dGlvbj4xMTozMCBBTTwvb3B0aW9uPjxvcHRpb24+MTowMCBQTTwvb3B0aW9uPjxvcHRpb24+Mjoz MCBQTTwvb3B0aW9uPjxvcHRpb24+NDowMCBQTTwvb3B0aW9uPjxvcHRpb24+NTozMCBQTTwvb3B0 aW9uPjwvc2VsZWN0PjwvZGl2PjxkaXYgY2xhc3M9Imt4Yi1mIHciPjxsYWJlbD5Bbnl0aGluZyB3 ZSBzaG91bGQga25vdz8gKG9wdGlvbmFsKTwvbGFiZWw+PHRleHRhcmVhIGRhdGEtaz0ibWVzc2Fn ZSI+PC90ZXh0YXJlYT48L2Rpdj48ZGl2IGNsYXNzPSJreGItaHAiIGFyaWEtaGlkZGVuPSJ0cnVl Ij48bGFiZWw+Q29tcGFueTwvbGFiZWw+PGlucHV0IGRhdGEtaz0iY29tcGFueSIgdHlwZT0idGV4 dCIgdGFiaW5kZXg9Ii0xIiBhdXRvY29tcGxldGU9Im9mZiI+PC9kaXY+PHAgY2xhc3M9Imt4Yi1l cnIiPlBsZWFzZSBwcm92aWRlIHlvdXIgbmFtZSwgYSB2YWxpZCBlbWFpbCwgYW5kIGEgcHJlZmVy cmVkIGRhdGUuPC9wPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ia3hiLXNlbmQiPlJlcXVl c3QgQXBwb2ludG1lbnQ8L2J1dHRvbj48cCBjbGFzcz0ia3hiLWZpbmUiPkEgc3BlY2lhbGlzdCBj b25maXJtcyB3aXRoaW4gb25lIGJ1c2luZXNzIGRheSAmbWlkZG90OyBQcmVmZXIgZW1haWw/IDxh IGhyZWY9Im1haWx0bzptcmVzc0BrYXN0ZWxqZXdlbHJ5LmNvbSI+bXJlc3NAa2FzdGVsamV3ZWxy eS5jb208L2E+PC9wPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQ+KGZ1bmN0 aW9uKCl7CnZhciBQQUdFPSJBZWdlYW4gQ29sbGVjdGlvbiI7CnZhciBtYXNrPWRvY3VtZW50LnF1 ZXJ5U2VsZWN0b3IoJy5reGItbWFzaycpOwpmdW5jdGlvbiB0b2RheSgpe3ZhciBkPW5ldyBEYXRl KCk7cmV0dXJuIGQuZ2V0RnVsbFllYXIoKSsnLScrKCcwJysoZC5nZXRNb250aCgpKzEpKS5zbGlj ZSgtMikrJy0nKygnMCcrZC5nZXREYXRlKCkpLnNsaWNlKC0yKTt9CmRvY3VtZW50LnF1ZXJ5U2Vs ZWN0b3JBbGwoJy5reGItZm9ybScpLmZvckVhY2goZnVuY3Rpb24oZil7dmFyIGQ9Zi5xdWVyeVNl bGVjdG9yKCdbZGF0YS1rPWRhdGVdJyk7aWYoZClkLm1pbj10b2RheSgpO3ZhciBiPWYucXVlcnlT ZWxlY3RvcignLmt4Yi1zZW5kJyk7aWYoYiliLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5j dGlvbigpe3NlbmQoZik7fSk7fSk7CmZ1bmN0aW9uIHBsYWNlKCl7aWYoIW1hc2spcmV0dXJuO3Zh ciB0b3A9MCxoPXdpbmRvdy5pbm5lckhlaWdodDt0cnl7dmFyIGZlPXdpbmRvdy5mcmFtZUVsZW1l bnQ7aWYoZmUpe3ZhciByPWZlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHBoPXdpbmRvdy5wYXJl bnQuaW5uZXJIZWlnaHQsZGg9TWF0aC5jZWlsKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3Jv bGxIZWlnaHQpO3RvcD1NYXRoLm1heCgwLC1yLnRvcCk7aD1NYXRoLm1heCgzMDAsTWF0aC5taW4o cGgsZGgtdG9wKS1NYXRoLm1heCgwLHIudG9wKSk7fWVsc2V7dG9wPXdpbmRvdy5zY3JvbGxZfHww O319Y2F0Y2goZSl7dG9wPXdpbmRvdy5zY3JvbGxZfHwwO31tYXNrLnN0eWxlLnRvcD10b3ArJ3B4 JzttYXNrLnN0eWxlLmhlaWdodD1oKydweCc7fQpmdW5jdGlvbiBvcGVuKCl7aWYoIW1hc2spcmV0 dXJuO3BsYWNlKCk7bWFzay5jbGFzc0xpc3QuYWRkKCdvbicpO3RyeXt3aW5kb3cucGFyZW50LmFk ZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcscGxhY2UsdHJ1ZSk7fWNhdGNoKGUpe313aW5kb3cuYWRk RXZlbnRMaXN0ZW5lcignc2Nyb2xsJyxwbGFjZSk7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBu PW1hc2sucXVlcnlTZWxlY3RvcignW2RhdGEtaz1uYW1lXScpO2lmKG4pdHJ5e24uZm9jdXMoe3By ZXZlbnRTY3JvbGw6dHJ1ZX0pO31jYXRjaChlKXt9fSw2MCk7fQpmdW5jdGlvbiBjbG9zZSgpe2lm KCFtYXNrKXJldHVybjttYXNrLmNsYXNzTGlzdC5yZW1vdmUoJ29uJyk7dHJ5e3dpbmRvdy5wYXJl bnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJyxwbGFjZSx0cnVlKTt9Y2F0Y2goZSl7fXdp bmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLHBsYWNlKTt9CmlmKG1hc2spe21hc2su YWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0PT09bWFzaylj bG9zZSgpO30pO3ZhciB4PW1hc2sucXVlcnlTZWxlY3RvcignLmt4Yi14Jyk7aWYoeCl4LmFkZEV2 ZW50TGlzdGVuZXIoJ2NsaWNrJyxjbG9zZSk7fQpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdr ZXlkb3duJyxmdW5jdGlvbihlKXtpZihlLmtleT09PSdFc2NhcGUnKWNsb3NlKCk7fSk7CnZhciBT RUw9JyNuYXYtYm9vaywubmF2LWJvb2ssW2RhdGEtYm9va10sYVtocmVmPSIjYm9vayJdLGFbaHJl Zj0iI3Zpc2l0Il0sW29uY2xpY2sqPSJnb0Jvb2siXSwua3gtYXBwdCc7CnZhciBUWFQ9L14oYXBw b2ludG1lbnRzfGJvb2sgKGF8YW4pIChwcml2YXRlICk/KHZpZXdpbmd8YXBwb2ludG1lbnQpfHJl cXVlc3QgYW4gYXBwb2ludG1lbnR8Y29tcG9zZSB5b3VyIHNwcmVhZCkkLzsKd2luZG93LmFkZEV2 ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldCYmZS50YXJnZXQu Y2xvc2VzdD9lLnRhcmdldC5jbG9zZXN0KCdhLGJ1dHRvbicpOm51bGw7aWYoIXR8fHQuY2xvc2Vz dCgnLmt4Yi1tYXNrLC5reGItaW5saW5lJykpcmV0dXJuO3ZhciBzPSh0LnRleHRDb250ZW50fHwn JykucmVwbGFjZSgvXHMrL2csJyAnKS50cmltKCkudG9Mb3dlckNhc2UoKTtpZighKHQubWF0Y2hl cyhTRUwpfHxUWFQudGVzdChzKSkpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKTtlLnN0b3BJbW1l ZGlhdGVQcm9wYWdhdGlvbigpO2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W3R5cGU9 Y2hlY2tib3hdLm5hdi10b2dnbGUtYm94JykuZm9yRWFjaChmdW5jdGlvbihjKXtjLmNoZWNrZWQ9 ZmFsc2U7fSk7dmFyIG09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vYicpO2lmKG0pe20uY2xh c3NMaXN0LnJlbW92ZSgnb3BlbicpO20uY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO31vcGVuKCk7 fSx0cnVlKTsKZnVuY3Rpb24gc2VuZChmKXt2YXIgdj1mdW5jdGlvbihrKXt2YXIgZWw9Zi5xdWVy eVNlbGVjdG9yKCdbZGF0YS1rPScraysnXScpO3JldHVybiBlbD8oZWwudmFsdWV8fCcnKS50cmlt KCk6Jyc7fTt2YXIgbmFtZT12KCduYW1lJyksZW1haWw9dignZW1haWwnKSxkYXRlPXYoJ2RhdGUn KSxlcnI9Zi5xdWVyeVNlbGVjdG9yKCcua3hiLWVycicpO2lmKCFuYW1lfHwhL15bXlxzQF0rQFte XHNAXStcLlteXHNAXSskLy50ZXN0KGVtYWlsKXx8IWRhdGUpe2lmKGVycillcnIuc3R5bGUuZGlz cGxheT0nYmxvY2snO3JldHVybjt9aWYoZXJyKWVyci5zdHlsZS5kaXNwbGF5PSdub25lJzt2YXIg YnRuPWYucXVlcnlTZWxlY3RvcignLmt4Yi1zZW5kJyk7YnRuLmRpc2FibGVkPXRydWU7YnRuLnRl eHRDb250ZW50PSdTZW5kaW5nXHUyMDI2Jzt2YXIgZmQ9bmV3IEZvcm1EYXRhKCk7ZmQuYXBwZW5k KCdhY3Rpb24nLCdrYXN0ZWxfdmlld2luZycpO2ZkLmFwcGVuZCgnY29sbGVjdGlvbicsUEFHRSk7 WyduYW1lJywnZW1haWwnLCdwaG9uZScsJ3R5cGUnLCdwaWVjZScsJ2RhdGUnLCd0aW1lJywnbWVz c2FnZScsJ2NvbXBhbnknXS5mb3JFYWNoKGZ1bmN0aW9uKGspe2ZkLmFwcGVuZChrLHYoaykpO30p O3ZhciB0aW1lPXYoJ3RpbWUnKTsKZnVuY3Rpb24gZG9uZShvayl7dmFyIG1haWw9J21haWx0bzpt cmVzc0BrYXN0ZWxqZXdlbHJ5LmNvbT9zdWJqZWN0PScrZW5jb2RlVVJJQ29tcG9uZW50KCdBcHBv aW50bWVudCByZXF1ZXN0IFx1MjAxNCAnK25hbWUpKycmYm9keT0nK2VuY29kZVVSSUNvbXBvbmVu dCgnTmFtZTogJytuYW1lKydcbkVtYWlsOiAnK2VtYWlsKydcblBob25lOiAnKyh2KCdwaG9uZScp fHwnXHUyMDE0JykrJ1xuQXBwb2ludG1lbnQ6ICcrdigndHlwZScpKydcbkNvbGxlY3Rpb246ICcr digncGllY2UnKSsnXG5QcmVmZXJyZWQ6ICcrZGF0ZSsnIGF0ICcrdGltZSsnXG5cbicrKHYoJ21l c3NhZ2UnKXx8JycpKTtmLmlubmVySFRNTD1vaz8nPGRpdiBjbGFzcz0ia3hiLWRvbmUiPjxwIGNs YXNzPSJreGItZXllYnJvdyI+VGhhbmsgeW91PC9wPjxoND5Zb3VyIHJlcXVlc3QgaGFzIGJlZW4g cmVjZWl2ZWQ8L2g0PjxwPkEgS2FzdGVsIHNwZWNpYWxpc3Qgd2lsbCBiZSBpbiB0b3VjaCB3aXRo aW4gb25lIGJ1c2luZXNzIGRheSB0byBjb25maXJtIHlvdXIgYXBwb2ludG1lbnQgb24gJytkYXRl KycgYXQgJyt0aW1lKycuPC9wPjwvZGl2Pic6JzxkaXYgY2xhc3M9Imt4Yi1kb25lIj48cCBjbGFz cz0ia3hiLWV5ZWJyb3ciPkFsbW9zdCB0aGVyZTwvcD48aDQ+UGxlYXNlIHNlbmQgeW91ciByZXF1 ZXN0IGJ5IGVtYWlsPC9oND48cD5XZSBjb3VsZCBub3Qgc3VibWl0IHRoZSBmb3JtIGp1c3Qgbm93 LiBZb3VyIGRldGFpbHMgYXJlIHJlYWR5IGluIGFuIGVtYWlsIHRvIHRoZSBhdGVsaWVyLjwvcD48 YSBocmVmPSInK21haWwrJyI+RW1haWwgdGhlIEF0ZWxpZXI8L2E+PC9kaXY+Jzt9CmZldGNoKCcv d3AtYWRtaW4vYWRtaW4tYWpheC5waHAnLHttZXRob2Q6J1BPU1QnLGJvZHk6ZmQsY3JlZGVudGlh bHM6J3NhbWUtb3JpZ2luJ30pLnRoZW4oZnVuY3Rpb24ocil7aWYoIXIub2spdGhyb3cgbmV3IEVy cm9yKCdodHRwICcrci5zdGF0dXMpO3JldHVybiByLmpzb24oKTt9KS50aGVuKGZ1bmN0aW9uKGop e2lmKGomJmouc3VjY2Vzcz09PWZhbHNlKXRocm93IG5ldyBFcnJvcignc2VydmVyJyk7ZG9uZSh0 cnVlKTt9KS5jYXRjaChmdW5jdGlvbigpe2RvbmUoZmFsc2UpO30pO30KZnVuY3Rpb24ga3hDb3Vu dCgpe2lmKCFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcua3gtY2FydC1uJykpcmV0dXJuO2ZldGNo KCcvd3AtanNvbi93Yy9zdG9yZS92MS9jYXJ0Jyx7Y3JlZGVudGlhbHM6J3NhbWUtb3JpZ2luJyxj YWNoZTonbm8tc3RvcmUnfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCk7fSkudGhl bihmdW5jdGlvbihjKXtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcua3gtY2FydC1uJykuZm9y RWFjaChmdW5jdGlvbihzKXtzLnRleHRDb250ZW50PShjJiZjLml0ZW1zX2NvdW50KXx8MDt9KTt9 KS5jYXRjaChmdW5jdGlvbigpe30pO30Ka3hDb3VudCgpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVy KCdwYWdlc2hvdycsa3hDb3VudCk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0 eWNoYW5nZScsZnVuY3Rpb24oKXtpZihkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0ndmlzaWJs ZScpa3hDb3VudCgpO30pOwp9KSgpOzwvc2NyaXB0PjwvYm9keT4KPC9odG1sPgo=