5.2 sec in total
730 ms
4 sec
475 ms
Visit cokerexpo.co.uk now to see the best up-to-date Coker Expo content for United Kingdom and also check out these interesting facts you probably never knew about cokerexpo.co.uk
CokerExpo is a large format printer and supplier of event and exhibition displays stands, turntables, lighting, lightboxes and gantry or lighting truss solutions.
Visit cokerexpo.co.ukWe analyzed Cokerexpo.co.uk page load time and found that the first response time was 730 ms and then it took 4.4 sec to load all DOM resources and completely render a web page. This is a poor result, as 65% of websites can load faster.
cokerexpo.co.uk performance score
name
value
score
weighting
Value4.0 s
23/100
10%
Value4.1 s
46/100
25%
Value4.0 s
81/100
10%
Value4,030 ms
1/100
30%
Value0.004
100/100
15%
Value27.0 s
0/100
10%
730 ms
281 ms
182 ms
195 ms
310 ms
Our browser made a total of 153 requests to load all elements on the main page. We found that 48% of them (74 requests) were addressed to the original Cokerexpo.co.uk, 43% (66 requests) were made to Res.cloudinary.com and 3% (4 requests) were made to . The less responsive or slowest element that took the longest time to load (1.9 sec) belongs to the original domain Cokerexpo.co.uk.
Page size can be reduced by 1.2 MB (25%)
4.7 MB
3.5 MB
In fact, the total size of Cokerexpo.co.uk main page is 4.7 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. 75% 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 3.4 MB which makes up the majority of the site volume.
Potential reduce by 319.3 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. HTML code on this page is well minified. It is highly recommended that content of this web page should be compressed using GZIP, as it can save up to 319.3 kB or 84% of the original size.
Potential reduce by 245.0 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. Coker Expo images are well optimized though.
Potential reduce by 595.7 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 595.7 kB or 65% of the original size.
Potential reduce by 11.6 kB
CSS files minification is very important to reduce a web page rendering time. The faster CSS files can load, the earlier a page can be rendered. Cokerexpo.co.uk needs all CSS files to be minified and compressed as it can save up to 11.6 kB or 80% of the original size.
Number of requests can be reduced by 42 (29%)
146
104
The browser has sent 146 CSS, Javascripts, AJAX and image requests in order to completely render the main page of Coker Expo. We recommend that multiple CSS and JavaScript files should be merged into one by each type, as it can help reduce assets requests from 24 to 1 for JavaScripts and from 20 to 1 for CSS and as a result speed up the page load time.
cokerexpo.co.uk
730 ms
bootstrap.min.css
281 ms
bootstrap-dialog.min.css
182 ms
swiper.min.css
195 ms
style.css
310 ms
navbar2.css
218 ms
RaGfCMbyyi.js
68 ms
jquery.min.js
28 ms
bootstrap.min.js
190 ms
bootstrap-dialog.min.js
276 ms
webfont.js
28 ms
swiper.jquery.min.js
390 ms
jquery.cycle2.min.js
333 ms
jquery.easing.1.3.js
372 ms
jquery.parallax-1.1.js
385 ms
jquery.mousewheel.min.js
437 ms
jquery.mCustomScrollbar.js
463 ms
icheck.min.js
530 ms
grids.js
554 ms
owl.carousel.min.js
484 ms
select2.min.js
50 ms
bootstrap.touchspin.js
571 ms
home.js
629 ms
script.js
658 ms
basket.js
684 ms
notify.min.js
715 ms
modernizr.js
67 ms
navbar2.js
731 ms
owl.carousel.css
536 ms
owl.theme.css
596 ms
font-awesome.css
628 ms
animate.min.css
632 ms
jquery.mCustomScrollbar.css
671 ms
alpha.css
687 ms
select2.min.css
722 ms
smoothproducts.css
790 ms
all.css
813 ms
skin-6.css
809 ms
btn.css
866 ms
green.css
189 ms
polaris.css
183 ms
futurico.css
188 ms
css;charset=utf-8;base64,LmVhZ2VyLXNoYXJlLWFwcCB7CiAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgdXNlci1zZWxlY3Q6IG5vbmUKfQoKLmVhZ2VyLXNoYXJlLWFwcDpiZWZvcmUsIC5lYWdlci1zaGFyZS1hcHA6YWZ0ZXIsIC5lYWdlci1zaGFyZS1hcHAgKiwgLmVhZ2VyLXNoYXJlLWFwcCAqOmJlZm9yZSwgLmVhZ2VyLXNoYXJlLWFwcCAqOmFmdGVyIHsKICBib3gtc2l6aW5nOiBpbmhlcml0Cn0KCi5lYWdlci1zaGFyZS1hcHAgKiB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OwogIG1hcmdpbjogMCAhaW1wb3J0YW50OwogIHBhZGRpbmc6IDAgIWltcG9ydGFudAp9CgpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImVhZ2VyLXNoYXJlLWFwcC1pY29ucyI7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgc3JjOiB1cmwoZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxkMDlHUmdBQkFBQUFBQXJJQUFzQUFBQUFDbndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlBVeTh5QUFBQkNBQUFBR0FBQUFCZ0R4SUcrV050WVhBQUFBRm9BQUFBWEFBQUFGenF1ZWE4WjJGemNBQUFBY1FBQUFBSUFBQUFDQUFBQUJCbmJIbG1BQUFCekFBQUJwUUFBQWFVRG5wMHJtaGxZV1FBQUFoZ0FBQUFOZ0FBQURZR25zeUNhR2hsWVFBQUNKZ0FBQUFrQUFBQUpBZkNBOHhvYlhSNEFBQUl2QUFBQUN3QUFBQXNIcElBWVd4dlkyRUFBQWpvQUFBQUdBQUFBQmdHdkFnaWJXRjRjQUFBQ1FBQUFBQWdBQUFBSUFBUUFKMXVZVzFsQUFBSklBQUFBWVlBQUFHR21Vb0orM0J2YzNRQUFBcW9BQUFBSUFBQUFDQUFBd0FBQUFNRFVnR1FBQVVBQUFLWkFzd0FBQUNQQXBrQ3pBQUFBZXNBTXdFSkFBQUFBQUFBQUFBQUFBQUFBQUFBQVJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQTZuMER3UC9BQUVBRHdBQkFBQUFBQVFBQUFBQUFBQUFBQUFBQUlBQUFBQUFBQXdBQUFBTUFBQUFjQUFFQUF3QUFBQndBQXdBQkFBQUFIQUFFQUVBQUFBQU1BQWdBQWdBRUFBRUFJT1lGNm4zLy9mLy9BQUFBQUFBZzVnRHFmZi85Ly84QUFmL2pHZ1FWalFBREFBRUFBQUFBQUFBQUFBQUFBQUFBQVFBQi8vOEFEd0FCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBRFlBQUFJa0E3Y0FGd0FBQVJVaklnY0dIUUV6QnlNUkl4RWpOVE0xTkRjMk16SVhBaVJhTVJFUnB4YVJyNUtTT3p4alZDNERzSmNVRlNsc3FmNU9BYktwZkdzNk93Y0FBQUFBQkFBU0FBQURtZ08zQUVFQVlBQ05BSm9BQUFFVUZ4WVhGaGNXRnhZVkZBY0dCd1lqSWljbUp5WTFORGMyTnpZM0ppY21OVFEzQmlNaUp5WTFORGMyTnpZM05qc0JCeU1XRnhZVkZBY0dCd1lIQmdjR0ZTY3lOelkzTmpVMEp5WW5KaWNtSXlJSEJnY0dGUlFYRmhjV0Z4WVhGak1UTWpjMk56WTNOalUwSnlZbkppY21KeVluSmljbUp5WW5KaU1pQndZSEJnY0dCd1lWRkJjV0Z4WVhGak1CTXhVakZTTTFJelV6TlRNVkFhUVNFeG9hR1JvU0V4d3BUMUJiUzBKQklSVWFHU3BMbkJJSkNRd2FEVlE2T2hRVkpDdzhQVUR1VGtzcUZoVU9EaE1VRkJRT0RsTVZGeGNQSGdvSkVoSWZIaVFZR0JjT0d3WUdEQXdTRVJrYUhnRWhIaDhhR2hBUEJBUUVCQXNMQmdZUUVBVUZFeE1DQ1JJZUhoNGZJQmdZRHc4VUZDQWdKQ1FsQWM5NWVUeDZlandCOEJVVEZCTVRGeGNsSkMwek1FVWhJUmdYTnlNb0xpZ25HeTRMR0JJU0dCUWNBamMzVlM4c0xCOGxFeEl5SkNnb05Da2hJUlFVRVJFU0V4TTNDUW9QSVRvaEppY2pKQmdYQ3dzVElqb2FIUjRkSGhjWER3LytEUWNJRHc4YUd5UU9EZzBMQ2cwT0JnY05EUVFERGc0QkFRUUVDZ3NRRUJvYklpZ2VIeEVRQ1FnQjlUNTlmVDU4ZkFBQUFRQUFBQUFDMndPM0FISUFBQk0wTnpZM05qYzJOell6TWhjV0Z4WVZGQWNHQndZSEJnY0dJeUluSmljR0J3WUhCZ2NHQndZSEJnY0dEd0VuSmpVME56WTNOamNtTlRRM05qTXlGeFlWRkFjR0ZSUVhGak15TnpZM05qYzJOelkzTmpVMEp5WWpJZ2NHRlJRWEZoY1dGeFlWRkFjR0l5SW5KaWNtSnlZbkpqVUFGUlltSlRFeU9EazdXazVOTVRBS0N4Z1hJaUl4TVRzbkppWVJCUXNLQXdNSkNBY0dEQXdPRHhVSUJRZ01EQm9hQkJNZUhpMGpGQk1aR1JvWkpSOGJHeElTRGc0SUJ3UUVQejVsY2sxTUJ3Y0lDUWNIQ1FnTkFRa2RGaGNNREFjR0FtSTlOemNvS1IwZUR3OG1Ka2xJWERjME5UQXhKU1VXRmhNU0lCWXFLZzBNSEJ3TkRCY1lGUlVjQXdaWkVqVkJRbUpqRVNZN0x5b3FGeGNrSmtkSEpDUVlGdzRPR1JnZUhpRWlIaDRiWWpnM1NrcHlHUmdYRGcwTkRBVVFHaG9DQ1JjWUhoOGZIeDRBQUFBREFBQUFBQVFBQXlVQUlBQlFBR1VBQUNVUkJnY0dCd1lIQmdjR0t3RWlKeVluSmljbUp5WW5FUlFYRmpNaE1qYzJOUkUxTVRVbUl3WW5KZ2NHSnlFaUJ3WVZGQmNXRnhZWEZoY1dGeFlYRmpzQk1qYzJOelkzTmpjMk56WTNOamMyTlRjUkZBY0dJeUVpSnlZMUVUUTNOak1oTWhjV0ZRTzNFaGFaV2gwU0V4OGZHd0liSHg4VEVoMWFtUllTQmdVSEEwb0hCUVlCQVFJQkFnTUVCUHkyQndVR1ZHNTNCQkFSQ2drUUVBME5Dd0lMRFEwUUVBa0tFUkFFZDI0ZkdodEpHeHNsL0xZbEd4c2JHeVVEU2lVYkcxc0J0eFFSZGt3WURnNE9EZzRPRGc0WVRIWVJGUDVKQndVR0JnVUhBbGtPQndnQkJnVUJBUUlGQlFoZ1FsZGVBdzRPQ0FjTENnVUZCUVVLQ3djSURnNERYbGNZS2lraUZmMlNKUnNiR3hzbEFtNG1HeHNiR3lZQUFBQUJBQmtBU1FPZUF5VUFPd0FBQVFZSEZoVVVCd1lIQmdjR0J3WWpJaWNXTXpJM0ppY21KeFl6TWpjbUp5WTlBUllYSmljbU5UUTNGaGNXRnlZMU5EYzJNeklYTmpjR0J6WTNBNTRuTmdFV0Zpd3NQVDVXVm1LYmdSUVpnR1U4TUM4U0V4QVpHRUFxS2ljc0poWVdHVVZqWTNJRk5qWk5VRFkvTnhZOE5qVUN6amdvQ0JCS1NrcEVSRFExSHg5VEFrOEJJeVE0QXdZTk16SkRBaFVDR1Nrb01ESXJWVE0wQlJVVlRUWTJPd3doUWlRR0Z3QUJBQUFBQUFRQUE1SUFQQUFBQVJRSEFRWWpJaWNtUFFFaklnY0dCd1lIQmdjR0J3WUhCaFVVRnhRWEZoVVVCd1lqSWljbUp5WW5KaWNtTlRRM05pRXpOVFEzTmpNeUZ3RVdGUVFBQy83Y0N3OFBDd3VBT0N3c0xDd2dJQndjRWhJS0NnTUNBUVVGQ0FrSEJBUURCQVVCU1I1ZEFaZUFDd3NQRHdzQkpBc0NTUThML3R3TEN3c1BrZ1FEQ1FrUEVCZ1lJaUV1TFRvZ0pnUUtDZ1VKQlFZS0JRY0lDUW9FbzE5eVRPYVREd29MQy83Y0N3OEFBQUFBQWdBQUFFQUVBQU5BQUE0QUhnQUFBVEErQWpNVkNRRVZJZzRDRlFVaEVUTStBVGMrQVRjaEVTRVJCeFVCQUIxVGxub0JnUDZBWUpCZ01BSEEvY0IrQnhFSUlVOHMva1lEUUlBQlFEeElQTUFCQUFFQXdEZGFjenlBQVlBSkVRZ2ZMeEQ5Z0FFTlZqY0FBQUFBQVFBQUFBQUFBSk9SWWhkZkR6ejFBQXNFQUFBQUFBRFJ3TVBuQUFBQUFOSEF3K2NBQUFBQUJBQUR0d0FBQUFnQUFnQUFBQUFBQUFBQkFBQUR3UC9BQUFBRUFBQUFBQUFFQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQ3dRQUFBQUFBQUFBQUFBQUFBSUFBQUFDU1FBMkE3Y0FFZ0xiQUFBRUFBQUFBN2NBR1FRQUFBQUVBQUFBQUFBQUFBQUtBQlFBSGdCRUFTSUJ5QUplQXJnREZBTktBQUVBQUFBTEFKc0FCQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU9BSzRBQVFBQUFBQUFBUUFIQUFBQUFRQUFBQUFBQWdBSEFHQUFBUUFBQUFBQUF3QUhBRFlBQVFBQUFBQUFCQUFIQUhVQUFRQUFBQUFBQlFBTEFCVUFBUUFBQUFBQUJnQUhBRXNBQVFBQUFBQUFDZ0FhQUlvQUF3QUJCQWtBQVFBT0FBY0FBd0FCQkFrQUFnQU9BR2NBQXdBQkJBa0FBd0FPQUQwQUF3QUJCQWtBQkFBT0FId0FBd0FCQkFrQUJRQVdBQ0FBQXdBQkJBa0FCZ0FPQUZJQUF3QUJCQWtBQ2dBMEFLUnBZMjl0YjI5dUFHa0FZd0J2QUcwQWJ3QnZBRzVXWlhKemFXOXVJREV1TUFCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBTVFBdUFEQnBZMjl0YjI5dUFHa0FZd0J2QUcwQWJ3QnZBRzVwWTI5dGIyOXVBR2tBWXdCdkFHMEFid0J2QUc1U1pXZDFiR0Z5QUZJQVpRQm5BSFVBYkFCaEFISnBZMjl0YjI5dUFHa0FZd0J2QUcwQWJ3QnZBRzVHYjI1MElHZGxibVZ5WVhSbFpDQmllU0JKWTI5TmIyOXVMZ0JHQUc4QWJnQjBBQ0FBWndCbEFHNEFaUUJ5QUdFQWRBQmxBR1FBSUFCaUFIa0FJQUJKQUdNQWJ3Qk5BRzhBYndCdUFDNEFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQSkgZm9ybWF0KCJ3b2ZmIikKfQoKLmVhZ2VyLXNoYXJlLWFwcCBbY2xhc3NePSJlYWdlci1zaGFyZS1hcHAtaWNvbi0iXTpiZWZvcmUgewogIGZvbnQtZmFtaWx5OiAiZWFnZXItc2hhcmUtYXBwLWljb25zIjsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbAp9CgouZWFnZXItc2hhcmUtYXBwLWljb24tc2hhcmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGVhN2QiCn0KCi5lYWdlci1zaGFyZS1hcHAtaWNvbi10d2l0dGVyOmJlZm9yZSB7CiAgY29udGVudDogIlxlNjA0Igp9CgouZWFnZXItc2hhcmUtYXBwLWljb24tZmFjZWJvb2s6YmVmb3JlIHsKICBjb250ZW50OiAiXGU2MDAiCn0KCi5lYWdlci1zaGFyZS1hcHAtaWNvbi1nb29nbGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU2MDEiCn0KCi5lYWdlci1zaGFyZS1hcHAtaWNvbi1waW50ZXJlc3Q6YmVmb3JlIHsKICBjb250ZW50OiAiXGU2MDIiCn0KCi5lYWdlci1zaGFyZS1hcHAtaWNvbi1lbWFpbDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTYwMyIKfQoKLmVhZ2VyLXNoYXJlLWFwcC10YXJnZXQgewogIHBvc2l0aW9uOiBmaXhlZDsKICB6LWluZGV4OiA4MDA7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgY3Vyc29yOiBwb2ludGVyOwogIGJhY2tncm91bmQ6IGJsYWNrOwogIGJvcmRlcjogMCAhaW1wb3J0YW50OwogIHBhZGRpbmctbGVmdDogNjRweCAhaW1wb3J0YW50OwogIGhlaWdodDogNjBweDsKICBsaW5lLWhlaWdodDogNjBweDsKICBmb250LXNpemU6IDIwcHg7CiAgdGV4dC1hbGlnbjogbGVmdDsKICB3aWR0aDogNjdweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMzYwbXM7CiAgdHJhbnNpdGlvbjogd2lkdGggMzYwbXMKfQoKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldCwKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldDpob3ZlciwKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldDpmb2N1cywKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldDphY3RpdmUgewogICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50CiAgfQoKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldFtlYWdlci1zaGFyZS1hcHAtcGxhY2VzLWNvdW50PSIxIl0gewogICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAzMDBtczsKICAgIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zCiAgfQoKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldFtlYWdlci1zaGFyZS1hcHAtcGxhY2VzLWNvdW50PSIyIl0gewogICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiA0MDBtczsKICAgIHRyYW5zaXRpb24tZGVsYXk6IDQwMG1zCiAgfQoKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldFtlYWdlci1zaGFyZS1hcHAtcGxhY2VzLWNvdW50PSIzIl0gewogICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiA1MDBtczsKICAgIHRyYW5zaXRpb24tZGVsYXk6IDUwMG1zCiAgfQoKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldFtlYWdlci1zaGFyZS1hcHAtcGxhY2VzLWNvdW50PSI0Il0gewogICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiA2MDBtczsKICAgIHRyYW5zaXRpb24tZGVsYXk6IDYwMG1zCiAgfQoKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldFtlYWdlci1zaGFyZS1hcHAtcGxhY2VzLWNvdW50PSI1Il0gewogICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiA3MDBtczsKICAgIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zCiAgfQoKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldDpob3ZlciwKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldC5lYWdlci1zaGFyZS1hcHAtZW5hYmxlZCB7CiAgICB3aWR0aDogMTcycHg7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIDM2MG1zIGVhc2U7CiAgICB0cmFuc2l0aW9uOiB3aWR0aCAzNjBtcyBlYXNlOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwbXM7CiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMKICB9CgogIC5lYWdlci1zaGFyZS1hcHAtdGFyZ2V0IHNwYW4gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1NHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTRweCwgMCwgMCk7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzYwbXMsIC13ZWJraXQtdHJhbnNmb3JtIDM2MG1zOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzNjBtcywgdHJhbnNmb3JtIDM2MG1zCiAgfQoKICAgIC5lYWdlci1zaGFyZS1hcHAtdGFyZ2V0W2VhZ2VyLXNoYXJlLWFwcC1wbGFjZXMtY291bnQ9IjEiXSBzcGFuIHsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAzMDBtcywgMzAwbXM7CiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDMwMG0sIDMwMG1zCiAgICB9CgogICAgLmVhZ2VyLXNoYXJlLWFwcC10YXJnZXRbZWFnZXItc2hhcmUtYXBwLXBsYWNlcy1jb3VudD0iMiJdIHNwYW4gewogICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDQwMG1zLCA0MDBtczsKICAgICAgdHJhbnNpdGlvbi1kZWxheTogNDAwbSwgNDAwbXMKICAgIH0KCiAgICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldFtlYWdlci1zaGFyZS1hcHAtcGxhY2VzLWNvdW50PSIzIl0gc3BhbiB7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogNTAwbXMsIDUwMG1zOwogICAgICB0cmFuc2l0aW9uLWRlbGF5OiA1MDBtLCA1MDBtcwogICAgfQoKICAgIC5lYWdlci1zaGFyZS1hcHAtdGFyZ2V0W2VhZ2VyLXNoYXJlLWFwcC1wbGFjZXMtY291bnQ9IjQiXSBzcGFuIHsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiA2MDBtcywgNjAwbXM7CiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDYwMG0sIDYwMG1zCiAgICB9CgogICAgLmVhZ2VyLXNoYXJlLWFwcC10YXJnZXRbZWFnZXItc2hhcmUtYXBwLXBsYWNlcy1jb3VudD0iNSJdIHNwYW4gewogICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDcwMG1zLCA3MDBtczsKICAgICAgdHJhbnNpdGlvbi1kZWxheTogNzAwbSwgNzAwbXMKICAgIH0KCiAgLmVhZ2VyLXNoYXJlLWFwcC10YXJnZXQ6aG92ZXIgc3BhbiwKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldC5lYWdlci1zaGFyZS1hcHAtZW5hYmxlZCBzcGFuIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDM2MG1zIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDM2MG1zIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDM2MG1zIGVhc2UsIHRyYW5zZm9ybSAzNjBtcyBlYXNlCiAgfQoKICAuZWFnZXItc2hhcmUtYXBwLXRhcmdldCBpW2NsYXNzXj0iZWFnZXItc2hhcmUtYXBwLWljb24tIl06YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGZvbnQtc2l6ZTogMzJweDsKICAgIGxpbmUtaGVpZ2h0OiAyOXB4OwogICAgaGVpZ2h0OiAzMXB4OwogICAgd2lkdGg6IDQ2cHg7CiAgICB0b3A6IDA7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAxMnB4OwogICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIKICB9CgouZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiA4MTA7CiAgZGlzcGxheTogbm9uZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OwogIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7CiAgb3BhY2l0eTogLjk5OTsKICB3aWR0aDogMTcycHgKfQoKICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnRbZWFnZXItc2hhcmUtYXBwLXBsYWNlcy1jb3VudD0iMSJdIHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7CiAgICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcwogIH0KCiAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50W2VhZ2VyLXNoYXJlLWFwcC1wbGFjZXMtY291bnQ9IjIiXSB7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zOwogICAgdHJhbnNpdGlvbi1kZWxheTogNDAwbXMKICB9CgogIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudFtlYWdlci1zaGFyZS1hcHAtcGxhY2VzLWNvdW50PSIzIl0gewogICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtczsKICAgIHRyYW5zaXRpb24tZGVsYXk6IDUwMG1zCiAgfQoKICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnRbZWFnZXItc2hhcmUtYXBwLXBsYWNlcy1jb3VudD0iNCJdIHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogNjAwbXM7CiAgICB0cmFuc2l0aW9uLWRlbGF5OiA2MDBtcwogIH0KCiAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50W2VhZ2VyLXNoYXJlLWFwcC1wbGFjZXMtY291bnQ9IjUiXSB7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDcwMG1zOwogICAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMKICB9CgogIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC5lYWdlci1zaGFyZS1hcHAtb3BlbiB7CiAgICBkaXNwbGF5OiBub25lCiAgfQoKICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQuZWFnZXItc2hhcmUtYXBwLW9wZW4tdHJhbnNpdGlvbmVuZCB7CiAgICBkaXNwbGF5OiBibG9jawogIH0KCiAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50LmVhZ2VyLXNoYXJlLWFwcC1hZnRlci1vcGVuIHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTsKICAgIHRyYW5zaXRpb246IG5vbmU7CiAgICBvcGFjaXR5OiAxCiAgfQoKICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQgLmVhZ2VyLXNoYXJlLWFwcC1jb250ZW50IHsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKICB9CgogICAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50IGFbY2xhc3NePSJlYWdlci1zaGFyZS1hcHAtaWNvbi0iXSwgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50IGFbY2xhc3MqPSIgZWFnZXItc2hhcmUtYXBwLWljb24tIl0gewogICAgICBwYWRkaW5nOiAwIDIwcHggMCA2NHB4ICFpbXBvcnRhbnQKICAgIH0KCiAgICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudCBhW2NsYXNzXj0iZWFnZXItc2hhcmUtYXBwLWljb24tIl06YmVmb3JlLCAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQgYVtjbGFzcyo9IiBlYWdlci1zaGFyZS1hcHAtaWNvbi0iXTpiZWZvcmUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBmb250LXNpemU6IDM0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7CiAgICAgICAgaGVpZ2h0OiAzMHB4OwogICAgICAgIHdpZHRoOiA0MXB4OwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMTJweDsKICAgICAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIKICAgICAgfQoKICAgICAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50IC5lYWdlci1zaGFyZS1hcHAtaWNvbi10d2l0dGVyOmJlZm9yZSB7CiAgICAgICAgY29sb3I6ICM1NWFjZWUKICAgICAgfQoKICAgICAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50IC5lYWdlci1zaGFyZS1hcHAtaWNvbi1mYWNlYm9vazpiZWZvcmUgewogICAgICAgIGNvbG9yOiAjM2I1OTk4CiAgICAgIH0KCiAgICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudCAuZWFnZXItc2hhcmUtYXBwLWljb24tZ29vZ2xlOmJlZm9yZSB7CiAgICAgICAgY29sb3I6ICNkZDRiMzkKICAgICAgfQoKICAgICAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50IC5lYWdlci1zaGFyZS1hcHAtaWNvbi1waW50ZXJlc3Q6YmVmb3JlIHsKICAgICAgICBjb2xvcjogI2M5MjIyOAogICAgICB9CgogIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudCB1bCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZQogIH0KCiAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50IGxpIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGJsb2NrCiAgfQoKICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQgYSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogNjBweCAhaW1wb3J0YW50OwogICAgaGVpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAwIDMwcHggMCA3NXB4ICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDsKICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICNlZmVmZWYgIWltcG9ydGFudDsKICAgIGNvbG9yOiAjNDQ0ICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKQogIH0KCiAgICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQgYSwKICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudCBhOmhvdmVyIHsKICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OwogICAgICBib3JkZXI6IDAgIWltcG9ydGFudDsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQKICAgIH0KCiAgICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQgYTpob3ZlciB7CiAgICAgIGJhY2tncm91bmQ6ICNlMmUyZTIgIWltcG9ydGFudAogICAgfQoKICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQgbGkgYSB7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDMwMG1zOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC43NSwgMCwgLjc1LCAuOSk7IC8qIGVhc2Ugcm90YXRlZCAxODBkZWcgKi8KICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjc1LCAwLCAuNzUsIC45KTsKICB9CgogICAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50IGxpOm50aC1jaGlsZCgxKSBhIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMG1zOwogICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMKICAgIH0KCiAgICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQgbGk6bnRoLWNoaWxkKDIpIGEgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEyMHB4LCAwKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTIwcHgsIDApOwogICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDEwMG1zOwogICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcwogICAgfQoKICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudCBsaTpudGgtY2hpbGQoMykgYSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTgwcHgsIDApOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xODBweCwgMCk7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7CiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zCiAgICB9CgogICAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50IGxpOm50aC1jaGlsZCg0KSBhIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yNDBweCwgMCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTI0MHB4LCAwKTsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAzMDBtczsKICAgICAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMKICAgIH0KCiAgICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQgbGk6bnRoLWNoaWxkKDUpIGEgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMHB4LCAwKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwcHgsIDApOwogICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDQwMG1zOwogICAgICB0cmFuc2l0aW9uLWRlbGF5OiA0MDBtcwogICAgfQoKICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQuZWFnZXItc2hhcmUtYXBwLWFmdGVyLW9wZW4gbGkgYSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlCiAgfQoKICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC5lYWdlci1zaGFyZS1hcHAtYWZ0ZXItb3BlbiBsaTpudGgtbGFzdC1jaGlsZCgxKSBhLAogICAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50LmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSBsaTpudGgtbGFzdC1jaGlsZCgxKSBhIHsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwbXM7CiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcwogICAgfQoKICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC5lYWdlci1zaGFyZS1hcHAtYWZ0ZXItb3BlbiBsaTpudGgtbGFzdC1jaGlsZCgyKSBhLAogICAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50LmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSBsaTpudGgtbGFzdC1jaGlsZCgyKSBhIHsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAxMDBtczsKICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTAwbXMKICAgIH0KCiAgICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQuZWFnZXItc2hhcmUtYXBwLWFmdGVyLW9wZW4gbGk6bnRoLWxhc3QtY2hpbGQoMykgYSwKICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC1hdHRhY2hlZC1ib3R0b20gbGk6bnRoLWxhc3QtY2hpbGQoMykgYSB7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7CiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zCiAgICB9CgogICAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50LmVhZ2VyLXNoYXJlLWFwcC1hZnRlci1vcGVuIGxpOm50aC1sYXN0LWNoaWxkKDQpIGEsCiAgICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIGxpOm50aC1sYXN0LWNoaWxkKDQpIGEgewogICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDMwMG1zOwogICAgICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcwogICAgfQoKICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC5lYWdlci1zaGFyZS1hcHAtYWZ0ZXItb3BlbiBsaTpudGgtbGFzdC1jaGlsZCg1KSBhLAogICAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50LmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSBsaTpudGgtbGFzdC1jaGlsZCg1KSBhIHsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiA0MDBtczsKICAgICAgdHJhbnNpdGlvbi1kZWxheTogNDAwbXMKICAgIH0KCiAgICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIGxpOm50aC1sYXN0LWNoaWxkKDEpIGEgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNjBweCwgMCkKICAgIH0KCiAgICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIGxpOm50aC1sYXN0LWNoaWxkKDIpIGEgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTIwcHgsIDApOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEyMHB4LCAwKQogICAgfQoKICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC1hdHRhY2hlZC1ib3R0b20gbGk6bnRoLWxhc3QtY2hpbGQoMykgYSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxODBweCwgMCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTgwcHgsIDApCiAgICB9CgogICAgLmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50LmVhZ2VyLXNoYXJlLWFwcC1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSBsaTpudGgtbGFzdC1jaGlsZCg0KSBhIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI0MHB4LCAwKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNDBweCwgMCkKICAgIH0KCiAgICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIGxpOm50aC1sYXN0LWNoaWxkKDUpIGEgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwcHgsIDApOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMHB4LCAwKQogICAgfQoKICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tLmVhZ2VyLXNoYXJlLWFwcC1hZnRlci1vcGVuIGxpIGEgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZQogIH0KCiAgICAuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQuZWFnZXItc2hhcmUtYXBwLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tLmVhZ2VyLXNoYXJlLWFwcC1hZnRlci1vcGVuIGxpOm50aC1jaGlsZCgxKSBhIHsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwbXM7CiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcwogICAgfQoKICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC1hdHRhY2hlZC1ib3R0b20uZWFnZXItc2hhcmUtYXBwLWFmdGVyLW9wZW4gbGk6bnRoLWNoaWxkKDIpIGEgewogICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDEwMG1zOwogICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcwogICAgfQoKICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC1hdHRhY2hlZC1ib3R0b20uZWFnZXItc2hhcmUtYXBwLWFmdGVyLW9wZW4gbGk6bnRoLWNoaWxkKDMpIGEgewogICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDIwMG1zOwogICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcwogICAgfQoKICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC1hdHRhY2hlZC1ib3R0b20uZWFnZXItc2hhcmUtYXBwLWFmdGVyLW9wZW4gbGk6bnRoLWNoaWxkKDQpIGEgewogICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDMwMG1zOwogICAgICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcwogICAgfQoKICAgIC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC5lYWdlci1zaGFyZS1hcHAtZWxlbWVudC1hdHRhY2hlZC1ib3R0b20uZWFnZXItc2hhcmUtYXBwLWFmdGVyLW9wZW4gbGk6bnRoLWNoaWxkKDUpIGEgewogICAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDQwMG1zOwogICAgICB0cmFuc2l0aW9uLWRlbGF5OiA0MDBtcwogICAgfQouc2Nyb2xsLXByb2dyZXNzLWJhci1jb250YWluZXIgewogICAgcG9zaXRpb246IGZpeGVkOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgei1pbmRleDogMTAwMDA7CgogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zLCAtd2Via2l0LXRyYW5zZm9ybSAyMDBtczsKfQoKLnNjcm9sbC1wcm9ncmVzcy1iYXItYm90dG9tIHsKICAgIGJvdHRvbTogMDsKfQoKLnNjcm9sbC1wcm9ncmVzcy1iYXItdG9wIHsKICAgIHRvcDogMDsKfQoKLnNjcm9sbC1wcm9ncmVzcy1iYXItYmFyIHsKICAgIHdpZHRoOiAxMDAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsKCXRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICJlYWdlci1mZWVkYmFjay1hcHAtaWNvbnMiOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogbm9ybWFsOwogIHNyYzogdXJsKGRhdGE6YXBwbGljYXRpb24veC1mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JnQUJBQUFBQUFjQUFBc0FBQUFBQnJRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJQVXk4eUFBQUJDQUFBQUdBQUFBQmdEeElDckdOdFlYQUFBQUZvQUFBQVZBQUFBRlFhVnN5SloyRnpjQUFBQWJ3QUFBQUlBQUFBQ0FBQUFCQm5iSGxtQUFBQnhBQUFBdXdBQUFMc3hMUjJuR2hsWVdRQUFBU3dBQUFBTmdBQUFEWUcvbWJ0YUdobFlRQUFCT2dBQUFBa0FBQUFKQWZDQThob2JYUjRBQUFGREFBQUFCd0FBQUFjRWdBQUFHeHZZMkVBQUFVb0FBQUFFQUFBQUJBQk9BSWliV0Y0Y0FBQUJUZ0FBQUFnQUFBQUlBQU5BRnR1WVcxbEFBQUZXQUFBQVlZQUFBR0dtVW9KKzNCdmMzUUFBQWJnQUFBQUlBQUFBQ0FBQXdBQUFBTURnQUdRQUFVQUFBS1pBc3dBQUFDUEFwa0N6QUFBQWVzQU13RUpBQUFBQUFBQUFBQUFBQUFBQUFBQUFSQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUE1Z0lEd1AvQUFFQUR3QUJBQUFBQUFRQUFBQUFBQUFBQUFBQUFJQUFBQUFBQUF3QUFBQU1BQUFBY0FBRUFBd0FBQUJ3QUF3QUJBQUFBSEFBRUFEZ0FBQUFLQUFnQUFnQUNBQUVBSU9ZQy8vMy8vd0FBQUFBQUlPWUEvLzMvL3dBQi8rTWFCQUFEQUFFQUFBQUFBQUFBQUFBQUFBRUFBZi8vQUE4QUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQlFBQS84QUVBQVBBQUJRQUtRQStBRXNBV0FBQUJUSStBalUwTGdJaklnNENGUlFlQWpNUk1oNENGUlFPQWlNaUxnSTFORDRDTXhFeVBnSTNEZ01qSWk0Q0p4NERNeVUwTmpNeUZoVVVCaU1pSmpVaE5EWXpNaFlWRkFZaklpWTFBZ0JxdTR0UVVJdTdhbXE3aTFCUWk3dHFWcGh4UVVGeG1GWldtSEZCUVhHWVZpdFZVVXdqQlRkV2J6OC9iMVkzQlNOTVVWVXIvd0FsR3hzbEpSc2JKUUdBSlJzYkpTVWJHeVZBVUl1N2FtcTdpMUJRaTd0cWFydUxVQU9nUVhHWVZsYVljVUZCY1poV1ZwaHhRZjRKREJVZ0ZFTjBWakV4Vm5SREZDQVZEUGNvT0Rnb0tEZzRLQ2c0T0Nnb09EZ29BQUFBQUFVQUFQL0FCQUFEd0FBVUFDa0FOZ0JEQUZZQUFBVXlQZ0kxTkM0Q0l5SU9BaFVVSGdJekVUSWVBaFVVRGdJaklpNENOVFErQWpNRk5EWXpNaFlWRkFZaklpWTFJVFEyTXpJV0ZSUUdJeUltTlFFblBnTXpNaDRDRndjdUFTTWlCZ2NDQUdxN2kxQlFpN3RxYXJ1TFVGQ0x1MnBXbUhGQlFYR1lWbGFZY1VGQmNaaFcvd0FsR3hzbEpSc2JKUUdBSlJzYkpTVWJHeVgrd0ZJVk9rWlJMQ3hSUmpvVlVoMW1QVDFtSFVCUWk3dHFhcnVMVUZDTHUycHF1NHRRQTZCQmNaaFdWcGh4UVVGeG1GWldtSEZCNEJzbEpSc2JKU1ViR3lVbEd4c2xKUnYrTXpJak9Ta1dGaWs1SXpJeFBEd3hBQVVBQVAvQUJBQUR3QUFVQUNrQUxRQTZBRWNBQUFVeVBnSTFOQzRDSXlJT0FoVVVIZ0l6RVRJZUFoVVVEZ0lqSWk0Q05UUStBak1URndVbkF6UTJNeklXRlJRR0l5SW1OU0UwTmpNeUZoVVVCaU1pSmpVQ0FHcTdpMUJRaTd0cWFydUxVRkNMdTJwV21IRkJRWEdZVmxhWWNVRkJjWmhXNmhiK1N4WTFKUnNiSlNVYkd5VUJnQ1ViR3lVbEd4c2xRRkNMdTJwcXU0dFFVSXU3YW1xN2kxQURvRUZ4bUZaV21IRkJRWEdZVmxhWWNVSCtCa3lBVEFHYUd5VWxHeHNsSlJzYkpTVWJHeVVsR3dBQUFBRUFBQUFBQUFEclZwR3pYdzg4OVFBTEJBQUFBQUFBMGZBUk9BQUFBQURSOEJFNEFBRC93QVFBQThBQUFBQUlBQUlBQUFBQUFBQUFBUUFBQThEL3dBQUFCQUFBQUFBQUJBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBY0VBQUFBQUFBQUFBQUFBQUFDQUFBQUJBQUFBQVFBQUFBRUFBQUFBQUFBQUFBS0FCUUFIZ0NZQVJBQmRnQUJBQUFBQndCWkFBVUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURnQ3VBQUVBQUFBQUFBRUFCd0FBQUFFQUFBQUFBQUlBQndCZ0FBRUFBQUFBQUFNQUJ3QTJBQUVBQUFBQUFBUUFCd0IxQUFFQUFBQUFBQVVBQ3dBVkFBRUFBQUFBQUFZQUJ3QkxBQUVBQUFBQUFBb0FHZ0NLQUFNQUFRUUpBQUVBRGdBSEFBTUFBUVFKQUFJQURnQm5BQU1BQVFRSkFBTUFEZ0E5QUFNQUFRUUpBQVFBRGdCOEFBTUFBUVFKQUFVQUZnQWdBQU1BQVFRSkFBWUFEZ0JTQUFNQUFRUUpBQW9BTkFDa2FXTnZiVzl2YmdCcEFHTUFid0J0QUc4QWJ3QnVWbVZ5YzJsdmJpQXhMakFBVmdCbEFISUFjd0JwQUc4QWJnQWdBREVBTGdBd2FXTnZiVzl2YmdCcEFHTUFid0J0QUc4QWJ3QnVhV052Ylc5dmJnQnBBR01BYndCdEFHOEFid0J1VW1WbmRXeGhjZ0JTQUdVQVp3QjFBR3dBWVFCeWFXTnZiVzl2YmdCcEFHTUFid0J0QUc4QWJ3QnVSbTl1ZENCblpXNWxjbUYwWldRZ1lua2dTV052VFc5dmJpNEFSZ0J2QUc0QWRBQWdBR2NBWlFCdUFHVUFjZ0JoQUhRQVpRQmtBQ0FBWWdCNUFDQUFTUUJqQUc4QVRRQnZBRzhBYmdBdUFBQUFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9PSkgZm9ybWF0KCJ3b2ZmIikKfQoKLmVhZ2VyLWZlZWRiYWNrLWFwcC1pY29uOmJlZm9yZSB7CiAgZm9udC1mYW1pbHk6ICJlYWdlci1mZWVkYmFjay1hcHAtaWNvbnMiOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogbm9ybWFsCn0KCi5lYWdlci1mZWVkYmFjay1hcHAtaWNvbi5lYWdlci1mZWVkYmFjay1hcHAtaWNvbi1wb3NpdGl2ZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTYwMCIKfQoKLmVhZ2VyLWZlZWRiYWNrLWFwcC1pY29uLmVhZ2VyLWZlZWRiYWNrLWFwcC1pY29uLW5ldXRyYWw6YmVmb3JlIHsKICBjb250ZW50OiAiXGU2MDIiCn0KCi5lYWdlci1mZWVkYmFjay1hcHAtaWNvbi5lYWdlci1mZWVkYmFjay1hcHAtaWNvbi1uZWdhdGl2ZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZTYwMSIKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGVhZ2VyLWZlZWRiYWNrLWFwcC1ib3VuY2UtaW4tZG93biB7CiAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUgewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxMCwgLjM1NSwgMSk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxMCwgLjM1NSwgMSk7CiAgfQoKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKQogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkKICB9CgogIDc1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkKICB9CgogIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKQogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApCiAgfQp9CgpAa2V5ZnJhbWVzIGVhZ2VyLWZlZWRiYWNrLWFwcC1ib3VuY2UtaW4tZG93biB7CiAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUgewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxMCwgLjM1NSwgMSk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxMCwgLjM1NSwgMSkKICB9CgogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApCiAgfQoKICA2MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkKICB9CgogIDc1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkKICB9CgogIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKQogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApCiAgfQp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZWFnZXItZmVlZGJhY2stYXBwLWJvdW5jZS1vdXQtdXAgewogIDIwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkKICB9CgogIDQwJSwgNDUlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApCiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApCiAgfQp9CgpAa2V5ZnJhbWVzIGVhZ2VyLWZlZWRiYWNrLWFwcC1ib3VuY2Utb3V0LXVwIHsKICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApCiAgfQoKICA0MCUsIDQ1JSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKQogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKQogIH0KfQoKLmVhZ2VyLWZlZWRiYWNrLWFwcCwgLmVhZ2VyLWZlZWRiYWNrLWFwcC1mZWVkYmFjay1idXR0b24gewogIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7CiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OwogIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICB1c2VyLXNlbGVjdDogbm9uZQp9CgogIGJ1dHRvbi5lYWdlci1mZWVkYmFjay1hcHAtZmVlZGJhY2stYnV0dG9uIHsKICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7CiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogIzAwMDsKICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OwogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7CiAgICBhcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7CiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsKICAgIHotaW5kZXg6IDgwMDAwMDAwMDAwMDU7CiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50OwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OwogICAgaGVpZ2h0OiAyZW0gIWltcG9ydGFudDsKICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7CiAgICBtaW4td2lkdGg6IGF1dG8gIWltcG9ydGFudDsKICAgIG1heC13aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgcGFkZGluZzogLjVlbSAuOGVtICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogLjE4NzVlbSAuMTg3NWVtIDAgMCAhaW1wb3J0YW50OwogICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsKICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50CiAgfQoKICBidXR0b24uZWFnZXItZmVlZGJhY2stYXBwLWZlZWRiYWNrLWJ1dHRvbjpob3ZlciB7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA5OTllbSByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKSAhaW1wb3J0YW50CiAgfQoKICBidXR0b24uZWFnZXItZmVlZGJhY2stYXBwLWZlZWRiYWNrLWJ1dHRvbjpob3ZlcjphY3RpdmUgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgOTk5ZW0gcmdiYSgwLCAwLCAwLCAuMikgIWltcG9ydGFudAogIH0KCiAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1mZWVkYmFjay1idXR0b25bZGF0YS1sb2NhdGlvbj0ibGVmdC1lZGdlIl0sCiAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1mZWVkYmFjay1idXR0b25bZGF0YS1sb2NhdGlvbj0icmlnaHQtZWRnZSJdIHsKICAgIHRvcDogMCAhaW1wb3J0YW50OwogICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQoKICAuZWFnZXItZmVlZGJhY2stYXBwLWZlZWRiYWNrLWJ1dHRvbltkYXRhLWxvY2F0aW9uPSJsZWZ0LWVkZ2UiXSB7CiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDsKICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCA1MCUgIWltcG9ydGFudDsKICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlICFpbXBvcnRhbnQ7CiAgfQoKICAuZWFnZXItZmVlZGJhY2stYXBwLWZlZWRiYWNrLWJ1dHRvbltkYXRhLWxvY2F0aW9uPSJyaWdodC1lZGdlIl0gewogICAgcmlnaHQ6IDAgIWltcG9ydGFudDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSgtNTAlKSAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSgtNTAlKSAhaW1wb3J0YW50OwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJSAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCUgIWltcG9ydGFudDsKICB9CgogIC5lYWdlci1mZWVkYmFjay1hcHAtZmVlZGJhY2stYnV0dG9uW2RhdGEtbG9jYXRpb249ImJvdHRvbS1sZWZ0LWNvcm5lciJdLAogIC5lYWdlci1mZWVkYmFjay1hcHAtZmVlZGJhY2stYnV0dG9uW2RhdGEtbG9jYXRpb249ImJvdHRvbS1yaWdodC1jb3JuZXIiXSB7CiAgICBib3R0b206IDAgIWltcG9ydGFudAogIH0KCiAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1mZWVkYmFjay1idXR0b25bZGF0YS1sb2NhdGlvbj0iYm90dG9tLWxlZnQtY29ybmVyIl0gewogICAgbGVmdDogM2VtICFpbXBvcnRhbnQKICB9CgogIC5lYWdlci1mZWVkYmFjay1hcHAtZmVlZGJhY2stYnV0dG9uW2RhdGEtbG9jYXRpb249ImJvdHRvbS1yaWdodC1jb3JuZXIiXSB7CiAgICByaWdodDogM2VtICFpbXBvcnRhbnQKICB9CgouZWFnZXItZmVlZGJhY2stYXBwICogewogIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQKfQoKLmVhZ2VyLWZlZWRiYWNrLWFwcDpiZWZvcmUsIC5lYWdlci1mZWVkYmFjay1hcHA6YWZ0ZXIsIC5lYWdlci1mZWVkYmFjay1hcHAgKiwgLmVhZ2VyLWZlZWRiYWNrLWFwcCAqOmJlZm9yZSwgLmVhZ2VyLWZlZWRiYWNrLWFwcCAqOmFmdGVyIHsKICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogIGJveC1zaXppbmc6IGluaGVyaXQgIWltcG9ydGFudAp9CgouZWFnZXItZmVlZGJhY2stYXBwLCAuZWFnZXItZmVlZGJhY2stYXBwICogewogIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OwogIG1hcmdpbjogMCAhaW1wb3J0YW50OwogIHBhZGRpbmc6IDAgIWltcG9ydGFudAp9CgouZWFnZXItZmVlZGJhY2stYXBwIHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgei1pbmRleDogODAwMDAwMDAwMDAwNjsKICB0b3A6IDA7CiAgcmlnaHQ6IDA7CiAgbGVmdDogMDsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoICsgNS41ZW0pICFpbXBvcnRhbnQ7CiAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50OwogIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaCAhaW1wb3J0YW50OwogIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OwogIHdpZHRoOiAyNWVtOwogIG1heC13aWR0aDogMTAwJTsKICBwYWRkaW5nOiA2LjVlbSAxLjVlbSAxLjVlbSAxLjVlbSAhaW1wb3J0YW50OwogIG1hcmdpbi10b3A6IC01ZW0gIWltcG9ydGFudDsKICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7CiAgYm9yZGVyLXJhZGl1czogMCAwIC4zMTI1ZW0gLjMxMjVlbTsKICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAuMiksIDAgMCA1MHB4IHJnYmEoMCwgMCwgMCwgLjIpLCAwIDAgMCAxMDAwMHB4IHJnYmEoMCwgMCwgMCwgMCkgIWltcG9ydGFudDsKICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDFzIGVhc2UgIWltcG9ydGFudDsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApCn0KCiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIgLyAxKSwgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsKICAgIC5lYWdlci1mZWVkYmFjay1hcHAgewogICAgICBib3gtc2hhZG93OiAwIDAgMCAuNXB4IHJnYmEoMCwgMCwgMCwgLjIpLCAwIDAgNTBweCByZ2JhKDAsIDAsIDAsIC4yKSwgMCAwIDAgMTAwMDBweCByZ2JhKDAsIDAsIDAsIDApICFpbXBvcnRhbnQKICAgIH0KICB9CgogIC5lYWdlci1mZWVkYmFjay1hcHA6Oi13ZWJraXQtc2Nyb2xsYmFyLCAuZWFnZXItZmVlZGJhY2stYXBwOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICBoZWlnaHQ6IDEwcHg7CiAgICB3aWR0aDogMTBweAogIH0KCiAgLmVhZ2VyLWZlZWRiYWNrLWFwcDo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OwogIH0KCiAgLmVhZ2VyLWZlZWRiYWNrLWFwcDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZiAhaW1wb3J0YW50OwogICAgYm9yZGVyLXRvcC13aWR0aDogNS4xODc1ZW0gIWltcG9ydGFudDsKICAgIGJvcmRlci1ib3R0b20td2lkdGg6IC42MjVlbSAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogI2FhYSAhaW1wb3J0YW50CiAgfQoKICBAbWVkaWEgKG1heC13aWR0aDogMzBlbSkgewogICAgLmVhZ2VyLWZlZWRiYWNrLWFwcCB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBib3JkZXItcmFkaXVzOiAwCiAgICB9CiAgfQoKICBAbWVkaWEgKG1heC13aWR0aDogMTVlbSkgewogICAgLmVhZ2VyLWZlZWRiYWNrLWFwcCB7CiAgICAgIGRpc3BsYXk6IG5vbmUKICAgIH0KICB9CgogIC5lYWdlci1mZWVkYmFjay1hcHAuZWFnZXItZmVlZGJhY2stYXBwLXNob3cgewogICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgLjIpLCAwIDAgNTBweCByZ2JhKDAsIDAsIDAsIC4yKSwgMCAwIDAgMTAwMDBweCByZ2JhKDAsIDAsIDAsIC4xKSAhaW1wb3J0YW50OwogICAgLXdlYmtpdC1hbmltYXRpb246IGVhZ2VyLWZlZWRiYWNrLWFwcC1ib3VuY2UtaW4tZG93biAxcyBlYXNlIGZvcndhcmRzOwogICAgYW5pbWF0aW9uOiBlYWdlci1mZWVkYmFjay1hcHAtYm91bmNlLWluLWRvd24gMXMgZWFzZSBmb3J3YXJkcwogIH0KCiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIgLyAxKSwgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsKICAgIC5lYWdlci1mZWVkYmFjay1hcHAuZWFnZXItZmVlZGJhY2stYXBwLXNob3cgewogICAgICBib3gtc2hhZG93OiAwIDAgMCAuNXB4IHJnYmEoMCwgMCwgMCwgLjIpLCAwIDAgNTBweCByZ2JhKDAsIDAsIDAsIC4yKSwgMCAwIDAgMTAwMDBweCByZ2JhKDAsIDAsIDAsIC4xKSAhaW1wb3J0YW50CiAgICB9CiAgfQoKICAuZWFnZXItZmVlZGJhY2stYXBwLmVhZ2VyLWZlZWRiYWNrLWFwcC1oaWRlIHsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIC4yKSwgMCAwIDUwcHggcmdiYSgwLCAwLCAwLCAuMiksIDAgMCAwIDEwMDAwcHggcmdiYSgwLCAwLCAwLCAwKSAhaW1wb3J0YW50OwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiBlYWdlci1mZWVkYmFjay1hcHAtYm91bmNlLW91dC11cCAxcyBlYXNlIGZvcndhcmRzOwogICAgYW5pbWF0aW9uOiBlYWdlci1mZWVkYmFjay1hcHAtYm91bmNlLW91dC11cCAxcyBlYXNlIGZvcndhcmRzCiAgfQoKICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMiAvIDEpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgewogICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC5lYWdlci1mZWVkYmFjay1hcHAtaGlkZSB7CiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIC41cHggcmdiYSgwLCAwLCAwLCAuMiksIDAgMCA1MHB4IHJnYmEoMCwgMCwgMCwgLjIpLCAwIDAgMCAxMDAwMHB4IHJnYmEoMCwgMCwgMCwgMCkgIWltcG9ydGFudAogICAgfQogIH0KCiAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1jb250ZW50IHsKICAgIG1hcmdpbi1ib3R0b206IDFlbSAhaW1wb3J0YW50CiAgfQoKICAgIC5lYWdlci1mZWVkYmFjay1hcHAtaGVhZGVyIHsKICAgICAgZm9udC1zaXplOiAxLjNlbSAhaW1wb3J0YW50OwogICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgb3BhY2l0eTogLjc7CiAgICAgIG1hcmdpbi1ib3R0b206IC45ZW0gIWltcG9ydGFudDsKICAgICAgbWFyZ2luLWxlZnQ6IDFlbSAhaW1wb3J0YW50OwogICAgICBtYXJnaW4tcmlnaHQ6IDFlbSAhaW1wb3J0YW50OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgICAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50CiAgICB9CgogICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1ib2R5IHsKICAgICAgb3BhY2l0eTogLjc7CiAgICAgIGZvbnQtc2l6ZTogLjllbSAhaW1wb3J0YW50OwogICAgICBsaW5lLWhlaWdodDogMS4zZW07CiAgICAgIG1hcmdpbi1ib3R0b206IDFlbSAhaW1wb3J0YW50OwogICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OwogICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQKICAgIH0KCiAgICAuZWFnZXItZmVlZGJhY2stYXBwLWZvcm0gewogICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudAogICAgfQoKICAgICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1mb3JtID4gaW5wdXQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDVlbTsKICAgICAgICBsZWZ0OiAzZW07CiAgICAgICAgb3BhY2l0eTogMAogICAgICB9CgogICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1maWVsZC1zbWlsZXlzIHsKICAgICAgZm9udC1zaXplOiA0ZW0gIWltcG9ydGFudDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQKICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAyNGVtKSB7CiAgICAgICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1maWVsZC1zbWlsZXlzIHsKICAgICAgICAgIGZvbnQtc2l6ZTogM2VtICFpbXBvcnRhbnQ7CiAgICAgICAgfQogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogMjBlbSkgewogICAgICAgIC5lYWdlci1mZWVkYmFjay1hcHAtZmllbGQtc21pbGV5cyB7CiAgICAgICAgICBmb250LXNpemU6IDIuNWVtICFpbXBvcnRhbnQ7CiAgICAgICAgfQogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogMTZlbSkgewogICAgICAgIC5lYWdlci1mZWVkYmFjay1hcHAtZmllbGQtc21pbGV5cyB7CiAgICAgICAgICBmb250LXNpemU6IDJlbSAhaW1wb3J0YW50OwogICAgICAgIH0KICAgICAgfQoKICAgICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1maWVsZC1zbWlsZXlzID4gbGFiZWwgewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CiAgICAgICAgd2lkdGg6IDMwJSAhaW1wb3J0YW50OwogICAgICAgIG1hcmdpbjogMCAyLjUlICFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZzogLjI1ZW0gIWltcG9ydGFudDsKICAgICAgICBsaW5lLWhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogLjEyNWVtICFpbXBvcnRhbnQ7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTVzIGVhc2UsIGJveC1zaGFkb3cgLjJzIGVhc2UgIWltcG9ydGFudDsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQKICAgICAgfQoKICAgICAgICAuZWFnZXItZmVlZGJhY2stYXBwLWZpZWxkLXNtaWxleXMgPiBsYWJlbDpiZWZvcmUgewogICAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjMpICFpbXBvcnRhbnQ7CiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2UgIWltcG9ydGFudAogICAgICAgIH0KCiAgICAgICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1mb3JtID4gaW5wdXQ6bm90KDpjaGVja2VkKSArIGlucHV0Om5vdCg6Y2hlY2tlZCkgKyBpbnB1dDpub3QoOmNoZWNrZWQpICsgLmVhZ2VyLWZlZWRiYWNrLWFwcC1maWVsZC1zbWlsZXlzID4gbGFiZWxbZm9yPSJlYWdlci1mZWVkYmFjay1hcHAtbmVnYXRpdmUiXTpiZWZvcmUsCiAgICAgICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1mb3JtID4gaW5wdXQjZWFnZXItZmVlZGJhY2stYXBwLW5lZ2F0aXZlOmNoZWNrZWQgfiAuZWFnZXItZmVlZGJhY2stYXBwLWZpZWxkLXNtaWxleXMgPiBsYWJlbFtmb3I9ImVhZ2VyLWZlZWRiYWNrLWFwcC1uZWdhdGl2ZSJdOmJlZm9yZSB7CiAgICAgICAgICBjb2xvcjogI2VhMDAzYSAhaW1wb3J0YW50CiAgICAgICAgfQoKICAgICAgICAuZWFnZXItZmVlZGJhY2stYXBwLWZvcm0gPiBpbnB1dDpub3QoOmNoZWNrZWQpICsgaW5wdXQ6bm90KDpjaGVja2VkKSArIGlucHV0Om5vdCg6Y2hlY2tlZCkgKyAuZWFnZXItZmVlZGJhY2stYXBwLWZpZWxkLXNtaWxleXMgPiBsYWJlbFtmb3I9ImVhZ2VyLWZlZWRiYWNrLWFwcC1uZXV0cmFsIl06YmVmb3JlLAogICAgICAgIC5lYWdlci1mZWVkYmFjay1hcHAtZm9ybSA+IGlucHV0I2VhZ2VyLWZlZWRiYWNrLWFwcC1uZXV0cmFsOmNoZWNrZWQgfiAuZWFnZXItZmVlZGJhY2stYXBwLWZpZWxkLXNtaWxleXMgPiBsYWJlbFtmb3I9ImVhZ2VyLWZlZWRiYWNrLWFwcC1uZXV0cmFsIl06YmVmb3JlIHsKICAgICAgICAgIGNvbG9yOiAjZmY3ZjUwICFpbXBvcnRhbnQKICAgICAgICB9CgogICAgICAgIC5lYWdlci1mZWVkYmFjay1hcHAtZm9ybSA+IGlucHV0Om5vdCg6Y2hlY2tlZCkgKyBpbnB1dDpub3QoOmNoZWNrZWQpICsgaW5wdXQ6bm90KDpjaGVja2VkKSArIC5lYWdlci1mZWVkYmFjay1hcHAtZmllbGQtc21pbGV5cyA+IGxhYmVsW2Zvcj0iZWFnZXItZmVlZGJhY2stYXBwLXBvc2l0aXZlIl06YmVmb3JlLAogICAgICAgIC5lYWdlci1mZWVkYmFjay1hcHAtZm9ybSA+IGlucHV0I2VhZ2VyLWZlZWRiYWNrLWFwcC1wb3NpdGl2ZTpjaGVja2VkIH4gLmVhZ2VyLWZlZWRiYWNrLWFwcC1maWVsZC1zbWlsZXlzID4gbGFiZWxbZm9yPSJlYWdlci1mZWVkYmFjay1hcHAtcG9zaXRpdmUiXTpiZWZvcmUgewogICAgICAgICAgY29sb3I6ICMxYWI5N2EgIWltcG9ydGFudAogICAgICAgIH0KCiAgICAgICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1maWVsZC1zbWlsZXlzID4gbGFiZWw6aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogI2VlZSAhaW1wb3J0YW50CiAgICAgICAgfQoKICAgICAgICAuZWFnZXItZmVlZGJhY2stYXBwLWZpZWxkLXNtaWxleXMgPiBsYWJlbDpmaXJzdC1vZi10eXBlIHsKICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQKICAgICAgICB9CgogICAgICAgIC5lYWdlci1mZWVkYmFjay1hcHAtZmllbGQtc21pbGV5cyA+IGxhYmVsOmxhc3Qtb2YtdHlwZSB7CiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudAogICAgICAgIH0KCiAgICAuZWFnZXItZmVlZGJhY2stYXBwLWZpZWxkLWZlZWRiYWNrIHsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OwogICAgICBtYXgtaGVpZ2h0OiAxMGVtICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IC4yNWVtICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogLS4yNWVtICFpbXBvcnRhbnQ7CiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjVzIGVhc2UgIWltcG9ydGFudAogICAgfQoKICAgICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1mb3JtID4gaW5wdXQ6bm90KDpjaGVja2VkKSArIGlucHV0Om5vdCg6Y2hlY2tlZCkgKyBpbnB1dDpub3QoOmNoZWNrZWQpIH4gLmVhZ2VyLWZlZWRiYWNrLWFwcC1maWVsZC1mZWVkYmFjayB7CiAgICAgICAgbWF4LWhlaWdodDogMCAhaW1wb3J0YW50OwogICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudAogICAgICB9CgogICAgICAuZWFnZXItZmVlZGJhY2stYXBwLWZpZWxkLWZlZWRiYWNrIHRleHRhcmVhIHsKICAgICAgICBtYXJnaW4tdG9wOiAxZW0gIWltcG9ydGFudAogICAgICB9CgogICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1maWVsZC1lbWFpbCB7CiAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsKICAgICAgbWF4LWhlaWdodDogNGVtICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IC4yNWVtICFpbXBvcnRhbnQ7CiAgICAgIG1hcmdpbjogLS4yNWVtICFpbXBvcnRhbnQ7CiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjVzIGVhc2UgIWltcG9ydGFudAogICAgfQoKICAgICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1maWVsZC1mZWVkYmFjayA+IHRleHRhcmVhOmludmFsaWQgfiAuZWFnZXItZmVlZGJhY2stYXBwLWZpZWxkLWVtYWlsIHsKICAgICAgICBtYXgtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50CiAgICAgIH0KCiAgICAgIC5lYWdlci1mZWVkYmFjay1hcHAtZmllbGQtZW1haWwtaW5wdXQtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQKICAgICAgfQoKICAgICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1maWVsZC1lbWFpbCBpbnB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogLjc1ZW0gIWltcG9ydGFudAogICAgICB9CgogICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1pbnB1dCB7CiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7CiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7CiAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsKICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjgpICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjE0KSAhaW1wb3J0YW50OwogICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yMikgIWltcG9ydGFudDsKICAgICAgcGFkZGluZzogLjZlbSAuOGVtICFpbXBvcnRhbnQ7CiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IC4xODc1ZW0KICAgIH0KCiAgICB0ZXh0YXJlYS5lYWdlci1mZWVkYmFjay1hcHAtaW5wdXQgewogICAgICByZXNpemU6IG5vbmUgIWltcG9ydGFudAogICAgfQoKICAgIC5lYWdlci1mZWVkYmFjay1hcHAtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgewogICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuMykgIWltcG9ydGFudDsKICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgIGZvbnQtc2l6ZTogMWVtCiAgICB9CgogICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1pbnB1dDotbW96LXBsYWNlaG9sZGVyIHsKICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjMpICFpbXBvcnRhbnQ7CiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICBmb250LXNpemU6IDFlbQogICAgfQoKICAgIC5lYWdlci1mZWVkYmFjay1hcHAtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgewogICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuMykgIWltcG9ydGFudDsKICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgIGZvbnQtc2l6ZTogMWVtCiAgICB9CgogICAgLmVhZ2VyLWZlZWRiYWNrLWFwcC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgewogICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuMykgIWltcG9ydGFudDsKICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgIGZvbnQtc2l6ZTogMWVtCiAgICB9CgogICAgYnV0dG9uLmVhZ2VyLWZlZWRiYWNrLWFwcC1idXR0b24gewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHJpZ2h0OiAuMjVlbSAhaW1wb3J0YW50OwogICAgICB0b3A6IC4yNWVtICFpbXBvcnRhbnQ7CiAgICAgIGJvdHRvbTogLjI1ZW0gIWltcG9ydGFudDsKICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OwogICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgIG1heC13aWR0aDogMjUlICFpbXBvcnRhbnQ7CiAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsKICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWltcG9ydGFudDsKICAgICAgcGFkZGluZy1sZWZ0OiAuNzVlbSAhaW1wb3J0YW50OwogICAgICBwYWRkaW5nLXJpZ2h0OiAuNzVlbSAhaW1wb3J0YW50OwogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7CiAgICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7CiAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IC4xODc1ZW07CiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDsKICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlIC4xNXMgMXMgIWltcG9ydGFudAogICAgfQoKICAgIC5lYWdlci1mZWVkYmFjay1hcHAtaW5wdXQ6dmFsaWQgKyBidXR0b24uZWFnZXItZmVlZGJhY2stYXBwLWJ1dHRvbiB7CiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsKICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgICBwb2ludGVyLWV2ZW50czogYWxsICFpbXBvcnRhbnQKICAgIH0KCiAgICAuZWFnZXItZmVlZGJhY2stYXBwLWlucHV0OnZhbGlkICsgYnV0dG9uLmVhZ2VyLWZlZWRiYWNrLWFwcC1idXR0b246aG92ZXIgewogICAgICBvcGFjaXR5OiAuOQogICAgfQoKICAgIC5lYWdlci1mZWVkYmFjay1hcHAtaW5wdXQ6dmFsaWQgKyBidXR0b24uZWFnZXItZmVlZGJhY2stYXBwLWJ1dHRvbjpob3ZlcjphY3RpdmUgewogICAgICBvcGFjaXR5OiAuNwogICAgfQoKICAgIC5lYWdlci1mZWVkYmFjay1hcHAtaW5wdXQ6dmFsaWQgKyBidXR0b24uZWFnZXItZmVlZGJhY2stYXBwLWJ1dHRvbjpmb2N1czpiZWZvcmUgewogICAgICBjb250ZW50OiAiIjsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDJweDsKICAgICAgcmlnaHQ6IDJweDsKICAgICAgYm90dG9tOiAycHg7CiAgICAgIGxlZnQ6IDJweDsKICAgICAgYm9yZGVyLXJhZGl1czogLjFlbTsKICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICNmZmY7CiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLWluLW91dAogICAgfQoKICAgIC5lYWdlci1mZWVkYmFjay1hcHAtaW5wdXQ6dmFsaWQgKyBidXR0b24uZWFnZXItZmVlZGJhY2stYXBwLWJ1dHRvbjpmb2N1czphY3RpdmU6YmVmb3JlIHsKICAgICAgb3BhY2l0eTogMAogICAgfQoKICAuZWFnZXItZmVlZGJhY2stYXBwLWJyYW5kaW5nIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogLjc1ZW0gIWltcG9ydGFudAogIH0KCiAgICBhLmVhZ2VyLWZlZWRiYWNrLWFwcC1icmFuZGluZy1saW5rIHsKICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsKICAgICAgb3BhY2l0eTogLjQKICAgIH0KCiAgICAgIGEuZWFnZXItZmVlZGJhY2stYXBwLWJyYW5kaW5nLWxpbms6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IC44CiAgICAgIH0K
34 ms
vpdfjfco1ydvdjw6yarh
354 ms
zw0gkqw3ieavga739qtk
398 ms
lsaiwcs9kgfvz9xb0dtk
646 ms
hskiarfn8f6gkixh0glj
500 ms
edbymo7f5reqprodtyfm
499 ms
m0arrz9fllccoyy8gh51
636 ms
riyzofbyi7mowekvzauw
636 ms
dy8wlvbzzztykbnlfd4k
500 ms
jl9ascdhyf8dcqlo8gae
582 ms
vtnpxlzn54o9nn3bushw
537 ms
p7uof5pskwnisrczmfvf
636 ms
iteon9wqiadprv86n5se
770 ms
y7puwsubnccezc4u5pi5
685 ms
w5osmpyh5zkljoc3avw9
742 ms
oky7b40z5wlkhzm2zyci
705 ms
xlyj0uk1qbbluaelmb6w
740 ms
pky478e4ys0deupmf4u9
905 ms
wppvoyv9bi8qvyn84obp
845 ms
mh4ho1ifsvgv9bwvvniq
785 ms
r2brrborwpkwxaksxxxz
811 ms
100w_light
936 ms
foldingplinth
848 ms
rotating_lightbox_csw250
865 ms
o5juok2t81qaxpz7edd1
906 ms
zw0gkqw3ieavga739qtk
931 ms
yvp6xfzmmyoeulirx7lj
933 ms
uduwyry9elotmpixhic4
957 ms
b7blhfcxhqrdasnxpa4m
982 ms
xrjxb1cbjsozvbrmrqng
1049 ms
jpheaaatzoss701pdpra
1055 ms
rww6nprle1q57ykmmaob
1027 ms
lr6dyiihizgk69gbc2df
1015 ms
450_dia_alley_turntable
1064 ms
turntablecsw1
1110 ms
bpohhmetxl9oezcd4bjc
1171 ms
zwxxhvgcgdt8vnm8lyxg
1094 ms
Gantry4.jpg
388 ms
Popup.jpg
388 ms
Silverbronze.jpg
455 ms
displaycase2.jpg
561 ms
Gantry_build8.jpg
386 ms
gantry_build4.jpg
386 ms
Lighting.png
813 ms
VectorC.png
818 ms
comp2.png
742 ms
Harley.png
844 ms
PopUp2.png
781 ms
Turntable.png
922 ms
Bannerstand.png
1192 ms
SAGE.png
873 ms
order-by-phone.png
990 ms
price-promise.png
1001 ms
SafeBuy.png
1114 ms
BRL.png
1058 ms
design-logo-museum.jpg
1107 ms
game.png
1188 ms
bbc.png
1098 ms
imgres.png
1248 ms
Jankal.png
1296 ms
beaulieu.jpg
1300 ms
NHS.jpg
1296 ms
northrop.jpg
1371 ms
RoyalAirforce.jpg
1376 ms
science.gif
1439 ms
wwt.jpg
1471 ms
cokerexpologoGold2.png
1475 ms
master_card.png
1473 ms
visa_card.png
1541 ms
DarkExhibition.jpg
1808 ms
Pxbot.jpg
1873 ms
analytics.js
112 ms
fontawesome-webfont.woff
1678 ms
glyphicons-halflings-regular.woff
1628 ms
20161004234722-4780.js
149 ms
collect
64 ms
wAAABAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAcEAAAAAAAAAAAAAAACAAAABAAAAAQAAAAEAAAAAAAAAAAKABQAHgCYARABdgABAAAABwBZAAUAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEABwAAAAEAAAAAAAIABwBgAAEAAAAAAAMABwA2AAEAAAAAAAQABwB1AAEAAAAAAAUACwAVAAEAAAAAAAYABwBLAAEAAAAAAAoAGgCKAAMAAQQJAAEADgAHAAMAAQQJAAIADgBnAAMAAQQJAAMADgA9AAMAAQQJAAQADgB8AAMAAQQJAAUAFgAgAAMAAQQJAAYADgBSAAMAAQQJAAoANACkaWNvbW9vbgBpAGMAbwBtAG8AbwBuVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwaWNvbW9vbgBpAGMAbwBtAG8AbwBuaWNvbW9vbgBpAGMAbwBtAG8AbwBuUmVndWxhcgBSAGUAZwB1AGwAYQByaWNvbW9vbgBpAGMAbwBtAG8AbwBuRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
1 ms
j8kjlj9t9jsz5vvut1ln
850 ms
green.png
1273 ms
vnbks9mkx9sxteps4qjp
777 ms
css;charset=utf-8;base64,LyohCiAqIEhvdmVyLmNzcyAoaHR0cDovL2lhbmx1bm4uZ2l0aHViLmlvL0hvdmVyLykKICogVmVyc2lvbjogMi4wLjAKICogQXV0aG9yOiBJYW4gTHVubiBASWFuTHVubgogKiBBdXRob3IgVVJMOiBodHRwOi8vaWFubHVubi5jby51ay8KICogR2l0aHViOiBodHRwczovL2dpdGh1Yi5jb20vSWFuTHVubi9Ib3ZlcgoKICogTWFkZSBhdmFpbGFibGUgdW5kZXIgYSBNSVQgTGljZW5zZToKICogaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAKCiAqIEhvdmVyLmNzcyBDb3B5cmlnaHQgSWFuIEx1bm4gMjAxNC4gR2VuZXJhdGVkIHdpdGggU2Fzcy4KICovCi8qIDJEIFRSQU5TSVRJT05TICovCi8qIEdyb3cgKi8KLmh2ci1ncm93IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKfQouaHZyLWdyb3c6aG92ZXIsIC5odnItZ3Jvdzpmb2N1cywgLmh2ci1ncm93OmFjdGl2ZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwp9CgovKiBTaHJpbmsgKi8KLmh2ci1zaHJpbmsgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwp9Ci5odnItc2hyaW5rOmhvdmVyLCAuaHZyLXNocmluazpmb2N1cywgLmh2ci1zaHJpbms6YWN0aXZlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTsKICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7Cn0KCi8qIFB1bHNlICovCkAtd2Via2l0LWtleWZyYW1lcyBodnItcHVsc2UgewogIDI1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICB9CgogIDc1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTsKICB9Cn0KCkBrZXlmcmFtZXMgaHZyLXB1bHNlIHsKICAyNSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7CiAgfQp9CgouaHZyLXB1bHNlIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwp9Ci5odnItcHVsc2U6aG92ZXIsIC5odnItcHVsc2U6Zm9jdXMsIC5odnItcHVsc2U6YWN0aXZlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItcHVsc2U7CiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1wdWxzZTsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKfQoKLyogUHVsc2UgR3JvdyAqLwpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXB1bHNlLWdyb3cgewogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogIH0KfQoKQGtleWZyYW1lcyBodnItcHVsc2UtZ3JvdyB7CiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgfQp9CgouaHZyLXB1bHNlLWdyb3cgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7Cn0KLmh2ci1wdWxzZS1ncm93OmhvdmVyLCAuaHZyLXB1bHNlLWdyb3c6Zm9jdXMsIC5odnItcHVsc2UtZ3JvdzphY3RpdmUgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1wdWxzZS1ncm93OwogIGFuaW1hdGlvbi1uYW1lOiBodnItcHVsc2UtZ3JvdzsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zczsKICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7CiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOwp9CgovKiBQdWxzZSBTaHJpbmsgKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wdWxzZS1zaHJpbmsgewogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpOwogIH0KfQoKQGtleWZyYW1lcyBodnItcHVsc2Utc2hyaW5rIHsKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTsKICB9Cn0KCi5odnItcHVsc2Utc2hyaW5rIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwp9Ci5odnItcHVsc2Utc2hyaW5rOmhvdmVyLCAuaHZyLXB1bHNlLXNocmluazpmb2N1cywgLmh2ci1wdWxzZS1zaHJpbms6YWN0aXZlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItcHVsc2Utc2hyaW5rOwogIGFuaW1hdGlvbi1uYW1lOiBodnItcHVsc2Utc2hyaW5rOwogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTsKICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7Cn0KCi8qIFB1c2ggKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wdXNoIHsKICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1wdXNoIHsKICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgfQp9CgouaHZyLXB1c2ggewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7Cn0KLmh2ci1wdXNoOmhvdmVyLCAuaHZyLXB1c2g6Zm9jdXMsIC5odnItcHVzaDphY3RpdmUgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1wdXNoOwogIGFuaW1hdGlvbi1uYW1lOiBodnItcHVzaDsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zczsKICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwp9CgovKiBQb3AgKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wb3AgewogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICB9Cn0KCkBrZXlmcmFtZXMgaHZyLXBvcCB7CiAgNTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOwogIH0KfQoKLmh2ci1wb3AgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7Cn0KLmh2ci1wb3A6aG92ZXIsIC5odnItcG9wOmZvY3VzLCAuaHZyLXBvcDphY3RpdmUgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1wb3A7CiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1wb3A7CiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuM3M7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKfQoKLyogQm91bmNlIEluICovCi5odnItYm91bmNlLWluIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOwp9Ci5odnItYm91bmNlLWluOmhvdmVyLCAuaHZyLWJvdW5jZS1pbjpmb2N1cywgLmh2ci1ib3VuY2UtaW46YWN0aXZlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDIuMDIsIDAuMzEsIC0wLjM2KTsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDIuMDIsIDAuMzEsIC0wLjM2KTsKfQoKLyogQm91bmNlIE91dCAqLwouaHZyLWJvdW5jZS1vdXQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7Cn0KLmh2ci1ib3VuY2Utb3V0OmhvdmVyLCAuaHZyLWJvdW5jZS1vdXQ6Zm9jdXMsIC5odnItYm91bmNlLW91dDphY3RpdmUgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIHRyYW5zZm9ybTogc2NhbGUoMC44KTsKICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMi4wMiwgMC4zMSwgLTAuMzYpOwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMi4wMiwgMC4zMSwgLTAuMzYpOwp9CgovKiBSb3RhdGUgKi8KLmh2ci1yb3RhdGUgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwp9Ci5odnItcm90YXRlOmhvdmVyLCAuaHZyLXJvdGF0ZTpmb2N1cywgLmh2ci1yb3RhdGU6YWN0aXZlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDRkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlKDRkZWcpOwp9CgovKiBHcm93IFJvdGF0ZSAqLwouaHZyLWdyb3ctcm90YXRlIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKfQouaHZyLWdyb3ctcm90YXRlOmhvdmVyLCAuaHZyLWdyb3ctcm90YXRlOmZvY3VzLCAuaHZyLWdyb3ctcm90YXRlOmFjdGl2ZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDRkZWcpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoNGRlZyk7Cn0KCi8qIEZsb2F0ICovCi5odnItZmxvYXQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLWZsb2F0OmhvdmVyLCAuaHZyLWZsb2F0OmZvY3VzLCAuaHZyLWZsb2F0OmFjdGl2ZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOwp9CgovKiBTaW5rICovCi5odnItc2luayB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItc2luazpob3ZlciwgLmh2ci1zaW5rOmZvY3VzLCAuaHZyLXNpbms6YWN0aXZlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOwp9CgovKiBCb2IgKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1ib2IgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOwogIH0KCiAgNTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsKICB9Cn0KCkBrZXlmcmFtZXMgaHZyLWJvYiB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7CiAgfQoKICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOwogIH0KfQoKQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1ib2ItZmxvYXQgewogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1ib2ItZmxvYXQgewogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7CiAgfQp9CgouaHZyLWJvYiB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKfQouaHZyLWJvYjpob3ZlciwgLmh2ci1ib2I6Zm9jdXMsIC5odnItYm9iOmFjdGl2ZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWJvYi1mbG9hdCwgaHZyLWJvYjsKICBhbmltYXRpb24tbmFtZTogaHZyLWJvYi1mbG9hdCwgaHZyLWJvYjsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzOwogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzOwogIGFuaW1hdGlvbi1kZWxheTogMHMsIC4zczsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0LCBlYXNlLWluLW91dDsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgZWFzZS1pbi1vdXQ7CiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTsKICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7Cn0KCi8qIEhhbmcgKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1oYW5nIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7CiAgfQoKICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1oYW5nIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7CiAgfQoKICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7CiAgfQp9CgpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWhhbmctc2luayB7CiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1oYW5nLXNpbmsgewogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOwogIH0KfQoKLmh2ci1oYW5nIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwp9Ci5odnItaGFuZzpob3ZlciwgLmh2ci1oYW5nOmZvY3VzLCAuaHZyLWhhbmc6YWN0aXZlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaGFuZy1zaW5rLCBodnItaGFuZzsKICBhbmltYXRpb24tbmFtZTogaHZyLWhhbmctc2luaywgaHZyLWhhbmc7CiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC4zcywgMS41czsKICBhbmltYXRpb24tZHVyYXRpb246IC4zcywgMS41czsKICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMHMsIC4zczsKICBhbmltYXRpb24tZGVsYXk6IDBzLCAuM3M7CiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgZWFzZS1pbi1vdXQ7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQsIGVhc2UtaW4tb3V0OwogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSwgaW5maW5pdGU7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSwgaW5maW5pdGU7CiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbCwgYWx0ZXJuYXRlOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbCwgYWx0ZXJuYXRlOwp9CgovKiBTa2V3ICovCi5odnItc2tldyB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07Cn0KLmh2ci1za2V3OmhvdmVyLCAuaHZyLXNrZXc6Zm9jdXMsIC5odnItc2tldzphY3RpdmUgewogIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0xMGRlZyk7CiAgdHJhbnNmb3JtOiBza2V3KC0xMGRlZyk7Cn0KCi8qIFNrZXcgRm9yd2FyZCAqLwouaHZyLXNrZXctZm9yd2FyZCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlOwp9Ci5odnItc2tldy1mb3J3YXJkOmhvdmVyLCAuaHZyLXNrZXctZm9yd2FyZDpmb2N1cywgLmh2ci1za2V3LWZvcndhcmQ6YWN0aXZlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMTBkZWcpOwogIHRyYW5zZm9ybTogc2tldygtMTBkZWcpOwp9CgovKiBTa2V3IEJhY2t3YXJkICovCi5odnItc2tldy1iYWNrd2FyZCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlOwp9Ci5odnItc2tldy1iYWNrd2FyZDpob3ZlciwgLmh2ci1za2V3LWJhY2t3YXJkOmZvY3VzLCAuaHZyLXNrZXctYmFja3dhcmQ6YWN0aXZlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygxMGRlZyk7CiAgdHJhbnNmb3JtOiBza2V3KDEwZGVnKTsKfQoKLyogV29iYmxlIFZlcnRpY2FsICovCkAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLXZlcnRpY2FsIHsKICAxNi42NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOwogIH0KCiAgMzMuMyUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7CiAgfQoKICA0OS45NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOwogIH0KCiAgNjYuNiUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgfQoKICA4My4yNSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9Cn0KCkBrZXlmcmFtZXMgaHZyLXdvYmJsZS12ZXJ0aWNhbCB7CiAgMTYuNjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsKICB9CgogIDMzLjMlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOwogIH0KCiAgNDkuOTUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsKICB9CgogIDY2LjYlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogIH0KCiAgODMuMjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQp9CgouaHZyLXdvYmJsZS12ZXJ0aWNhbCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKfQouaHZyLXdvYmJsZS12ZXJ0aWNhbDpob3ZlciwgLmh2ci13b2JibGUtdmVydGljYWw6Zm9jdXMsIC5odnItd29iYmxlLXZlcnRpY2FsOmFjdGl2ZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS12ZXJ0aWNhbDsKICBhbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS12ZXJ0aWNhbDsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwp9CgovKiBXb2JibGUgSG9yaXpvbnRhbCAqLwpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS1ob3Jpem9udGFsIHsKICAxNi42NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOwogIH0KCiAgMzMuMyUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCk7CiAgfQoKICA0OS45NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOwogIH0KCiAgNjYuNiUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7CiAgfQoKICA4My4yNSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9Cn0KCkBrZXlmcmFtZXMgaHZyLXdvYmJsZS1ob3Jpem9udGFsIHsKICAxNi42NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOwogIH0KCiAgMzMuMyUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCk7CiAgfQoKICA0OS45NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOwogIH0KCiAgNjYuNiUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7CiAgfQoKICA4My4yNSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9Cn0KCi5odnItd29iYmxlLWhvcml6b250YWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7Cn0KLmh2ci13b2JibGUtaG9yaXpvbnRhbDpob3ZlciwgLmh2ci13b2JibGUtaG9yaXpvbnRhbDpmb2N1cywgLmh2ci13b2JibGUtaG9yaXpvbnRhbDphY3RpdmUgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtaG9yaXpvbnRhbDsKICBhbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS1ob3Jpem9udGFsOwogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICBhbmltYXRpb24tZHVyYXRpb246IDFzOwogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7Cn0KCi8qIFdvYmJsZSBUbyBCb3R0b20gUmlnaHQgKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0IHsKICAxNi42NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIDhweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIDhweCk7CiAgfQoKICAzMy4zJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC02cHgsIC02cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgLTZweCk7CiAgfQoKICA0OS45NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIDRweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIDRweCk7CiAgfQoKICA2Ni42JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0ycHgsIC0ycHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgLTJweCk7CiAgfQoKICA4My4yNSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQgewogIDE2LjY1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgOHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgOHB4KTsKICB9CgogIDMzLjMlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgLTZweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNnB4LCAtNnB4KTsKICB9CgogIDQ5Ljk1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgNHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgNHB4KTsKICB9CgogIDY2LjYlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgLTJweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAtMnB4KTsKICB9CgogIDgzLjI1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOwogIH0KfQoKLmh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwp9Ci5odnItd29iYmxlLXRvLWJvdHRvbS1yaWdodDpob3ZlciwgLmh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0OmZvY3VzLCAuaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQ6YWN0aXZlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXRvLWJvdHRvbS1yaWdodDsKICBhbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQ7CiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKfQoKLyogV29iYmxlIFRvIFRvcCBSaWdodCAqLwpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS10by10b3AtcmlnaHQgewogIDE2LjY1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgLThweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIC04cHgpOwogIH0KCiAgMzMuMyUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNnB4LCA2cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgNnB4KTsKICB9CgogIDQ5Ljk1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgLTRweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIC00cHgpOwogIH0KCiAgNjYuNiUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAycHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgMnB4KTsKICB9CgogIDgzLjI1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTFweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci13b2JibGUtdG8tdG9wLXJpZ2h0IHsKICAxNi42NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIC04cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoOHB4LCAtOHB4KTsKICB9CgogIDMzLjMlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgNnB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC02cHgsIDZweCk7CiAgfQoKICA0OS45NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIC00cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4LCAtNHB4KTsKICB9CgogIDY2LjYlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgMnB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0ycHgsIDJweCk7CiAgfQoKICA4My4yNSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMXB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOwogIH0KfQoKLmh2ci13b2JibGUtdG8tdG9wLXJpZ2h0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwp9Ci5odnItd29iYmxlLXRvLXRvcC1yaWdodDpob3ZlciwgLmh2ci13b2JibGUtdG8tdG9wLXJpZ2h0OmZvY3VzLCAuaHZyLXdvYmJsZS10by10b3AtcmlnaHQ6YWN0aXZlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXRvLXRvcC1yaWdodDsKICBhbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS10by10b3AtcmlnaHQ7CiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKfQoKLyogV29iYmxlIFRvcCAqLwpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS10b3AgewogIDE2LjY1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMTJkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7CiAgfQoKICAzMy4zJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygxMGRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXcoMTBkZWcpOwogIH0KCiAgNDkuOTUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC02ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tldygtNmRlZyk7CiAgfQoKICA2Ni42JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldyg0ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTsKICB9CgogIDgzLjI1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMmRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXcoLTJkZWcpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwKTsKICAgIHRyYW5zZm9ybTogc2tldygwKTsKICB9Cn0KCkBrZXlmcmFtZXMgaHZyLXdvYmJsZS10b3AgewogIDE2LjY1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMTJkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7CiAgfQoKICAzMy4zJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygxMGRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXcoMTBkZWcpOwogIH0KCiAgNDkuOTUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC02ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tldygtNmRlZyk7CiAgfQoKICA2Ni42JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldyg0ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTsKICB9CgogIDgzLjI1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMmRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXcoLTJkZWcpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwKTsKICAgIHRyYW5zZm9ybTogc2tldygwKTsKICB9Cn0KCi5odnItd29iYmxlLXRvcCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTsKICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7Cn0KLmh2ci13b2JibGUtdG9wOmhvdmVyLCAuaHZyLXdvYmJsZS10b3A6Zm9jdXMsIC5odnItd29iYmxlLXRvcDphY3RpdmUgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtdG9wOwogIGFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXRvcDsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwp9CgovKiBXb2JibGUgQm90dG9tICovCkAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLWJvdHRvbSB7CiAgMTYuNjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsKICB9CgogIDMzLjMlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTsKICAgIHRyYW5zZm9ybTogc2tldygxMGRlZyk7CiAgfQoKICA0OS45NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTZkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3KC02ZGVnKTsKICB9CgogIDY2LjYlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDRkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3KDRkZWcpOwogIH0KCiAgODMuMjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0yZGVnKTsKICAgIHRyYW5zZm9ybTogc2tldygtMmRlZyk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDApOwogICAgdHJhbnNmb3JtOiBza2V3KDApOwogIH0KfQoKQGtleWZyYW1lcyBodnItd29iYmxlLWJvdHRvbSB7CiAgMTYuNjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsKICB9CgogIDMzLjMlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTsKICAgIHRyYW5zZm9ybTogc2tldygxMGRlZyk7CiAgfQoKICA0OS45NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTZkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3KC02ZGVnKTsKICB9CgogIDY2LjYlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDRkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3KDRkZWcpOwogIH0KCiAgODMuMjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0yZGVnKTsKICAgIHRyYW5zZm9ybTogc2tldygtMmRlZyk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDApOwogICAgdHJhbnNmb3JtOiBza2V3KDApOwogIH0KfQoKLmh2ci13b2JibGUtYm90dG9tIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOwogIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsKfQouaHZyLXdvYmJsZS1ib3R0b206aG92ZXIsIC5odnItd29iYmxlLWJvdHRvbTpmb2N1cywgLmh2ci13b2JibGUtYm90dG9tOmFjdGl2ZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS1ib3R0b207CiAgYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtYm90dG9tOwogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICBhbmltYXRpb24tZHVyYXRpb246IDFzOwogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7Cn0KCi8qIFdvYmJsZSBTa2V3ICovCkAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLXNrZXcgewogIDE2LjY1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMTJkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7CiAgfQoKICAzMy4zJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygxMGRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXcoMTBkZWcpOwogIH0KCiAgNDkuOTUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC02ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tldygtNmRlZyk7CiAgfQoKICA2Ni42JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldyg0ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTsKICB9CgogIDgzLjI1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMmRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXcoLTJkZWcpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwKTsKICAgIHRyYW5zZm9ybTogc2tldygwKTsKICB9Cn0KCkBrZXlmcmFtZXMgaHZyLXdvYmJsZS1za2V3IHsKICAxNi42NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsKICAgIHRyYW5zZm9ybTogc2tldygtMTJkZWcpOwogIH0KCiAgMzMuMyUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMTBkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3KDEwZGVnKTsKICB9CgogIDQ5Ljk1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtNmRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXcoLTZkZWcpOwogIH0KCiAgNjYuNiUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoNGRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXcoNGRlZyk7CiAgfQoKICA4My4yNSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTJkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3KC0yZGVnKTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMCk7CiAgICB0cmFuc2Zvcm06IHNrZXcoMCk7CiAgfQp9CgouaHZyLXdvYmJsZS1za2V3IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwp9Ci5odnItd29iYmxlLXNrZXc6aG92ZXIsIC5odnItd29iYmxlLXNrZXc6Zm9jdXMsIC5odnItd29iYmxlLXNrZXc6YWN0aXZlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXNrZXc7CiAgYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtc2tldzsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwp9CgovKiBCdXp6ICovCkAtd2Via2l0LWtleWZyYW1lcyBodnItYnV6eiB7CiAgNTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1idXp6IHsKICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsKICB9Cn0KCi5odnItYnV6eiB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKfQouaHZyLWJ1eno6aG92ZXIsIC5odnItYnV6ejpmb2N1cywgLmh2ci1idXp6OmFjdGl2ZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWJ1eno7CiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1idXp6OwogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjE1czsKICBhbmltYXRpb24tZHVyYXRpb246IDAuMTVzOwogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOwp9CgovKiBCdXp6IE91dCAqLwpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWJ1enotb3V0IHsKICAxMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7CiAgfQoKICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOwogIH0KCiAgMzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsKICB9CgogIDYwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7CiAgfQoKICA3MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpOwogIH0KCiAgOTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApOwogIH0KfQoKQGtleWZyYW1lcyBodnItYnV6ei1vdXQgewogIDEwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsKICB9CgogIDIwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7CiAgfQoKICAzMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOwogIH0KCiAgNTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsKICB9CgogIDcwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsKICB9CgogIDgwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7CiAgfQoKICA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpIHJvdGF0ZSgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7CiAgfQp9CgouaHZyLWJ1enotb3V0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwp9Ci5odnItYnV6ei1vdXQ6aG92ZXIsIC5odnItYnV6ei1vdXQ6Zm9jdXMsIC5odnItYnV6ei1vdXQ6YWN0aXZlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItYnV6ei1vdXQ7CiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1idXp6LW91dDsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1czsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7Cn0KCi8qIEJBQ0tHUk9VTkQgVFJBTlNJVElPTlMgKi8KLyogRmFkZSAqLwouaHZyLWZhZGUgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yOwp9Ci5odnItZmFkZTpob3ZlciwgLmh2ci1mYWRlOmZvY3VzLCAuaHZyLWZhZGU6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA5OGQxOwogIGNvbG9yOiB3aGl0ZTsKfQoKLyogU3dlZXAgVG8gUmlnaHQgKi8KLmh2ci1zd2VlcC10by1yaWdodCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKfQouaHZyLXN3ZWVwLXRvLXJpZ2h0OmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBiYWNrZ3JvdW5kOiAjMjA5OGQxOwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7CiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsKICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItc3dlZXAtdG8tcmlnaHQ6aG92ZXIsIC5odnItc3dlZXAtdG8tcmlnaHQ6Zm9jdXMsIC5odnItc3dlZXAtdG8tcmlnaHQ6YWN0aXZlIHsKICBjb2xvcjogd2hpdGU7Cn0KLmh2ci1zd2VlcC10by1yaWdodDpob3ZlcjpiZWZvcmUsIC5odnItc3dlZXAtdG8tcmlnaHQ6Zm9jdXM6YmVmb3JlLCAuaHZyLXN3ZWVwLXRvLXJpZ2h0OmFjdGl2ZTpiZWZvcmUgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7Cn0KCi8qIFN3ZWVwIFRvIExlZnQgKi8KLmh2ci1zd2VlcC10by1sZWZ0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwp9Ci5odnItc3dlZXAtdG8tbGVmdDpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAtMTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBib3R0b206IDA7CiAgYmFja2dyb3VuZDogIzIwOThkMTsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApOwogIHRyYW5zZm9ybTogc2NhbGVYKDApOwogIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLXN3ZWVwLXRvLWxlZnQ6aG92ZXIsIC5odnItc3dlZXAtdG8tbGVmdDpmb2N1cywgLmh2ci1zd2VlcC10by1sZWZ0OmFjdGl2ZSB7CiAgY29sb3I6IHdoaXRlOwp9Ci5odnItc3dlZXAtdG8tbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItc3dlZXAtdG8tbGVmdDpmb2N1czpiZWZvcmUsIC5odnItc3dlZXAtdG8tbGVmdDphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOwogIHRyYW5zZm9ybTogc2NhbGVYKDEpOwp9CgovKiBTd2VlcCBUbyBCb3R0b20gKi8KLmh2ci1zd2VlcC10by1ib3R0b20gewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7Cn0KLmh2ci1zd2VlcC10by1ib3R0b206YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogLTE7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgcmlnaHQ6IDA7CiAgYm90dG9tOiAwOwogIGJhY2tncm91bmQ6ICMyMDk4ZDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTsKICB0cmFuc2Zvcm06IHNjYWxlWSgwKTsKICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwOwogIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7Cn0KLmh2ci1zd2VlcC10by1ib3R0b206aG92ZXIsIC5odnItc3dlZXAtdG8tYm90dG9tOmZvY3VzLCAuaHZyLXN3ZWVwLXRvLWJvdHRvbTphY3RpdmUgewogIGNvbG9yOiB3aGl0ZTsKfQouaHZyLXN3ZWVwLXRvLWJvdHRvbTpob3ZlcjpiZWZvcmUsIC5odnItc3dlZXAtdG8tYm90dG9tOmZvY3VzOmJlZm9yZSwgLmh2ci1zd2VlcC10by1ib3R0b206YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTsKICB0cmFuc2Zvcm06IHNjYWxlWSgxKTsKfQoKLyogU3dlZXAgVG8gVG9wICovCi5odnItc3dlZXAtdG8tdG9wIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwp9Ci5odnItc3dlZXAtdG8tdG9wOmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBiYWNrZ3JvdW5kOiAjMjA5OGQxOwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7CiAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsKICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItc3dlZXAtdG8tdG9wOmhvdmVyLCAuaHZyLXN3ZWVwLXRvLXRvcDpmb2N1cywgLmh2ci1zd2VlcC10by10b3A6YWN0aXZlIHsKICBjb2xvcjogd2hpdGU7Cn0KLmh2ci1zd2VlcC10by10b3A6aG92ZXI6YmVmb3JlLCAuaHZyLXN3ZWVwLXRvLXRvcDpmb2N1czpiZWZvcmUsIC5odnItc3dlZXAtdG8tdG9wOmFjdGl2ZTpiZWZvcmUgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7Cn0KCi8qIEJvdW5jZSBUbyBSaWdodCAqLwouaHZyLWJvdW5jZS10by1yaWdodCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsKfQouaHZyLWJvdW5jZS10by1yaWdodDpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAtMTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBib3R0b206IDA7CiAgYmFja2dyb3VuZDogIzIwOThkMTsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApOwogIHRyYW5zZm9ybTogc2NhbGVYKDApOwogIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLWJvdW5jZS10by1yaWdodDpob3ZlciwgLmh2ci1ib3VuY2UtdG8tcmlnaHQ6Zm9jdXMsIC5odnItYm91bmNlLXRvLXJpZ2h0OmFjdGl2ZSB7CiAgY29sb3I6IHdoaXRlOwp9Ci5odnItYm91bmNlLXRvLXJpZ2h0OmhvdmVyOmJlZm9yZSwgLmh2ci1ib3VuY2UtdG8tcmlnaHQ6Zm9jdXM6YmVmb3JlLCAuaHZyLWJvdW5jZS10by1yaWdodDphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOwogIHRyYW5zZm9ybTogc2NhbGVYKDEpOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTIsIDEuNjQsIDAuMzcsIDAuNjYpOwp9CgovKiBCb3VuY2UgVG8gTGVmdCAqLwouaHZyLWJvdW5jZS10by1sZWZ0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOwp9Ci5odnItYm91bmNlLXRvLWxlZnQ6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogLTE7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgcmlnaHQ6IDA7CiAgYm90dG9tOiAwOwogIGJhY2tncm91bmQ6ICMyMDk4ZDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTsKICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsKICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlOwogIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsKICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7Cn0KLmh2ci1ib3VuY2UtdG8tbGVmdDpob3ZlciwgLmh2ci1ib3VuY2UtdG8tbGVmdDpmb2N1cywgLmh2ci1ib3VuY2UtdG8tbGVmdDphY3RpdmUgewogIGNvbG9yOiB3aGl0ZTsKfQouaHZyLWJvdW5jZS10by1sZWZ0OmhvdmVyOmJlZm9yZSwgLmh2ci1ib3VuY2UtdG8tbGVmdDpmb2N1czpiZWZvcmUsIC5odnItYm91bmNlLXRvLWxlZnQ6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTsKICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTsKfQoKLyogQm91bmNlIFRvIEJvdHRvbSAqLwouaHZyLWJvdW5jZS10by1ib3R0b20gewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7Cn0KLmh2ci1ib3VuY2UtdG8tYm90dG9tOmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBiYWNrZ3JvdW5kOiAjMjA5OGQxOwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7CiAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsKICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItYm91bmNlLXRvLWJvdHRvbTpob3ZlciwgLmh2ci1ib3VuY2UtdG8tYm90dG9tOmZvY3VzLCAuaHZyLWJvdW5jZS10by1ib3R0b206YWN0aXZlIHsKICBjb2xvcjogd2hpdGU7Cn0KLmh2ci1ib3VuY2UtdG8tYm90dG9tOmhvdmVyOmJlZm9yZSwgLmh2ci1ib3VuY2UtdG8tYm90dG9tOmZvY3VzOmJlZm9yZSwgLmh2ci1ib3VuY2UtdG8tYm90dG9tOmFjdGl2ZTpiZWZvcmUgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTIsIDEuNjQsIDAuMzcsIDAuNjYpOwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7Cn0KCi8qIEJvdW5jZSBUbyBUb3AgKi8KLmh2ci1ib3VuY2UtdG8tdG9wIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOwp9Ci5odnItYm91bmNlLXRvLXRvcDpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAtMTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBib3R0b206IDA7CiAgYmFja2dyb3VuZDogIzIwOThkMTsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDApOwogIHRyYW5zZm9ybTogc2NhbGVZKDApOwogIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLWJvdW5jZS10by10b3A6aG92ZXIsIC5odnItYm91bmNlLXRvLXRvcDpmb2N1cywgLmh2ci1ib3VuY2UtdG8tdG9wOmFjdGl2ZSB7CiAgY29sb3I6IHdoaXRlOwp9Ci5odnItYm91bmNlLXRvLXRvcDpob3ZlcjpiZWZvcmUsIC5odnItYm91bmNlLXRvLXRvcDpmb2N1czpiZWZvcmUsIC5odnItYm91bmNlLXRvLXRvcDphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOwogIHRyYW5zZm9ybTogc2NhbGVZKDEpOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTIsIDEuNjQsIDAuMzcsIDAuNjYpOwp9CgovKiBSYWRpYWwgT3V0ICovCi5odnItcmFkaWFsLW91dCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBiYWNrZ3JvdW5kOiAjZTFlMWUxOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7Cn0KLmh2ci1yYWRpYWwtb3V0OmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBiYWNrZ3JvdW5kOiAjMjA5OGQxOwogIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOwogIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLXJhZGlhbC1vdXQ6aG92ZXIsIC5odnItcmFkaWFsLW91dDpmb2N1cywgLmh2ci1yYWRpYWwtb3V0OmFjdGl2ZSB7CiAgY29sb3I6IHdoaXRlOwp9Ci5odnItcmFkaWFsLW91dDpob3ZlcjpiZWZvcmUsIC5odnItcmFkaWFsLW91dDpmb2N1czpiZWZvcmUsIC5odnItcmFkaWFsLW91dDphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMik7CiAgdHJhbnNmb3JtOiBzY2FsZSgyKTsKfQoKLyogUmFkaWFsIEluICovCi5odnItcmFkaWFsLWluIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwogIGJhY2tncm91bmQ6ICMyMDk4ZDE7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKfQouaHZyLXJhZGlhbC1pbjpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAtMTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBib3R0b206IDA7CiAgYmFja2dyb3VuZDogI2UxZTFlMTsKICBib3JkZXItcmFkaXVzOiAxMDAlOwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgyKTsKICB0cmFuc2Zvcm06IHNjYWxlKDIpOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7Cn0KLmh2ci1yYWRpYWwtaW46aG92ZXIsIC5odnItcmFkaWFsLWluOmZvY3VzLCAuaHZyLXJhZGlhbC1pbjphY3RpdmUgewogIGNvbG9yOiB3aGl0ZTsKfQouaHZyLXJhZGlhbC1pbjpob3ZlcjpiZWZvcmUsIC5odnItcmFkaWFsLWluOmZvY3VzOmJlZm9yZSwgLmh2ci1yYWRpYWwtaW46YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOwogIHRyYW5zZm9ybTogc2NhbGUoMCk7Cn0KCi8qIFJlY3RhbmdsZSBJbiAqLwouaHZyLXJlY3RhbmdsZS1pbiB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgYmFja2dyb3VuZDogIzIwOThkMTsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwp9Ci5odnItcmVjdGFuZ2xlLWluOmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBiYWNrZ3JvdW5kOiAjZTFlMWUxOwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7Cn0KLmh2ci1yZWN0YW5nbGUtaW46aG92ZXIsIC5odnItcmVjdGFuZ2xlLWluOmZvY3VzLCAuaHZyLXJlY3RhbmdsZS1pbjphY3RpdmUgewogIGNvbG9yOiB3aGl0ZTsKfQouaHZyLXJlY3RhbmdsZS1pbjpob3ZlcjpiZWZvcmUsIC5odnItcmVjdGFuZ2xlLWluOmZvY3VzOmJlZm9yZSwgLmh2ci1yZWN0YW5nbGUtaW46YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOwogIHRyYW5zZm9ybTogc2NhbGUoMCk7Cn0KCi8qIFJlY3RhbmdsZSBPdXQgKi8KLmh2ci1yZWN0YW5nbGUtb3V0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBiYWNrZ3JvdW5kOiAjZTFlMWUxOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7Cn0KLmh2ci1yZWN0YW5nbGUtb3V0OmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBiYWNrZ3JvdW5kOiAjMjA5OGQxOwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsKICB0cmFuc2Zvcm06IHNjYWxlKDApOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7Cn0KLmh2ci1yZWN0YW5nbGUtb3V0OmhvdmVyLCAuaHZyLXJlY3RhbmdsZS1vdXQ6Zm9jdXMsIC5odnItcmVjdGFuZ2xlLW91dDphY3RpdmUgewogIGNvbG9yOiB3aGl0ZTsKfQouaHZyLXJlY3RhbmdsZS1vdXQ6aG92ZXI6YmVmb3JlLCAuaHZyLXJlY3RhbmdsZS1vdXQ6Zm9jdXM6YmVmb3JlLCAuaHZyLXJlY3RhbmdsZS1vdXQ6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7Cn0KCi8qIFNodXR0ZXIgSW4gSG9yaXpvbnRhbCAqLwouaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgYmFja2dyb3VuZDogIzIwOThkMTsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwp9Ci5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIHRvcDogMDsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBiYWNrZ3JvdW5kOiAjZTFlMWUxOwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7Cn0KLmh2ci1zaHV0dGVyLWluLWhvcml6b250YWw6aG92ZXIsIC5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmZvY3VzLCAuaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbDphY3RpdmUgewogIGNvbG9yOiB3aGl0ZTsKfQouaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbDpob3ZlcjpiZWZvcmUsIC5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmZvY3VzOmJlZm9yZSwgLmh2ci1zaHV0dGVyLWluLWhvcml6b250YWw6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTsKICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsKfQoKLyogU2h1dHRlciBPdXQgSG9yaXpvbnRhbCAqLwouaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJhY2tncm91bmQ6ICNlMWUxZTE7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKfQouaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogLTE7CiAgdG9wOiAwOwogIGJvdHRvbTogMDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIGJhY2tncm91bmQ6ICMyMDk4ZDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTsKICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsKICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTsKICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6aG92ZXIsIC5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbDpmb2N1cywgLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmFjdGl2ZSB7CiAgY29sb3I6IHdoaXRlOwp9Ci5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbDpob3ZlcjpiZWZvcmUsIC5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbDpmb2N1czpiZWZvcmUsIC5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbDphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOwogIHRyYW5zZm9ybTogc2NhbGVYKDEpOwp9CgovKiBTaHV0dGVyIEluIFZlcnRpY2FsICovCi5odnItc2h1dHRlci1pbi12ZXJ0aWNhbCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgYmFja2dyb3VuZDogIzIwOThkMTsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwp9Ci5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAtMTsKICB0b3A6IDA7CiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7CiAgcmlnaHQ6IDA7CiAgYmFja2dyb3VuZDogI2UxZTFlMTsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOwogIHRyYW5zZm9ybTogc2NhbGVZKDEpOwogIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlOwogIHRyYW5zZm9ybS1vcmlnaW46IDUwJTsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDpob3ZlciwgLmh2ci1zaHV0dGVyLWluLXZlcnRpY2FsOmZvY3VzLCAuaHZyLXNodXR0ZXItaW4tdmVydGljYWw6YWN0aXZlIHsKICBjb2xvcjogd2hpdGU7Cn0KLmh2ci1zaHV0dGVyLWluLXZlcnRpY2FsOmhvdmVyOmJlZm9yZSwgLmh2ci1zaHV0dGVyLWluLXZlcnRpY2FsOmZvY3VzOmJlZm9yZSwgLmh2ci1zaHV0dGVyLWluLXZlcnRpY2FsOmFjdGl2ZTpiZWZvcmUgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7CiAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7Cn0KCi8qIFNodXR0ZXIgT3V0IFZlcnRpY2FsICovCi5odnItc2h1dHRlci1vdXQtdmVydGljYWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJhY2tncm91bmQ6ICNlMWUxZTE7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKfQouaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIHRvcDogMDsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBiYWNrZ3JvdW5kOiAjMjA5OGQxOwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7CiAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7Cn0KLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbDpob3ZlciwgLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbDpmb2N1cywgLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbDphY3RpdmUgewogIGNvbG9yOiB3aGl0ZTsKfQouaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmhvdmVyOmJlZm9yZSwgLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbDpmb2N1czpiZWZvcmUsIC5odnItc2h1dHRlci1vdXQtdmVydGljYWw6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTsKICB0cmFuc2Zvcm06IHNjYWxlWSgxKTsKfQoKLyogQk9SREVSIFRSQU5TSVRJT05TICovCi8qIEJvcmRlciBGYWRlICovCi5odnItYm9yZGVyLWZhZGUgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93OwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICNlMWUxZTEsIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAvKiBIYWNrIHRvIGltcHJvdmUgYWxpYXNpbmcgb24gbW9iaWxlL3RhYmxldCBkZXZpY2VzICovCn0KLmh2ci1ib3JkZXItZmFkZTpob3ZlciwgLmh2ci1ib3JkZXItZmFkZTpmb2N1cywgLmh2ci1ib3JkZXItZmFkZTphY3RpdmUgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCAjMjA5OGQxLCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLyogSGFjayB0byBpbXByb3ZlIGFsaWFzaW5nIG9uIG1vYmlsZS90YWJsZXQgZGV2aWNlcyAqLwp9CgovKiBIb2xsb3cgKi8KLmh2ci1ob2xsb3cgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICNlMWUxZTEsIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAvKiBIYWNrIHRvIGltcHJvdmUgYWxpYXNpbmcgb24gbW9iaWxlL3RhYmxldCBkZXZpY2VzICovCn0KLmh2ci1ob2xsb3c6aG92ZXIsIC5odnItaG9sbG93OmZvY3VzLCAuaHZyLWhvbGxvdzphY3RpdmUgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KCi8qIFRyaW0gKi8KLmh2ci10cmltIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouaHZyLXRyaW06YmVmb3JlIHsKICBjb250ZW50OiAnJzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgYm9yZGVyOiB3aGl0ZSBzb2xpZCA0cHg7CiAgdG9wOiA0cHg7CiAgbGVmdDogNHB4OwogIHJpZ2h0OiA0cHg7CiAgYm90dG9tOiA0cHg7CiAgb3BhY2l0eTogMDsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsKfQouaHZyLXRyaW06aG92ZXI6YmVmb3JlLCAuaHZyLXRyaW06Zm9jdXM6YmVmb3JlLCAuaHZyLXRyaW06YWN0aXZlOmJlZm9yZSB7CiAgb3BhY2l0eTogMTsKfQoKLyogUmlwcGxlIE91dCAqLwpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXJpcHBsZS1vdXQgewogIDEwMCUgewogICAgdG9wOiAtMTJweDsKICAgIHJpZ2h0OiAtMTJweDsKICAgIGJvdHRvbTogLTEycHg7CiAgICBsZWZ0OiAtMTJweDsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1yaXBwbGUtb3V0IHsKICAxMDAlIHsKICAgIHRvcDogLTEycHg7CiAgICByaWdodDogLTEycHg7CiAgICBib3R0b206IC0xMnB4OwogICAgbGVmdDogLTEycHg7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLmh2ci1yaXBwbGUtb3V0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouaHZyLXJpcHBsZS1vdXQ6YmVmb3JlIHsKICBjb250ZW50OiAnJzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgYm9yZGVyOiAjZTFlMWUxIHNvbGlkIDZweDsKICB0b3A6IDA7CiAgcmlnaHQ6IDA7CiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7CiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7Cn0KLmh2ci1yaXBwbGUtb3V0OmhvdmVyOmJlZm9yZSwgLmh2ci1yaXBwbGUtb3V0OmZvY3VzOmJlZm9yZSwgLmh2ci1yaXBwbGUtb3V0OmFjdGl2ZTpiZWZvcmUgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1yaXBwbGUtb3V0OwogIGFuaW1hdGlvbi1uYW1lOiBodnItcmlwcGxlLW91dDsKfQoKLyogUmlwcGxlIEluICovCkAtd2Via2l0LWtleWZyYW1lcyBodnItcmlwcGxlLWluIHsKICAxMDAlIHsKICAgIHRvcDogMDsKICAgIHJpZ2h0OiAwOwogICAgYm90dG9tOiAwOwogICAgbGVmdDogMDsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1yaXBwbGUtaW4gewogIDEwMCUgewogICAgdG9wOiAwOwogICAgcmlnaHQ6IDA7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCi5odnItcmlwcGxlLWluIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouaHZyLXJpcHBsZS1pbjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBib3JkZXI6ICNlMWUxZTEgc29saWQgNHB4OwogIHRvcDogLTEycHg7CiAgcmlnaHQ6IC0xMnB4OwogIGJvdHRvbTogLTEycHg7CiAgbGVmdDogLTEycHg7CiAgb3BhY2l0eTogMDsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKfQouaHZyLXJpcHBsZS1pbjpob3ZlcjpiZWZvcmUsIC5odnItcmlwcGxlLWluOmZvY3VzOmJlZm9yZSwgLmh2ci1yaXBwbGUtaW46YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXJpcHBsZS1pbjsKICBhbmltYXRpb24tbmFtZTogaHZyLXJpcHBsZS1pbjsKfQoKLyogT3V0bGluZSBPdXQgKi8KLmh2ci1vdXRsaW5lLW91dCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmh2ci1vdXRsaW5lLW91dDpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBib3JkZXI6ICNlMWUxZTEgc29saWQgNHB4OwogIHRvcDogMDsKICByaWdodDogMDsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdDsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQ7Cn0KLmh2ci1vdXRsaW5lLW91dDpob3ZlcjpiZWZvcmUsIC5odnItb3V0bGluZS1vdXQ6Zm9jdXM6YmVmb3JlLCAuaHZyLW91dGxpbmUtb3V0OmFjdGl2ZTpiZWZvcmUgewogIHRvcDogLThweDsKICByaWdodDogLThweDsKICBib3R0b206IC04cHg7CiAgbGVmdDogLThweDsKfQoKLyogT3V0bGluZSBJbiAqLwouaHZyLW91dGxpbmUtaW4gewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5odnItb3V0bGluZS1pbjpiZWZvcmUgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIGNvbnRlbnQ6ICcnOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBib3JkZXI6ICNlMWUxZTEgc29saWQgNHB4OwogIHRvcDogLTE2cHg7CiAgcmlnaHQ6IC0xNnB4OwogIGJvdHRvbTogLTE2cHg7CiAgbGVmdDogLTE2cHg7CiAgb3BhY2l0eTogMDsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdDsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQ7Cn0KLmh2ci1vdXRsaW5lLWluOmhvdmVyOmJlZm9yZSwgLmh2ci1vdXRsaW5lLWluOmZvY3VzOmJlZm9yZSwgLmh2ci1vdXRsaW5lLWluOmFjdGl2ZTpiZWZvcmUgewogIHRvcDogLThweDsKICByaWdodDogLThweDsKICBib3R0b206IC04cHg7CiAgbGVmdDogLThweDsKICBvcGFjaXR5OiAxOwp9CgovKiBSb3VuZCBDb3JuZXJzICovCi5odnItcm91bmQtY29ybmVycyB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlci1yYWRpdXM7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLXJhZGl1czsKfQouaHZyLXJvdW5kLWNvcm5lcnM6aG92ZXIsIC5odnItcm91bmQtY29ybmVyczpmb2N1cywgLmh2ci1yb3VuZC1jb3JuZXJzOmFjdGl2ZSB7CiAgYm9yZGVyLXJhZGl1czogMWVtOwp9CgovKiBVbmRlcmxpbmUgRnJvbSBMZWZ0ICovCi5odnItdW5kZXJsaW5lLWZyb20tbGVmdCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQouaHZyLXVuZGVybGluZS1mcm9tLWxlZnQ6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogLTE7CiAgbGVmdDogMDsKICByaWdodDogMTAwJTsKICBib3R0b206IDA7CiAgYmFja2dyb3VuZDogIzIwOThkMTsKICBoZWlnaHQ6IDRweDsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0OwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0OwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLXVuZGVybGluZS1mcm9tLWxlZnQ6aG92ZXI6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1mcm9tLWxlZnQ6Zm9jdXM6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1mcm9tLWxlZnQ6YWN0aXZlOmJlZm9yZSB7CiAgcmlnaHQ6IDA7Cn0KCi8qIFVuZGVybGluZSBGcm9tIENlbnRlciAqLwouaHZyLXVuZGVybGluZS1mcm9tLWNlbnRlciB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQouaHZyLXVuZGVybGluZS1mcm9tLWNlbnRlcjpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAtMTsKICBsZWZ0OiA1MCU7CiAgcmlnaHQ6IDUwJTsKICBib3R0b206IDA7CiAgYmFja2dyb3VuZDogIzIwOThkMTsKICBoZWlnaHQ6IDRweDsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0OwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0OwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLXVuZGVybGluZS1mcm9tLWNlbnRlcjpob3ZlcjpiZWZvcmUsIC5odnItdW5kZXJsaW5lLWZyb20tY2VudGVyOmZvY3VzOmJlZm9yZSwgLmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXI6YWN0aXZlOmJlZm9yZSB7CiAgbGVmdDogMDsKICByaWdodDogMDsKfQoKLyogVW5kZXJsaW5lIEZyb20gUmlnaHQgKi8KLmh2ci11bmRlcmxpbmUtZnJvbS1yaWdodCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQouaHZyLXVuZGVybGluZS1mcm9tLXJpZ2h0OmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIGxlZnQ6IDEwMCU7CiAgcmlnaHQ6IDA7CiAgYm90dG9tOiAwOwogIGJhY2tncm91bmQ6ICMyMDk4ZDE7CiAgaGVpZ2h0OiA0cHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0OwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItdW5kZXJsaW5lLWZyb20tcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1mcm9tLXJpZ2h0OmZvY3VzOmJlZm9yZSwgLmh2ci11bmRlcmxpbmUtZnJvbS1yaWdodDphY3RpdmU6YmVmb3JlIHsKICBsZWZ0OiAwOwp9CgovKiBPdmVybGluZSBGcm9tIExlZnQgKi8KLmh2ci1vdmVybGluZS1mcm9tLWxlZnQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmh2ci1vdmVybGluZS1mcm9tLWxlZnQ6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogLTE7CiAgbGVmdDogMDsKICByaWdodDogMTAwJTsKICB0b3A6IDA7CiAgYmFja2dyb3VuZDogIzIwOThkMTsKICBoZWlnaHQ6IDRweDsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0OwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0OwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLW92ZXJsaW5lLWZyb20tbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItb3ZlcmxpbmUtZnJvbS1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1vdmVybGluZS1mcm9tLWxlZnQ6YWN0aXZlOmJlZm9yZSB7CiAgcmlnaHQ6IDA7Cn0KCi8qIE92ZXJsaW5lIEZyb20gQ2VudGVyICovCi5odnItb3ZlcmxpbmUtZnJvbS1jZW50ZXIgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmh2ci1vdmVybGluZS1mcm9tLWNlbnRlcjpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAtMTsKICBsZWZ0OiA1MCU7CiAgcmlnaHQ6IDUwJTsKICB0b3A6IDA7CiAgYmFja2dyb3VuZDogIzIwOThkMTsKICBoZWlnaHQ6IDRweDsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0OwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0OwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLW92ZXJsaW5lLWZyb20tY2VudGVyOmhvdmVyOmJlZm9yZSwgLmh2ci1vdmVybGluZS1mcm9tLWNlbnRlcjpmb2N1czpiZWZvcmUsIC5odnItb3ZlcmxpbmUtZnJvbS1jZW50ZXI6YWN0aXZlOmJlZm9yZSB7CiAgbGVmdDogMDsKICByaWdodDogMDsKfQoKLyogT3ZlcmxpbmUgRnJvbSBSaWdodCAqLwouaHZyLW92ZXJsaW5lLWZyb20tcmlnaHQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmh2ci1vdmVybGluZS1mcm9tLXJpZ2h0OmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIGxlZnQ6IDEwMCU7CiAgcmlnaHQ6IDA7CiAgdG9wOiAwOwogIGJhY2tncm91bmQ6ICMyMDk4ZDE7CiAgaGVpZ2h0OiA0cHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0OwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItb3ZlcmxpbmUtZnJvbS1yaWdodDpob3ZlcjpiZWZvcmUsIC5odnItb3ZlcmxpbmUtZnJvbS1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItb3ZlcmxpbmUtZnJvbS1yaWdodDphY3RpdmU6YmVmb3JlIHsKICBsZWZ0OiAwOwp9CgovKiBSZXZlYWwgKi8KLmh2ci1yZXZlYWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmh2ci1yZXZlYWw6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogLTE7CiAgbGVmdDogMDsKICByaWdodDogMDsKICB0b3A6IDA7CiAgYm90dG9tOiAwOwogIGJvcmRlci1jb2xvcjogIzIwOThkMTsKICBib3JkZXItc3R5bGU6IHNvbGlkOwogIGJvcmRlci13aWR0aDogMDsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlci13aWR0aDsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItd2lkdGg7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItcmV2ZWFsOmhvdmVyOmJlZm9yZSwgLmh2ci1yZXZlYWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXJldmVhbDphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgYm9yZGVyLXdpZHRoOiA0cHg7Cn0KCi8qIFVuZGVybGluZSBSZXZlYWwgKi8KLmh2ci11bmRlcmxpbmUtcmV2ZWFsIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5odnItdW5kZXJsaW5lLXJldmVhbDpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAtMTsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBiYWNrZ3JvdW5kOiAjMjA5OGQxOwogIGhlaWdodDogNHB4OwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLXVuZGVybGluZS1yZXZlYWw6aG92ZXI6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1yZXZlYWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1yZXZlYWw6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwp9CgovKiBPdmVybGluZSBSZXZlYWwgKi8KLmh2ci1vdmVybGluZS1yZXZlYWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmh2ci1vdmVybGluZS1yZXZlYWw6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogLTE7CiAgbGVmdDogMDsKICByaWdodDogMDsKICB0b3A6IDA7CiAgYmFja2dyb3VuZDogIzIwOThkMTsKICBoZWlnaHQ6IDRweDsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLW92ZXJsaW5lLXJldmVhbDpob3ZlcjpiZWZvcmUsIC5odnItb3ZlcmxpbmUtcmV2ZWFsOmZvY3VzOmJlZm9yZSwgLmh2ci1vdmVybGluZS1yZXZlYWw6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwp9CgovKiBTSEFET1cvR0xPVyBUUkFOU0lUSU9OUyAqLwovKiBHbG93ICovCi5odnItZ2xvdyB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdzsKfQouaHZyLWdsb3c6aG92ZXIsIC5odnItZ2xvdzpmb2N1cywgLmh2ci1nbG93OmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7Cn0KCi8qIFNoYWRvdyAqLwouaHZyLXNoYWRvdyB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdzsKfQouaHZyLXNoYWRvdzpob3ZlciwgLmh2ci1zaGFkb3c6Zm9jdXMsIC5odnItc2hhZG93OmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjUpOwp9CgovKiBHcm93IFNoYWRvdyAqLwouaHZyLWdyb3ctc2hhZG93IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdywgdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3csIHRyYW5zZm9ybTsKfQouaHZyLWdyb3ctc2hhZG93OmhvdmVyLCAuaHZyLWdyb3ctc2hhZG93OmZvY3VzLCAuaHZyLWdyb3ctc2hhZG93OmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjUpOwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKfQoKLyogQm94IFNoYWRvdyBPdXRzZXQgKi8KLmh2ci1ib3gtc2hhZG93LW91dHNldCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdzsKfQouaHZyLWJveC1zaGFkb3ctb3V0c2V0OmhvdmVyLCAuaHZyLWJveC1zaGFkb3ctb3V0c2V0OmZvY3VzLCAuaHZyLWJveC1zaGFkb3ctb3V0c2V0OmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogMnB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpOwp9CgovKiBCb3ggU2hhZG93IEluc2V0ICovCi5odnItYm94LXNoYWRvdy1pbnNldCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdzsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuNiksIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAvKiBIYWNrIHRvIGltcHJvdmUgYWxpYXNpbmcgb24gbW9iaWxlL3RhYmxldCBkZXZpY2VzICovCn0KLmh2ci1ib3gtc2hhZG93LWluc2V0OmhvdmVyLCAuaHZyLWJveC1zaGFkb3ctaW5zZXQ6Zm9jdXMsIC5odnItYm94LXNoYWRvdy1pbnNldDphY3RpdmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KSwgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC8qIEhhY2sgdG8gaW1wcm92ZSBhbGlhc2luZyBvbiBtb2JpbGUvdGFibGV0IGRldmljZXMgKi8KfQoKLyogRmxvYXQgU2hhZG93ICovCi5odnItZmxvYXQtc2hhZG93IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07Cn0KLmh2ci1mbG9hdC1zaGFkb3c6YmVmb3JlIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogLTE7CiAgY29udGVudDogJyc7CiAgdG9wOiAxMDAlOwogIGxlZnQ6IDUlOwogIGhlaWdodDogMTBweDsKICB3aWR0aDogOTAlOwogIG9wYWNpdHk6IDA7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlLCByZ2JhKDAsIDAsIDAsIDAuMzUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7CiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCByZ2JhKDAsIDAsIDAsIDAuMzUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7CiAgLyogVzNDICovCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5Owp9Ci5odnItZmxvYXQtc2hhZG93OmhvdmVyLCAuaHZyLWZsb2F0LXNoYWRvdzpmb2N1cywgLmh2ci1mbG9hdC1zaGFkb3c6YWN0aXZlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7CiAgLyogbW92ZSB0aGUgZWxlbWVudCB1cCBieSA1cHggKi8KfQouaHZyLWZsb2F0LXNoYWRvdzpob3ZlcjpiZWZvcmUsIC5odnItZmxvYXQtc2hhZG93OmZvY3VzOmJlZm9yZSwgLmh2ci1mbG9hdC1zaGFkb3c6YWN0aXZlOmJlZm9yZSB7CiAgb3BhY2l0eTogMTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpOwogIC8qIG1vdmUgdGhlIGVsZW1lbnQgZG93biBieSA1cHggKGl0IHdpbGwgc3RheSBpbiBwbGFjZSBiZWNhdXNlIGl0J3MgYXR0YWNoZWQgdG8gdGhlIGVsZW1lbnQgdGhhdCBhbHNvIG1vdmVzIHVwIDVweCkgKi8KfQoKLyogU2hhZG93IFJhZGlhbCAqLwouaHZyLXNoYWRvdy1yYWRpYWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5odnItc2hhZG93LXJhZGlhbDpiZWZvcmUsIC5odnItc2hhZG93LXJhZGlhbDphZnRlciB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGNvbnRlbnQ6ICcnOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGhlaWdodDogNXB4OwogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OwogIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7Cn0KLmh2ci1zaGFkb3ctcmFkaWFsOmJlZm9yZSB7CiAgYm90dG9tOiAxMDAlOwogIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KDUwJSAxNTAlLCBlbGxpcHNlLCByZ2JhKDAsIDAsIDAsIDAuNikgMCUsIHJnYmEoMCwgMCwgMCwgMCkgODAlKTsKICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA1MCUgMTUwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7Cn0KLmh2ci1zaGFkb3ctcmFkaWFsOmFmdGVyIHsKICB0b3A6IDEwMCU7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoNTAlIC01MCUsIGVsbGlwc2UsIHJnYmEoMCwgMCwgMCwgMC42KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA4MCUpOwogIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDUwJSAtNTAlLCByZ2JhKDAsIDAsIDAsIDAuNikgMCUsIHJnYmEoMCwgMCwgMCwgMCkgODAlKTsKfQouaHZyLXNoYWRvdy1yYWRpYWw6aG92ZXI6YmVmb3JlLCAuaHZyLXNoYWRvdy1yYWRpYWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXNoYWRvdy1yYWRpYWw6YWN0aXZlOmJlZm9yZSwgLmh2ci1zaGFkb3ctcmFkaWFsOmhvdmVyOmFmdGVyLCAuaHZyLXNoYWRvdy1yYWRpYWw6Zm9jdXM6YWZ0ZXIsIC5odnItc2hhZG93LXJhZGlhbDphY3RpdmU6YWZ0ZXIgewogIG9wYWNpdHk6IDE7Cn0KCi8qIFNQRUVDSCBCVUJCTEVTICovCi8qIEJ1YmJsZSBUb3AgKi8KLmh2ci1idWJibGUtdG9wIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouaHZyLWJ1YmJsZS10b3A6YmVmb3JlIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogLTE7CiAgY29udGVudDogJyc7CiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgbGVmdDogY2FsYyg1MCUgLSAxMHB4KTsKICB0b3A6IDA7CiAgYm9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4OwogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2UxZTFlMSB0cmFuc3BhcmVudDsKfQouaHZyLWJ1YmJsZS10b3A6aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS10b3A6Zm9jdXM6YmVmb3JlLCAuaHZyLWJ1YmJsZS10b3A6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7Cn0KCi8qIEJ1YmJsZSBSaWdodCAqLwouaHZyLWJ1YmJsZS1yaWdodCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmh2ci1idWJibGUtcmlnaHQ6YmVmb3JlIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogLTE7CiAgY29udGVudDogJyc7CiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdG9wOiBjYWxjKDUwJSAtIDEwcHgpOwogIHJpZ2h0OiAwOwogIGJvcmRlci13aWR0aDogMTBweCAwIDEwcHggMTBweDsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNlMWUxZTE7Cn0KLmh2ci1idWJibGUtcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLXJpZ2h0OmFjdGl2ZTpiZWZvcmUgewogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsKfQoKLyogQnViYmxlIEJvdHRvbSAqLwouaHZyLWJ1YmJsZS1ib3R0b20gewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5odnItYnViYmxlLWJvdHRvbTpiZWZvcmUgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAtMTsKICBjb250ZW50OiAnJzsKICBib3JkZXItc3R5bGU6IHNvbGlkOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICBsZWZ0OiBjYWxjKDUwJSAtIDEwcHgpOwogIGJvdHRvbTogMDsKICBib3JkZXItd2lkdGg6IDEwcHggMTBweCAwIDEwcHg7CiAgYm9yZGVyLWNvbG9yOiAjZTFlMWUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50Owp9Ci5odnItYnViYmxlLWJvdHRvbTpob3ZlcjpiZWZvcmUsIC5odnItYnViYmxlLWJvdHRvbTpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLWJvdHRvbTphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7Cn0KCi8qIEJ1YmJsZSBMZWZ0ICovCi5odnItYnViYmxlLWxlZnQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5odnItYnViYmxlLWxlZnQ6YmVmb3JlIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogLTE7CiAgY29udGVudDogJyc7CiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdG9wOiBjYWxjKDUwJSAtIDEwcHgpOwogIGxlZnQ6IDA7CiAgYm9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMTBweCAwOwogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2UxZTFlMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsKfQouaHZyLWJ1YmJsZS1sZWZ0OmhvdmVyOmJlZm9yZSwgLmh2ci1idWJibGUtbGVmdDpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLWxlZnQ6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7Cn0KCi8qIEJ1YmJsZSBGbG9hdCBUb3AgKi8KLmh2ci1idWJibGUtZmxvYXQtdG9wIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07Cn0KLmh2ci1idWJibGUtZmxvYXQtdG9wOmJlZm9yZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIGNvbnRlbnQ6ICcnOwogIGxlZnQ6IGNhbGMoNTAlIC0gMTBweCk7CiAgdG9wOiAwOwogIGJvcmRlci1zdHlsZTogc29saWQ7CiAgYm9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4OwogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2UxZTFlMSB0cmFuc3BhcmVudDsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07Cn0KLmh2ci1idWJibGUtZmxvYXQtdG9wOmhvdmVyLCAuaHZyLWJ1YmJsZS1mbG9hdC10b3A6Zm9jdXMsIC5odnItYnViYmxlLWZsb2F0LXRvcDphY3RpdmUgewogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsKfQouaHZyLWJ1YmJsZS1mbG9hdC10b3A6aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS1mbG9hdC10b3A6Zm9jdXM6YmVmb3JlLCAuaHZyLWJ1YmJsZS1mbG9hdC10b3A6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7Cn0KCi8qIEJ1YmJsZSBGbG9hdCBSaWdodCAqLwouaHZyLWJ1YmJsZS1mbG9hdC1yaWdodCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwp9Ci5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmJlZm9yZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IC0xOwogIHRvcDogY2FsYyg1MCUgLSAxMHB4KTsKICByaWdodDogMDsKICBjb250ZW50OiAnJzsKICBib3JkZXItc3R5bGU6IHNvbGlkOwogIGJvcmRlci13aWR0aDogMTBweCAwIDEwcHggMTBweDsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNlMWUxZTE7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwp9Ci5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmhvdmVyLCAuaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDpmb2N1cywgLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6YWN0aXZlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsKfQouaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDpob3ZlcjpiZWZvcmUsIC5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmZvY3VzOmJlZm9yZSwgLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOwp9CgovKiBCdWJibGUgRmxvYXQgQm90dG9tICovCi5odnItYnViYmxlLWZsb2F0LWJvdHRvbSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwp9Ci5odnItYnViYmxlLWZsb2F0LWJvdHRvbTpiZWZvcmUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAtMTsKICBjb250ZW50OiAnJzsKICBsZWZ0OiBjYWxjKDUwJSAtIDEwcHgpOwogIGJvdHRvbTogMDsKICBib3JkZXItc3R5bGU6IHNvbGlkOwogIGJvcmRlci13aWR0aDogMTBweCAxMHB4IDAgMTBweDsKICBib3JkZXItY29sb3I6ICNlMWUxZTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwp9Ci5odnItYnViYmxlLWZsb2F0LWJvdHRvbTpob3ZlciwgLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmZvY3VzLCAuaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b206YWN0aXZlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsKfQouaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b206aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b206Zm9jdXM6YmVmb3JlLCAuaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b206YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOwp9CgovKiBCdWJibGUgRmxvYXQgTGVmdCAqLwouaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07Cn0KLmh2ci1idWJibGUtZmxvYXQtbGVmdDpiZWZvcmUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAtMTsKICBjb250ZW50OiAnJzsKICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7CiAgbGVmdDogMDsKICBib3JkZXItc3R5bGU6IHNvbGlkOwogIGJvcmRlci13aWR0aDogMTBweCAxMHB4IDEwcHggMDsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNlMWUxZTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwp9Ci5odnItYnViYmxlLWZsb2F0LWxlZnQ6aG92ZXIsIC5odnItYnViYmxlLWZsb2F0LWxlZnQ6Zm9jdXMsIC5odnItYnViYmxlLWZsb2F0LWxlZnQ6YWN0aXZlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7Cn0KLmh2ci1idWJibGUtZmxvYXQtbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItYnViYmxlLWZsb2F0LWxlZnQ6Zm9jdXM6YmVmb3JlLCAuaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmFjdGl2ZTpiZWZvcmUgewogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOwp9CgovKiBJQ09OUyAqLwovKiBJY29uIEJhY2sgKi8KLmh2ci1pY29uLWJhY2sgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctbGVmdDogMi4yZW07CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7Cn0KLmh2ci1pY29uLWJhY2s6YmVmb3JlIHsKICBjb250ZW50OiAiXGYxMzciOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBsZWZ0OiAxZW07CiAgcGFkZGluZzogMCAxcHg7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItaWNvbi1iYWNrOmhvdmVyOmJlZm9yZSwgLmh2ci1pY29uLWJhY2s6Zm9jdXM6YmVmb3JlLCAuaHZyLWljb24tYmFjazphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNHB4KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTRweCk7Cn0KCi8qIEljb24gRm9yd2FyZCAqLwouaHZyLWljb24tZm9yd2FyZCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1yaWdodDogMi4yZW07CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7Cn0KLmh2ci1pY29uLWZvcndhcmQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGYxMzgiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMWVtOwogIHBhZGRpbmc6IDAgMXB4OwogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLWljb24tZm9yd2FyZDpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1mb3J3YXJkOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLWZvcndhcmQ6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsKfQoKLyogSWNvbiBEb3duICovCkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1kb3duIHsKICAwJSwKICA1MCUsCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9CgogIDI1JSwKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOwogIH0KfQoKQGtleWZyYW1lcyBodnItaWNvbi1kb3duIHsKICAwJSwKICA1MCUsCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB9CgogIDI1JSwKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOwogIH0KfQoKLyogSWNvbiBEb3duICovCi5odnItaWNvbi1kb3duIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsKfQouaHZyLWljb24tZG93bjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjAxYSI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxZW07CiAgcGFkZGluZzogMCAxcHg7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKfQouaHZyLWljb24tZG93bjpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1kb3duOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLWRvd246YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tZG93bjsKICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tZG93bjsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1czsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9CgovKiBJY29uIFVwICovCkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi11cCB7CiAgMCUsCiAgNTAlLAogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQoKICAyNSUsCiAgNzUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOwogIH0KfQoKQGtleWZyYW1lcyBodnItaWNvbi11cCB7CiAgMCUsCiAgNTAlLAogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQoKICAyNSUsCiAgNzUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOwogIH0KfQoKLyogSWNvbiBVcCAqLwouaHZyLWljb24tdXAgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOwp9Ci5odnItaWNvbi11cDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjAxYiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxZW07CiAgcGFkZGluZzogMCAxcHg7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKfQouaHZyLWljb24tdXA6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tdXA6Zm9jdXM6YmVmb3JlLCAuaHZyLWljb24tdXA6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tdXA7CiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXVwOwogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1czsKICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzOwogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7Cn0KCi8qIEljb24gU3BpbiAqLwouaHZyLWljb24tc3BpbiB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1yaWdodDogMi4yZW07Cn0KLmh2ci1pY29uLXNwaW46YmVmb3JlIHsKICBjb250ZW50OiAiXGYwMjEiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMWVtOwogIHBhZGRpbmc6IDAgMXB4OwogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDFzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDFzOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7Cn0KLmh2ci1pY29uLXNwaW46aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tc3Bpbjpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1zcGluOmFjdGl2ZTpiZWZvcmUgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwp9CgovKiBJY29uIERyb3AgKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWRyb3AgewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQoKICA1MCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7CiAgfQoKICA1MSUsCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKQGtleWZyYW1lcyBodnItaWNvbi1kcm9wIHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgNTAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwogIH0KCiAgNTElLAogIDEwMCUgewogICAgb3BhY2l0eTogMTsKICB9Cn0KCi8qIEljb24gRHJvcCAqLwouaHZyLWljb24tZHJvcCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1yaWdodDogMi4yZW07Cn0KLmh2ci1pY29uLWRyb3A6YmVmb3JlIHsKICBjb250ZW50OiAiXGYwNDEiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMWVtOwogIG9wYWNpdHk6IDE7CiAgcGFkZGluZzogMCAxcHg7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKfQouaHZyLWljb24tZHJvcDpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1kcm9wOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLWRyb3A6YWN0aXZlOmJlZm9yZSB7CiAgb3BhY2l0eTogMDsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1kcm9wOwogIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1kcm9wOwogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41czsKICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4zczsKICBhbmltYXRpb24tZGVsYXk6IDAuM3M7CiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTIsIDEuNjQsIDAuMzcsIDAuNjYpOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTsKfQoKLyogSWNvbiBGYWRlICovCi5odnItaWNvbi1mYWRlIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsKfQouaHZyLWljb24tZmFkZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjAwYyI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxZW07CiAgcGFkZGluZzogMCAxcHg7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOwp9Ci5odnItaWNvbi1mYWRlOmhvdmVyOmJlZm9yZSwgLmh2ci1pY29uLWZhZGU6Zm9jdXM6YmVmb3JlLCAuaHZyLWljb24tZmFkZTphY3RpdmU6YmVmb3JlIHsKICBjb2xvcjogIzBGOUU1RTsKfQoKLyogSWNvbiBGbG9hdCBBd2F5ICovCkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1mbG9hdC1hd2F5IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFlbSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFlbSk7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1pY29uLWZsb2F0LWF3YXkgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICAxMDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMWVtKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMWVtKTsKICB9Cn0KCi8qIEljb24gRmxvYXQgQXdheSAqLwouaHZyLWljb24tZmxvYXQtYXdheSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1yaWdodDogMi4yZW07Cn0KLmh2ci1pY29uLWZsb2F0LWF3YXk6YmVmb3JlLCAuaHZyLWljb24tZmxvYXQtYXdheTphZnRlciB7CiAgY29udGVudDogIlxmMDU1IjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDFlbTsKICBwYWRkaW5nOiAwIDFweDsKICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cn0KLmh2ci1pY29uLWZsb2F0LWF3YXk6YWZ0ZXIgewogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzOwogIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7CiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7Cn0KLmh2ci1pY29uLWZsb2F0LWF3YXk6aG92ZXI6YWZ0ZXIsIC5odnItaWNvbi1mbG9hdC1hd2F5OmZvY3VzOmFmdGVyLCAuaHZyLWljb24tZmxvYXQtYXdheTphY3RpdmU6YWZ0ZXIgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWZsb2F0LWF3YXk7CiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWZsb2F0LWF3YXk7CiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQoKLyogSWNvbiBTaW5rIEF3YXkgKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXNpbmstYXdheSB7CiAgMCUgewogICAgb3BhY2l0eTogMTsKICB9CgogIDEwMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFlbSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMWVtKTsKICB9Cn0KCkBrZXlmcmFtZXMgaHZyLWljb24tc2luay1hd2F5IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMWVtKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxZW0pOwogIH0KfQoKLyogSWNvbiBTaW5rIEF3YXkgKi8KLmh2ci1pY29uLXNpbmstYXdheSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1yaWdodDogMi4yZW07Cn0KLmh2ci1pY29uLXNpbmstYXdheTpiZWZvcmUsIC5odnItaWNvbi1zaW5rLWF3YXk6YWZ0ZXIgewogIGNvbnRlbnQ6ICJcZjA1NiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxZW07CiAgcGFkZGluZzogMCAxcHg7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKfQouaHZyLWljb24tc2luay1hd2F5OmFmdGVyIHsKICBvcGFjaXR5OiAwOwogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41czsKICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwp9Ci5odnItaWNvbi1zaW5rLWF3YXk6aG92ZXI6YWZ0ZXIsIC5odnItaWNvbi1zaW5rLWF3YXk6Zm9jdXM6YWZ0ZXIsIC5odnItaWNvbi1zaW5rLWF3YXk6YWN0aXZlOmFmdGVyIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1zaW5rLWF3YXk7CiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXNpbmstYXdheTsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9CgovKiBJY29uIEdyb3cgKi8KLmh2ci1pY29uLWdyb3cgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwp9Ci5odnItaWNvbi1ncm93OmJlZm9yZSB7CiAgY29udGVudDogIlxmMTE4IjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDFlbTsKICBwYWRkaW5nOiAwIDFweDsKICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7Cn0KLmh2ci1pY29uLWdyb3c6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tZ3Jvdzpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1ncm93OmFjdGl2ZTpiZWZvcmUgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHRyYW5zbGF0ZVooMCk7Cn0KCi8qIEljb24gU2hyaW5rICovCi5odnItaWNvbi1zaHJpbmsgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwp9Ci5odnItaWNvbi1zaHJpbms6YmVmb3JlIHsKICBjb250ZW50OiAiXGYxMTkiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMWVtOwogIHBhZGRpbmc6IDAgMXB4OwogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLWljb24tc2hyaW5rOmhvdmVyOmJlZm9yZSwgLmh2ci1pY29uLXNocmluazpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1zaHJpbms6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwp9CgovKiBJY29uIFB1bHNlICovCkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1wdWxzZSB7CiAgMjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOwogIH0KCiAgNzUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIH0KfQoKQGtleWZyYW1lcyBodnItaWNvbi1wdWxzZSB7CiAgMjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOwogIH0KCiAgNzUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIH0KfQoKLmh2ci1pY29uLXB1bHNlIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsKfQouaHZyLWljb24tcHVsc2U6YmVmb3JlIHsKICBjb250ZW50OiAiXGYwMTUiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMWVtOwogIHBhZGRpbmc6IDAgMXB4OwogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItaWNvbi1wdWxzZTpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1wdWxzZTpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1wdWxzZTphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wdWxzZTsKICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tcHVsc2U7CiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7Cn0KCi8qIEljb24gUHVsc2UgR3JvdyAqLwpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tcHVsc2UtZ3JvdyB7CiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1pY29uLXB1bHNlLWdyb3cgewogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOwogIH0KfQoKLmh2ci1pY29uLXB1bHNlLWdyb3cgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOwp9Ci5odnItaWNvbi1wdWxzZS1ncm93OmJlZm9yZSB7CiAgY29udGVudDogIlxmMDE1IjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDFlbTsKICBwYWRkaW5nOiAwIDFweDsKICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLWljb24tcHVsc2UtZ3Jvdzpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1wdWxzZS1ncm93OmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLXB1bHNlLWdyb3c6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tcHVsc2UtZ3JvdzsKICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tcHVsc2UtZ3JvdzsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zczsKICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7CiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOwp9CgovKiBJY29uIFB1bHNlIFNocmluayAqLwpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tcHVsc2Utc2hyaW5rIHsKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsKICB9Cn0KCkBrZXlmcmFtZXMgaHZyLWljb24tcHVsc2Utc2hyaW5rIHsKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsKICB9Cn0KCi5odnItaWNvbi1wdWxzZS1zaHJpbmsgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOwp9Ci5odnItaWNvbi1wdWxzZS1zaHJpbms6YmVmb3JlIHsKICBjb250ZW50OiAiXGYwMTUiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMWVtOwogIHBhZGRpbmc6IDAgMXB4OwogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItaWNvbi1wdWxzZS1zaHJpbms6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tcHVsc2Utc2hyaW5rOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLXB1bHNlLXNocmluazphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wdWxzZS1zaHJpbms7CiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXB1bHNlLXNocmluazsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zczsKICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7CiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOwp9CgovKiBJY29uIFB1c2ggKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXB1c2ggewogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTsKICB9Cn0KCkBrZXlmcmFtZXMgaHZyLWljb24tcHVzaCB7CiAgNTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjUpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpOwogIH0KfQoKLmh2ci1pY29uLXB1c2ggewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwp9Ci5odnItaWNvbi1wdXNoOmJlZm9yZSB7CiAgY29udGVudDogIlxmMDA2IjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDFlbTsKICBwYWRkaW5nOiAwIDFweDsKICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7Cn0KLmh2ci1pY29uLXB1c2g6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tcHVzaDpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1wdXNoOmFjdGl2ZTpiZWZvcmUgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXB1c2g7CiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXB1c2g7CiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuM3M7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKfQoKLyogSWNvbiBQb3AgKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXBvcCB7CiAgNTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjUpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOwogIH0KfQoKQGtleWZyYW1lcyBodnItaWNvbi1wb3AgewogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsKICB9Cn0KCi5odnItaWNvbi1wb3AgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwp9Ci5odnItaWNvbi1wb3A6YmVmb3JlIHsKICBjb250ZW50OiAiXGYwMDUiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMWVtOwogIHBhZGRpbmc6IDAgMXB4OwogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLWljb24tcG9wOmhvdmVyOmJlZm9yZSwgLmh2ci1pY29uLXBvcDpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1wb3A6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tcG9wOwogIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wb3A7CiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuM3M7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKfQoKLyogSWNvbiBCb3VuY2UgKi8KLmh2ci1pY29uLWJvdW5jZSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1yaWdodDogMi4yZW07CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7Cn0KLmh2ci1pY29uLWJvdW5jZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjA4NyI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxZW07CiAgcGFkZGluZzogMCAxcHg7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItaWNvbi1ib3VuY2U6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tYm91bmNlOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLWJvdW5jZTphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDIuMDIsIDAuMzEsIC0wLjM2KTsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDIuMDIsIDAuMzEsIC0wLjM2KTsKfQoKLyogSWNvbiBSb3RhdGUgKi8KLmh2ci1pY29uLXJvdGF0ZSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1yaWdodDogMi4yZW07CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7Cn0KLmh2ci1pY29uLXJvdGF0ZTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjBjNiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxZW07CiAgcGFkZGluZzogMCAxcHg7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItaWNvbi1yb3RhdGU6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tcm90YXRlOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLXJvdGF0ZTphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7Cn0KCi8qIEljb24gR3JvdyBSb3RhdGUgKi8KLmh2ci1pY29uLWdyb3ctcm90YXRlIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKfQouaHZyLWljb24tZ3Jvdy1yb3RhdGU6YmVmb3JlIHsKICBjb250ZW50OiAiXGYwOTUiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMWVtOwogIHBhZGRpbmc6IDAgMXB4OwogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLWljb24tZ3Jvdy1yb3RhdGU6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tZ3Jvdy1yb3RhdGU6Zm9jdXM6YmVmb3JlLCAuaHZyLWljb24tZ3Jvdy1yb3RhdGU6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSkgcm90YXRlKDEyZGVnKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuNSkgcm90YXRlKDEyZGVnKTsKfQoKLyogSWNvbiBGbG9hdCAqLwouaHZyLWljb24tZmxvYXQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwp9Ci5odnItaWNvbi1mbG9hdDpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjAxYiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxZW07CiAgcGFkZGluZzogMCAxcHg7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9Ci5odnItaWNvbi1mbG9hdDpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1mbG9hdDpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1mbG9hdDphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7Cn0KCi8qIEljb24gU2luayAqLwouaHZyLWljb24tc2luayB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1yaWdodDogMi4yZW07CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7Cn0KLmh2ci1pY29uLXNpbms6YmVmb3JlIHsKICBjb250ZW50OiAiXGYwMWEiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMWVtOwogIHBhZGRpbmc6IDAgMXB4OwogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKfQouaHZyLWljb24tc2luazpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1zaW5rOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLXNpbms6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsKfQoKLyogSWNvbiBCb2IgKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWJvYiB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7CiAgfQoKICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOwogIH0KfQoKQGtleWZyYW1lcyBodnItaWNvbi1ib2IgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOwogIH0KCiAgNTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsKICB9Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1ib2ItZmxvYXQgewogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1pY29uLWJvYi1mbG9hdCB7CiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsKICB9Cn0KCi5odnItaWNvbi1ib2IgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwp9Ci5odnItaWNvbi1ib2I6YmVmb3JlIHsKICBjb250ZW50OiAiXGYwNzciOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMWVtOwogIHBhZGRpbmc6IDAgMXB4OwogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7Cn0KLmh2ci1pY29uLWJvYjpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1ib2I6Zm9jdXM6YmVmb3JlLCAuaHZyLWljb24tYm9iOmFjdGl2ZTpiZWZvcmUgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWJvYi1mbG9hdCwgaHZyLWljb24tYm9iOwogIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1ib2ItZmxvYXQsIGh2ci1pY29uLWJvYjsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzOwogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzOwogIGFuaW1hdGlvbi1kZWxheTogMHMsIC4zczsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0LCBlYXNlLWluLW91dDsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgZWFzZS1pbi1vdXQ7CiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTsKICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7Cn0KCi8qIEljb24gSGFuZyAqLwpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24taGFuZyB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOwogIH0KCiAgNTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOwogIH0KfQoKQGtleWZyYW1lcyBodnItaWNvbi1oYW5nIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7CiAgfQoKICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7CiAgfQp9CgpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24taGFuZy1zaW5rIHsKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsKICB9Cn0KCkBrZXlmcmFtZXMgaHZyLWljb24taGFuZy1zaW5rIHsKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsKICB9Cn0KCi5odnItaWNvbi1oYW5nIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKfQouaHZyLWljb24taGFuZzpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjA3OCI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxZW07CiAgcGFkZGluZzogMCAxcHg7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKfQouaHZyLWljb24taGFuZzpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1oYW5nOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLWhhbmc6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24taGFuZy1zaW5rLCBodnItaWNvbi1oYW5nOwogIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1oYW5nLXNpbmssIGh2ci1pY29uLWhhbmc7CiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC4zcywgMS41czsKICBhbmltYXRpb24tZHVyYXRpb246IC4zcywgMS41czsKICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMHMsIC4zczsKICBhbmltYXRpb24tZGVsYXk6IDBzLCAuM3M7CiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgZWFzZS1pbi1vdXQ7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQsIGVhc2UtaW4tb3V0OwogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSwgaW5maW5pdGU7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSwgaW5maW5pdGU7CiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbCwgYWx0ZXJuYXRlOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbCwgYWx0ZXJuYXRlOwp9CgovKiBJY29uIFdvYmJsZSBIb3Jpem9udGFsICovCkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi13b2JibGUtaG9yaXpvbnRhbCB7CiAgMTYuNjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsKICB9CgogIDMzLjMlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOwogIH0KCiAgNDkuOTUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsKICB9CgogIDY2LjYlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpOwogIH0KCiAgODMuMjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsIHsKICAxNi42NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOwogIH0KCiAgMzMuMyUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7CiAgfQoKICA0OS45NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOwogIH0KCiAgNjYuNiUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7CiAgfQoKICA4My4yNSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICB9Cn0KCi5odnItaWNvbi13b2JibGUtaG9yaXpvbnRhbCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1yaWdodDogMi4yZW07CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7Cn0KLmh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsOmJlZm9yZSB7CiAgY29udGVudDogIlxmMDYxIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDFlbTsKICBwYWRkaW5nOiAwIDFweDsKICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwp9Ci5odnItaWNvbi13b2JibGUtaG9yaXpvbnRhbDpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi13b2JibGUtaG9yaXpvbnRhbDpmb2N1czpiZWZvcmUsIC5odnItaWNvbi13b2JibGUtaG9yaXpvbnRhbDphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi13b2JibGUtaG9yaXpvbnRhbDsKICBhbmltYXRpb24tbmFtZTogaHZyLWljb24td29iYmxlLWhvcml6b250YWw7CiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKfQoKLyogSWNvbiBXb2JibGUgVmVydGljYWwgKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbCB7CiAgMTYuNjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsKICB9CgogIDMzLjMlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOwogIH0KCiAgNDkuOTUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsKICB9CgogIDY2LjYlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogIH0KCiAgODMuMjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbCB7CiAgMTYuNjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsKICB9CgogIDMzLjMlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOwogIH0KCiAgNDkuOTUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsKICB9CgogIDY2LjYlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogIH0KCiAgODMuMjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQp9CgouaHZyLWljb24td29iYmxlLXZlcnRpY2FsIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKfQouaHZyLWljb24td29iYmxlLXZlcnRpY2FsOmJlZm9yZSB7CiAgY29udGVudDogIlxmMDYyIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDFlbTsKICBwYWRkaW5nOiAwIDFweDsKICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwp9Ci5odnItaWNvbi13b2JibGUtdmVydGljYWw6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24td29iYmxlLXZlcnRpY2FsOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDphY3RpdmU6YmVmb3JlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi13b2JibGUtdmVydGljYWw7CiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwp9CgovKiBJY29uIEJ1enogKi8KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWJ1enogewogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsKICB9CgogIDEwMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOwogIH0KfQoKQGtleWZyYW1lcyBodnItaWNvbi1idXp6IHsKICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsKICB9Cn0KCi5odnItaWNvbi1idXp6IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKfQouaHZyLWljb24tYnV6ejpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjAxNyI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxZW07CiAgcGFkZGluZzogMCAxcHg7CiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKfQouaHZyLWljb24tYnV6ejpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1idXp6OmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLWJ1eno6YWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tYnV6ejsKICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tYnV6ejsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4xNXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjE1czsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKfQoKLyogSWNvbiBCdXp6IE91dCAqLwpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tYnV6ei1vdXQgewogIDEwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsKICB9CgogIDIwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7CiAgfQoKICAzMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOwogIH0KCiAgNTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsKICB9CgogIDcwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsKICB9CgogIDgwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7CiAgfQoKICA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7CiAgfQoKICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpIHJvdGF0ZSgwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGh2ci1pY29uLWJ1enotb3V0IHsKICAxMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7CiAgfQoKICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOwogIH0KCiAgMzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsKICB9CgogIDYwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7CiAgfQoKICA3MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpOwogIH0KCiAgOTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApOwogIH0KCiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApOwogIH0KfQoKLmh2ci1pY29uLWJ1enotb3V0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKfQouaHZyLWljb24tYnV6ei1vdXQ6YmVmb3JlIHsKICBjb250ZW50OiAiXGYwMjMiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMWVtOwogIHBhZGRpbmc6IDAgMXB4OwogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7Cn0KLmh2ci1pY29uLWJ1enotb3V0OmhvdmVyOmJlZm9yZSwgLmh2ci1pY29uLWJ1enotb3V0OmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLWJ1enotb3V0OmFjdGl2ZTpiZWZvcmUgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWJ1enotb3V0OwogIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1idXp6LW91dDsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1czsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7Cn0KCi8qIENVUkxTICovCi8qIEN1cmwgVG9wIExlZnQgKi8KLmh2ci1jdXJsLXRvcC1sZWZ0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouaHZyLWN1cmwtdG9wLWxlZnQ6YmVmb3JlIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgY29udGVudDogJyc7CiAgaGVpZ2h0OiAwOwogIHdpZHRoOiAwOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIGJhY2tncm91bmQ6IHdoaXRlOwogIC8qIElFOSAqLwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHdoaXRlIDQ1JSwgI2FhYWFhYSA1MCUsICNjY2NjY2MgNTYlLCB3aGl0ZSA4MCUpOwogIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLHN0YXJ0Q29sb3JzdHI9JyNmZmZmZmYnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMCcpOwogIC8qRm9yIElFNy04LTkqLwogIHotaW5kZXg6IDEwMDA7CiAgYm94LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0Owp9Ci5odnItY3VybC10b3AtbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItY3VybC10b3AtbGVmdDpmb2N1czpiZWZvcmUsIC5odnItY3VybC10b3AtbGVmdDphY3RpdmU6YmVmb3JlIHsKICB3aWR0aDogMjVweDsKICBoZWlnaHQ6IDI1cHg7Cn0KCi8qIEN1cmwgVG9wIFJpZ2h0ICovCi5odnItY3VybC10b3AtcmlnaHQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5odnItY3VybC10b3AtcmlnaHQ6YmVmb3JlIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgY29udGVudDogJyc7CiAgaGVpZ2h0OiAwOwogIHdpZHRoOiAwOwogIHRvcDogMDsKICByaWdodDogMDsKICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAvKiBJRTkgKi8KICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjI1ZGVnLCB3aGl0ZSA0NSUsICNhYWFhYWEgNTAlLCAjY2NjY2NjIDU2JSwgd2hpdGUgODAlKTsKICBib3gtc2hhZG93OiAtMXB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0Owp9Ci5odnItY3VybC10b3AtcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLWN1cmwtdG9wLXJpZ2h0OmZvY3VzOmJlZm9yZSwgLmh2ci1jdXJsLXRvcC1yaWdodDphY3RpdmU6YmVmb3JlIHsKICB3aWR0aDogMjVweDsKICBoZWlnaHQ6IDI1cHg7Cn0KCi8qIEN1cmwgQm90dG9tIFJpZ2h0ICovCi5odnItY3VybC1ib3R0b20tcmlnaHQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5odnItY3VybC1ib3R0b20tcmlnaHQ6YmVmb3JlIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgY29udGVudDogJyc7CiAgaGVpZ2h0OiAwOwogIHdpZHRoOiAwOwogIGJvdHRvbTogMDsKICByaWdodDogMDsKICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAvKiBJRTkgKi8KICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzE1ZGVnLCB3aGl0ZSA0NSUsICNhYWFhYWEgNTAlLCAjY2NjY2NjIDU2JSwgd2hpdGUgODAlKTsKICBib3gtc2hhZG93OiAtMXB4IC0xcHggMXB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsKfQouaHZyLWN1cmwtYm90dG9tLXJpZ2h0OmhvdmVyOmJlZm9yZSwgLmh2ci1jdXJsLWJvdHRvbS1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItY3VybC1ib3R0b20tcmlnaHQ6YWN0aXZlOmJlZm9yZSB7CiAgd2lkdGg6IDI1cHg7CiAgaGVpZ2h0OiAyNXB4Owp9CgovKiBDdXJsIEJvdHRvbSBMZWZ0ICovCi5odnItY3VybC1ib3R0b20tbGVmdCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmh2ci1jdXJsLWJvdHRvbS1sZWZ0OmJlZm9yZSB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGNvbnRlbnQ6ICcnOwogIGhlaWdodDogMDsKICB3aWR0aDogMDsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAvKiBJRTkgKi8KICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHdoaXRlIDQ1JSwgI2FhYWFhYSA1MCUsICNjY2NjY2MgNTYlLCB3aGl0ZSA4MCUpOwogIGJveC1zaGFkb3c6IDFweCAtMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0OwogIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7Cn0KLmh2ci1jdXJsLWJvdHRvbS1sZWZ0OmhvdmVyOmJlZm9yZSwgLmh2ci1jdXJsLWJvdHRvbS1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1jdXJsLWJvdHRvbS1sZWZ0OmFjdGl2ZTpiZWZvcmUgewogIHdpZHRoOiAyNXB4OwogIGhlaWdodDogMjVweDsKfQo=
6 ms
AAAAEAAAAAAAEAAABAAAAAAAAAAAAAAAAAAAACwQAAAAAAAAAAAAAAAIAAAACSQA2A7cAEgLbAAAEAAAAA7cAGQQAAAAEAAAAAAAAAAAKABQAHgBEASIByAJeArgDFANKAAEAAAALAJsABAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAHAAAAAQAAAAAAAgAHAGAAAQAAAAAAAwAHADYAAQAAAAAABAAHAHUAAQAAAAAABQALABUAAQAAAAAABgAHAEsAAQAAAAAACgAaAIoAAwABBAkAAQAOAAcAAwABBAkAAgAOAGcAAwABBAkAAwAOAD0AAwABBAkABAAOAHwAAwABBAkABQAWACAAAwABBAkABgAOAFIAAwABBAkACgA0AKRpY29tb29uAGkAYwBvAG0AbwBvAG5WZXJzaW9uIDEuMABWAGUAcgBzAGkAbwBuACAAMQAuADBpY29tb29uAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG5SZWd1bGFyAFIAZQBnAHUAbABhAHJpY29tb29uAGkAYwBvAG0AbwBvAG5Gb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2 ms
h09jusiyb0sfjidkdy5y
614 ms
dvgxw28vkb3gkfh58qf4
674 ms
c0rhfsykvsl6q6d9afh4
701 ms
ma80752sc2sikooqrhhw
732 ms
geyrk5qzhxnmssifrx1g
762 ms
jhrmgck9pjygknwag5eb
632 ms
oyvzdsqvfwemeelse99r
676 ms
mk7icsp8rr7zhvq9ymso
684 ms
xdfpu4b1k0jy2aoczh1z
677 ms
uecenap5hmewdgrojene
641 ms
tu0prwjozpmmzspieofo
692 ms
edbymo7f5reqprodtyfm
652 ms
q844s4orzozknus3r2mx
681 ms
wsidllktbbphuqu81d77
614 ms
eqyb8rr7zqrztxa8h4le
603 ms
qveinupswi2mixpbwc8i
629 ms
eac427eu4ffdxyfc25mz
651 ms
g28fh4rfo4bbe6ennhjd
644 ms
w1w90uadw3pywo7hokfo
609 ms
pky478e4ys0deupmf4u9
620 ms
foldingplinth
619 ms
v1zozcbcp0yumc8p9owz
650 ms
oeks1jedoo7zjp0bge3i
626 ms
duo_lecturn
678 ms
ptltcusxmlamqdmolkuh
643 ms
vxuf1l6ulpj5uq9wkdnt
629 ms
lrmgm1h76gxy7buui5wj
582 ms
mini_copy1
617 ms
light-bottom.css
15 ms
cokerexpo.co.uk accessibility score
ARIA
These are opportunities to improve the usage of ARIA in your application which may enhance the experience for users of assistive technology, like a screen reader.
Impact
Issue
button, link, and menuitem elements do not have accessible names.
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
Buttons do not have an accessible name
Contrast
These are opportunities to improve the legibility of your content.
Impact
Issue
Background and foreground colors do not have a sufficient contrast ratio.
Navigation
These are opportunities to improve keyboard navigation in your application.
Impact
Issue
Heading elements are not in a sequentially-descending order
cokerexpo.co.uk best practices score
Trust and Safety
Impact
Issue
Does not use HTTPS
Ensure CSP is effective against XSS attacks
General
Impact
Issue
Detected JavaScript libraries
Missing source maps for large first-party JavaScript
cokerexpo.co.uk SEO score
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
EN
EN
UTF-8
Language claimed in HTML meta tag should match the language actually used on the web page. Otherwise Cokerexpo.co.uk can be misinterpreted by Google and other search engines. Our service has detected that English is used on the page, and it matches the claimed language. Our system also found out that Cokerexpo.co.uk 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.
cokerexpo.co.uk
Open Graph description is not detected on the main page of Coker Expo. 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: