6.5 sec in total
382 ms
4.7 sec
1.4 sec
Visit stabiachannel.it now to see the best up-to-date Stabia Channel content for Italy and also check out these interesting facts you probably never knew about stabiachannel.it
Homepage
Visit stabiachannel.itWe analyzed Stabiachannel.it page load time and found that the first response time was 382 ms and then it took 6.1 sec to load all DOM resources and completely render a web page. This is a poor result, as 80% of websites can load faster.
stabiachannel.it performance score
name
value
score
weighting
Value4.8 s
12/100
10%
Value6.6 s
8/100
25%
Value9.3 s
12/100
10%
Value2,560 ms
4/100
30%
Value0.26
47/100
15%
Value21.8 s
1/100
10%
382 ms
1512 ms
69 ms
85 ms
90 ms
Our browser made a total of 142 requests to load all elements on the main page. We found that 49% of them (69 requests) were addressed to the original Stabiachannel.it, 8% (12 requests) were made to Googleads.g.doubleclick.net and 4% (6 requests) were made to Google-analytics.com. The less responsive or slowest element that took the longest time to load (1.5 sec) belongs to the original domain Stabiachannel.it.
Page size can be reduced by 248.6 kB (11%)
2.3 MB
2.1 MB
In fact, the total size of Stabiachannel.it main page is 2.3 MB. This result falls beyond the top 1M of websites and identifies a large and not optimized web page that may take ages to load. 80% of websites need less resources to load and that’s why Accessify’s recommendations for optimization and resource minification can be helpful for this project. Images take 2.0 MB which makes up the majority of the site volume.
Potential reduce by 176.8 kB
HTML content can be minified and compressed by a website’s server. The most efficient way is to compress content using GZIP which reduces data amount travelling through the network between server and browser. This page needs HTML code to be minified as it can gain 33.1 kB, which is 16% of the original size. It is highly recommended that content of this web page should be compressed using GZIP, as it can save up to 176.8 kB or 86% of the original size.
Potential reduce by 36.2 kB
Image size optimization can help to speed up a website loading time. The chart above shows the difference between the size before and after optimization. Stabia Channel images are well optimized though.
Potential reduce by 35.6 kB
It’s better to minify JavaScript in order to improve website performance. The diagram shows the current total size of all JavaScript files against the prospective JavaScript size after its minification and compression. It is highly recommended that all JavaScript files should be compressed and minified as it can save up to 35.6 kB or 24% of the original size.
Number of requests can be reduced by 43 (35%)
123
80
The browser has sent 123 CSS, Javascripts, AJAX and image requests in order to completely render the main page of Stabia Channel. We recommend that multiple CSS and JavaScript files should be merged into one by each type, as it can help reduce assets requests from 26 to 1 for JavaScripts and from 6 to 1 for CSS and as a result speed up the page load time.
stabiachannel.it
382 ms
www.stabiachannel.it
1512 ms
css2
69 ms
icon
85 ms
css2
90 ms
bootstrap.min.css
40 ms
css;base64,LnN0YU5hdmJhci10LWNlcmNhLW1vYmlsZSB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICANCiAgLnN3YWwyLXBvcHVwIHsNCiAgICB3aWR0aDogMjNlbSAhaW1wb3J0YW50Ow0KICB9DQogIA0KICAuaW1nLWJhY2tncm91bmQtYm94IC5pbWctYmFja2dyb3VuZCB7DQogICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7DQogICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50Ow0KICAgIHdpZHRoOiAyMjRweDsNCiAgICBoZWlnaHQ6IDEyNXB4Ow0KICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjsNCiAgfQ0KICANCiAgLmRpZGFzY2FsaWEgew0KICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBtYXJnaW46IDZweCAwcHggIWltcG9ydGFudDsNCiAgICBmb250LXN0eWxlOiBpdGFsaWM7DQogICAgY29sb3I6ICMwMDAwMDBiMDsNCiAgfQ0KICANCiAgI21vc3RSZWFkTmV3c0VsZW1lbnRzIGRpdiB7DQogICAgbWluLWhlaWdodDogODBweDsNCiAgfQ0KICANCiAgLmJhbm5lci1vbmx5LW1vYmlsZSwgLmltYWdlLWN1cnZlLW1vYmlsZSwgLnN0YVNvY2lhbE1lZGlhLW1vYmlsZSwgLm9ubHktbW9iaWxlLCAubGF0ZXN0TmV3c0ZpcnNSb3dJbWFnZS1vbmx5LW1vYmlsZSB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICANCiAgLmJhbm5lci1vbmx5LWRlc2t0b3Agew0KICAgIG1hcmdpbjogMHB4IDI2cHggMHB4IDBweDsNCiAgfQ0KICANCiAgYTpob3ZlciB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB9DQogIA0KICAudGV4dC1yaWdodCB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQ7DQogIH0NCiAgDQogIC5pbWFnZS1mdWxsLXdpZHRoIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgfQ0KICANCiAgLnRoaXJkLW5ld3MtdGl0b2xvLWJyZXZlLW1vYmlsZSB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICANCiAgLm1hdGVyaWFsLWljb25zIHsNCiAgICBmb250LWZhbWlseTogIk1hdGVyaWFsIEljb25zIjsNCiAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LXNpemU6IDI0cHg7DQogICAgLyogUHJlZmVycmVkIGljb24gc2l6ZSAqLw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsNCiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOw0KICAgIHdvcmQtd3JhcDogbm9ybWFsOw0KICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogICAgZGlyZWN0aW9uOiBsdHI7DQogICAgLyogU3VwcG9ydCBmb3IgYWxsIFdlYktpdCBicm93c2Vycy4gKi8NCiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsNCiAgICAvKiBTdXBwb3J0IGZvciBTYWZhcmkgYW5kIENocm9tZS4gKi8NCiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5Ow0KICAgIC8qIFN1cHBvcnQgZm9yIEZpcmVmb3guICovDQogICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgICAvKiBTdXBwb3J0IGZvciBJRS4gKi8NCiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICJsaWdhIjsNCiAgfQ0KICANCiAgYm9keSB7DQogICAgZm9udC1mYW1pbHk6ICJOb3RvIFNhbnMiLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICBiYWNrZ3JvdW5kOiAjRTVFOUVGOw0KICB9DQogIA0KICAuY29sLW1kLTQuY29sLXZpZGVvLWlmcmFtZSB7DQogICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7DQogIH0NCiAgDQogIGgxLCBoMiwgaDMsIGg0LCBoNSB7DQogICAgZm9udC1mYW1pbHk6ICJVYnVudHUiLCBzYW5zLXNlcmlmOw0KICAgIGNvbG9yOiAjMDAyMzRGOw0KICB9DQogIA0KICAudXBwZXJjYXNlIHsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICB9DQogIA0KICAuZGF0ZSB7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGNvbG9yOiByZ2JhKDM1LCAzNiwgMzgsIDAuNik7DQogICAgZm9udC1mYW1pbHk6ICJVYnVudHUiLCBzYW5zLXNlcmlmOw0KICB9DQogIA0KICAuZGF0ZS1hcnRpY29sbyB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQ7DQogIH0NCiAgDQogIC5jb25kaXZpZGktYnV0dG9uIHsNCiAgICBjb2xvcjogIzAwMzM2NjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgdGV4dC1hbGlnbjogcmlnaHQ7DQogICAgcGFkZGluZy1yaWdodDogMzBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogIH0NCiAgLmNvbmRpdmlkaS1idXR0b24gLm1hdGVyaWFsLWljb25zIHsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbWFyZ2luLXJpZ2h0OiAxMHB4Ow0KICB9DQogIA0KICAjc3RhTmF2YmFyIHsNCiAgICBoZWlnaHQ6IDgwcHg7DQogICAgZm9udC1mYW1pbHk6ICJVYnVudHUiLCBzYW5zLXNlcmlmOw0KICAgIGJhY2tncm91bmQ6ICMwMDMzNjYgIWltcG9ydGFudDsNCiAgICB6LWluZGV4OiA5OTk5OTk7DQogICAgd2lkdGg6IDEwMCU7DQogIH0NCiAgI3N0YU5hdmJhciBhIHsNCiAgICBjb2xvcjogd2hpdGU7DQogIH0NCiAgI3N0YU5hdmJhciAubmF2YmFyLXRvZ2dsZXIgew0KICAgIGJvcmRlcjogMHB4ICFpbXBvcnRhbnQ7DQogIH0NCiAgI3N0YU5hdmJhciAubmF2YmFyLXRvZ2dsZXItaWNvbiB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzIgMzInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSgyNTUsMjU1LDI1NSwgMSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDhoMjRNNCAxNmgyNE00IDI0aDI0Jy8lM0UlM0Mvc3ZnJTNFIik7DQogIH0NCiAgI3N0YU5hdmJhciAuc3RhTmF2YmFyLXQtbWVudSwgI3N0YU5hdmJhciAuc3RhTmF2YmFyLXQtY2VyY2Egew0KICAgIGNvbG9yOiB3aGl0ZTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgcGFkZGluZy1sZWZ0OiAxMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICAjc3RhTmF2YmFyIC5zdGFOYXZiYXItdC1tZW51IC5zdGFOYXZiYXItdC1jZXJjYS0tYXJyb3ctbW9iaWxlLCAjc3RhTmF2YmFyIC5zdGFOYXZiYXItdC1jZXJjYSAuc3RhTmF2YmFyLXQtY2VyY2EtLWFycm93LW1vYmlsZSB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICAjc3RhTmF2YmFyIC5zdGFOYXZiYXItdC1tZW51ICNzZWFyY2gsICNzdGFOYXZiYXIgLnN0YU5hdmJhci10LWNlcmNhICNzZWFyY2ggew0KICAgIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgICBwYWRkaW5nOiA1cHggMTBweDsNCiAgICBtaW4td2lkdGg6IDIwMHB4Ow0KICB9DQogICNzdGFOYXZiYXIgLnN0YU5hdmJhci10LW1lbnUgI3NlYXJjaDo6cGxhY2Vob2xkZXIsICNzdGFOYXZiYXIgLnN0YU5hdmJhci10LWNlcmNhICNzZWFyY2g6OnBsYWNlaG9sZGVyIHsNCiAgICBjb2xvcjogI0JDQzdEOTsNCiAgfQ0KICAjc3RhTmF2YmFyIC5zdGFOYXZCYXJMb2dvIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgaGVpZ2h0OiA0MHB4Ow0KICAgIGxlZnQ6IDQ0JTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogIH0NCiAgI3N0YU5hdmJhciAuc3RhTmF2YmFyLXQtY2VyY2EtLWljb24gew0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIH0NCiAgI3N0YU5hdmJhciAuc3RhTmF2YmFyLXQtY2VyY2EtLWljb24tc3RhcnQtc2VhcmNoIHsNCiAgICBkaXNwbGF5OiBub25lOw0KICB9DQogIA0KICAuZXh0cmEtcGFnZS1wYWRkaW5nIHsNCiAgICBwYWRkaW5nOiA0MHB4ICFpbXBvcnRhbnQ7DQogIH0NCiAgDQogICNtYWluLW1lbnUgew0KICAgIGRpc3BsYXk6IG5vbmU7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIHRvcDogMjI1cHg7DQogICAgbGVmdDogMzBweDsNCiAgfQ0KICAjbWFpbi1tZW51ICNtYWluLW1lbnUtbGlua3Mgew0KICAgIGZvbnQtZmFtaWx5OiAiVWJ1bnR1Iiwgc2Fucy1zZXJpZjsNCiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7DQogICAgbWFyZ2luOiAwcHg7DQogICAgcGFkZGluZzogMHB4Ow0KICB9DQogICNtYWluLW1lbnUgI21haW4tbWVudS1saW5rcyB1bCB7DQogICAgbGlzdC1zdHlsZS10eXBlOiBub25lOw0KICAgIHBhZGRpbmc6IDBweDsNCiAgfQ0KICAjbWFpbi1tZW51ICNtYWluLW1lbnUtbGlua3MgbGkgew0KICAgIHBhZGRpbmctYm90dG9tOiAxMHB4Ow0KICB9DQogICNtYWluLW1lbnUgI21haW4tbWVudS1saW5rcyBhIHsNCiAgICBiYWNrZ3JvdW5kOiAjNjc4MEE2Ow0KICAgIGNvbG9yOiB3aGl0ZTsNCiAgICBwYWRkaW5nOiAzcHggMTBweDsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIH0NCiAgI21haW4tbWVudSAjbWFpbi1tZW51LWxpbmtzIGEgLm1hdGVyaWFsLWljb25zIHsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICB9DQogICNtYWluLW1lbnUgI1Nwb3J0U3ViTWVudSwgI21haW4tbWVudSAjTG9jYWxpdHlTdWJNZW51IHsNCiAgICBkaXNwbGF5OiBub25lOw0KICB9DQogICNtYWluLW1lbnUgI1Nwb3J0U3ViTWVudSBhLCAjbWFpbi1tZW51ICNMb2NhbGl0eVN1Yk1lbnUgYSB7DQogICAgYmFja2dyb3VuZDogaW5oZXJpdDsNCiAgICBjb2xvcjogIzAwMzM2NjsNCiAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDsNCiAgICBmb250LXdlaWdodDogaW5oZXJpdDsNCiAgICBwYWRkaW5nOiAzcHggMTBweDsNCiAgfQ0KICANCiAgI3NlY29uZGFyeU1lbnUgew0KICAgIGZvbnQtZmFtaWx5OiAiVWJ1bnR1Iiwgc2Fucy1zZXJpZjsNCiAgICBiYWNrZ3JvdW5kOiAjQkNDN0Q5Ow0KICAgIGhlaWdodDogMzBweDsNCiAgICBjb2xvcjogIzAwMzM2NjsNCiAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAjYWFhYWFhOw0KICAgIG1hcmdpbi1ib3R0b206IDFweDsNCiAgfQ0KICAjc2Vjb25kYXJ5TWVudSBhIHsNCiAgICBjb2xvcjogIzAwMzM2NjsNCiAgfQ0KICAjc2Vjb25kYXJ5TWVudSB1bCB7DQogICAgbWFyZ2luOiAwcHg7DQogICAgcGFkZGluZy1sZWZ0OiAyMHB4Ow0KICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsNCiAgfQ0KICAjc2Vjb25kYXJ5TWVudSBsaSB7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHBhZGRpbmctdG9wOiAzcHg7DQogICAgbWFyZ2luLXJpZ2h0OiA3MHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICAjc2Vjb25kYXJ5TWVudSAuYWN0aXZlIHsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgIzAwMzM2NjsNCiAgICBib3JkZXItcmFkaXVzOiAycHg7DQogIH0NCiAgDQogIC50b3AtY2VudGVyLWxhYmVsIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgei1pbmRleDogMTsNCiAgICBjb2xvcjogd2hpdGU7DQogICAgYmFja2dyb3VuZDogIzFFNEQ4NjsNCiAgICBwYWRkaW5nOiA1cHggMTBweDsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgIGxlZnQ6IDM4JTsNCiAgICB0b3A6IC0xNXB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICB9DQogIA0KICAuYm90dG9tLWxlZnQtbGFiZWwgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB6LWluZGV4OiAxOw0KICAgIGNvbG9yOiAjMDAzMzY2Ow0KICAgIGJhY2tncm91bmQ6ICNCQ0M3RDk7DQogICAgcGFkZGluZzogNXB4IDEwcHg7DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICBsZWZ0OiA3JTsNCiAgICBib3R0b206IC0xNXB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZvbnQtc2l6ZTogMTIuNXB4Ow0KICAgIGZvbnQtZmFtaWx5OiAiVWJ1bnR1Iiwgc2Fucy1zZXJpZjsNCiAgfQ0KICANCiAgLnN0YVVsdGltZU5vdGl6aWVXaWRnZXQgew0KICAgIG1heC13aWR0aDogMjgwcHg7DQogICAgei1pbmRleDogMTA7DQogICAgYmFja2dyb3VuZDogI0ZGRjhERjsNCiAgICBtYXJnaW46IDBweCAzcHg7DQogIH0NCiAgLnN0YVVsdGltZU5vdGl6aWVXaWRnZXQgLnJvdyB7DQogICAgbWFyZ2luOiAwcHggLTEwcHg7DQogIH0NCiAgLnN0YVVsdGltZU5vdGl6aWVXaWRnZXQgLm5ld3MtbGlzdCB7DQogICAgcGFkZGluZzogMTBweCAwcHg7DQogIH0NCiAgLnN0YVVsdGltZU5vdGl6aWVXaWRnZXQgLm5ld3MtbGlzdCAubmV3cy10aW1lIHNwYW4gew0KICAgIGJhY2tncm91bmQ6ICMxRTREODY7DQogICAgY29sb3I6IHdoaXRlOw0KICAgIHBhZGRpbmc6IDFweDsNCiAgICBtYXJnaW4tdG9wOiAxMHB4Ow0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB3aWR0aDogNTBweDsNCiAgfQ0KICAuc3RhVWx0aW1lTm90aXppZVdpZGdldCAubmV3cy1saXN0IGEgew0KICAgIGNvbG9yOiAjMUU0RDg2Ow0KICB9DQogIC5zdGFVbHRpbWVOb3RpemllV2lkZ2V0IGgyIHsNCiAgICBiYWNrZ3JvdW5kOiAjMUU0RDg2Ow0KICAgIHBhZGRpbmc6IDVweDsNCiAgICBjb2xvcjogd2hpdGU7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KICAgIG1hcmdpbjogMHB4Ow0KICAgIHdpZHRoOiAxMTBweDsNCiAgICBsZWZ0OiAzMCU7DQogICAgdG9wOiAtMTJweDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIH0NCiAgLnN0YVVsdGltZU5vdGl6aWVXaWRnZXQgLmFsbC1uZXdzIHsNCiAgICBjb2xvcjogIzAwMjM0RjsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIH0NCiAgDQogICNzdGFSZXNvdXJjZXMgew0KICAgIGNvbG9yOiAjQkNDN0Q5Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICAjc3RhUmVzb3VyY2VzIC5tYXRlcmlhbC1pY29ucyB7DQogICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICB9DQogIA0KICAjcHJpbWFQYWdpbmEgew0KICAgIG1hcmdpbi10b3A6IDUwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogNTBweDsNCiAgICBtYXgtaGVpZ2h0OiAzNjBweDsNCiAgfQ0KICAjcHJpbWFQYWdpbmEgaDIgew0KICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KICB9DQogICNwcmltYVBhZ2luYSBwIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KICB9DQogICNwcmltYVBhZ2luYSAuYXV0aG9yIHsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgfQ0KICAjcHJpbWFQYWdpbmEgLmNvbnRlbnQgew0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTVFOUVGOw0KICB9DQogICNwcmltYVBhZ2luYSAjcHJpbWFQYWdpbmEtaW1hZ2Ugew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMzAwcHg7DQogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50Ow0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50Ow0KICB9DQogICNwcmltYVBhZ2luYSAuaW1hZ2UtY3VydmUgew0KICAgIHdpZHRoOiA5NiU7DQogICAgaGVpZ2h0OiAzNXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCA1M3B4IDBweCAwcHg7DQogICAgYmFja2dyb3VuZDogd2hpdGU7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGJvdHRvbTogLTVweDsNCiAgfQ0KICAjcHJpbWFQYWdpbmEgLmJvdHRvbS1sZWZ0LWxhYmVsIHsNCiAgICBib3R0b206IDE0cHg7DQogIH0NCiAgI3ByaW1hUGFnaW5hICNzdGFTb2NpYWxNZWRpYSB7DQogICAgbWFyZ2luLXRvcDogMzBweDsNCiAgfQ0KICANCiAgI2xhdGVzdE5ld3Mgew0KICAgIG1hcmdpbjogMHB4IC00cHggMHB4IC00cHg7DQogICAgei1pbmRleDogMTA7DQogIH0NCiAgI2xhdGVzdE5ld3MgLnN0YS1jb2wtc20gew0KICAgIHdpZHRoOiAyOSU7DQogICAgbWluLWhlaWdodDogMzIwcHg7DQogIH0NCiAgI2xhdGVzdE5ld3MgYTpob3ZlciB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB9DQogICNsYXRlc3ROZXdzIGltZyB7DQogICAgd2lkdGg6IDIyNHB4Ow0KICAgIGhlaWdodDogMTE3cHg7DQogIH0NCiAgI2xhdGVzdE5ld3MgaDMgew0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBtYXJnaW4tdG9wOiAyMHB4Ow0KICB9DQogICNsYXRlc3ROZXdzIC5sYXRlc3QtbmV3cy1pbWFnZSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICB9DQogICNsYXRlc3ROZXdzIC5ib3R0b20tbGVmdC1sYWJlbCB7DQogICAgbGVmdDogMHB4Ow0KICB9DQogICNsYXRlc3ROZXdzIC5sYXRlc3ROZXdzLWFsbC1uZXdzLWNvbnRhaW5lciB7DQogICAgbWFyZ2luLXRvcDogMzBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbWFyZ2luLWJvdHRvbTogNzBweDsNCiAgfQ0KICAjbGF0ZXN0TmV3cyAubGF0ZXN0TmV3cy1hbGwtbmV3cywgI2xhdGVzdE5ld3MgLmxhdGVzdC1uZXdzLXZlZGktdHV0dGUgew0KICAgIGZvbnQtZmFtaWx5OiAiVWJ1bnR1Iiwgc2Fucy1zZXJpZjsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgY29sb3I6ICMwMDIzNEY7DQogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQogICAgYmFja2dyb3VuZDogI0JDQzdEOTsNCiAgICBwYWRkaW5nOiAxMHB4IDUwcHg7DQogICAgbWluLXdpZHRoOiAyMDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogIH0NCiAgDQogICNzdGFQYWdlIHsNCiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsNCiAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgYm94LXNoYWRvdzogMHB4IDFweCA3cHggI2FhYWFhYTsNCiAgfQ0KICANCiAgI3RvcEJhbm5lciB7DQogICAgYmFja2dyb3VuZDogIzAwMTkzNjsNCiAgICBwYWRkaW5nLXRvcDogMjBweDsNCiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsNCiAgICBtYXJnaW46IDBweDsNCiAgfQ0KICAjdG9wQmFubmVyIGltZyB7DQogICAgbWFyZ2luOiAwcHggMzBweDsNCiAgICBtYXgtd2lkdGg6IDIwMHB4Ow0KICB9DQogIA0KICAjdmVydGljYWwtcmlnaHQtYmFubmVyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgYmFja2dyb3VuZDogI0U1RTlFRjsNCiAgICB3aWR0aDogMTA2JTsNCiAgICBwYWRkaW5nOiAyMHB4IDBweDsNCiAgICBoZWlnaHQ6IDk3MHB4Ow0KICB9DQogICN2ZXJ0aWNhbC1yaWdodC1iYW5uZXIgI3ZlcnRpY2FsLXJpZ2h0LWJhbm5lci1tb3Zpbmcgew0KICAgIHotaW5kZXg6IDA7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgaGVpZ2h0OiA5NTBweDsNCiAgfQ0KICAjdmVydGljYWwtcmlnaHQtYmFubmVyIGltZyB7DQogICAgbWFyZ2luOiAxMHB4IDBweDsNCiAgfQ0KICANCiAgI2Jhbm5lci1kZXN0cm8gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBiYWNrZ3JvdW5kOiAjRTVFOUVGOw0KICAgIHdpZHRoOiAxMDYlOw0KICB9DQogIA0KICAjZm9sbG93LXVzLW9uIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgbGVmdDogMjBweDsNCiAgICBib3R0b206IDUwcHg7DQogICAgY29sb3I6ICMxNDQ1N0Q7DQogIH0NCiAgI2ZvbGxvdy11cy1vbiBpbWcgew0KICAgIG1hcmdpbi10b3A6IDE1cHg7DQogICAgbWFyZ2luLWxlZnQ6IDE1cHg7DQogIH0NCiAgDQogICNzb2NpYWxNZWRpYVNoYXJlQnV0dG9uc0NvbnRhaW5lciB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICB9DQogICNzb2NpYWxNZWRpYVNoYXJlQnV0dG9uc0NvbnRhaW5lciBpbWcgew0KICAgIG1heC13aWR0aDogNTBweDsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBtYXJnaW46IDIwcHg7DQogIH0NCiAgI3NvY2lhbE1lZGlhU2hhcmVCdXR0b25zQ29udGFpbmVyIGE6Zm9jdXMgew0KICAgIG91dGxpbmU6IG5vbmU7DQogIH0NCiAgDQogICNsYXRlc3RWaWRlb3Mgew0KICAgIGNvbG9yOiB3aGl0ZTsNCiAgfQ0KICAjbGF0ZXN0VmlkZW9zIC5kYXRlLCAjbGF0ZXN0VmlkZW9zIC5jb25kaXZpZGktYnV0dG9uIHsNCiAgICBjb2xvcjogd2hpdGU7DQogIH0NCiAgI2xhdGVzdFZpZGVvcyAudmlkZW9QbGF5ZXJJbWFnZVNtYWxsIHsNCiAgICBtYXJnaW4tdG9wOiAyMHB4Ow0KICB9DQogIA0KICAjdmlkZW9zU2VjdGlvbiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGJhY2tncm91bmQ6ICMwMDE5MzY7DQogICAgcGFkZGluZzogMjVweCAxMHB4IDI1cHggMHB4Ow0KICB9DQogICN2aWRlb3NTZWN0aW9uIC52aWRlby10aW1lIHsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgY29sb3I6ICNCQ0M3RDk7DQogIH0NCiAgI3ZpZGVvc1NlY3Rpb24gI3ZpZGVvTG9hZGVyU2VjdGlvbiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICB9DQogICN2aWRlb3NTZWN0aW9uIC52aWRlb1BsYXllckltYWdlIHsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgbWF4LWhlaWdodDogMzIwcHg7DQogIH0NCiAgI3ZpZGVvc1NlY3Rpb24gLm1haW4tdmlkZW8tcGxheWVyLWJ1dHRvbiB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMTglOw0KICAgIGxlZnQ6IDI5JTsNCiAgICB3aWR0aDogMTAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICB9DQogICN2aWRlb3NTZWN0aW9uIC52aWRlb1BsYXllckltYWdlU21hbGwgew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTI4cHg7DQogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50Ow0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICFpbXBvcnRhbnQ7DQogIH0NCiAgI3ZpZGVvc1NlY3Rpb24gLnNlY29uZGFyeS12aWRlby1wbGF5ZXItYnV0dG9uIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAxNyU7DQogICAgbGVmdDogMjYlOw0KICAgIHdpZHRoOiA4MHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICAjdmlkZW9zU2VjdGlvbiBoMiB7DQogICAgZm9udC1zaXplOiAyNHB4Ow0KICAgIGNvbG9yOiB3aGl0ZTsNCiAgfQ0KICAjdmlkZW9zU2VjdGlvbiAjdmlkZW9TZWN0aW9uVGl0bGUgew0KICAgIGNvbG9yOiAjMDAzMzY2Ow0KICAgIGJhY2tncm91bmQ6ICNGRkMzMDA7DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICBwYWRkaW5nOiA1cHggMTBweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgbGVmdDogNDUlOw0KICAgIHRvcDogLTIwcHg7DQogIH0NCiAgI3ZpZGVvc1NlY3Rpb24gI3ZpZGVvU2VjdGlvbkxpbmtzIHsNCiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7DQogIH0NCiAgI3ZpZGVvc1NlY3Rpb24gI3ZpZGVvU2VjdGlvbkxpbmtzIHNwYW4gew0KICAgIGNvbG9yOiB3aGl0ZTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogIH0NCiAgI3ZpZGVvc1NlY3Rpb24gI3ZpZGVvU2VjdGlvbkxpbmtzIGxpIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBtYXJnaW46IDBweCAzMHB4Ow0KICB9DQogICN2aWRlb3NTZWN0aW9uICN2aWRlb1NlY3Rpb25MaW5rcyAuYWN0aXZlIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogMTNweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgd2hpdGU7DQogICAgYm94LXNoYWRvdzogMCAzcHggMXB4IC0xcHggd2hpdGU7DQogIH0NCiAgI3ZpZGVvc1NlY3Rpb24gI3ZpZGVvU2VjdGlvblBsYXllciwgI3ZpZGVvc1NlY3Rpb24gI3ZpZGVvR2FsbGVyeSB7DQogICAgY29sb3I6IHdoaXRlOw0KICB9DQogICN2aWRlb3NTZWN0aW9uICN2aWRlb1NlY3Rpb25QbGF5ZXIgLmRhdGUsICN2aWRlb3NTZWN0aW9uICN2aWRlb1NlY3Rpb25QbGF5ZXIgLmNvbmRpdmlkaS1idXR0b24sICN2aWRlb3NTZWN0aW9uICN2aWRlb0dhbGxlcnkgLmRhdGUsICN2aWRlb3NTZWN0aW9uICN2aWRlb0dhbGxlcnkgLmNvbmRpdmlkaS1idXR0b24gew0KICAgIGNvbG9yOiB3aGl0ZTsNCiAgfQ0KICAjdmlkZW9zU2VjdGlvbiAuY29sLXZpZGVvLWlmcmFtZSBpZnJhbWUgew0KICAgIHdpZHRoOiAyMDBweDsNCiAgICBwYWRkaW5nOiAwcHg7DQogIH0NCiAgI3ZpZGVvc1NlY3Rpb24gI3ZpZGVvR2FsbGVyeSB7DQogICAgY29sb3I6IHdoaXRlOw0KICAgIG1hcmdpbjogMjBweCAwcHg7DQogICAgcGFkZGluZzogMHB4IDIwcHg7DQogIH0NCiAgI3ZpZGVvc1NlY3Rpb24gI3ZpZGVvR2FsbGVyeSBoMiB7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KICB9DQogICN2aWRlb3NTZWN0aW9uICN2aWRlb0dhbGxlcnkgLnZpZGVvUGxheWVyIHsNCiAgICBkaXNwbGF5OiBub25lOw0KICB9DQogICN2aWRlb3NTZWN0aW9uIC5hbGwtdmlkZW9zLWxpbmsgew0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBjb2xvcjogIzAwMjM0RjsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCiAgICBiYWNrZ3JvdW5kOiAjQkNDN0Q5Ow0KICAgIHBhZGRpbmc6IDEwcHggMjBweDsNCiAgICBtYXJnaW46IDBweCBhdXRvOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAxNTBweDsNCiAgfQ0KICANCiAgLnNlY29uZGFyeS1uZXdzIHsNCiAgICBtYXJnaW46IDUwcHggMHB4Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgfQ0KICAuc2Vjb25kYXJ5LW5ld3MgLnNlY29uZGFyeS1uZXdzLXRpdG9sby1icmV2ZSB7DQogICAgZm9udC1mYW1pbHk6ICJVYnVudHUiLCBzYW5zLXNlcmlmOw0KICB9DQogIC5zZWNvbmRhcnktbmV3cyAuY2F0ZWdvcnkgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB6LWluZGV4OiAxOw0KICAgIGNvbG9yOiB3aGl0ZTsNCiAgICBiYWNrZ3JvdW5kOiAjMUU0RDg2Ow0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgbGVmdDogNSU7DQogICAgdG9wOiAtMTVweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgfQ0KICAuc2Vjb25kYXJ5LW5ld3MgLnNlY29uZGFyeS1uZXdzLW1haW4tY29udGVudCB7DQogICAgbWFyZ2luOiAwcHggMjBweCAyMHB4IDIwcHg7DQogIH0NCiAgLnNlY29uZGFyeS1uZXdzIC5tYWluLWltYWdlIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDIyMHB4Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgIWltcG9ydGFudDsNCiAgfQ0KICAuc2Vjb25kYXJ5LW5ld3MgLnNlY29uZGFyeS1uZXdzLWFzaWRlLXRpdGxlIHsNCiAgICBmb250LXNpemU6IDE2cHg7DQogIH0NCiAgLnNlY29uZGFyeS1uZXdzIC5zZWNvbmRhcnktbmV3cy1hc2lkZS1lbGVtZW50IHsNCiAgICBtYXJnaW46IDIwcHggMHB4Ow0KICB9DQogIC5zZWNvbmRhcnktbmV3cyAuc2Vjb25kYXJ5LW5ld3MtYXNpZGUtZWxlbWVudCAjc3RhU29jaWFsTWVkaWEgew0KICAgIHBhZGRpbmctcmlnaHQ6IDBweDsNCiAgICBtYXJnaW4tcmlnaHQ6IDBweDsNCiAgfQ0KICAuc2Vjb25kYXJ5LW5ld3MgLnNlY29uZGFyeS1uZXdzLWFzaWRlLWVsZW1lbnQgI3N0YVNvY2lhbE1lZGlhIC5kYXRlIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgfQ0KICAuc2Vjb25kYXJ5LW5ld3MgLnNlY29uZGFyeS1uZXdzLWFzaWRlLWVsZW1lbnQgI3N0YVNvY2lhbE1lZGlhIC5jb25kaXZpZGktYnV0dG9uIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7DQogIH0NCiAgLnNlY29uZGFyeS1uZXdzIC5zZWNvbmRhcnktbmV3cy1hc2lkZS1lbGVtZW50ICNzdGFTb2NpYWxNZWRpYSAubWF0ZXJpYWwtaWNvbnMgew0KICAgIG1hcmdpbi1yaWdodDogMHB4Ow0KICB9DQogIC5zZWNvbmRhcnktbmV3cyAuc2Vjb25kYXJ5LW5ld3MtYXNpZGUtaW1hZ2Ugew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHBhZGRpbmc6IDBweDsNCiAgICBtYXgtaGVpZ2h0OiA1MHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICAuc2Vjb25kYXJ5LW5ld3MgLmltYWdlLWxpbmsgew0KICAgIGRpc3BsYXk6IGNvbnRlbnRzOw0KICB9DQogIC5zZWNvbmRhcnktbmV3cyAuaW1hZ2UtY3VydmUgew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMzVweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggNTNweCAwcHggMHB4Ow0KICAgIGJhY2tncm91bmQ6IHdoaXRlOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBib3R0b206IC01cHg7DQogIH0NCiAgDQogICNnby11cC1iYW5uZXIgew0KICAgIGJhY2tncm91bmQ6ICNGRkUxN0M7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHBhZGRpbmc6IDE1cHggMHB4Ow0KICAgIG1hcmdpbjogNDBweCAwcHg7DQogIH0NCiAgI2dvLXVwLWJhbm5lciBhIHsNCiAgICBjb2xvcjogIzAwMzM2NjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgfQ0KICAjZ28tdXAtYmFubmVyIC5tYXRlcmlhbC1pY29ucyB7DQogICAgZm9udC1zaXplOiAzNHB4Ow0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIH0NCiAgDQogICNuYXZpZ2FJblF1ZXRhUGFnaW5hIHsNCiAgICBmb250LWZhbWlseTogIlVidW50dSIsIHNhbnMtc2VyaWY7DQogICAgbWFyZ2luOiAzMHB4IDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIH0NCiAgI25hdmlnYUluUXVldGFQYWdpbmEgLnRpdG9sbyB7DQogICAgY29sb3I6ICNCQ0M3RDk7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogICNuYXZpZ2FJblF1ZXRhUGFnaW5hIC5tYXRlcmlhbC1pY29ucyB7DQogICAgY29sb3I6ICNjY2M7DQogICAgZm9udC1zaXplOiAyNXB4Ow0KICAgIG1hcmdpbjogMTBweCAwcHg7DQogIH0NCiAgI25hdmlnYUluUXVldGFQYWdpbmEgdWwgew0KICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsNCiAgICBtYXJnaW46IDBweDsNCiAgICBwYWRkaW5nOiAwcHg7DQogIH0NCiAgI25hdmlnYUluUXVldGFQYWdpbmEgdWwgbGkgew0KICAgIHBhZGRpbmctYm90dG9tOiAyMHB4Ow0KICB9DQogICNuYXZpZ2FJblF1ZXRhUGFnaW5hIHVsIGEgew0KICAgIGJhY2tncm91bmQ6ICNCQ0M3RDk7DQogICAgY29sb3I6ICMwMDMzNjY7DQogICAgcGFkZGluZzogM3B4IDEwcHg7DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgfQ0KICANCiAgI21vc3RSZWFkTmV3cyB7DQogICAgYmFja2dyb3VuZDogI0ZGRjhERjsNCiAgICBtYXJnaW46IDUwcHggMHB4IDBweCAtNXB4Ow0KICAgIHBhZGRpbmctYm90dG9tOiAyMHB4Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBtaW4taGVpZ2h0OiAyMDBweDsNCiAgfQ0KICAjbW9zdFJlYWROZXdzICNtb3N0UmVhZE5ld3NTZWxlY3Qgew0KICAgIHdpZHRoOiA4MCU7DQogIH0NCiAgI21vc3RSZWFkTmV3cyBzcGFuIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogOTAlOw0KICAgIG1hcmdpbjogMHB4IDE1cHggMTVweCAxNXB4Ow0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogICNtb3N0UmVhZE5ld3MgaW1nIHsNCiAgICB3aWR0aDogNzNweDsNCiAgICBoZWlnaHQ6IDczcHg7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICAjbW9zdFJlYWROZXdzIC50aXRvbG8gew0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBiYWNrZ3JvdW5kOiAjMDAzMzY2Ow0KICAgIGNvbG9yOiAjRkZGOERGOw0KICAgIGhlaWdodDogNjBweDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIHBhZGRpbmctdG9wOiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMjBweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgfQ0KICAjbW9zdFJlYWROZXdzIC5oZWFkaW5nIHsNCiAgICBiYWNrZ3JvdW5kOiAjQkNDN0Q5Ow0KICAgIGNvbG9yOiAjMDAzMzY2Ow0KICAgIHBhZGRpbmc6IDNweCAxMHB4Ow0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IDM1JTsNCiAgICB0b3A6IC0xNXB4Ow0KICB9DQogICNtb3N0UmVhZE5ld3MgYSB7DQogICAgY29sb3I6ICMwMDMzNjYgIWltcG9ydGFudDsNCiAgICBmb250LXNpemU6IDE2cHg7DQogICAgZm9udC1mYW1pbHk6ICJVYnVudHUiLCBzYW5zLXNlcmlmOw0KICB9DQogICNtb3N0UmVhZE5ld3MgLm1hdGVyaWFsLWljb25zIHsNCiAgICBmbG9hdDogcmlnaHQ7DQogIH0NCiAgI21vc3RSZWFkTmV3cyBhOmhvdmVyIHsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogIH0NCiAgDQogIC5tb3N0cmEtYnV0dG9uIHsNCiAgICBmb250LWZhbWlseTogIlVidW50dSIsIHNhbnMtc2VyaWY7DQogIH0NCiAgDQogICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciB7DQogICAgcGFkZGluZzogMHB4IDIwcHg7DQogIH0NCiAgI3RoaXJkTGV2ZWxOZXdzQ29udGFpbmVyIC5yZWR1Y2VNYXJnaW4gew0KICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDsNCiAgfQ0KICAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLnRoaXJkTGV2ZWxOZXdzIHsNCiAgICBtYXJnaW46IDcwcHggMHB4IDMwcHggMHB4Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgfQ0KICAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLnRoaXJkTGV2ZWxOZXdzIGgyIHsNCiAgICBtYXJnaW4tdG9wOiAyMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgfQ0KICAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLnRoaXJkTGV2ZWxOZXdzIGltZyB7DQogICAgbWF4LWhlaWdodDogMTM3cHg7DQogIH0NCiAgI3RoaXJkTGV2ZWxOZXdzQ29udGFpbmVyIC50aGlyZExldmVsTmV3cyAubW9zdHJhLWJ1dHRvbi1jb250YWluZXIgew0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBtYXJnaW46IDIwcHggMHB4Ow0KICB9DQogICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciAudGhpcmRMZXZlbE5ld3MgLm1vc3RyYS1idXR0b24gew0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBjb2xvcjogIzAwMjM0RjsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCiAgICBiYWNrZ3JvdW5kOiAjQkNDN0Q5Ow0KICAgIHBhZGRpbmc6IDEwcHggNTBweDsNCiAgICBtaW4td2lkdGg6IDIwMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLnRoaXJkTGV2ZWxOZXdzIC5oZWFkaW5nIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgei1pbmRleDogMTsNCiAgICBjb2xvcjogd2hpdGU7DQogICAgYmFja2dyb3VuZDogIzFFNEQ4NjsNCiAgICBwYWRkaW5nOiA1cHggMTBweDsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgIGxlZnQ6IDQyJTsNCiAgICB0b3A6IC01MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICB9DQogIA0KICAjc2V6aW9uaS1mb290ZXIgew0KICAgIGJhY2tncm91bmQ6ICNCQ0M3RDk7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHBhZGRpbmc6IDQwcHggMHB4Ow0KICB9DQogICNzZXppb25pLWZvb3RlciB1bCB7DQogICAgbGlzdC1zdHlsZS10eXBlOiBub25lOw0KICAgIG1hcmdpbi10b3A6IDMwcHg7DQogIH0NCiAgI3NlemlvbmktZm9vdGVyIHVsIGxpIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsNCiAgfQ0KICAjc2V6aW9uaS1mb290ZXIgdWwgbGkgc3BhbiB7DQogICAgYmFja2dyb3VuZDogIzFFNEQ4NjsNCiAgICBjb2xvcjogd2hpdGU7DQogICAgcGFkZGluZzogM3B4IDEwcHg7DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICB9DQogICNzZXppb25pLWZvb3RlciAjc2V6aW9uaS1mb290ZXItdGl0bGUgew0KICAgIGJhY2tncm91bmQ6ICMwMDMzNjY7DQogICAgY29sb3I6IHdoaXRlOw0KICAgIHBhZGRpbmc6IDNweCAxMHB4Ow0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgbGVmdDogNDglOw0KICAgIHRvcDogLTEwcHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIH0NCiAgDQogICNtYWluLWZvb3RlciB7DQogICAgbWluLWhlaWdodDogMzAwcHg7DQogICAgYmFja2dyb3VuZDogIzAwMzM2NjsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgcGFkZGluZzogMzBweCAwcHg7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICB9DQogICNtYWluLWZvb3RlciAuZm9vdGVyLWxpbmUgew0KICAgIG1hcmdpbi10b3A6IDIwcHg7DQogIH0NCiAgI21haW4tZm9vdGVyICNtYWluLWZvb3Rlci1zZWd1aWNpLWxpbmtzIHsNCiAgICBtYXJnaW46IDMwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogIH0NCiAgI21haW4tZm9vdGVyIGEgew0KICAgIGNvbG9yOiB3aGl0ZTsNCiAgfQ0KICAjbWFpbi1mb290ZXIgI2xvZ28tZm9vdGVyIHsNCiAgICB3aWR0aDogMTUwcHg7DQogIH0NCiAgI21haW4tZm9vdGVyICNtYWluLWZvb3Rlci1mb2xsb3ctdXMtb24gew0KICAgIGNvbG9yOiB3aGl0ZTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbWFyZ2luOiAyMHB4IDBweCAwcHggMHB4Ow0KICB9DQogICNtYWluLWZvb3RlciAjbWFpbi1mb290ZXItZm9sbG93LXVzLW9uIGltZyB7DQogICAgbWFyZ2luLXRvcDogMTVweDsNCiAgICBtYXJnaW4tbGVmdDogMTVweDsNCiAgfQ0KICAjbWFpbi1mb290ZXIgI21haW4tZm9vdGVyLWZvbGxvdy11cy1vbiBzcGFuIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW46IDIwcHggMHB4IDBweCAwcHg7DQogIH0NCiAgI21haW4tZm9vdGVyICNtYWluLWZvb3Rlci1jb3B5cmlnaHRzIHsNCiAgICBtYXJnaW46IDUwcHggMHB4Ow0KICAgIGNvbG9yOiAjQkNDN0Q5Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogIH0NCiAgDQogICNwYWdlQXJ0aWNsZSB7DQogICAgcGFkZGluZzogNDBweCAxNXB4ICFpbXBvcnRhbnQ7DQogIH0NCiAgI3BhZ2VBcnRpY2xlIGgxIHsNCiAgICBtYXJnaW46IDEwcHggMHB4Ow0KICB9DQogICNwYWdlQXJ0aWNsZSAuc3VidGl0bGUgew0KICAgIGNvbG9yOiBibGFjazsNCiAgICBmb250LXNpemU6IDE4cHg7DQogIH0NCiAgI3BhZ2VBcnRpY2xlICNwYWdlQXJ0aWNsZUluZm8gew0KICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjRkZDMzAwOw0KICAgIG1hcmdpbjogMTBweCAwcHg7DQogICAgcGFkZGluZy10b3A6IDEwcHg7DQogIH0NCiAgI3BhZ2VBcnRpY2xlIC50ZW1wby1kaS1sZXR0dXJhIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tdG9wOiAyMHB4Ow0KICB9DQogICNwYWdlQXJ0aWNsZSAuY2F0ZWdvcnlMYWJlbCB7DQogICAgY29sb3I6IHdoaXRlOw0KICAgIGJhY2tncm91bmQ6ICMxRTREODY7DQogICAgcGFkZGluZzogNXB4IDEwcHg7DQogIH0NCiAgI3BhZ2VBcnRpY2xlIHAgew0KICAgIG1hcmdpbjogMzBweCAwcHg7DQogIH0NCiAgI3BhZ2VBcnRpY2xlIC5jb25kaXZpZGktYnV0dG9uIHsNCiAgICBtYXgtd2lkdGg6IDIwMHB4Ow0KICAgIGZsb2F0OiByaWdodDsNCiAgfQ0KICAjcGFnZUFydGljbGUgI3ZpZGVvc1NlY3Rpb24gI3ZpZGVvU2VjdGlvbkxpbmtzIGxpIHsNCiAgICBtYXJnaW46IDBweCAyMHB4Ow0KICB9DQogIA0KICAjcG9wdXAtbGlua3MgdWwgew0KICAgIG1hcmdpbi1sZWZ0OiAwcHg7DQogICAgbWFyZ2luLXRvcDogMjBweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDBweDsNCiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7DQogIH0NCiAgI3BvcHVwLWxpbmtzIHVsIGxpIHsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIHBhZGRpbmctYm90dG9tOiAxMHB4Ow0KICB9DQogIA0KICAjYWxsVmlkZW9zUGFnZSB7DQogICAgbWFyZ2luOiA3MHB4IDBweDsNCiAgICBiYWNrZ3JvdW5kOiAjMDAxOTM2Ow0KICB9DQogICNhbGxWaWRlb3NQYWdlICNsYXRlc3RWaWRlb3Mgew0KICAgIG1hcmdpbjogMzBweCAxNXB4Ow0KICB9DQogICNhbGxWaWRlb3NQYWdlICNsYXRlc3RWaWRlb3MgaWZyYW1lIHsNCiAgICBtYXgtd2lkdGg6IDMzMHB4Ow0KICAgIG1heC1oZWlnaHQ6IDE4NXB4Ow0KICB9DQogICNhbGxWaWRlb3NQYWdlICNsYXRlc3RWaWRlb3MgaDIgew0KICAgIGNvbG9yOiB3aGl0ZTsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgcGFkZGluZzogMTVweCAxNXB4IDBweCAwcHg7DQogIH0NCiAgI2FsbFZpZGVvc1BhZ2UgI2xhdGVzdFZpZGVvcyAudmlkZW8tdGltZSB7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGNvbG9yOiAjQkNDN0Q5Ow0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMzBweCAwcHg7DQogIH0NCiAgI2FsbFZpZGVvc1BhZ2UgI2xhdGVzdFZpZGVvcyAudmlkZW9QbGF5ZXJJbWFnZVNtYWxsIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDIwMHB4Ow0KICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAhaW1wb3J0YW50Ow0KICB9DQogICNhbGxWaWRlb3NQYWdlICNsYXRlc3RWaWRlb3MgLnNlY29uZGFyeS12aWRlby1wbGF5ZXItYnV0dG9uIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiA2N3B4Ow0KICAgIGxlZnQ6IDQxLjUlOw0KICB9DQogIA0KICAvKiB3aWR0aCAqLw0KICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsNCiAgICB3aWR0aDogMTBweDsNCiAgICBoZWlnaHQ6IDVweDsNCiAgfQ0KICANCiAgLyogVHJhY2sgKi8NCiAgOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7DQogICAgYmFja2dyb3VuZDogI2YxZjFmMTsNCiAgfQ0KICANCiAgLyogSGFuZGxlICovDQogIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgew0KICAgIGJhY2tncm91bmQ6ICMwMDMzNjY7DQogIH0NCiAgDQogIC8qIEhhbmRsZSBvbiBob3ZlciAqLw0KICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kOiAjQkNDN0Q5Ow0KICB9DQogIA0KICAjc2VhcmNoUGFnZSBoMiB7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIG1hcmdpbi10b3A6IDMwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMHB4Ow0KICB9DQogICNzZWFyY2hQYWdlICNzZWFyY2hGb3JtIHsNCiAgICBiYWNrZ3JvdW5kOiAjQkNDN0Q5Ow0KICAgIHBhZGRpbmc6IDMwcHg7DQogICAgbWFyZ2luOiAyMHB4IDBweDsNCiAgICBtaW4taGVpZ2h0OiAyMDBweDsNCiAgfQ0KICAjc2VhcmNoUGFnZSAjc2VhcmNoRm9ybSBsYWJlbCB7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luLWxlZnQ6IDQwcHg7DQogICAgd2lkdGg6IDIwMHB4Ow0KICB9DQogICNzZWFyY2hQYWdlICNzZWFyY2hGb3JtIGJ1dHRvbiB7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KICB9DQogICNzZWFyY2hQYWdlICNzZWFyY2hGb3JtIGlucHV0LCAjc2VhcmNoUGFnZSAjc2VhcmNoRm9ybSBzZWxlY3Qgew0KICAgIHdpZHRoOiAyMDBweDsNCiAgfQ0KICANCiAgI2NhdGVnb3J5UGFnZSBoMSB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICB9DQogICNjYXRlZ29yeVBhZ2UgI3RoaXJkTGV2ZWxOZXdzMCBpbWcgew0KICAgIG1hcmdpbi10b3A6IDIwcHg7DQogIH0NCiAgI2NhdGVnb3J5UGFnZSAjdGhpcmRMZXZlbE5ld3MwIC5oZWFkaW5nIHsNCiAgICBkaXNwbGF5OiBub25lOw0KICB9DQogIA0KICAjYWxsR2FsbGVyeVBhZ2Ugew0KICAgIG1hcmdpbi10b3A6IDMwcHg7DQogICAgY29sb3I6IHdoaXRlOw0KICB9DQogICNhbGxHYWxsZXJ5UGFnZSAjdmlkZW9Mb2FkZXJTZWN0aW9uIGgxIHsNCiAgICBjb2xvcjogd2hpdGU7DQogICAgbWFyZ2luLWxlZnQ6IDE1cHg7DQogICAgbWFyZ2luLXJpZ2h0OiAxNXB4Ow0KICAgIGZvbnQtc2l6ZTogMzJweDsNCiAgfQ0KICAjYWxsR2FsbGVyeVBhZ2UgI3ZpZGVvTG9hZGVyU2VjdGlvbiAuZGVzY3JpcHRpb24sICNhbGxHYWxsZXJ5UGFnZSAjdmlkZW9Mb2FkZXJTZWN0aW9uIC5kYXRlIHsNCiAgICBtYXJnaW46IDIwcHggMTVweCAwcHggMTVweDsNCiAgfQ0KICAjYWxsR2FsbGVyeVBhZ2UgI2dhbGxlcnkgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsZWZ0OiAyNCU7DQogICAgbWFyZ2luLXRvcDogMjBweDsNCiAgICBtYXgtd2lkdGg6IDQ2MHB4Ow0KICAgIG1heC1oZWlnaHQ6IDQyMnB4Ow0KICB9DQogIA0KICAjb3RoZXItZ2FsbGVyaWVzIHsNCiAgICBwYWRkaW5nOiAxNXB4Ow0KICB9DQogICNvdGhlci1nYWxsZXJpZXMgaDMgew0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgfQ0KICAjb3RoZXItZ2FsbGVyaWVzIC5nYWxsZXJ5LWltYWdlLXRodW1ibmFpbCB7DQogICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50Ow0KICAgIGhlaWdodDogMjAwcHg7DQogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50Ow0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgIG1hcmdpbi10b3A6IDIwcHg7DQogIH0NCiAgDQogIC5sb2FkZXIgew0KICAgIGJvcmRlcjogNnB4IHNvbGlkICNCQ0M3RDk7DQogICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICMwMDE5MzY7DQogICAgYm9yZGVyLXJhZGl1czogNTAlOw0KICAgIHdpZHRoOiA1MHB4Ow0KICAgIGhlaWdodDogNTBweDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiA4MHB4Ow0KICAgIGxlZnQ6IDQwJTsNCiAgICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlOw0KICB9DQogIA0KICBAa2V5ZnJhbWVzIHNwaW4gew0KICAgIDAlIHsNCiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOw0KICAgIH0NCiAgICAxMDAlIHsNCiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7DQogICAgfQ0KICB9DQogIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkgew0KICAgICNzdGFOYXZiYXIgew0KICAgICAgei1pbmRleDogMTAwMDsNCiAgICB9DQogICAgI3N0YU5hdmJhciAubmF2YmFyLXRvZ2dsZXItaWNvbiB7DQogICAgICB6LWluZGV4OiAxMDAyOw0KICAgIH0NCiAgDQogICAgI21haW4tbWVudSB7DQogICAgICB0b3A6IDI5MHB4Ow0KICAgICAgbGVmdDogMDsNCiAgICAgIHotaW5kZXg6IDEwMDE7DQogICAgICBiYWNrZ3JvdW5kOiAjMDAzMzY2Ow0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgICBoZWlnaHQ6IDEwMCU7DQogICAgICBwYWRkaW5nLXRvcDogNDBweDsNCiAgICAgIHBhZGRpbmctbGVmdDogMjBweDsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB9DQogICAgI21haW4tbWVudSAjbWFpbi1tZW51LWxpbmtzIGEgew0KICAgICAgYmFja2dyb3VuZDogIzFFNEQ4NjsNCiAgICAgIGNvbG9yOiB3aGl0ZTsNCiAgICB9DQogICAgI21haW4tbWVudSAjbWFpbi1tZW51LWxpbmtzIGxpIHsNCiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsNCiAgICAuZm9vdGVyLWxpbmUgew0KICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgDQogICAgI3N0YVBhZ2Ugew0KICAgICAgbWF4LXdpZHRoOiAxMDAlOw0KICAgIH0NCiAgDQogICAgI3N0YU5hdmJhciB7DQogICAgICBwYWRkaW5nOiAxNXB4IDIycHg7DQogICAgfQ0KICAgICNzdGFOYXZiYXIgLnN0YU5hdkJhckxvZ28gew0KICAgICAgbGVmdDogNDAlOw0KICAgIH0NCiAgDQogICAgI3ZpZGVvU2VjdGlvbkxpbmtzIHsNCiAgICAgIG92ZXJmbG93LXg6IGluaGVyaXQgIWltcG9ydGFudDsNCiAgICB9DQogIA0KICAgICNmb2xsb3ctdXMtb24sICNzZWNvbmRhcnlNZW51IC5uby1saW5rIHsNCiAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KICANCiAgICAjdG9wQmFubmVyIGltZyB7DQogICAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgICBtYXJnaW46IGluaGVyaXQ7DQogICAgfQ0KICANCiAgICAjc2Vjb25kYXJ5TWVudSB7DQogICAgICBoZWlnaHQ6IDUwcHg7DQogICAgICBwYWRkaW5nOiAxMnB4IDBweDsNCiAgICB9DQogIA0KICAgICNzZWNvbmRhcnlNZW51IGxpIHsNCiAgICAgIG1hcmdpbi1yaWdodDogMHB4Ow0KICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7DQogICAgfQ0KICB9DQogIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgew0KICAgICN2aWRlb1NlY3Rpb25MaW5rcyB7DQogICAgICBvdmVyZmxvdzogYXV0bzsNCiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogICAgICBvdmVyZmxvdy14OiBoaWRkZW47DQogICAgICBvdmVyZmxvdy15OiBoaWRkZW47DQogICAgICB3aWR0aDogMTAwJTsNCiAgICAgIGhlaWdodDogNTBweDsNCiAgICB9DQogICAgI3ZpZGVvU2VjdGlvbkxpbmtzIGxpIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgIGZsb2F0OiBpbmhlcml0ICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLmJhbm5lci1vbmx5LWRlc2t0b3Agew0KICAgICAgbWFyZ2luOiAwcHg7DQogICAgfQ0KICANCiAgICAjc2Vjb25kYXJ5TWVudSB7DQogICAgICAvKiBUcmFjayAqLw0KICAgICAgLyogSGFuZGxlICovDQogICAgICAvKiBIYW5kbGUgb24gaG92ZXIgKi8NCiAgICB9DQogICAgI3NlY29uZGFyeU1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsNCiAgICAgIGJhY2tncm91bmQ6ICNCQ0M3RDk7DQogICAgfQ0KICAgICNzZWNvbmRhcnlNZW51Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7DQogICAgICBiYWNrZ3JvdW5kOiAjQkNDN0Q5Ow0KICAgIH0NCiAgICAjc2Vjb25kYXJ5TWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgew0KICAgICAgYmFja2dyb3VuZDogI0JDQzdEOTsNCiAgICB9DQogIA0KICAgICN2aWRlb3NTZWN0aW9uIHsNCiAgICAgIC8qIFRyYWNrICovDQogICAgICAvKiBIYW5kbGUgKi8NCiAgICAgIC8qIEhhbmRsZSBvbiBob3ZlciAqLw0KICAgIH0NCiAgICAjdmlkZW9zU2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgew0KICAgICAgYmFja2dyb3VuZDogIzAwMTkzNiAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAjdmlkZW9zU2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgew0KICAgICAgYmFja2dyb3VuZDogIzAwMTkzNiAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAjdmlkZW9zU2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgew0KICAgICAgYmFja2dyb3VuZDogIzAwMTkzNiAhaW1wb3J0YW50Ow0KICAgIH0NCiAgDQogICAgI3RvcEJhbm5lciBpbWcgew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICAgIH0NCiAgDQogICAgI3N0YU5hdmJhciAuc3RhTmF2QmFyTG9nbyB7DQogICAgICBsZWZ0OiAzNSU7DQogICAgfQ0KICANCiAgICAjc2Vjb25kYXJ5TWVudSB7DQogICAgICBvdmVyZmxvdzogYXV0bzsNCiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogICAgICBvdmVyZmxvdy14OiBpbmhlcml0Ow0KICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOw0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgfQ0KICAgICNzZWNvbmRhcnlNZW51IGxpIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgIGZsb2F0OiBpbmhlcml0Ow0KICAgIH0NCiAgDQogICAgI2xhdGVzdE5ld3MgLnN0YS1jb2wtc20gew0KICAgICAgd2lkdGg6IGluaGVyaXQ7DQogICAgfQ0KICANCiAgICAjdmlkZW9zU2VjdGlvbiB7DQogICAgICBwYWRkaW5nOiAyNXB4IDBweCAwcHggMHB4Ow0KICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgICN2aWRlb3NTZWN0aW9uIC5tYWluLXZpZGVvLXBsYXllci1idXR0b24gew0KICAgICAgdG9wOiAxMSU7DQogICAgICBsZWZ0OiA0MCU7DQogICAgfQ0KICAgICN2aWRlb3NTZWN0aW9uIC52aWRlb1BsYXllckltYWdlU21hbGwsICN2aWRlb3NTZWN0aW9uIGgyIHsNCiAgICAgIHdpZHRoOiA2MCU7DQogICAgfQ0KICAgICN2aWRlb3NTZWN0aW9uICN2aWRlb1NlY3Rpb25QbGF5ZXIgaDIsICN2aWRlb3NTZWN0aW9uICN2aWRlb1NlY3Rpb25QbGF5ZXIgcCB7DQogICAgICBtYXJnaW46IDIwcHg7DQogICAgfQ0KICAgICN2aWRlb3NTZWN0aW9uICN2aWRlb1NlY3Rpb25QbGF5ZXIgaWZyYW1lIHsNCiAgICAgIHdpZHRoOiA5NSU7DQogICAgfQ0KICAgICN2aWRlb3NTZWN0aW9uICN2aWRlb1NlY3Rpb25QbGF5ZXIgLnZpZGVvLXRpbWUgew0KICAgICAgbWFyZ2luOiAwcHggMjBweDsNCiAgICB9DQogICAgI3ZpZGVvc1NlY3Rpb24gLmFsbC12aWRlb3MtbGluayB7DQogICAgICB3aWR0aDogMTAwJTsNCiAgICB9DQogICAgI3ZpZGVvc1NlY3Rpb24gI3ZpZGVvR2FsbGVyeSB7DQogICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgZmxleC13cmFwOiBub3dyYXA7DQogICAgICBvdmVyZmxvdy14OiBhdXRvOw0KICAgICAgbWluLWhlaWdodDogMjUwcHg7DQogICAgfQ0KICAgICN2aWRlb3NTZWN0aW9uICN2aWRlb0dhbGxlcnkgLmNvbC1tZC00IHsNCiAgICAgIGZsZXg6IDAgMCBhdXRvOw0KICAgIH0NCiAgDQogICAgI3BhZ2VBcnRpY2xlIHsNCiAgICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAjcGFnZUFydGljbGUgLnNwYWNpbmctc21hbGwtc2NyZWVuIHsNCiAgICAgIHBhZGRpbmc6IDE1cHggMjVweCAwcHggMjVweCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICAjYXJ0aWNvbGlDb3JyZWxhdGkgdWwgew0KICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsNCiAgICBtYXJnaW46IDIwcHggMHB4Ow0KICAgIHBhZGRpbmc6IDBweDsNCiAgICBjb2xvcjogIzAwMjM0RjsNCiAgfQ0KICAjYXJ0aWNvbGlDb3JyZWxhdGkgdWwgLm1hdGVyaWFsLWljb25zIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7DQogIH0NCiAgI2FydGljb2xpQ29ycmVsYXRpIHVsIGEgew0KICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KICAgIGNvbG9yOiAjMDAyMzRGOw0KICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjsNCiAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KICB9DQogIA0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7DQogICAgI3N0YU5hdmJhciAuc3RhTmF2QmFyTG9nbyB7DQogICAgICBsZWZ0OiAzMyU7DQogICAgICBoZWlnaHQ6IDM1cHg7DQogICAgfQ0KICAgICNzdGFOYXZiYXIgI2NlcmNhRmllbGRUZXh0LCAjc3RhTmF2YmFyIC5zdGFOYXZiYXItdC1tZW51IHsNCiAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KICANCiAgICAjY2F0ZWdvcnlQYWdlICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciAudGhpcmRMZXZlbE5ld3MsICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLnRoaXJkTGV2ZWxOZXdzIHsNCiAgICAgIG1hcmdpbjogMHB4Ow0KICAgIH0NCiAgICAjY2F0ZWdvcnlQYWdlIC5pbWctYmFja2dyb3VuZC1ib3gsICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciAuaW1nLWJhY2tncm91bmQtYm94IHsNCiAgICAgIHBhZGRpbmc6IDBweDsNCiAgICB9DQogICAgI2NhdGVnb3J5UGFnZSAuaW1hZ2UtY3VydmUtbW9iaWxlLCAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLmltYWdlLWN1cnZlLW1vYmlsZSB7DQogICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgIGhlaWdodDogMzVweDsNCiAgICAgIGJvcmRlci1yYWRpdXM6IDBweCA1M3B4IDBweCAwcHg7DQogICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgIHRvcDogMjY1cHg7DQogICAgICB3aWR0aDogMTAwJTsNCiAgICB9DQogICAgI2NhdGVnb3J5UGFnZSBoMiwgI3RoaXJkTGV2ZWxOZXdzQ29udGFpbmVyIGgyIHsNCiAgICAgIHdpZHRoOiA3MCUgIWltcG9ydGFudDsNCiAgICAgIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDsNCiAgICB9DQogICAgI2NhdGVnb3J5UGFnZSAuaW1nLWJhY2tncm91bmQsICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciAuaW1nLWJhY2tncm91bmQgew0KICAgICAgd2lkdGg6IDczcHg7DQogICAgICBoZWlnaHQ6IDczcHg7DQogICAgICBwYWRkaW5nOiAwcHg7DQogICAgICBtYXJnaW46IDBweDsNCiAgICAgIGZsb2F0OiByaWdodDsNCiAgICB9DQogICAgI2NhdGVnb3J5UGFnZSAjc3RhU29jaWFsTWVkaWEsICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciAjc3RhU29jaWFsTWVkaWEgew0KICAgICAgbWFyZ2luOiAwcHggIWltcG9ydGFudDsNCiAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgcGFkZGluZzogMHB4Ow0KICAgIH0NCiAgICAjY2F0ZWdvcnlQYWdlIC5jb25kaXZpZGktYnV0dG9uLCAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLmNvbmRpdmlkaS1idXR0b24gew0KICAgICAgY29sb3I6IHdoaXRlOw0KICAgIH0NCiAgICAjY2F0ZWdvcnlQYWdlIC5maXJzdC1ib3ggLmltZy1iYWNrZ3JvdW5kLCAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLmZpcnN0LWJveCAuaW1nLWJhY2tncm91bmQgew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgICBoZWlnaHQ6IDMwMHB4Ow0KICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50Ow0KICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgICNjYXRlZ29yeVBhZ2UgLmZpcnN0LWJveCBoMiwgI3RoaXJkTGV2ZWxOZXdzQ29udGFpbmVyIC5maXJzdC1ib3ggaDIgew0KICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsNCiAgICAgIG1hcmdpbi10b3A6IDBweDsNCiAgICB9DQogICAgI2NhdGVnb3J5UGFnZSAuZmlyc3QtYm94IC50aGlyZC1uZXdzLXRpdG9sby1icmV2ZS1tb2JpbGUsICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciAuZmlyc3QtYm94IC50aGlyZC1uZXdzLXRpdG9sby1icmV2ZS1tb2JpbGUgew0KICAgICAgZGlzcGxheTogaW5oZXJpdDsNCiAgICAgIGNvbG9yOiBibGFjazsNCiAgICB9DQogIA0KICAgIC5iYW5uZXItb25seS1kZXNrdG9wIHsNCiAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KICANCiAgICAuYmFubmVyLW9ubHktbW9iaWxlIHsNCiAgICAgIHdpZHRoOiA1MCU7DQogICAgICBkaXNwbGF5OiBpbmhlcml0Ow0KICAgIH0NCiAgDQogICAgI3ByaW1hUGFnaW5hIHsNCiAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7DQogICAgfQ0KICAgICNwcmltYVBhZ2luYSBoMiwgI3ByaW1hUGFnaW5hIHAgew0KICAgICAgcGFkZGluZzogMHB4IDIwcHg7DQogICAgfQ0KICAgICNwcmltYVBhZ2luYSAuaW1hZ2UtY3VydmUgew0KICAgICAgd2lkdGg6IDk0JSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgDQogICAgI3N0YVNvY2lhbE1lZGlhIHsNCiAgICAgIHBhZGRpbmc6IDBweCAyMHB4Ow0KICAgICAgbWFyZ2luLXRvcDogODBweDsNCiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7DQogICAgfQ0KICAgICNzdGFTb2NpYWxNZWRpYSAuY29sLXNtLTQgew0KICAgICAgcGFkZGluZzogMHB4Ow0KICAgIH0NCiAgDQogICAgLnN0YVVsdGltZU5vdGl6aWVXaWRnZXQgew0KICAgICAgbWF4LXdpZHRoOiBpbmhlcml0Ow0KICAgICAgbWFyZ2luOiAwcHggM3B4IDYwcHggM3B4Ow0KICAgIH0NCiAgICAuc3RhVWx0aW1lTm90aXppZVdpZGdldCBoMiB7DQogICAgICBsZWZ0OiA0MiU7DQogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgd2lkdGg6IDExOHB4Ow0KICAgIH0NCiAgICAuc3RhVWx0aW1lTm90aXppZVdpZGdldCAubmV3cy10aW1lIHsNCiAgICAgIHdpZHRoOiAyMCU7DQogICAgfQ0KICAgIC5zdGFVbHRpbWVOb3RpemllV2lkZ2V0IC5jb2wtc20tOSB7DQogICAgICB3aWR0aDogODAlOw0KICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgfQ0KICANCiAgICAjdmVydGljYWwtcmlnaHQtYmFubmVyIHsNCiAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KICANCiAgICAuc2Vjb25kYXJ5LW5ld3MgLnNlY29uZGFyeS1uZXdzLWFzaWRlLWVsZW1lbnQgLmNvbC1zbS05IHsNCiAgICAgIHdpZHRoOiA3MCU7DQogICAgfQ0KICAgIC5zZWNvbmRhcnktbmV3cyAuc2Vjb25kYXJ5LW5ld3MtYXNpZGUtaW1hZ2Ugew0KICAgICAgd2lkdGg6IDE2JTsNCiAgICB9DQogICAgLnNlY29uZGFyeS1uZXdzIGhyIHsNCiAgICAgIHdpZHRoOiAxMDAlOw0KICAgIH0NCiAgDQogICAgI3RoaXJkTGV2ZWxOZXdzQ29udGFpbmVyIGhyIHsNCiAgICAgIHdpZHRoOiAxMDAlOw0KICAgIH0NCiAgICAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLnRoaXJkTGV2ZWxOZXdzIHsNCiAgICAgIG1hcmdpbjogODBweCAwcHggMTIwcHggMHB4Ow0KICAgIH0NCiAgICAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLnRoaXJkTGV2ZWxOZXdzIGgyIHsNCiAgICAgIHdpZHRoOiA0NSU7DQogICAgICBtYXJnaW4tbGVmdDogMjBweDsNCiAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgIH0NCiAgICAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLnRoaXJkTGV2ZWxOZXdzIGltZyB7DQogICAgICBmbG9hdDogbGVmdDsNCiAgICAgIHdpZHRoOiA0NSU7DQogICAgfQ0KICAgICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciAudGhpcmRMZXZlbE5ld3MgLmNvbC1zbS0zIHsNCiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgfQ0KICANCiAgICAjc2V6aW9uaS1mb290ZXIgdWwgew0KICAgICAgbWFyZ2luLXRvcDogMHB4Ow0KICAgIH0NCiAgICAjc2V6aW9uaS1mb290ZXIgdWwgbGk6bGFzdC1jaGlsZCB7DQogICAgICBwYWRkaW5nLWJvdHRvbTogMHB4Ow0KICAgIH0NCiAgDQogICAgI2xhdGVzdE5ld3NSb3cgI3N0YVNvY2lhbE1lZGlhIHsNCiAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KICAgICNsYXRlc3ROZXdzUm93IC5sYXRlc3QtbmV3cy1pbWFnZSBpbWcgew0KICAgICAgd2lkdGg6IDczcHg7DQogICAgICBoZWlnaHQ6IDczcHg7DQogICAgfQ0KICAgICNsYXRlc3ROZXdzUm93IC5zdGFTb2NpYWxNZWRpYS1tb2JpbGUgew0KICAgICAgZGlzcGxheTogaW5oZXJpdDsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgIGJvdHRvbTogN3B4Ow0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgICBtYXJnaW46IDBweDsNCiAgICB9DQogICAgI2xhdGVzdE5ld3NSb3cgLnN0YVNvY2lhbE1lZGlhLW1vYmlsZSAuZGF0ZSB7DQogICAgICB0b3A6IDE1cHg7DQogICAgICB0ZXh0LWFsaWduOiByaWdodDsNCiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgIHdpZHRoOiAyMDhweDsNCiAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIH0NCiAgICAjbGF0ZXN0TmV3c1JvdyAuc3RhU29jaWFsTWVkaWEtbW9iaWxlIC5jb25kaXZpZGktYnV0dG9uIHsNCiAgICAgIG1hcmdpbi1yaWdodDogMHB4ICFpbXBvcnRhbnQ7DQogICAgICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgLyogQ3VzdG9tLCBpUGhvbmUgUmV0aW5hICovDQogIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHsNCiAgICAjdW5kZXJMb2dvQmFubmVyIGltZyB7DQogICAgICBtYXJnaW4tdG9wOiAwcHg7DQogICAgfQ0KICANCiAgICAjbGF0ZXN0TmV3cyBpbWcgew0KICAgICAgd2lkdGg6IDE2MHB4Ow0KICAgICAgZmxvYXQ6IHJpZ2h0Ow0KICAgIH0NCiAgICAjbGF0ZXN0TmV3cyBoMyB7DQogICAgICB3aWR0aDogNzAlOw0KICAgIH0NCiAgICAjbGF0ZXN0TmV3cyAuYm90dG9tLWxlZnQtbGFiZWwgew0KICAgICAgYm90dG9tOiA3cHg7DQogICAgfQ0KICAgICNsYXRlc3ROZXdzIC5zdGEtY29sLXNtIHsNCiAgICAgIG1pbi1oZWlnaHQ6IDE3MHB4Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7DQogICAgLnN0YU5hdmJhci10LWNlcmNhIHsNCiAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KICANCiAgICAuc3RhTmF2YmFyLXQtY2VyY2EtbW9iaWxlIHsNCiAgICAgIGRpc3BsYXk6IGluaGVyaXQ7DQogICAgICBjb2xvcjogd2hpdGU7DQogICAgfQ0KICAgIC5zdGFOYXZiYXItdC1jZXJjYS1tb2JpbGUgLmNlcmNhRmllbGQgew0KICAgICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIH0NCiAgICAuc3RhTmF2YmFyLXQtY2VyY2EtbW9iaWxlIC5zdGFOYXZiYXItdC1jZXJjYS0taWNvbi1nby1iYWNrIHsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgIHRvcDogMjRweDsNCiAgICAgIGxlZnQ6IDE4cHg7DQogICAgICBmb250LXNpemU6IDM0cHg7DQogICAgICBjb2xvcjogIzAwMzM2NjsNCiAgICAgIHotaW5kZXg6IDk5OTk5OTk5Ow0KICAgICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIH0NCiAgDQogICAgI3NlYXJjaEZvcm0gew0KICAgICAgbWluLWhlaWdodDogNDc1cHggIWltcG9ydGFudDsNCiAgICB9DQogICAgI3NlYXJjaEZvcm0gbGFiZWwgew0KICAgICAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAjc2VhcmNoRm9ybSBpbnB1dCwgI3NlYXJjaEZvcm0gc2VsZWN0IHsNCiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgfQ0KICANCiAgICAuZmlyc3QtYm94ICNzdGFTb2NpYWxNZWRpYSB7DQogICAgICBmbG9hdDogaW5oZXJpdCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgDQogICAgI3N0YVBhZ2UgaDEgew0KICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgIH0NCiAgDQogICAgI2FsbEdhbGxlcnlQYWdlICNnYWxsZXJ5IHsNCiAgICAgIGxlZnQ6IGluaGVyaXQgIWltcG9ydGFudDsNCiAgICB9DQogIA0KICAgIC5zdGFTb2NpYWxNZWRpYS1tb2JpbGUgLmNvbmRpdmlkaS1idXR0b24gLm1hdGVyaWFsLWljb25zIHsNCiAgICAgIG1hcmdpbi1yaWdodDogMjdweDsNCiAgICB9DQogIA0KICAgIC5zZWNvbmRhcnktbmV3cy1hc2lkZS1pbWFnZSB7DQogICAgICBtYXJnaW4tbGVmdDogMjBweDsNCiAgICB9DQogIA0KICAgICNsYXRlc3ROZXdzUm93MSBpbWcsICNsYXRlc3ROZXdzUm93MiBpbWcgew0KICAgICAgd2lkdGg6IDE2JSAhaW1wb3J0YW50Ow0KICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgcmlnaHQ6IDMycHg7DQogICAgICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgLmFydGljb2xvLWRhdGEtbW9iaWxlIHsNCiAgICB3aWR0aDogNTAlOw0KICB9DQogIA0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQyMHB4KSB7DQogICAgLmRpZGFzY2FsaWEgew0KICAgICAgbWFyZ2luLXJpZ2h0OiA1cHggIWltcG9ydGFudDsNCiAgICB9DQogIA0KICAgICNzdGFQYWdlICNhcnRpY29saUNvcnJlbGF0aSB7DQogICAgICBtYXJnaW46IDBweCAxNXB4Ow0KICAgIH0NCiAgICAjc3RhUGFnZSAjYXJ0aWNvbGlDb3JyZWxhdGkgbGkgew0KICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsNCiAgICB9DQogICAgI3N0YVBhZ2UgI2FydGljb2xpQ29ycmVsYXRpIHVsIHsNCiAgICAgIG1hcmdpbjogNDBweCAwcHg7DQogICAgfQ0KICANCiAgICAjbGF0ZXN0TmV3c1JvdzEgI2xhdGVzdE5ld3NSb3cgLmNvbC1zbS5zdGEtY29sLXNtIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7DQogICAgfQ0KICANCiAgICAjc3RhUmVzb3VyY2VzIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAxN3B4Ow0KICAgIH0NCiAgDQogICAgI3NlYXJjaCB7DQogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICBsZWZ0OiAyMHB4Ow0KICAgICAgd2lkdGg6IDgwJTsNCiAgICAgIHRvcDogMTRweDsNCiAgICAgIGhlaWdodDogNTBweDsNCiAgICAgIHotaW5kZXg6IDk5OTk5Ow0KICAgICAgYm9yZGVyLXJhZGl1czogMTFweDsNCiAgICAgIGJvcmRlcjogMHB4Ow0KICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4Ow0KICAgIH0NCiAgDQogICAgI21haW4tbWVudSB7DQogICAgICB0b3A6IDMxNXB4Ow0KICAgIH0NCiAgDQogICAgLmxhdGVzdE5ld3NGaXJzUm93SW1hZ2UtaGlkZS1tb2JpbGUgew0KICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQogIA0KICAgIC5sYXRlc3ROZXdzRmlyc1Jvd0ltYWdlLW9ubHktbW9iaWxlIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgd2lkdGg6IDE2JTsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgIHJpZ2h0OiAzMnB4Ow0KICAgICAgaGVpZ2h0OiA1MHB4Ow0KICAgICAgdG9wOiAzM3B4Ow0KICAgICAgLyogaGVpZ2h0OiAzMDBweDsgKi8NCiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDsNCiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgIH0NCiAgDQogICAgI3NlemlvbmktZm9vdGVyID4gLnJvdyB7DQogICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgfQ0KICANCiAgICAjc3RhUGFnZSAucm93IHsNCiAgICAgIG1hcmdpbi1yaWdodDogMHB4Ow0KICAgIH0NCiAgICAjc3RhUGFnZSAuY29sLCAjc3RhUGFnZSAuY29sLTEsICNzdGFQYWdlIC5jb2wtMTAsICNzdGFQYWdlIC5jb2wtMTEsICNzdGFQYWdlIC5jb2wtMTIsICNzdGFQYWdlIC5jb2wtMiwgI3N0YVBhZ2UgLmNvbC0zLCAjc3RhUGFnZSAuY29sLTQsICNzdGFQYWdlIC5jb2wtNSwgI3N0YVBhZ2UgLmNvbC02LCAjc3RhUGFnZSAuY29sLTcsICNzdGFQYWdlIC5jb2wtOCwgI3N0YVBhZ2UgLmNvbC05LCAjc3RhUGFnZSAuY29sLWF1dG8sICNzdGFQYWdlIC5jb2wtbGcsICNzdGFQYWdlIC5jb2wtbGctMSwgI3N0YVBhZ2UgLmNvbC1sZy0xMCwgI3N0YVBhZ2UgLmNvbC1sZy0xMSwgI3N0YVBhZ2UgLmNvbC1sZy0xMiwgI3N0YVBhZ2UgLmNvbC1sZy0yLCAjc3RhUGFnZSAuY29sLWxnLTMsICNzdGFQYWdlIC5jb2wtbGctNCwgI3N0YVBhZ2UgLmNvbC1sZy01LCAjc3RhUGFnZSAuY29sLWxnLTYsICNzdGFQYWdlIC5jb2wtbGctNywgI3N0YVBhZ2UgLmNvbC1sZy04LCAjc3RhUGFnZSAuY29sLWxnLTksICNzdGFQYWdlIC5jb2wtbGctYXV0bywgI3N0YVBhZ2UgLmNvbC1tZCwgI3N0YVBhZ2UgLmNvbC1tZC0xLCAjc3RhUGFnZSAuY29sLW1kLTEwLCAjc3RhUGFnZSAuY29sLW1kLTExLCAjc3RhUGFnZSAuY29sLW1kLTEyLCAjc3RhUGFnZSAuY29sLW1kLTIsICNzdGFQYWdlIC5jb2wtbWQtMywgI3N0YVBhZ2UgLmNvbC1tZC00LCAjc3RhUGFnZSAuY29sLW1kLTUsICNzdGFQYWdlIC5jb2wtbWQtNiwgI3N0YVBhZ2UgLmNvbC1tZC03LCAjc3RhUGFnZSAuY29sLW1kLTgsICNzdGFQYWdlIC5jb2wtbWQtOSwgI3N0YVBhZ2UgLmNvbC1tZC1hdXRvLCAjc3RhUGFnZSAuY29sLXNtLCAjc3RhUGFnZSAuY29sLXNtLTEsICNzdGFQYWdlIC5jb2wtc20tMTAsICNzdGFQYWdlIC5jb2wtc20tMTEsICNzdGFQYWdlIC5jb2wtc20tMTIsICNzdGFQYWdlIC5jb2wtc20tMiwgI3N0YVBhZ2UgLmNvbC1zbS0zLCAjc3RhUGFnZSAuY29sLXNtLTQsICNzdGFQYWdlIC5jb2wtc20tNSwgI3N0YVBhZ2UgLmNvbC1zbS02LCAjc3RhUGFnZSAuY29sLXNtLTcsICNzdGFQYWdlIC5jb2wtc20tOCwgI3N0YVBhZ2UgLmNvbC1zbS05LCAjc3RhUGFnZSAuY29sLXNtLWF1dG8sICNzdGFQYWdlIC5jb2wteGwsICNzdGFQYWdlIC5jb2wteGwtMSwgI3N0YVBhZ2UgLmNvbC14bC0xMCwgI3N0YVBhZ2UgLmNvbC14bC0xMSwgI3N0YVBhZ2UgLmNvbC14bC0xMiwgI3N0YVBhZ2UgLmNvbC14bC0yLCAjc3RhUGFnZSAuY29sLXhsLTMsICNzdGFQYWdlIC5jb2wteGwtNCwgI3N0YVBhZ2UgLmNvbC14bC01LCAjc3RhUGFnZSAuY29sLXhsLTYsICNzdGFQYWdlIC5jb2wteGwtNywgI3N0YVBhZ2UgLmNvbC14bC04LCAjc3RhUGFnZSAuY29sLXhsLTksICNzdGFQYWdlIC5jb2wteGwtYXV0byB7DQogICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7DQogICAgfQ0KICANCiAgICAjcHJpbWFQYWdpbmEgLmltYWdlLWN1cnZlIHsNCiAgICAgIHdpZHRoOiA5NyUgIWltcG9ydGFudDsNCiAgICB9DQogIA0KICAgICNzdGFOYXZiYXIgLnN0YU5hdkJhckxvZ28gew0KICAgICAgbGVmdDogMjclOw0KICAgIH0NCiAgDQogICAgLnRvcC1jZW50ZXItbGFiZWwgew0KICAgICAgbGVmdDogNyU7DQogICAgfQ0KICANCiAgICAuY2F0ZWdvcnksICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciAudGhpcmRMZXZlbE5ld3MgLmhlYWRpbmcsIC5zdGFVbHRpbWVOb3RpemllV2lkZ2V0IGgyLCAjdmlkZW9zU2VjdGlvbiAjdmlkZW9TZWN0aW9uVGl0bGUsICNtb3N0UmVhZE5ld3MgLmhlYWRpbmcgew0KICAgICAgbGVmdDogNSUgIWltcG9ydGFudDsNCiAgICAgIHRvcDogLTE1cHggIWltcG9ydGFudDsNCiAgICB9DQogIA0KICAgICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciAuZmlyc3QtYm94IHsNCiAgICAgIG1pbi1oZWlnaHQ6IDU4MHB4Ow0KICAgIH0NCiAgICAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLmZpcnN0LWJveCAudGhpcmQtbmV3cy10aXRvbG8tYnJldmUtbW9iaWxlIHsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgIHRvcDogNTAwcHg7DQogICAgICBsZWZ0OiAwcHg7DQogICAgfQ0KICANCiAgICAjc2V6aW9uaS1mb290ZXItdGl0bGUgew0KICAgICAgbGVmdDogNSUgIWltcG9ydGFudDsNCiAgICB9DQogIA0KICAgICN2aWRlb0dhbGxlcnkgI3ZpZGVvc1NlY3Rpb24gaDIgew0KICAgICAgbWFyZ2luLXRvcDogMTBweDsNCiAgICB9DQogICAgI3ZpZGVvR2FsbGVyeSAjc3RhU29jaWFsTWVkaWEgew0KICAgICAgbWFyZ2luLXRvcDogMTBweDsNCiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogICAgfQ0KICAgICN2aWRlb0dhbGxlcnkgI3N0YVNvY2lhbE1lZGlhIC5jb2wtc20tNCB7DQogICAgICB3aWR0aDogNDAlOw0KICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgfQ0KICAgICN2aWRlb0dhbGxlcnkgI3N0YVNvY2lhbE1lZGlhIC5jb2wtaGlkZS1tb2JpbGUgew0KICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQogIA0KICAgICN2aWRlb1NlY3Rpb25QbGF5ZXIgI3N0YVNvY2lhbE1lZGlhLCAjcHJpbWFQYWdpbmEgI3N0YVNvY2lhbE1lZGlhIHsNCiAgICAgIG1hcmdpbi10b3A6IDEwcHg7DQogICAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICAgIH0NCiAgICAjdmlkZW9TZWN0aW9uUGxheWVyICNzdGFTb2NpYWxNZWRpYSAuY29sLXNtLTQsICNwcmltYVBhZ2luYSAjc3RhU29jaWFsTWVkaWEgLmNvbC1zbS00IHsNCiAgICAgIHdpZHRoOiA0MCU7DQogICAgICBmbG9hdDogbGVmdDsNCiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4Ow0KICAgIH0NCiAgICAjdmlkZW9TZWN0aW9uUGxheWVyICNzdGFTb2NpYWxNZWRpYSAuY29sLXNtLTQtcmlnaHQsICNwcmltYVBhZ2luYSAjc3RhU29jaWFsTWVkaWEgLmNvbC1zbS00LXJpZ2h0IHsNCiAgICAgIHdpZHRoOiA0NSU7DQogICAgfQ0KICAgICN2aWRlb1NlY3Rpb25QbGF5ZXIgI3N0YVNvY2lhbE1lZGlhIC5jb2wtaGlkZS1tb2JpbGUsICNwcmltYVBhZ2luYSAjc3RhU29jaWFsTWVkaWEgLmNvbC1oaWRlLW1vYmlsZSB7DQogICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCiAgDQogICAgI2xhdGVzdFZpZGVvcyAjc3RhU29jaWFsTWVkaWEgew0KICAgICAgbWFyZ2luLXRvcDogMTBweDsNCiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogICAgfQ0KICAgICNsYXRlc3RWaWRlb3MgI3N0YVNvY2lhbE1lZGlhIC5jb2wtc20tNCB7DQogICAgICB3aWR0aDogNDAlOw0KICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgfQ0KICAgICNsYXRlc3RWaWRlb3MgI3N0YVNvY2lhbE1lZGlhIC5jb2wtc20tNC1yaWdodCB7DQogICAgICB3aWR0aDogNTglOw0KICAgIH0NCiAgICAjbGF0ZXN0VmlkZW9zICNzdGFTb2NpYWxNZWRpYSAuY29sLWhpZGUtbW9iaWxlIHsNCiAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KICANCiAgICAuc3RhVWx0aW1lTm90aXppZVdpZGdldCBoMiB7DQogICAgICBsZWZ0OiAzNCU7DQogICAgfQ0KICAgIC5zdGFVbHRpbWVOb3RpemllV2lkZ2V0IGhyIHsNCiAgICAgIGRpc3BsYXk6IGluaGVyaXQ7DQogICAgfQ0KICAgIC5zdGFVbHRpbWVOb3RpemllV2lkZ2V0IC5uZXdzLWxpc3Qgew0KICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMHB4Ow0KICAgIH0NCiAgDQogICAgLnNlY29uZGFyeS1uZXdzIC5zZWNvbmRhcnktbmV3cy1hc2lkZS1lbGVtZW50ICNzdGFTb2NpYWxNZWRpYSB7DQogICAgICBtYXJnaW4tdG9wOiAwcHg7DQogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgICAgcGFkZGluZzogMHB4IDE1cHg7DQogICAgfQ0KICAgIC5zZWNvbmRhcnktbmV3cyAuc2Vjb25kYXJ5LW5ld3MtYXNpZGUtZWxlbWVudCAjc3RhU29jaWFsTWVkaWEgLmNvbmRpdmlkaS1idXR0b24gew0KICAgICAgcGFkZGluZy1yaWdodDogMzBweDsNCiAgICB9DQogICAgLnNlY29uZGFyeS1uZXdzIC5zZWNvbmRhcnktbmV3cy1tYWluLWNvbnRlbnQgI3N0YVJlc291cmNlcyB7DQogICAgICBtYXJnaW4tbGVmdDogMHB4Ow0KICAgIH0NCiAgICAuc2Vjb25kYXJ5LW5ld3MgLnNlY29uZGFyeS1uZXdzLW1haW4tY29udGVudCAjc3RhU29jaWFsTWVkaWEgew0KICAgICAgbWFyZ2luLXRvcDogMjBweDsNCiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgICBwYWRkaW5nOiAwcHggMTVweDsNCiAgICB9DQogICAgLnNlY29uZGFyeS1uZXdzIC5zZWNvbmRhcnktbmV3cy1tYWluLWNvbnRlbnQgI3N0YVNvY2lhbE1lZGlhIC5jb2wtc20tNCB7DQogICAgICB3aWR0aDogMzMlOw0KICAgIH0NCiAgDQogICAgI3RoaXJkTGV2ZWxOZXdzQ29udGFpbmVyIC5jb25kaXZpZGktYnV0dG9uIHsNCiAgICAgIGNvbG9yOiBpbmhlcml0Ow0KICAgIH0NCiAgDQogICAgI3RoaXJkTGV2ZWxOZXdzQ29udGFpbmVyICNzdGFTb2NpYWxNZWRpYSB7DQogICAgICBtYXJnaW4tdG9wOiAxMHB4Ow0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgfQ0KICAgICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciAjc3RhU29jaWFsTWVkaWEgZGl2IHsNCiAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgd2lkdGg6IDUwJTsNCiAgICAgIG1hcmdpbi10b3A6IDEwcHg7DQogICAgfQ0KICAgICN0aGlyZExldmVsTmV3c0NvbnRhaW5lciAuY29uZGl2aWRpLXdyaXRpbmcgew0KICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQogICAgI3RoaXJkTGV2ZWxOZXdzQ29udGFpbmVyIC5tYXRlcmlhbC1pY29ucyB7DQogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIH0NCiAgfQ0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NXB4KSB7DQogICAgI2FsbEdhbGxlcnlQYWdlICNnYWxsZXJ5IHsNCiAgICAgIGxlZnQ6IGluaGVyaXQgIWltcG9ydGFudDsNCiAgICB9DQogIA0KICAgIC5yb2J5QnV0dG9uTW9zdHJhVHV0dGUgew0KICAgICAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAucm9ieUJ1dHRvbk1vc3RyYVR1dHRlIC5jb2wtc20tMTIgew0KICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7DQogICAgfQ0KICANCiAgICAuc2Vjb25kYXJ5TWVudS1zcG9ydC1tb2JpbGUgew0KICAgICAgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50Ow0KICAgICAgbWFyZ2luLWJvdHRvbTogMHB4Ow0KICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgaGVpZ2h0OiAxMDBweCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAuc2Vjb25kYXJ5TWVudS1zcG9ydC1tb2JpbGUgbGkgew0KICAgICAgbWFyZ2luLXRvcDogNDBweDsNCiAgICB9DQogICAgLnNlY29uZGFyeU1lbnUtc3BvcnQtbW9iaWxlIC5uby1saW5rIHsNCiAgICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsNCiAgICAgIGJhY2tncm91bmQ6ICMwMDMzNjY7DQogICAgICBjb2xvcjogd2hpdGU7DQogICAgICBtYXJnaW4tdG9wOiAwcHg7DQogICAgICBwYWRkaW5nOiAzcHggMTBweDsNCiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICAgIHdpZHRoOiAxMDBweDsNCiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgIHRvcDogMTBweDsNCiAgICAgIGxlZnQ6IDI4JTsNCiAgICB9DQogIA0KICAgICNtb3N0UmVhZE5ld3Mgc3BhbiB7DQogICAgICB3aWR0aDogNzAlOw0KICAgIH0NCiAgICAjbW9zdFJlYWROZXdzIGltZyB7DQogICAgICBkaXNwbGF5OiBpbmhlcml0Ow0KICAgIH0NCiAgDQogICAgLmNhdGVnb3J5LCAjdGhpcmRMZXZlbE5ld3NDb250YWluZXIgLnRoaXJkTGV2ZWxOZXdzIC5oZWFkaW5nIHsNCiAgICAgIGxlZnQ6IDUlICFpbXBvcnRhbnQ7DQogICAgICB0b3A6IC0xNXB4ICFpbXBvcnRhbnQ7DQogICAgfQ0KICANCiAgICAjc3RhTmF2YmFyIC5zdGFOYXZCYXJMb2dvIHsNCiAgICAgIGxlZnQ6IGluaGVyaXQ7DQogICAgICB0b3A6IGluaGVyaXQ7DQogICAgICBwb3NpdGlvbjogaW5oZXJpdDsNCiAgICB9DQogICAgI3N0YU5hdmJhciAubmF2YmFyLXRvZ2dsZXIgew0KICAgICAgcGFkZGluZzogMHB4Ow0KICAgIH0NCiAgDQogICAgI3ByaW1hUGFnaW5hIC5pbWFnZS1jdXJ2ZSB7DQogICAgICB3aWR0aDogOTIuNSU7DQogICAgfQ0KICAgICNwcmltYVBhZ2luYSAudG9wLWNlbnRlci1sYWJlbCB7DQogICAgICBsZWZ0OiA3JTsNCiAgICB9DQogIA0KICAgIC5zd2FsMi1wb3B1cCB7DQogICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsNCiAgICAgIGxlZnQ6IDQwcHg7DQogICAgICB3aWR0aDogMzAwcHggIWltcG9ydGFudDsNCiAgICB9DQogIA0KICAgIC5mb290ZXItbGluZSB7DQogICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQogICAgfQ0KICANCiAgICAjdmlkZW9zU2VjdGlvbiAjdmlkZW9TZWN0aW9uUGxheWVyIHsNCiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB9DQogIA0KICAgICN2aWRlb3NTZWN0aW9uIGgyIHsNCiAgICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICAgIHdpZHRoOiA4MCU7DQogICAgfQ0KICAgICN2aWRlb3NTZWN0aW9uIC5tYWluLXZpZGVvLXBsYXllci1idXR0b24gew0KICAgICAgd2lkdGg6IDcwcHg7DQogICAgICB0b3A6IDMlOw0KICAgICAgbGVmdDogNDElOw0KICAgIH0NCiAgICAjdmlkZW9zU2VjdGlvbiAjdmlkZW9TZWN0aW9uVGl0bGUgew0KICAgICAgbGVmdDogNDElOw0KICAgIH0NCiAgDQogICAgI2FsbFZpZGVvc1BhZ2UgI2xhdGVzdFZpZGVvcyBoMiB7DQogICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMHB4IDBweDsNCiAgICB9DQogICAgI2FsbFZpZGVvc1BhZ2UgI2xhdGVzdFZpZGVvcyAudmlkZW8tdGltZSB7DQogICAgICBwYWRkaW5nOiAwcHggMHB4IDMwcHggMHB4Ow0KICAgIH0NCiAgDQogICAgLnN0YVVsdGltZU5vdGl6aWVXaWRnZXQgaDIgew0KICAgICAgbGVmdDogMzQlOw0KICAgIH0NCiAgICAuc3RhVWx0aW1lTm90aXppZVdpZGdldCBociB7DQogICAgICBkaXNwbGF5OiBpbmhlcml0Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7DQogICAgLnN3YWwyLXBvcHVwIHsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50Ow0KICAgICAgbGVmdDogNDBweDsNCiAgICAgIHdpZHRoOiAyNDBweCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICANCiAgLyojIHNvdXJjZU1hcHBpbmdVUkw9YXBwLmNzcy5tYXAgKi8=
4 ms
adsbygoogle.js
456 ms
adsbygoogle.js
203 ms
SpazioElettorale300.jpg
658 ms
Tecnopoint190619.gif
920 ms
FarmaciaPlinio151020.gif
687 ms
pliniohomeNew.jpg
575 ms
IurilloGroup270522.gif
832 ms
spaziodisponibilePiccolo.jpg
580 ms
logo.svg
687 ms
ADRA.jpg
947 ms
spaziodisponibileGrande.jpg
788 ms
PalazzoFarnese250124.jpg
828 ms
Carabinieri150322.jpg
918 ms
prontosoccorsoCastellammare.jpeg
888 ms
OrdignoCC110524.jpg
918 ms
OrdignoCC110524.jpg
1296 ms
play_arrow.svg
995 ms
InpsSedeCC090524.jpg
1142 ms
Ruotolo080524.jpg
1142 ms
OspedaleConferenzaRegione290424.jpg
1290 ms
Carabinieri150322.jpg
1062 ms
prontosoccorsoCastellammare.jpeg
1107 ms
OrdignoCC110524.jpg
1180 ms
o-0mIpQlx3QUlC5A4PNB6Ryti20_6n1iPHjcz6L1SoM-jCpoiyD9A99d.ttf
41 ms
o-0mIpQlx3QUlC5A4PNB6Ryti20_6n1iPHjcz6L1SoM-jCpoiyAaBN9d.ttf
72 ms
4iCs6KVjbNBYlgo6eA.ttf
93 ms
4iCv6KVjbNBYlgoCjC3Ttw.ttf
93 ms
4iCv6KVjbNBYlgoC1CzTtw.ttf
94 ms
flUhRq6tzZclQEJ-Vdg-IuiaDsNZ.ttf
93 ms
Tari270122.jpg
1171 ms
LogoEOradiCambiare.jpg
1200 ms
VicinanzaPgFB070524.jpg
1192 ms
1715428299196.jpg
1200 ms
JSTribuna.jpg
1245 ms
PresentazioneJuveStabia20232024.jpg
1281 ms
PagliucaConferenza102023.jpg
1280 ms
ToninMilanWeb.jpg
1282 ms
napoli_bologna_11052024.jpg
1321 ms
training_06052024.jpg
1321 ms
StadioMaradona012021.jpeg
1355 ms
anguissa_28042024.jpg
1393 ms
PalloneCalcioPixabayFree.jpg
1393 ms
MalagoConiTDG090524.jpg
1393 ms
show_ads_impl.js
520 ms
jquery-3.3.1.slim.min.js
46 ms
popper.min.js
43 ms
bootstrap.min.js
26 ms
jquery-3.5.1.min.js
70 ms
all.min.css
86 ms
sweetalert2@10
103 ms
fotorama.css
110 ms
fotorama.js
109 ms
js
127 ms
js
128 ms
app-converted.js
1237 ms
VirtusStabiaAtleticoSanGregoiro.jpeg
979 ms
LongobardiTaekWondo030524.jpg
1113 ms
LocandinaPimonteDispensaLattari110524.jpg
1031 ms
7764b50c-9ab2-44a1-83a0-6727eed2a910.jpeg
1003 ms
photosognodivolare3.jpg
1001 ms
zrt_lookup.html
58 ms
ads
374 ms
SMLCUnSorrisoAllavita.jpeg
863 ms
BannerGoriPiccolo220424.jpg
862 ms
ads
419 ms
BCP220422-300.jpg
918 ms
ads
452 ms
ads
426 ms
ads
384 ms
ads
300 ms
Futura300x150.gif
873 ms
ads
475 ms
ads
400 ms
Adra.gif
845 ms
logodginformatica.jpg
852 ms
CilOK260920.gif
882 ms
ads
688 ms
ads
414 ms
ads
509 ms
PalazzoFarneseListe1-110524.jpg
855 ms
ComuneStabia.jpg
887 ms
PalumboeQuaranta.jpeg
820 ms
LocandinaAAgnello090524.png
774 ms
LocandinaSlowFodd090524.jpg
773 ms
locandina-ma-nudge.png
799 ms
76cedffd470f845f3149280648cede46.jpg
760 ms
ca-pub-6883358842402931
103 ms
SoldatiInMarciaPixFree.jpg
740 ms
ed70cc6724ba780665d0c1db0e084e6a.jpg
708 ms
c82f953b2d0531ae17c714359fc2e772.jpg
708 ms
logo-2.svg
711 ms
footer-line.svg
733 ms
facebook.svg
737 ms
twitter.svg
766 ms
telegram.svg
733 ms
messenger.svg
733 ms
instagram.svg
742 ms
youtube.svg
722 ms
rss-feed.svg
773 ms
ga.js
58 ms
js
99 ms
__utm.gif
51 ms
analytics.js
56 ms
js15_as.js
86 ms
analytics.js
71 ms
collect
65 ms
collect
47 ms
collect
40 ms
4695924.php
138 ms
ga-audiences
114 ms
collect
15 ms
collect
15 ms
js
47 ms
ga-audiences
91 ms
ga-audiences
90 ms
cc_9.js
38 ms
207 ms
261 ms
tag.min.js
43 ms
afwu.js
79 ms
467 ms
p
85 ms
v2
90 ms
lt.min.js
45 ms
57 ms
126 ms
generic
15 ms
generic
4 ms
2243929753998803716
6 ms
mapuid
36 ms
405716.gif
54 ms
generic
7 ms
v2
4 ms
pixel
70 ms
sync
52 ms
stabiachannel.it accessibility score
Contrast
These are opportunities to improve the legibility of your content.
Impact
Issue
Background and foreground colors do not have a sufficient contrast ratio.
Names and labels
These are opportunities to improve the semantics of the controls in your application. This may enhance the experience for users of assistive technology, like a screen reader.
Impact
Issue
Image elements do not have [alt] attributes
Links do not have a discernible name
stabiachannel.it best practices score
Trust and Safety
Impact
Issue
Does not use HTTPS
Ensure CSP is effective against XSS attacks
User Experience
Impact
Issue
Displays images with incorrect aspect ratio
Serves images with low resolution
General
Impact
Issue
Detected JavaScript libraries
Browser errors were logged to the console
Page has valid source maps
stabiachannel.it SEO score
Crawling and Indexing
To appear in search results, crawlers need access to your app.
Impact
Issue
Links are not crawlable
Content Best Practices
Format your HTML in a way that enables crawlers to better understand your app’s content.
Impact
Issue
Image elements do not have [alt] attributes
Mobile Friendly
Make sure your pages are mobile friendly so users don’t have to pinch or zoom in order to read the content pages. [Learn more](https://developers.google.com/search/mobile-sites/).
Impact
Issue
Document uses legible font sizes
Tap targets are not sized appropriately
![]()
IT
![]()
EN
UTF-8
Language claimed in HTML meta tag should match the language actually used on the web page. Otherwise Stabiachannel.it can be misinterpreted by Google and other search engines. Our service has detected that Italian is used on the page, and it does not match the claimed English language. Our system also found out that Stabiachannel.it main page’s claimed encoding is utf-8. Use of this encoding format is the best practice as the main page visitors from all over the world won’t have any issues with symbol transcription.
stabiachannel.it
Open Graph description is not detected on the main page of Stabia Channel. Lack of Open Graph description can be counter-productive for their social media presence, as such a description allows converting a website homepage (or other pages) into good-looking, rich and well-structured posts, when it is being shared on Facebook and other social media. For example, adding the following code snippet into HTML <head> tag will help to represent this web page correctly in social networks: