{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDx0aXRsZT5FdmVudHMgJiBQcm9ncmFtcyAtIEZGRkY8L3RpdGxlPgogICAgPHN0eWxlPgogICAgICAgIDpyb290IHsKICAgICAgICAgICAgLS1wcmltYXJ5LWNvbG9yOiAjMUU0MEFGOwogICAgICAgICAgICAtLXNlY29uZGFyeS1jb2xvcjogIzFFM0E4QTsKICAgICAgICAgICAgLS1hY2NlbnQtY29sb3I6ICNGRkI3MDA7CiAgICAgICAgICAgIC0tc3VjY2Vzcy1jb2xvcjogIzQ4QkI3ODsKICAgICAgICAgICAgLS10ZXh0LWNvbG9yOiAjMjcwMDVEOwogICAgICAgICAgICAtLXN1cmZhY2UtY29sb3I6ICNGMEY3RkY7CiAgICAgICAgfQoKICAgICAgICAvKiBCYXNlIFN0eWxlcyAqLwogICAgICAgIGJvZHkgewogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGN0ZBRkM7CiAgICAgICAgfQoKICAgICAgICAvKiBNYWluIENvbnRhaW5lciAqLwogICAgICAgIC5tYWluLWNvbnRhaW5lciB7CiAgICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgICBtYXJnaW46IC00MHB4IGF1dG8gNDBweDsKICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIH0KCiAgICAgICAgLyogSGVybyBTZWN0aW9uICovCiAgICAgICAgLmhlcm8tc2VjdGlvbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxRTQwQUYgMCUsICMxRTNBOEEgMTAwJSk7CiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICAgICAgcGFkZGluZzogNjBweCAyMHB4OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICAuaGVyby1jb250ZW50IHsKICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgei1pbmRleDogMjsKICAgICAgICB9CgogICAgICAgIC8qIEVuaGFuY2VkIEZpbHRlciBTeXN0ZW0gKi8KICAgICAgICAuZmlsdGVyLWJhciB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMTVweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CgogICAgICAgIC5maWx0ZXItYnV0dG9uIHsKICAgICAgICAgICAgcGFkZGluZzogMTJweCAyNHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHJpbWFyeS1jb2xvcik7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIH0KCiAgICAgICAgLmZpbHRlci1idXR0b246aG92ZXIsCiAgICAgICAgLmZpbHRlci1idXR0b24uYWN0aXZlIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1jb2xvcik7CiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICB9CgogICAgICAgIC8qIENhbGVuZGFyIEdyaWQgKi8KICAgICAgICAuY2FsZW5kYXItZ3JpZCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzAwcHgsIDFmcikpOwogICAgICAgICAgICBnYXA6IDMwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KCiAgICAgICAgLmV2ZW50LWNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsKICAgICAgICAgICAgcGFkZGluZzogMjVweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsMCwwLDAuMDUpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOwogICAgICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWFjY2VudC1jb2xvcik7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgfQoKICAgICAgICAuZXZlbnQtY2FyZDpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsKICAgICAgICB9CgogICAgICAgIC8qIEV2ZW50IFR5cGUgQmFkZ2VzICovCiAgICAgICAgLmV2ZW50LXR5cGUgewogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgICAgICAgICBmb250LXNpemU6IDAuOWVtOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgIH0KCiAgICAgICAgLyogQ2FsZW5kYXIgU3luYyBCdXR0b24gKi8KICAgICAgICAuY2FsZW5kYXItc3luYy1idXR0b24gewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7CiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDI0cHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQoKICAgICAgICAuY2FsZW5kYXItc3luYy1idXR0b246aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7CiAgICAgICAgfQoKICAgICAgICAvKiBSZWdpc3RlciBCdXR0b24gKi8KICAgICAgICAucmVnaXN0ZXItYnV0dG9uIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWNvbG9yKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpOwogICAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjRweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAucmVnaXN0ZXItYnV0dG9uOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwwLDAsMC4xKTsKICAgICAgICB9CgogICAgICAgIC8qIE1vZGFsIFN0eWxlcyAqLwogICAgICAgIC5tb2RhbCB7CiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgICAgdG9wOiAwOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7CiAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLm1vZGFsLmFjdGl2ZSB7CiAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQoKICAgICAgICAubW9kYWwtY29udGVudCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgICAgICAgICBtYXJnaW46IDUwcHggYXV0bzsKICAgICAgICAgICAgcGFkZGluZzogMzBweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLm1vZGFsLmFjdGl2ZSAubW9kYWwtY29udGVudCB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICB9CgogICAgICAgIC8qIEZvcm0gU3R5bGVzICovCiAgICAgICAgLmZvcm0tZ3JvdXAgewogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLmZvcm0tZ3JvdXAgbGFiZWwgewogICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgfQoKICAgICAgICAuZm9ybS1ncm91cCBpbnB1dCwKICAgICAgICAuZm9ybS1ncm91cCBzZWxlY3QsCiAgICAgICAgLmZvcm0tZ3JvdXAgdGV4dGFyZWEgewogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0UyRThGMDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDFlbTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3MgZWFzZTsKICAgICAgICB9CgogICAgICAgIC5mb3JtLWdyb3VwIGlucHV0OmZvY3VzLAogICAgICAgIC5mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cywKICAgICAgICAuZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyB7CiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7CiAgICAgICAgfQoKICAgICAgICAvKiBSZXNwb25zaXZlIERlc2lnbiAqLwogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgICAuY2FsZW5kYXItZ3JpZCB7CiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLmZpbHRlci1iYXIgewogICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLm1vZGFsLWNvbnRlbnQgewogICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4OwogICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8IS0tIEhlcm8gU2VjdGlvbiAtLT4KICAgIDxkaXYgY2xhc3M9Imhlcm8tc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVyby1jb250ZW50Ij4KICAgICAgICAgICAgPGgxIHN0eWxlPSJmb250LXNpemU6IDIuNWVtOyBtYXJnaW46IDAgMCAyMHB4OyI+RXZlbnRzICYgUHJvZ3JhbXM8L2gxPgogICAgICAgICAgICA8cCBzdHlsZT0iZm9udC1zaXplOiAxLjJlbTsgbWFyZ2luOiAwIDAgNDBweDsiPkRpc2NvdmVyIHVwY29taW5nIGV2ZW50cywgd2ViaW5hcnMsIGFuZCB0cmFpbmluZyBzZXNzaW9uczwvcD4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNhbGVuZGFyLXN5bmMtYnV0dG9uIiBvbmNsaWNrPSJvcGVuQ2FsZW5kYXJTeW5jKCkiPgogICAgICAgICAgICAgICAgPHNwYW4+8J+ThTwvc3Bhbj4gU3luYyB3aXRoIFlvdXIgQ2FsZW5kYXIKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIE1haW4gQ29udGVudCAtLT4KICAgIDxkaXYgY2xhc3M9Im1haW4tY29udGFpbmVyIj4KICAgICAgICA8IS0tIEZpbHRlciBCYXIgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsdGVyLWJhciI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImZpbHRlci1idXR0b24gYWN0aXZlIiBvbmNsaWNrPSJmaWx0ZXJFdmVudHMoJ2FsbCcpIj5BbGwgRXZlbnRzPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImZpbHRlci1idXR0b24iIG9uY2xpY2s9ImZpbHRlckV2ZW50cygnd2ViaW5hcicpIj5XZWJpbmFyczwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJmaWx0ZXItYnV0dG9uIiBvbmNsaWNrPSJmaWx0ZXJFdmVudHMoJ3dvcmtzaG9wJykiPldvcmtzaG9wczwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJmaWx0ZXItYnV0dG9uIiBvbmNsaWNrPSJmaWx0ZXJFdmVudHMoJ3RyYWluaW5nJykiPlRyYWluaW5nPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImZpbHRlci1idXR0b24iIG9uY2xpY2s9ImZpbHRlckV2ZW50cygnY29uZmVyZW5jZScpIj5Db25mZXJlbmNlczwvYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIEZlYXR1cmVkIEV2ZW50cyAtLT4KICAgICAgICA8aDIgc3R5bGU9ImNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW46IDQwcHggMCAyMHB4OyI+RmVhdHVyZWQgRXZlbnRzPC9oMj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYWxlbmRhci1ncmlkIj4KICAgICAgICAgICAgPCEtLSBFdmVudCBDYXJkIEV4YW1wbGUgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV2ZW50LWNhcmQiIGRhdGEtZXZlbnQtaWQ9InN1bW1pdC0yMDI0Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJldmVudC10eXBlIiBzdHlsZT0iYmFja2dyb3VuZDogI0ZFRDdENzsgY29sb3I6ICNFNTNFM0U7Ij5Db25mZXJlbmNlPC9zcGFuPgogICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7IG1hcmdpbjogMCAwIDE1cHg7Ij5Zb3VuZyBFbnRyZXByZW5ldXJzIFN1bW1pdCAyMDI0PC9oMz4KICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjogIzY2NjsgbWFyZ2luOiAwIDAgMjBweDsiPlR3by1kYXkgdmlydHVhbCBjb25mZXJlbmNlIGZlYXR1cmluZyBnbG9iYWwgc3BlYWtlcnMuPC9wPgogICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMjBweDsiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgbWFyZ2luLWJvdHRvbTogMTBweDsiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICM2NjY7Ij7wn5OFIEp1bmUgMTUtMTYsIDIwMjQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzY2NjsiPvCfjq8gQWxsIGFnZSBncm91cHM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InJlZ2lzdGVyLWJ1dHRvbiIgb25jbGljaz0ib3BlblJlZ2lzdHJhdGlvbk1vZGFsKCdzdW1taXQtMjAyNCcpIj4KICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciBOb3cKICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gQWRkIG1vcmUgZXZlbnQgY2FyZHMgaGVyZSAtLT4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gUmVnaXN0cmF0aW9uIE1vZGFsIC0tPgogICAgPGRpdiBpZD0icmVnaXN0cmF0aW9uTW9kYWwiIGNsYXNzPSJtb2RhbCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iY2xvc2VNb2RhbCgncmVnaXN0cmF0aW9uTW9kYWwnKSIgCiAgICAgICAgICAgICAgICAgICAgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDIwcHg7IHRvcDogMjBweDsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiBub25lOyBmb250LXNpemU6IDIwcHg7IGN1cnNvcjogcG9pbnRlcjsiPgogICAgICAgICAgICAgICAg4pyVCiAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgPGZvcm0gaWQ9ImV2ZW50UmVnaXN0cmF0aW9uIiBvbnN1Ym1pdD0iaGFuZGxlUmVnaXN0cmF0aW9uKGV2ZW50KSI+CiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9ImNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTsgbWFyZ2luOiAwIDAgMjBweDsiPkV2ZW50IFJlZ2lzdHJhdGlvbjwvaDI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5BdHRlbmRlZSBOYW1lKjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlcXVpcmVkPgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPkFnZSBHcm91cCo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgcmVxdWlyZWQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiI+U2VsZWN0IGFnZSBncm91cDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJkcmVhbS1leHBsb3JlcnMiPkRyZWFtIEV4cGxvcmVycyAoNS04KTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ5b3V0aC12ZW50dXJlcnMiPllvdXRoIFZlbnR1cmVycyAoOS0xMik8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idGVlbi1pbm5vdmF0b3JzIj5UZWVuIElubm92YXRvcnMgKDEzLTE3KTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ5b3VuZy1sZWFkZXJzIj5Zb3VuZyBMZWFkZXJzICgxOC0yNSk8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5QYXJlbnQvR3VhcmRpYW4gRW1haWwqPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iZW1haWwiIHJlcXVpcmVkPgogICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6IDAuOWVtOyBjb2xvcjogIzY2NjsgbWFyZ2luLXRvcDogNXB4OyI+UmVxdWlyZWQgZm9yIGF0dGVuZGVlcyB1bmRlciAxODwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0icmVnaXN0ZXItYnV0dG9uIiBzdHlsZT0id2lkdGg6IDEwMCU7Ij4KICAgICAgICAgICAgICAgICAgICBDb21wbGV0ZSBSZWdpc3RyYXRpb24KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIENhbGVuZGFyIFN5bmMgTW9kYWwgLS0+CiAgICA8ZGl2IGlkPSJjYWxlbmRhclN5bmNNb2RhbCIgY2xhc3M9Im1vZGFsIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4KICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJjbG9zZU1vZGFsKCdjYWxlbmRhclN5bmNNb2RhbCcpIiAKICAgICAgICAgICAgICAgICAgICBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyByaWdodDogMjBweDsgdG9wOiAyMHB4OyBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IG5vbmU7IGZvbnQtc2l6ZTogMjBweDsgY3Vyc29yOiBwb2ludGVyOyI+CiAgICAgICAgICAgICAgICDinJUKICAgICAgICAgICAgPC9idXR0b24+CgogICAgICAgICAgICA8aDIgc3R5bGU9ImNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTsgbWFyZ2luOiAwIDAgMjBweDsiPkFkZCB0byBDYWxlbmRhcjwvaDI+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdhcDogMTVweDsiPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0icmVnaXN0ZXItYnV0dG9uIiBvbmNsaWNrPSJhZGRUb0NhbGVuZGFyKCdnb29nbGUnKSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+8J+ThTwvc3Bhbj4gQWRkIHRvIEdvb2dsZSBDYWxlbmRhcgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZWdpc3Rlci1idXR0b24iIG9uY2xpY2s9ImFkZFRvQ2FsZW5kYXIoJ2FwcGxlJykiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPvCfk7E8L3NwYW4+IEFkZCB0byBBcHBsZSBDYWxlbmRhcgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZWdpc3Rlci1idXR0b24iIG9uY2xpY2s9ImFkZFRvQ2FsZW5kYXIoJ291dGxvb2snKSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+8J+Tpzwvc3Bhbj4gQWRkIHRvIE91dGxvb2sKICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0icmVnaXN0ZXItYnV0dG9uIiBvbmNsaWNrPSJkb3dubG9hZElDUygpIj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj7irIfvuI88L3NwYW4+IERvd25sb2FkIElDUyBGaWxlCiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIC8vIE1vZGFsIEZ1bmN0aW9ucwogICAgICAgIGZ1bmN0aW9uIG9wZW5Nb2RhbChtb2RhbElkKSB7CiAgICAgICAgICAgIGNvbnN0IG1vZGFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobW9kYWxJZCk7CiAgICAgICAgICAgIG1vZGFsLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IG1vZGFsLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpLCAxMCk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjbG9zZU1vZGFsKG1vZGFsSWQpIHsKICAgICAgICAgICAgY29uc3QgbW9kYWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb2RhbElkKTsKICAgICAgICAgICAgbW9kYWwuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gbW9kYWwuc3R5bGUuZGlzcGxheSA9ICdub25lJywgMzAwKTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIG9wZW5SZWdpc3RyYXRpb25Nb2RhbChldmVudElkKSB7CiAgICAgICAgICAgIG9wZW5Nb2RhbCgncmVnaXN0cmF0aW9uTW9kYWwnKTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIG9wZW5DYWxlbmRhclN5bmMoKSB7CiAgICAgICAgICAgIG9wZW5Nb2RhbCgnY2FsZW5kYXJTeW5jTW9kYWwnKTsKICAgICAgICB9CgogICAgICAgIC8vIENhbGVuZGFyIEZ1bmN0aW9ucwogICAgICAgIGZ1bmN0aW9uIGFkZFRvQ2FsZW5kYXIodHlwZSkgewogICAgICAgICAgICBjb25zb2xlLmxvZyhgQWRkaW5nIHRvICR7dHlwZX0gY2FsZW5kYXJgKTsKICAgICAgICAgICAgLy8gQWRkIGNhbGVuZGFyIGludGVncmF0aW9uIGxvZ2ljCiAgICAgICAgICAgIGNsb3NlTW9kYWwoJ2NhbGVuZGFyU3luY01vZGFsJyk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBkb3dubG9hZElDUygpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coJ0Rvd25sb2FkaW5nIElDUyBmaWxlJyk7CiAgICAgICAgICAgIC8vIEFkZCBJQ1MgZG93bmxvYWQgbG9naWMKICAgICAgICAgICAgY2xvc2VNb2RhbCgnY2FsZW5kYXJTeW5jTW9kYWwnKTsKICAgICAgICB9CgogICAgICAgIC8vIEZpbHRlciBGdW5jdGlvbnMKICAgICAgICBmdW5jdGlvbiBmaWx0ZXJFdmVudHMoY2F0ZWdvcnkpIHsKICAgICAgICAgICAgY29uc3QgYnV0dG9ucyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5maWx0ZXItYnV0dG9uJyk7CiAgICAgICAgICAgIGJ1dHRvbnMuZm9yRWFjaChidXR0b24gPT4gYnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpKTsKICAgICAgICAgICAgZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpOwogICAgICAgICAgICAKICAgICAgICAgICAgY29uc29sZS5sb2coYEZpbHRlcmluZyBieTogJHtjYXRlZ29yeX1gKTsKICAgICAgICAgICAgLy8gQWRkIGZpbHRlcmluZyBsb2dpYwogICAgICAgIH0KCiAgICAgICAgLy8gUmVnaXN0cmF0aW9uIEhhbmRsZXIKICAgICAgICBmdW5jdGlvbiBoYW5kbGVSZWdpc3RyYXRpb24oZXZlbnQpIHsKICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgY29uc29sZS5sb2coJ1Byb2Nlc3NpbmcgcmVnaXN0cmF0aW9uLi4uJyk7CiAgICAgICAgICAgIAogICAgICAgICAgICAvLyBBZGQgcmVnaXN0cmF0aW9uIGxvZ2ljCiAgICAgICAgICAgIGFsZXJ0KCdSZWdpc3RyYXRpb24gc3VjY2Vzc2Z1bCEgWW91IHdpbGwgcmVjZWl2ZSBhIGNvbmZpcm1hdGlvbiBlbWFpbCBzaG9ydGx5LicpOwogICAgICAgICAgICBjbG9zZU1vZGFsKCdyZWdpc3RyYXRpb25Nb2RhbCcpOwogICAgICAgIH0KCiAgICAgICAgLy8gQ2xvc2UgbW9kYWxzIHdoZW4gY2xpY2tpbmcgb3V0c2lkZQogICAgICAgIHdpbmRvdy5vbmNsaWNrID0gZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ21vZGFsJykpIHsKICAgICAgICAgICAgICAgIGNsb3NlTW9kYWwoZXZlbnQudGFyZ2V0LmlkKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIDwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4KPCEtLSBBZ2UgR3JvdXAgU2VjdGlvbnMgLSBBZGQgYWZ0ZXIgRmVhdHVyZWQgRXZlbnRzIC0tPgo8c2VjdGlvbiBzdHlsZT0ibWFyZ2luOiA2MHB4IDA7Ij4KICAgIDxoMiBzdHlsZT0iY29sb3I6IHZhcigtLXRleHQtY29sb3IpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbjogMCAwIDQwcHg7IGZvbnQtc2l6ZTogMmVtOyI+RXZlbnRzIGJ5IEFnZSBHcm91cDwvaDI+CgogICAgPCEtLSBEcmVhbSBFeHBsb3JlcnMgU2VjdGlvbiAtLT4KICAgIDxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDYwcHg7Ij4KICAgICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjRkZENzAwIDAlLCAjRkZBNTAwIDEwMCUpOyBwYWRkaW5nOiAzMHB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAzMHB4OyI+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMjBweDsgbWFyZ2luLWJvdHRvbTogMjBweDsiPgogICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6IDgwcHg7IGhlaWdodDogODBweDsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyBib3JkZXItcmFkaXVzOiA1MCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmb250LXNpemU6IDJlbTsiPgogICAgICAgICAgICAgICAgICAgIOKcqAogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iY29sb3I6IHdoaXRlOyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMS44ZW07Ij5EcmVhbSBFeHBsb3JlcnM8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjogd2hpdGU7IG1hcmdpbjogNXB4IDAgMDsgb3BhY2l0eTogMC45OyI+QWdlcyA1LTg8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjogd2hpdGU7IG1hcmdpbjogMDsiPkZ1biwgaW50ZXJhY3RpdmUgZXZlbnRzIGRlc2lnbmVkIGZvciBvdXIgeW91bmdlc3QgZW50cmVwcmVuZXVycyE8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FsZW5kYXItZ3JpZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV2ZW50LWNhcmQiIHN0eWxlPSJib3JkZXItbGVmdC1jb2xvcjogI0ZGRDcwMDsiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImV2ZW50LXR5cGUiIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjE1LCAwLCAwLjEpOyBjb2xvcjogI0I4ODYwQjsiPkZ1biBTZXNzaW9uPC9zcGFuPgogICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7Ij5TdG9yeSBUaW1lIEFkdmVudHVyZTwvaDM+CiAgICAgICAgICAgICAgICA8cCBzdHlsZT0iY29sb3I6ICM2NjY7Ij5JbnRlcmFjdGl2ZSBzdG9yeXRlbGxpbmcgYWJvdXQgeW91bmcgZW50cmVwcmVuZXVycyBtYWtpbmcgYSBkaWZmZXJlbmNlITwvcD4KICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbjogMTVweCAwOyBwYWRkaW5nOiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjE1LCAwLCAwLjEpOyBib3JkZXItcmFkaXVzOiAxMHB4OyI+CiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbjogMDsgY29sb3I6ICM2NjY7Ij7wn46oIEFydHMgJiBDcmFmdHMgSW5jbHVkZWQ8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InJlZ2lzdGVyLWJ1dHRvbiI+Sm9pbiB0aGUgRnVuITwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBBZGQgbW9yZSBEcmVhbSBFeHBsb3JlciBldmVudHMgLS0+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIFlvdXRoIFZlbnR1cmVycyBTZWN0aW9uIC0tPgogICAgPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogNjBweDsiPgogICAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNGRjZCNkIgMCUsICNGRjhFOEUgMTAwJSk7IHBhZGRpbmc6IDMwcHg7IGJvcmRlci1yYWRpdXM6IDIwcHg7IG1hcmdpbi1ib3R0b206IDMwcHg7Ij4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+CiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODBweDsgaGVpZ2h0OiA4MHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IGJvcmRlci1yYWRpdXM6IDUwJTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtc2l6ZTogMmVtOyI+CiAgICAgICAgICAgICAgICAgICAg8J+agAogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iY29sb3I6IHdoaXRlOyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMS44ZW07Ij5Zb3V0aCBWZW50dXJlcnM8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjogd2hpdGU7IG1hcmdpbjogNXB4IDAgMDsgb3BhY2l0eTogMC45OyI+QWdlcyA5LTEyPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8cCBzdHlsZT0iY29sb3I6IHdoaXRlOyBtYXJnaW46IDA7Ij5FeGNpdGluZyB3b3Jrc2hvcHMgdG8gc3BhcmsgY3JlYXRpdml0eSBhbmQgZW50cmVwcmVuZXVyaWFsIHNwaXJpdCE8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FsZW5kYXItZ3JpZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV2ZW50LWNhcmQiIHN0eWxlPSJib3JkZXItbGVmdC1jb2xvcjogI0ZGNkI2QjsiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImV2ZW50LXR5cGUiIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTA3LCAxMDcsIDAuMSk7IGNvbG9yOiAjRkY2QjZCOyI+V29ya3Nob3A8L3NwYW4+CiAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTsiPk1pbmkgQnVzaW5lc3MgRmFpcjwvaDM+CiAgICAgICAgICAgICAgICA8cCBzdHlsZT0iY29sb3I6ICM2NjY7Ij5DcmVhdGUgYW5kIHByZXNlbnQgeW91ciBmaXJzdCBidXNpbmVzcyBpZGVhIHdpdGggbmV3IGZyaWVuZHMhPC9wPgogICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luOiAxNXB4IDA7IHBhZGRpbmc6IDEwcHg7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxMDcsIDEwNywgMC4xKTsgYm9yZGVyLXJhZGl1czogMTBweDsiPgogICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW46IDA7IGNvbG9yOiAjNjY2OyI+8J+PhiBQcml6ZXMgZm9yIEJlc3QgSWRlYXM8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InJlZ2lzdGVyLWJ1dHRvbiI+Sm9pbiBXb3Jrc2hvcDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBBZGQgbW9yZSBZb3V0aCBWZW50dXJlciBldmVudHMgLS0+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIFRlZW4gSW5ub3ZhdG9ycyBTZWN0aW9uIC0tPgogICAgPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogNjBweDsiPgogICAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM0RUNEQzQgMCUsICM0NUI3QUYgMTAwJSk7IHBhZGRpbmc6IDMwcHg7IGJvcmRlci1yYWRpdXM6IDIwcHg7IG1hcmdpbi1ib3R0b206IDMwcHg7Ij4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+CiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODBweDsgaGVpZ2h0OiA4MHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IGJvcmRlci1yYWRpdXM6IDUwJTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtc2l6ZTogMmVtOyI+CiAgICAgICAgICAgICAgICAgICAg8J+SoQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iY29sb3I6IHdoaXRlOyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMS44ZW07Ij5UZWVuIElubm92YXRvcnM8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjogd2hpdGU7IG1hcmdpbjogNXB4IDAgMDsgb3BhY2l0eTogMC45OyI+QWdlcyAxMy0xNzwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOiB3aGl0ZTsgbWFyZ2luOiAwOyI+QWR2YW5jZWQgcHJvZ3JhbXMgdG8gZGV2ZWxvcCByZWFsIGJ1c2luZXNzIHNraWxscyE8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FsZW5kYXItZ3JpZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV2ZW50LWNhcmQiIHN0eWxlPSJib3JkZXItbGVmdC1jb2xvcjogIzRFQ0RDNDsiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImV2ZW50LXR5cGUiIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2JhKDc4LCAyMDUsIDE5NiwgMC4xKTsgY29sb3I6ICM0RUNEQzQ7Ij5NYXN0ZXJjbGFzczwvc3Bhbj4KICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iY29sb3I6IHZhcigtLXRleHQtY29sb3IpOyI+VGVjaCBTdGFydHVwIEJvb3RjYW1wPC9oMz4KICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjogIzY2NjsiPkxlYXJuIGhvdyB0byB0dXJuIHlvdXIgdGVjaCBpZGVhcyBpbnRvIHJlYWwgcHJvamVjdHMhPC9wPgogICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luOiAxNXB4IDA7IHBhZGRpbmc6IDEwcHg7IGJhY2tncm91bmQ6IHJnYmEoNzgsIDIwNSwgMTk2LCAwLjEpOyBib3JkZXItcmFkaXVzOiAxMHB4OyI+CiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbjogMDsgY29sb3I6ICM2NjY7Ij7wn5K7IEluY2x1ZGVzIFByb2plY3QgTWVudG9yaW5nPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZWdpc3Rlci1idXR0b24iPlJlc2VydmUgU3BvdDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBBZGQgbW9yZSBUZWVuIElubm92YXRvciBldmVudHMgLS0+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIFlvdW5nIExlYWRlcnMgU2VjdGlvbiAtLT4KICAgIDxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDYwcHg7Ij4KICAgICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNkI0NkMxIDAlLCAjNTUzQzlBIDEwMCUpOyBwYWRkaW5nOiAzMHB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAzMHB4OyI+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMjBweDsgbWFyZ2luLWJvdHRvbTogMjBweDsiPgogICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6IDgwcHg7IGhlaWdodDogODBweDsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyBib3JkZXItcmFkaXVzOiA1MCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmb250LXNpemU6IDJlbTsiPgogICAgICAgICAgICAgICAgICAgIPCfkZQKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImNvbG9yOiB3aGl0ZTsgbWFyZ2luOiAwOyBmb250LXNpemU6IDEuOGVtOyI+WW91bmcgTGVhZGVyczwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOiB3aGl0ZTsgbWFyZ2luOiA1cHggMCAwOyBvcGFjaXR5OiAwLjk7Ij5BZ2VzIDE4LTI1PC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8cCBzdHlsZT0iY29sb3I6IHdoaXRlOyBtYXJnaW46IDA7Ij5Qcm9mZXNzaW9uYWwgZGV2ZWxvcG1lbnQgYW5kIG5ldHdvcmtpbmcgb3Bwb3J0dW5pdGllcyE8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FsZW5kYXItZ3JpZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV2ZW50LWNhcmQiIHN0eWxlPSJib3JkZXItbGVmdC1jb2xvcjogIzZCNDZDMTsiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImV2ZW50LXR5cGUiIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2JhKDEwNywgNzAsIDE5MywgMC4xKTsgY29sb3I6ICM2QjQ2QzE7Ij5Db25mZXJlbmNlPC9zcGFuPgogICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7Ij5MZWFkZXJzaGlwIFN1bW1pdDwvaDM+CiAgICAgICAgICAgICAgICA8cCBzdHlsZT0iY29sb3I6ICM2NjY7Ij5Db25uZWN0IHdpdGggc3VjY2Vzc2Z1bCBlbnRyZXByZW5ldXJzIGFuZCBpbmR1c3RyeSBsZWFkZXJzITwvcD4KICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbjogMTVweCAwOyBwYWRkaW5nOiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDEwNywgNzAsIDE5MywgMC4xKTsgYm9yZGVyLXJhZGl1czogMTBweDsiPgogICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW46IDA7IGNvbG9yOiAjNjY2OyI+8J+knSBOZXR3b3JraW5nIE9wcG9ydHVuaXRpZXM8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InJlZ2lzdGVyLWJ1dHRvbiI+UmVnaXN0ZXIgTm93PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8IS0tIEFkZCBtb3JlIFlvdW5nIExlYWRlciBldmVudHMgLS0+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgo8IS0tIEFkZCBhZnRlciBIZXJvIFNlY3Rpb24gLS0+CjxkaXYgY2xhc3M9Imhlcm8tc2VjdGlvbiI+CiAgICA8IS0tIEZsb2F0aW5nIEVsZW1lbnRzIC0tPgogICAgPGRpdiBjbGFzcz0iZmxvYXRpbmctZWxlbWVudCIgCiAgICAgICAgIHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogMzAwcHg7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxODMsIDAsIDAuMSk7IHRvcDogLTUwcHg7IGxlZnQ6IC01MHB4OyI+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZsb2F0aW5nLWVsZW1lbnQiIAogICAgICAgICBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IGJvdHRvbTogLTMwcHg7IHJpZ2h0OiAxMCU7Ij4KICAgIDwvZGl2PgoKICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjsgbWF4LXdpZHRoOiA4MDBweDsgbWFyZ2luOiAwIGF1dG87Ij4KICAgICAgICA8IS0tIFN1Y2Nlc3MgSWNvbiAtLT4KICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgYm9yZGVyLXJhZGl1czogNTAlOyAKICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgCiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4OyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7IGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsiPgogICAgICAgICAgICDinJMKICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGgxIHN0eWxlPSJmb250LXNpemU6IDIuNWVtOyBtYXJnaW46IDAgMCAyMHB4OyI+V2VsY29tZSB0byBFdmVudHMgJiBQcm9ncmFtcyE8L2gxPgogICAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6IDEuMmVtOyBvcGFjaXR5OiAwLjk7Ij5EaXNjb3ZlciBvcHBvcnR1bml0aWVzIHRhaWxvcmVkIGZvciBldmVyeSBhZ2UgZ3JvdXA8L3A+CiAgICA8L2Rpdj4KPC9kaXY+","embed":""}
Events & Programs - FFFF

Events & Programs

Discover upcoming events, webinars, and training sessions

Featured Events

Conference

Young Entrepreneurs Summit 2024

Two-day virtual conference featuring global speakers.

📅 June 15-16, 2024
🎯 All age groups

Event Registration

Required for attendees under 18

Add to Calendar

Events by Age Group

✨

Dream Explorers

Ages 5-8

Fun, interactive events designed for our youngest entrepreneurs!

Fun Session

Story Time Adventure

Interactive storytelling about young entrepreneurs making a difference!

🎨 Arts & Crafts Included

🚀

Youth Venturers

Ages 9-12

Exciting workshops to spark creativity and entrepreneurial spirit!

Workshop

Mini Business Fair

Create and present your first business idea with new friends!

🏆 Prizes for Best Ideas

💡

Teen Innovators

Ages 13-17

Advanced programs to develop real business skills!

Masterclass

Tech Startup Bootcamp

Learn how to turn your tech ideas into real projects!

💻 Includes Project Mentoring

👔

Young Leaders

Ages 18-25

Professional development and networking opportunities!

Conference

Leadership Summit

Connect with successful entrepreneurs and industry leaders!

🤝 Networking Opportunities

✓

Welcome to Events & Programs!

Discover opportunities tailored for every age group

Image Gallery Grid
T
Please Check Your Email
We Will Be Following Up Shortly
*
*
*

warning