BEGIN:VCARD
VERSION:3.0
N;CHARSET=utf-8;ENCODING=QUOTED-PRINTABLE:Agathe Legan
NICKNAME;CHARSET=utf-8;ENCODING=QUOTED-PRINTABLE:Arcade R=C3=A9alisations
PHOTO;ENCODING=b;TYPE=:DQo8IWRvY3R5cGUgaHRtbD4NCjxodG1sIGxhbmc9ImZyLUZSIj4NCjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdmlld3BvcnQtZml0PWNvdmVyIiAvPgo8dGl0bGU+QXJjYWRlIFLDqWFsaXNhdGlvbnMgw6AgQ2hlcmJvdXJnLWVuLUNvdGVudGluIC0gV2ViQ29kLk1lPC90aXRsZT4KPG1ldGEgbmFtZT0ncm9ib3RzJyBjb250ZW50PSdtYXgtaW1hZ2UtcHJldmlldzpsYXJnZSwgaW5kZXgsIGZvbGxvdywgbWF4LXNuaXBwZXQ6LTEsIG1heC12aWRlby1wcmV2aWV3Oi0xJyAvPgo8bGluayByZWw9ImRucy1wcmVmZXRjaCIgaHJlZj0iLy9jZG50YWcudGFydGVhdWNpdHJvbi5pbyI+PGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2NkbnRhZy50YXJ0ZWF1Y2l0cm9uLmlvIiBjcm9zc29yaWdpbj0iIj48IS0tY2xvdWRmbGFyZS1uby10cmFuc2Zvcm0tLT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2NkbnRhZy50YXJ0ZWF1Y2l0cm9uLmlvL2xvYWQuanM/ZG9tYWluPWFyY2FkZS53ZWJjb2QubWUmdXVpZD0xOGRiM2E1M2U2ZmY0MzI1YWIyNGE5MGUwOTYyNWQ4YjA0Yjg5ZWIwIj48L3NjcmlwdD4KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkFyY2FkZSBSw6lhbGlzYXRpb25zIGVzdCB1biBidXJlYXUgZOKAmWluZ8OpbmllcmllIGV0IGTigJnDqXR1ZGVzIGR1IGLDonRpbWVudCBjcsOpw6kgZW4gMjAwOC4gTOKAmWVudHJlcHJpc2UgaW50ZXJ2aWVudCBlbiBjb25jZXB0aW9uLCBtYcOudHJpc2UgZOKAmcWTdXZyZSwgY29uc3RydWN0aW9uIGNsw6kgZW7igKYiPgo8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyI+CjxtZXRhIHByb3BlcnR5PSJvZzpsb2NhbGUiIGNvbnRlbnQ9ImZyX0ZSIj4KPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkFyY2FkZSBSw6lhbGlzYXRpb25zIMOgIENoZXJib3VyZy1lbi1Db3RlbnRpbiI+CjxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iQXJjYWRlIFLDqWFsaXNhdGlvbnMgZXN0IHVuIGJ1cmVhdSBk4oCZaW5nw6luaWVyaWUgZXQgZOKAmcOpdHVkZXMgZHUgYsOidGltZW50IGNyw6nDqSBlbiAyMDA4LiBM4oCZZW50cmVwcmlzZSBpbnRlcnZpZW50IGVuIGNvbmNlcHRpb24sIG1hw650cmlzZSBk4oCZxZN1dnJlLCBjb25zdHJ1Y3Rpb24gY2zDqSBlbuKApiI+CjxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS8iPgo8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSJBcmNhZGUgUsOpYWxpc2F0aW9ucyI+CjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL3dwLWNvbnRlbnQvdXBsb2Fkcy9sb2dvLWFyY2FkZS53ZWJwIj4KPG1ldGEgbmFtZT0idHdpdHRlcjpjYXJkIiBjb250ZW50PSJzdW1tYXJ5X2xhcmdlX2ltYWdlIj4KPG1ldGEgbmFtZT0idHdpdHRlcjp0aXRsZSIgY29udGVudD0iQXJjYWRlIFLDqWFsaXNhdGlvbnMgw6AgQ2hlcmJvdXJnLWVuLUNvdGVudGluIj4KPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iQXJjYWRlIFLDqWFsaXNhdGlvbnMgZXN0IHVuIGJ1cmVhdSBk4oCZaW5nw6luaWVyaWUgZXQgZOKAmcOpdHVkZXMgZHUgYsOidGltZW50IGNyw6nDqSBlbiAyMDA4LiBM4oCZZW50cmVwcmlzZSBpbnRlcnZpZW50IGVuIGNvbmNlcHRpb24sIG1hw650cmlzZSBk4oCZxZN1dnJlLCBjb25zdHJ1Y3Rpb24gY2zDqSBlbuKApiI+CjxtZXRhIG5hbWU9InR3aXR0ZXI6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3VwbG9hZHMvbG9nby1hcmNhZGUud2VicCI+CjxsaW5rIHJlbD0ibWFuaWZlc3QiIGhyZWY9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93ZWJjb2QtbWFuaWZlc3Qud2VibWFuaWZlc3QiPjxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjMDAwMDAwIj48bWV0YSBuYW1lPSJhcHBsZS1tb2JpbGUtd2ViLWFwcC1jYXBhYmxlIiBjb250ZW50PSJ5ZXMiPjxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0ib0VtYmVkIChKU09OKSIgdHlwZT0iYXBwbGljYXRpb24vanNvbitvZW1iZWQiIGhyZWY9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1qc29uL29lbWJlZC8xLjAvZW1iZWQ/dXJsPWh0dHBzJTNBJTJGJTJGYXJjYWRlLndlYmNvZC5tZSUyRiIgLz4KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJvRW1iZWQgKFhNTCkiIHR5cGU9InRleHQveG1sK29lbWJlZCIgaHJlZj0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL3dwLWpzb24vb2VtYmVkLzEuMC9lbWJlZD91cmw9aHR0cHMlM0ElMkYlMkZhcmNhZGUud2ViY29kLm1lJTJGJiMwMzg7Zm9ybWF0PXhtbCIgLz4KPHN0eWxlIGlkPSJ3cC1pbWctYXV0by1zaXplcy1jb250YWluLWlubGluZS1jc3MiPgppbWc6aXMoW3NpemVzPWF1dG8gaV0sW3NpemVzXj0iYXV0bywiIGldKXtjb250YWluLWludHJpbnNpYy1zaXplOjMwMDBweCAxNTAwcHh9Ci8qIyBzb3VyY2VVUkw9d3AtaW1nLWF1dG8tc2l6ZXMtY29udGFpbi1pbmxpbmUtY3NzICovCjwvc3R5bGU+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2ZhNi1sb2NhbC1mcm9udC1jc3MnIGhyZWY9J2h0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3RoZW1lcy9hcmVuYS9hc3NldHMvZm9udGF3ZXNvbWUvY3NzL2FsbC5taW4uY3NzJyBtZWRpYT0nYWxsJyAvPgo8c3R5bGUgaWQ9IndwLWJsb2NrLWxpYnJhcnktaW5saW5lLWNzcyI+Cjpyb290ey0td3AtYmxvY2stc3luY2VkLWNvbG9yOiM3YTAwZGY7LS13cC1ibG9jay1zeW5jZWQtY29sb3ItLXJnYjoxMjIsMCwyMjM7LS13cC1ib3VuZC1ibG9jay1jb2xvcjp2YXIoLS13cC1ibG9jay1zeW5jZWQtY29sb3IpOy0td3AtZWRpdG9yLWNhbnZhcy1iYWNrZ3JvdW5kOiNkZGQ7LS13cC1hZG1pbi10aGVtZS1jb2xvcjojMDA3Y2JhOy0td3AtYWRtaW4tdGhlbWUtY29sb3ItLXJnYjowLDEyNCwxODY7LS13cC1hZG1pbi10aGVtZS1jb2xvci1kYXJrZXItMTA6IzAwNmJhMTstLXdwLWFkbWluLXRoZW1lLWNvbG9yLWRhcmtlci0xMC0tcmdiOjAsMTA3LDE2MC41Oy0td3AtYWRtaW4tdGhlbWUtY29sb3ItZGFya2VyLTIwOiMwMDVhODc7LS13cC1hZG1pbi10aGVtZS1jb2xvci1kYXJrZXItMjAtLXJnYjowLDkwLDEzNTstLXdwLWFkbWluLWJvcmRlci13aWR0aC1mb2N1czoycHh9QG1lZGlhIChtaW4tcmVzb2x1dGlvbjoxOTJkcGkpezpyb290ey0td3AtYWRtaW4tYm9yZGVyLXdpZHRoLWZvY3VzOjEuNXB4fX0ud3AtZWxlbWVudC1idXR0b257Y3Vyc29yOnBvaW50ZXJ9OnJvb3QgLmhhcy12ZXJ5LWxpZ2h0LWdyYXktYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9OnJvb3QgLmhhcy12ZXJ5LWRhcmstZ3JheS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IzMxMzEzMX06cm9vdCAuaGFzLXZlcnktbGlnaHQtZ3JheS1jb2xvcntjb2xvcjojZWVlfTpyb290IC5oYXMtdmVyeS1kYXJrLWdyYXktY29sb3J7Y29sb3I6IzMxMzEzMX06cm9vdCAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tdG8tdml2aWQtY3lhbi1ibHVlLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMwMGQwODQsIzA2OTNlMyl9OnJvb3QgLmhhcy1wdXJwbGUtY3J1c2gtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzM0ZTJlNCwjNDcyMWZiIDUwJSwjYWIxZGZlKX06cm9vdCAuaGFzLWhhenktZGF3bi1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjZmFhY2E4LCNkYWQwZWMpfTpyb290IC5oYXMtc3ViZHVlZC1vbGl2ZS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjZmFmYWUxLCM2N2E2NzEpfTpyb290IC5oYXMtYXRvbWljLWNyZWFtLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNmZGQ3OWEsIzAwNGE1OSl9OnJvb3QgLmhhcy1uaWdodHNoYWRlLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMzMzA5NjgsIzMxY2RjZil9OnJvb3QgLmhhcy1taWRuaWdodC1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjMDIwMzgxLCMyODc0ZmMpfTpyb290ey0td3AtLXByZXNldC0tZm9udC1zaXplLS1ub3JtYWw6MTZweDstLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0taHVnZTo0MnB4fS5oYXMtcmVndWxhci1mb250LXNpemV7Zm9udC1zaXplOjFlbX0uaGFzLWxhcmdlci1mb250LXNpemV7Zm9udC1zaXplOjIuNjI1ZW19Lmhhcy1ub3JtYWwtZm9udC1zaXple2ZvbnQtc2l6ZTp2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLW5vcm1hbCl9Lmhhcy1odWdlLWZvbnQtc2l6ZXtmb250LXNpemU6dmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1odWdlKX06cm9vdCAuaGFzLXRleHQtYWxpZ24tY2VudGVye3RleHQtYWxpZ246Y2VudGVyfTpyb290IC5oYXMtdGV4dC1hbGlnbi1sZWZ0e3RleHQtYWxpZ246bGVmdH06cm9vdCAuaGFzLXRleHQtYWxpZ24tcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uaGFzLWZpdC10ZXh0e3doaXRlLXNwYWNlOm5vd3JhcCFpbXBvcnRhbnR9I2VuZC1yZXNpemFibGUtZWRpdG9yLXNlY3Rpb257ZGlzcGxheTpub25lfS5hbGlnbmNlbnRlcntjbGVhcjpib3RofS5pdGVtcy1qdXN0aWZpZWQtbGVmdHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uaXRlbXMtanVzdGlmaWVkLWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5pdGVtcy1qdXN0aWZpZWQtcmlnaHR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5pdGVtcy1qdXN0aWZpZWQtc3BhY2UtYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uc2NyZWVuLXJlYWRlci10ZXh0e3dvcmQtd3JhcDpub3JtYWwhaW1wb3J0YW50O2JvcmRlcjowO2NsaXAtcGF0aDppbnNldCg1MCUpO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d29yZC1icmVhazpub3JtYWwhaW1wb3J0YW50fS5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojZGRkO2NsaXAtcGF0aDpub25lO2NvbG9yOiM0NDQ7ZGlzcGxheTpibG9jaztmb250LXNpemU6MWVtO2hlaWdodDphdXRvO2xlZnQ6NXB4O2xpbmUtaGVpZ2h0Om5vcm1hbDtwYWRkaW5nOjE1cHggMjNweCAxNHB4O3RleHQtZGVjb3JhdGlvbjpub25lO3RvcDo1cHg7d2lkdGg6YXV0bzt6LWluZGV4OjEwMDAwMH1odG1sIDp3aGVyZSguaGFzLWJvcmRlci1jb2xvcil7Ym9yZGVyLXN0eWxlOnNvbGlkfWh0bWwgOndoZXJlKFtzdHlsZV49Ym9yZGVyLWNvbG9yXSxbc3R5bGUqPSI7Ym9yZGVyLWNvbG9yIl0sW3N0eWxlKj0iOyBib3JkZXItY29sb3IiXSl7Ym9yZGVyLXN0eWxlOnNvbGlkfWh0bWwgOndoZXJlKFtzdHlsZV49Ym9yZGVyLXRvcC1jb2xvcl0sW3N0eWxlKj0iO2JvcmRlci10b3AtY29sb3IiXSxbc3R5bGUqPSI7IGJvcmRlci10b3AtY29sb3IiXSl7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZH1odG1sIDp3aGVyZShbc3R5bGVePWJvcmRlci1yaWdodC1jb2xvcl0sW3N0eWxlKj0iO2JvcmRlci1yaWdodC1jb2xvciJdLFtzdHlsZSo9IjsgYm9yZGVyLXJpZ2h0LWNvbG9yIl0pe2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZH1odG1sIDp3aGVyZShbc3R5bGVePWJvcmRlci1ib3R0b20tY29sb3JdLFtzdHlsZSo9Ijtib3JkZXItYm90dG9tLWNvbG9yIl0sW3N0eWxlKj0iOyBib3JkZXItYm90dG9tLWNvbG9yIl0pe2JvcmRlci1ib3R0b20tc3R5bGU6c29saWR9aHRtbCA6d2hlcmUoW3N0eWxlXj1ib3JkZXItbGVmdC1jb2xvcl0sW3N0eWxlKj0iO2JvcmRlci1sZWZ0LWNvbG9yIl0sW3N0eWxlKj0iOyBib3JkZXItbGVmdC1jb2xvciJdKXtib3JkZXItbGVmdC1zdHlsZTpzb2xpZH1odG1sIDp3aGVyZShbc3R5bGVePWJvcmRlci13aWR0aF0sW3N0eWxlKj0iO2JvcmRlci13aWR0aCJdLFtzdHlsZSo9IjsgYm9yZGVyLXdpZHRoIl0pe2JvcmRlci1zdHlsZTpzb2xpZH1odG1sIDp3aGVyZShbc3R5bGVePWJvcmRlci10b3Atd2lkdGhdLFtzdHlsZSo9Ijtib3JkZXItdG9wLXdpZHRoIl0sW3N0eWxlKj0iOyBib3JkZXItdG9wLXdpZHRoIl0pe2JvcmRlci10b3Atc3R5bGU6c29saWR9aHRtbCA6d2hlcmUoW3N0eWxlXj1ib3JkZXItcmlnaHQtd2lkdGhdLFtzdHlsZSo9Ijtib3JkZXItcmlnaHQtd2lkdGgiXSxbc3R5bGUqPSI7IGJvcmRlci1yaWdodC13aWR0aCJdKXtib3JkZXItcmlnaHQtc3R5bGU6c29saWR9aHRtbCA6d2hlcmUoW3N0eWxlXj1ib3JkZXItYm90dG9tLXdpZHRoXSxbc3R5bGUqPSI7Ym9yZGVyLWJvdHRvbS13aWR0aCJdLFtzdHlsZSo9IjsgYm9yZGVyLWJvdHRvbS13aWR0aCJdKXtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkfWh0bWwgOndoZXJlKFtzdHlsZV49Ym9yZGVyLWxlZnQtd2lkdGhdLFtzdHlsZSo9Ijtib3JkZXItbGVmdC13aWR0aCJdLFtzdHlsZSo9IjsgYm9yZGVyLWxlZnQtd2lkdGgiXSl7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWR9aHRtbCA6d2hlcmUoaW1nW2NsYXNzKj13cC1pbWFnZS1dKXtoZWlnaHQ6YXV0bzttYXgtd2lkdGg6MTAwJX06d2hlcmUoZmlndXJlKXttYXJnaW46MCAwIDFlbX1odG1sIDp3aGVyZSguaXMtcG9zaXRpb24tc3RpY2t5KXstLXdwLWFkbWluLS1hZG1pbi1iYXItLXBvc2l0aW9uLW9mZnNldDp2YXIoLS13cC1hZG1pbi0tYWRtaW4tYmFyLS1oZWlnaHQsMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KXtodG1sIDp3aGVyZSguaXMtcG9zaXRpb24tc3RpY2t5KXstLXdwLWFkbWluLS1hZG1pbi1iYXItLXBvc2l0aW9uLW9mZnNldDowcHh9fQoKLyojIHNvdXJjZVVSTD0vd3AtaW5jbHVkZXMvY3NzL2Rpc3QvYmxvY2stbGlicmFyeS9jb21tb24ubWluLmNzcyAqLwo8L3N0eWxlPgo8c3R5bGUgaWQ9ImNsYXNzaWMtdGhlbWUtc3R5bGVzLWlubGluZS1jc3MiPgovKiEgVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkICovCi53cC1ibG9jay1idXR0b25fX2xpbmt7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMjM3M2M7Ym9yZGVyLXJhZGl1czo5OTk5cHg7Ym94LXNoYWRvdzpub25lO3RleHQtZGVjb3JhdGlvbjpub25lO3BhZGRpbmc6Y2FsYyguNjY3ZW0gKyAycHgpIGNhbGMoMS4zMzNlbSArIDJweCk7Zm9udC1zaXplOjEuMTI1ZW19LndwLWJsb2NrLWZpbGVfX2J1dHRvbntiYWNrZ3JvdW5kOiMzMjM3M2M7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZX0KLyojIHNvdXJjZVVSTD0vd3AtaW5jbHVkZXMvY3NzL2NsYXNzaWMtdGhlbWVzLm1pbi5jc3MgKi8KPC9zdHlsZT4KCjxzdHlsZSBpZD0iZ2xvYmFsLXN0eWxlcy1pbmxpbmUtY3NzIj4KOnJvb3R7LS13cC0tcHJlc2V0LS1hc3BlY3QtcmF0aW8tLXNxdWFyZTogMTstLXdwLS1wcmVzZXQtLWFzcGVjdC1yYXRpby0tNC0zOiA0LzM7LS13cC0tcHJlc2V0LS1hc3BlY3QtcmF0aW8tLTMtNDogMy80Oy0td3AtLXByZXNldC0tYXNwZWN0LXJhdGlvLS0zLTI6IDMvMjstLXdwLS1wcmVzZXQtLWFzcGVjdC1yYXRpby0tMi0zOiAyLzM7LS13cC0tcHJlc2V0LS1hc3BlY3QtcmF0aW8tLTE2LTk6IDE2Lzk7LS13cC0tcHJlc2V0LS1hc3BlY3QtcmF0aW8tLTktMTY6IDkvMTY7LS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2s6ICMwMDAwMDA7LS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheTogI2FiYjhjMzstLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZTogI2ZmZmZmZjstLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbms6ICNmNzhkYTc7LS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkOiAjY2YyZTJlOy0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZTogI2ZmNjkwMDstLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcjogI2ZjYjkwMDstLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuOiAjN2JkY2I1Oy0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW46ICMwMGQwODQ7LS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWU6ICM4ZWQxZmM7LS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlOiAjMDY5M2UzOy0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZTogIzliNTFlMDstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYig2LDE0NywyMjcpIDAlLHJnYigxNTUsODEsMjI0KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDEyMiwyMjAsMTgwKSAwJSxyZ2IoMCwyMDgsMTMwKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2U6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1MiwxODUsMCkgMCUscmdiKDI1NSwxMDUsMCkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjU1LDEwNSwwKSAwJSxyZ2IoMjA3LDQ2LDQ2KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS12ZXJ5LWxpZ2h0LWdyYXktdG8tY3lhbi1ibHVpc2gtZ3JheTogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjM4LDIzOCwyMzgpIDAlLHJnYigxNjksMTg0LDE5NSkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tY29vbC10by13YXJtLXNwZWN0cnVtOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYig3NCwyMzQsMjIwKSAwJSxyZ2IoMTUxLDEyMCwyMDkpIDIwJSxyZ2IoMjA3LDQyLDE4NikgNDAlLHJnYigyMzgsNDQsMTMwKSA2MCUscmdiKDI1MSwxMDUsOTgpIDgwJSxyZ2IoMjU0LDI0OCw3NikgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTUsMjA2LDIzNikgMCUscmdiKDE1MiwxNTAsMjQwKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1ib3JkZWF1eDogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjU0LDIwNSwxNjUpIDAlLHJnYigyNTQsNDUsNDUpIDUwJSxyZ2IoMTA3LDAsNjIpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2s6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1NSwyMDMsMTEyKSAwJSxyZ2IoMTk5LDgxLDE5MikgNTAlLHJnYig2NSw4OCwyMDgpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1NSwyNDUsMjAzKSAwJSxyZ2IoMTgyLDIyNywyMTIpIDUwJSxyZ2IoNTEsMTY3LDE4MSkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3M6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDIwMiwyNDgsMTI4KSAwJSxyZ2IoMTEzLDIwNiwxMjYpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyLDMsMTI5KSAwJSxyZ2IoNDAsMTE2LDI1MikgMTAwJSk7LS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsOiAxM3B4Oy0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW06IDIwcHg7LS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Oy0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlOiA0MnB4Oy0td3AtLXByZXNldC0tc3BhY2luZy0tMjA6IDAuNDRyZW07LS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zMDogMC42N3JlbTstLXdwLS1wcmVzZXQtLXNwYWNpbmctLTQwOiAxcmVtOy0td3AtLXByZXNldC0tc3BhY2luZy0tNTA6IDEuNXJlbTstLXdwLS1wcmVzZXQtLXNwYWNpbmctLTYwOiAyLjI1cmVtOy0td3AtLXByZXNldC0tc3BhY2luZy0tNzA6IDMuMzhyZW07LS13cC0tcHJlc2V0LS1zcGFjaW5nLS04MDogNS4wNnJlbTstLXdwLS1wcmVzZXQtLXNoYWRvdy0tbmF0dXJhbDogNnB4IDZweCA5cHggcmdiYSgwLCAwLCAwLCAwLjIpOy0td3AtLXByZXNldC0tc2hhZG93LS1kZWVwOiAxMnB4IDEycHggNTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7LS13cC0tcHJlc2V0LS1zaGFkb3ctLXNoYXJwOiA2cHggNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7LS13cC0tcHJlc2V0LS1zaGFkb3ctLW91dGxpbmVkOiA2cHggNnB4IDBweCAtM3B4IHJnYigyNTUsIDI1NSwgMjU1KSwgNnB4IDZweCByZ2IoMCwgMCwgMCk7LS13cC0tcHJlc2V0LS1zaGFkb3ctLWNyaXNwOiA2cHggNnB4IDBweCByZ2IoMCwgMCwgMCk7fS53cC1ibG9jay1idXR0b257LS13cC0tcHJlc2V0LS1kaW1lbnNpb24tLTI1OiAyNSU7LS13cC0tcHJlc2V0LS1kaW1lbnNpb24tLTUwOiA1MCU7LS13cC0tcHJlc2V0LS1kaW1lbnNpb24tLTc1OiA3NSU7LS13cC0tcHJlc2V0LS1kaW1lbnNpb24tLTEwMDogMTAwJTt9OndoZXJlKGJvZHkpIHsgbWFyZ2luOiAwOyB9OndoZXJlKC5pcy1sYXlvdXQtZmxleCl7Z2FwOiAwLjVlbTt9OndoZXJlKC5pcy1sYXlvdXQtZ3JpZCl7Z2FwOiAwLjVlbTt9Ym9keSAuaXMtbGF5b3V0LWZsZXh7ZGlzcGxheTogZmxleDt9LmlzLWxheW91dC1mbGV4e2ZsZXgtd3JhcDogd3JhcDthbGlnbi1pdGVtczogY2VudGVyO30uaXMtbGF5b3V0LWZsZXggPiA6aXMoKiwgZGl2KXttYXJnaW46IDA7fWJvZHkgLmlzLWxheW91dC1ncmlke2Rpc3BsYXk6IGdyaWQ7fS5pcy1sYXlvdXQtZ3JpZCA+IDppcygqLCBkaXYpe21hcmdpbjogMDt9Ym9keXtwYWRkaW5nLXRvcDogMHB4O3BhZGRpbmctcmlnaHQ6IDBweDtwYWRkaW5nLWJvdHRvbTogMHB4O3BhZGRpbmctbGVmdDogMHB4O306cm9vdCA6d2hlcmUoLndwLWVsZW1lbnQtYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uX19saW5rKXtiYWNrZ3JvdW5kLWNvbG9yOiAjMzIzNzNjO2JvcmRlci13aWR0aDogMDtjb2xvcjogI2ZmZjtmb250LWZhbWlseTogaW5oZXJpdDtmb250LXNpemU6IGluaGVyaXQ7Zm9udC1zdHlsZTogaW5oZXJpdDtmb250LXdlaWdodDogaW5oZXJpdDtsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtsaW5lLWhlaWdodDogaW5oZXJpdDtwYWRkaW5nLXRvcDogY2FsYygwLjY2N2VtICsgMnB4KTtwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuMzMzZW0gKyAycHgpO3BhZGRpbmctYm90dG9tOiBjYWxjKDAuNjY3ZW0gKyAycHgpO3BhZGRpbmctbGVmdDogY2FsYygxLjMzM2VtICsgMnB4KTt0ZXh0LWRlY29yYXRpb246IG5vbmU7dGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7fS5oYXMtYmxhY2stY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDt9Lmhhcy1jeWFuLWJsdWlzaC1ncmF5LWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDt9Lmhhcy13aGl0ZS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtcGluay1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1yZWQtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtb3JhbmdlLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7fS5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtZ3JlZW4tY3lhbi1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1jeWFuLWJsdWUtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1jeWFuLWJsdWUtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcHVycGxlLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50O30uaGFzLWJsYWNrLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50O30uaGFzLWN5YW4tYmx1aXNoLWdyYXktYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDt9Lmhhcy13aGl0ZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDt9Lmhhcy1wYWxlLXBpbmstYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXJlZC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtb3JhbmdlLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDt9Lmhhcy1saWdodC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtZ3JlZW4tY3lhbi1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtY3lhbi1ibHVlLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcHVycGxlLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy1ibGFjay1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7fS5oYXMtY3lhbi1ibHVpc2gtZ3JheS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDt9Lmhhcy13aGl0ZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1waW5rLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcmVkLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtb3JhbmdlLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50O30uaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtZ3JlZW4tY3lhbi1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy1wYWxlLWN5YW4tYmx1ZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtY3lhbi1ibHVlLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcHVycGxlLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtY3lhbi1ibHVlLXRvLXZpdmlkLXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50O30uaGFzLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbi1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQpICFpbXBvcnRhbnQ7fS5oYXMtdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXktZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7fS5oYXMtY29vbC10by13YXJtLXNwZWN0cnVtLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWNvb2wtdG8td2FybS1zcGVjdHJ1bSkgIWltcG9ydGFudDt9Lmhhcy1ibHVzaC1saWdodC1wdXJwbGUtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlKSAhaW1wb3J0YW50O30uaGFzLWJsdXNoLWJvcmRlYXV4LWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4KSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLWR1c2stZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtZHVzaykgIWltcG9ydGFudDt9Lmhhcy1wYWxlLW9jZWFuLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW4pICFpbXBvcnRhbnQ7fS5oYXMtZWxlY3RyaWMtZ3Jhc3MtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3MpICFpbXBvcnRhbnQ7fS5oYXMtbWlkbmlnaHQtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbWlkbmlnaHQpICFpbXBvcnRhbnQ7fS5oYXMtc21hbGwtZm9udC1zaXple2ZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1zbWFsbCkgIWltcG9ydGFudDt9Lmhhcy1tZWRpdW0tZm9udC1zaXple2ZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pICFpbXBvcnRhbnQ7fS5oYXMtbGFyZ2UtZm9udC1zaXple2ZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1sYXJnZSkgIWltcG9ydGFudDt9Lmhhcy14LWxhcmdlLWZvbnQtc2l6ZXtmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0teC1sYXJnZSkgIWltcG9ydGFudDt9Ci8qIyBzb3VyY2VVUkw9Z2xvYmFsLXN0eWxlcy1pbmxpbmUtY3NzICovCjwvc3R5bGU+Cgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdhcmVuYS1zdHlsZS1jc3MnIGhyZWY9J2h0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3RoZW1lcy9hcmVuYS9zdHlsZS5jc3M/dmVyPTIuNi4xMCcgbWVkaWE9J2FsbCcgLz4KPHN0eWxlIGlkPSJhcmVuYS1zdHlsZS1pbmxpbmUtY3NzIj4KOnJvb3R7LS1pY29uLXNpemU6IDcycHg7IC0taWNvbi1yYWRpdXM6IDBweDsgLS1tZW51LWljb24tYmc6IHRyYW5zcGFyZW50OyAtLW1lbnUtaWNvbi1jb2xvcjogI2ZmZmZmZjsgLS1tZW51LWljb24tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLS1tZW51LWljb24tYm9yZGVyLXdpZHRoOiAwcHg7IC0tYmFjay1idG4tYmc6IHJnYmEoMjU1LDI1NSwyNTUsLjEpOyAtLWJhY2stYnRuLWJvcmRlcjogcmdiYSgyNTUsMjU1LDI1NSwuMTIpOyAtLWJhY2stYnRuLWZnOiAjZmZmZmZmOyB9OnJvb3R7LS1hcmVuYS1iZy1pbWFnZTp1cmwoJ2h0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3VwbG9hZHMvZm9uZC1tZW51LmpwZycpO306cm9vdHstLWFyZW5hLWJnLW92ZXJsYXktZGlzcGxheTpibG9jazstLWFyZW5hLWJnLW92ZXJsYXktc3RhcnQ6cmdiYSgwLDAsMCwwLjg1KTstLWFyZW5hLWJnLW92ZXJsYXktbWlkZGxlOnJnYmEoMCwwLDAsMC43Myk7LS1hcmVuYS1iZy1vdmVybGF5LWVuZDpyZ2JhKDAsMCwwLDApO306cm9vdHstLWhlYWRlci1oOjcwcHg7LS1oZWFkZXItbG9nby1tYXgtaDo1MHB4O30uc2l0ZS1oZWFkZXJ7YmFja2dyb3VuZDogcmdiYSgzMSwzMSwzMSwxKTt9Ym9keXtmb250LWZhbWlseTonQWthdGFiJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O31oMSxoMixoMyxoNCxoNSxoNiwuc2l0ZS10aXRsZSwuaWNvbi1sYWJlbHtmb250LWZhbWlseTonQWthdGFiJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO30uaWNvbi1sYWJlbHtmb250LWZhbWlseTonQWthdGFiJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmIWltcG9ydGFudDt9Lmljb24tbGFiZWx7Y29sb3I6I2ZmZmZmZjt9aDEsaDIsaDMsaDQsaDUsaDZ7Y29sb3I6ICNmZmZmZmY7fWJvZHl7Y29sb3I6ICNmZmZmZmY7fSAuc2l0ZS1mb290ZXJ7Y29sb3I6I2ZmZmZmZkNDO30ucGFnZS1jb250ZW50e2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpO30ucGFnZS1jb250ZW50IGgxe2NvbG9yOiNmZmZmZmY7Zm9udC1zaXplOjMycHg7fS5wYWdlLWNvbnRlbnQgaDJ7Y29sb3I6I2ZmZmZmZjtmb250LXNpemU6MjZweDt9LnBhZ2UtY29udGVudCBoM3tjb2xvcjojZmZmZmZmO2ZvbnQtc2l6ZToyMnB4O30ucGFnZS1jb250ZW50IGg0e2NvbG9yOiNmZmZmZmY7Zm9udC1zaXplOjIwcHg7fS5wYWdlLWNvbnRlbnQgaDV7Y29sb3I6I2ZmZmZmZjtmb250LXNpemU6MThweDt9Lmljb24tbGFiZWx7Zm9udC1zaXplOiAxNXB4O30KI2FyZW5hLWluc3RhbGwtcHJvbXB0e3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6OTk5OTk5O2xlZnQ6MTJweDtyaWdodDoxMnB4O3RvcDowO21heC13aWR0aDo1NjBweDttYXJnaW46YXV0bztwYWRkaW5nOjE4cHggMThweCAxNnB4O2JvcmRlci1yYWRpdXM6MCAwIDIwcHggMjBweDtiYWNrZ3JvdW5kOiMwOTA5MDk7Y29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMThweCA2MHB4IHJnYmEoMCwwLDAsLjQ4KTtkaXNwbGF5OmdyaWQ7Z2FwOjEwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTExNSUpO29wYWNpdHk6MDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNDVzIGVhc2Usb3BhY2l0eSAuMzVzIGVhc2V9I2FyZW5hLWluc3RhbGwtcHJvbXB0LmlzLXZpc2libGV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7b3BhY2l0eToxfSNhcmVuYS1pbnN0YWxsLXByb21wdCBzdHJvbmd7Zm9udC1zaXplOjE4cHg7cGFkZGluZy1yaWdodDozMHB4fSNhcmVuYS1pbnN0YWxsLXByb21wdCBzcGFue2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNDtjb2xvcjojZGRkfS5hcmVuYS1wcm9tcHQtc3RhdHVzOmVtcHR5e2Rpc3BsYXk6bm9uZX0uYXJlbmEtcHJvbXB0LXN0YXR1c3twYWRkaW5nOjhweCAxMHB4O2JvcmRlci1yYWRpdXM6OXB4O2JhY2tncm91bmQ6IzIwMjAyMDtjb2xvcjojZmZmIWltcG9ydGFudH0uYXJlbmEtaW5zdGFsbC1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMHB4O3RvcDo4cHg7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojZmZmO2ZvbnQtc2l6ZToyOHB4fS5hcmVuYS1pbnN0YWxsLWFjdGlvbiwuYXJlbmEtbm90aWZ5LWFjdGlvbntib3JkZXI6MDtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxMXB4IDE0cHg7Zm9udC13ZWlnaHQ6ODAwO2N1cnNvcjpwb2ludGVyfS5hcmVuYS1pbnN0YWxsLWFjdGlvbntiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzExMX0uYXJlbmEtbm90aWZ5LWFjdGlvbntiYWNrZ3JvdW5kOiMyNTYzZWI7Y29sb3I6I2ZmZn0uYXJlbmEtbm90aWZ5LWFjdGlvbi5pcy1lbmFibGVke2JhY2tncm91bmQ6IzE2YTM0YTtjb2xvcjojZmZmO29wYWNpdHk6MX0uYXJlbmEtaW5zdGFsbC1hY3Rpb246ZGlzYWJsZWQsLmFyZW5hLW5vdGlmeS1hY3Rpb246ZGlzYWJsZWR7b3BhY2l0eTouNjU7Y3Vyc29yOmRlZmF1bHR9LmFyZW5hLW5vdGlmeS1hY3Rpb24uaXMtZW5hYmxlZDpkaXNhYmxlZHtvcGFjaXR5OjF9Lmljb24tY2FyZHtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudH0uaWNvbi1jYXJkLmFyZW5hLWhhcy1saXZlOmFmdGVye2NvbnRlbnQ6YXR0cihkYXRhLWFyZW5hLWxpdmUtY291bnQpO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6Y2FsYyg1MCUgKyAodmFyKC0taWNvbi1zaXplKSAvIDIpIC0gMTVweCk7dG9wOjZweDt6LWluZGV4OjIwO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6MjBweDtoZWlnaHQ6MjBweDtwYWRkaW5nOjAgNXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6I2VmMjMzYztjb2xvcjojZmZmO2ZvbnQ6ODAwIDExcHgvMSBzeXN0ZW0tdWksc2Fucy1zZXJpZjtib3gtc2hhZG93Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZX0KLyojIHNvdXJjZVVSTD1hcmVuYS1zdHlsZS1pbmxpbmUtY3NzICovCjwvc3R5bGU+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2FyZW5hLWdvb2dsZS1mb250LTEtY3NzJyBocmVmPSdodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtY29udGVudC91cGxvYWRzL2FyZW5hLWdvb2dsZS1mb250cy9ha2F0YWItYjQwY2NlYzMwMDY5L2ZvbnQuY3NzP3Zlcj0xNzkwMTU3OTc4JyBtZWRpYT0nYWxsJyAvPgo8c2NyaXB0Pjwvc2NyaXB0PjxsaW5rIHJlbD0iaHR0cHM6Ly9hcGkudy5vcmcvIiBocmVmPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtanNvbi8iIC8+PGxpbmsgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJKU09OIiB0eXBlPSJhcHBsaWNhdGlvbi9qc29uIiBocmVmPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtanNvbi93cC92Mi9wYWdlcy83NjQiIC8+ICAgIDxzY3JpcHQ+CiAgICAoZnVuY3Rpb24oKXsKICAgICAgZnVuY3Rpb24gZmFMb29rc0xvYWRlZCgpewogICAgICAgIHRyeXsKICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2knKTsKICAgICAgICAgIGVsLmNsYXNzTmFtZSA9ICdmYS1icmFuZHMgZmEtdHJpcGFkdmlzb3InOwogICAgICAgICAgZWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnOwogICAgICAgICAgZWwuc3R5bGUubGVmdCA9ICctOTk5OXB4JzsKICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChlbCk7CiAgICAgICAgICB2YXIgZmFtID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtZmFtaWx5JykgfHwgJyc7CiAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoZWwpOwogICAgICAgICAgcmV0dXJuIC9Gb250IEF3ZXNvbWUvaS50ZXN0KGZhbSk7CiAgICAgICAgfWNhdGNoKGUpeyByZXR1cm4gZmFsc2U7IH0KICAgICAgfQogICAgICBmdW5jdGlvbiBpbmplY3QoaHJlZil7CiAgICAgICAgdmFyIGwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7CiAgICAgICAgbC5yZWwgPSAnc3R5bGVzaGVldCc7CiAgICAgICAgbC5ocmVmID0gaHJlZjsKICAgICAgICBsLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7CiAgICAgICAgbC5yZWZlcnJlclBvbGljeSA9ICduby1yZWZlcnJlcic7CiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsKTsKICAgICAgfQogICAgICBpZiAoIWZhTG9va3NMb2FkZWQoKSl7CiAgICAgICAgaW5qZWN0KCdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9mb250LWF3ZXNvbWUvNi41LjIvY3NzL2FsbC5taW4uY3NzJyk7CiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgaWYgKCFmYUxvb2tzTG9hZGVkKCkpewogICAgICAgICAgICBpbmplY3QoJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWVANi41LjIvY3NzL2FsbC5taW4uY3NzJyk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICBpZiAoIWZhTG9va3NMb2FkZWQoKSl7CiAgICAgICAgICAgICAgICBpbmplY3QoJ2h0dHBzOi8vdW5wa2cuY29tL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlQDYuNS4yL2Nzcy9hbGwubWluLmNzcycpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgNjAwKTsKICAgICAgICAgIH0KICAgICAgICB9LCA2MDApOwogICAgICB9CiAgICB9KSgpOwogICAgPC9zY3JpcHQ+CiAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPnsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAZ3JhcGgiOlt7IkB0eXBlIjoiTG9jYWxCdXNpbmVzcyIsIkBpZCI6Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS8jb3JnYW5pemF0aW9uIiwibmFtZSI6IkFyY2FkZSBSw6lhbGlzYXRpb25zIiwidXJsIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyIsImxvZ28iOiJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtY29udGVudC91cGxvYWRzL2xvZ28tYXJjYWRlLndlYnAiLCJkZXNjcmlwdGlvbiI6IkFyY2FkZSBSw6lhbGlzYXRpb25zIGVzdCB1biBidXJlYXUgZOKAmWluZ8OpbmllcmllIGV0IGTigJnDqXR1ZGVzIGR1IGLDonRpbWVudCBjcsOpw6kgZW4gMjAwOC4gTOKAmWVudHJlcHJpc2UgaW50ZXJ2aWVudCBlbiBjb25jZXB0aW9uLCBtYcOudHJpc2UgZOKAmcWTdXZyZSwgY29uc3RydWN0aW9uIGNsw6kgZW4gbWFpbiwgZXh0ZW5zaW9uIGV0IHLDqWhhYmlsaXRhdGlvbiBkZSBiw6J0aW1lbnRzIHByb2Zlc3Npb25uZWxzLiIsInRlbGVwaG9uZSI6IjAyIDMzIDIwIDU3IDkzIiwiZW1haWwiOiJ0cmF2YXV4QGFyY2FkZS1yZWFsaXNhdGlvbnMuZnIiLCJvcGVuaW5nSG91cnNTcGVjaWZpY2F0aW9uIjpbeyJAdHlwZSI6Ik9wZW5pbmdIb3Vyc1NwZWNpZmljYXRpb24iLCJkYXlPZldlZWsiOlsiaHR0cHM6Ly9zY2hlbWEub3JnL01vbmRheSIsImh0dHBzOi8vc2NoZW1hLm9yZy9UdWVzZGF5IiwiaHR0cHM6Ly9zY2hlbWEub3JnL1dlZG5lc2RheSIsImh0dHBzOi8vc2NoZW1hLm9yZy9UaHVyc2RheSIsImh0dHBzOi8vc2NoZW1hLm9yZy9GcmlkYXkiXSwib3BlbnMiOiIwODozMCIsImNsb3NlcyI6IjE4OjAwIn1dLCJhZGRyZXNzIjp7IkB0eXBlIjoiUG9zdGFsQWRkcmVzcyIsInN0cmVldEFkZHJlc3MiOiIzMjUgUnVlIGRlIFNhdXhtYXJhaXMsIFRvdXJsYXZpbGxlIiwicG9zdGFsQ29kZSI6IjUwMTEwIiwiYWRkcmVzc0xvY2FsaXR5IjoiQ2hlcmJvdXJnLWVuLUNvdGVudGluIiwiYWRkcmVzc0NvdW50cnkiOiJGUiJ9LCJzYW1lQXMiOlsiaHR0cHM6Ly9mci5saW5rZWRpbi5jb20vY29tcGFueS9hcmNhZGUtcmVhbGlzYXRpb25zIl19LHsiQHR5cGUiOiJXZWJTaXRlIiwiQGlkIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyN3ZWJzaXRlIiwidXJsIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyIsIm5hbWUiOiJBcmNhZGUgUsOpYWxpc2F0aW9ucyIsImRlc2NyaXB0aW9uIjoiQXJjYWRlIFLDqWFsaXNhdGlvbnMgZXN0IHVuIGJ1cmVhdSBk4oCZaW5nw6luaWVyaWUgZXQgZOKAmcOpdHVkZXMgZHUgYsOidGltZW50IGNyw6nDqSBlbiAyMDA4LiBM4oCZZW50cmVwcmlzZSBpbnRlcnZpZW50IGVuIGNvbmNlcHRpb24sIG1hw650cmlzZSBk4oCZxZN1dnJlLCBjb25zdHJ1Y3Rpb24gY2zDqSBlbiBtYWluLCBleHRlbnNpb24gZXQgcsOpaGFiaWxpdGF0aW9uIGRlIGLDonRpbWVudHMgcHJvZmVzc2lvbm5lbHMuIiwicHVibGlzaGVyIjp7IkBpZCI6Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS8jb3JnYW5pemF0aW9uIn0sImluTGFuZ3VhZ2UiOiJmci1GUiJ9LHsiQHR5cGUiOiJXZWJQYWdlIiwiQGlkIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyN3ZWJwYWdlIiwidXJsIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyIsIm5hbWUiOiJBcmNhZGUgUsOpYWxpc2F0aW9ucyDDoCBDaGVyYm91cmctZW4tQ290ZW50aW4iLCJkZXNjcmlwdGlvbiI6IkFyY2FkZSBSw6lhbGlzYXRpb25zIGVzdCB1biBidXJlYXUgZOKAmWluZ8OpbmllcmllIGV0IGTigJnDqXR1ZGVzIGR1IGLDonRpbWVudCBjcsOpw6kgZW4gMjAwOC4gTOKAmWVudHJlcHJpc2UgaW50ZXJ2aWVudCBlbiBjb25jZXB0aW9uLCBtYcOudHJpc2UgZOKAmcWTdXZyZSwgY29uc3RydWN0aW9uIGNsw6kgZW7igKYiLCJpc1BhcnRPZiI6eyJAaWQiOiJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvI3dlYnNpdGUifSwiYWJvdXQiOnsiQGlkIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyNvcmdhbml6YXRpb24ifSwiaW5MYW5ndWFnZSI6ImZyLUZSIiwicHJpbWFyeUltYWdlT2ZQYWdlIjp7IkB0eXBlIjoiSW1hZ2VPYmplY3QiLCJ1cmwiOiJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtY29udGVudC91cGxvYWRzL2xvZ28tYXJjYWRlLndlYnAifX1dfTwvc2NyaXB0Pgo8bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3VwbG9hZHMvY3JvcHBlZC1BcmNhZGUtcmVhbGlzYXRpb25zLTEtMzJ4MzIud2VicCIgc2l6ZXM9IjMyeDMyIiAvPgo8bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3VwbG9hZHMvY3JvcHBlZC1BcmNhZGUtcmVhbGlzYXRpb25zLTEtMTkyeDE5Mi53ZWJwIiBzaXplcz0iMTkyeDE5MiIgLz4KPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtY29udGVudC91cGxvYWRzL2Nyb3BwZWQtQXJjYWRlLXJlYWxpc2F0aW9ucy0xLTE4MHgxODAud2VicCIgLz4KPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlSW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3VwbG9hZHMvY3JvcHBlZC1BcmNhZGUtcmVhbGlzYXRpb25zLTEtMjcweDI3MC53ZWJwIiAvPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiIGRhdGEtdHlwZT0idmNfc2hvcnRjb2Rlcy1jdXN0b20tY3NzIj4udmNfY3VzdG9tXzE2OTgwMDQ5NjIxNTJ7cGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDtiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O2JhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDt9PC9zdHlsZT48bm9zY3JpcHQ+PHN0eWxlPiAud3BiX2FuaW1hdGVfd2hlbl9hbG1vc3RfdmlzaWJsZSB7IG9wYWNpdHk6IDE7IH08L3N0eWxlPjwvbm9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0iaG9tZSB3cC1zaW5ndWxhciBwYWdlLXRlbXBsYXRlLWRlZmF1bHQgcGFnZSBwYWdlLWlkLTc2NCB3cC10aGVtZS1hcmVuYSB3cGItanMtY29tcG9zZXIganMtY29tcC12ZXItOS4wLjEgdmNfcmVzcG9uc2l2ZSI+DQogIDxoZWFkZXIgY2xhc3M9InNpdGUtaGVhZGVyIiByb2xlPSJiYW5uZXIiPg0KICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbm5lciI+DQogICAgICA8YSBocmVmPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvYXBwLyIgcmVsPSJub29wZW5lciIgY2xhc3M9ImRvd25sb2FkLWJ0biIgYXJpYS1sYWJlbD0iVMOpbMOpY2hhcmdlciBs4oCZYXBwbGljYXRpb24iPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS1jbG91ZC1hcnJvdy1kb3duIj48L2k+PC9hPg0KICAgICAgICAgICAgPGgxIGNsYXNzPSJzaXRlLWJyYW5kLWhlYWRpbmciPjxhIGNsYXNzPSJzaXRlLWJyYW5kLWxpbmsiIGhyZWY9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS8iPjxpbWcgd2lkdGg9IjI1MCIgaGVpZ2h0PSI3MCIgc3JjPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtY29udGVudC91cGxvYWRzL2xvZ28tYXJjYWRlLTI1MHg3MC53ZWJwIiBjbGFzcz0ic2l0ZS1sb2dvIiBhbHQ9IkFyY2FkZSBSw6lhbGlzYXRpb25zIiBkZWNvZGluZz0iYXN5bmMiIGxvYWRpbmc9ImVhZ2VyIiBmZXRjaHByaW9yaXR5PSJoaWdoIiAvPjwvYT48L2gxPiAgICA8L2Rpdj4NCiAgPC9oZWFkZXI+DQogIDxkaXYgY2xhc3M9IndyYXAiPg0KICAgIDxtYWluIGNsYXNzPSJzaXRlLW1haW4iIHJvbGU9Im1haW4iPg0KPHVsIGNsYXNzPSJtZW51LWdyaWQiPjxsaT48YSBjbGFzcz0iaWNvbi1jYXJkICIgaHJlZj0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL2luZm9zLyI+PHNwYW4gY2xhc3M9Imljb24td3JhcCIgc3R5bGU9ImJhY2tncm91bmQ6IzFmMWYxZiI+PGltZyBzcmM9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3VwbG9hZHMvY3JvcHBlZC1BcmNhZGUtcmVhbGlzYXRpb25zLmpwZyIgYWx0PSJJbmZvcyIgY2xhc3M9ImFyZW5hLW1lbnUtaW1nIiBkZWNvZGluZz0iYXN5bmMiIC8+PC9zcGFuPjxzcGFuIGNsYXNzPSJpY29uLWxhYmVsIj5JbmZvczwvc3Bhbj48L2E+PC9saT48bGk+PGEgY2xhc3M9Imljb24tY2FyZCAiIGhyZWY9InRlbDorMzMyMzMyMDU3OTMiPjxzcGFuIGNsYXNzPSJpY29uLXdyYXAiIHN0eWxlPSJiYWNrZ3JvdW5kOiMyMGJmMzMiPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS1waG9uZSIgYXJpYS1oaWRkZW49InRydWUiPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9Imljb24tbGFiZWwiPkFwcGVsPC9zcGFuPjwvYT48L2xpPjxsaT48YSBjbGFzcz0iaWNvbi1jYXJkICIgaHJlZj0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL2VxdWlwZS8iPjxzcGFuIGNsYXNzPSJpY29uLXdyYXAiIHN0eWxlPSJiYWNrZ3JvdW5kOiNlNjAwN2UiPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS11c2VyLWdyb3VwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iaWNvbi1sYWJlbCI+Q29udGFjdHM8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJpY29uLWNhcmQgIiBocmVmPSJodHRwczovL21hcHMuYXBwLmdvby5nbC9NRmY1YzhlYkhUZkIzWnZRNiI+PHNwYW4gY2xhc3M9Imljb24td3JhcCIgc3R5bGU9ImJhY2tncm91bmQ6I2RiMzIzMiI+PGkgY2xhc3M9ImZhLXNvbGlkIGZhLW1hcC1sb2NhdGlvbi1kb3QiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+PC9zcGFuPjxzcGFuIGNsYXNzPSJpY29uLWxhYmVsIj5QbGFuPC9zcGFuPjwvYT48L2xpPjxsaT48YSBjbGFzcz0iaWNvbi1jYXJkICIgaHJlZj0iaHR0cHM6Ly9mci5saW5rZWRpbi5jb20vY29tcGFueS9hcmNhZGUtcmVhbGlzYXRpb25zIj48c3BhbiBjbGFzcz0iaWNvbi13cmFwIiBzdHlsZT0iYmFja2dyb3VuZDojMGE2NmMyIj48aSBjbGFzcz0iZmEtYnJhbmRzIGZhLWxpbmtlZGluLWluIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iaWNvbi1sYWJlbCI+TGlua2VkaW48L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJpY29uLWNhcmQgIiBocmVmPSJodHRwczovL3d3dy5hcmNhZGUtcmVhbGlzYXRpb25zLmZyLyI+PHNwYW4gY2xhc3M9Imljb24td3JhcCIgc3R5bGU9ImJhY2tncm91bmQ6I2EzYzJlMCI+PGkgY2xhc3M9ImZhLXNvbGlkIGZhLWdsb2JlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iaWNvbi1sYWJlbCI+U2l0ZSBXZWI8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJpY29uLWNhcmQgIiBocmVmPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvP3dlYmNvZF92Y2FyZF9kb3dubG9hZD0xJiMwMzg7dmNhcmRfaWQ9MSI+PHNwYW4gY2xhc3M9Imljb24td3JhcCIgc3R5bGU9ImJhY2tncm91bmQ6IzBhMGEwYSI+PGkgY2xhc3M9ImZhLXNvbGlkIGZhLWFkZHJlc3MtY2FyZCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9Imljb24tbGFiZWwiPnZDYXJkPC9zcGFuPjwvYT48L2xpPjxsaT48YSBjbGFzcz0iaWNvbi1jYXJkICIgaHJlZj0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL3FyY29kZS8iPjxzcGFuIGNsYXNzPSJpY29uLXdyYXAiIHN0eWxlPSJiYWNrZ3JvdW5kOiMzYTNhM2EiPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS1xcmNvZGUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+PC9zcGFuPjxzcGFuIGNsYXNzPSJpY29uLWxhYmVsIj5RUiBDb2RlPC9zcGFuPjwvYT48L2xpPjxsaT48YSBjbGFzcz0iaWNvbi1jYXJkICIgaHJlZj0iaHR0cHM6Ly91c2VyLndlYmNvZC5tZS9hcmNhZGUtcmVhbGlzYXRpb25zLyI+PHNwYW4gY2xhc3M9Imljb24td3JhcCIgc3R5bGU9ImJhY2tncm91bmQ6I2RkMzMzMyI+PGkgY2xhc3M9ImZhLXNvbGlkIGZhLWhlYXJ0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iaWNvbi1sYWJlbCI+SiYjMDM5O2FpbWUgITwvc3Bhbj48L2E+PC9saT48L3VsPg0KICAgIDwvbWFpbj4NCiAgICA8Zm9vdGVyIGNsYXNzPSJzaXRlLWZvb3RlciIgcm9sZT0iY29udGVudGluZm8iPg0KICAgICA8YSBocmVmPSIvcG9saXRpcXVlLWRlLWNvbmZpZGVudGlhbGl0ZSI+TWVudGlvbnMgbMOpZ2FsZXMgLyBDLkcuVS4gLyBQb2xpdGlxdWUgZGUgY29uZmlkZW50aWFsaXTDqTwvYT4gPGJyPiDCqSAyMDI2IEFyY2FkZSBSw6lhbGlzYXRpb25zICAgIDwvZm9vdGVyPg0KICA8L2Rpdj48IS0tIC53cmFwIC0tPg0KPHNjcmlwdCB0eXBlPSJzcGVjdWxhdGlvbnJ1bGVzIj4KeyJwcmVmZXRjaCI6W3sic291cmNlIjoiZG9jdW1lbnQiLCJ3aGVyZSI6eyJhbmQiOlt7ImhyZWZfbWF0Y2hlcyI6Ii8qIn0seyJub3QiOnsiaHJlZl9tYXRjaGVzIjpbIi93cC0qLnBocCIsIi93cC1hZG1pbi8qIiwiL3dwLWNvbnRlbnQvdXBsb2Fkcy8qIiwiL3dwLWNvbnRlbnQvKiIsIi93cC1jb250ZW50L3BsdWdpbnMvKiIsIi93cC1jb250ZW50L3RoZW1lcy9hcmVuYS8qIiwiLypcXD8oLispIl19fSx7Im5vdCI6eyJzZWxlY3Rvcl9tYXRjaGVzIjoiYVtyZWx+PVwibm9mb2xsb3dcIl0ifX0seyJub3QiOnsic2VsZWN0b3JfbWF0Y2hlcyI6Ii5uby1wcmVmZXRjaCwgLm5vLXByZWZldGNoIGEifX1dfSwiZWFnZXJuZXNzIjoiY29uc2VydmF0aXZlIn1dfQo8L3NjcmlwdD4KPHNjcmlwdCBpZD0iYXJlbmEtY2xpY2stdHJhY2tlci1qcy1leHRyYSI+CnZhciBBcmVuYUNsaWNrVHJhY2tlciA9IHsicmVzdFVybCI6Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1qc29uL2FyZW5hLWNsaWNrcy92MS9oaXQiLCJ2aXNpdFVybCI6Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1qc29uL2FyZW5hLWNsaWNrcy92MS92aXNpdCIsIm5vbmNlIjoiMTI5NWFhZjkzNiIsImhlYXJ0YmVhdFNlY29uZHMiOiIzMCJ9OwovLyMgc291cmNlVVJMPWFyZW5hLWNsaWNrLXRyYWNrZXItanMtZXh0cmEKPC9zY3JpcHQ+CjxzY3JpcHQgaWQ9ImFyZW5hLWNsaWNrLXRyYWNrZXItanMiIHNyYz0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL3dwLWNvbnRlbnQvcGx1Z2lucy93ZWJjb2Qtc3RhdHMvcHVibGljL2FyZW5hLWNsaWNrLXRyYWNrZXIuanM/dmVyPTEuMTEuMTciPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJhcmVuYS1uYXZpZ2F0aW9uLWpzIiBzcmM9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3RoZW1lcy9hcmVuYS9hc3NldHMvanMvbmF2aWdhdGlvbi5qcz92ZXI9MTc5MTkyODU4OCI+PC9zY3JpcHQ+CjxzY3JpcHQgaWQ9ImFyZW5hLXB3YS1lbmdhZ2VtZW50LWpzLWV4dHJhIj4KdmFyIEFyZW5hUFdBID0geyJzdyI6Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS8/YXJlbmFfcHdhX2ZpbGU9c3cmdmVyPTEuNC41IiwibGl2ZSI6Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1qc29uL2FyZW5hL3YxL2xpdmUtZXZlbnRzIiwic3Vic2NyaWJlIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL3dwLWpzb24vYXJlbmEvdjEvcHVzaC1zdWJzY3JpcHRpb24iLCJ2YXBpZCI6IkJBU3NPMHhCZlhCSVZ6Z1RVQVAxQlF6eTdENVE3ZXZTb2dwX00xTnphRy1fendoeDJMcG5IVDZSQlpUeHBuOU1fcE1RWlFZcmpBTzJZMlkyaFN1WERWbyIsImhvbWUiOiJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvIiwic2l0ZSI6IkFyY2FkZSBSXHUwMGU5YWxpc2F0aW9ucyJ9OwovLyMgc291cmNlVVJMPWFyZW5hLXB3YS1lbmdhZ2VtZW50LWpzLWV4dHJhCjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJhcmVuYS1wd2EtZW5nYWdlbWVudC1qcy1hZnRlciI+CihmdW5jdGlvbigpew0KICBjb25zdCBjZmc9d2luZG93LkFyZW5hUFdBfHx7fTsgbGV0IGluc3RhbGxQcm9tcHQ9bnVsbCxzd1JlYWR5UHJvbWlzZT1udWxsOw0KICBjb25zdCBiNjQ9cz0+e2NvbnN0IHA9Jz0nLnJlcGVhdCgoNC1zLmxlbmd0aCU0KSU0KSxyPShzK3ApLnJlcGxhY2UoLy0vZywnKycpLnJlcGxhY2UoL18vZywnLycpLHJhdz1hdG9iKHIpO3JldHVybiBVaW50OEFycmF5LmZyb20oWy4uLnJhd10ubWFwKGM9PmMuY2hhckNvZGVBdCgwKSkpO307DQogIGNvbnN0IHdpdGhUaW1lb3V0PShwcm9taXNlLG1zLG1lc3NhZ2UpPT5Qcm9taXNlLnJhY2UoW3Byb21pc2UsbmV3IFByb21pc2UoKF8scmVqZWN0KT0+c2V0VGltZW91dCgoKT0+cmVqZWN0KG5ldyBFcnJvcihtZXNzYWdlfHwndGltZW91dCcpKSxtcykpXSk7DQogIGNvbnN0IGlzTW9iaWxlPSgpPT4vQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaXxNb2JpbGUvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfHwobmF2aWdhdG9yLnVzZXJBZ2VudERhdGEmJm5hdmlnYXRvci51c2VyQWdlbnREYXRhLm1vYmlsZT09PXRydWUpOw0KICBjb25zdCBpc0Rlc2t0b3A9KCk9PiEvQW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJigvV2luZG93cyBOVHxNYWNpbnRvc2h8WDExfENyT1N8TGludXggeDg2XzY0L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KXx8KG5hdmlnYXRvci51c2VyQWdlbnREYXRhJiZuYXZpZ2F0b3IudXNlckFnZW50RGF0YS5tb2JpbGU9PT1mYWxzZSkpOw0KICBjb25zdCBpc0lPUz0oKT0+L2lQaG9uZXxpUGFkfGlQb2QvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfHwobmF2aWdhdG9yLnBsYXRmb3JtPT09J01hY0ludGVsJyYmbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzPjEpOw0KICBjb25zdCBpc0VtYmVkZGVkQnJvd3Nlcj0oKT0+L0ZCQU58RkJBVnxGQl9JQUJ8TWVzc2VuZ2VyRm9yaU9TfEluc3RhZ3JhbXxMaW5lXC98VGlrVG9rfExpbmtlZEluQXBwfFR3aXR0ZXIvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpOw0KICBjb25zdCBpc1N0YW5kYWxvbmU9KCk9Pm1hdGNoTWVkaWEoJyhkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpJykubWF0Y2hlc3x8bmF2aWdhdG9yLnN0YW5kYWxvbmU9PT10cnVlOw0KICBjb25zdCBjYW5Ob3RpZnk9KCk9PiEhKGNmZy52YXBpZCYmJ3NlcnZpY2VXb3JrZXInaW4gbmF2aWdhdG9yJiYnUHVzaE1hbmFnZXInaW4gd2luZG93JiYnTm90aWZpY2F0aW9uJ2luIHdpbmRvdyYmKCFpc0lPUygpfHxpc1N0YW5kYWxvbmUoKSkpOw0KICBjb25zdCBub3RpZmljYXRpb25zRW5hYmxlZD0oKT0+Y2FuTm90aWZ5KCkmJk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uPT09J2dyYW50ZWQnOw0KICBjb25zdCBpbnN0YWxsZWRLZXk9J2FyZW5hSW5zdGFsbGVkT25EZXZpY2UnO2xldCBpbnN0YWxsZWRIZXJlPWlzU3RhbmRhbG9uZSgpOw0KICBmdW5jdGlvbiByZW1lbWJlckluc3RhbGxhdGlvbigpe2luc3RhbGxlZEhlcmU9dHJ1ZTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oaW5zdGFsbGVkS2V5LCcxJyk7fWNhdGNoKGUpe319DQogIGZ1bmN0aW9uIGluc3RhbGxhdGlvbktub3duKCl7aWYoaXNTdGFuZGFsb25lKCl8fGluc3RhbGxlZEhlcmUpcmV0dXJuIHRydWU7dHJ5e3JldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShpbnN0YWxsZWRLZXkpPT09JzEnO31jYXRjaChlKXtyZXR1cm4gZmFsc2U7fX0NCiAgZnVuY3Rpb24gcHJvbXB0VmlzaWJpbGl0eSgpew0KICAgIHJldHVybiB7aW5zdGFsbDohaXNEZXNrdG9wKCkmJmlzTW9iaWxlKCkmJiFpbnN0YWxsYXRpb25Lbm93bigpLG5vdGlmeTpjYW5Ob3RpZnkoKSYmIWlzRW1iZWRkZWRCcm93c2VyKCkmJk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uPT09J2RlZmF1bHQnfTsNCiAgfQ0KICBpZihpbnN0YWxsZWRIZXJlKXJlbWVtYmVySW5zdGFsbGF0aW9uKCk7DQogIGNvbnN0IHZpc2l0UHJvbXB0S2V5PSdhcmVuYVByb21wdFNob3duVGhpc1Zpc2l0JztsZXQgdmlzaXRQcm9tcHRTaG93bj1mYWxzZTsNCiAgZnVuY3Rpb24gd2FzUHJvbXB0U2hvd25UaGlzVmlzaXQoKXt0cnl7cmV0dXJuIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odmlzaXRQcm9tcHRLZXkpPT09JzEnO31jYXRjaChlKXtyZXR1cm4gdmlzaXRQcm9tcHRTaG93bjt9fQ0KICBmdW5jdGlvbiByZW1lbWJlclByb21wdEZvclZpc2l0KCl7dmlzaXRQcm9tcHRTaG93bj10cnVlO3RyeXtzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHZpc2l0UHJvbXB0S2V5LCcxJyk7fWNhdGNoKGUpe319DQogIGZ1bmN0aW9uIHNoZWxsKHJlYXNvbil7CiAgICBjb25zdCBtYW51YWw9cmVhc29uPT09J21hbnVhbCd8fHJlYXNvbj09PSdub3RpZmljYXRpb24nOwogICAgbGV0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcmVuYS1pbnN0YWxsLXByb21wdCcpOw0KICAgIGlmKGVsJiYhbWFudWFsKXJldHVybiBlbDsNCiAgICBpZihlbCllbC5yZW1vdmUoKTsNCiAgICBjb25zdCBlbWJlZGRlZD1pc0VtYmVkZGVkQnJvd3NlcigpOwogICAgY29uc3QgdmlzaWJpbGl0eT1wcm9tcHRWaXNpYmlsaXR5KCk7CiAgICBjb25zdCBzaG93SW5zdGFsbD12aXNpYmlsaXR5Lmluc3RhbGw7CiAgICBjb25zdCBub3RpZmljYXRpb25QYW5lbD1yZWFzb249PT0nbm90aWZpY2F0aW9uJ3x8KG1hbnVhbCYmIXNob3dJbnN0YWxsKTsKICAgIGNvbnN0IG5vdGlmeVN1cHBvcnRlZD1jYW5Ob3RpZnkoKSYmIWVtYmVkZGVkOwogICAgY29uc3Qgc2hvd05vdGlmeT12aXNpYmlsaXR5Lm5vdGlmeXx8KG5vdGlmaWNhdGlvblBhbmVsJiZub3RpZnlTdXBwb3J0ZWQpOwogICAgaWYoIXNob3dJbnN0YWxsJiYhc2hvd05vdGlmeSYmIW5vdGlmaWNhdGlvblBhbmVsKXJldHVybiBudWxsOwogICAgbGV0IHRpdGxlPSdSZXN0ZXogaW5mb3Jtw6kgc3VyICcrY2ZnLnNpdGU7CiAgICBsZXQgdGV4dD0nQWN0aXZleiBsZXMgbm90aWZpY2F0aW9ucyBwb3VyIMOqdHJlIGF2ZXJ0aSBkw6hzIHF14oCZdW4gamV1IG91IHVuZSBhbmltYXRpb24gZXN0IG91dmVydC4nOwogICAgaWYoc2hvd0luc3RhbGwpe3RpdGxlPSdHYXJkZXogJytjZmcuc2l0ZSsnIMOgIHBvcnTDqWUgZGUgbWFpbic7dGV4dD1zaG93Tm90aWZ5PydBam91dGV6IGNlIFdlYkNvZCDDoCB2b3RyZSDDqWNyYW4gZOKAmWFjY3VlaWwgZXQgYWN0aXZleiBsZXMgbm90aWZpY2F0aW9ucyBwb3VyIG5lIG1hbnF1ZXIgYXVjdW4gamV1Lic6J0Fqb3V0ZXogY2UgV2ViQ29kIMOgIHZvdHJlIMOpY3JhbiBk4oCZYWNjdWVpbCBwb3VyIHkgYWNjw6lkZXIgY29tbWUgw6AgdW5lIGFwcGxpY2F0aW9uLic7fQogICAgaWYoZW1iZWRkZWQpe3RpdGxlPSdPdXZyZXogJytjZmcuc2l0ZSsnIGRhbnMgdm90cmUgbmF2aWdhdGV1cic7dGV4dD1pc0lPUygpPydDZSBuYXZpZ2F0ZXVyIGludMOpZ3LDqSBuZSBwZXJtZXQgcGFzIGzigJlpbnN0YWxsYXRpb24uIE91dnJleiBjZSBXZWJDb2QgZGFucyBTYWZhcmksIHB1aXMgdXRpbGlzZXogUGFydGFnZXIg4oaSIFN1ciBs4oCZw6ljcmFuIGTigJlhY2N1ZWlsLic6J0NlIG5hdmlnYXRldXIgaW50w6lncsOpIG5lIHBlcm1ldCBwYXMgbOKAmWluc3RhbGxhdGlvbi4gT3V2cmV6IGNlIFdlYkNvZCBkYW5zIHZvdHJlIG5hdmlnYXRldXIgaGFiaXR1ZWwgcG91ciBs4oCZYWpvdXRlciDDoCB2b3RyZSB0w6lsw6lwaG9uZS4nO30KICAgIGlmKG5vdGlmaWNhdGlvblBhbmVsKXt0aXRsZT0nTm90aWZpY2F0aW9ucyc7dGV4dD0hbm90aWZ5U3VwcG9ydGVkPydMZXMgbm90aWZpY2F0aW9ucyBuZSBzb250IHBhcyBkaXNwb25pYmxlcyBkYW5zIGNlIG5hdmlnYXRldXIuIFN1ciBpUGhvbmUsIG91dnJleiBsZSBXZWJDb2QgZGVwdWlzIGzigJlpY8O0bmUgYWpvdXTDqWUgw6AgbOKAmcOpY3JhbiBk4oCZYWNjdWVpbC4nOk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uPT09J2dyYW50ZWQnPydMZXMgbm90aWZpY2F0aW9ucyBzb250IGFjdGl2w6llcyBzdXIgY2V0IGFwcGFyZWlsLic6Tm90aWZpY2F0aW9uLnBlcm1pc3Npb249PT0nZGVuaWVkJz8nTGVzIG5vdGlmaWNhdGlvbnMgc29udCBibG9xdcOpZXMuIEF1dG9yaXNlei1sZXMgZGFucyBSw6lnbGFnZXMg4oaSIE5vdGlmaWNhdGlvbnMgc3VyIHZvdHJlIHTDqWzDqXBob25lLic6J0xlcyBub3RpZmljYXRpb25zIG5lIHNvbnQgcGFzIGVuY29yZSBhY3RpdsOpZXMgc3VyIGNldCBhcHBhcmVpbC4nO30KICAgIGVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2VsLmlkPSdhcmVuYS1pbnN0YWxsLXByb21wdCc7ZWwuaW5uZXJIVE1MPSc8YnV0dG9uIGNsYXNzPSJhcmVuYS1pbnN0YWxsLWNsb3NlIiBhcmlhLWxhYmVsPSJGZXJtZXIiPsOXPC9idXR0b24+PHN0cm9uZz48L3N0cm9uZz48c3BhbiBjbGFzcz0iYXJlbmEtcHJvbXB0LXRleHQiPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXJlbmEtcHJvbXB0LXN0YXR1cyIgcm9sZT0ic3RhdHVzIiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9zcGFuPicrKHNob3dJbnN0YWxsPyc8YnV0dG9uIGNsYXNzPSJhcmVuYS1pbnN0YWxsLWFjdGlvbiI+QWpvdXRlciDDoCBtb24gdMOpbMOpcGhvbmU8L2J1dHRvbj4nOicnKSsoc2hvd05vdGlmeT8nPGJ1dHRvbiBjbGFzcz0iYXJlbmEtbm90aWZ5LWFjdGlvbiI+QWN0aXZlciBsZXMgbm90aWZpY2F0aW9uczwvYnV0dG9uPic6JycpOw0KICAgIGVsLnF1ZXJ5U2VsZWN0b3IoJ3N0cm9uZycpLnRleHRDb250ZW50PXRpdGxlO2VsLnF1ZXJ5U2VsZWN0b3IoJy5hcmVuYS1wcm9tcHQtdGV4dCcpLnRleHRDb250ZW50PXRleHQ7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbCk7DQogICAgZWwucXVlcnlTZWxlY3RvcignLmFyZW5hLWluc3RhbGwtY2xvc2UnKS5vbmNsaWNrPSgpPT5kaXNtaXNzKGVsLHJlYXNvbik7DQogICAgY29uc3QgaW5zdGFsbEJ0bj1lbC5xdWVyeVNlbGVjdG9yKCcuYXJlbmEtaW5zdGFsbC1hY3Rpb24nKTtpZihpbnN0YWxsQnRuKXtpZihlbWJlZGRlZClpbnN0YWxsQnRuLnRleHRDb250ZW50PSdPdXZyaXIgZGFucyBtb24gbmF2aWdhdGV1cic7aW5zdGFsbEJ0bi5vbmNsaWNrPSgpPT5lbWJlZGRlZD9vcGVuRXh0ZXJuYWxCcm93c2VyKGVsLGluc3RhbGxCdG4pOmluc3RhbGwoZWwpO30NCiAgICBjb25zdCBub3RpZnlCdG49ZWwucXVlcnlTZWxlY3RvcignLmFyZW5hLW5vdGlmeS1hY3Rpb24nKTtpZihub3RpZnlCdG4pe25vdGlmeUJ0bi5vbmNsaWNrPSgpPT5zdWJzY3JpYmUoZWwsbm90aWZ5QnRuKTtpZihOb3RpZmljYXRpb24ucGVybWlzc2lvbj09PSdncmFudGVkJyl7bm90aWZ5QnRuLnRleHRDb250ZW50PSdOb3RpZmljYXRpb25zIGFjdGl2w6llcyc7bm90aWZ5QnRuLmNsYXNzTGlzdC5hZGQoJ2lzLWVuYWJsZWQnKTtub3RpZnlCdG4uZGlzYWJsZWQ9dHJ1ZTt9aWYoTm90aWZpY2F0aW9uLnBlcm1pc3Npb249PT0nZGVuaWVkJyl7bm90aWZ5QnRuLnRleHRDb250ZW50PSdOb3RpZmljYXRpb25zIGJsb3F1w6llcyc7bm90aWZ5QnRuLmRpc2FibGVkPXRydWU7fX0KICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+ZWwuY2xhc3NMaXN0LmFkZCgnaXMtdmlzaWJsZScpKTtyZXR1cm4gZWw7DQogIH0NCiAgZnVuY3Rpb24gZGlzbWlzcyhlbCl7ZWwuY2xhc3NMaXN0LnJlbW92ZSgnaXMtdmlzaWJsZScpO3NldFRpbWVvdXQoKCk9PmVsLnJlbW92ZSgpLDQwMCk7fQ0KICBhc3luYyBmdW5jdGlvbiBvcGVuRXh0ZXJuYWxCcm93c2VyKGVsLGJ1dHRvbil7DQogICAgY29uc3Qgc3RhdHVzPWVsJiZlbC5xdWVyeVNlbGVjdG9yKCcuYXJlbmEtcHJvbXB0LXN0YXR1cycpLHVybD1sb2NhdGlvbi5ocmVmLnNwbGl0KCcjJylbMF07DQogICAgaWYoL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsNCiAgICAgIGJ1dHRvbi50ZXh0Q29udGVudD0nT3V2ZXJ0dXJl4oCmJztpZihzdGF0dXMpc3RhdHVzLnRleHRDb250ZW50PSdPdXZlcnR1cmUgZGUgdm90cmUgbmF2aWdhdGV1cuKApic7DQogICAgICBjb25zdCBwYXJzZWQ9bmV3IFVSTCh1cmwpLGludGVudD0naW50ZW50Oi8vJytwYXJzZWQuaG9zdCtwYXJzZWQucGF0aG5hbWUrcGFyc2VkLnNlYXJjaCsnI0ludGVudDtzY2hlbWU9JytwYXJzZWQucHJvdG9jb2wucmVwbGFjZSgnOicsJycpKyc7YWN0aW9uPWFuZHJvaWQuaW50ZW50LmFjdGlvbi5WSUVXO2NhdGVnb3J5PWFuZHJvaWQuaW50ZW50LmNhdGVnb3J5LkJST1dTQUJMRTtlbmQnOw0KICAgICAgbG9jYXRpb24uaHJlZj1pbnRlbnQ7DQogICAgICBzZXRUaW1lb3V0KCgpPT57YnV0dG9uLnRleHRDb250ZW50PSdPdXZyaXIgZGFucyBtb24gbmF2aWdhdGV1cic7aWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD0nU2kgcmllbiBuZSBz4oCZb3V2cmUsIHV0aWxpc2V6IGxlIG1lbnUg4ouuIGRlIE1lc3NlbmdlciBwdWlzIMKrIE91dnJpciBkYW5zIGxlIG5hdmlnYXRldXIgwrsuJzt9LDE4MDApOw0KICAgICAgcmV0dXJuOw0KICAgIH0NCiAgICB0cnl7aWYobmF2aWdhdG9yLmNsaXBib2FyZCYmd2luZG93LmlzU2VjdXJlQ29udGV4dClhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh1cmwpO31jYXRjaChlKXt9DQogICAgYnV0dG9uLnRleHRDb250ZW50PSdMaWVuIGNvcGnDqSc7aWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD0nRGFucyBNZXNzZW5nZXIsIHRvdWNoZXog4oCi4oCi4oCiIHB1aXMgwqsgT3V2cmlyIGRhbnMgU2FmYXJpIMK7LiBWb3VzIHBvdXJyZXogZW5zdWl0ZSBs4oCZYWpvdXRlciDDoCBs4oCZw6ljcmFuIGTigJlhY2N1ZWlsLic7DQogIH0NCiAgYXN5bmMgZnVuY3Rpb24gaW5zdGFsbChlbCl7aWYoaW5zdGFsbFByb21wdCl7aW5zdGFsbFByb21wdC5wcm9tcHQoKTtjb25zdCBjaG9pY2U9YXdhaXQgaW5zdGFsbFByb21wdC51c2VyQ2hvaWNlO2lmKGNob2ljZS5vdXRjb21lPT09J2FjY2VwdGVkJylyZW1lbWJlckluc3RhbGxhdGlvbigpO2luc3RhbGxQcm9tcHQ9bnVsbDtkaXNtaXNzKGVsKTtyZXR1cm47fWNvbnN0IGlvcz0vaXBob25lfGlwYWR8aXBvZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7YWxlcnQoaW9zPydEYW5zIFNhZmFyaSwgdG91Y2hleiBQYXJ0YWdlciBwdWlzIMKrIFN1ciBs4oCZw6ljcmFuIGTigJlhY2N1ZWlsIMK7Lic6J091dnJleiBsZSBtZW51IGR1IG5hdmlnYXRldXIgcHVpcyBjaG9pc2lzc2V6IMKrIEFqb3V0ZXIgw6AgbOKAmcOpY3JhbiBk4oCZYWNjdWVpbCDCuy4nKTt9DQogIGFzeW5jIGZ1bmN0aW9uIHN1YnNjcmliZShlbCxidXR0b24pew0KICAgIGNvbnN0IHN0YXR1cz1lbCYmZWwucXVlcnlTZWxlY3RvcignLmFyZW5hLXByb21wdC1zdGF0dXMnKTsNCiAgICB0cnl7DQogICAgICBpZighY2FuTm90aWZ5KCkpcmV0dXJuOw0KICAgICAgYnV0dG9uLmRpc2FibGVkPXRydWU7aWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD0nQWN0aXZhdGlvbiBlbiBjb3Vyc+KApic7DQogICAgICBjb25zdCBwZXJtPU5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uPT09J2dyYW50ZWQnPydncmFudGVkJzphd2FpdCBOb3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oKTsNCiAgICAgIGlmKHBlcm0hPT0nZ3JhbnRlZCcpe2J1dHRvbi50ZXh0Q29udGVudD1wZXJtPT09J2RlbmllZCc/J05vdGlmaWNhdGlvbnMgYmxvcXXDqWVzJzonQWN0aXZlciBsZXMgbm90aWZpY2F0aW9ucyc7aWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD1wZXJtPT09J2RlbmllZCc/J0F1dG9yaXNleiBsZXMgbm90aWZpY2F0aW9ucyBkYW5zIGxlcyByw6lnbGFnZXMgZHUgbmF2aWdhdGV1ciBvdSBkdSB0w6lsw6lwaG9uZS4nOidBY3RpdmF0aW9uIGFubnVsw6llLic7YnV0dG9uLmRpc2FibGVkPXBlcm09PT0nZGVuaWVkJztyZXR1cm47fQ0KICAgICAgaWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD0nRmluYWxpc2F0aW9uIGRlIGzigJlhY3RpdmF0aW9u4oCmJzsNCiAgICAgIGlmKCFzd1JlYWR5UHJvbWlzZSlzd1JlYWR5UHJvbWlzZT1uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihjZmcuc3cse3Njb3BlOicvJ30pLnRoZW4oKCk9Pm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlYWR5KTsNCiAgICAgIGNvbnN0IHJlZz1hd2FpdCB3aXRoVGltZW91dChzd1JlYWR5UHJvbWlzZSwxMjAwMCwnc2VydmljZS13b3JrZXInKTtpZighcmVnKXRocm93IEVycm9yKCdzZXJ2aWNlLXdvcmtlcicpO2xldCBzdWI9YXdhaXQgd2l0aFRpbWVvdXQocmVnLnB1c2hNYW5hZ2VyLmdldFN1YnNjcmlwdGlvbigpLDgwMDAsJ3N1YnNjcmlwdGlvbi1yZWFkJyk7aWYoIXN1YilzdWI9YXdhaXQgd2l0aFRpbWVvdXQocmVnLnB1c2hNYW5hZ2VyLnN1YnNjcmliZSh7dXNlclZpc2libGVPbmx5OnRydWUsYXBwbGljYXRpb25TZXJ2ZXJLZXk6YjY0KGNmZy52YXBpZCl9KSwxMjAwMCwnc3Vic2NyaXB0aW9uLWNyZWF0ZScpOw0KICAgICAgY29uc3QgcmVzcG9uc2U9YXdhaXQgd2l0aFRpbWVvdXQoZmV0Y2goY2ZnLnN1YnNjcmliZSx7bWV0aG9kOidQT1NUJyxoZWFkZXJzOnsnQ29udGVudC1UeXBlJzonYXBwbGljYXRpb24vanNvbid9LGJvZHk6SlNPTi5zdHJpbmdpZnkoc3ViKX0pLDEyMDAwLCdzdWJzY3JpcHRpb24tc2F2ZScpO2lmKCFyZXNwb25zZS5vayl0aHJvdyBFcnJvcignc3Vic2NyaXB0aW9uLXNhdmUnKTsNCiAgICAgIGJ1dHRvbi50ZXh0Q29udGVudD0nTm90aWZpY2F0aW9ucyBhY3RpdsOpZXMnO2J1dHRvbi5jbGFzc0xpc3QuYWRkKCdpcy1lbmFibGVkJyk7YnV0dG9uLmRpc2FibGVkPXRydWU7aWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD0nTm90aWZpY2F0aW9ucyBhY3RpdsOpZXMuJztsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYXJlbmFOb3RpZmljYXRpb25zRW5hYmxlZCcsJzEnKTtzZXRUaW1lb3V0KCgpPT57aWYoZWwmJmRvY3VtZW50LmJvZHkuY29udGFpbnMoZWwpKWRpc21pc3MoZWwsJ25vdGlmaWNhdGlvbicpO30sMTQwMCk7DQogICAgfWNhdGNoKGUpe3N3UmVhZHlQcm9taXNlPW51bGw7YnV0dG9uLmRpc2FibGVkPWZhbHNlO2J1dHRvbi50ZXh0Q29udGVudD0nUsOpZXNzYXllcic7aWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD0nTOKAmWFjdGl2YXRpb24gbuKAmWEgcGFzIGFib3V0aS4gUmVjaGFyZ2V6IGxhIHBhZ2UgcHVpcyByw6llc3NheWV6Lic7fQ0KICB9DQogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmVpbnN0YWxscHJvbXB0JyxlPT57ZS5wcmV2ZW50RGVmYXVsdCgpO2luc3RhbGxQcm9tcHQ9ZTt9KTsNCiAgZnVuY3Rpb24gcmVmcmVzaFByb21wdCgpe2lmKGlzU3RhbmRhbG9uZSgpKXJlbWVtYmVySW5zdGFsbGF0aW9uKCk7Y29uc3QgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FyZW5hLWluc3RhbGwtcHJvbXB0Jyk7aWYoZWwpe2VsLnJlbW92ZSgpO3NoZWxsKCdyZWZyZXNoJyk7fX0NCiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2FwcGluc3RhbGxlZCcsKCk9PntyZW1lbWJlckluc3RhbGxhdGlvbigpO3JlZnJlc2hQcm9tcHQoKTt9KTsNCiAgY29uc3QgZGlzcGxheU1vZGU9bWF0Y2hNZWRpYSgnKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSknKTtpZihkaXNwbGF5TW9kZS5hZGRFdmVudExpc3RlbmVyKWRpc3BsYXlNb2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScscmVmcmVzaFByb21wdCk7DQogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycscmVmcmVzaFByb21wdCk7DQogIGlmKCdzZXJ2aWNlV29ya2VyJ2luIG5hdmlnYXRvcilzd1JlYWR5UHJvbWlzZT1uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihjZmcuc3cse3Njb3BlOicvJ30pLnRoZW4oKCk9Pm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlYWR5KS5jYXRjaCgoKT0+bnVsbCk7DQogIGlmKG5vdGlmaWNhdGlvbnNFbmFibGVkKCkmJnN3UmVhZHlQcm9taXNlKXN3UmVhZHlQcm9taXNlLnRoZW4oYXN5bmMgcmVnPT57aWYoIXJlZylyZXR1cm47bGV0IHN1Yj1hd2FpdCByZWcucHVzaE1hbmFnZXIuZ2V0U3Vic2NyaXB0aW9uKCk7aWYoIXN1YilzdWI9YXdhaXQgcmVnLnB1c2hNYW5hZ2VyLnN1YnNjcmliZSh7dXNlclZpc2libGVPbmx5OnRydWUsYXBwbGljYXRpb25TZXJ2ZXJLZXk6YjY0KGNmZy52YXBpZCl9KTtpZihzdWIpYXdhaXQgZmV0Y2goY2ZnLnN1YnNjcmliZSx7bWV0aG9kOidQT1NUJyxoZWFkZXJzOnsnQ29udGVudC1UeXBlJzonYXBwbGljYXRpb24vanNvbid9LGJvZHk6SlNPTi5zdHJpbmdpZnkoc3ViKX0pO30pLmNhdGNoKCgpPT57fSk7DQogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCgpPT57ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYS5kb3dubG9hZC1idG4nKS5mb3JFYWNoKGJ0bj0+e2lmKGlzU3RhbmRhbG9uZSgpKXtjb25zdCBpY29uPWJ0bi5xdWVyeVNlbGVjdG9yKCdpJyk7aWYoaWNvbilpY29uLmNsYXNzTmFtZT0nZmEtc29saWQgZmEtYmVsbCc7YnRuLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsJ0fDqXJlciBsZXMgbm90aWZpY2F0aW9ucycpO2J0bi5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywnR8OpcmVyIGxlcyBub3RpZmljYXRpb25zJyk7fWJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZT0+e2UucHJldmVudERlZmF1bHQoKTtzaGVsbChpc1N0YW5kYWxvbmUoKT8nbm90aWZpY2F0aW9uJzonbWFudWFsJyk7fSk7fSk7fSk7CiAgZnVuY3Rpb24gc2hvd0F1dG9tYXRpY1Byb21wdChyZWFzb24pe2lmKHdhc1Byb21wdFNob3duVGhpc1Zpc2l0KCkpcmV0dXJuO2NvbnN0IGVsPXNoZWxsKHJlYXNvbik7aWYoZWwpcmVtZW1iZXJQcm9tcHRGb3JWaXNpdCgpO30NCiAgaWYocHJvbXB0VmlzaWJpbGl0eSgpLmluc3RhbGwpc2V0VGltZW91dCgoKT0+c2hvd0F1dG9tYXRpY1Byb21wdCgnaW5zdGFsbGF0aW9uJyksNTAwMCk7CiAgaWYoIXByb21wdFZpc2liaWxpdHkoKS5pbnN0YWxsJiZwcm9tcHRWaXNpYmlsaXR5KCkubm90aWZ5KXNldFRpbWVvdXQoKCk9PnNob3dBdXRvbWF0aWNQcm9tcHQoJ25vdGlmaWNhdGlvbicpLDUwMDApOw0KDQp9KSgpOwovLyMgc291cmNlVVJMPWFyZW5hLXB3YS1lbmdhZ2VtZW50LWpzLWFmdGVyCjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJhcmVuYS1wd2EtYmFkZ2VzLWpzIiBzcmM9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3RoZW1lcy9hcmVuYS9hc3NldHMvanMvcHdhLWJhZGdlcy5qcz92ZXI9MS40LjUiPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJhcmVuYS1wYWdlLWxvYWRlci1qcyIgc3JjPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtY29udGVudC90aGVtZXMvYXJlbmEvYXNzZXRzL2pzL2FyZW5hLXBhZ2UtbG9hZGVyLmpzP3Zlcj0xNzkxOTI4NTg4Ij48L3NjcmlwdD4KPHNjcmlwdD48L3NjcmlwdD48L2JvZHk+DQo8L2h0bWw+DQo=
LOGO;ENCODING=b;TYPE=:DQo8IWRvY3R5cGUgaHRtbD4NCjxodG1sIGxhbmc9ImZyLUZSIj4NCjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdmlld3BvcnQtZml0PWNvdmVyIiAvPgo8dGl0bGU+QXJjYWRlIFLDqWFsaXNhdGlvbnMgw6AgQ2hlcmJvdXJnLWVuLUNvdGVudGluIC0gV2ViQ29kLk1lPC90aXRsZT4KPG1ldGEgbmFtZT0ncm9ib3RzJyBjb250ZW50PSdtYXgtaW1hZ2UtcHJldmlldzpsYXJnZSwgaW5kZXgsIGZvbGxvdywgbWF4LXNuaXBwZXQ6LTEsIG1heC12aWRlby1wcmV2aWV3Oi0xJyAvPgo8bGluayByZWw9ImRucy1wcmVmZXRjaCIgaHJlZj0iLy9jZG50YWcudGFydGVhdWNpdHJvbi5pbyI+PGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2NkbnRhZy50YXJ0ZWF1Y2l0cm9uLmlvIiBjcm9zc29yaWdpbj0iIj48IS0tY2xvdWRmbGFyZS1uby10cmFuc2Zvcm0tLT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2NkbnRhZy50YXJ0ZWF1Y2l0cm9uLmlvL2xvYWQuanM/ZG9tYWluPWFyY2FkZS53ZWJjb2QubWUmdXVpZD0xOGRiM2E1M2U2ZmY0MzI1YWIyNGE5MGUwOTYyNWQ4YjA0Yjg5ZWIwIj48L3NjcmlwdD4KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkFyY2FkZSBSw6lhbGlzYXRpb25zIGVzdCB1biBidXJlYXUgZOKAmWluZ8OpbmllcmllIGV0IGTigJnDqXR1ZGVzIGR1IGLDonRpbWVudCBjcsOpw6kgZW4gMjAwOC4gTOKAmWVudHJlcHJpc2UgaW50ZXJ2aWVudCBlbiBjb25jZXB0aW9uLCBtYcOudHJpc2UgZOKAmcWTdXZyZSwgY29uc3RydWN0aW9uIGNsw6kgZW7igKYiPgo8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyI+CjxtZXRhIHByb3BlcnR5PSJvZzpsb2NhbGUiIGNvbnRlbnQ9ImZyX0ZSIj4KPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkFyY2FkZSBSw6lhbGlzYXRpb25zIMOgIENoZXJib3VyZy1lbi1Db3RlbnRpbiI+CjxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iQXJjYWRlIFLDqWFsaXNhdGlvbnMgZXN0IHVuIGJ1cmVhdSBk4oCZaW5nw6luaWVyaWUgZXQgZOKAmcOpdHVkZXMgZHUgYsOidGltZW50IGNyw6nDqSBlbiAyMDA4LiBM4oCZZW50cmVwcmlzZSBpbnRlcnZpZW50IGVuIGNvbmNlcHRpb24sIG1hw650cmlzZSBk4oCZxZN1dnJlLCBjb25zdHJ1Y3Rpb24gY2zDqSBlbuKApiI+CjxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS8iPgo8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSJBcmNhZGUgUsOpYWxpc2F0aW9ucyI+CjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL3dwLWNvbnRlbnQvdXBsb2Fkcy9sb2dvLWFyY2FkZS53ZWJwIj4KPG1ldGEgbmFtZT0idHdpdHRlcjpjYXJkIiBjb250ZW50PSJzdW1tYXJ5X2xhcmdlX2ltYWdlIj4KPG1ldGEgbmFtZT0idHdpdHRlcjp0aXRsZSIgY29udGVudD0iQXJjYWRlIFLDqWFsaXNhdGlvbnMgw6AgQ2hlcmJvdXJnLWVuLUNvdGVudGluIj4KPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iQXJjYWRlIFLDqWFsaXNhdGlvbnMgZXN0IHVuIGJ1cmVhdSBk4oCZaW5nw6luaWVyaWUgZXQgZOKAmcOpdHVkZXMgZHUgYsOidGltZW50IGNyw6nDqSBlbiAyMDA4LiBM4oCZZW50cmVwcmlzZSBpbnRlcnZpZW50IGVuIGNvbmNlcHRpb24sIG1hw650cmlzZSBk4oCZxZN1dnJlLCBjb25zdHJ1Y3Rpb24gY2zDqSBlbuKApiI+CjxtZXRhIG5hbWU9InR3aXR0ZXI6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3VwbG9hZHMvbG9nby1hcmNhZGUud2VicCI+CjxsaW5rIHJlbD0ibWFuaWZlc3QiIGhyZWY9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93ZWJjb2QtbWFuaWZlc3Qud2VibWFuaWZlc3QiPjxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjMDAwMDAwIj48bWV0YSBuYW1lPSJhcHBsZS1tb2JpbGUtd2ViLWFwcC1jYXBhYmxlIiBjb250ZW50PSJ5ZXMiPjxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0ib0VtYmVkIChKU09OKSIgdHlwZT0iYXBwbGljYXRpb24vanNvbitvZW1iZWQiIGhyZWY9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1qc29uL29lbWJlZC8xLjAvZW1iZWQ/dXJsPWh0dHBzJTNBJTJGJTJGYXJjYWRlLndlYmNvZC5tZSUyRiIgLz4KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJvRW1iZWQgKFhNTCkiIHR5cGU9InRleHQveG1sK29lbWJlZCIgaHJlZj0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL3dwLWpzb24vb2VtYmVkLzEuMC9lbWJlZD91cmw9aHR0cHMlM0ElMkYlMkZhcmNhZGUud2ViY29kLm1lJTJGJiMwMzg7Zm9ybWF0PXhtbCIgLz4KPHN0eWxlIGlkPSJ3cC1pbWctYXV0by1zaXplcy1jb250YWluLWlubGluZS1jc3MiPgppbWc6aXMoW3NpemVzPWF1dG8gaV0sW3NpemVzXj0iYXV0bywiIGldKXtjb250YWluLWludHJpbnNpYy1zaXplOjMwMDBweCAxNTAwcHh9Ci8qIyBzb3VyY2VVUkw9d3AtaW1nLWF1dG8tc2l6ZXMtY29udGFpbi1pbmxpbmUtY3NzICovCjwvc3R5bGU+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2ZhNi1sb2NhbC1mcm9udC1jc3MnIGhyZWY9J2h0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3RoZW1lcy9hcmVuYS9hc3NldHMvZm9udGF3ZXNvbWUvY3NzL2FsbC5taW4uY3NzJyBtZWRpYT0nYWxsJyAvPgo8c3R5bGUgaWQ9IndwLWJsb2NrLWxpYnJhcnktaW5saW5lLWNzcyI+Cjpyb290ey0td3AtYmxvY2stc3luY2VkLWNvbG9yOiM3YTAwZGY7LS13cC1ibG9jay1zeW5jZWQtY29sb3ItLXJnYjoxMjIsMCwyMjM7LS13cC1ib3VuZC1ibG9jay1jb2xvcjp2YXIoLS13cC1ibG9jay1zeW5jZWQtY29sb3IpOy0td3AtZWRpdG9yLWNhbnZhcy1iYWNrZ3JvdW5kOiNkZGQ7LS13cC1hZG1pbi10aGVtZS1jb2xvcjojMDA3Y2JhOy0td3AtYWRtaW4tdGhlbWUtY29sb3ItLXJnYjowLDEyNCwxODY7LS13cC1hZG1pbi10aGVtZS1jb2xvci1kYXJrZXItMTA6IzAwNmJhMTstLXdwLWFkbWluLXRoZW1lLWNvbG9yLWRhcmtlci0xMC0tcmdiOjAsMTA3LDE2MC41Oy0td3AtYWRtaW4tdGhlbWUtY29sb3ItZGFya2VyLTIwOiMwMDVhODc7LS13cC1hZG1pbi10aGVtZS1jb2xvci1kYXJrZXItMjAtLXJnYjowLDkwLDEzNTstLXdwLWFkbWluLWJvcmRlci13aWR0aC1mb2N1czoycHh9QG1lZGlhIChtaW4tcmVzb2x1dGlvbjoxOTJkcGkpezpyb290ey0td3AtYWRtaW4tYm9yZGVyLXdpZHRoLWZvY3VzOjEuNXB4fX0ud3AtZWxlbWVudC1idXR0b257Y3Vyc29yOnBvaW50ZXJ9OnJvb3QgLmhhcy12ZXJ5LWxpZ2h0LWdyYXktYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9OnJvb3QgLmhhcy12ZXJ5LWRhcmstZ3JheS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IzMxMzEzMX06cm9vdCAuaGFzLXZlcnktbGlnaHQtZ3JheS1jb2xvcntjb2xvcjojZWVlfTpyb290IC5oYXMtdmVyeS1kYXJrLWdyYXktY29sb3J7Y29sb3I6IzMxMzEzMX06cm9vdCAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tdG8tdml2aWQtY3lhbi1ibHVlLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMwMGQwODQsIzA2OTNlMyl9OnJvb3QgLmhhcy1wdXJwbGUtY3J1c2gtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzM0ZTJlNCwjNDcyMWZiIDUwJSwjYWIxZGZlKX06cm9vdCAuaGFzLWhhenktZGF3bi1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjZmFhY2E4LCNkYWQwZWMpfTpyb290IC5oYXMtc3ViZHVlZC1vbGl2ZS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjZmFmYWUxLCM2N2E2NzEpfTpyb290IC5oYXMtYXRvbWljLWNyZWFtLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNmZGQ3OWEsIzAwNGE1OSl9OnJvb3QgLmhhcy1uaWdodHNoYWRlLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMzMzA5NjgsIzMxY2RjZil9OnJvb3QgLmhhcy1taWRuaWdodC1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjMDIwMzgxLCMyODc0ZmMpfTpyb290ey0td3AtLXByZXNldC0tZm9udC1zaXplLS1ub3JtYWw6MTZweDstLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0taHVnZTo0MnB4fS5oYXMtcmVndWxhci1mb250LXNpemV7Zm9udC1zaXplOjFlbX0uaGFzLWxhcmdlci1mb250LXNpemV7Zm9udC1zaXplOjIuNjI1ZW19Lmhhcy1ub3JtYWwtZm9udC1zaXple2ZvbnQtc2l6ZTp2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLW5vcm1hbCl9Lmhhcy1odWdlLWZvbnQtc2l6ZXtmb250LXNpemU6dmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1odWdlKX06cm9vdCAuaGFzLXRleHQtYWxpZ24tY2VudGVye3RleHQtYWxpZ246Y2VudGVyfTpyb290IC5oYXMtdGV4dC1hbGlnbi1sZWZ0e3RleHQtYWxpZ246bGVmdH06cm9vdCAuaGFzLXRleHQtYWxpZ24tcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uaGFzLWZpdC10ZXh0e3doaXRlLXNwYWNlOm5vd3JhcCFpbXBvcnRhbnR9I2VuZC1yZXNpemFibGUtZWRpdG9yLXNlY3Rpb257ZGlzcGxheTpub25lfS5hbGlnbmNlbnRlcntjbGVhcjpib3RofS5pdGVtcy1qdXN0aWZpZWQtbGVmdHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uaXRlbXMtanVzdGlmaWVkLWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5pdGVtcy1qdXN0aWZpZWQtcmlnaHR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5pdGVtcy1qdXN0aWZpZWQtc3BhY2UtYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uc2NyZWVuLXJlYWRlci10ZXh0e3dvcmQtd3JhcDpub3JtYWwhaW1wb3J0YW50O2JvcmRlcjowO2NsaXAtcGF0aDppbnNldCg1MCUpO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d29yZC1icmVhazpub3JtYWwhaW1wb3J0YW50fS5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojZGRkO2NsaXAtcGF0aDpub25lO2NvbG9yOiM0NDQ7ZGlzcGxheTpibG9jaztmb250LXNpemU6MWVtO2hlaWdodDphdXRvO2xlZnQ6NXB4O2xpbmUtaGVpZ2h0Om5vcm1hbDtwYWRkaW5nOjE1cHggMjNweCAxNHB4O3RleHQtZGVjb3JhdGlvbjpub25lO3RvcDo1cHg7d2lkdGg6YXV0bzt6LWluZGV4OjEwMDAwMH1odG1sIDp3aGVyZSguaGFzLWJvcmRlci1jb2xvcil7Ym9yZGVyLXN0eWxlOnNvbGlkfWh0bWwgOndoZXJlKFtzdHlsZV49Ym9yZGVyLWNvbG9yXSxbc3R5bGUqPSI7Ym9yZGVyLWNvbG9yIl0sW3N0eWxlKj0iOyBib3JkZXItY29sb3IiXSl7Ym9yZGVyLXN0eWxlOnNvbGlkfWh0bWwgOndoZXJlKFtzdHlsZV49Ym9yZGVyLXRvcC1jb2xvcl0sW3N0eWxlKj0iO2JvcmRlci10b3AtY29sb3IiXSxbc3R5bGUqPSI7IGJvcmRlci10b3AtY29sb3IiXSl7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZH1odG1sIDp3aGVyZShbc3R5bGVePWJvcmRlci1yaWdodC1jb2xvcl0sW3N0eWxlKj0iO2JvcmRlci1yaWdodC1jb2xvciJdLFtzdHlsZSo9IjsgYm9yZGVyLXJpZ2h0LWNvbG9yIl0pe2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZH1odG1sIDp3aGVyZShbc3R5bGVePWJvcmRlci1ib3R0b20tY29sb3JdLFtzdHlsZSo9Ijtib3JkZXItYm90dG9tLWNvbG9yIl0sW3N0eWxlKj0iOyBib3JkZXItYm90dG9tLWNvbG9yIl0pe2JvcmRlci1ib3R0b20tc3R5bGU6c29saWR9aHRtbCA6d2hlcmUoW3N0eWxlXj1ib3JkZXItbGVmdC1jb2xvcl0sW3N0eWxlKj0iO2JvcmRlci1sZWZ0LWNvbG9yIl0sW3N0eWxlKj0iOyBib3JkZXItbGVmdC1jb2xvciJdKXtib3JkZXItbGVmdC1zdHlsZTpzb2xpZH1odG1sIDp3aGVyZShbc3R5bGVePWJvcmRlci13aWR0aF0sW3N0eWxlKj0iO2JvcmRlci13aWR0aCJdLFtzdHlsZSo9IjsgYm9yZGVyLXdpZHRoIl0pe2JvcmRlci1zdHlsZTpzb2xpZH1odG1sIDp3aGVyZShbc3R5bGVePWJvcmRlci10b3Atd2lkdGhdLFtzdHlsZSo9Ijtib3JkZXItdG9wLXdpZHRoIl0sW3N0eWxlKj0iOyBib3JkZXItdG9wLXdpZHRoIl0pe2JvcmRlci10b3Atc3R5bGU6c29saWR9aHRtbCA6d2hlcmUoW3N0eWxlXj1ib3JkZXItcmlnaHQtd2lkdGhdLFtzdHlsZSo9Ijtib3JkZXItcmlnaHQtd2lkdGgiXSxbc3R5bGUqPSI7IGJvcmRlci1yaWdodC13aWR0aCJdKXtib3JkZXItcmlnaHQtc3R5bGU6c29saWR9aHRtbCA6d2hlcmUoW3N0eWxlXj1ib3JkZXItYm90dG9tLXdpZHRoXSxbc3R5bGUqPSI7Ym9yZGVyLWJvdHRvbS13aWR0aCJdLFtzdHlsZSo9IjsgYm9yZGVyLWJvdHRvbS13aWR0aCJdKXtib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkfWh0bWwgOndoZXJlKFtzdHlsZV49Ym9yZGVyLWxlZnQtd2lkdGhdLFtzdHlsZSo9Ijtib3JkZXItbGVmdC13aWR0aCJdLFtzdHlsZSo9IjsgYm9yZGVyLWxlZnQtd2lkdGgiXSl7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWR9aHRtbCA6d2hlcmUoaW1nW2NsYXNzKj13cC1pbWFnZS1dKXtoZWlnaHQ6YXV0bzttYXgtd2lkdGg6MTAwJX06d2hlcmUoZmlndXJlKXttYXJnaW46MCAwIDFlbX1odG1sIDp3aGVyZSguaXMtcG9zaXRpb24tc3RpY2t5KXstLXdwLWFkbWluLS1hZG1pbi1iYXItLXBvc2l0aW9uLW9mZnNldDp2YXIoLS13cC1hZG1pbi0tYWRtaW4tYmFyLS1oZWlnaHQsMHB4KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KXtodG1sIDp3aGVyZSguaXMtcG9zaXRpb24tc3RpY2t5KXstLXdwLWFkbWluLS1hZG1pbi1iYXItLXBvc2l0aW9uLW9mZnNldDowcHh9fQoKLyojIHNvdXJjZVVSTD0vd3AtaW5jbHVkZXMvY3NzL2Rpc3QvYmxvY2stbGlicmFyeS9jb21tb24ubWluLmNzcyAqLwo8L3N0eWxlPgo8c3R5bGUgaWQ9ImNsYXNzaWMtdGhlbWUtc3R5bGVzLWlubGluZS1jc3MiPgovKiEgVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkICovCi53cC1ibG9jay1idXR0b25fX2xpbmt7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMjM3M2M7Ym9yZGVyLXJhZGl1czo5OTk5cHg7Ym94LXNoYWRvdzpub25lO3RleHQtZGVjb3JhdGlvbjpub25lO3BhZGRpbmc6Y2FsYyguNjY3ZW0gKyAycHgpIGNhbGMoMS4zMzNlbSArIDJweCk7Zm9udC1zaXplOjEuMTI1ZW19LndwLWJsb2NrLWZpbGVfX2J1dHRvbntiYWNrZ3JvdW5kOiMzMjM3M2M7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZX0KLyojIHNvdXJjZVVSTD0vd3AtaW5jbHVkZXMvY3NzL2NsYXNzaWMtdGhlbWVzLm1pbi5jc3MgKi8KPC9zdHlsZT4KCjxzdHlsZSBpZD0iZ2xvYmFsLXN0eWxlcy1pbmxpbmUtY3NzIj4KOnJvb3R7LS13cC0tcHJlc2V0LS1hc3BlY3QtcmF0aW8tLXNxdWFyZTogMTstLXdwLS1wcmVzZXQtLWFzcGVjdC1yYXRpby0tNC0zOiA0LzM7LS13cC0tcHJlc2V0LS1hc3BlY3QtcmF0aW8tLTMtNDogMy80Oy0td3AtLXByZXNldC0tYXNwZWN0LXJhdGlvLS0zLTI6IDMvMjstLXdwLS1wcmVzZXQtLWFzcGVjdC1yYXRpby0tMi0zOiAyLzM7LS13cC0tcHJlc2V0LS1hc3BlY3QtcmF0aW8tLTE2LTk6IDE2Lzk7LS13cC0tcHJlc2V0LS1hc3BlY3QtcmF0aW8tLTktMTY6IDkvMTY7LS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2s6ICMwMDAwMDA7LS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheTogI2FiYjhjMzstLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZTogI2ZmZmZmZjstLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbms6ICNmNzhkYTc7LS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkOiAjY2YyZTJlOy0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZTogI2ZmNjkwMDstLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcjogI2ZjYjkwMDstLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuOiAjN2JkY2I1Oy0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW46ICMwMGQwODQ7LS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWU6ICM4ZWQxZmM7LS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlOiAjMDY5M2UzOy0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZTogIzliNTFlMDstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYig2LDE0NywyMjcpIDAlLHJnYigxNTUsODEsMjI0KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDEyMiwyMjAsMTgwKSAwJSxyZ2IoMCwyMDgsMTMwKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2U6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1MiwxODUsMCkgMCUscmdiKDI1NSwxMDUsMCkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjU1LDEwNSwwKSAwJSxyZ2IoMjA3LDQ2LDQ2KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS12ZXJ5LWxpZ2h0LWdyYXktdG8tY3lhbi1ibHVpc2gtZ3JheTogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjM4LDIzOCwyMzgpIDAlLHJnYigxNjksMTg0LDE5NSkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tY29vbC10by13YXJtLXNwZWN0cnVtOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYig3NCwyMzQsMjIwKSAwJSxyZ2IoMTUxLDEyMCwyMDkpIDIwJSxyZ2IoMjA3LDQyLDE4NikgNDAlLHJnYigyMzgsNDQsMTMwKSA2MCUscmdiKDI1MSwxMDUsOTgpIDgwJSxyZ2IoMjU0LDI0OCw3NikgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTUsMjA2LDIzNikgMCUscmdiKDE1MiwxNTAsMjQwKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1ib3JkZWF1eDogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjU0LDIwNSwxNjUpIDAlLHJnYigyNTQsNDUsNDUpIDUwJSxyZ2IoMTA3LDAsNjIpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2s6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1NSwyMDMsMTEyKSAwJSxyZ2IoMTk5LDgxLDE5MikgNTAlLHJnYig2NSw4OCwyMDgpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1NSwyNDUsMjAzKSAwJSxyZ2IoMTgyLDIyNywyMTIpIDUwJSxyZ2IoNTEsMTY3LDE4MSkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3M6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDIwMiwyNDgsMTI4KSAwJSxyZ2IoMTEzLDIwNiwxMjYpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyLDMsMTI5KSAwJSxyZ2IoNDAsMTE2LDI1MikgMTAwJSk7LS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsOiAxM3B4Oy0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW06IDIwcHg7LS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Oy0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlOiA0MnB4Oy0td3AtLXByZXNldC0tc3BhY2luZy0tMjA6IDAuNDRyZW07LS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zMDogMC42N3JlbTstLXdwLS1wcmVzZXQtLXNwYWNpbmctLTQwOiAxcmVtOy0td3AtLXByZXNldC0tc3BhY2luZy0tNTA6IDEuNXJlbTstLXdwLS1wcmVzZXQtLXNwYWNpbmctLTYwOiAyLjI1cmVtOy0td3AtLXByZXNldC0tc3BhY2luZy0tNzA6IDMuMzhyZW07LS13cC0tcHJlc2V0LS1zcGFjaW5nLS04MDogNS4wNnJlbTstLXdwLS1wcmVzZXQtLXNoYWRvdy0tbmF0dXJhbDogNnB4IDZweCA5cHggcmdiYSgwLCAwLCAwLCAwLjIpOy0td3AtLXByZXNldC0tc2hhZG93LS1kZWVwOiAxMnB4IDEycHggNTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7LS13cC0tcHJlc2V0LS1zaGFkb3ctLXNoYXJwOiA2cHggNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7LS13cC0tcHJlc2V0LS1zaGFkb3ctLW91dGxpbmVkOiA2cHggNnB4IDBweCAtM3B4IHJnYigyNTUsIDI1NSwgMjU1KSwgNnB4IDZweCByZ2IoMCwgMCwgMCk7LS13cC0tcHJlc2V0LS1zaGFkb3ctLWNyaXNwOiA2cHggNnB4IDBweCByZ2IoMCwgMCwgMCk7fS53cC1ibG9jay1idXR0b257LS13cC0tcHJlc2V0LS1kaW1lbnNpb24tLTI1OiAyNSU7LS13cC0tcHJlc2V0LS1kaW1lbnNpb24tLTUwOiA1MCU7LS13cC0tcHJlc2V0LS1kaW1lbnNpb24tLTc1OiA3NSU7LS13cC0tcHJlc2V0LS1kaW1lbnNpb24tLTEwMDogMTAwJTt9OndoZXJlKGJvZHkpIHsgbWFyZ2luOiAwOyB9OndoZXJlKC5pcy1sYXlvdXQtZmxleCl7Z2FwOiAwLjVlbTt9OndoZXJlKC5pcy1sYXlvdXQtZ3JpZCl7Z2FwOiAwLjVlbTt9Ym9keSAuaXMtbGF5b3V0LWZsZXh7ZGlzcGxheTogZmxleDt9LmlzLWxheW91dC1mbGV4e2ZsZXgtd3JhcDogd3JhcDthbGlnbi1pdGVtczogY2VudGVyO30uaXMtbGF5b3V0LWZsZXggPiA6aXMoKiwgZGl2KXttYXJnaW46IDA7fWJvZHkgLmlzLWxheW91dC1ncmlke2Rpc3BsYXk6IGdyaWQ7fS5pcy1sYXlvdXQtZ3JpZCA+IDppcygqLCBkaXYpe21hcmdpbjogMDt9Ym9keXtwYWRkaW5nLXRvcDogMHB4O3BhZGRpbmctcmlnaHQ6IDBweDtwYWRkaW5nLWJvdHRvbTogMHB4O3BhZGRpbmctbGVmdDogMHB4O306cm9vdCA6d2hlcmUoLndwLWVsZW1lbnQtYnV0dG9uLCAud3AtYmxvY2stYnV0dG9uX19saW5rKXtiYWNrZ3JvdW5kLWNvbG9yOiAjMzIzNzNjO2JvcmRlci13aWR0aDogMDtjb2xvcjogI2ZmZjtmb250LWZhbWlseTogaW5oZXJpdDtmb250LXNpemU6IGluaGVyaXQ7Zm9udC1zdHlsZTogaW5oZXJpdDtmb250LXdlaWdodDogaW5oZXJpdDtsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtsaW5lLWhlaWdodDogaW5oZXJpdDtwYWRkaW5nLXRvcDogY2FsYygwLjY2N2VtICsgMnB4KTtwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuMzMzZW0gKyAycHgpO3BhZGRpbmctYm90dG9tOiBjYWxjKDAuNjY3ZW0gKyAycHgpO3BhZGRpbmctbGVmdDogY2FsYygxLjMzM2VtICsgMnB4KTt0ZXh0LWRlY29yYXRpb246IG5vbmU7dGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7fS5oYXMtYmxhY2stY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDt9Lmhhcy1jeWFuLWJsdWlzaC1ncmF5LWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDt9Lmhhcy13aGl0ZS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtcGluay1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1yZWQtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtb3JhbmdlLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7fS5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtZ3JlZW4tY3lhbi1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1jeWFuLWJsdWUtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1jeWFuLWJsdWUtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcHVycGxlLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50O30uaGFzLWJsYWNrLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50O30uaGFzLWN5YW4tYmx1aXNoLWdyYXktYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDt9Lmhhcy13aGl0ZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDt9Lmhhcy1wYWxlLXBpbmstYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXJlZC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtb3JhbmdlLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDt9Lmhhcy1saWdodC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtZ3JlZW4tY3lhbi1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtY3lhbi1ibHVlLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcHVycGxlLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy1ibGFjay1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7fS5oYXMtY3lhbi1ibHVpc2gtZ3JheS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDt9Lmhhcy13aGl0ZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1waW5rLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcmVkLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtb3JhbmdlLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50O30uaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtZ3JlZW4tY3lhbi1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy1wYWxlLWN5YW4tYmx1ZS1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtY3lhbi1ibHVlLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcHVycGxlLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtY3lhbi1ibHVlLXRvLXZpdmlkLXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50O30uaGFzLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbi1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQpICFpbXBvcnRhbnQ7fS5oYXMtdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXktZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7fS5oYXMtY29vbC10by13YXJtLXNwZWN0cnVtLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWNvb2wtdG8td2FybS1zcGVjdHJ1bSkgIWltcG9ydGFudDt9Lmhhcy1ibHVzaC1saWdodC1wdXJwbGUtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlKSAhaW1wb3J0YW50O30uaGFzLWJsdXNoLWJvcmRlYXV4LWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4KSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLWR1c2stZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtZHVzaykgIWltcG9ydGFudDt9Lmhhcy1wYWxlLW9jZWFuLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW4pICFpbXBvcnRhbnQ7fS5oYXMtZWxlY3RyaWMtZ3Jhc3MtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3MpICFpbXBvcnRhbnQ7fS5oYXMtbWlkbmlnaHQtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbWlkbmlnaHQpICFpbXBvcnRhbnQ7fS5oYXMtc21hbGwtZm9udC1zaXple2ZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1zbWFsbCkgIWltcG9ydGFudDt9Lmhhcy1tZWRpdW0tZm9udC1zaXple2ZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pICFpbXBvcnRhbnQ7fS5oYXMtbGFyZ2UtZm9udC1zaXple2ZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1sYXJnZSkgIWltcG9ydGFudDt9Lmhhcy14LWxhcmdlLWZvbnQtc2l6ZXtmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0teC1sYXJnZSkgIWltcG9ydGFudDt9Ci8qIyBzb3VyY2VVUkw9Z2xvYmFsLXN0eWxlcy1pbmxpbmUtY3NzICovCjwvc3R5bGU+Cgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdhcmVuYS1zdHlsZS1jc3MnIGhyZWY9J2h0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3RoZW1lcy9hcmVuYS9zdHlsZS5jc3M/dmVyPTIuNi4xMCcgbWVkaWE9J2FsbCcgLz4KPHN0eWxlIGlkPSJhcmVuYS1zdHlsZS1pbmxpbmUtY3NzIj4KOnJvb3R7LS1pY29uLXNpemU6IDcycHg7IC0taWNvbi1yYWRpdXM6IDBweDsgLS1tZW51LWljb24tYmc6IHRyYW5zcGFyZW50OyAtLW1lbnUtaWNvbi1jb2xvcjogI2ZmZmZmZjsgLS1tZW51LWljb24tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLS1tZW51LWljb24tYm9yZGVyLXdpZHRoOiAwcHg7IC0tYmFjay1idG4tYmc6IHJnYmEoMjU1LDI1NSwyNTUsLjEpOyAtLWJhY2stYnRuLWJvcmRlcjogcmdiYSgyNTUsMjU1LDI1NSwuMTIpOyAtLWJhY2stYnRuLWZnOiAjZmZmZmZmOyB9OnJvb3R7LS1hcmVuYS1iZy1pbWFnZTp1cmwoJ2h0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3VwbG9hZHMvZm9uZC1tZW51LmpwZycpO306cm9vdHstLWFyZW5hLWJnLW92ZXJsYXktZGlzcGxheTpibG9jazstLWFyZW5hLWJnLW92ZXJsYXktc3RhcnQ6cmdiYSgwLDAsMCwwLjg1KTstLWFyZW5hLWJnLW92ZXJsYXktbWlkZGxlOnJnYmEoMCwwLDAsMC43Myk7LS1hcmVuYS1iZy1vdmVybGF5LWVuZDpyZ2JhKDAsMCwwLDApO306cm9vdHstLWhlYWRlci1oOjcwcHg7LS1oZWFkZXItbG9nby1tYXgtaDo1MHB4O30uc2l0ZS1oZWFkZXJ7YmFja2dyb3VuZDogcmdiYSgzMSwzMSwzMSwxKTt9Ym9keXtmb250LWZhbWlseTonQWthdGFiJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O31oMSxoMixoMyxoNCxoNSxoNiwuc2l0ZS10aXRsZSwuaWNvbi1sYWJlbHtmb250LWZhbWlseTonQWthdGFiJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO30uaWNvbi1sYWJlbHtmb250LWZhbWlseTonQWthdGFiJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmIWltcG9ydGFudDt9Lmljb24tbGFiZWx7Y29sb3I6I2ZmZmZmZjt9aDEsaDIsaDMsaDQsaDUsaDZ7Y29sb3I6ICNmZmZmZmY7fWJvZHl7Y29sb3I6ICNmZmZmZmY7fSAuc2l0ZS1mb290ZXJ7Y29sb3I6I2ZmZmZmZkNDO30ucGFnZS1jb250ZW50e2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpO30ucGFnZS1jb250ZW50IGgxe2NvbG9yOiNmZmZmZmY7Zm9udC1zaXplOjMycHg7fS5wYWdlLWNvbnRlbnQgaDJ7Y29sb3I6I2ZmZmZmZjtmb250LXNpemU6MjZweDt9LnBhZ2UtY29udGVudCBoM3tjb2xvcjojZmZmZmZmO2ZvbnQtc2l6ZToyMnB4O30ucGFnZS1jb250ZW50IGg0e2NvbG9yOiNmZmZmZmY7Zm9udC1zaXplOjIwcHg7fS5wYWdlLWNvbnRlbnQgaDV7Y29sb3I6I2ZmZmZmZjtmb250LXNpemU6MThweDt9Lmljb24tbGFiZWx7Zm9udC1zaXplOiAxNXB4O30KI2FyZW5hLWluc3RhbGwtcHJvbXB0e3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6OTk5OTk5O2xlZnQ6MTJweDtyaWdodDoxMnB4O3RvcDowO21heC13aWR0aDo1NjBweDttYXJnaW46YXV0bztwYWRkaW5nOjE4cHggMThweCAxNnB4O2JvcmRlci1yYWRpdXM6MCAwIDIwcHggMjBweDtiYWNrZ3JvdW5kOiMwOTA5MDk7Y29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMThweCA2MHB4IHJnYmEoMCwwLDAsLjQ4KTtkaXNwbGF5OmdyaWQ7Z2FwOjEwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTExNSUpO29wYWNpdHk6MDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNDVzIGVhc2Usb3BhY2l0eSAuMzVzIGVhc2V9I2FyZW5hLWluc3RhbGwtcHJvbXB0LmlzLXZpc2libGV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7b3BhY2l0eToxfSNhcmVuYS1pbnN0YWxsLXByb21wdCBzdHJvbmd7Zm9udC1zaXplOjE4cHg7cGFkZGluZy1yaWdodDozMHB4fSNhcmVuYS1pbnN0YWxsLXByb21wdCBzcGFue2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNDtjb2xvcjojZGRkfS5hcmVuYS1wcm9tcHQtc3RhdHVzOmVtcHR5e2Rpc3BsYXk6bm9uZX0uYXJlbmEtcHJvbXB0LXN0YXR1c3twYWRkaW5nOjhweCAxMHB4O2JvcmRlci1yYWRpdXM6OXB4O2JhY2tncm91bmQ6IzIwMjAyMDtjb2xvcjojZmZmIWltcG9ydGFudH0uYXJlbmEtaW5zdGFsbC1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMHB4O3RvcDo4cHg7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojZmZmO2ZvbnQtc2l6ZToyOHB4fS5hcmVuYS1pbnN0YWxsLWFjdGlvbiwuYXJlbmEtbm90aWZ5LWFjdGlvbntib3JkZXI6MDtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxMXB4IDE0cHg7Zm9udC13ZWlnaHQ6ODAwO2N1cnNvcjpwb2ludGVyfS5hcmVuYS1pbnN0YWxsLWFjdGlvbntiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzExMX0uYXJlbmEtbm90aWZ5LWFjdGlvbntiYWNrZ3JvdW5kOiMyNTYzZWI7Y29sb3I6I2ZmZn0uYXJlbmEtbm90aWZ5LWFjdGlvbi5pcy1lbmFibGVke2JhY2tncm91bmQ6IzE2YTM0YTtjb2xvcjojZmZmO29wYWNpdHk6MX0uYXJlbmEtaW5zdGFsbC1hY3Rpb246ZGlzYWJsZWQsLmFyZW5hLW5vdGlmeS1hY3Rpb246ZGlzYWJsZWR7b3BhY2l0eTouNjU7Y3Vyc29yOmRlZmF1bHR9LmFyZW5hLW5vdGlmeS1hY3Rpb24uaXMtZW5hYmxlZDpkaXNhYmxlZHtvcGFjaXR5OjF9Lmljb24tY2FyZHtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudH0uaWNvbi1jYXJkLmFyZW5hLWhhcy1saXZlOmFmdGVye2NvbnRlbnQ6YXR0cihkYXRhLWFyZW5hLWxpdmUtY291bnQpO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6Y2FsYyg1MCUgKyAodmFyKC0taWNvbi1zaXplKSAvIDIpIC0gMTVweCk7dG9wOjZweDt6LWluZGV4OjIwO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6MjBweDtoZWlnaHQ6MjBweDtwYWRkaW5nOjAgNXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6I2VmMjMzYztjb2xvcjojZmZmO2ZvbnQ6ODAwIDExcHgvMSBzeXN0ZW0tdWksc2Fucy1zZXJpZjtib3gtc2hhZG93Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZX0KLyojIHNvdXJjZVVSTD1hcmVuYS1zdHlsZS1pbmxpbmUtY3NzICovCjwvc3R5bGU+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2FyZW5hLWdvb2dsZS1mb250LTEtY3NzJyBocmVmPSdodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtY29udGVudC91cGxvYWRzL2FyZW5hLWdvb2dsZS1mb250cy9ha2F0YWItYjQwY2NlYzMwMDY5L2ZvbnQuY3NzP3Zlcj0xNzkwMTU3OTc4JyBtZWRpYT0nYWxsJyAvPgo8c2NyaXB0Pjwvc2NyaXB0PjxsaW5rIHJlbD0iaHR0cHM6Ly9hcGkudy5vcmcvIiBocmVmPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtanNvbi8iIC8+PGxpbmsgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJKU09OIiB0eXBlPSJhcHBsaWNhdGlvbi9qc29uIiBocmVmPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtanNvbi93cC92Mi9wYWdlcy83NjQiIC8+ICAgIDxzY3JpcHQ+CiAgICAoZnVuY3Rpb24oKXsKICAgICAgZnVuY3Rpb24gZmFMb29rc0xvYWRlZCgpewogICAgICAgIHRyeXsKICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2knKTsKICAgICAgICAgIGVsLmNsYXNzTmFtZSA9ICdmYS1icmFuZHMgZmEtdHJpcGFkdmlzb3InOwogICAgICAgICAgZWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnOwogICAgICAgICAgZWwuc3R5bGUubGVmdCA9ICctOTk5OXB4JzsKICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChlbCk7CiAgICAgICAgICB2YXIgZmFtID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtZmFtaWx5JykgfHwgJyc7CiAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoZWwpOwogICAgICAgICAgcmV0dXJuIC9Gb250IEF3ZXNvbWUvaS50ZXN0KGZhbSk7CiAgICAgICAgfWNhdGNoKGUpeyByZXR1cm4gZmFsc2U7IH0KICAgICAgfQogICAgICBmdW5jdGlvbiBpbmplY3QoaHJlZil7CiAgICAgICAgdmFyIGwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7CiAgICAgICAgbC5yZWwgPSAnc3R5bGVzaGVldCc7CiAgICAgICAgbC5ocmVmID0gaHJlZjsKICAgICAgICBsLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7CiAgICAgICAgbC5yZWZlcnJlclBvbGljeSA9ICduby1yZWZlcnJlcic7CiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsKTsKICAgICAgfQogICAgICBpZiAoIWZhTG9va3NMb2FkZWQoKSl7CiAgICAgICAgaW5qZWN0KCdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9mb250LWF3ZXNvbWUvNi41LjIvY3NzL2FsbC5taW4uY3NzJyk7CiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgaWYgKCFmYUxvb2tzTG9hZGVkKCkpewogICAgICAgICAgICBpbmplY3QoJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWVANi41LjIvY3NzL2FsbC5taW4uY3NzJyk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICBpZiAoIWZhTG9va3NMb2FkZWQoKSl7CiAgICAgICAgICAgICAgICBpbmplY3QoJ2h0dHBzOi8vdW5wa2cuY29tL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlQDYuNS4yL2Nzcy9hbGwubWluLmNzcycpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgNjAwKTsKICAgICAgICAgIH0KICAgICAgICB9LCA2MDApOwogICAgICB9CiAgICB9KSgpOwogICAgPC9zY3JpcHQ+CiAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPnsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAZ3JhcGgiOlt7IkB0eXBlIjoiTG9jYWxCdXNpbmVzcyIsIkBpZCI6Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS8jb3JnYW5pemF0aW9uIiwibmFtZSI6IkFyY2FkZSBSw6lhbGlzYXRpb25zIiwidXJsIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyIsImxvZ28iOiJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtY29udGVudC91cGxvYWRzL2xvZ28tYXJjYWRlLndlYnAiLCJkZXNjcmlwdGlvbiI6IkFyY2FkZSBSw6lhbGlzYXRpb25zIGVzdCB1biBidXJlYXUgZOKAmWluZ8OpbmllcmllIGV0IGTigJnDqXR1ZGVzIGR1IGLDonRpbWVudCBjcsOpw6kgZW4gMjAwOC4gTOKAmWVudHJlcHJpc2UgaW50ZXJ2aWVudCBlbiBjb25jZXB0aW9uLCBtYcOudHJpc2UgZOKAmcWTdXZyZSwgY29uc3RydWN0aW9uIGNsw6kgZW4gbWFpbiwgZXh0ZW5zaW9uIGV0IHLDqWhhYmlsaXRhdGlvbiBkZSBiw6J0aW1lbnRzIHByb2Zlc3Npb25uZWxzLiIsInRlbGVwaG9uZSI6IjAyIDMzIDIwIDU3IDkzIiwiZW1haWwiOiJ0cmF2YXV4QGFyY2FkZS1yZWFsaXNhdGlvbnMuZnIiLCJvcGVuaW5nSG91cnNTcGVjaWZpY2F0aW9uIjpbeyJAdHlwZSI6Ik9wZW5pbmdIb3Vyc1NwZWNpZmljYXRpb24iLCJkYXlPZldlZWsiOlsiaHR0cHM6Ly9zY2hlbWEub3JnL01vbmRheSIsImh0dHBzOi8vc2NoZW1hLm9yZy9UdWVzZGF5IiwiaHR0cHM6Ly9zY2hlbWEub3JnL1dlZG5lc2RheSIsImh0dHBzOi8vc2NoZW1hLm9yZy9UaHVyc2RheSIsImh0dHBzOi8vc2NoZW1hLm9yZy9GcmlkYXkiXSwib3BlbnMiOiIwODozMCIsImNsb3NlcyI6IjE4OjAwIn1dLCJhZGRyZXNzIjp7IkB0eXBlIjoiUG9zdGFsQWRkcmVzcyIsInN0cmVldEFkZHJlc3MiOiIzMjUgUnVlIGRlIFNhdXhtYXJhaXMsIFRvdXJsYXZpbGxlIiwicG9zdGFsQ29kZSI6IjUwMTEwIiwiYWRkcmVzc0xvY2FsaXR5IjoiQ2hlcmJvdXJnLWVuLUNvdGVudGluIiwiYWRkcmVzc0NvdW50cnkiOiJGUiJ9LCJzYW1lQXMiOlsiaHR0cHM6Ly9mci5saW5rZWRpbi5jb20vY29tcGFueS9hcmNhZGUtcmVhbGlzYXRpb25zIl19LHsiQHR5cGUiOiJXZWJTaXRlIiwiQGlkIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyN3ZWJzaXRlIiwidXJsIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyIsIm5hbWUiOiJBcmNhZGUgUsOpYWxpc2F0aW9ucyIsImRlc2NyaXB0aW9uIjoiQXJjYWRlIFLDqWFsaXNhdGlvbnMgZXN0IHVuIGJ1cmVhdSBk4oCZaW5nw6luaWVyaWUgZXQgZOKAmcOpdHVkZXMgZHUgYsOidGltZW50IGNyw6nDqSBlbiAyMDA4LiBM4oCZZW50cmVwcmlzZSBpbnRlcnZpZW50IGVuIGNvbmNlcHRpb24sIG1hw650cmlzZSBk4oCZxZN1dnJlLCBjb25zdHJ1Y3Rpb24gY2zDqSBlbiBtYWluLCBleHRlbnNpb24gZXQgcsOpaGFiaWxpdGF0aW9uIGRlIGLDonRpbWVudHMgcHJvZmVzc2lvbm5lbHMuIiwicHVibGlzaGVyIjp7IkBpZCI6Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS8jb3JnYW5pemF0aW9uIn0sImluTGFuZ3VhZ2UiOiJmci1GUiJ9LHsiQHR5cGUiOiJXZWJQYWdlIiwiQGlkIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyN3ZWJwYWdlIiwidXJsIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyIsIm5hbWUiOiJBcmNhZGUgUsOpYWxpc2F0aW9ucyDDoCBDaGVyYm91cmctZW4tQ290ZW50aW4iLCJkZXNjcmlwdGlvbiI6IkFyY2FkZSBSw6lhbGlzYXRpb25zIGVzdCB1biBidXJlYXUgZOKAmWluZ8OpbmllcmllIGV0IGTigJnDqXR1ZGVzIGR1IGLDonRpbWVudCBjcsOpw6kgZW4gMjAwOC4gTOKAmWVudHJlcHJpc2UgaW50ZXJ2aWVudCBlbiBjb25jZXB0aW9uLCBtYcOudHJpc2UgZOKAmcWTdXZyZSwgY29uc3RydWN0aW9uIGNsw6kgZW7igKYiLCJpc1BhcnRPZiI6eyJAaWQiOiJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvI3dlYnNpdGUifSwiYWJvdXQiOnsiQGlkIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lLyNvcmdhbml6YXRpb24ifSwiaW5MYW5ndWFnZSI6ImZyLUZSIiwicHJpbWFyeUltYWdlT2ZQYWdlIjp7IkB0eXBlIjoiSW1hZ2VPYmplY3QiLCJ1cmwiOiJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtY29udGVudC91cGxvYWRzL2xvZ28tYXJjYWRlLndlYnAifX1dfTwvc2NyaXB0Pgo8bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3VwbG9hZHMvY3JvcHBlZC1BcmNhZGUtcmVhbGlzYXRpb25zLTEtMzJ4MzIud2VicCIgc2l6ZXM9IjMyeDMyIiAvPgo8bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3VwbG9hZHMvY3JvcHBlZC1BcmNhZGUtcmVhbGlzYXRpb25zLTEtMTkyeDE5Mi53ZWJwIiBzaXplcz0iMTkyeDE5MiIgLz4KPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtY29udGVudC91cGxvYWRzL2Nyb3BwZWQtQXJjYWRlLXJlYWxpc2F0aW9ucy0xLTE4MHgxODAud2VicCIgLz4KPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlSW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3VwbG9hZHMvY3JvcHBlZC1BcmNhZGUtcmVhbGlzYXRpb25zLTEtMjcweDI3MC53ZWJwIiAvPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiIGRhdGEtdHlwZT0idmNfc2hvcnRjb2Rlcy1jdXN0b20tY3NzIj4udmNfY3VzdG9tXzE2OTgwMDQ5NjIxNTJ7cGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDtiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O2JhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDt9PC9zdHlsZT48bm9zY3JpcHQ+PHN0eWxlPiAud3BiX2FuaW1hdGVfd2hlbl9hbG1vc3RfdmlzaWJsZSB7IG9wYWNpdHk6IDE7IH08L3N0eWxlPjwvbm9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0iaG9tZSB3cC1zaW5ndWxhciBwYWdlLXRlbXBsYXRlLWRlZmF1bHQgcGFnZSBwYWdlLWlkLTc2NCB3cC10aGVtZS1hcmVuYSB3cGItanMtY29tcG9zZXIganMtY29tcC12ZXItOS4wLjEgdmNfcmVzcG9uc2l2ZSI+DQogIDxoZWFkZXIgY2xhc3M9InNpdGUtaGVhZGVyIiByb2xlPSJiYW5uZXIiPg0KICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbm5lciI+DQogICAgICA8YSBocmVmPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvYXBwLyIgcmVsPSJub29wZW5lciIgY2xhc3M9ImRvd25sb2FkLWJ0biIgYXJpYS1sYWJlbD0iVMOpbMOpY2hhcmdlciBs4oCZYXBwbGljYXRpb24iPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS1jbG91ZC1hcnJvdy1kb3duIj48L2k+PC9hPg0KICAgICAgICAgICAgPGgxIGNsYXNzPSJzaXRlLWJyYW5kLWhlYWRpbmciPjxhIGNsYXNzPSJzaXRlLWJyYW5kLWxpbmsiIGhyZWY9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS8iPjxpbWcgd2lkdGg9IjI1MCIgaGVpZ2h0PSI3MCIgc3JjPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtY29udGVudC91cGxvYWRzL2xvZ28tYXJjYWRlLTI1MHg3MC53ZWJwIiBjbGFzcz0ic2l0ZS1sb2dvIiBhbHQ9IkFyY2FkZSBSw6lhbGlzYXRpb25zIiBkZWNvZGluZz0iYXN5bmMiIGxvYWRpbmc9ImVhZ2VyIiBmZXRjaHByaW9yaXR5PSJoaWdoIiAvPjwvYT48L2gxPiAgICA8L2Rpdj4NCiAgPC9oZWFkZXI+DQogIDxkaXYgY2xhc3M9IndyYXAiPg0KICAgIDxtYWluIGNsYXNzPSJzaXRlLW1haW4iIHJvbGU9Im1haW4iPg0KPHVsIGNsYXNzPSJtZW51LWdyaWQiPjxsaT48YSBjbGFzcz0iaWNvbi1jYXJkICIgaHJlZj0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL2luZm9zLyI+PHNwYW4gY2xhc3M9Imljb24td3JhcCIgc3R5bGU9ImJhY2tncm91bmQ6IzFmMWYxZiI+PGltZyBzcmM9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3VwbG9hZHMvY3JvcHBlZC1BcmNhZGUtcmVhbGlzYXRpb25zLmpwZyIgYWx0PSJJbmZvcyIgY2xhc3M9ImFyZW5hLW1lbnUtaW1nIiBkZWNvZGluZz0iYXN5bmMiIC8+PC9zcGFuPjxzcGFuIGNsYXNzPSJpY29uLWxhYmVsIj5JbmZvczwvc3Bhbj48L2E+PC9saT48bGk+PGEgY2xhc3M9Imljb24tY2FyZCAiIGhyZWY9InRlbDorMzMyMzMyMDU3OTMiPjxzcGFuIGNsYXNzPSJpY29uLXdyYXAiIHN0eWxlPSJiYWNrZ3JvdW5kOiMyMGJmMzMiPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS1waG9uZSIgYXJpYS1oaWRkZW49InRydWUiPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9Imljb24tbGFiZWwiPkFwcGVsPC9zcGFuPjwvYT48L2xpPjxsaT48YSBjbGFzcz0iaWNvbi1jYXJkICIgaHJlZj0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL2VxdWlwZS8iPjxzcGFuIGNsYXNzPSJpY29uLXdyYXAiIHN0eWxlPSJiYWNrZ3JvdW5kOiNlNjAwN2UiPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS11c2VyLWdyb3VwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iaWNvbi1sYWJlbCI+Q29udGFjdHM8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJpY29uLWNhcmQgIiBocmVmPSJodHRwczovL21hcHMuYXBwLmdvby5nbC9NRmY1YzhlYkhUZkIzWnZRNiI+PHNwYW4gY2xhc3M9Imljb24td3JhcCIgc3R5bGU9ImJhY2tncm91bmQ6I2RiMzIzMiI+PGkgY2xhc3M9ImZhLXNvbGlkIGZhLW1hcC1sb2NhdGlvbi1kb3QiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+PC9zcGFuPjxzcGFuIGNsYXNzPSJpY29uLWxhYmVsIj5QbGFuPC9zcGFuPjwvYT48L2xpPjxsaT48YSBjbGFzcz0iaWNvbi1jYXJkICIgaHJlZj0iaHR0cHM6Ly9mci5saW5rZWRpbi5jb20vY29tcGFueS9hcmNhZGUtcmVhbGlzYXRpb25zIj48c3BhbiBjbGFzcz0iaWNvbi13cmFwIiBzdHlsZT0iYmFja2dyb3VuZDojMGE2NmMyIj48aSBjbGFzcz0iZmEtYnJhbmRzIGZhLWxpbmtlZGluLWluIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iaWNvbi1sYWJlbCI+TGlua2VkaW48L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJpY29uLWNhcmQgIiBocmVmPSJodHRwczovL3d3dy5hcmNhZGUtcmVhbGlzYXRpb25zLmZyLyI+PHNwYW4gY2xhc3M9Imljb24td3JhcCIgc3R5bGU9ImJhY2tncm91bmQ6I2EzYzJlMCI+PGkgY2xhc3M9ImZhLXNvbGlkIGZhLWdsb2JlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iaWNvbi1sYWJlbCI+U2l0ZSBXZWI8L3NwYW4+PC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJpY29uLWNhcmQgIiBocmVmPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvP3dlYmNvZF92Y2FyZF9kb3dubG9hZD0xJiMwMzg7dmNhcmRfaWQ9MSI+PHNwYW4gY2xhc3M9Imljb24td3JhcCIgc3R5bGU9ImJhY2tncm91bmQ6IzBhMGEwYSI+PGkgY2xhc3M9ImZhLXNvbGlkIGZhLWFkZHJlc3MtY2FyZCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9Imljb24tbGFiZWwiPnZDYXJkPC9zcGFuPjwvYT48L2xpPjxsaT48YSBjbGFzcz0iaWNvbi1jYXJkICIgaHJlZj0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL3FyY29kZS8iPjxzcGFuIGNsYXNzPSJpY29uLXdyYXAiIHN0eWxlPSJiYWNrZ3JvdW5kOiMzYTNhM2EiPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS1xcmNvZGUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+PC9zcGFuPjxzcGFuIGNsYXNzPSJpY29uLWxhYmVsIj5RUiBDb2RlPC9zcGFuPjwvYT48L2xpPjxsaT48YSBjbGFzcz0iaWNvbi1jYXJkICIgaHJlZj0iaHR0cHM6Ly91c2VyLndlYmNvZC5tZS9hcmNhZGUtcmVhbGlzYXRpb25zLyI+PHNwYW4gY2xhc3M9Imljb24td3JhcCIgc3R5bGU9ImJhY2tncm91bmQ6I2RkMzMzMyI+PGkgY2xhc3M9ImZhLXNvbGlkIGZhLWhlYXJ0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iaWNvbi1sYWJlbCI+SiYjMDM5O2FpbWUgITwvc3Bhbj48L2E+PC9saT48L3VsPg0KICAgIDwvbWFpbj4NCiAgICA8Zm9vdGVyIGNsYXNzPSJzaXRlLWZvb3RlciIgcm9sZT0iY29udGVudGluZm8iPg0KICAgICA8YSBocmVmPSIvcG9saXRpcXVlLWRlLWNvbmZpZGVudGlhbGl0ZSI+TWVudGlvbnMgbMOpZ2FsZXMgLyBDLkcuVS4gLyBQb2xpdGlxdWUgZGUgY29uZmlkZW50aWFsaXTDqTwvYT4gPGJyPiDCqSAyMDI2IEFyY2FkZSBSw6lhbGlzYXRpb25zICAgIDwvZm9vdGVyPg0KICA8L2Rpdj48IS0tIC53cmFwIC0tPg0KPHNjcmlwdCB0eXBlPSJzcGVjdWxhdGlvbnJ1bGVzIj4KeyJwcmVmZXRjaCI6W3sic291cmNlIjoiZG9jdW1lbnQiLCJ3aGVyZSI6eyJhbmQiOlt7ImhyZWZfbWF0Y2hlcyI6Ii8qIn0seyJub3QiOnsiaHJlZl9tYXRjaGVzIjpbIi93cC0qLnBocCIsIi93cC1hZG1pbi8qIiwiL3dwLWNvbnRlbnQvdXBsb2Fkcy8qIiwiL3dwLWNvbnRlbnQvKiIsIi93cC1jb250ZW50L3BsdWdpbnMvKiIsIi93cC1jb250ZW50L3RoZW1lcy9hcmVuYS8qIiwiLypcXD8oLispIl19fSx7Im5vdCI6eyJzZWxlY3Rvcl9tYXRjaGVzIjoiYVtyZWx+PVwibm9mb2xsb3dcIl0ifX0seyJub3QiOnsic2VsZWN0b3JfbWF0Y2hlcyI6Ii5uby1wcmVmZXRjaCwgLm5vLXByZWZldGNoIGEifX1dfSwiZWFnZXJuZXNzIjoiY29uc2VydmF0aXZlIn1dfQo8L3NjcmlwdD4KPHNjcmlwdCBpZD0iYXJlbmEtY2xpY2stdHJhY2tlci1qcy1leHRyYSI+CnZhciBBcmVuYUNsaWNrVHJhY2tlciA9IHsicmVzdFVybCI6Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1qc29uL2FyZW5hLWNsaWNrcy92MS9oaXQiLCJ2aXNpdFVybCI6Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1qc29uL2FyZW5hLWNsaWNrcy92MS92aXNpdCIsIm5vbmNlIjoiMTI5NWFhZjkzNiIsImhlYXJ0YmVhdFNlY29uZHMiOiIzMCJ9OwovLyMgc291cmNlVVJMPWFyZW5hLWNsaWNrLXRyYWNrZXItanMtZXh0cmEKPC9zY3JpcHQ+CjxzY3JpcHQgaWQ9ImFyZW5hLWNsaWNrLXRyYWNrZXItanMiIHNyYz0iaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL3dwLWNvbnRlbnQvcGx1Z2lucy93ZWJjb2Qtc3RhdHMvcHVibGljL2FyZW5hLWNsaWNrLXRyYWNrZXIuanM/dmVyPTEuMTEuMTciPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJhcmVuYS1uYXZpZ2F0aW9uLWpzIiBzcmM9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3RoZW1lcy9hcmVuYS9hc3NldHMvanMvbmF2aWdhdGlvbi5qcz92ZXI9MTc5MTkyODU4OCI+PC9zY3JpcHQ+CjxzY3JpcHQgaWQ9ImFyZW5hLXB3YS1lbmdhZ2VtZW50LWpzLWV4dHJhIj4KdmFyIEFyZW5hUFdBID0geyJzdyI6Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS8/YXJlbmFfcHdhX2ZpbGU9c3cmdmVyPTEuNC41IiwibGl2ZSI6Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1qc29uL2FyZW5hL3YxL2xpdmUtZXZlbnRzIiwic3Vic2NyaWJlIjoiaHR0cHM6Ly9hcmNhZGUud2ViY29kLm1lL3dwLWpzb24vYXJlbmEvdjEvcHVzaC1zdWJzY3JpcHRpb24iLCJ2YXBpZCI6IkJBU3NPMHhCZlhCSVZ6Z1RVQVAxQlF6eTdENVE3ZXZTb2dwX00xTnphRy1fendoeDJMcG5IVDZSQlpUeHBuOU1fcE1RWlFZcmpBTzJZMlkyaFN1WERWbyIsImhvbWUiOiJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvIiwic2l0ZSI6IkFyY2FkZSBSXHUwMGU5YWxpc2F0aW9ucyJ9OwovLyMgc291cmNlVVJMPWFyZW5hLXB3YS1lbmdhZ2VtZW50LWpzLWV4dHJhCjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJhcmVuYS1wd2EtZW5nYWdlbWVudC1qcy1hZnRlciI+CihmdW5jdGlvbigpew0KICBjb25zdCBjZmc9d2luZG93LkFyZW5hUFdBfHx7fTsgbGV0IGluc3RhbGxQcm9tcHQ9bnVsbCxzd1JlYWR5UHJvbWlzZT1udWxsOw0KICBjb25zdCBiNjQ9cz0+e2NvbnN0IHA9Jz0nLnJlcGVhdCgoNC1zLmxlbmd0aCU0KSU0KSxyPShzK3ApLnJlcGxhY2UoLy0vZywnKycpLnJlcGxhY2UoL18vZywnLycpLHJhdz1hdG9iKHIpO3JldHVybiBVaW50OEFycmF5LmZyb20oWy4uLnJhd10ubWFwKGM9PmMuY2hhckNvZGVBdCgwKSkpO307DQogIGNvbnN0IHdpdGhUaW1lb3V0PShwcm9taXNlLG1zLG1lc3NhZ2UpPT5Qcm9taXNlLnJhY2UoW3Byb21pc2UsbmV3IFByb21pc2UoKF8scmVqZWN0KT0+c2V0VGltZW91dCgoKT0+cmVqZWN0KG5ldyBFcnJvcihtZXNzYWdlfHwndGltZW91dCcpKSxtcykpXSk7DQogIGNvbnN0IGlzTW9iaWxlPSgpPT4vQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaXxNb2JpbGUvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfHwobmF2aWdhdG9yLnVzZXJBZ2VudERhdGEmJm5hdmlnYXRvci51c2VyQWdlbnREYXRhLm1vYmlsZT09PXRydWUpOw0KICBjb25zdCBpc0Rlc2t0b3A9KCk9PiEvQW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJigvV2luZG93cyBOVHxNYWNpbnRvc2h8WDExfENyT1N8TGludXggeDg2XzY0L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KXx8KG5hdmlnYXRvci51c2VyQWdlbnREYXRhJiZuYXZpZ2F0b3IudXNlckFnZW50RGF0YS5tb2JpbGU9PT1mYWxzZSkpOw0KICBjb25zdCBpc0lPUz0oKT0+L2lQaG9uZXxpUGFkfGlQb2QvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfHwobmF2aWdhdG9yLnBsYXRmb3JtPT09J01hY0ludGVsJyYmbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzPjEpOw0KICBjb25zdCBpc0VtYmVkZGVkQnJvd3Nlcj0oKT0+L0ZCQU58RkJBVnxGQl9JQUJ8TWVzc2VuZ2VyRm9yaU9TfEluc3RhZ3JhbXxMaW5lXC98VGlrVG9rfExpbmtlZEluQXBwfFR3aXR0ZXIvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpOw0KICBjb25zdCBpc1N0YW5kYWxvbmU9KCk9Pm1hdGNoTWVkaWEoJyhkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpJykubWF0Y2hlc3x8bmF2aWdhdG9yLnN0YW5kYWxvbmU9PT10cnVlOw0KICBjb25zdCBjYW5Ob3RpZnk9KCk9PiEhKGNmZy52YXBpZCYmJ3NlcnZpY2VXb3JrZXInaW4gbmF2aWdhdG9yJiYnUHVzaE1hbmFnZXInaW4gd2luZG93JiYnTm90aWZpY2F0aW9uJ2luIHdpbmRvdyYmKCFpc0lPUygpfHxpc1N0YW5kYWxvbmUoKSkpOw0KICBjb25zdCBub3RpZmljYXRpb25zRW5hYmxlZD0oKT0+Y2FuTm90aWZ5KCkmJk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uPT09J2dyYW50ZWQnOw0KICBjb25zdCBpbnN0YWxsZWRLZXk9J2FyZW5hSW5zdGFsbGVkT25EZXZpY2UnO2xldCBpbnN0YWxsZWRIZXJlPWlzU3RhbmRhbG9uZSgpOw0KICBmdW5jdGlvbiByZW1lbWJlckluc3RhbGxhdGlvbigpe2luc3RhbGxlZEhlcmU9dHJ1ZTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oaW5zdGFsbGVkS2V5LCcxJyk7fWNhdGNoKGUpe319DQogIGZ1bmN0aW9uIGluc3RhbGxhdGlvbktub3duKCl7aWYoaXNTdGFuZGFsb25lKCl8fGluc3RhbGxlZEhlcmUpcmV0dXJuIHRydWU7dHJ5e3JldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShpbnN0YWxsZWRLZXkpPT09JzEnO31jYXRjaChlKXtyZXR1cm4gZmFsc2U7fX0NCiAgZnVuY3Rpb24gcHJvbXB0VmlzaWJpbGl0eSgpew0KICAgIHJldHVybiB7aW5zdGFsbDohaXNEZXNrdG9wKCkmJmlzTW9iaWxlKCkmJiFpbnN0YWxsYXRpb25Lbm93bigpLG5vdGlmeTpjYW5Ob3RpZnkoKSYmIWlzRW1iZWRkZWRCcm93c2VyKCkmJk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uPT09J2RlZmF1bHQnfTsNCiAgfQ0KICBpZihpbnN0YWxsZWRIZXJlKXJlbWVtYmVySW5zdGFsbGF0aW9uKCk7DQogIGNvbnN0IHZpc2l0UHJvbXB0S2V5PSdhcmVuYVByb21wdFNob3duVGhpc1Zpc2l0JztsZXQgdmlzaXRQcm9tcHRTaG93bj1mYWxzZTsNCiAgZnVuY3Rpb24gd2FzUHJvbXB0U2hvd25UaGlzVmlzaXQoKXt0cnl7cmV0dXJuIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odmlzaXRQcm9tcHRLZXkpPT09JzEnO31jYXRjaChlKXtyZXR1cm4gdmlzaXRQcm9tcHRTaG93bjt9fQ0KICBmdW5jdGlvbiByZW1lbWJlclByb21wdEZvclZpc2l0KCl7dmlzaXRQcm9tcHRTaG93bj10cnVlO3RyeXtzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHZpc2l0UHJvbXB0S2V5LCcxJyk7fWNhdGNoKGUpe319DQogIGZ1bmN0aW9uIHNoZWxsKHJlYXNvbil7CiAgICBjb25zdCBtYW51YWw9cmVhc29uPT09J21hbnVhbCd8fHJlYXNvbj09PSdub3RpZmljYXRpb24nOwogICAgbGV0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcmVuYS1pbnN0YWxsLXByb21wdCcpOw0KICAgIGlmKGVsJiYhbWFudWFsKXJldHVybiBlbDsNCiAgICBpZihlbCllbC5yZW1vdmUoKTsNCiAgICBjb25zdCBlbWJlZGRlZD1pc0VtYmVkZGVkQnJvd3NlcigpOwogICAgY29uc3QgdmlzaWJpbGl0eT1wcm9tcHRWaXNpYmlsaXR5KCk7CiAgICBjb25zdCBzaG93SW5zdGFsbD12aXNpYmlsaXR5Lmluc3RhbGw7CiAgICBjb25zdCBub3RpZmljYXRpb25QYW5lbD1yZWFzb249PT0nbm90aWZpY2F0aW9uJ3x8KG1hbnVhbCYmIXNob3dJbnN0YWxsKTsKICAgIGNvbnN0IG5vdGlmeVN1cHBvcnRlZD1jYW5Ob3RpZnkoKSYmIWVtYmVkZGVkOwogICAgY29uc3Qgc2hvd05vdGlmeT12aXNpYmlsaXR5Lm5vdGlmeXx8KG5vdGlmaWNhdGlvblBhbmVsJiZub3RpZnlTdXBwb3J0ZWQpOwogICAgaWYoIXNob3dJbnN0YWxsJiYhc2hvd05vdGlmeSYmIW5vdGlmaWNhdGlvblBhbmVsKXJldHVybiBudWxsOwogICAgbGV0IHRpdGxlPSdSZXN0ZXogaW5mb3Jtw6kgc3VyICcrY2ZnLnNpdGU7CiAgICBsZXQgdGV4dD0nQWN0aXZleiBsZXMgbm90aWZpY2F0aW9ucyBwb3VyIMOqdHJlIGF2ZXJ0aSBkw6hzIHF14oCZdW4gamV1IG91IHVuZSBhbmltYXRpb24gZXN0IG91dmVydC4nOwogICAgaWYoc2hvd0luc3RhbGwpe3RpdGxlPSdHYXJkZXogJytjZmcuc2l0ZSsnIMOgIHBvcnTDqWUgZGUgbWFpbic7dGV4dD1zaG93Tm90aWZ5PydBam91dGV6IGNlIFdlYkNvZCDDoCB2b3RyZSDDqWNyYW4gZOKAmWFjY3VlaWwgZXQgYWN0aXZleiBsZXMgbm90aWZpY2F0aW9ucyBwb3VyIG5lIG1hbnF1ZXIgYXVjdW4gamV1Lic6J0Fqb3V0ZXogY2UgV2ViQ29kIMOgIHZvdHJlIMOpY3JhbiBk4oCZYWNjdWVpbCBwb3VyIHkgYWNjw6lkZXIgY29tbWUgw6AgdW5lIGFwcGxpY2F0aW9uLic7fQogICAgaWYoZW1iZWRkZWQpe3RpdGxlPSdPdXZyZXogJytjZmcuc2l0ZSsnIGRhbnMgdm90cmUgbmF2aWdhdGV1cic7dGV4dD1pc0lPUygpPydDZSBuYXZpZ2F0ZXVyIGludMOpZ3LDqSBuZSBwZXJtZXQgcGFzIGzigJlpbnN0YWxsYXRpb24uIE91dnJleiBjZSBXZWJDb2QgZGFucyBTYWZhcmksIHB1aXMgdXRpbGlzZXogUGFydGFnZXIg4oaSIFN1ciBs4oCZw6ljcmFuIGTigJlhY2N1ZWlsLic6J0NlIG5hdmlnYXRldXIgaW50w6lncsOpIG5lIHBlcm1ldCBwYXMgbOKAmWluc3RhbGxhdGlvbi4gT3V2cmV6IGNlIFdlYkNvZCBkYW5zIHZvdHJlIG5hdmlnYXRldXIgaGFiaXR1ZWwgcG91ciBs4oCZYWpvdXRlciDDoCB2b3RyZSB0w6lsw6lwaG9uZS4nO30KICAgIGlmKG5vdGlmaWNhdGlvblBhbmVsKXt0aXRsZT0nTm90aWZpY2F0aW9ucyc7dGV4dD0hbm90aWZ5U3VwcG9ydGVkPydMZXMgbm90aWZpY2F0aW9ucyBuZSBzb250IHBhcyBkaXNwb25pYmxlcyBkYW5zIGNlIG5hdmlnYXRldXIuIFN1ciBpUGhvbmUsIG91dnJleiBsZSBXZWJDb2QgZGVwdWlzIGzigJlpY8O0bmUgYWpvdXTDqWUgw6AgbOKAmcOpY3JhbiBk4oCZYWNjdWVpbC4nOk5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uPT09J2dyYW50ZWQnPydMZXMgbm90aWZpY2F0aW9ucyBzb250IGFjdGl2w6llcyBzdXIgY2V0IGFwcGFyZWlsLic6Tm90aWZpY2F0aW9uLnBlcm1pc3Npb249PT0nZGVuaWVkJz8nTGVzIG5vdGlmaWNhdGlvbnMgc29udCBibG9xdcOpZXMuIEF1dG9yaXNlei1sZXMgZGFucyBSw6lnbGFnZXMg4oaSIE5vdGlmaWNhdGlvbnMgc3VyIHZvdHJlIHTDqWzDqXBob25lLic6J0xlcyBub3RpZmljYXRpb25zIG5lIHNvbnQgcGFzIGVuY29yZSBhY3RpdsOpZXMgc3VyIGNldCBhcHBhcmVpbC4nO30KICAgIGVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2VsLmlkPSdhcmVuYS1pbnN0YWxsLXByb21wdCc7ZWwuaW5uZXJIVE1MPSc8YnV0dG9uIGNsYXNzPSJhcmVuYS1pbnN0YWxsLWNsb3NlIiBhcmlhLWxhYmVsPSJGZXJtZXIiPsOXPC9idXR0b24+PHN0cm9uZz48L3N0cm9uZz48c3BhbiBjbGFzcz0iYXJlbmEtcHJvbXB0LXRleHQiPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXJlbmEtcHJvbXB0LXN0YXR1cyIgcm9sZT0ic3RhdHVzIiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9zcGFuPicrKHNob3dJbnN0YWxsPyc8YnV0dG9uIGNsYXNzPSJhcmVuYS1pbnN0YWxsLWFjdGlvbiI+QWpvdXRlciDDoCBtb24gdMOpbMOpcGhvbmU8L2J1dHRvbj4nOicnKSsoc2hvd05vdGlmeT8nPGJ1dHRvbiBjbGFzcz0iYXJlbmEtbm90aWZ5LWFjdGlvbiI+QWN0aXZlciBsZXMgbm90aWZpY2F0aW9uczwvYnV0dG9uPic6JycpOw0KICAgIGVsLnF1ZXJ5U2VsZWN0b3IoJ3N0cm9uZycpLnRleHRDb250ZW50PXRpdGxlO2VsLnF1ZXJ5U2VsZWN0b3IoJy5hcmVuYS1wcm9tcHQtdGV4dCcpLnRleHRDb250ZW50PXRleHQ7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbCk7DQogICAgZWwucXVlcnlTZWxlY3RvcignLmFyZW5hLWluc3RhbGwtY2xvc2UnKS5vbmNsaWNrPSgpPT5kaXNtaXNzKGVsLHJlYXNvbik7DQogICAgY29uc3QgaW5zdGFsbEJ0bj1lbC5xdWVyeVNlbGVjdG9yKCcuYXJlbmEtaW5zdGFsbC1hY3Rpb24nKTtpZihpbnN0YWxsQnRuKXtpZihlbWJlZGRlZClpbnN0YWxsQnRuLnRleHRDb250ZW50PSdPdXZyaXIgZGFucyBtb24gbmF2aWdhdGV1cic7aW5zdGFsbEJ0bi5vbmNsaWNrPSgpPT5lbWJlZGRlZD9vcGVuRXh0ZXJuYWxCcm93c2VyKGVsLGluc3RhbGxCdG4pOmluc3RhbGwoZWwpO30NCiAgICBjb25zdCBub3RpZnlCdG49ZWwucXVlcnlTZWxlY3RvcignLmFyZW5hLW5vdGlmeS1hY3Rpb24nKTtpZihub3RpZnlCdG4pe25vdGlmeUJ0bi5vbmNsaWNrPSgpPT5zdWJzY3JpYmUoZWwsbm90aWZ5QnRuKTtpZihOb3RpZmljYXRpb24ucGVybWlzc2lvbj09PSdncmFudGVkJyl7bm90aWZ5QnRuLnRleHRDb250ZW50PSdOb3RpZmljYXRpb25zIGFjdGl2w6llcyc7bm90aWZ5QnRuLmNsYXNzTGlzdC5hZGQoJ2lzLWVuYWJsZWQnKTtub3RpZnlCdG4uZGlzYWJsZWQ9dHJ1ZTt9aWYoTm90aWZpY2F0aW9uLnBlcm1pc3Npb249PT0nZGVuaWVkJyl7bm90aWZ5QnRuLnRleHRDb250ZW50PSdOb3RpZmljYXRpb25zIGJsb3F1w6llcyc7bm90aWZ5QnRuLmRpc2FibGVkPXRydWU7fX0KICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+ZWwuY2xhc3NMaXN0LmFkZCgnaXMtdmlzaWJsZScpKTtyZXR1cm4gZWw7DQogIH0NCiAgZnVuY3Rpb24gZGlzbWlzcyhlbCl7ZWwuY2xhc3NMaXN0LnJlbW92ZSgnaXMtdmlzaWJsZScpO3NldFRpbWVvdXQoKCk9PmVsLnJlbW92ZSgpLDQwMCk7fQ0KICBhc3luYyBmdW5jdGlvbiBvcGVuRXh0ZXJuYWxCcm93c2VyKGVsLGJ1dHRvbil7DQogICAgY29uc3Qgc3RhdHVzPWVsJiZlbC5xdWVyeVNlbGVjdG9yKCcuYXJlbmEtcHJvbXB0LXN0YXR1cycpLHVybD1sb2NhdGlvbi5ocmVmLnNwbGl0KCcjJylbMF07DQogICAgaWYoL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXsNCiAgICAgIGJ1dHRvbi50ZXh0Q29udGVudD0nT3V2ZXJ0dXJl4oCmJztpZihzdGF0dXMpc3RhdHVzLnRleHRDb250ZW50PSdPdXZlcnR1cmUgZGUgdm90cmUgbmF2aWdhdGV1cuKApic7DQogICAgICBjb25zdCBwYXJzZWQ9bmV3IFVSTCh1cmwpLGludGVudD0naW50ZW50Oi8vJytwYXJzZWQuaG9zdCtwYXJzZWQucGF0aG5hbWUrcGFyc2VkLnNlYXJjaCsnI0ludGVudDtzY2hlbWU9JytwYXJzZWQucHJvdG9jb2wucmVwbGFjZSgnOicsJycpKyc7YWN0aW9uPWFuZHJvaWQuaW50ZW50LmFjdGlvbi5WSUVXO2NhdGVnb3J5PWFuZHJvaWQuaW50ZW50LmNhdGVnb3J5LkJST1dTQUJMRTtlbmQnOw0KICAgICAgbG9jYXRpb24uaHJlZj1pbnRlbnQ7DQogICAgICBzZXRUaW1lb3V0KCgpPT57YnV0dG9uLnRleHRDb250ZW50PSdPdXZyaXIgZGFucyBtb24gbmF2aWdhdGV1cic7aWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD0nU2kgcmllbiBuZSBz4oCZb3V2cmUsIHV0aWxpc2V6IGxlIG1lbnUg4ouuIGRlIE1lc3NlbmdlciBwdWlzIMKrIE91dnJpciBkYW5zIGxlIG5hdmlnYXRldXIgwrsuJzt9LDE4MDApOw0KICAgICAgcmV0dXJuOw0KICAgIH0NCiAgICB0cnl7aWYobmF2aWdhdG9yLmNsaXBib2FyZCYmd2luZG93LmlzU2VjdXJlQ29udGV4dClhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh1cmwpO31jYXRjaChlKXt9DQogICAgYnV0dG9uLnRleHRDb250ZW50PSdMaWVuIGNvcGnDqSc7aWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD0nRGFucyBNZXNzZW5nZXIsIHRvdWNoZXog4oCi4oCi4oCiIHB1aXMgwqsgT3V2cmlyIGRhbnMgU2FmYXJpIMK7LiBWb3VzIHBvdXJyZXogZW5zdWl0ZSBs4oCZYWpvdXRlciDDoCBs4oCZw6ljcmFuIGTigJlhY2N1ZWlsLic7DQogIH0NCiAgYXN5bmMgZnVuY3Rpb24gaW5zdGFsbChlbCl7aWYoaW5zdGFsbFByb21wdCl7aW5zdGFsbFByb21wdC5wcm9tcHQoKTtjb25zdCBjaG9pY2U9YXdhaXQgaW5zdGFsbFByb21wdC51c2VyQ2hvaWNlO2lmKGNob2ljZS5vdXRjb21lPT09J2FjY2VwdGVkJylyZW1lbWJlckluc3RhbGxhdGlvbigpO2luc3RhbGxQcm9tcHQ9bnVsbDtkaXNtaXNzKGVsKTtyZXR1cm47fWNvbnN0IGlvcz0vaXBob25lfGlwYWR8aXBvZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7YWxlcnQoaW9zPydEYW5zIFNhZmFyaSwgdG91Y2hleiBQYXJ0YWdlciBwdWlzIMKrIFN1ciBs4oCZw6ljcmFuIGTigJlhY2N1ZWlsIMK7Lic6J091dnJleiBsZSBtZW51IGR1IG5hdmlnYXRldXIgcHVpcyBjaG9pc2lzc2V6IMKrIEFqb3V0ZXIgw6AgbOKAmcOpY3JhbiBk4oCZYWNjdWVpbCDCuy4nKTt9DQogIGFzeW5jIGZ1bmN0aW9uIHN1YnNjcmliZShlbCxidXR0b24pew0KICAgIGNvbnN0IHN0YXR1cz1lbCYmZWwucXVlcnlTZWxlY3RvcignLmFyZW5hLXByb21wdC1zdGF0dXMnKTsNCiAgICB0cnl7DQogICAgICBpZighY2FuTm90aWZ5KCkpcmV0dXJuOw0KICAgICAgYnV0dG9uLmRpc2FibGVkPXRydWU7aWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD0nQWN0aXZhdGlvbiBlbiBjb3Vyc+KApic7DQogICAgICBjb25zdCBwZXJtPU5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uPT09J2dyYW50ZWQnPydncmFudGVkJzphd2FpdCBOb3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oKTsNCiAgICAgIGlmKHBlcm0hPT0nZ3JhbnRlZCcpe2J1dHRvbi50ZXh0Q29udGVudD1wZXJtPT09J2RlbmllZCc/J05vdGlmaWNhdGlvbnMgYmxvcXXDqWVzJzonQWN0aXZlciBsZXMgbm90aWZpY2F0aW9ucyc7aWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD1wZXJtPT09J2RlbmllZCc/J0F1dG9yaXNleiBsZXMgbm90aWZpY2F0aW9ucyBkYW5zIGxlcyByw6lnbGFnZXMgZHUgbmF2aWdhdGV1ciBvdSBkdSB0w6lsw6lwaG9uZS4nOidBY3RpdmF0aW9uIGFubnVsw6llLic7YnV0dG9uLmRpc2FibGVkPXBlcm09PT0nZGVuaWVkJztyZXR1cm47fQ0KICAgICAgaWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD0nRmluYWxpc2F0aW9uIGRlIGzigJlhY3RpdmF0aW9u4oCmJzsNCiAgICAgIGlmKCFzd1JlYWR5UHJvbWlzZSlzd1JlYWR5UHJvbWlzZT1uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihjZmcuc3cse3Njb3BlOicvJ30pLnRoZW4oKCk9Pm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlYWR5KTsNCiAgICAgIGNvbnN0IHJlZz1hd2FpdCB3aXRoVGltZW91dChzd1JlYWR5UHJvbWlzZSwxMjAwMCwnc2VydmljZS13b3JrZXInKTtpZighcmVnKXRocm93IEVycm9yKCdzZXJ2aWNlLXdvcmtlcicpO2xldCBzdWI9YXdhaXQgd2l0aFRpbWVvdXQocmVnLnB1c2hNYW5hZ2VyLmdldFN1YnNjcmlwdGlvbigpLDgwMDAsJ3N1YnNjcmlwdGlvbi1yZWFkJyk7aWYoIXN1YilzdWI9YXdhaXQgd2l0aFRpbWVvdXQocmVnLnB1c2hNYW5hZ2VyLnN1YnNjcmliZSh7dXNlclZpc2libGVPbmx5OnRydWUsYXBwbGljYXRpb25TZXJ2ZXJLZXk6YjY0KGNmZy52YXBpZCl9KSwxMjAwMCwnc3Vic2NyaXB0aW9uLWNyZWF0ZScpOw0KICAgICAgY29uc3QgcmVzcG9uc2U9YXdhaXQgd2l0aFRpbWVvdXQoZmV0Y2goY2ZnLnN1YnNjcmliZSx7bWV0aG9kOidQT1NUJyxoZWFkZXJzOnsnQ29udGVudC1UeXBlJzonYXBwbGljYXRpb24vanNvbid9LGJvZHk6SlNPTi5zdHJpbmdpZnkoc3ViKX0pLDEyMDAwLCdzdWJzY3JpcHRpb24tc2F2ZScpO2lmKCFyZXNwb25zZS5vayl0aHJvdyBFcnJvcignc3Vic2NyaXB0aW9uLXNhdmUnKTsNCiAgICAgIGJ1dHRvbi50ZXh0Q29udGVudD0nTm90aWZpY2F0aW9ucyBhY3RpdsOpZXMnO2J1dHRvbi5jbGFzc0xpc3QuYWRkKCdpcy1lbmFibGVkJyk7YnV0dG9uLmRpc2FibGVkPXRydWU7aWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD0nTm90aWZpY2F0aW9ucyBhY3RpdsOpZXMuJztsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYXJlbmFOb3RpZmljYXRpb25zRW5hYmxlZCcsJzEnKTtzZXRUaW1lb3V0KCgpPT57aWYoZWwmJmRvY3VtZW50LmJvZHkuY29udGFpbnMoZWwpKWRpc21pc3MoZWwsJ25vdGlmaWNhdGlvbicpO30sMTQwMCk7DQogICAgfWNhdGNoKGUpe3N3UmVhZHlQcm9taXNlPW51bGw7YnV0dG9uLmRpc2FibGVkPWZhbHNlO2J1dHRvbi50ZXh0Q29udGVudD0nUsOpZXNzYXllcic7aWYoc3RhdHVzKXN0YXR1cy50ZXh0Q29udGVudD0nTOKAmWFjdGl2YXRpb24gbuKAmWEgcGFzIGFib3V0aS4gUmVjaGFyZ2V6IGxhIHBhZ2UgcHVpcyByw6llc3NheWV6Lic7fQ0KICB9DQogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmVpbnN0YWxscHJvbXB0JyxlPT57ZS5wcmV2ZW50RGVmYXVsdCgpO2luc3RhbGxQcm9tcHQ9ZTt9KTsNCiAgZnVuY3Rpb24gcmVmcmVzaFByb21wdCgpe2lmKGlzU3RhbmRhbG9uZSgpKXJlbWVtYmVySW5zdGFsbGF0aW9uKCk7Y29uc3QgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FyZW5hLWluc3RhbGwtcHJvbXB0Jyk7aWYoZWwpe2VsLnJlbW92ZSgpO3NoZWxsKCdyZWZyZXNoJyk7fX0NCiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2FwcGluc3RhbGxlZCcsKCk9PntyZW1lbWJlckluc3RhbGxhdGlvbigpO3JlZnJlc2hQcm9tcHQoKTt9KTsNCiAgY29uc3QgZGlzcGxheU1vZGU9bWF0Y2hNZWRpYSgnKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSknKTtpZihkaXNwbGF5TW9kZS5hZGRFdmVudExpc3RlbmVyKWRpc3BsYXlNb2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScscmVmcmVzaFByb21wdCk7DQogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycscmVmcmVzaFByb21wdCk7DQogIGlmKCdzZXJ2aWNlV29ya2VyJ2luIG5hdmlnYXRvcilzd1JlYWR5UHJvbWlzZT1uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihjZmcuc3cse3Njb3BlOicvJ30pLnRoZW4oKCk9Pm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlYWR5KS5jYXRjaCgoKT0+bnVsbCk7DQogIGlmKG5vdGlmaWNhdGlvbnNFbmFibGVkKCkmJnN3UmVhZHlQcm9taXNlKXN3UmVhZHlQcm9taXNlLnRoZW4oYXN5bmMgcmVnPT57aWYoIXJlZylyZXR1cm47bGV0IHN1Yj1hd2FpdCByZWcucHVzaE1hbmFnZXIuZ2V0U3Vic2NyaXB0aW9uKCk7aWYoIXN1YilzdWI9YXdhaXQgcmVnLnB1c2hNYW5hZ2VyLnN1YnNjcmliZSh7dXNlclZpc2libGVPbmx5OnRydWUsYXBwbGljYXRpb25TZXJ2ZXJLZXk6YjY0KGNmZy52YXBpZCl9KTtpZihzdWIpYXdhaXQgZmV0Y2goY2ZnLnN1YnNjcmliZSx7bWV0aG9kOidQT1NUJyxoZWFkZXJzOnsnQ29udGVudC1UeXBlJzonYXBwbGljYXRpb24vanNvbid9LGJvZHk6SlNPTi5zdHJpbmdpZnkoc3ViKX0pO30pLmNhdGNoKCgpPT57fSk7DQogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCgpPT57ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYS5kb3dubG9hZC1idG4nKS5mb3JFYWNoKGJ0bj0+e2lmKGlzU3RhbmRhbG9uZSgpKXtjb25zdCBpY29uPWJ0bi5xdWVyeVNlbGVjdG9yKCdpJyk7aWYoaWNvbilpY29uLmNsYXNzTmFtZT0nZmEtc29saWQgZmEtYmVsbCc7YnRuLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsJ0fDqXJlciBsZXMgbm90aWZpY2F0aW9ucycpO2J0bi5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywnR8OpcmVyIGxlcyBub3RpZmljYXRpb25zJyk7fWJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZT0+e2UucHJldmVudERlZmF1bHQoKTtzaGVsbChpc1N0YW5kYWxvbmUoKT8nbm90aWZpY2F0aW9uJzonbWFudWFsJyk7fSk7fSk7fSk7CiAgZnVuY3Rpb24gc2hvd0F1dG9tYXRpY1Byb21wdChyZWFzb24pe2lmKHdhc1Byb21wdFNob3duVGhpc1Zpc2l0KCkpcmV0dXJuO2NvbnN0IGVsPXNoZWxsKHJlYXNvbik7aWYoZWwpcmVtZW1iZXJQcm9tcHRGb3JWaXNpdCgpO30NCiAgaWYocHJvbXB0VmlzaWJpbGl0eSgpLmluc3RhbGwpc2V0VGltZW91dCgoKT0+c2hvd0F1dG9tYXRpY1Byb21wdCgnaW5zdGFsbGF0aW9uJyksNTAwMCk7CiAgaWYoIXByb21wdFZpc2liaWxpdHkoKS5pbnN0YWxsJiZwcm9tcHRWaXNpYmlsaXR5KCkubm90aWZ5KXNldFRpbWVvdXQoKCk9PnNob3dBdXRvbWF0aWNQcm9tcHQoJ25vdGlmaWNhdGlvbicpLDUwMDApOw0KDQp9KSgpOwovLyMgc291cmNlVVJMPWFyZW5hLXB3YS1lbmdhZ2VtZW50LWpzLWFmdGVyCjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJhcmVuYS1wd2EtYmFkZ2VzLWpzIiBzcmM9Imh0dHBzOi8vYXJjYWRlLndlYmNvZC5tZS93cC1jb250ZW50L3RoZW1lcy9hcmVuYS9hc3NldHMvanMvcHdhLWJhZGdlcy5qcz92ZXI9MS40LjUiPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJhcmVuYS1wYWdlLWxvYWRlci1qcyIgc3JjPSJodHRwczovL2FyY2FkZS53ZWJjb2QubWUvd3AtY29udGVudC90aGVtZXMvYXJlbmEvYXNzZXRzL2pzL2FyZW5hLXBhZ2UtbG9hZGVyLmpzP3Zlcj0xNzkxOTI4NTg4Ij48L3NjcmlwdD4KPHNjcmlwdD48L3NjcmlwdD48L2JvZHk+DQo8L2h0bWw+DQo=
ADR;CHARSET=utf-8;ENCODING=QUOTED-PRINTABLE:325A Rue de Sauxmarais, 50110 Cherbourg-en-Cotentin
TEL:+33233205793
EMAIL:agathe.legan@arcade-realisations.fr
URL;TYPE=pref:https://www.arcade-realisations.fr
URL:https://arcade.webcod.me
END:VCARD