Jmx0OyFET0NUWVBFIGh0bWwmZ3Q7CiZsdDtodG1sIGxhbmc9JnF1b3Q7cHQtYnImcXVvdDsmZ3Q7CiZsdDtoZWFkJmd0OwogICAgJmx0O21ldGEgY2hhcnNldD0mcXVvdDtVVEYtOCZxdW90OyZndDsKICAgICZsdDttZXRhIG5hbWU9JnF1b3Q7dmlld3BvcnQmcXVvdDsgY29udGVudD0mcXVvdDt3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wJnF1b3Q7Jmd0OwogICAgJmx0O3RpdGxlJmd0O0NvbW8gQXV0b21hdGl6YXIgRm90b3Mgbm8gUG93ZXJQb2ludCZsdDsvdGl0bGUmZ3Q7CiAgICAmbHQ7bGluayByZWw9JnF1b3Q7cHJlY29ubmVjdCZxdW90OyBocmVmPSZxdW90O2h0dHBzOi8vZi4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ucy5jb20mcXVvdDsmZ3Q7CiAgICAmbHQ7bGluayByZWw9JnF1b3Q7cHJlY29ubmVjdCZxdW90OyBocmVmPSZxdW90O2h0dHBzOi8vZi4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYy5jb20mcXVvdDsgY3Jvc3NvcmlnaW4mZ3Q7CiAgICAmbHQ7bGluayBocmVmPSZxdW90O2h0dHBzOi8vZi4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ucy5jb20vY3NzMj9mYW1pbHk9VXJiYW5pc3Q6d2dodEA0MDA7NTAwOzcwMCZhbXA7ZGlzcGxheT1zd2FwJnF1b3Q7IHJlbD0mcXVvdDtzdHlsZXNoZWV0JnF1b3Q7Jmd0OwogICAgJmx0O2xpbmsgcmVsPSZxdW90O3N0eWxlc2hlZXQmcXVvdDsgaHJlZj0mcXVvdDtodHRwczovL2MuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUuY29tL2FqYXgvbGlicy9mb250LWF3ZXNvbWUvNi41LjEvY3NzL2FsbC5taW4uY3NzJnF1b3Q7Jmd0OwogICAgJmx0O3N0eWxlJmd0OwogICAgICAgIC8qIDEuIFNFVFVQICZhbXA7IENPUkUgREVTSUdOICovCiAgICAgICAgKiB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0KICAgICAgICBib2R5IHsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzExMTsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ2FwOiAyMHB4OwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICAgICAgcGFkZGluZzogMjBweCAwOwogICAgICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLnNsaWRlLWNvbnRhaW5lciB7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC41KTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdVcmJhbmlzdCcsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIGhlaWdodDogNzIwcHg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgICBwYWRkaW5nOiA2MHB4OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxMjgwcHg7CiAgICAgICAgICAgIGNvbG9yOiAjZjVmNWY1OwogICAgICAgIH0KCiAgICAgICAgLyogRGVjb3JhdGl2ZSBiYWNrZ3JvdW5kIGVsZW1lbnQgKi8KICAgICAgICAuc2xpZGUtY29udGFpbmVyOjpiZWZvcmUgewogICAgICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IC0xMDBweDsKICAgICAgICAgICAgcmlnaHQ6IC0xMDBweDsKICAgICAgICAgICAgd2lkdGg6IDMwMHB4OwogICAgICAgICAgICBoZWlnaHQ6IDMwMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDIyMiwgMjU1LCAxNTQsIDAuMSkgMCUsIHRyYW5zcGFyZW50IDcwJSk7CiAgICAgICAgICAgIHotaW5kZXg6IDA7CiAgICAgICAgfQoKICAgICAgICAuc2xpZGUtY29udGFpbmVyICZndDsgKiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfQoKICAgICAgICAvKiAyLiBUWVBPR1JBUEhZICovCiAgICAgICAgaDEgeyBmb250LXNpemU6IDgwcHg7IGxpbmUtaGVpZ2h0OiAxLjE7IG1hcmdpbjogMDsgY29sb3I6ICNkZWZmOWE7IGZvbnQtd2VpZ2h0OiA3MDA7IHRleHQtYWxpZ246IGNlbnRlcjsgfQogICAgICAgIC5zbGlkZS10aXRsZSB7IGZvbnQtc2l6ZTogNDhweDsgZm9udC13ZWlnaHQ6IDUwMDsgbWFyZ2luLWJvdHRvbTogNDBweDsgdGV4dC1hbGlnbjogbGVmdDsgd2lkdGg6IDEwMCU7IGNvbG9yOiAjZGVmZjlhOyB9CiAgICAgICAgaDMgeyBmb250LXNpemU6IDMycHg7IGNvbG9yOiAjZjVmNWY1OyBtYXJnaW4tYm90dG9tOiAyMHB4OyBmb250LXdlaWdodDogNTAwOyB9CiAgICAgICAgcCwgbGksIHRkLCB0aCB7IGZvbnQtc2l6ZTogMjBweDsgY29sb3I6ICNkYWZmZGU7IGxpbmUtaGVpZ2h0OiAxLjY7IH0KICAgICAgICAuc3VidGl0bGUgeyBmb250LXNpemU6IDI0cHg7IG1hcmdpbi10b3A6IDIwcHg7IG9wYWNpdHk6IDAuODsgdGV4dC1hbGlnbjogY2VudGVyOyB9CgogICAgICAgIC8qIDMuIExBWU9VVFMgKi8KICAgICAgICAuY29udGVudC1hcmVhIHsgZmxleC1ncm93OiAxOyB3aWR0aDogMTAwJTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0KICAgICAgICAKICAgICAgICAvKiBUd28gQ29sdW1uICovCiAgICAgICAgLnR3by1jb2x1bW4geyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogNTBweDsgd2lkdGg6IDEwMCU7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KICAgICAgICAKICAgICAgICAvKiBUaWxlZCBDb250ZW50ICovCiAgICAgICAgLnRpbGVkLWNvbnRlbnQgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDMwcHg7IHdpZHRoOiAxMDAlOyB9CiAgICAgICAgLnRpbGUgeyBmbGV4OiAxOyBiYWNrZ3JvdW5kOiAjMWExYTFhOyBwYWRkaW5nOiA0MHB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjMzMzOyB9CiAgICAgICAgLnRpbGUgLmljb24geyBjb2xvcjogI2RlZmY5YTsgZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9CgogICAgICAgIC8qIEltYWdlIFdyYXBwZXIgKi8KICAgICAgICAuaW1hZ2Utd3JhcHBlciB7IGJvcmRlci1yYWRpdXM6IDIwcHg7IG92ZXJmbG93OiBoaWRkZW47IGJvcmRlcjogMXB4IHNvbGlkICNkZWZmOWE7IGhlaWdodDogNDAwcHg7IHdpZHRoOiAxMDAlOyB9CiAgICAgICAgLmltYWdlLXdyYXBwZXIgaW1nIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IH0KCiAgICAgICAgLyogVGFibGUgKi8KICAgICAgICB0YWJsZSB7IHdpZHRoOiAxMDAlOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9CiAgICAgICAgdGgsIHRkIHsgcGFkZGluZzogMjBweDsgdGV4dC1hbGlnbjogbGVmdDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzM7IH0KICAgICAgICB0aCB7IGNvbG9yOiAjZGVmZjlhOyBmb250LXdlaWdodDogNzAwOyB9CgogICAgICAgIC8qIFRpbWVsaW5lICovCiAgICAgICAgLnRpbWVsaW5lLWxheW91dCB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgcGFkZGluZzogNDBweCAwOyB9CiAgICAgICAgLnRpbWVsaW5lLWxpbmUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAycHg7IGJhY2tncm91bmQ6ICNkZWZmOWE7IHotaW5kZXg6IDA7IH0KICAgICAgICAudGltZWxpbmUtaXRlbSB7IHdpZHRoOiAyMiU7IGJhY2tncm91bmQ6ICMwMDA7IHotaW5kZXg6IDE7IHBhZGRpbmc6IDIwcHg7IGJvcmRlcjogMXB4IHNvbGlkICMzMzM7IGJvcmRlci1yYWRpdXM6IDE1cHg7IH0KCiAgICAgICAgLyogQmxlZWQgSW1hZ2UgUmlnaHQgKi8KICAgICAgICAuc2xpZGUtY29udGFpbmVyLmJsZWVkLWltYWdlLWxheW91dCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgcGFkZGluZzogMDsgYWxpZ24taXRlbXM6IHN0YXJ0OyB9CiAgICAgICAgLmJsZWVkLWltYWdlLXNpZGUgeyBoZWlnaHQ6IDcyMHB4OyB3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IH0KICAgICAgICAuYmxlZWQtdGV4dC1zaWRlIHsgcGFkZGluZzogNjBweDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGhlaWdodDogMTAwJTsgfQoKICAgICAgICAvKiBGb3JtdWxhL0NvZGUgQ29udGFpbmVyICovCiAgICAgICAgI2Zvcm11bGEtY29udGFpbmVyIHsgYmFja2dyb3VuZDogIzFhMWExYTsgcGFkZGluZzogMzBweDsgYm9yZGVyLXJhZGl1czogMTVweDsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgY29sb3I6ICNkZWZmOWE7IGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2RlZmY5YTsgb3ZlcmZsb3cteDogYXV0bzsgfQoKICAgICAgICAvKiBIaWdobGlnaHQgTnVtYmVycyAqLwogICAgICAgIC5oaWdobGlnaHQtbnVtYmVycy1sYXlvdXQgLm51bWJlciB7IGZvbnQtc2l6ZTogMTUwcHg7IGNvbG9yOiAjZGVmZjlhOyBmb250LXdlaWdodDogNzAwOyB9CgogICAgJmx0Oy9zdHlsZSZndDsKJmx0Oy9oZWFkJmd0OwombHQ7Ym9keSZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7c2xpZGUtY29udGFpbmVyJnF1b3Q7IGlkPSZxdW90O3NsaWRlMSZxdW90OyZndDsKICAgICZsdDtoMSZndDtBZGV1cyBhbyBDb3BpYSBlIENvbGEhJmx0Oy9oMSZndDsKICAgICZsdDtwIGNsYXNzPSZxdW90O3N1YnRpdGxlJnF1b3Q7Jmd0O0NvbW8gZGlzdHJpYnVpciBtJnVhY3V0ZTtsdGlwbGFzIGZvdG9zIGVtIHNsaWRlcyBpbmRpdmlkdWFpcyBkZSBmb3JtYSBhdXRvbSZhYWN1dGU7dGljYS4mbHQ7L3AmZ3Q7CiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtzbGlkZS1jb250YWluZXImcXVvdDsgaWQ9JnF1b3Q7c2xpZGUyJnF1b3Q7Jmd0OwogICAgJmx0O2gyIHN0eWxlPSZxdW90O2ZvbnQtc2l6ZTogNjBweDsgY29sb3I6ICNkZWZmOWE7IHRleHQtYWxpZ246IGNlbnRlcjsmcXVvdDsmZ3Q7TyBQcm9ibGVtYSZsdDsvaDImZ3Q7CiAgICAmbHQ7cCBzdHlsZT0mcXVvdDtmb250LXNpemU6IDMwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgbWF4LXdpZHRoOiA4MDBweDsmcXVvdDsmZ3Q7SW5zZXJpciAxNSBmb3RvcyBtYW51YWxtZW50ZSBnYXN0YSB0ZW1wbyBwcmVjaW9zby4gVmFtb3MgY29uaGVjZXIgYXMgc29sdSZjY2VkaWw7Jm90aWxkZTtlcyByJmFhY3V0ZTtwaWRhcy4mbHQ7L3AmZ3Q7CiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtzbGlkZS1jb250YWluZXIgYmxlZWQtaW1hZ2UtbGF5b3V0JnF1b3Q7IGlkPSZxdW90O3NsaWRlMyZxdW90OyZndDsKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7YmxlZWQtdGV4dC1zaWRlJnF1b3Q7Jmd0OwogICAgICAgICZsdDtoMiBjbGFzcz0mcXVvdDtzbGlkZS10aXRsZSZxdW90OyZndDtPIFRydXF1ZSBkYSBCYXJyYSBMYXRlcmFsJmx0Oy9oMiZndDsKICAgICAgICAmbHQ7aDMmZ3Q7TyBDYW1pbmhvIG1haXMgQ3VydG8mbHQ7L2gzJmd0OwogICAgICAgICZsdDtwJmd0O0EgZm9ybWEgbWFpcyBzaW1wbGVzIGRlIGNyaWFyIHNsaWRlcyBub3ZvcyBwYXJhIGNhZGEgZm90byAmZWFjdXRlOyBvIGFycmFzdGUgaW50ZWxpZ2VudGUuJmx0Oy9wJmd0OwogICAgICAgICZsdDtwJmd0O0FvIGFycmFzdGFyIGFycXVpdm9zIGRlIGltYWdlbSBkaXJldGFtZW50ZSBwYXJhIG8gJmx0O3N0cm9uZyZndDtwYWluZWwgZGUgbWluaWF0dXJhcyZsdDsvc3Ryb25nJmd0OyAoJmFncmF2ZTsgZXNxdWVyZGEpLCBvIFBvd2VyUG9pbnQgZ2VyYSB1bSBub3ZvIHNsaWRlIHBhcmEgY2FkYSBhcnF1aXZvIGF1dG9tYXRpY2FtZW50ZS4mbHQ7L3AmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKICAgICZsdDtpbWcgY2xhc3M9JnF1b3Q7YmxlZWQtaW1hZ2Utc2lkZSZxdW90OyBzcmM9JnF1b3Q7aHR0cDovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQuY29tL2ltYWdlX2NvbGxlY3Rpb24vaW1hZ2VfcmV0cmlldmFsLzQwNTUxMTE1ODQ3MzI4ODY2MDcmcXVvdDsgYWx0PSZxdW90O0FycmFzdGUgZGUgaW1hZ2VucyBwYXJhIGEgYmFycmEgbGF0ZXJhbCZxdW90OyZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3NsaWRlLWNvbnRhaW5lciZxdW90OyBpZD0mcXVvdDtzbGlkZTQmcXVvdDsmZ3Q7CiAgICAmbHQ7aDIgY2xhc3M9JnF1b3Q7c2xpZGUtdGl0bGUmcXVvdDsmZ3Q7U29sdSZjY2VkaWw7JmF0aWxkZTtvIDE6ICZBYWN1dGU7bGJ1bSBkZSBGb3RvZ3JhZmlhcyZsdDsvaDImZ3Q7CiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnRlbnQtYXJlYSZxdW90OyZndDsKICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O3RpbGVkLWNvbnRlbnQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7dGlsZSZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7aWNvbiZxdW90OyZndDsmbHQ7aSBjbGFzcz0mcXVvdDtmYS1zb2xpZCBmYS1mb2xkZXItb3BlbiZxdW90OyZndDsmbHQ7L2kmZ3Q7Jmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDMmZ3Q7SW1wb3J0YSZjY2VkaWw7JmF0aWxkZTtvIGVtIExvdGUmbHQ7L2gzJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7U2VsZWNpb25lIHRvZGFzIGFzIDE1IGltYWdlbnMgZGUgdW1hIHZleiBzJm9hY3V0ZTsgbm8gc2V1IGNvbXB1dGFkb3IuJmx0Oy9wJmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDt0aWxlJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtpY29uJnF1b3Q7Jmd0OyZsdDtpIGNsYXNzPSZxdW90O2ZhLXNvbGlkIGZhLXdhbmQtbWFnaWMtc3BhcmtsZXMmcXVvdDsmZ3Q7Jmx0Oy9pJmd0OyZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gzJmd0O0FqdXN0ZSBBdXRvbSZhYWN1dGU7dGljbyZsdDsvaDMmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtFc2NvbGhhIG8gbGF5b3V0ICZxdW90O0FqdXN0YXIgYW8gU2xpZGUmcXVvdDsgcGFyYSBxdWUgY2FkYSBmb3RvIG9jdXBlIGEgdGVsYSB0b2RhLiZsdDsvcCZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7dGlsZSZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7aWNvbiZxdW90OyZndDsmbHQ7aSBjbGFzcz0mcXVvdDtmYS1zb2xpZCBmYS1maWxlLXBvd2VycG9pbnQmcXVvdDsmZ3Q7Jmx0Oy9pJmd0OyZsdDsvZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gzJmd0O05vdm8gQXJxdWl2byZsdDsvaDMmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7cCZndDtPIFBvd2VyUG9pbnQgY3JpYSB1bWEgYXByZXNlbnRhJmNjZWRpbDsmYXRpbGRlO28gemVyYWRhIGNvbSBhcyBmb3RvcyBvcmdhbml6YWRhcy4mbHQ7L3AmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtzbGlkZS1jb250YWluZXImcXVvdDsgaWQ9JnF1b3Q7c2xpZGU1JnF1b3Q7Jmd0OwogICAgJmx0O2gyIGNsYXNzPSZxdW90O3NsaWRlLXRpdGxlJnF1b3Q7Jmd0O0NvbW8gQ3JpYXIgbyAmQWFjdXRlO2xidW0mbHQ7L2gyJmd0OwogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtjb250ZW50LWFyZWEmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDt0d28tY29sdW1uJnF1b3Q7Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O3VsIHN0eWxlPSZxdW90O2xpc3Qtc3R5bGU6IG5vbmU7IHBhZGRpbmc6IDA7JnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtsaSBzdHlsZT0mcXVvdDttYXJnaW4tYm90dG9tOiAyMHB4OyZxdW90OyZndDsmbHQ7aSBjbGFzcz0mcXVvdDtmYS1zb2xpZCBmYS1jaGVjayZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjogI2RlZmY5YTsgbWFyZ2luLXJpZ2h0OiAxNXB4OyZxdW90OyZndDsmbHQ7L2kmZ3Q7IFYmYWFjdXRlOyBuYSBndWlhICZsdDtzdHJvbmcmZ3Q7SW5zZXJpciZsdDsvc3Ryb25nJmd0Oy4mbHQ7L2xpJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtsaSBzdHlsZT0mcXVvdDttYXJnaW4tYm90dG9tOiAyMHB4OyZxdW90OyZndDsmbHQ7aSBjbGFzcz0mcXVvdDtmYS1zb2xpZCBmYS1jaGVjayZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjogI2RlZmY5YTsgbWFyZ2luLXJpZ2h0OiAxNXB4OyZxdW90OyZndDsmbHQ7L2kmZ3Q7IENsaXF1ZSBlbSAmbHQ7c3Ryb25nJmd0OyZBYWN1dGU7bGJ1bSBkZSBGb3RvZ3JhZmlhcyZsdDsvc3Ryb25nJmd0Oy4mbHQ7L2xpJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDtsaSBzdHlsZT0mcXVvdDttYXJnaW4tYm90dG9tOiAyMHB4OyZxdW90OyZndDsmbHQ7aSBjbGFzcz0mcXVvdDtmYS1zb2xpZCBmYS1jaGVjayZxdW90OyBzdHlsZT0mcXVvdDtjb2xvcjogI2RlZmY5YTsgbWFyZ2luLXJpZ2h0OiAxNXB4OyZxdW90OyZndDsmbHQ7L2kmZ3Q7IFNlbGVjaW9uZSAmbHQ7c3Ryb25nJmd0O0FycXVpdm8vRGlzY28mbHQ7L3N0cm9uZyZndDsgZSBlc2NvbGhhIGFzIGZvdG9zLiZsdDsvbGkmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O2xpIHN0eWxlPSZxdW90O21hcmdpbi1ib3R0b206IDIwcHg7JnF1b3Q7Jmd0OyZsdDtpIGNsYXNzPSZxdW90O2ZhLXNvbGlkIGZhLWNoZWNrJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiAjZGVmZjlhOyBtYXJnaW4tcmlnaHQ6IDE1cHg7JnF1b3Q7Jmd0OyZsdDsvaSZndDsgRW0gTGF5b3V0IGRhIEZvdG9ncmFmaWEsIHVzZSAmbHQ7c3Ryb25nJmd0OzEgZm90b2dyYWZpYSZsdDsvc3Ryb25nJmd0Oy4mbHQ7L2xpJmd0OwogICAgICAgICAgICAgICAgJmx0Oy91bCZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7aW1hZ2Utd3JhcHBlciZxdW90OyZndDsKICAgICAgICAgICAgICAgICZsdDtpbWcgc3JjPSZxdW90O2h0dHA6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi50LmNvbS9pbWFnZV9jb2xsZWN0aW9uL2ltYWdlX3JldHJpZXZhbC8xMjMzNjY1NTUxNjUwNTA4ODg0NyZxdW90OyBhbHQ9JnF1b3Q7TWVudSBkZSAmQWFjdXRlO2xidW0gZGUgRm90b3MmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICZsdDsvZGl2Jmd0OwogICAgJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtzbGlkZS1jb250YWluZXImcXVvdDsgaWQ9JnF1b3Q7c2xpZGU2JnF1b3Q7Jmd0OwogICAgJmx0O2gyIGNsYXNzPSZxdW90O3NsaWRlLXRpdGxlJnF1b3Q7Jmd0O1NvbHUmY2NlZGlsOyZhdGlsZGU7byAyOiBNYWNybyBWQkEmbHQ7L2gyJmd0OwogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtjb250ZW50LWFyZWEmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDt0d28tY29sdW1uIGhpZ2hsaWdodC1udW1iZXJzLWxheW91dCZxdW90OyZndDsKICAgICAgICAgICAgJmx0O2RpdiZndDsKICAgICAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7bnVtYmVyJnF1b3Q7Jmd0OzFzJmx0Oy9kaXYmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gzJmd0O1BhcmEgU2xpZGVzIHF1ZSBqJmFhY3V0ZTsgdCZlY2lyYzttIEZvdG9zJmx0Oy9oMyZndDsKICAgICAgICAgICAgICAgICZsdDtwJmd0O1NlIGFzIGZvdG9zIGomYWFjdXRlOyBlc3QmYXRpbGRlO28gYmFndW4mY2NlZGlsO2FkYXMgZW0gdW0gJnVhY3V0ZTtuaWNvIHNsaWRlLCBhIE1hY3JvIFZCQSAmZWFjdXRlOyBhIHNvbHUmY2NlZGlsOyZhdGlsZGU7byBtJmFhY3V0ZTtnaWNhLiBFbSBhcGVuYXMgMSBzZWd1bmRvLCBlbGEgcmVjb3J0YSBjYWRhIGZvdG8gZSBjb2xhIGVtIHVtIG5vdm8gc2xpZGUuJmx0Oy9wJmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAmbHQ7L2RpdiZndDsKICAgICZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsKCiZsdDtkaXYgY2xhc3M9JnF1b3Q7c2xpZGUtY29udGFpbmVyJnF1b3Q7IGlkPSZxdW90O3NsaWRlNyZxdW90OyZndDsKICAgICZsdDtoMiBjbGFzcz0mcXVvdDtzbGlkZS10aXRsZSZxdW90OyZndDtPIEMmb2FjdXRlO2RpZ28gZGEgQXV0b21hJmNjZWRpbDsmYXRpbGRlO28mbHQ7L2gyJmd0OwogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtjb250ZW50LWFyZWEmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBpZD0mcXVvdDtmb3JtdWxhLWNvbnRhaW5lciZxdW90OyZndDsKICAgICAgICAgICAgU3ViIERpdmlkaXJGb3RvcygpJmx0O2JyJmd0OwogICAgICAgICAgICAmYW1wO25ic3A7JmFtcDtuYnNwO0RpbSBzbGQgQXMgU2xpZGU6IFNldCBzbGQgPSBBY3RpdmVXaW5kb3cuVmlldy5TbGlkZSZsdDticiZndDsKICAgICAgICAgICAgJmFtcDtuYnNwOyZhbXA7bmJzcDtGb3IgaSA9IHNsZC5TaGFwZXMuQ291bnQgVG8gMSBTdGVwIC0xJmx0O2JyJmd0OwogICAgICAgICAgICAmYW1wO25ic3A7JmFtcDtuYnNwOyZhbXA7bmJzcDsmYW1wO25ic3A7SWYgc2xkLlNoYXBlcyhpKS5UeXBlID0gbXNvUGljdHVyZSBUaGVuJmx0O2JyJmd0OwogICAgICAgICAgICAmYW1wO25ic3A7JmFtcDtuYnNwOyZhbXA7bmJzcDsmYW1wO25ic3A7JmFtcDtuYnNwOyZhbXA7bmJzcDtEaW0gblNsZCBBcyBTbGlkZTogU2V0IG5TbGQgPSBBY3RpdmVQcmVzZW50YXRpb24uU2xpZGVzLkFkZChzbGQuU2xpZGVJbmRleCArIDEsIHBwTGF5b3V0QmxhbmspJmx0O2JyJmd0OwogICAgICAgICAgICAmYW1wO25ic3A7JmFtcDtuYnNwOyZhbXA7bmJzcDsmYW1wO25ic3A7JmFtcDtuYnNwOyZhbXA7bmJzcDtzbGQuU2hhcGVzKGkpLkN1dDogblNsZC5TaGFwZXMuUGFzdGUmbHQ7YnImZ3Q7CiAgICAgICAgICAgICZhbXA7bmJzcDsmYW1wO25ic3A7JmFtcDtuYnNwOyZhbXA7bmJzcDtFbmQgSWYmbHQ7YnImZ3Q7CiAgICAgICAgICAgICZhbXA7bmJzcDsmYW1wO25ic3A7TmV4dCBpJmx0O2JyJmd0OwogICAgICAgICAgICBFbmQgU3ViCiAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0O3Agc3R5bGU9JnF1b3Q7bWFyZ2luLXRvcDogMjBweDsmcXVvdDsmZ3Q7Q29waWUgZXN0ZSBjJm9hY3V0ZTtkaWdvIHBhcmEgYXV0b21hdGl6YXIgbyBwcm9jZXNzbyBlbSBhcHJlc2VudGEmY2NlZGlsOyZvdGlsZGU7ZXMgZXhpc3RlbnRlcy4mbHQ7L3AmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3NsaWRlLWNvbnRhaW5lciZxdW90OyBpZD0mcXVvdDtzbGlkZTgmcXVvdDsmZ3Q7CiAgICAmbHQ7aDIgY2xhc3M9JnF1b3Q7c2xpZGUtdGl0bGUmcXVvdDsmZ3Q7Q29tbyBBcGxpY2FyIGEgTWFjcm8mbHQ7L2gyJmd0OwogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtjb250ZW50LWFyZWEmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDt0aW1lbGluZS1sYXlvdXQmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7dGltZWxpbmUtbGluZSZxdW90OyZndDsmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDt0aW1lbGluZS1pdGVtJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gzIHN0eWxlPSZxdW90O2NvbG9yOiAjZGVmZjlhOyZxdW90OyZndDtQYXNzbyAxJmx0Oy9oMyZndDsKICAgICAgICAgICAgICAgICZsdDtwJmd0O0FwZXJ0ZSAmbHQ7c3Ryb25nJmd0O0FsdCArIEYxMSZsdDsvc3Ryb25nJmd0OyBwYXJhIGFicmlyIG8gRWRpdG9yIFZCQS4mbHQ7L3AmZ3Q7CiAgICAgICAgICAgICZsdDsvZGl2Jmd0OwogICAgICAgICAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O3RpbWVsaW5lLWl0ZW0mcXVvdDsmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7aDMgc3R5bGU9JnF1b3Q7Y29sb3I6ICNkZWZmOWE7JnF1b3Q7Jmd0O1Bhc3NvIDImbHQ7L2gzJmd0OwogICAgICAgICAgICAgICAgJmx0O3AmZ3Q7ViZhYWN1dGU7IGVtICZsdDtzdHJvbmcmZ3Q7SW5zZXJpciAmZ3Q7IE0mb2FjdXRlO2R1bG8mbHQ7L3N0cm9uZyZndDsuJmx0Oy9wJmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDt0aW1lbGluZS1pdGVtJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gzIHN0eWxlPSZxdW90O2NvbG9yOiAjZGVmZjlhOyZxdW90OyZndDtQYXNzbyAzJmx0Oy9oMyZndDsKICAgICAgICAgICAgICAgICZsdDtwJmd0O0NvbGUgbyBjJm9hY3V0ZTtkaWdvIGFudGVyaW9yIG5hIGphbmVsYSBicmFuY2EuJmx0Oy9wJmd0OwogICAgICAgICAgICAmbHQ7L2RpdiZndDsKICAgICAgICAgICAgJmx0O2RpdiBjbGFzcz0mcXVvdDt0aW1lbGluZS1pdGVtJnF1b3Q7Jmd0OwogICAgICAgICAgICAgICAgJmx0O2gzIHN0eWxlPSZxdW90O2NvbG9yOiAjZGVmZjlhOyZxdW90OyZndDtQYXNzbyA0Jmx0Oy9oMyZndDsKICAgICAgICAgICAgICAgICZsdDtwJmd0O0FwZXJ0ZSAmbHQ7c3Ryb25nJmd0O0Y1Jmx0Oy9zdHJvbmcmZ3Q7IHBhcmEgcm9kYXIgYSBtJmFhY3V0ZTtnaWNhLiZsdDsvcCZndDsKICAgICAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAgICAgJmx0Oy9kaXYmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3NsaWRlLWNvbnRhaW5lciBibGVlZC1pbWFnZS1sYXlvdXQmcXVvdDsgaWQ9JnF1b3Q7c2xpZGU5JnF1b3Q7Jmd0OwogICAgJmx0O2RpdiBjbGFzcz0mcXVvdDtibGVlZC10ZXh0LXNpZGUmcXVvdDsmZ3Q7CiAgICAgICAgJmx0O2gyIGNsYXNzPSZxdW90O3NsaWRlLXRpdGxlJnF1b3Q7Jmd0O0VkaXRvciBWaXN1YWwgZG8gVkJBJmx0Oy9oMiZndDsKICAgICAgICAmbHQ7cCZndDtOJmF0aWxkZTtvIHNlIGFzc3VzdGUgY29tIG8gYyZvYWN1dGU7ZGlnbyEgTyBhbWJpZW50ZSBkZSBkZXNlbnZvbHZpbWVudG8gZG8gT2ZmaWNlICZlYWN1dGU7IHNpbXBsZXMgZGUgbmF2ZWdhci4mbHQ7L3AmZ3Q7CiAgICAgICAgJmx0O3AmZ3Q7QmFzdGEgY29sYXIgZSBleGVjdXRhci4gVW1hIHZleiBmZWl0bywgdm9jJmVjaXJjOyBwb2RlIHNhbHZhciBvIGFycXVpdm8gY29tbyAmcXVvdDsucHB0bSZxdW90OyBwYXJhIHVzYXIgc2VtcHJlIHF1ZSBwcmVjaXNhci4mbHQ7L3AmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKICAgICZsdDtpbWcgY2xhc3M9JnF1b3Q7YmxlZWQtaW1hZ2Utc2lkZSZxdW90OyBzcmM9JnF1b3Q7aHR0cDovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQuY29tL2ltYWdlX2NvbGxlY3Rpb24vaW1hZ2VfcmV0cmlldmFsLzE2NTU5MDUxMjk3Nzk3NjQ4NTY3JnF1b3Q7IGFsdD0mcXVvdDtFZGl0b3IgZGUgQyZvYWN1dGU7ZGlnbyBWQkEmcXVvdDsmZ3Q7CiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtzbGlkZS1jb250YWluZXImcXVvdDsgaWQ9JnF1b3Q7c2xpZGUxMCZxdW90OyZndDsKICAgICZsdDtoMiBjbGFzcz0mcXVvdDtzbGlkZS10aXRsZSZxdW90OyZndDtRdWFsIE0mZWFjdXRlO3RvZG8gRXNjb2xoZXI/Jmx0Oy9oMiZndDsKICAgICZsdDtkaXYgY2xhc3M9JnF1b3Q7Y29udGVudC1hcmVhJnF1b3Q7Jmd0OwogICAgICAgICZsdDt0YWJsZSZndDsKICAgICAgICAgICAgJmx0O3RoZWFkJmd0OwogICAgICAgICAgICAgICAgJmx0O3RyJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDt0aCZndDtNJmVhY3V0ZTt0b2RvJmx0Oy90aCZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7dGgmZ3Q7SWRlYWwgcGFyYS4uLiZsdDsvdGgmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3RoJmd0O04maWFjdXRlO3ZlbCBkZSBFc2ZvciZjY2VkaWw7byZsdDsvdGgmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L3RyJmd0OwogICAgICAgICAgICAmbHQ7L3RoZWFkJmd0OwogICAgICAgICAgICAmbHQ7dGJvZHkmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7dHImZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3RkJmd0OyZBYWN1dGU7bGJ1bSBkZSBGb3RvcyZsdDsvdGQmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3RkJmd0O0ltcG9ydGFyIGZvdG9zIGRvIFBDJmx0Oy90ZCZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7dGQmZ3Q7QmFpeG8gKE5hdGl2bykmbHQ7L3RkJmd0OwogICAgICAgICAgICAgICAgJmx0Oy90ciZndDsKICAgICAgICAgICAgICAgICZsdDt0ciZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7dGQmZ3Q7QmFycmEgTGF0ZXJhbCZsdDsvdGQmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3RkJmd0O0FycmFzdGFyIGZvdG9zIHImYWFjdXRlO3BpZGFzJmx0Oy90ZCZndDsKICAgICAgICAgICAgICAgICAgICAmbHQ7dGQmZ3Q7TSZpYWN1dGU7bmltbyZsdDsvdGQmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L3RyJmd0OwogICAgICAgICAgICAgICAgJmx0O3RyJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDt0ZCZndDtNYWNybyBWQkEmbHQ7L3RkJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDt0ZCZndDtGb3RvcyBqJmFhY3V0ZTsgbm8gc2xpZGUmbHQ7L3RkJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDt0ZCZndDtNJmVhY3V0ZTtkaW8gKENvbmZpZ3VyYSZjY2VkaWw7JmF0aWxkZTtvKSZsdDsvdGQmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L3RyJmd0OwogICAgICAgICAgICAgICAgJmx0O3RyJmd0OwogICAgICAgICAgICAgICAgICAgICZsdDt0ZCZndDtTdXBsZW1lbnRvcyZsdDsvdGQmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3RkJmd0O1VzbyBwcm9maXNzaW9uYWwgcmVjb3JyZW50ZSZsdDsvdGQmZ3Q7CiAgICAgICAgICAgICAgICAgICAgJmx0O3RkJmd0O0luc3RhbGEmY2NlZGlsOyZhdGlsZGU7byZsdDsvdGQmZ3Q7CiAgICAgICAgICAgICAgICAmbHQ7L3RyJmd0OwogICAgICAgICAgICAmbHQ7L3Rib2R5Jmd0OwogICAgICAgICZsdDsvdGFibGUmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7ZGl2IGNsYXNzPSZxdW90O3NsaWRlLWNvbnRhaW5lciZxdW90OyBpZD0mcXVvdDtzbGlkZTExJnF1b3Q7Jmd0OwogICAgJmx0O2gyIGNsYXNzPSZxdW90O3NsaWRlLXRpdGxlJnF1b3Q7Jmd0O0RpY2FzIHBhcmEgdW0gTG9vayBEZXNpZ25lciZsdDsvaDImZ3Q7CiAgICAmbHQ7ZGl2IGNsYXNzPSZxdW90O2NvbnRlbnQtYXJlYSZxdW90OyZndDsKICAgICAgICAmbHQ7dWwgc3R5bGU9JnF1b3Q7bGlzdC1zdHlsZTogbm9uZTsgcGFkZGluZzogMDsmcXVvdDsmZ3Q7CiAgICAgICAgICAgICZsdDtsaSBzdHlsZT0mcXVvdDttYXJnaW4tYm90dG9tOiAyNXB4OyZxdW90OyZndDsmbHQ7aSBjbGFzcz0mcXVvdDtmYS1zb2xpZCBmYS1zdGFyJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiAjZGVmZjlhOyZxdW90OyZndDsmbHQ7L2kmZ3Q7ICZsdDtzdHJvbmcmZ3Q7SWRlaWFzIGRlIERlc2lnbjombHQ7L3N0cm9uZyZndDsgQXAmb2FjdXRlO3MgZGl2aWRpciBhcyBmb3RvcywgdXNlIG8gYm90JmF0aWxkZTtvICZxdW90O0Rlc2lnbmVyJnF1b3Q7IHBhcmEgbGF5b3V0cyBjcmlhdGl2b3MuJmx0Oy9saSZndDsKICAgICAgICAgICAgJmx0O2xpIHN0eWxlPSZxdW90O21hcmdpbi1ib3R0b206IDI1cHg7JnF1b3Q7Jmd0OyZsdDtpIGNsYXNzPSZxdW90O2ZhLXNvbGlkIGZhLWNvbXByZXNzJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiAjZGVmZjlhOyZxdW90OyZndDsmbHQ7L2kmZ3Q7ICZsdDtzdHJvbmcmZ3Q7Q29tcGFjdGFyIEltYWdlbnM6Jmx0Oy9zdHJvbmcmZ3Q7IFNlbGVjaW9uZSB1bWEgZm90byBlIHYmYWFjdXRlOyBlbSAmcXVvdDtGb3JtYXRhciAmZ3Q7IENvbXBhY3RhciZxdW90OyBwYXJhIHJlZHV6aXIgbyBwZXNvIGRvIGFycXVpdm8uJmx0Oy9saSZndDsKICAgICAgICAgICAgJmx0O2xpIHN0eWxlPSZxdW90O21hcmdpbi1ib3R0b206IDI1cHg7JnF1b3Q7Jmd0OyZsdDtpIGNsYXNzPSZxdW90O2ZhLXNvbGlkIGZhLWxheWVyLWdyb3VwJnF1b3Q7IHN0eWxlPSZxdW90O2NvbG9yOiAjZGVmZjlhOyZxdW90OyZndDsmbHQ7L2kmZ3Q7ICZsdDtzdHJvbmcmZ3Q7U21hcnRBcnQ6Jmx0Oy9zdHJvbmcmZ3Q7IENvbnZlcnRhIGZvdG9zIGVtIGdyYWRlcyBwZXJmZWl0YXMgcmFwaWRhbWVudGUgdXNhbmRvICZxdW90O0xheW91dCBkYSBJbWFnZW0mcXVvdDsuJmx0Oy9saSZndDsKICAgICAgICAmbHQ7L3VsJmd0OwogICAgJmx0Oy9kaXYmZ3Q7CiZsdDsvZGl2Jmd0OwoKJmx0O2RpdiBjbGFzcz0mcXVvdDtzbGlkZS1jb250YWluZXImcXVvdDsgaWQ9JnF1b3Q7c2xpZGUxMiZxdW90OyZndDsKICAgICZsdDtoMiBzdHlsZT0mcXVvdDtmb250LXNpemU6IDgwcHg7IGNvbG9yOiAjZGVmZjlhOyZxdW90OyZndDtEJnVhY3V0ZTt2aWRhcz8mbHQ7L2gyJmd0OwogICAgJmx0O3AgY2xhc3M9JnF1b3Q7c3VidGl0bGUmcXVvdDsmZ3Q7QSBhdXRvbWEmY2NlZGlsOyZhdGlsZGU7byBlY29ub21pemEgaG9yYXMgZGUgdHJhYmFsaG8gbWFudWFsLiZsdDsvcCZndDsKICAgICZsdDtkaXYgc3R5bGU9JnF1b3Q7bWFyZ2luLXRvcDogNTBweDsgdGV4dC1hbGlnbjogY2VudGVyOyZxdW90OyZndDsKICAgICAgICAmbHQ7cCZndDtFeHBsb3JlIGFzIGZlcnJhbWVudGFzIG5hdGl2YXMgZSBtYWNyb3MgcGFyYSBkb21pbmFyIG8gUG93ZXJQb2ludC4mbHQ7L3AmZ3Q7CiAgICAmbHQ7L2RpdiZndDsKJmx0Oy9kaXYmZ3Q7CgombHQ7L2JvZHkmZ3Q7CiZsdDsvaHRtbCZndDsK
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Como Automatizar Fotos no PowerPoint</title>
<link rel="preconnect" href="https://f...content-available-to-author-only...s.com">
<link rel="preconnect" href="https://f...content-available-to-author-only...c.com" crossorigin>
<link href="https://f...content-available-to-author-only...s.com/css2?family=Urbanist:wght@400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://c...content-available-to-author-only...e.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
<style>
/* 1. SETUP & CORE DESIGN */
* { box-sizing: border-box; }
body {
background-color: #111;
display: grid;
gap: 20px;
grid-template-columns: 1fr;
margin: 0;
min-height: 100vh;
padding: 20px 0;
place-items: center;
}
.slide-container {
align-items: center;
background-color: #000;
border-radius: 12px;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
display: flex;
flex-direction: column;
font-family: 'Urbanist', sans-serif;
height: 720px;
justify-content: center;
overflow: hidden;
padding: 60px;
position: relative;
width: 1280px;
color: #f5f5f5;
}
/* Decorative background element */
.slide-container::before {
content: '';
position: absolute;
top: -100px;
right: -100px;
width: 300px;
height: 300px;
background: radial-gradient(circle, rgba(222, 255, 154, 0.1) 0%, transparent 70%);
z-index: 0;
}
.slide-container > * { position: relative; z-index: 1; }
/* 2. TYPOGRAPHY */
h1 { font-size: 80px; line-height: 1.1; margin: 0; color: #deff9a; font-weight: 700; text-align: center; }
.slide-title { font-size: 48px; font-weight: 500; margin-bottom: 40px; text-align: left; width: 100%; color: #deff9a; }
h3 { font-size: 32px; color: #f5f5f5; margin-bottom: 20px; font-weight: 500; }
p, li, td, th { font-size: 20px; color: #daffde; line-height: 1.6; }
.subtitle { font-size: 24px; margin-top: 20px; opacity: 0.8; text-align: center; }
/* 3. LAYOUTS */
.content-area { flex-grow: 1; width: 100%; display: flex; flex-direction: column; justify-content: center; }
/* Two Column */
.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; width: 100%; align-items: center; }
/* Tiled Content */
.tiled-content { display: flex; gap: 30px; width: 100%; }
.tile { flex: 1; background: #1a1a1a; padding: 40px; border-radius: 20px; border: 1px solid #333; }
.tile .icon { color: #deff9a; font-size: 48px; margin-bottom: 20px; }
/* Image Wrapper */
.image-wrapper { border-radius: 20px; overflow: hidden; border: 1px solid #deff9a; height: 400px; width: 100%; }
.image-wrapper img { width: 100%; height: 100%; object-fit: cover; }
/* Table */
table { width: 100%; border-collapse: collapse; }
th, td { padding: 20px; text-align: left; border-bottom: 1px solid #333; }
th { color: #deff9a; font-weight: 700; }
/* Timeline */
.timeline-layout { display: flex; justify-content: space-between; position: relative; width: 100%; padding: 40px 0; }
.timeline-line { position: absolute; top: 50%; left: 0; width: 100%; height: 2px; background: #deff9a; z-index: 0; }
.timeline-item { width: 22%; background: #000; z-index: 1; padding: 20px; border: 1px solid #333; border-radius: 15px; }
/* Bleed Image Right */
.slide-container.bleed-image-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; align-items: start; }
.bleed-image-side { height: 720px; width: 100%; object-fit: cover; }
.bleed-text-side { padding: 60px; display: flex; flex-direction: column; justify-content: center; height: 100%; }
/* Formula/Code Container */
#formula-container { background: #1a1a1a; padding: 30px; border-radius: 15px; font-family: monospace; color: #deff9a; border-left: 5px solid #deff9a; overflow-x: auto; }
/* Highlight Numbers */
.highlight-numbers-layout .number { font-size: 150px; color: #deff9a; font-weight: 700; }
</style>
</head>
<body>
<div class="slide-container" id="slide1">
<h1>Adeus ao Copia e Cola!</h1>
<p class="subtitle">Como distribuir múltiplas fotos em slides individuais de forma automática.</p>
</div>
<div class="slide-container" id="slide2">
<h2 style="font-size: 60px; color: #deff9a; text-align: center;">O Problema</h2>
<p style="font-size: 30px; text-align: center; max-width: 800px;">Inserir 15 fotos manualmente gasta tempo precioso. Vamos conhecer as soluções rápidas.</p>
</div>
<div class="slide-container bleed-image-layout" id="slide3">
<div class="bleed-text-side">
<h2 class="slide-title">O Truque da Barra Lateral</h2>
<h3>O Caminho mais Curto</h3>
<p>A forma mais simples de criar slides novos para cada foto é o arraste inteligente.</p>
<p>Ao arrastar arquivos de imagem diretamente para o <strong>painel de miniaturas</strong> (à esquerda), o PowerPoint gera um novo slide para cada arquivo automaticamente.</p>
</div>
<img class="bleed-image-side" src="http://g...content-available-to-author-only...t.com/image_collection/image_retrieval/4055111584732886607" alt="Arraste de imagens para a barra lateral">
</div>
<div class="slide-container" id="slide4">
<h2 class="slide-title">Solução 1: Álbum de Fotografias</h2>
<div class="content-area">
<div class="tiled-content">
<div class="tile">
<div class="icon"><i class="fa-solid fa-folder-open"></i></div>
<h3>Importação em Lote</h3>
<p>Selecione todas as 15 imagens de uma vez só no seu computador.</p>
</div>
<div class="tile">
<div class="icon"><i class="fa-solid fa-wand-magic-sparkles"></i></div>
<h3>Ajuste Automático</h3>
<p>Escolha o layout "Ajustar ao Slide" para que cada foto ocupe a tela toda.</p>
</div>
<div class="tile">
<div class="icon"><i class="fa-solid fa-file-powerpoint"></i></div>
<h3>Novo Arquivo</h3>
<p>O PowerPoint cria uma apresentação zerada com as fotos organizadas.</p>
</div>
</div>
</div>
</div>
<div class="slide-container" id="slide5">
<h2 class="slide-title">Como Criar o Álbum</h2>
<div class="content-area">
<div class="two-column">
<div>
<ul style="list-style: none; padding: 0;">
<li style="margin-bottom: 20px;"><i class="fa-solid fa-check" style="color: #deff9a; margin-right: 15px;"></i> Vá na guia <strong>Inserir</strong>.</li>
<li style="margin-bottom: 20px;"><i class="fa-solid fa-check" style="color: #deff9a; margin-right: 15px;"></i> Clique em <strong>Álbum de Fotografias</strong>.</li>
<li style="margin-bottom: 20px;"><i class="fa-solid fa-check" style="color: #deff9a; margin-right: 15px;"></i> Selecione <strong>Arquivo/Disco</strong> e escolha as fotos.</li>
<li style="margin-bottom: 20px;"><i class="fa-solid fa-check" style="color: #deff9a; margin-right: 15px;"></i> Em Layout da Fotografia, use <strong>1 fotografia</strong>.</li>
</ul>
</div>
<div class="image-wrapper">
<img src="http://g...content-available-to-author-only...t.com/image_collection/image_retrieval/12336655516505088847" alt="Menu de Álbum de Fotos">
</div>
</div>
</div>
</div>
<div class="slide-container" id="slide6">
<h2 class="slide-title">Solução 2: Macro VBA</h2>
<div class="content-area">
<div class="two-column highlight-numbers-layout">
<div>
<div class="number">1s</div>
</div>
<div>
<h3>Para Slides que já têm Fotos</h3>
<p>Se as fotos já estão bagunçadas em um único slide, a Macro VBA é a solução mágica. Em apenas 1 segundo, ela recorta cada foto e cola em um novo slide.</p>
</div>
</div>
</div>
</div>
<div class="slide-container" id="slide7">
<h2 class="slide-title">O Código da Automação</h2>
<div class="content-area">
<div id="formula-container">
Sub DividirFotos()<br>
Dim sld As Slide: Set sld = ActiveWindow.View.Slide<br>
For i = sld.Shapes.Count To 1 Step -1<br>
If sld.Shapes(i).Type = msoPicture Then<br>
Dim nSld As Slide: Set nSld = ActivePresentation.Slides.Add(sld.SlideIndex + 1, ppLayoutBlank)<br>
sld.Shapes(i).Cut: nSld.Shapes.Paste<br>
End If<br>
Next i<br>
End Sub
</div>
<p style="margin-top: 20px;">Copie este código para automatizar o processo em apresentações existentes.</p>
</div>
</div>
<div class="slide-container" id="slide8">
<h2 class="slide-title">Como Aplicar a Macro</h2>
<div class="content-area">
<div class="timeline-layout">
<div class="timeline-line"></div>
<div class="timeline-item">
<h3 style="color: #deff9a;">Passo 1</h3>
<p>Aperte <strong>Alt + F11</strong> para abrir o Editor VBA.</p>
</div>
<div class="timeline-item">
<h3 style="color: #deff9a;">Passo 2</h3>
<p>Vá em <strong>Inserir > Módulo</strong>.</p>
</div>
<div class="timeline-item">
<h3 style="color: #deff9a;">Passo 3</h3>
<p>Cole o código anterior na janela branca.</p>
</div>
<div class="timeline-item">
<h3 style="color: #deff9a;">Passo 4</h3>
<p>Aperte <strong>F5</strong> para rodar a mágica.</p>
</div>
</div>
</div>
</div>
<div class="slide-container bleed-image-layout" id="slide9">
<div class="bleed-text-side">
<h2 class="slide-title">Editor Visual do VBA</h2>
<p>Não se assuste com o código! O ambiente de desenvolvimento do Office é simples de navegar.</p>
<p>Basta colar e executar. Uma vez feito, você pode salvar o arquivo como ".pptm" para usar sempre que precisar.</p>
</div>
<img class="bleed-image-side" src="http://g...content-available-to-author-only...t.com/image_collection/image_retrieval/16559051297797648567" alt="Editor de Código VBA">
</div>
<div class="slide-container" id="slide10">
<h2 class="slide-title">Qual Método Escolher?</h2>
<div class="content-area">
<table>
<thead>
<tr>
<th>Método</th>
<th>Ideal para...</th>
<th>Nível de Esforço</th>
</tr>
</thead>
<tbody>
<tr>
<td>Álbum de Fotos</td>
<td>Importar fotos do PC</td>
<td>Baixo (Nativo)</td>
</tr>
<tr>
<td>Barra Lateral</td>
<td>Arrastar fotos rápidas</td>
<td>Mínimo</td>
</tr>
<tr>
<td>Macro VBA</td>
<td>Fotos já no slide</td>
<td>Médio (Configuração)</td>
</tr>
<tr>
<td>Suplementos</td>
<td>Uso profissional recorrente</td>
<td>Instalação</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="slide-container" id="slide11">
<h2 class="slide-title">Dicas para um Look Designer</h2>
<div class="content-area">
<ul style="list-style: none; padding: 0;">
<li style="margin-bottom: 25px;"><i class="fa-solid fa-star" style="color: #deff9a;"></i> <strong>Ideias de Design:</strong> Após dividir as fotos, use o botão "Designer" para layouts criativos.</li>
<li style="margin-bottom: 25px;"><i class="fa-solid fa-compress" style="color: #deff9a;"></i> <strong>Compactar Imagens:</strong> Selecione uma foto e vá em "Formatar > Compactar" para reduzir o peso do arquivo.</li>
<li style="margin-bottom: 25px;"><i class="fa-solid fa-layer-group" style="color: #deff9a;"></i> <strong>SmartArt:</strong> Converta fotos em grades perfeitas rapidamente usando "Layout da Imagem".</li>
</ul>
</div>
</div>
<div class="slide-container" id="slide12">
<h2 style="font-size: 80px; color: #deff9a;">Dúvidas?</h2>
<p class="subtitle">A automação economiza horas de trabalho manual.</p>
<div style="margin-top: 50px; text-align: center;">
<p>Explore as ferramentas nativas e macros para dominar o PowerPoint.</p>
</div>
</div>
</body>
</html>