<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Tungaloy Benelux b.v.</provider_name><provider_url>https://tungaloy.com/nl/</provider_url><title>Beheersing van helico&#xEF;daal frezen: Volledige gids voor gereedschapskeuze, berekening van de ramping angle en optimalisatie van snijparameters</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="U4oWbBnS01"&gt;&lt;a href="https://tungaloy.com/nl/whats-new/tips_helical-milling/"&gt;Beheersing van helico&#xEF;daal frezen: Volledige gids voor gereedschapskeuze, berekening van de ramping angle en optimalisatie van snijparameters&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://tungaloy.com/nl/whats-new/tips_helical-milling/embed/#?secret=U4oWbBnS01" width="600" height="338" title="&#x201C;Beheersing van helico&#xEF;daal frezen: Volledige gids voor gereedschapskeuze, berekening van de ramping angle en optimalisatie van snijparameters&#x201D; &#x2014; Tungaloy Benelux b.v." data-secret="U4oWbBnS01" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
//# sourceURL=https://tungaloy.com/wpdata/wp-includes/js/wp-embed.min.js
&lt;/script&gt;
</html><thumbnail_url>https://tungaloy.com/wpdata/wp-content/uploads/2026/07/01_TungForceRec_Helical_m-1.jpg</thumbnail_url><thumbnail_width>1200</thumbnail_width><thumbnail_height>898</thumbnail_height><description>[vc_row css_animation=&#x201D;&#x201D; row_type=&#x201D;row&#x201D; use_row_as_full_screen_section=&#x201D;no&#x201D; type=&#x201D;full_width&#x201D; angled_section=&#x201D;no&#x201D; text_align=&#x201D;left&#x201D; background_image_as_pattern=&#x201D;without_pattern&#x201D;][vc_column][vc_raw_html css=&#x201D;&#x201D;]PCEtLQ0KICBXb3JkUHJlc3MgQ3VzdG9tIEhUTUwgYmxvY2sgdmVyc2lvbi4NCiAgUmVwbGFjZSB7e0hFTElDQUxfQVNTRVRfQkFTRV9VUkx9fSB3aXRoIHRoZSB1cGxvYWRlZCBhc3NldCBmb2xkZXIgVVJMIGJlZm9yZSBwdWJsaXNoaW5nLg0KLS0+DQo8c3R5bGUgaWQ9ImhlbGljYWwtdGlwcy13cC1pbmxpbmUtY3NzIj4NCi8qIFdvcmRQcmVzcyBzY29wZWQgc3R5bGVzaGVldCBnZW5lcmF0ZWQgZnJvbSBhcnRpY2xlL2FydGljbGUuY3NzLiAqLw0KDQouaGVsaWNhbC1hcnRpY2xlIHsNCiAgZm9udC1mYW1pbHk6ICJOb3RvIFNhbnMgSlAiLCAiTWVpcnlvIiwgIkhpcmFnaW5vIEtha3UgR290aGljIFByb04iLCBzYW5zLXNlcmlmOw0KICBsaW5lLWhlaWdodDogMS44Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHsNCiAgLS1icmFuZDogI2Q0MDAyNTsNCiAgLS1icmFuZC1kYXJrOiAjYTAwMDIwOw0KICAtLWluazogIzMzMzsNCiAgLS1oZWFkaW5nOiAjMjIyOw0KICAtLW11dGVkOiAjNjY2Ow0KICAtLWxpbmU6ICNlMGUwZTA7DQogIC0tc29mdDogI2Y4ZjhmODsNCiAgLS1ub3RlOiAjZmVmOWYwOw0KICAtLW9rOiAjMTQ3YTNmOw0KICAtLXdhcm46ICNhNDVmMDA7DQogIC0tZXJyb3I6ICNiMDAwMjA7DQogIC0taW5mbzogIzMxNWE4YzsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSBidXR0b24sDQouaGVsaWNhbC1hcnRpY2xlIGlucHV0LA0KLmhlbGljYWwtYXJ0aWNsZSBzZWxlY3Qgew0KICBmb250OiBpbmhlcml0Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHsNCiAgbWF4LXdpZHRoOiA5NjBweDsNCiAgbWFyZ2luOiAwIGF1dG87DQogIHBhZGRpbmc6IDAgMjBweCA1NnB4Ow0KICBjb2xvcjogdmFyKC0taW5rKTsNCiAgd29yZC13cmFwOiBicmVhay13b3JkOw0KICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlICosDQouaGVsaWNhbC1hcnRpY2xlICo6OmJlZm9yZSwNCi5oZWxpY2FsLWFydGljbGUgKjo6YWZ0ZXIgew0KICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIGgxLA0KLmhlbGljYWwtYXJ0aWNsZSBoMiwNCi5oZWxpY2FsLWFydGljbGUgaDMsDQouaGVsaWNhbC1hcnRpY2xlIGg0LA0KLmhlbGljYWwtYXJ0aWNsZSBwIHsNCiAgbWFyZ2luLXRvcDogMDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSBwLA0KLmhlbGljYWwtYXJ0aWNsZSBsaSwNCi5oZWxpY2FsLWFydGljbGUgdGQsDQouaGVsaWNhbC1hcnRpY2xlIHRoIHsNCiAgZm9udC1zaXplOiAxOHB4Ow0KICBsaW5lLWhlaWdodDogMjhweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSBwIHsNCiAgbWFyZ2luLWJvdHRvbTogMThweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAudG9wLWNvbnRlbnRzIHsNCiAgbWFyZ2luLWJvdHRvbTogNDBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc2VjdGlvbi10aXRsZSB7DQogIG1hcmdpbi1ib3R0b206IDIwcHg7DQogIHBhZGRpbmctYm90dG9tOiAxMnB4Ow0KICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdmFyKC0tYnJhbmQpOw0KICBjb2xvcjogdmFyKC0taGVhZGluZyk7DQogIGZvbnQtc2l6ZTogMjhweDsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgbGluZS1oZWlnaHQ6IDEuNDsNCiAgbGV0dGVyLXNwYWNpbmc6IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmxlYWQgew0KICBtYXJnaW4tYm90dG9tOiAyNHB4Ow0KICBjb2xvcjogdmFyKC0taW5rKTsNCiAgZm9udC1zaXplOiAxOHB4Ow0KICBsaW5lLWhlaWdodDogMjhweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaGVyby1maWd1cmUsDQouaGVsaWNhbC1hcnRpY2xlIC5jb250ZW50LWZpZ3VyZSB7DQogIG1hcmdpbjogMCAwIDI0cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmltYWdlLWR1bW15IHsNCiAgZGlzcGxheTogZ3JpZDsNCiAgcGxhY2UtaXRlbXM6IGNlbnRlcjsNCiAgbWluLWhlaWdodDogMzYwcHg7DQogIHBhZGRpbmc6IDMycHg7DQogIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogIGJhY2tncm91bmQ6ICNmNWY1ZjU7DQogIGNvbG9yOiAjNTU1Ow0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmltYWdlLWR1bW15IHNwYW4gew0KICBkaXNwbGF5OiBibG9jazsNCiAgY29sb3I6IHZhcigtLWJyYW5kKTsNCiAgZm9udC1zaXplOiAyMnB4Ow0KICBmb250LXdlaWdodDogNzAwOw0KICBsaW5lLWhlaWdodDogMS40Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5pbWFnZS1kdW1teSBzbWFsbCB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBtYXJnaW4tdG9wOiA4cHg7DQogIGNvbG9yOiB2YXIoLS1tdXRlZCk7DQogIGZvbnQtc2l6ZTogMTVweDsNCiAgbGluZS1oZWlnaHQ6IDI0cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmN1dHRlci1pbWFnZXMgew0KICBkaXNwbGF5OiBmbGV4Ow0KICBmbGV4LXdyYXA6IHdyYXA7DQogIGdhcDogMThweDsNCiAgbWFyZ2luOiA0cHggMCAyMnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jdXR0ZXItaW1hZ2Ugew0KICBtYXJnaW46IDA7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY3V0dGVyLWltYWdlIGltZyB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICB3aWR0aDogMTUwcHg7DQogIGhlaWdodDogMTUwcHg7DQogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOw0KICBiYWNrZ3JvdW5kOiAjZjVmNWY1Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jdXR0ZXItaW1hZ2UgZmlnY2FwdGlvbiB7DQogIG1hcmdpbi10b3A6IDZweDsNCiAgY29sb3I6IHZhcigtLW11dGVkKTsNCiAgZm9udC1zaXplOiAxNHB4Ow0KICBsaW5lLWhlaWdodDogMS41Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jb21wYXJpc29uLWxpc3Qgew0KICBkaXNwbGF5OiBncmlkOw0KICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7DQogIGdhcDogMThweDsNCiAgbWFyZ2luOiAxOHB4IDAgMjRweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY29tcGFyaXNvbi1saXN0ID4gZGl2IHsNCiAgcGFkZGluZzogMThweCAyMHB4Ow0KICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsNCiAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICBiYWNrZ3JvdW5kOiB2YXIoLS1zb2Z0KTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY29tcGFyaXNvbi1saXN0IGg0IHsNCiAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgY29sb3I6IHZhcigtLWhlYWRpbmcpOw0KICBmb250LXNpemU6IDE4cHg7DQogIGxpbmUtaGVpZ2h0OiAxLjU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNvbXBhcmlzb24tbGlzdCB1bCB7DQogIG1hcmdpbi1ib3R0b206IDA7DQogIHBhZGRpbmctbGVmdDogMjBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAudmlkZW8tZW1iZWQgew0KICBkaXNwbGF5OiBmbGV4Ow0KICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgbWFyZ2luOiAyNHB4IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnZpZGVvLWVtYmVkIGlmcmFtZSB7DQogIHdpZHRoOiBtaW4oMzM5cHgsIDEwMCUpOw0KICBoZWlnaHQ6IGF1dG87DQogIGFzcGVjdC1yYXRpbzogMzM5IC8gNjAyOw0KICBib3JkZXI6IDA7DQogIGJhY2tncm91bmQ6ICMwMDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnRvcC1jb250ZW50cy1saXN0IHsNCiAgbWFyZ2luLXRvcDogMjBweDsNCiAgcGFkZGluZzogMTZweCAyNHB4IDIwcHg7DQogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOw0KICBib3JkZXItcmFkaXVzOiA2cHg7DQogIGJhY2tncm91bmQ6IHZhcigtLXNvZnQpOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC50b3AtY29udGVudHMtbGlzdCBoMyB7DQogIG1hcmdpbjogMjBweCAwIDEwcHg7DQogIGNvbG9yOiB2YXIoLS1oZWFkaW5nKTsNCiAgZm9udC1zaXplOiAxOHB4Ow0KICBmb250LXdlaWdodDogNzAwOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC50b3AtY29udGVudHMtbGlzdCB1bCB7DQogIG1hcmdpbjogMDsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KICBsaXN0LXN0eWxlOiBub25lOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC50b3AtY29udGVudHMtbGlzdCBsaSB7DQogIG1hcmdpbjogMDsNCiAgcGFkZGluZzogNnB4IDA7DQogIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2NjYzsNCiAgZm9udC1zaXplOiAxNnB4Ow0KICBsaW5lLWhlaWdodDogMS42Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC50b3AtY29udGVudHMtbGlzdCBsaTpsYXN0LWNoaWxkIHsNCiAgYm9yZGVyLWJvdHRvbTogbm9uZTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAudG9jLWxpbmsgew0KICBjb2xvcjogdmFyKC0tYnJhbmQpOw0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogIHRyYW5zaXRpb246IGNvbG9yIC4yczsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAudG9jLWxpbms6aG92ZXIgew0KICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7DQogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHNlY3Rpb24gew0KICBtYXJnaW4tYm90dG9tOiA0OHB4Ow0KICBwYWRkaW5nLXRvcDogMjBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucmVkbGluZSB7DQogIG1hcmdpbi1ib3R0b206IDIwcHg7DQogIHBhZGRpbmctYm90dG9tOiAxMHB4Ow0KICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdmFyKC0tYnJhbmQpOw0KICBjb2xvcjogdmFyKC0taGVhZGluZyk7DQogIGZvbnQtc2l6ZTogMjRweDsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgbGluZS1oZWlnaHQ6IDEuNDsNCiAgbGV0dGVyLXNwYWNpbmc6IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnN1Yi10aXRsZSB7DQogIG1hcmdpbjogMjhweCAwIDE0cHg7DQogIHBhZGRpbmctbGVmdDogMTRweDsNCiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1icmFuZCk7DQogIGNvbG9yOiB2YXIoLS1oZWFkaW5nKTsNCiAgZm9udC1zaXplOiAyMHB4Ow0KICBmb250LXdlaWdodDogNzAwOw0KICBsaW5lLWhlaWdodDogMS40Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5lbS1yZWQgew0KICBjb2xvcjogdmFyKC0tYnJhbmQpOw0KICBmb250LXdlaWdodDogNzAwOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5obCB7DQogIHBhZGRpbmc6IDAgMnB4Ow0KICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgNjAlLCAjZmZmM2NkIDYwJSk7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm5vdGUtYm94IHsNCiAgbWFyZ2luOiAyNHB4IDA7DQogIHBhZGRpbmc6IDIwcHggMjRweDsNCiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYnJhbmQpOw0KICBib3JkZXItcmFkaXVzOiA4cHg7DQogIGJhY2tncm91bmQ6IHZhcigtLW5vdGUpOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5ub3RlLWhlYWQgew0KICBtYXJnaW4tYm90dG9tOiA4cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm5vdGUtaGVhZCBoNCB7DQogIG1hcmdpbjogOHB4IDAgMDsNCiAgY29sb3I6IHZhcigtLWhlYWRpbmcpOw0KICBmb250LXNpemU6IDE4cHg7DQogIGZvbnQtd2VpZ2h0OiA3MDA7DQogIGxpbmUtaGVpZ2h0OiAxLjU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm5vdGUtYm94IHA6bGFzdC1jaGlsZCB7DQogIG1hcmdpbi1ib3R0b206IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmJhZGdlIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICBwYWRkaW5nOiAzcHggMTJweDsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZCk7DQogIGNvbG9yOiAjZmZmOw0KICBmb250LXNpemU6IDEzcHg7DQogIGZvbnQtd2VpZ2h0OiA3MDA7DQogIGxpbmUtaGVpZ2h0OiAxLjQ7DQogIGxldHRlci1zcGFjaW5nOiAuNXB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zbWFsbC1ub3RlIHsNCiAgY29sb3I6IHZhcigtLW11dGVkKTsNCiAgZm9udC1zaXplOiAxNXB4Ow0KICBsaW5lLWhlaWdodDogMjRweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSB1bCwNCi5oZWxpY2FsLWFydGljbGUgb2wgew0KICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICBwYWRkaW5nLWxlZnQ6IDI0cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgbGkgew0KICBtYXJnaW4tYm90dG9tOiA2cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnN0ZXAtbGlzdCB7DQogIGNvdW50ZXItcmVzZXQ6IHN0ZXAtY291bnRlcjsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KICBsaXN0LXN0eWxlOiBub25lOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zdGVwLWxpc3QgbGkgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIG1hcmdpbi1ib3R0b206IDEycHg7DQogIHBhZGRpbmctbGVmdDogNDBweDsNCiAgZm9udC1zaXplOiAxOHB4Ow0KICBsaW5lLWhlaWdodDogMjhweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc3RlcC1saXN0IGxpOjpiZWZvcmUgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMnB4Ow0KICBsZWZ0OiAwOw0KICB3aWR0aDogMjhweDsNCiAgaGVpZ2h0OiAyOHB4Ow0KICBib3JkZXItcmFkaXVzOiA1MCU7DQogIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kKTsNCiAgY29sb3I6ICNmZmY7DQogIGNvbnRlbnQ6IGNvdW50ZXIoc3RlcC1jb3VudGVyKTsNCiAgY291bnRlci1pbmNyZW1lbnQ6IHN0ZXAtY291bnRlcjsNCiAgZm9udC1zaXplOiAxNHB4Ow0KICBmb250LXdlaWdodDogNzAwOw0KICBsaW5lLWhlaWdodDogMjhweDsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zdGVwLWxpc3QgLnN0ZXAtaW1hZ2Ugew0KICBtYXJnaW46IDE0cHggMCAyNnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zdGVwLWxpc3QgLmltYWdlLWR1bW15IHsNCiAgbWluLWhlaWdodDogMjYwcHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm1ldGhvZC1pbWFnZSB7DQogIG1hcmdpbjogMTZweCAwIDI0cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm1ldGhvZC1pbWFnZS5pbWFnZS1kdW1teSB7DQogIG1pbi1oZWlnaHQ6IDI2MHB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHRhYmxlIHsNCiAgd2lkdGg6IDEwMCU7DQogIG1hcmdpbjogMjBweCAwOw0KICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHRoLA0KLmhlbGljYWwtYXJ0aWNsZSB0ZCB7DQogIHBhZGRpbmc6IDEycHg7DQogIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogIHRleHQtYWxpZ246IGxlZnQ7DQogIHZlcnRpY2FsLWFsaWduOiB0b3A7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgdGhlYWQgdGggew0KICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZCk7DQogIGNvbG9yOiAjZmZmOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHRib2R5IHRoIHsNCiAgYmFja2dyb3VuZDogI2Y1ZjVmNTsNCiAgY29sb3I6IHZhcigtLWhlYWRpbmcpOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7DQogIGJhY2tncm91bmQ6ICNmOWY5Zjk7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgY29kZSB7DQogIHBhZGRpbmc6IDJweCA2cHg7DQogIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgYmFja2dyb3VuZDogI2Y1ZjVmNTsNCiAgY29sb3I6ICMyMjI7DQogIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgIkNvdXJpZXIgTmV3IiwgbW9ub3NwYWNlOw0KICBmb250LXNpemU6IC45NWVtOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHByZSB7DQogIG92ZXJmbG93LXg6IGF1dG87DQogIG1hcmdpbjogMThweCAwIDI0cHg7DQogIHBhZGRpbmc6IDE2cHggMThweDsNCiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7DQogIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgYmFja2dyb3VuZDogI2Y4ZjhmODsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSBwcmUgY29kZSB7DQogIHBhZGRpbmc6IDA7DQogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5wLWNvbnRlbnRzLWJ0bi1hcmVhIHsNCiAgZGlzcGxheTogZmxleDsNCiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogIGdhcDogMTZweDsNCiAgbWFyZ2luOiAxNnB4IDA7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucC1idG4sDQouaGVsaWNhbC1hcnRpY2xlIC5wcmltYXJ5LWJ1dHRvbiwNCi5oZWxpY2FsLWFydGljbGUgLmdob3N0LWJ1dHRvbiB7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMsIGNvbG9yIC4ycywgYm9yZGVyLWNvbG9yIC4yczsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucC1idG4gew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHBhZGRpbmc6IDE0cHggMzJweDsNCiAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZCk7DQogIGNvbG9yOiAjZmZmOw0KICBmb250LXNpemU6IDE4cHg7DQogIGZvbnQtd2VpZ2h0OiA3MDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnAtYnRuOmhvdmVyIHsNCiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7DQogIGNvbG9yOiAjZmZmOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5wLWJ0bi5zZWNvbmRhcnkgew0KICBiYWNrZ3JvdW5kOiAjNTU1Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5kaXNhYmxlZCwNCi5oZWxpY2FsLWFydGljbGUgLmlzLWRpc2FibGVkIHsNCiAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogIGN1cnNvcjogZGVmYXVsdDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucC1idG4uZGlzYWJsZWQsDQouaGVsaWNhbC1hcnRpY2xlIC5wcmltYXJ5LWJ1dHRvbi5pcy1kaXNhYmxlZCB7DQogIGJhY2tncm91bmQ6ICNhYWE7DQogIGNvbG9yOiAjZmZmOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIHsNCiAgbWFyZ2luOiAyNHB4IDA7DQogIHBhZGRpbmc6IDE4cHg7DQogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOw0KICBib3JkZXItcmFkaXVzOiA2cHg7DQogIGJhY2tncm91bmQ6ICNmOGY4Zjg7DQogIG92ZXJmbG93OiBoaWRkZW47DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGMtaGVhZGVyIHsNCiAgZGlzcGxheTogZ3JpZDsNCiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgMjgwcHgpLCAxZnIpKTsNCiAgZ2FwOiAxNnB4Ow0KICBhbGlnbi1pdGVtczogc3RyZXRjaDsNCiAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgcGFkZGluZy1ib3R0b206IDE2cHg7DQogIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB2YXIoLS1icmFuZCk7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmV5ZWJyb3cgew0KICBtYXJnaW46IDAgMCA0cHg7DQogIGNvbG9yOiB2YXIoLS1icmFuZCk7DQogIGZvbnQtc2l6ZTogMTRweDsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsYy1oZWFkZXIgaDMgew0KICBtYXJnaW4tYm90dG9tOiA4cHg7DQogIGNvbG9yOiB2YXIoLS1oZWFkaW5nKTsNCiAgZm9udC1zaXplOiAyMHB4Ow0KICBsaW5lLWhlaWdodDogMS40Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjLWhlYWRlciBwOmxhc3QtY2hpbGQgew0KICBtYXJnaW4tYm90dG9tOiAwOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5oZWFkZXItbWV0cmljcyB7DQogIGRpc3BsYXk6IGdyaWQ7DQogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDEwMCUsIDE4MHB4KSwgMWZyKSk7DQogIGdhcDogMTBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaGVhZGVyLW1ldHJpY3MgZGl2LA0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsYy1wYW5lbCwNCi5oZWxpY2FsLWFydGljbGUgLm1ldHJpYywNCi5oZWxpY2FsLWFydGljbGUgLnN1Yi1yZXN1bHRzID4gZGl2IHsNCiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7DQogIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaGVhZGVyLW1ldHJpY3MgZGl2IHsNCiAgcGFkZGluZzogMTJweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaGVhZGVyLW1ldHJpY3MgZGl2W2hpZGRlbl0sDQouaGVsaWNhbC1hcnRpY2xlIC5yZXN1bHQtZ3JpZCBbaGlkZGVuXSB7DQogIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaGVhZGVyLW1ldHJpY3MgLm1haW4tcmVzdWx0LXN1bW1hcnkgew0KICBncmlkLWNvbHVtbjogMSAvIC0xOw0KICBib3JkZXItY29sb3I6IHJnYmEoMjEyLCAwLCAzNywgLjY1KTsNCiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZmZiwgI2ZmZjRmNik7DQogIGJveC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgyMTIsIDAsIDM3LCAuMTApOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5oZWFkZXItbWV0cmljcyBzcGFuIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIGNvbG9yOiB2YXIoLS1icmFuZCk7DQogIGZvbnQtc2l6ZTogMjJweDsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgbGluZS1oZWlnaHQ6IDEuMjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaGVhZGVyLW1ldHJpY3Mgc21hbGwsDQouaGVsaWNhbC1hcnRpY2xlIC5tZXRyaWMgc21hbGwgew0KICBjb2xvcjogdmFyKC0tbXV0ZWQpOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5oZWFkZXItbWV0cmljcyAubWFpbi1yZXN1bHQtc3VtbWFyeSBzcGFuIHsNCiAgZm9udC1zaXplOiAzMnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5oZWFkZXItbWV0cmljcyAubWFpbi1yZXN1bHQtc3VtbWFyeSBzbWFsbCB7DQogIGNvbG9yOiB2YXIoLS1oZWFkaW5nKTsNCiAgZm9udC13ZWlnaHQ6IDgwMDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci13b3Jrc3BhY2Ugew0KICBkaXNwbGF5OiBncmlkOw0KICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbigxMDAlLCAzNjBweCksIDFmcikpOw0KICBnYXA6IDIwcHg7DQogIGFsaWduLWl0ZW1zOiBzdGFydDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsYy1wYW5lbCB7DQogIG1pbi13aWR0aDogMDsNCiAgcGFkZGluZzogMThweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucGFuZWwtaGVhZCB7DQogIGRpc3BsYXk6IGZsZXg7DQogIGdhcDogMTJweDsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICBtYXJnaW4tYm90dG9tOiAxNnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5wYW5lbC1oZWFkIGgzIHsNCiAgbWFyZ2luOiAwOw0KICBjb2xvcjogdmFyKC0taGVhZGluZyk7DQogIGZvbnQtc2l6ZTogMjBweDsNCiAgbGluZS1oZWlnaHQ6IDEuNDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuZ2hvc3QtYnV0dG9uIHsNCiAgbWluLWhlaWdodDogMzhweDsNCiAgcGFkZGluZzogN3B4IDEycHg7DQogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJyYW5kKTsNCiAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBjb2xvcjogdmFyKC0tYnJhbmQpOw0KICBmb250LXdlaWdodDogNzAwOw0KICBjdXJzb3I6IHBvaW50ZXI7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmdob3N0LWJ1dHRvbjpob3ZlciB7DQogIGJhY2tncm91bmQ6ICNmZmY1ZjU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm1vZGUtZmllbGQgew0KICBtYXJnaW46IDAgMCAxNnB4Ow0KICBwYWRkaW5nOiAwOw0KICBib3JkZXI6IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm1vZGUtZmllbGQgbGVnZW5kIHsNCiAgbWFyZ2luLWJvdHRvbTogOHB4Ow0KICBjb2xvcjogdmFyKC0tbXV0ZWQpOw0KICBmb250LXdlaWdodDogNzAwOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zZWdtZW50ZWQgew0KICBkaXNwbGF5OiBncmlkOw0KICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbigxMDAlLCAyNjBweCksIDFmcikpOw0KICBnYXA6IDEwcHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnNlZ21lbnRlZCBsYWJlbCB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBtaW4td2lkdGg6IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnNlZ21lbnRlZCBpbnB1dCB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgb3BhY2l0eTogMDsNCiAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnNlZ21lbnRlZCBzcGFuIHsNCiAgZGlzcGxheTogZ3JpZDsNCiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4OHB4IG1pbm1heCgwLCAxZnIpOw0KICBncmlkLXRlbXBsYXRlLWFyZWFzOg0KICAgICJpY29uIHRpdGxlIg0KICAgICJpY29uIGNvcHkiOw0KICBnYXA6IDJweCAxMHB4Ow0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KICBtaW4taGVpZ2h0OiAxMDRweDsNCiAgcGFkZGluZzogMTJweDsNCiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7DQogIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCiAgY29sb3I6IHZhcigtLWluayk7DQogIHRleHQtYWxpZ246IGxlZnQ7DQogIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc2VnbWVudGVkIGlucHV0OmNoZWNrZWQgKyBzcGFuIHsNCiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZCk7DQogIGJhY2tncm91bmQ6ICNmZmY1ZjU7DQogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCByZ2JhKDIxMiwgMCwgMzcsIDAuMTIpOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zZWdtZW50ZWQgLm1vZGUtaWNvbiB7DQogIGdyaWQtYXJlYTogaWNvbjsNCiAgZGlzcGxheTogYmxvY2s7DQogIHdpZHRoOiA4MnB4Ow0KICBoZWlnaHQ6IDgycHg7DQogIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgb2JqZWN0LWZpdDogY29udGFpbjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc2VnbWVudGVkIHN0cm9uZyB7DQogIGdyaWQtYXJlYTogdGl0bGU7DQogIGNvbG9yOiB2YXIoLS1oZWFkaW5nKTsNCiAgZm9udC1zaXplOiAxNXB4Ow0KICBsaW5lLWhlaWdodDogMS4zOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zZWdtZW50ZWQgc21hbGwgew0KICBncmlkLWFyZWE6IGNvcHk7DQogIGNvbG9yOiB2YXIoLS1tdXRlZCk7DQogIGZvbnQtc2l6ZTogMTJweDsNCiAgbGluZS1oZWlnaHQ6IDEuNDU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnNlZ21lbnRlZCBpbnB1dDpjaGVja2VkICsgc3BhbiBzdHJvbmcgew0KICBjb2xvcjogdmFyKC0tYnJhbmQpOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zZWdtZW50ZWQgc3Bhbi5oYXMtbWlzc2luZy1pY29uIHsNCiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7DQogIGdyaWQtdGVtcGxhdGUtYXJlYXM6DQogICAgInRpdGxlIg0KICAgICJjb3B5IjsNCiAgbWluLWhlaWdodDogODJweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc2VnbWVudGVkIHNwYW4uaGFzLW1pc3NpbmctaWNvbiAubW9kZS1pY29uIHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaW5wdXQtcGFyYW1ldGVyLWd1aWRlIHsNCiAgbWFyZ2luOiAwIDAgMTZweDsNCiAgcGFkZGluZzogMTBweDsNCiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7DQogIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaW5wdXQtcGFyYW1ldGVyLWd1aWRlIGltZyB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICB3aWR0aDogMTAwJTsNCiAgaGVpZ2h0OiBhdXRvOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5pbnB1dC1wYXJhbWV0ZXItZ3VpZGUuaXMtaW1hZ2UtbWlzc2luZywNCi5oZWxpY2FsLWFydGljbGUgLmRlcHRoLXBsYW4tZ3VpZGUuaXMtaW1hZ2UtbWlzc2luZyB7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmZvcm0tZ3JpZCB7DQogIGRpc3BsYXk6IGdyaWQ7DQogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDEwMCUsIDE4MHB4KSwgMWZyKSk7DQogIGdhcDogMTJweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCBsYWJlbCB7DQogIGRpc3BsYXk6IGdyaWQ7DQogIGdhcDogNXB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIGxhYmVsIHNwYW4gew0KICBjb2xvcjogdmFyKC0taGVhZGluZyk7DQogIGZvbnQtc2l6ZTogMTRweDsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCAuZmllbGQtbGFiZWwgew0KICBkaXNwbGF5OiBpbmxpbmUtZmxleDsNCiAgZmxleC13cmFwOiB3cmFwOw0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KICBnYXA6IDZweDsNCiAgbWluLXdpZHRoOiAwOw0KICBsaW5lLWhlaWdodDogMS40NTsNCiAgd29yZC1icmVhazoga2VlcC1hbGw7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgLmZpZWxkLWljb24gew0KICBkaXNwbGF5OiBpbmxpbmUtZmxleDsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogIGZsZXg6IDAgMCBhdXRvOw0KICB3aWR0aDogMjhweDsNCiAgaGVpZ2h0OiAyMnB4Ow0KICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxMiwgMCwgMzcsIDAuNDUpOw0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIGJhY2tncm91bmQ6ICNmZmY1ZjU7DQogIGNvbG9yOiB2YXIoLS1icmFuZCk7DQogIGZvbnQtc2l6ZTogMTFweDsNCiAgZm9udC13ZWlnaHQ6IDgwMDsNCiAgbGluZS1oZWlnaHQ6IDE7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgLmZpZWxkLWljb24ud2lkZSB7DQogIHdpZHRoOiA0MnB4Ow0KICBmb250LXNpemU6IDEwcHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgbGFiZWwgZW0gew0KICBjb2xvcjogdmFyKC0tbXV0ZWQpOw0KICBmb250LXN0eWxlOiBub3JtYWw7DQogIGZvbnQtd2VpZ2h0OiA0MDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgaW5wdXQsDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIHNlbGVjdCB7DQogIHdpZHRoOiAxMDAlOw0KICBtaW4taGVpZ2h0OiA0MHB4Ow0KICBwYWRkaW5nOiA4cHggMTBweDsNCiAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBjb2xvcjogdmFyKC0taW5rKTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCBpbnB1dDpmb2N1cywNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgc2VsZWN0OmZvY3VzLA0KLmhlbGljYWwtYXJ0aWNsZSAucHJpbWFyeS1idXR0b246Zm9jdXMsDQouaGVsaWNhbC1hcnRpY2xlIC5naG9zdC1idXR0b246Zm9jdXMgew0KICBvdXRsaW5lOiAzcHggc29saWQgcmdiYSgyMTIsIDAsIDM3LCAuMTgpOw0KICBvdXRsaW5lLW9mZnNldDogMnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5mdWxsLXJvdyB7DQogIG1hcmdpbi10b3A6IDEycHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmlzLWhpZGRlbiB7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmZvcm0tZ3JpZCBbaGlkZGVuXSB7DQogIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc3RhdGUtYmFkZ2Ugew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIG1pbi1oZWlnaHQ6IDI2cHg7DQogIHBhZGRpbmc6IDNweCAxMHB4Ow0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIGJhY2tncm91bmQ6IHZhcigtLWluZm8pOw0KICBjb2xvcjogI2ZmZjsNCiAgZm9udC1zaXplOiAxM3B4Ow0KICBmb250LXdlaWdodDogNzAwOw0KICBsaW5lLWhlaWdodDogMjBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc3RhdGUtYmFkZ2Uub2sgew0KICBiYWNrZ3JvdW5kOiB2YXIoLS1vayk7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnN0YXRlLWJhZGdlLndhcm5pbmcgew0KICBiYWNrZ3JvdW5kOiB2YXIoLS13YXJuKTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc3RhdGUtYmFkZ2UuZXJyb3Igew0KICBiYWNrZ3JvdW5kOiB2YXIoLS1lcnJvcik7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnJlc3VsdC1ncmlkIHsNCiAgZGlzcGxheTogZ3JpZDsNCiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgMjEwcHgpLCAxZnIpKTsNCiAgZ2FwOiAxMHB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5tZXRyaWMgew0KICBtaW4taGVpZ2h0OiA4OHB4Ow0KICBwYWRkaW5nOiAxMnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5tZXRyaWMgc3Ryb25nIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIG1hcmdpbi10b3A6IDZweDsNCiAgY29sb3I6IHZhcigtLWhlYWRpbmcpOw0KICBmb250LXNpemU6IDIwcHg7DQogIGxpbmUtaGVpZ2h0OiAxLjI1Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIC5tZXRyaWMtbGFiZWwgew0KICBkaXNwbGF5OiBpbmxpbmUtZmxleDsNCiAgZmxleC13cmFwOiB3cmFwOw0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KICBnYXA6IDZweDsNCiAgbWluLXdpZHRoOiAwOw0KICBsaW5lLWhlaWdodDogMS4zNTsNCiAgd29yZC1icmVhazoga2VlcC1hbGw7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgLm1ldHJpYy1pY29uIHsNCiAgZGlzcGxheTogaW5saW5lLWZsZXg7DQogIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICBmbGV4OiAwIDAgYXV0bzsNCiAgd2lkdGg6IDI2cHg7DQogIGhlaWdodDogMjFweDsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTIsIDAsIDM3LCAwLjQwKTsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmNWY1Ow0KICBjb2xvcjogdmFyKC0tYnJhbmQpOw0KICBmb250LXNpemU6IDExcHg7DQogIGZvbnQtd2VpZ2h0OiA4MDA7DQogIGxpbmUtaGVpZ2h0OiAxOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIC5tZXRyaWMtaWNvbi53aWRlIHsNCiAgd2lkdGg6IDQ4cHg7DQogIGZvbnQtc2l6ZTogMTBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAubWV0cmljLm1haW4tcmVzdWx0IHsNCiAgZ3JpZC1jb2x1bW46IDEgLyAtMTsNCiAgbWluLWhlaWdodDogMTE2cHg7DQogIGJvcmRlci1jb2xvcjogcmdiYSgyMTIsIDAsIDM3LCAuNjUpOw0KICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmLCAjZmZmNGY2KTsNCiAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDIxMiwgMCwgMzcsIC4xMCk7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm1ldHJpYy5tYWluLXJlc3VsdCBzbWFsbCB7DQogIGNvbG9yOiB2YXIoLS1oZWFkaW5nKTsNCiAgZm9udC1zaXplOiAxNHB4Ow0KICBmb250LXdlaWdodDogODAwOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5tZXRyaWMubWFpbi1yZXN1bHQgc3Ryb25nIHsNCiAgY29sb3I6IHZhcigtLWJyYW5kKTsNCiAgZm9udC1zaXplOiAzMnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5tZXRyaWMuYWNjZW50IHsNCiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxMiwgMCwgMzcsIC41NSk7DQogIGJhY2tncm91bmQ6ICNmZmY4Zjg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm1ldHJpYy5hY2NlbnQgc3Ryb25nIHsNCiAgY29sb3I6IHZhcigtLWJyYW5kKTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc3ViLXJlc3VsdHMgew0KICBkaXNwbGF5OiBncmlkOw0KICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsNCiAgZ2FwOiAxNnB4Ow0KICBtYXJnaW4tdG9wOiAxNnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zdWItcmVzdWx0cyA+IGRpdiB7DQogIHBhZGRpbmc6IDE4cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmRlcHRoLXJlc3VsdC1sYXlvdXQgew0KICBkaXNwbGF5OiBncmlkOw0KICBnYXA6IDE0cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmRlcHRoLXBsYW4tZ3VpZGUgew0KICBtYXJnaW46IDA7DQogIHBhZGRpbmc6IDEwcHg7DQogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOw0KICBib3JkZXItcmFkaXVzOiA2cHg7DQogIGJhY2tncm91bmQ6ICNmZmY7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmRlcHRoLXBsYW4tZ3VpZGUgaW1nIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IGF1dG87DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnN1Yi1yZXN1bHRzIGgzLA0KLmhlbGljYWwtYXJ0aWNsZSAuY2hlY2tzIGgzIHsNCiAgbWFyZ2luLWJvdHRvbTogOHB4Ow0KICBjb2xvcjogdmFyKC0taGVhZGluZyk7DQogIGZvbnQtc2l6ZTogMThweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCBkbCB7DQogIGRpc3BsYXk6IGdyaWQ7DQogIGdhcDogOHB4Ow0KICBtYXJnaW46IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgZGwgZGl2IHsNCiAgZGlzcGxheTogZmxleDsNCiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICBnYXA6IDEycHg7DQogIHBhZGRpbmctYm90dG9tOiA2cHg7DQogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIGR0IHsNCiAgY29sb3I6IHZhcigtLW11dGVkKTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCBkZCB7DQogIG1hcmdpbjogMDsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgdGV4dC1hbGlnbjogcmlnaHQ7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgLmRlcHRoLXJlc3VsdC1saXN0IHsNCiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgMTUwcHgpLCAxZnIpKTsNCiAgZ2FwOiAxMHB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIC5kaXN0YW5jZS1yZXN1bHQtbGlzdCB7DQogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDEwMCUsIDE3MHB4KSwgMWZyKSk7DQogIGdhcDogMTBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCAuZGVwdGgtcmVzdWx0LWxpc3QgZGl2LA0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCAuZGlzdGFuY2UtcmVzdWx0LWxpc3QgZGl2IHsNCiAgZGlzcGxheTogYmxvY2s7DQogIG1pbi1oZWlnaHQ6IDc4cHg7DQogIHBhZGRpbmc6IDEycHg7DQogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOw0KICBib3JkZXItcmFkaXVzOiA2cHg7DQogIGJhY2tncm91bmQ6ICNmZmY7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgLmRlcHRoLXJlc3VsdC1saXN0IGR0LA0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCAuZGlzdGFuY2UtcmVzdWx0LWxpc3QgZHQgew0KICBtYXJnaW4tYm90dG9tOiA4cHg7DQogIGZvbnQtc2l6ZTogMTNweDsNCiAgbGluZS1oZWlnaHQ6IDEuMzU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgLmRlcHRoLXJlc3VsdC1saXN0IGRkLA0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCAuZGlzdGFuY2UtcmVzdWx0LWxpc3QgZGQgew0KICBjb2xvcjogdmFyKC0tYnJhbmQpOw0KICBmb250LXNpemU6IDIwcHg7DQogIGxpbmUtaGVpZ2h0OiAxLjI1Ow0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jaGVja3Mgew0KICBtYXJnaW4tdG9wOiAxNnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jaGVja3MgdWwgew0KICBkaXNwbGF5OiBncmlkOw0KICBnYXA6IDhweDsNCiAgbWFyZ2luOiAwOw0KICBwYWRkaW5nOiAwOw0KICBsaXN0LXN0eWxlOiBub25lOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jaGVja3MgbGkgew0KICBtYXJnaW46IDA7DQogIHBhZGRpbmc6IDlweCAxMXB4Ow0KICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWluZm8pOw0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jaGVja3MgbGkub2sgew0KICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tb2spOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jaGVja3MgbGkud2FybmluZywNCi5oZWxpY2FsLWFydGljbGUgLmNoZWNrcyBsaS5jYXV0aW9uIHsNCiAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXdhcm4pOw0KICBiYWNrZ3JvdW5kOiAjZmZmYWYyOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jaGVja3MgbGkuZXJyb3Igew0KICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tZXJyb3IpOw0KICBiYWNrZ3JvdW5kOiAjZmZmNWY1Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5wcmltYXJ5LWJ1dHRvbiB7DQogIGRpc3BsYXk6IGlubGluZS1mbGV4Ow0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgbWluLWhlaWdodDogNDRweDsNCiAgcGFkZGluZzogMTFweCAxOHB4Ow0KICBib3JkZXItcmFkaXVzOiA2cHg7DQogIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kKTsNCiAgY29sb3I6ICNmZmY7DQogIGZvbnQtd2VpZ2h0OiA3MDA7DQogIHdoaXRlLXNwYWNlOiBub3dyYXA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnByaW1hcnktYnV0dG9uOmhvdmVyIHsNCiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7DQogIGNvbG9yOiAjZmZmOw0KfQ0KDQpAbWVkaWEgKG1heC13aWR0aDogOTIwcHgpIHsNCi5oZWxpY2FsLWFydGljbGUgLmNhbGMtaGVhZGVyLA0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci13b3Jrc3BhY2Ugew0KICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOw0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgLmhlYWRlci1tZXRyaWNzIHsNCiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucmVzdWx0LWdyaWQgew0KICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsNCi5oZWxpY2FsLWFydGljbGUgew0KICAgIHBhZGRpbmc6IDAgMTZweCA0OHB4Ow0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgLnNlY3Rpb24tdGl0bGUgew0KICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5yZWRsaW5lIHsNCiAgICBmb250LXNpemU6IDIwcHg7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc3ViLXRpdGxlIHsNCiAgICBmb250LXNpemU6IDE4cHg7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAudG9wLWNvbnRlbnRzLWxpc3Qgew0KICAgIHBhZGRpbmc6IDEycHggMTZweCAxNnB4Ow0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgLm5vdGUtYm94LA0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCB7DQogICAgcGFkZGluZzogMTZweCAxOHB4Ow0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgdGFibGUgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG92ZXJmbG93LXg6IGF1dG87DQogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOw0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgbGkgew0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBsaW5lLWhlaWdodDogMjZweDsNCiAgfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5pbWFnZS1kdW1teSB7DQogICAgbWluLWhlaWdodDogMjQwcHg7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuZm9ybS1ncmlkLA0KLmhlbGljYWwtYXJ0aWNsZSAucmVzdWx0LWdyaWQsDQouaGVsaWNhbC1hcnRpY2xlIC5zdWItcmVzdWx0cywNCi5oZWxpY2FsLWFydGljbGUgLmNvbXBhcmlzb24tbGlzdCB7DQogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCAuZGVwdGgtcmVzdWx0LWxpc3QsDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIC5kaXN0YW5jZS1yZXN1bHQtbGlzdCB7DQogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAubWV0cmljLm1haW4tcmVzdWx0IHsNCiAgICBncmlkLWNvbHVtbjogc3BhbiAxOw0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgLnNlZ21lbnRlZCB7DQogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucGFuZWwtaGVhZCB7DQogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5wLWNvbnRlbnRzLWJ0bi1hcmVhIHsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgLnAtYnRuLA0KLmhlbGljYWwtYXJ0aWNsZSAucHJpbWFyeS1idXR0b24gew0KICAgIHdpZHRoOiAxMDAlOw0KICB9DQp9DQoNCkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgew0KLmhlbGljYWwtYXJ0aWNsZSAuc2VjdGlvbi10aXRsZSB7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgLnJlZGxpbmUgew0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zdWItdGl0bGUgew0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgfQ0KfQ0KPC9zdHlsZT4NCg0KPG1haW4gY2xhc3M9ImhlbGljYWwtYXJ0aWNsZSIgaWQ9ImhlbGljYWwtdGlwcy1hcnRpY2xlIj4NCiAgICA8c2VjdGlvbiBjbGFzcz0idG9wLWNvbnRlbnRzIiBpZD0idG9wIj4NCiAgICAgIDxoMSBjbGFzcz0ic2VjdGlvbi10aXRsZSI+R2VlbiBnaXN3ZXJrIG1lZXIgYmlqIGhlbGljb8OvZGFhbCBmcmV6ZW48YnI+RWVuIHByYWt0aXNjaGUgZ2lkcyB2b29yIGdlcmVlZHNjaGFwc2tldXplLCBiZXJla2VuaW5nIHZhbiBkZSByYW1waW5nIGFuZ2xlIGVuIHNuaWpjb25kaXRpZXM8L2gxPg0KICAgICAgPHAgY2xhc3M9ImxlYWQiPkhlZWZ0IHUgb29pdCBlZW4gZ2F0IG9mIHBvY2tldCBtb2V0ZW4gYmV3ZXJrZW4gd2FhcmJpaiBlZW4gYm9vciBuaWV0IGRlIGp1aXN0ZSBkaWFtZXRlciBoYWQsIG9mIHdhYXJiaWogZWVuIGdhdCBtZXQgZWVuIGdyb3RlIGRpYW1ldGVyIG1lZXIgZmxleGliaWxpdGVpdCB2ZXJlaXN0ZT8gSW4gZGVyZ2VsaWprZSBnZXZhbGxlbiBrYW4gPHN0cm9uZyBjbGFzcz0iZW0tcmVkIj5oZWxpY2/Dr2RhYWwgZnJlemVuPC9zdHJvbmc+LCB3YWFyYmlqIGVlbiBmcmVlcyBjaXJjdWxhaXJlIGludGVycG9sYXRpZSB2b2xndCB0ZXJ3aWpsIGRlemUgaW4gZGUgWi1yaWNodGluZyB2b2VkdCwgZWVuIHplZXIgZWZmZWN0aWV2ZSBvcHRpZSB6aWpuLjwvcD4NCiAgICAgIDxwIGNsYXNzPSJsZWFkIj5IZWxpY2/Dr2RhYWwgZnJlemVuIGlzIG51dHRpZyB2b29yIGhldCBtYWtlbiB2YW4gZ2F0ZW4gem9uZGVyIHByb2VmZ2F0IGVuIHZvb3IgaGV0IGJld2Vya2VuIHZhbiBncm90ZSBnYXRlbiBkaWUgbW9laWxpamsgbWV0IGJvcmVuIHRlIHJlYWxpc2VyZW4gemlqbi4gRWVuIGJlbGFuZ3Jpamsgdm9vcmRlZWwgaXMgZGF0IDxzdHJvbmcgY2xhc3M9ImVtLXJlZCI+w6nDqW4gY3V0dGVyIHZhYWsgbWVlcmRlcmUgZ2F0ZGlhbWV0ZXJzIGthbiBkZWtrZW48L3N0cm9uZz4uIERpdCBrYW4gaGVscGVuIGRlIGdlcmVlZHNjaGFwc3Zvb3JyYWFkIHRlIHZlcm1pbmRlcmVuIGVuIGJld2Vya2luZ3Nwcm9jZXNzZW4gdGUgdmVyZWVudm91ZGlnZW4uPC9wPg0KICAgICAgPHAgY2xhc3M9ImxlYWQiPkFhbiBkZSBhbmRlcmUga2FudCB6aWpuIGVyLCB6b2RyYSB1IGJlZ2ludCBtZXQgaGV0IGluc3RlbGxlbiB2YW4gZGUgZmVpdGVsaWprZSBjb25kaXRpZXMsIHZlZWwgY29udHJvbGVzIHZlcmVpc3Q6IHdlbGtlIGN1dHRlcmRpYW1ldGVyIGdlc2NoaWt0IGlzIHZvb3IgZGUgZ2V3ZW5zdGUgZ2F0ZGlhbWV0ZXIsIGhvZSBncm9vdCBkZSBQaXRjaCBrYW4gemlqbiwgb2YgZGUgcmFtcGluZyBhbmdsZSBiaW5uZW4gZGUgZ2VyZWVkc2NoYXBzc3BlY2lmaWNhdGllIHZhbHQgZW4gb2YgZmVlZC1jb3JyZWN0aWUgbm9kaWcgaXMuIE1ldCBhbmRlcmUgd29vcmRlbiwgaGVsaWNvw69kYWFsIGZyZXplbiBpcyA8c3Ryb25nPjxzcGFuIGNsYXNzPSJobCI+emVlciBudXR0aWcgd2FubmVlciBoZXQgY29ycmVjdCB3b3JkdCB0b2VnZXBhc3QsIG1hYXIgbWVuIGthbiBlciBnZW1ha2tlbGlqayBpbiB2ZXJkd2FsZW4gYmlqIGhldCBzZWxlY3RlcmVuIHZhbiBnZXJlZWRzY2hhcHBlbiBlbiBjb25kaXRpZXM8L3NwYW4+PC9zdHJvbmc+LjwvcD4NCiAgICAgIDxwIGNsYXNzPSJsZWFkIj5EaXQgYXJ0aWtlbCBsZWd0IGRlIGZ1bmRhbWVudGVuIHZhbiBoZWxpY2/Dr2RhYWwgZnJlemVuLCBkZSBmbG93IHZvb3IgZ2VyZWVkc2NoYXBza2V1emUsIGRlIGJlcmVrZW5pbmcgdmFuIHJhbXBpbmcgYW5nbGUgZW4gUGl0Y2gsIGVuIGJlbGFuZ3JpamtlIHZvb3J6b3Jnc21hYXRyZWdlbGVuIGJpaiBoZXQgYmV3ZXJrZW4gdWl0IGluIGVlbiBwcmFrdGlzY2hlIHZvbGdvcmRlLiBIZXQgaW50cm9kdWNlZXJ0IG9vayBlZW4gY2FsY3VsYXRvciBvcCBkZSBwYWdpbmEgZW4gZWVuIGFwYXJ0ZSBnZXJlZWRzY2hhcHNzZWxlY3RvciBkaWUgaGVscHQgYmlqIGhldCB2aW5kZW4gdmFuIGdlc2NoaWt0ZSBUdW5nYWxveS1jdXR0ZXJzIG9wIGJhc2lzIHZhbiB1dyBpbnZvZXJjb25kaXRpZXMuPC9wPg0KDQogICAgICA8ZmlndXJlIGNsYXNzPSJoZXJvLWZpZ3VyZSIgYXJpYS1sYWJlbD0iTWFpbiBoZWxpY2FsIG1pbGxpbmcgaW1hZ2UiPg0KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly90dW5nYWxveS5jb20vd3BkYXRhL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA3LzAxX1R1bmdGb3JjZVJlY19IZWxpY2FsX20uanBnIiBhbHQ9IkFmYmVlbGRpbmcgaGVsaWNvw69kYWFsIGZyZXplbiI+DQogICAgICA8L2ZpZ3VyZT4NCg0KICAgICAgPGRpdiBjbGFzcz0idG9wLWNvbnRlbnRzLWxpc3QiPg0KICAgICAgICA8aDM+V2F0IHUgenVsdCBsZXJlbjwvaDM+DQogICAgICAgIDx1bD4NCiAgICAgICAgICA8bGk+PGEgY2xhc3M9InRvYy1saW5rIiBocmVmPSIjc2VjdGlvbjEiPldhdCBoZWxpY2/Dr2RhYWwgZnJlemVuIGlzPC9hPjwvbGk+DQogICAgICAgICAgPGxpPjxhIGNsYXNzPSJ0b2MtbGluayIgaHJlZj0iI3NlY3Rpb24yIj5EcmllIGtlcm53YWFyZGVuIGJpaiBoZWxpY2/Dr2RhYWwgZnJlemVuPC9hPjwvbGk+DQogICAgICAgICAgPGxpPjxhIGNsYXNzPSJ0b2MtbGluayIgaHJlZj0iI3NlY3Rpb24zIj5QdW50ZW4gdm9vciBnZXJlZWRzY2hhcHNrZXV6ZSBiaWogaGVsaWNvw69kYWFsIGZyZXplbjwvYT48L2xpPg0KICAgICAgICAgIDxsaT48YSBjbGFzcz0idG9jLWxpbmsiIGhyZWY9IiNzZWN0aW9uNCI+UHJvY2VkdXJlIHZvb3IgZ2VyZWVkc2NoYXBza2V1emU8L2E+PC9saT4NCiAgICAgICAgICA8bGk+PGEgY2xhc3M9InRvYy1saW5rIiBocmVmPSIjc2VjdGlvbjUiPlZvb3J6b3Jnc21hYXRyZWdlbGVuIHRpamRlbnMgaGVsaWNvw69kYWFsIGZyZXplbjwvYT48L2xpPg0KICAgICAgICAgIDxsaT48YSBjbGFzcz0idG9jLWxpbmsiIGhyZWY9IiNzZWN0aW9uNiI+RWVuIGhhbmRpZ2UgY2FsY3VsYXRvciB2b29yIFBpdGNoIGVuIHJhbXBpbmcgYW5nbGU8L2E+PC9saT4NCiAgICAgICAgICA8bGk+PGEgY2xhc3M9InRvYy1saW5rIiBocmVmPSIjc2VjdGlvbjciPklubGVpZGluZyB0b3QgZGUgZ2VyZWVkc2NoYXBzc2VsZWN0b3I8L2E+PC9saT4NCiAgICAgICAgICA8bGk+PGEgY2xhc3M9InRvYy1saW5rIiBocmVmPSIjc3VtbWFyeSI+U2FtZW52YXR0aW5nPC9hPjwvbGk+DQogICAgICAgIDwvdWw+DQogICAgICA8L2Rpdj4NCiAgICA8L3NlY3Rpb24+DQoNCiAgICA8c2VjdGlvbiBpZD0ic2VjdGlvbjEiPg0KICAgICAgPGgyIGNsYXNzPSJyZWRsaW5lIj4xLiBXYXQgaXMgaGVsaWNvw69kYWFsIGZyZXplbj88L2gyPg0KICAgICAgPHA+SGVsaWNvw69kYWFsIGZyZXplbiBpcyBlZW4gYmV3ZXJraW5nc21ldGhvZGUgd2FhcmJpaiBoZXQgZ2VyZWVkc2NoYXAgY2lyY3VsYWlyZSBpbnRlcnBvbGF0aWUgdm9sZ3QgdGVyd2lqbCBoZXQgdGVnZWxpamtlcnRpamQgaW4gZGUgWi1yaWNodGluZyB2b2VkdC4gSW4gcGxhYXRzIHZhbiByZWNodCBuYWFyIGJlbmVkZW4gdGUgZHVpa2VuLCBiZXdlZWd0IGhldCBnZXJlZWRzY2hhcCA8c3Ryb25nIGNsYXNzPSJlbS1yZWQiPmJlZXRqZSBiaWogYmVldGplIG5hYXIgYmVuZWRlbiB0ZXJ3aWpsIGhldCBlZW4gY2lya2VsIGJlc2NocmlqZnQ8L3N0cm9uZz4sIHdhYXJkb29yIGVlbiBzcGlyYWFsdm9ybWlnIGdlcmVlZHNjaGFwc3BhZCBvbnRzdGFhdC48L3A+DQogICAgICA8cD5EZXplIG1ldGhvZGUgd29yZHQgZ2VicnVpa3Qgdm9vciBoZXQgbWFrZW4gdmFuIGdhdGVuLCBwb2NrZXQtZW50cnkgYmV3ZXJraW5nZW4sIHZlcnppbmtlbiBlbiBoZXQgb3BlbmVuIHZhbiBnYXRlbiB6b25kZXIgcHJvZWZnYXQuIEhldCBtYWFrdCBoZXQgZ2VtYWtrZWxpamtlciBvbSBnYXRkaWFtZXRlcnMgdGUgYmV3ZXJrZW4gZGllIGdyb3RlciB6aWpuIGRhbiBkZSBjdXR0ZXJkaWFtZXRlciwgZW4gZGV6ZWxmZGUgY3V0dGVyIGthbiB2YWFrIHZvb3IgbWVlcmRlcmUgZ2F0bWF0ZW4gd29yZGVuIGdlYnJ1aWt0LjwvcD4NCiAgICAgIDxwPkJpaiBoZWxpY2/Dr2RhYWwgZnJlemVuIGdhYXQgaGV0IGdlcmVlZHNjaGFwIGVjaHRlciBhbHRpamQgb25kZXIgZWVuIHNjaHVpbmUgaG9layBoZXQgd2Vya3N0dWsgYmlubmVuLiBJbiB0ZWdlbnN0ZWxsaW5nIHRvdCBnZXdvb24gemlqZGVsaW5ncyBmcmV6ZW4gb2Ygc2xldXZlbiBmcmV6ZW4sIG1vZXQgdSBkZSA8c3Ryb25nPjxzcGFuIGNsYXNzPSJobCI+cmFtcGluZyBhbmdsZSwgUGl0Y2gsIGhldCBwYWQgdmFuIGhldCBnZXJlZWRzY2hhcHNjZW50cnVtIGVuIGRlIGZlZWQtY29ycmVjdGllPC9zcGFuPjwvc3Ryb25nPiBjb250cm9sZXJlbi48L3A+DQogICAgICA8ZGl2IGNsYXNzPSJub3RlLWJveCI+DQogICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtaGVhZCI+PHNwYW4gY2xhc3M9ImJhZGdlIj5QVU5UPC9zcGFuPjxoND5IZWxpY2/Dr2RhYWwgZnJlemVuIGNvbWJpbmVlcnQgY2lyY3VsYWlyZSBpbnRlcnBvbGF0aWUgZW4gWi1hcyB2b2VkaW5nPC9oND48L2Rpdj4NCiAgICAgICAgPHA+RGUgYmVsYW5ncmlqa3N0ZSBjb250cm9sZXMgemlqbiBvZiBoZXQgZ2VyZWVkc2NoYXAgaGVsaWNvw69kYWFsIGZyZXplbiBvbmRlcnN0ZXVudCwgb2YgZGUgcmFtcGluZyBhbmdsZSBnZXNjaGlrdCBpcywgb2YgZGUgUGl0Y2ggbmlldCB0ZSBncm9vdCBpcyBlbiBvZiBkZSBmZWVkLWNvcnJlY3RpZSBjb3JyZWN0IHdvcmR0IGFmZ2VoYW5kZWxkLjwvcD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz0idmlkZW8tZW1iZWQiPg0KICAgICAgICA8aWZyYW1lIHdpZHRoPSIzMzkiIGhlaWdodD0iNjAyIiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3FKdlpUYWUyWWRRP3N0YXJ0PTExJmVuZD0xNSZwbGF5c2lubGluZT0xIiB0aXRsZT0iRG9GZWVkVHJpIC0gSGlnaCBmZWVkIGJld2Vya2luZyBtZXQgZWVuIGhvcml6b250YWFsIGJld2Vya2luZ3NjZW50cnVtISIgZnJhbWVib3JkZXI9IjAiIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlOyB3ZWItc2hhcmUiIHJlZmVycmVycG9saWN5PSJzdHJpY3Qtb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luIiBhbGxvd2Z1bGxzY3JlZW49IiI+PC9pZnJhbWU+DQogICAgICA8L2Rpdj4NCiAgICA8L3NlY3Rpb24+DQoNCiAgICA8c2VjdGlvbiBpZD0ic2VjdGlvbjIiPg0KICAgICAgPGgyIGNsYXNzPSJyZWRsaW5lIj4yLiBEcmllIGtlcm53YWFyZGVuIGJpaiBoZWxpY2/Dr2RhYWwgZnJlemVuPC9oMj4NCiAgICAgIDxwPkJlZ2luIGJpaiBoZXQgaW5zdGVsbGVuIHZhbiBkZSBjb25kaXRpZXMgdm9vciBoZWxpY2/Dr2RhYWwgZnJlemVuIG1ldCBkZSB2b2xnZW5kZSBkcmllIHdhYXJkZW4uPC9wPg0KICAgICAgPHRhYmxlPg0KICAgICAgICA8dGhlYWQ+PHRyPjx0aD5JdGVtPC90aD48dGg+U3ltYm9vbDwvdGg+PHRoPkJlc2NocmlqdmluZzwvdGg+PC90cj48L3RoZWFkPg0KICAgICAgICA8dGJvZHk+DQogICAgICAgICAgPHRyPjx0ZD5HYXRkaWFtZXRlcjwvdGQ+PHRkPkRoPC90ZD48dGQ+R2V3ZW5zdGUgZ2F0ZGlhbWV0ZXIgb2YgaGVsaWNvw69kYWxlIGdhdGRpYW1ldGVyPC90ZD48L3RyPg0KICAgICAgICAgIDx0cj48dGQ+Q3V0dGVyZGlhbWV0ZXI8L3RkPjx0ZD5EYzwvdGQ+PHRkPkRpYW1ldGVyIHZhbiBkZSBnZWJydWlrdGUgZnJlZXM8L3RkPjwvdHI+DQogICAgICAgICAgPHRyPjx0ZD5QaXRjaDwvdGQ+PHRkPlBoPC90ZD48dGQ+Wi1hcyB2ZXJwbGFhdHNpbmcgcGVyIG9td2VudGVsaW5nIHZhbiBoZXQgZ2VyZWVkc2NoYXA8L3RkPjwvdHI+DQogICAgICAgIDwvdGJvZHk+DQogICAgICA8L3RhYmxlPg0KICAgICAgPHA+Wm9kcmEgZGV6ZSBkcmllIHdhYXJkZW4gemlqbiBpbmdlc3RlbGQsIGt1bm5lbiBkZSBkaWFtZXRlciB2YW4gaGV0IGdlcmVlZHNjaGFwc2NlbnRydW1wYWQgZW4gZGUgYWZnZWxlZ2RlIGFmc3RhbmQgdmFuIGhldCBnZXJlZWRzY2hhcHNjZW50cnVtIHBlciBvbXdlbnRlbGluZyB3b3JkZW4gYmVwYWFsZC48L3A+DQogICAgICA8cHJlPjxjb2RlPlRvb2wtY2VudGVyIHBhdGggZGlhbWV0ZXIgPSBEaCAtIERjDQpUb29sLWNlbnRlciB0cmF2ZWwgZGlzdGFuY2UgcGVyIHJldm9sdXRpb24gPSAoRGggLSBEYykgeCBwaTwvY29kZT48L3ByZT4NCg0KICAgICAgPGZpZ3VyZSBjbGFzcz0iY29udGVudC1maWd1cmUiIGFyaWEtbGFiZWw9IkhvbGUgZGlhbWV0ZXIgYW5kIHRvb2wtY2VudGVyIHBhdGggZGlhZ3JhbSI+DQogICAgICAgIDxpbWcgc3JjPSJodHRwczovL3R1bmdhbG95LmNvbS93cGRhdGEvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDcvaGVsaWNhbC1iYXNpcy5wbmciIGFsdD0iUmVsYXRpZSB0dXNzZW4gZ2F0ZGlhbWV0ZXIgRGgsIGN1dHRlcmRpYW1ldGVyIERjIGVuIGRpYW1ldGVyIHZhbiBoZXQgZ2VyZWVkc2NoYXBzY2VudHJ1bXBhZCBEaCAtIERjIj4NCiAgICAgIDwvZmlndXJlPg0KDQogICAgICA8aDMgY2xhc3M9InN1Yi10aXRsZSI+SG9lIHRlIGRlbmtlbiBvdmVyIGRlIHJhbXBpbmcgYW5nbGU8L2gzPg0KICAgICAgPHA+Wm9kcmEgZGUgUGl0Y2ggaXMgaW5nZXN0ZWxkLCBrYW4gZGUgcmFtcGluZyBhbmdsZSB3b3JkZW4gYmVyZWtlbmQuPC9wPg0KICAgICAgPHByZT48Y29kZT5SYW1waW5nIGFuZ2xlID0gYXRhbihoZWxpY2FsIHBpdGNoIC8gdG9vbC1jZW50ZXIgdHJhdmVsIGRpc3RhbmNlIHBlciByZXZvbHV0aW9uKTwvY29kZT48L3ByZT4NCiAgICAgIDxwPkJpanZvb3JiZWVsZCwgd2FubmVlciBkZSBnYXRkaWFtZXRlciA1MCBtbSBpcywgZGUgY3V0dGVyZGlhbWV0ZXIgMTAgbW0gZW4gZGUgUGl0Y2ggNSBtbTo8L3A+DQogICAgICA8cHJlPjxjb2RlPlRvb2wtY2VudGVyIHBhdGggZGlhbWV0ZXIgPSA1MC4wIC0gMTAuMCA9IDQwLjAgbW0NClRvb2wtY2VudGVyIHRyYXZlbCBkaXN0YW5jZSBwZXIgcmV2b2x1dGlvbiA9IDQwLjAgeCBwaSA9IDEyNS43IG1tDQpSYW1waW5nIGFuZ2xlID0gYXRhbig1LjAgLyAxMjUuNykgPSBhcHByb3guIDIuMyBkZWc8L2NvZGU+PC9wcmU+DQogICAgICA8cD5BbHMgdSBlZXJzdCBkZSByYW1waW5nIGFuZ2xlIHdpbHQgaW5zdGVsbGVuLCBiZXJla2VuIGRhbiBkZSBQaXRjaCBtZXQgZGUgdm9sZ2VuZGUgZm9ybXVsZS48L3A+DQogICAgICA8cHJlPjxjb2RlPkhlbGljYWwgcGl0Y2ggPSB0b29sLWNlbnRlciB0cmF2ZWwgZGlzdGFuY2UgcGVyIHJldm9sdXRpb24geCB0YW4ocmFtcGluZyBhbmdsZSk8L2NvZGU+PC9wcmU+DQogICAgICA8ZGl2IGNsYXNzPSJub3RlLWJveCI+DQogICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtaGVhZCI+PHNwYW4gY2xhc3M9ImJhZGdlIj5QVU5UPC9zcGFuPjxoND5EZSBiZXJla2VuaW5nc2Jhc2lzIGlzIGRlIGRpYW1ldGVyIHZhbiBoZXQgZ2VyZWVkc2NoYXBzY2VudHJ1bXBhZCwgbmlldCBkZSBnYXRkaWFtZXRlciB6ZWxmPC9oND48L2Rpdj4NCiAgICAgICAgPHA+QmlqIGJlcmVrZW5pbmdlbiB2b29yIGhlbGljb8OvZGFhbCBmcmV6ZW4gaXMgaGV0IGJlbGFuZ3Jpamsgb20gZGUgPHN0cm9uZyBjbGFzcz0iZW0tcmVkIj5kaWFtZXRlciB2YW4gaGV0IHBhZCBkYXQgZG9vciBoZXQgZ2VyZWVkc2NoYXBzY2VudHJ1bSB3b3JkdCBiZXNjaHJldmVuPC9zdHJvbmc+IHRlIGdlYnJ1aWtlbiwgbmlldCBkZSBnYXRkaWFtZXRlciB6ZWxmLjwvcD4NCiAgICAgIDwvZGl2Pg0KICAgIDwvc2VjdGlvbj4NCg0KICAgIDxzZWN0aW9uIGlkPSJzZWN0aW9uMyI+DQogICAgICA8aDIgY2xhc3M9InJlZGxpbmUiPjMuIFB1bnRlbiB2b29yIGdlcmVlZHNjaGFwc2tldXplIGJpaiBoZWxpY2/Dr2RhYWwgZnJlemVuPC9oMj4NCiAgICAgIDxwPkJpaiBoZWxpY2/Dr2RhYWwgZnJlemVuIGlzIG5pZXQgZWxrZSBjdXR0ZXIgZGllIGluIGRlIGdhdGRpYW1ldGVyIHBhc3QgYXV0b21hdGlzY2ggZ2VzY2hpa3QuIFUgbW9ldCBiZXZlc3RpZ2VuIG9mIGhldCBnZXJlZWRzY2hhcCBoZWxpY2/Dr2RhYWwgZnJlemVuIG9uZGVyc3RldW50LCBvZiBkZSBnYXRkaWFtZXRlciBiaW5uZW4gaGV0IG1pbmltYWFsIGVuIG1heGltYWFsIG9uZGVyc3RldW5kZSBoZWxpY2/Dr2RhbGUgZ2F0YmVyZWlrIHZhbHQsIGVuIG9mIGRlIFBpdGNoIGVuIHJhbXBpbmcgYW5nbGUgYmlubmVuIGRlIGdlcmVlZHNjaGFwc3NwZWNpZmljYXRpZXMgdmFsbGVuLjwvcD4NCiAgICAgIDxoMyBjbGFzcz0ic3ViLXRpdGxlIj5UeXBlbiBjdXR0ZXJzIGdlYnJ1aWt0IHZvb3IgaGVsaWNvw69kYWFsIGZyZXplbjwvaDM+DQogICAgICA8cD5EZSBiZWxhbmdyaWprc3RlIGthbmRpZGF0ZW4gemlqbiA8c3Ryb25nIGNsYXNzPSJlbS1yZWQiPlNob3VsZGVyIG1pbGxpbmcgY3V0dGVycyBtZXQgcmFtcGluZy1tb2dlbGlqa2hlaWQ8L3N0cm9uZz4gZW4gPHN0cm9uZyBjbGFzcz0iZW0tcmVkIj5IaWdoIGZlZWQgY3V0dGVycyBtZXQgcmFtcGluZy1tb2dlbGlqa2hlaWQ8L3N0cm9uZz4uIEJldmVzdGlnIHZvb3IgYmVpZGUgdHlwZW4gb2YgaGV0IGdlcmVlZHNjaGFwIGthbiB3b3JkZW4gZ2VicnVpa3Qgdm9vciBoZWxpY2/Dr2RhYWwgZnJlemVuLCB3YXQgZGUgbWF4aW1hbGUgcmFtcGluZyBhbmdsZSBpcyBlbiBvZiBkZSBnZXdlbnN0ZSBkaWFtZXRlciBiaW5uZW4gaGV0IG1pbmltYWxlIGVuIG1heGltYWxlIGhlbGljb8OvZGFsZSBnYXRiZXJlaWsgdmFsdC48L3A+DQogICAgICA8ZGl2IGNsYXNzPSJjdXR0ZXItaW1hZ2VzIj4NCiAgICAgICAgPGZpZ3VyZSBjbGFzcz0iY3V0dGVyLWltYWdlIj4NCiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly90dW5nYWxveS5jb20vd3BkYXRhL3dwLWNvbnRlbnQvdXBsb2Fkcy9wcm9kdWN0X01pbGxpbmdfVHVuZ0ZvcmNlLVJlYy0xNTB4MTUwLnBuZyIgYWx0PSJBZmJlZWxkaW5nIFNob3VsZGVyIG1pbGxpbmcgY3V0dGVyIiB3aWR0aD0iMTUwIiBoZWlnaHQ9IjE1MCI+DQogICAgICAgICAgPGZpZ2NhcHRpb24+QWZiZWVsZGluZyBTaG91bGRlciBtaWxsaW5nIGN1dHRlcjwvZmlnY2FwdGlvbj4NCiAgICAgICAgPC9maWd1cmU+DQogICAgICAgIDxmaWd1cmUgY2xhc3M9ImN1dHRlci1pbWFnZSI+DQogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vdHVuZ2Fsb3kuY29tL3dwZGF0YS93cC1jb250ZW50L3VwbG9hZHMvbV81NDVfdF8wMS0xNTB4MTUwLnBuZyIgYWx0PSJBZmJlZWxkaW5nIEhpZ2ggZmVlZCBjdXR0ZXIiIHdpZHRoPSIxNTAiIGhlaWdodD0iMTUwIj4NCiAgICAgICAgICA8ZmlnY2FwdGlvbj5BZmJlZWxkaW5nIEhpZ2ggZmVlZCBjdXR0ZXI8L2ZpZ2NhcHRpb24+DQogICAgICAgIDwvZmlndXJlPg0KICAgICAgPC9kaXY+DQogICAgICA8aDMgY2xhc3M9InN1Yi10aXRsZSI+Vm9vciB2b29yYmV3ZXJrZW4gemlqbiBIaWdoIGZlZWQgY3V0dGVycyBtZWVzdGFsIGRlIGVlcnN0ZSBrZXV6ZTwvaDM+DQogICAgICA8cD5XYW5uZWVyIGhlbGljb8OvZGFhbCBmcmV6ZW4gd29yZHQgZ2VicnVpa3QgYWxzIHZvb3JiZXdlcmtpbmdzcHJvY2VzLCBpcyBoZXQgbG9naXNjaCBvbSB0ZSBiZWdpbm5lbiBtZXQgaGV0IG92ZXJ3ZWdlbiB2YW4gZWVuIDxzdHJvbmcgY2xhc3M9ImVtLXJlZCI+SGlnaCBmZWVkIGN1dHRlcjwvc3Ryb25nPi4gSG9ld2VsIEhpZ2ggZmVlZCBjdXR0ZXJzIGVlbiBrbGVpbmVyZSBtYXhpbWFsZSBzbmlqZGllcHRlIEFQTVgga3VubmVuIGhlYmJlbiwga3VubmVuIHplIHZhYWsgZWVuIGhvZ2VyZSBGZWVkIHRvZXBhc3Nlbiwgd2F0IHZvb3JkZWxpZyBpcyB2b29yIGRlIHByb2R1Y3Rpdml0ZWl0LjwvcD4NCiAgICAgIDxwPkFmaGFua2VsaWprIHZhbiBkZSBiZXdlcmtpbmdzYWZzdGFuZCBlbiBkZSBkaWFtZXRlciB2YW4gaGV0IGdlcmVlZHNjaGFwc2NlbnRydW1wYWQga2FuIGRlIG1heGltYWxlIHJhbXBpbmcgYW5nbGUgdmFuIGVlbiBTaG91bGRlciBjdXR0ZXIgZGUgYmVwZXJrZW5kZSBmYWN0b3Igd29yZGVuLCB3YWFyZG9vciBkZSBjdXR0ZXIgemlqbiBiZXNjaGlrYmFyZSBBUE1YIG5pZXQgdm9sbGVkaWcga2FuIGJlbnV0dGVuLiBEYWFyb20ga2FuIDxzdHJvbmc+PHNwYW4gY2xhc3M9ImhsIj5lZW4gSGlnaCBmZWVkIGN1dHRlciB2b29yZGVsaWcgemlqbiwgemVsZnMgYWxzIGRlIEFQTVgga2xlaW5lciBpcywgb21kYXQgZGV6ZSBob2dlcmUgRmVlZC1jb25kaXRpZXMga2FuIHRvZXBhc3Nlbjwvc3Bhbj48L3N0cm9uZz4uPC9wPg0KICAgICAgPGRpdiBjbGFzcz0iY29tcGFyaXNvbi1saXN0Ij4NCiAgICAgICAgPGRpdj4NCiAgICAgICAgICA8aDQ+V2FubmVlciB0ZSBiZWdpbm5lbiBtZXQgZWVuIEhpZ2ggZmVlZCBjdXR0ZXI8L2g0Pg0KICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPlZvb3JiZXdlcmtlbjo8L3N0cm9uZz4gVm9vciBvcCBwcm9kdWN0aXZpdGVpdCBnZXJpY2h0ZSBiZXdlcmtpbmdlbiBiZWdpbnQgdSBtZXQgZWVuIEhpZ2ggZmVlZCBjdXR0ZXIuPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkRpZXBlIGdhdGVuOjwvc3Ryb25nPiBIaWdoIGZlZWQgY3V0dGVycyB6aWpuIGRvb3JnYWFucyBiZXRlciBiZXN0YW5kIHRlZ2VuIHRyaWxsaW5nZW4gYmlqIGJld2Vya2luZ2VuIG1ldCBlZW4gbGFuZ2UgdWl0c3RlZWtsZW5ndGUgZW4gem9yZ2VuIHZvb3IgZWVuIGdvZWRlIHNwYWFuYWZ2b2VyLjwvbGk+DQogICAgICAgICAgICA8bGk+PHN0cm9uZz5XYW5uZWVyIGhldCB2ZXJrb3J0ZW4gdmFuIGRlIGJld2Vya2luZ3N0aWpkIGJlbGFuZ3JpamsgaXM6PC9zdHJvbmc+IFplbGZzIG1ldCBlZW4ga2xlaW5lcmUgQVBNWCBrdW5uZW4gSGlnaCBmZWVkIGNvbmRpdGllcyBnZW1ha2tlbGlqa2VyIHdvcmRlbiB0b2VnZXBhc3QuPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkhhcmRlIG9mIG1vZWlsaWprIHRlIHZlcnNwYW5lbiBtYXRlcmlhbGVuOjwvc3Ryb25nPiBFZW4ga2xlaW5lIGludHJlZGVob2VrIGthbiBkZSBzcGFhbiBkdW5uZXIgbWFrZW4gZW4gZGUgZ2VyZWVkc2NoYXBzYmVsYXN0aW5nIHZlcm1pbmRlcmVuLjwvbGk+DQogICAgICAgICAgPC91bD4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXY+DQogICAgICAgICAgPGg0PkhvZSB0ZSB2ZXJnZWxpamtlbiBtZXQgU2hvdWxkZXIgbWlsbGluZyBjdXR0ZXJzPC9oND4NCiAgICAgICAgICA8dWw+DQogICAgICAgICAgICA8bGk+PHN0cm9uZz5TaG91bGRlciBtaWxsaW5nIGN1dHRlcjo8L3N0cm9uZz4gWmVsZnMgd2FubmVlciBkZSBBUE1YIGdyb290IGlzLCBrYW4gZGUgbGltaWV0IHZhbiBkZSBtYXhpbWFsZSByYW1waW5nIGFuZ2xlIGhldCB2b2xsZWRpZ2UgZ2VicnVpayB2YW4gZGllIGNhcGFjaXRlaXQgdmVyaGluZGVyZW4uPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkhpZ2ggZmVlZCBjdXR0ZXI6PC9zdHJvbmc+IFplbGZzIG1ldCBlZW4ga2xlaW5lcmUgQVBNWCBrdW5uZW4gSGlnaCBmZWVkIGNvbmRpdGllcyBkZXplIHZvb3JkZWxpZyBtYWtlbiBiaWogaGV0IHZvb3JiZXdlcmtlbi48L2xpPg0KICAgICAgICAgIDwvdWw+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgICA8aDMgY2xhc3M9InN1Yi10aXRsZSI+V2FhciBTaG91bGRlciBtaWxsaW5nIGN1dHRlcnMgZWZmZWN0aWVmIHppam48L2gzPg0KICAgICAgPHA+RXIgemlqbiBvb2sgZ2V2YWxsZW4gd2FhcmluIFNob3VsZGVyIG1pbGxpbmcgY3V0dGVycyB2b29yZGVsaWcgemlqbi4gT3ZlcndlZWcgZWVuIFNob3VsZGVyIGN1dHRlciB3YW5uZWVyIGRlIHN0YWJpbGl0ZWl0IHZhbiBoZXQgd2Vya3N0dWsgbGFhZyBpcyBvZiB3YW5uZWVyIGhldCB1aXRlcmxpamsgdmFuIGRlIGJld2Vya3RlIGdhdHdhbmQgYmVsYW5ncmlqayBpcy48L3A+DQogICAgICA8dGFibGU+DQogICAgICAgIDx0aGVhZD48dHI+PHRoPlNpdHVhdGllIGdlc2NoaWt0IHZvb3IgU2hvdWxkZXIgY3V0dGVyczwvdGg+PHRoPlJlZGVuPC90aD48L3RyPjwvdGhlYWQ+DQogICAgICAgIDx0Ym9keT4NCiAgICAgICAgICA8dHI+PHRkPkxhZ2Ugc3RhYmlsaXRlaXQgdmFuIGhldCB3ZXJrc3R1azwvdGQ+PHRkPlNob3VsZGVyIGN1dHRlcnMga3VubmVuIGhlbHBlbiBkZSByYWRpYWxlIGNvbXBvbmVudCB2YW4gZGUgc25pamtyYWNodCB0ZSB2ZXJtaW5kZXJlbiBlbiBkZSBrcmFjaHQgZGllIHRlZ2VuIGhldCB3ZXJrc3R1ayBkcnVrdCB0ZSBvbmRlcmRydWtrZW4uPC90ZD48L3RyPg0KICAgICAgICAgIDx0cj48dGQ+QmV0ZXIgdWl0ZXJsaWprIHZhbiBkZSBnYXR3YW5kIGlzIHZlcmVpc3Q8L3RkPjx0ZD5IaWdoIGZlZWQgY3V0dGVycyBrdW5uZW4gZWVuIHNjaHViYWNodGlnIG9wcGVydmxhayBhY2h0ZXJsYXRlbiBvcCBkZSBnYXR3YW5kLiBBbHMgZGUgd2FuZGFmd2Vya2luZyBiZWxhbmdyaWprIGlzLCBrYW4gZWVuIFNob3VsZGVyIGN1dHRlciBlZW4gYmV0ZXJlIGthbmRpZGFhdCB6aWpuLjwvdGQ+PC90cj4NCiAgICAgICAgPC90Ym9keT4NCiAgICAgIDwvdGFibGU+DQogICAgICA8ZGl2IGNsYXNzPSJub3RlLWJveCI+DQogICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtaGVhZCI+PHNwYW4gY2xhc3M9ImJhZGdlIj5QVU5UPC9zcGFuPjxoND5HZWJydWlrIEhpZ2ggZmVlZCBjdXR0ZXJzIGFscyBiYXNpcyB2b29yIHZvb3JiZXdlcmtlbjsgb3ZlcndlZWcgU2hvdWxkZXIgY3V0dGVycyB2b29yIHdlcmtzdHVra2VuIG1ldCBsYWdlIHN0YWJpbGl0ZWl0IG9mIGVlbiBiZXRlcmUgd2FuZGFmd2Vya2luZzwvaDQ+PC9kaXY+DQogICAgICAgIDxwPkNvbnRyb2xlZXIgYmlqIGRlIGZlaXRlbGlqa2Ugc2VsZWN0aWUgYWx0aWpkIG5pZXQgYWxsZWVuIGhldCB0eXBlIGN1dHRlciwgbWFhciBvb2sgZGUgbWF4aW1hbGUgcmFtcGluZyBhbmdsZSB2YW4gZWxrIGdlcmVlZHNjaGFwLCBkZSBtaW5pbWFsZSBlbiBtYXhpbWFsZSBoZWxpY2/Dr2RhbGUgZ2F0ZGlhbWV0ZXIsIEFQTVggZW4gY29tcGF0aWJlbGUgd2lzc2VscGxhdGVuLjwvcD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPHRhYmxlPg0KICAgICAgICA8dGhlYWQ+PHRyPjx0aD5Db250cm9sZXB1bnQ8L3RoPjx0aD5XYWFyb20gaGV0IGJlbGFuZ3JpamsgaXM8L3RoPjx0aD5SaXNpY28gYmlqIG5lZ2VyZW48L3RoPjwvdHI+PC90aGVhZD4NCiAgICAgICAgPHRib2R5Pg0KICAgICAgICAgIDx0cj48dGQ+T25kZXJzdGV1bnQgaGV0IGdlcmVlZHNjaGFwIGhlbGljb8OvZGFhbCBmcmV6ZW4/PC90ZD48dGQ+R2VyZWVkc2NoYXBzZ2VvbWV0cmllLCBzbmlqa2FudHN0ZXJrdGUgZW4gc3BhYW5hZnZvZXIgbW9ldGVuIGdlc2NoaWt0IHppam4uPC90ZD48dGQ+Q2hpcHBpbmcsIHRyaWxsaW5nZW4sIHNwYWFub3Bob3Bpbmc8L3RkPjwvdHI+DQogICAgICAgICAgPHRyPjx0ZD5WYWx0IGRlIGRpYW1ldGVyIGJpbm5lbiBoZXQgbWluL21heCBoZWxpY2/Dr2RhbGUgZ2F0YmVyZWlrPzwvdGQ+PHRkPkJldmVzdGlnIG9mIGhldCBnZXJlZWRzY2hhcCBkZSBnZXdlbnN0ZSBnYXRkaWFtZXRlciBrYW4gZGVra2VuLjwvdGQ+PHRkPkdlcmVlZHNjaGFwc2ludGVyZmVyZW50aWUsIG92ZXJtYXRpZ2UgYmVsYXN0aW5nPC90ZD48L3RyPg0KICAgICAgICAgIDx0cj48dGQ+VmFsdCBkZSBQaXRjaCBiaW5uZW4gZGUgQVBNWD88L3RkPjx0ZD5CZXZlc3RpZyBvZiBkZSBaLWFzIGRpZXB0ZSBwZXIgb213ZW50ZWxpbmcgYmlubmVuIGRlIGdlcmVlZHNjaGFwc3NwZWNpZmljYXRpZXMgdmFsdC48L3RkPjx0ZD5CcmV1ayB2YW4gZGUgc25pamthbnQsIHNsZWNodGUgb3BwZXJ2bGFrdGVrd2FsaXRlaXQ8L3RkPjwvdHI+DQogICAgICAgICAgPHRyPjx0ZD5WYWx0IGRlIHJhbXBpbmcgYW5nbGUgYmlubmVuIGRlIGxpbWlldD88L3RkPjx0ZD5CZXZlc3RpZyBvZiBkZSBnZXJlZWRzY2hhcHNiZWxhc3RpbmcgdGlqZGVucyBzY2h1aW5lIGludHJlZGUgYWNjZXB0YWJlbCBibGlqZnQuPC90ZD48dGQ+Q2hpcHBpbmcsIHRyaWxsaW5nZW4sIG92ZXJiZWxhc3Rpbmc8L3RkPjwvdHI+DQogICAgICAgICAgPHRyPjx0ZD5LYW4gaGV0IGdlcmVlZHNjaGFwc2NlbnRydW1wYWQgd29yZGVuIGdld2FhcmJvcmdkPzwvdGQ+PHRkPkJldmVzdGlnIGRhdCBkZSBjdXR0ZXJkaWFtZXRlciBuaWV0IHRlIGRpY2h0IGJpaiBkZSBnYXRkaWFtZXRlciBsaWd0LjwvdGQ+PHRkPlJhbXBpbmcgYW5nbGUgaGVlZnQgZGUgbmVpZ2luZyB0ZSBncm9vdCB0ZSB3b3JkZW48L3RkPjwvdHI+DQogICAgICAgICAgPHRyPjx0ZD5aaWpuIGJld2Vya2luZ3NkaWVwdGUgZW4gdWl0c3RlZWtsZW5ndGUgYWNjZXB0YWJlbD88L3RkPjx0ZD5WZXJtaWpkIGludGVyZmVyZW50aWUgdmFuIGdlcmVlZHNjaGFwIG9mIGhvdWRlci48L3RkPjx0ZD5Ib3VkZXJpbnRlcmZlcmVudGllLCBvbnZvbGRvZW5kZSBzdGFiaWxpdGVpdDwvdGQ+PC90cj4NCiAgICAgICAgICA8dHI+PHRkPlppam4gZGUga3dhbGl0ZWl0IGVuIHNwYWFuYnJla2VyIGdlc2NoaWt0IHZvb3IgaGV0IG1hdGVyaWFhbD88L3RkPjx0ZD5EZSBzbmlqa2FudCBtb2V0IHBhc3NlbiBiaWogaGV0IG1hdGVyaWFhbCB2YW4gaGV0IHdlcmtzdHVrLjwvdGQ+PHRkPlNsaWp0YWdlLCBjaGlwcGluZywgc25pamthbnRzb3Bib3V3PC90ZD48L3RyPg0KICAgICAgICAgIDx0cj48dGQ+SXMgZGUgc3BhYW5hZnZvZXIgZ2V3YWFyYm9yZ2Q/PC90ZD48dGQ+U3BhbmVuIGhlYmJlbiBiZXBlcmt0ZSBvbnRzbmFwcGluZ3NydWltdGUgaW4gZWVuIGdhdC48L3RkPjx0ZD5IZXJzbmlqZGVuIHZhbiBzcGFuZW4sIGdlcmVlZHNjaGFwc3NjaGFkZTwvdGQ+PC90cj4NCiAgICAgICAgICA8dHI+PHRkPlZhbGxlbiBkZSBjb25kaXRpZXMgYmlubmVuIGRlIG1hY2hpbmVjYXBhY2l0ZWl0PzwvdGQ+PHRkPkNvbnRyb2xlZXIgc3BpbHRvZXJlbnRhbCwgRmVlZCBlbiBzcGlsdmVybW9nZW4uPC90ZD48dGQ+T25zdGFiaWVsZSBiZXdlcmtpbmcsIG9udmVybW9nZW4gb20gY29uZGl0aWVzIHRlIGJlcmVpa2VuPC90ZD48L3RyPg0KICAgICAgICA8L3Rib2R5Pg0KICAgICAgPC90YWJsZT4NCiAgICAgIDxkaXYgY2xhc3M9Im5vdGUtYm94Ij4NCiAgICAgICAgPGRpdiBjbGFzcz0ibm90ZS1oZWFkIj48c3BhbiBjbGFzcz0iYmFkZ2UiPlBVTlQ8L3NwYW4+PGg0PkNvbnRyb2xlZXIgZ2F0ZGlhbWV0ZXIsIGN1dHRlcmRpYW1ldGVyLCBBUE1YIGVuIG1heGltYWxlIHJhbXBpbmcgYW5nbGUgc2FtZW48L2g0PjwvZGl2Pg0KICAgICAgICA8cD5Db250cm9sZWVyIHZvb3IgZGUga2V1emUgdmFuIGdlcmVlZHNjaGFwIHZvb3IgaGVsaWNvw69kYWFsIGZyZXplbiBkZSA8c3Ryb25nIGNsYXNzPSJlbS1yZWQiPmdhdGRpYW1ldGVyLCBjdXR0ZXJkaWFtZXRlciwgbWluaW1hbGUgZW4gbWF4aW1hbGUgaGVsaWNvw69kYWxlIGdhdGRpYW1ldGVyLCBBUE1YIGVuIG1heGltYWxlIHJhbXBpbmcgYW5nbGU8L3N0cm9uZz4gYWxzIMOpw6luIHNldC48L3A+DQogICAgICA8L2Rpdj4NCiAgICA8L3NlY3Rpb24+DQoNCiAgICA8c2VjdGlvbiBpZD0ic2VjdGlvbjQiPg0KICAgICAgPGgyIGNsYXNzPSJyZWRsaW5lIj40LiBQcm9jZWR1cmUgdm9vciBnZXJlZWRzY2hhcHNrZXV6ZTwvaDI+DQogICAgICA8cD5EaXQgZ2VkZWVsdGUgYmVzY2hyaWpmdCBkZSBwcmFrdGlzY2hlIGZsb3cgdm9vciBoZXQgc2VsZWN0ZXJlbiB2YW4gZWVuIGZyZWVzIHZvb3IgaGVsaWNvw69kYWFsIGZyZXplbi4gU3RlbCBlZXJzdCBkZSBkaWFtZXRlciB2YW4gZGUga2FuZGlkYWF0LWN1dHRlciBpbiBlbiBiZXZlc3RpZyBvZiBoZXQgZ2VyZWVkc2NoYXAgZGUgZ2V3ZW5zdGUgZ2F0ZGlhbWV0ZXIga2FuIGRla2tlbi4gRGFhcm5hIHNwbGl0c3QgZGUgZmxvdyB6aWNoIGFmLCBhZmhhbmtlbGlqayB2YW4gb2YgdSBlZXJzdCBkZSBQaXRjaCBvZiBlZXJzdCBkZSByYW1waW5nIGFuZ2xlIGJlcGFhbHQuPC9wPg0KICAgICAgPG9sIGNsYXNzPSJzdGVwLWxpc3QiPg0KICAgICAgICA8bGk+PHN0cm9uZz5TdGVsIGRlIGN1dHRlcmRpYW1ldGVyIGluOjwvc3Ryb25nPiBTdGVsIGRlIGN1dHRlcmRpYW1ldGVyIG9mIGRlIGRpYW1ldGVyIHZhbiBoZXQga2FuZGlkYWF0LWdlcmVlZHNjaGFwIGluLjwvbGk+DQogICAgICAgIDxmaWd1cmUgY2xhc3M9ImNvbnRlbnQtZmlndXJlIHN0ZXAtaW1hZ2UiIGFyaWEtbGFiZWw9IkN1dHRlciBkaWFtZXRlciBzZXR0aW5nIGltYWdlIj4NCiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly90dW5nYWxveS5jb20vd3BkYXRhL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA3L3NlbGVjdFRvb2wucG5nIiBhbHQ9IkFmYmVlbGRpbmcgdmFuIGhldCBpbnN0ZWxsZW4gdmFuIGN1dHRlcmRpYW1ldGVyIERjIGVuIGthbmRpZGFhdC1nZXJlZWRzY2hhcCI+DQogICAgICAgIDwvZmlndXJlPg0KICAgICAgICA8bGk+PHN0cm9uZz5TZWxlY3RlZXIgdGlqZGVsaWprIGVlbiBnZXJlZWRzY2hhcCB1aXQgaGV0IG1pbi9tYXggaGVsaWNvw69kYWxlIGdhdGJlcmVpazo8L3N0cm9uZz4gQmV2ZXN0aWcgb2YgZGUgZ2V3ZW5zdGUgZGlhbWV0ZXIgYmlubmVuIGhldCB0b2VwYXNiYXJlIGJlcmVpayB2YW4gaGV0IGdlcmVlZHNjaGFwIHZhbHQuPC9saT4NCiAgICAgICAgPGZpZ3VyZSBjbGFzcz0iY29udGVudC1maWd1cmUgc3RlcC1pbWFnZSIgYXJpYS1sYWJlbD0iTWluL21heCBoZWxpY2FsLWhvbGUgcmFuZ2UgY2hlY2sgaW1hZ2UiPg0KICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3R1bmdhbG95LmNvbS93cGRhdGEvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDcvcGhvcmFuZ2xlLnBuZyIgYWx0PSJBZmJlZWxkaW5nIHZhbiBoZXQgdmVyZ2VsaWprZW4gdmFuIGRlIGdld2Vuc3RlIGdhdGRpYW1ldGVyIG1ldCBoZXQgbWluL21heCBoZWxpY2/Dr2RhbGUgZ2F0YmVyZWlrIHZhbiBoZXQga2FuZGlkYWF0LWdlcmVlZHNjaGFwIj4NCiAgICAgICAgPC9maWd1cmU+DQogICAgICAgIDxsaT48c3Ryb25nPkJlcmVrZW4gZGUgZGlhbWV0ZXIgdmFuIGhldCBnZXJlZWRzY2hhcHNjZW50cnVtcGFkIGVuIGRlIGFmZ2VsZWdkZSBhZnN0YW5kOjwvc3Ryb25nPiBab2RyYSBkZSBjdXR0ZXJkaWFtZXRlciBpcyBpbmdlc3RlbGQsIGxpZ3QgZGUgYmFzaXMgdm9vciBkZSBiZXJla2VuaW5nIHZhbiBkZSByYW1waW5nIGFuZ2xlIGVuIFBpdGNoIHZhc3QuPC9saT4NCiAgICAgICAgPGxpPjxzdHJvbmc+S2llcyBvZiBQaXRjaCBvZiByYW1waW5nIGFuZ2xlIGVlcnN0IGtvbXQ6PC9zdHJvbmc+IEJlaWRlIGJlbmFkZXJpbmdlbiB6aWpuIG1vZ2VsaWprOyBiZXZlc3RpZyB1aXRlaW5kZWxpamsgem93ZWwgZGUgQVBNWCBhbHMgZGUgbWF4aW1hbGUgcmFtcGluZyBhbmdsZS48L2xpPg0KICAgICAgICA8ZmlndXJlIGNsYXNzPSJjb250ZW50LWZpZ3VyZSBzdGVwLWltYWdlIiBhcmlhLWxhYmVsPSJUb29sLWNlbnRlciBwYXRoIGRpYW1ldGVyLCB0cmF2ZWwgZGlzdGFuY2UsIHBpdGNoLCBhbmQgcmFtcGluZy1hbmdsZSBmbG93IGltYWdlIj4NCiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly90dW5nYWxveS5jb20vd3BkYXRhL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA3L0NoZWNrQ2FwYWJpbGl0eS0yLnBuZyIgYWx0PSJGbG93IHZhbiBkaWFtZXRlciBnZXJlZWRzY2hhcHNjZW50cnVtcGFkIERoIC0gRGMsIGFmZ2VsZWdkZSBhZnN0YW5kIHBlciBvbXdlbnRlbGluZywgc2VsZWN0aWUgb3AgYmFzaXMgdmFuIFBpdGNoLWVlcnN0IGVuIHJhbXBpbmcgYW5nbGUtZWVyc3QiPg0KICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgIDwvb2w+DQogICAgICA8dGFibGU+DQogICAgICAgIDx0aGVhZD48dHI+PHRoPk1ldGhvZGU8L3RoPjx0aD5FZXJzdCBiZXBhYWxkZSB3YWFyZGU8L3RoPjx0aD5WZXJ2b2xnZW5zIGJlcmVrZW5kZSB3YWFyZGU8L3RoPjx0aD5CZWxhbmdyaWprc3RlIGNvbnRyb2xlczwvdGg+PC90cj48L3RoZWFkPg0KICAgICAgICA8dGJvZHk+DQogICAgICAgICAgPHRyPjx0ZD5NZXRob2RlIDE8L3RkPjx0ZD5QaXRjaDwvdGQ+PHRkPlJhbXBpbmcgYW5nbGU8L3RkPjx0ZD5BUE1YIGVuIG1heGltYWxlIHJhbXBpbmcgYW5nbGU8L3RkPjwvdHI+DQogICAgICAgICAgPHRyPjx0ZD5NZXRob2RlIDI8L3RkPjx0ZD5SYW1waW5nIGFuZ2xlPC90ZD48dGQ+UGl0Y2g8L3RkPjx0ZD5NYXhpbWFsZSByYW1waW5nIGFuZ2xlIGVuIEFQTVg8L3RkPjwvdHI+DQogICAgICAgIDwvdGJvZHk+DQogICAgICA8L3RhYmxlPg0KICAgICAgPGgzIGNsYXNzPSJzdWItdGl0bGUiPk1ldGhvZGUgMS4gQmVwYWFsIGVlcnN0IGRlIFBpdGNoPC9oMz4NCiAgICAgIDxwPldhbm5lZXIgdSBlZXJzdCBkZSBQaXRjaCBiZXBhYWx0LCBjb250cm9sZWVyIGRhbiBvZiBkZSBQaXRjaCBkZSBBUE1YIHZhbiBoZXQgZ2VyZWVkc2NoYXAgbmlldCBvdmVyc2NocmlqZHQuIEFscyBkaXQgYWNjZXB0YWJlbCBpcywgcGFzIGRhbiBkaWUgUGl0Y2ggdG9lIGVuIGJlcmVrZW4gZGUgcmFtcGluZyBhbmdsZSBvcCBiYXNpcyB2YW4gZGUgYWZnZWxlZ2RlIGFmc3RhbmQgdmFuIGhldCBnZXJlZWRzY2hhcHNjZW50cnVtIGVuIGRlIFBpdGNoLjwvcD4NCiAgICAgIDxmaWd1cmUgY2xhc3M9ImNvbnRlbnQtZmlndXJlIG1ldGhvZC1pbWFnZSIgYXJpYS1sYWJlbD0iUGl0Y2gtZmlyc3QgZmxvdyI+DQogICAgICAgIDxpbWcgc3JjPSJodHRwczovL3R1bmdhbG95LmNvbS93cGRhdGEvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDcvcHJpb3JQaXRjaC0xLnBuZyIgYWx0PSJGbG93IHZvb3IgaGV0IGVlcnN0IGJlcGFsZW4gdmFuIGRlIFBpdGNoLCBjb250cm9sZXJlbiB2YW4gQVBNWCwgZW4gdmVydm9sZ2VucyBiZXJla2VuZW4gdmFuIGRlIHJhbXBpbmcgYW5nbGUiPg0KICAgICAgPC9maWd1cmU+DQogICAgICA8cHJlPjxjb2RlPlJhbXBpbmcgYW5nbGUgPSBhdGFuKGhlbGljYWwgcGl0Y2ggLyB0b29sLWNlbnRlciB0cmF2ZWwgZGlzdGFuY2UgcGVyIHJldm9sdXRpb24pPC9jb2RlPjwvcHJlPg0KICAgICAgPHA+QmV2ZXN0aWcgdGVuIHNsb3R0ZSBkYXQgZGUgYmVyZWtlbmRlIHJhbXBpbmcgYW5nbGUgYmlubmVuIGRlIG1heGltYWxlIHJhbXBpbmcgYW5nbGUgdmFuIGhldCBrYW5kaWRhYXQtZ2VyZWVkc2NoYXAgdmFsdC4gQWxzIGVyIGdlZW4gcHJvYmxlZW0gaXMsIGt1bm5lbiBkZSBjdXR0ZXJkaWFtZXRlciwgaGV0IGdlcmVlZHNjaGFwc2l0ZW0sIGRlIFBpdGNoIGVuIGRlIHJhbXBpbmcgYW5nbGUgZGVmaW5pdGllZiB3b3JkZW4gdmFzdGdlc3RlbGQuPC9wPg0KICAgICAgPGgzIGNsYXNzPSJzdWItdGl0bGUiPk1ldGhvZGUgMi4gQmVwYWFsIGVlcnN0IGRlIHJhbXBpbmcgYW5nbGU8L2gzPg0KICAgICAgPHA+V2FubmVlciB1IGVlcnN0IGRlIHJhbXBpbmcgYW5nbGUgYmVwYWFsdCwgY29udHJvbGVlciBkYW4gb2YgZGUgaG9layBkZSBtYXhpbWFsZSByYW1waW5nIGFuZ2xlIHZhbiBoZXQga2FuZGlkYWF0LWdlcmVlZHNjaGFwIG5pZXQgb3ZlcnNjaHJpamR0LiBBbHMgZGl0IGFjY2VwdGFiZWwgaXMsIHBhcyBkYW4gZGllIHJhbXBpbmcgYW5nbGUgdG9lIGVuIGJlcmVrZW4gZGUgUGl0Y2ggb3AgYmFzaXMgdmFuIGRlIGFmZ2VsZWdkZSBhZnN0YW5kIHZhbiBoZXQgZ2VyZWVkc2NoYXBzY2VudHJ1bSBlbiBkZSByYW1waW5nIGFuZ2xlLjwvcD4NCiAgICAgIDxmaWd1cmUgY2xhc3M9ImNvbnRlbnQtZmlndXJlIG1ldGhvZC1pbWFnZSIgYXJpYS1sYWJlbD0iUmFtcGluZy1hbmdsZS1maXJzdCBmbG93Ij4NCiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vdHVuZ2Fsb3kuY29tL3dwZGF0YS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNy9wcmlvckFuZ2xlLTEucG5nIiBhbHQ9IkZsb3cgdm9vciBoZXQgZWVyc3QgYmVwYWxlbiB2YW4gZGUgcmFtcGluZyBhbmdsZSwgY29udHJvbGVyZW4gdmFuIGRlIG1heGltYWxlIHJhbXBpbmcgYW5nbGUsIGVuIHZlcnZvbGdlbnMgYmVyZWtlbmVuIHZhbiBkZSBQaXRjaCI+DQogICAgICA8L2ZpZ3VyZT4NCiAgICAgIDxwcmU+PGNvZGU+SGVsaWNhbCBwaXRjaCA9IHRvb2wtY2VudGVyIHRyYXZlbCBkaXN0YW5jZSBwZXIgcmV2b2x1dGlvbiB4IHRhbihyYW1waW5nIGFuZ2xlKTwvY29kZT48L3ByZT4NCiAgICAgIDxwPkJldmVzdGlnIHRlbiBzbG90dGUgZGF0IGRlIGJlcmVrZW5kZSBQaXRjaCBiaW5uZW4gZGUgQVBNWCB2YW4gaGV0IGthbmRpZGFhdC1nZXJlZWRzY2hhcCB2YWx0LiBBbHMgZXIgZ2VlbiBwcm9ibGVlbSBpcywga3VubmVuIGRlIGN1dHRlcmRpYW1ldGVyLCBoZXQgZ2VyZWVkc2NoYXBzaXRlbSwgZGUgcmFtcGluZyBhbmdsZSBlbiBkZSBQaXRjaCBkZWZpbml0aWVmIHdvcmRlbiB2YXN0Z2VzdGVsZC48L3A+DQogICAgICA8ZGl2IGNsYXNzPSJub3RlLWJveCI+DQogICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtaGVhZCI+PHNwYW4gY2xhc3M9ImJhZGdlIj5QVU5UPC9zcGFuPjxoND5EZSBlaW5kY29udHJvbGVzIHppam4gaGV0emVsZmRlLCBvZiB1IG51IGJlZ2ludCBiaWogZGUgUGl0Y2ggb2YgZGUgaG9lazwvaDQ+PC9kaXY+DQogICAgICAgIDxwPkJldmVzdGlnIGRhdCBkZSBjb25kaXRpZSA8c3Ryb25nIGNsYXNzPSJlbS1yZWQiPmJpbm5lbiBkZSBBUE1YLCBiaW5uZW4gZGUgbWF4aW1hbGUgcmFtcGluZyBhbmdsZSBlbiBiaW5uZW4gaGV0IG1pbi9tYXggaGVsaWNvw69kYWxlIGdhdGJlcmVpayB2YW4gaGV0IGdlcmVlZHNjaGFwPC9zdHJvbmc+IHZhbHQuPC9wPg0KICAgICAgPC9kaXY+DQogICAgPC9zZWN0aW9uPg0KDQogICAgPHNlY3Rpb24gaWQ9InNlY3Rpb241Ij4NCiAgICAgIDxoMiBjbGFzcz0icmVkbGluZSI+NS4gVm9vcnpvcmdzbWFhdHJlZ2VsZW4gdGlqZGVucyBoZWxpY2/Dr2RhYWwgZnJlemVuPC9oMj4NCiAgICAgIDxwPk9tZGF0IGhldCBnZXJlZWRzY2hhcCBvbmRlciBlZW4gaG9layBpbnRyZWVkdCB0ZXJ3aWpsIGhldCBsYW5ncyBlZW4gY2lya2Vsdm9ybWlnIHBhZCBiZXdlZWd0LCB2ZXJlaXN0IGhlbGljb8OvZGFhbCBmcmV6ZW4gbWVlciBjb250cm9sZXMgdmFuIGRlIGNvbmRpdGllcyBkYW4gZ2V3b29uIHppamRlbGluZ3MgZnJlemVuLiBDb250cm9sZWVyIGluIGhldCBiaWp6b25kZXIgYWx0aWpkIGRlIHJhbXBpbmcgYW5nbGUsIFBpdGNoLCBmZWVkLWNvcnJlY3RpZSBlbiBzcGFhbmFmdm9lci48L3A+DQogICAgICA8aDMgY2xhc3M9InN1Yi10aXRsZSI+TWFhayBkZSByYW1waW5nIGFuZ2xlIG5pZXQgdGUgZ3Jvb3Q8L2gzPg0KICAgICAgPHA+TmFhcm1hdGUgZGUgcmFtcGluZyBhbmdsZSB0b2VuZWVtdCwgbmVlbXQgZGUgYmVsYXN0aW5nIG9wIGRlIGN1dHRlci1zaG91bGRlciBlbiBkZSB3aXNzZWxwbGFhdCB0b2UuIFplbGZzIHdhbm5lZXIgZGUgaG9layBiaW5uZW4gZGUgbGltaWV0IHZhbiBkZSBtYXhpbWFsZSByYW1waW5nIGFuZ2xlIHZhbHQsIGt1bm5lbiB0cmlsbGluZ2VuIG9mIGNoaXBwaW5nIG9wdHJlZGVuLCBhZmhhbmtlbGlqayB2YW4gaGV0IG1hdGVyaWFhbCB2YW4gaGV0IHdlcmtzdHVrLCBkZSBzdGFiaWxpdGVpdCB2YW4gZGUgbWFjaGluZSBlbiBkZSB1aXRzdGVla2xlbmd0ZS48L3A+DQogICAgICA8aDMgY2xhc3M9InN1Yi10aXRsZSI+SG91ZCBkZSBQaXRjaCBiaW5uZW4gZGUgQVBNWDwvaDM+DQogICAgICA8cD5EZSBQaXRjaCBpcyBkZSBob2V2ZWVsaGVpZCBaLWFzIGRpZXB0ZSBwZXIgb213ZW50ZWxpbmcuIEFscyBkZSBQaXRjaCB0ZSBncm9vdCBpcywga2FuIGRlemUgZGUgQVBNWCB2YW4gaGV0IGdlcmVlZHNjaGFwIG92ZXJzY2hyaWpkZW4gZW4gbGVpZGVuIHRvdCBzcGFhbm9waG9waW5nIG9mIHRyaWxsaW5nZW4uPC9wPg0KICAgICAgPGgzIGNsYXNzPSJzdWItdGl0bGUiPldlZXMgdm9vcnppY2h0aWc6IERlIHZlcnBsYWF0c2luZyB2YW4gaGV0IGdlcmVlZHNjaGFwc2NlbnRydW0gZW4gZGUgdmVycGxhYXRzaW5nIHZhbiBkZSBzbmlqa2FudCB6aWpuIHZlcnNjaGlsbGVuZDwvaDM+DQogICAgICA8cD5CaWogaGVsaWNvw69kYWFsIGZyZXplbiB6aWpuIE5DLWNvbW1hbmRvJ3MgZ2ViYXNlZXJkIG9wIGhldCBwYWQgdmFuIGhldCBnZXJlZWRzY2hhcHNjZW50cnVtLiBEZSBmZWl0ZWxpamtlIHZlcnNwYW5pbmcgdmluZHQgZWNodGVyIHBsYWF0cyBhYW4gZGUgb210cmVrIHZhbiBoZXQgZ2VyZWVkc2NoYXAuPC9wPg0KICAgICAgPHA+QmlqIGlud2VuZGlnIGhlbGljb8OvZGFhbCBmcmV6ZW4gaXMgZGUgZGlhbWV0ZXIgdmFuIGhldCBnZXJlZWRzY2hhcHNjZW50cnVtcGFkIGtsZWluZXIgZGFuIGRlIGRpYW1ldGVyIHZhbiBoZXQgYmV3ZXJrdGUgZ2F0LiBEYWFyb20gemlqbiA8c3Ryb25nPjxzcGFuIGNsYXNzPSJobCI+ZGUgYWZnZWxlZ2RlIGFmc3RhbmQgdmFuIGhldCBnZXJlZWRzY2hhcHNjZW50cnVtIGVuIGRlIGFmZ2VsZWdkZSBhZnN0YW5kIHZhbiBkZSBzbmlqa2FudCBuaWV0IGhldHplbGZkZTwvc3Bhbj48L3N0cm9uZz4uPC9wPg0KICAgICAgPHA+QWxzIEZlZWQtd2FhcmRlbiB1aXQgZGUgY2F0YWxvZ3VzIHJlY2h0c3RyZWVrcyB3b3JkZW4gZ2Vjb21tYW5kZWVyZCBhbHMgRmVlZCB2b29yIGhldCBnZXJlZWRzY2hhcHNjZW50cnVtLCBrYW4gZGUgZmVpdGVsaWprZSBGZWVkIGFhbiBkZSBzbmlqa2FudCBncm90ZXIgd29yZGVuIGRhbiB2ZXJ3YWNodC4gQ29udHJvbGVlciBkZSBnZWNvbW1hbmRlZXJkZSBGZWVkIHZvb3IgaGV0IGdlcmVlZHNjaGFwc2NlbnRydW0gZW4gZGUgZmVlZC1jb3JyZWN0aWUsIHpvZGF0IGRlIEZlZWQgYWFuIGRlIHNuaWprYW50IG5pZXQgb3Zlcm1hdGlnIHdvcmR0LjwvcD4NCiAgICAgIDxwcmU+PGNvZGU+VG9vbC1jZW50ZXIgY29tbWFuZCBmZWVkID0gdW5jb3JyZWN0ZWQgZmVlZCB4IChEaCAtIERjKSAvIERoPC9jb2RlPjwvcHJlPg0KICAgICAgPHAgY2xhc3M9InNtYWxsLW5vdGUiPk9wbWVya2luZzogQWZoYW5rZWxpamsgdmFuIGRlIG1hY2hpbmUsIENOQy1iZXN0dXJpbmcgb2YgaGV0IENBTS1zeXN0ZWVtIGthbiBjaXJjdWxhaXJlIGZlZWQtY29ycmVjdGllIGF1dG9tYXRpc2NoIHdvcmRlbiBhZmdlaGFuZGVsZC4gQmV2ZXN0aWcgZGUgYmVzdHVyaW5nc3NwZWNpZmljYXRpZXMgdmFuIGRlIG1hY2hpbmUgZGllIHZvb3IgaGV0IGZlaXRlbGlqa2UgcHJvZ3JhbW1hIHdvcmR0IGdlYnJ1aWt0LjwvcD4NCiAgICAgIDxoMyBjbGFzcz0ic3ViLXRpdGxlIj5ab3JnIHZvb3IgZWVuIHZlaWxpZ2Ugc3BhYW5hZnZvZXI8L2gzPg0KICAgICAgPHA+QmlqIGhlbGljb8OvZGFhbCBmcmV6ZW4gaW4gZWVuIGdhdCBoZWJiZW4gc3BhbmVuIGVlbiBiZXBlcmt0ZSBvbnRzbmFwcGluZ3NydWltdGUuIFNwYWFub3Bob3Bpbmcga2FuIGxlaWRlbiB0b3QgY2hpcHBpbmcsIHNsZWNodGUgb3BwZXJ2bGFrdGVrd2FsaXRlaXQsIGFibm9ybWFhbCBnZWx1aWQgZW4gdHJpbGxpbmdlbi48L3A+DQogICAgICA8ZGl2IGNsYXNzPSJub3RlLWJveCI+DQogICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtaGVhZCI+PHNwYW4gY2xhc3M9ImJhZGdlIj5MRVQgT1A8L3NwYW4+PGg0PkJlcmVrZW5kZSB3YWFyZGVuIHppam4gZWVuIGxlaWRyYWFkIHZvb3IgaGV0IGNvbnRyb2xlcmVuIHZhbiBkZSBoYWFsYmFhcmhlaWQ8L2g0PjwvZGl2Pg0KICAgICAgICA8cD5TdGVsIGRlIHNuaWpjb25kaXRpZXMgZGVmaW5pdGllZiB2YXN0IG5hIGJldmVzdGlnaW5nIHZhbiBkZSBnZXJlZWRzY2hhcHNzcGVjaWZpY2F0aWVzLCBoZXQgbWF0ZXJpYWFsIHZhbiBoZXQgd2Vya3N0dWssIGRlIHN0YWJpbGl0ZWl0IHZhbiBkZSBtYWNoaW5lLCBkZSBzdGFiaWxpdGVpdCB2YW4gZGUgb3BzcGFubmluZyBlbiBkZSBrb2VsbWlkZGVsY29uZGl0aWVzLjwvcD4NCiAgICAgIDwvZGl2Pg0KICAgIDwvc2VjdGlvbj4NCg0KICAgIDxzZWN0aW9uIGlkPSJzZWN0aW9uNiI+DQogICAgICA8aDIgY2xhc3M9InJlZGxpbmUiPjYuIEVlbiBoYW5kaWdlIGNhbGN1bGF0b3Igdm9vciBQaXRjaCBlbiByYW1waW5nIGFuZ2xlPC9oMj4NCiAgICAgIDxwPlpvYWxzIGhpZXJib3ZlbiBiZXNjaHJldmVuLCB2ZXJlaXN0IGhlbGljb8OvZGFhbCBmcmV6ZW4gaGV0IGFjaHRlcmVlbnZvbGdlbnMgY29udHJvbGVyZW4gdmFuIGRlIGdhdGRpYW1ldGVyLCBjdXR0ZXJkaWFtZXRlciwgUGl0Y2gsIHJhbXBpbmcgYW5nbGUgZW4gZmVlZC1jb3JyZWN0aWUuPC9wPg0KICAgICAgPHA+RGUgZm9ybXVsZXMgemVsZiB6aWpuIG5pZXQgbW9laWxpamssIG1hYXIgaGV0IGhhbmRtYXRpZyB1aXR2b2VyZW4gdmFuIGRlIGJlcmVrZW5pbmdlbiBpcyBlbGtlIGtlZXIgdGlqZHJvdmVuZC4gQWxzIGNvbnRyb2xlcyB2YW4gZGUgQVBNWCBvZiBkZSBtYXhpbWFsZSByYW1waW5nIGFuZ2xlIHdvcmRlbiBnZW1pc3QsIGthbiBkZSBjb25kaXRpZSBkZSBnZXJlZWRzY2hhcHNzcGVjaWZpY2F0aWVzIG92ZXJzY2hyaWpkZW4uPC9wPg0KICAgICAgPHA+T20gZGV6ZSByZWRlbiBpcyBoZXQgZ2VicnVpayB2YW4gZWVuIGNhbGN1bGF0b3IgZGllIGF1dG9tYXRpc2NoIGRlIHJhbXBpbmcgYW5nbGUgZW4gUGl0Y2ggYmVyZWtlbnQgZWVuIGVmZmljacOrbnRlIG1hbmllciBvbSBkZSBjb25kaXRpZXMgdm9vciBoZWxpY2/Dr2RhYWwgZnJlemVuIHRlIGJlb29yZGVsZW4uIERlIG9uZGVyc3RhYW5kZSBjYWxjdWxhdG9yIGthbiBzY2hha2VsZW4gdHVzc2VuIGRlIGJlcmVrZW5pbmdzbW9kaSBQaXRjaC1uYWFyLWhvZWsgZW4gaG9lay1uYWFyLVBpdGNoLjwvcD4NCg0KICAgICAgPGRpdiBjbGFzcz0iY2FsY3VsYXRvci1lbWJlZCIgaWQ9ImNhbGN1bGF0b3IiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjYWxjLWhlYWRlciI+DQogICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJleWVicm93Ij5DYWxjdWxhdG9yIHZvb3IgaGVsaWNvw69kYWFsIGZyZXplbjwvcD4NCiAgICAgICAgICAgIDxoMz5DYWxjdWxhdG9yIHZvb3IgcmFtcGluZyBhbmdsZSBlbiBQaXRjaDwvaDM+DQogICAgICAgICAgICA8cD5Db250cm9sZWVyIGdhdGRpYW1ldGVyLCBjdXR0ZXJkaWFtZXRlciwgUGl0Y2gsIHJhbXBpbmcgYW5nbGUgZW4gZmVlZC1jb3JyZWN0aWUgc2FtZW4uPC9wPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1tZXRyaWNzIj4NCiAgICAgICAgICAgIDxkaXYgaWQ9InN1bW1hcnktYW5nbGUtY2FyZCIgY2xhc3M9Im1haW4tcmVzdWx0LXN1bW1hcnkiPjxzcGFuIGlkPSJzdW1tYXJ5LWFuZ2xlIj4tLTwvc3Bhbj48c21hbGw+UmFtcGluZyBhbmdsZTwvc21hbGw+PC9kaXY+DQogICAgICAgICAgICA8ZGl2IGlkPSJzdW1tYXJ5LXBpdGNoLWNhcmQiIGhpZGRlbj0iIj48c3BhbiBpZD0ic3VtbWFyeS1waXRjaCI+LS08L3NwYW4+PHNtYWxsPlBpdGNoPC9zbWFsbD48L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0iY2FsY3VsYXRvci13b3Jrc3BhY2UiPg0KICAgICAgICAgIDxmb3JtIGlkPSJjYWxjdWxhdG9yLWZvcm0iIGNsYXNzPSJjYWxjLXBhbmVsIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWhlYWQiPg0KICAgICAgICAgICAgICA8aDM+SW52b2VyY29uZGl0aWVzPC9oMz4NCiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJnaG9zdC1idXR0b24iIGlkPSJsb2FkLWV4YW1wbGUiPlZvb3JiZWVsZCBsYWRlbjwvYnV0dG9uPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9Im1vZGUtZmllbGQiPg0KICAgICAgICAgICAgICA8bGVnZW5kPkJlcmVrZW5pbmdzbW9kdXM8L2xlZ2VuZD4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VnbWVudGVkIiByb2xlPSJyYWRpb2dyb3VwIiBhcmlhLWxhYmVsPSJDYWxjdWxhdGlvbiBtb2RlIj4NCiAgICAgICAgICAgICAgICA8bGFiZWw+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJtb2RlIiB2YWx1ZT0icGl0Y2giIGNoZWNrZWQ+PHNwYW4+PGltZyBjbGFzcz0ibW9kZS1pY29uIiBzcmM9Int7SEVMSUNBTF9BU1NFVF9CQVNFX1VSTH19L2ljb24tcGl0Y2gtdG8tYW5nbGUucG5nIiBhbHQ9IiIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+UGl0Y2ggbmFhciBob2VrPC9zdHJvbmc+PHNtYWxsPlZvZXIgUGggaW4gb20gZGUgaG9layB0ZSBiZXJla2VuZW48L3NtYWxsPjwvc3Bhbj48L2xhYmVsPg0KICAgICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9Im1vZGUiIHZhbHVlPSJhbmdsZSI+PHNwYW4+PGltZyBjbGFzcz0ibW9kZS1pY29uIiBzcmM9Int7SEVMSUNBTF9BU1NFVF9CQVNFX1VSTH19L2ljb24tYW5nbGUtdG8tcGl0Y2gucG5nIiBhbHQ9IiIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+SG9layBuYWFyIFBpdGNoPC9zdHJvbmc+PHNtYWxsPlZvZXIgZGUgaG9layBpbiBvbSBQaCB0ZSBiZXJla2VuZW48L3NtYWxsPjwvc3Bhbj48L2xhYmVsPg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZmllbGRzZXQ+DQogICAgICAgICAgICA8ZmlndXJlIGNsYXNzPSJpbnB1dC1wYXJhbWV0ZXItZ3VpZGUiPg0KICAgICAgICAgICAgICA8aW1nIHNyYz0ie3tIRUxJQ0FMX0FTU0VUX0JBU0VfVVJMfX0vaW5wdXQtcGFyYW1ldGVyLWd1aWRlLnN2ZyIgYWx0PSJSZWxhdGllIHR1c3NlbiBnYXRkaWFtZXRlciwgY3V0dGVyZGlhbWV0ZXIsIGRpYW1ldGVyIGdlcmVlZHNjaGFwc2NlbnRydW1wYWQsIFBpdGNoIGVuIHJhbXBpbmcgYW5nbGUiPg0KICAgICAgICAgICAgPC9maWd1cmU+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyaWQiPg0KICAgICAgICAgICAgICA8bGFiZWw+PHNwYW4gY2xhc3M9ImZpZWxkLWxhYmVsIj48YiBjbGFzcz0iZmllbGQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPkRoPC9iPkdhdGRpYW1ldGVyIERoIDxlbT5tbTwvZW0+PC9zcGFuPjxpbnB1dCBpZD0iaG9sZS1kaWFtZXRlciIgdHlwZT0ibnVtYmVyIiBpbnB1dG1vZGU9ImRlY2ltYWwiIG1pbj0iMCIgc3RlcD0iMC4xIiB2YWx1ZT0iNTAuMCI+PC9sYWJlbD4NCiAgICAgICAgICAgICAgPGxhYmVsPjxzcGFuIGNsYXNzPSJmaWVsZC1sYWJlbCI+PGIgY2xhc3M9ImZpZWxkLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj5EYzwvYj5DdXR0ZXJkaWFtZXRlciBEYyA8ZW0+bW08L2VtPjwvc3Bhbj48aW5wdXQgaWQ9ImN1dHRlci1kaWFtZXRlciIgdHlwZT0ibnVtYmVyIiBpbnB1dG1vZGU9ImRlY2ltYWwiIG1pbj0iMCIgc3RlcD0iMC4xIiB2YWx1ZT0iMTAuMCI+PC9sYWJlbD4NCiAgICAgICAgICAgICAgPGxhYmVsIGlkPSJwaXRjaC1maWVsZCI+PHNwYW4gY2xhc3M9ImZpZWxkLWxhYmVsIj48YiBjbGFzcz0iZmllbGQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPlBoPC9iPlBpdGNoIFBoIDxlbT5tbS9yZXY8L2VtPjwvc3Bhbj48aW5wdXQgaWQ9InBpdGNoIiB0eXBlPSJudW1iZXIiIGlucHV0bW9kZT0iZGVjaW1hbCIgbWluPSIwIiBzdGVwPSIwLjEiIHZhbHVlPSI1LjAiPjwvbGFiZWw+DQogICAgICAgICAgICAgIDxsYWJlbCBpZD0iYW5nbGUtZmllbGQiIGNsYXNzPSJpcy1oaWRkZW4iIGhpZGRlbj0iIj48c3BhbiBjbGFzcz0iZmllbGQtbGFiZWwiPjxiIGNsYXNzPSJmaWVsZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+zrg8L2I+UmFtcGluZyBhbmdsZSB0aGV0YSA8ZW0+Z3JhZGVuPC9lbT48L3NwYW4+PGlucHV0IGlkPSJyYW1wLWFuZ2xlIiB0eXBlPSJudW1iZXIiIGlucHV0bW9kZT0iZGVjaW1hbCIgbWluPSIwIiBzdGVwPSIwLjEiIHZhbHVlPSIyLjMiPjwvbGFiZWw+DQogICAgICAgICAgICAgIDxsYWJlbD48c3BhbiBjbGFzcz0iZmllbGQtbGFiZWwiPjxiIGNsYXNzPSJmaWVsZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+WjwvYj5CZXdlcmtpbmdzZGllcHRlIDxlbT5tbTwvZW0+PC9zcGFuPjxpbnB1dCBpZD0iZGVwdGgiIHR5cGU9Im51bWJlciIgaW5wdXRtb2RlPSJkZWNpbWFsIiBtaW49IjAiIHN0ZXA9IjAuMSIgdmFsdWU9IjIwLjAiPjwvbGFiZWw+DQogICAgICAgICAgICAgIDxsYWJlbD48c3BhbiBjbGFzcz0iZmllbGQtbGFiZWwiPjxiIGNsYXNzPSJmaWVsZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+QXA8L2I+TWF4IHNuaWpkaWVwdGUgQVBNWCA8ZW0+bW08L2VtPjwvc3Bhbj48aW5wdXQgaWQ9ImFwbXgiIHR5cGU9Im51bWJlciIgaW5wdXRtb2RlPSJkZWNpbWFsIiBtaW49IjAiIHN0ZXA9IjAuMSIgdmFsdWU9IjYuMCI+PC9sYWJlbD4NCiAgICAgICAgICAgICAgPGxhYmVsPjxzcGFuIGNsYXNzPSJmaWVsZC1sYWJlbCI+PGIgY2xhc3M9ImZpZWxkLWljb24gd2lkZSIgYXJpYS1oaWRkZW49InRydWUiPs64bWF4PC9iPk1heCByYW1waW5nIGFuZ2xlIDxlbT5ncmFkZW48L2VtPjwvc3Bhbj48aW5wdXQgaWQ9Im1heC1yYW1wLWFuZ2xlIiB0eXBlPSJudW1iZXIiIGlucHV0bW9kZT0iZGVjaW1hbCIgbWluPSIwIiBzdGVwPSIwLjEiIHZhbHVlPSIzLjAiPjwvbGFiZWw+DQogICAgICAgICAgICAgIDxsYWJlbD48c3BhbiBjbGFzcz0iZmllbGQtbGFiZWwiPjxiIGNsYXNzPSJmaWVsZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+VmM8L2I+U25panNuZWxoZWlkIFZjIDxlbT5tL21pbjwvZW0+PC9zcGFuPjxpbnB1dCBpZD0iY3V0dGluZy1zcGVlZCIgdHlwZT0ibnVtYmVyIiBpbnB1dG1vZGU9ImRlY2ltYWwiIG1pbj0iMCIgc3RlcD0iMC4xIiB2YWx1ZT0iMTUwLjAiPjwvbGFiZWw+DQogICAgICAgICAgICAgIDxsYWJlbD48c3BhbiBjbGFzcz0iZmllbGQtbGFiZWwiPjxiIGNsYXNzPSJmaWVsZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+ejwvYj5FZmZlY3RpZWYgYWFudGFsIHRhbmRlbiB6PC9zcGFuPjxpbnB1dCBpZD0idGVldGgiIHR5cGU9Im51bWJlciIgaW5wdXRtb2RlPSJudW1lcmljIiBtaW49IjAiIHN0ZXA9IjEiIHZhbHVlPSI0Ij48L2xhYmVsPg0KICAgICAgICAgICAgICA8bGFiZWw+PHNwYW4gY2xhc3M9ImZpZWxkLWxhYmVsIj48YiBjbGFzcz0iZmllbGQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPmZ6PC9iPkZlZWQgcGVyIHRvb3RoIGZ6IDxlbT5tbS96PC9lbT48L3NwYW4+PGlucHV0IGlkPSJmZWVkLXBlci10b290aCIgdHlwZT0ibnVtYmVyIiBpbnB1dG1vZGU9ImRlY2ltYWwiIG1pbj0iMCIgc3RlcD0iMC4xIiB2YWx1ZT0iMC4xIj48L2xhYmVsPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPC9mb3JtPg0KDQogICAgICAgICAgPGRpdiBjbGFzcz0iY2FsYy1wYW5lbCByZXN1bHQtcGFuZWwiIGFyaWEtbGl2ZT0icG9saXRlIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWhlYWQiPjxoMz5CZXJla2VuaW5nc3Jlc3VsdGF0ZW48L2gzPjxzcGFuIGlkPSJyZXN1bHQtc3RhdGUiIGNsYXNzPSJzdGF0ZS1iYWRnZSI+QmVyZWtlbmVuLi4uPC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LWdyaWQiPg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPjxzbWFsbCBjbGFzcz0ibWV0cmljLWxhYmVsIj48YiBjbGFzcz0ibWV0cmljLWljb24gd2lkZSIgYXJpYS1oaWRkZW49InRydWUiPkRwYXRoPC9iPkRpYW1ldGVyIGdlcmVlZHNjaGFwc2NlbnRydW1wYWQgRHBhdGg8L3NtYWxsPjxzdHJvbmcgaWQ9ImNlbnRlci1wYXRoIj4tLTwvc3Ryb25nPjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPjxzbWFsbCBjbGFzcz0ibWV0cmljLWxhYmVsIj48YiBjbGFzcz0ibWV0cmljLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj5MPC9iPkFmZ2VsZWdkZSBhZnN0YW5kIGdlcmVlZHNjaGFwc2NlbnRydW0gcGVyIG9td2VudGVsaW5nPC9zbWFsbD48c3Ryb25nIGlkPSJwYXRoLWxlbmd0aCI+LS08L3N0cm9uZz48L2Rpdj4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIiBpZD0icmVzdWx0LXBpdGNoLWNhcmQiIGhpZGRlbj0iIj48c21hbGwgY2xhc3M9Im1ldHJpYy1sYWJlbCI+PGIgY2xhc3M9Im1ldHJpYy1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+UGg8L2I+UGl0Y2ggUGg8L3NtYWxsPjxzdHJvbmcgaWQ9InJlc3VsdC1waXRjaCI+LS08L3N0cm9uZz48L2Rpdj4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIG1haW4tcmVzdWx0IiBpZD0icmVzdWx0LWFuZ2xlLWNhcmQiPjxzbWFsbCBjbGFzcz0ibWV0cmljLWxhYmVsIj48YiBjbGFzcz0ibWV0cmljLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj7OuDwvYj5SYW1waW5nIGFuZ2xlIHRoZXRhPC9zbWFsbD48c3Ryb25nIGlkPSJyZXN1bHQtYW5nbGUiPi0tPC9zdHJvbmc+PC9kaXY+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYyI+PHNtYWxsIGNsYXNzPSJtZXRyaWMtbGFiZWwiPjxiIGNsYXNzPSJtZXRyaWMtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPm48L2I+U3BpbHRvZXJlbnRhbCBuPC9zbWFsbD48c3Ryb25nIGlkPSJycG0iPi0tPC9zdHJvbmc+PC9kaXY+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYyI+PHNtYWxsIGNsYXNzPSJtZXRyaWMtbGFiZWwiPjxiIGNsYXNzPSJtZXRyaWMtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPkZlPC9iPk9uZ2Vjb3JyaWdlZXJkZSBGZWVkIEZfZWRnZTwvc21hbGw+PHN0cm9uZyBpZD0iZWRnZS1mZWVkIj4tLTwvc3Ryb25nPjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPjxzbWFsbCBjbGFzcz0ibWV0cmljLWxhYmVsIj48YiBjbGFzcz0ibWV0cmljLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj5LPC9iPkZhY3RvciB2b29yIGZlZWQtY29ycmVjdGllPC9zbWFsbD48c3Ryb25nIGlkPSJmZWVkLWZhY3RvciI+LS08L3N0cm9uZz48L2Rpdj4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIGFjY2VudCI+PHNtYWxsIGNsYXNzPSJtZXRyaWMtbGFiZWwiPjxiIGNsYXNzPSJtZXRyaWMtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPkZjPC9iPkdlY29tbWFuZGVlcmRlIEZlZWQgZ2VyZWVkc2NoYXBzY2VudHJ1bSBGX2NlbnRlcjwvc21hbGw+PHN0cm9uZyBpZD0iY2VudGVyLWZlZWQiPi0tPC9zdHJvbmc+PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1yZXN1bHRzIj4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVwdGgtcmVzdWx0LWNhcmQiPjxoMz5CZXdlcmtpbmdzZGllcHRlPC9oMz48ZGl2IGNsYXNzPSJkZXB0aC1yZXN1bHQtbGF5b3V0Ij48ZmlndXJlIGNsYXNzPSJkZXB0aC1wbGFuLWd1aWRlIj48aW1nIHNyYz0ie3tIRUxJQ0FMX0FTU0VUX0JBU0VfVVJMfX0vZGVwdGgtcGxhbi1ndWlkZS5zdmciIGFsdD0iVm9vcmJlZWxkIHZhbiBoZXQgYmVyZWlrZW4gdmFuIDIwLDAgbW0gZGllcHRlIGluIDQgb213ZW50ZWxpbmdlbiBtZXQgZWVuIFBpdGNoIHZhbiA1LDAgbW0vcmV2Ij48L2ZpZ3VyZT48ZGwgY2xhc3M9ImRlcHRoLXJlc3VsdC1saXN0Ij48ZGl2PjxkdD5WZXJlaXN0ZSBvbXdlbnRlbGluZ2VuPC9kdD48ZGQgaWQ9InR1cm5zLXJhdyI+LS08L2RkPjwvZGl2PjxkaXY+PGR0PkdlcHJvZ3JhbW1lZXJkZSBvbXdlbnRlbGluZ2VuPC9kdD48ZGQgaWQ9InR1cm5zLXByb2dyYW0iPi0tPC9kZD48L2Rpdj48ZGl2PjxkdD5QaXRjaCBhYW5nZXBhc3QgYWFuIGRpZXB0ZTwvZHQ+PGRkIGlkPSJmaXQtcGl0Y2giPi0tPC9kZD48L2Rpdj48ZGl2PjxkdD5Ib2VrIGFhbmdlcGFzdCBhYW4gZGllcHRlPC9kdD48ZGQgaWQ9ImZpdC1hbmdsZSI+LS08L2RkPjwvZGl2PjwvZGw+PC9kaXY+PC9kaXY+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpc3RhbmNlLXJlc3VsdC1jYXJkIj48aDM+QWZzdGFuZCBlbiB0aWpkPC9oMz48ZGwgY2xhc3M9ImRpc3RhbmNlLXJlc3VsdC1saXN0Ij48ZGl2PjxkdD4zRC12ZXJwbGFhdHNpbmcgcGVyIG9td2VudGVsaW5nPC9kdD48ZGQgaWQ9ImhlbGljYWwtbGVuZ3RoIj4tLTwvZGQ+PC9kaXY+PGRpdj48ZHQ+T25nZXZlZXIgdG90YWxlIHZlcnBsYWF0c2luZzwvZHQ+PGRkIGlkPSJ0b3RhbC1sZW5ndGgiPi0tPC9kZD48L2Rpdj48ZGl2PjxkdD5PbmdldmVlciBiZXdlcmtpbmdzdGlqZDwvZHQ+PGRkIGlkPSJlc3RpbWF0ZWQtdGltZSI+LS08L2RkPjwvZGl2PjwvZGw+PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrcyI+PGgzPkJlb29yZGVsaW5nIGVuIHZvb3J6b3Jnc21hYXRyZWdlbGVuPC9oMz48dWwgaWQ9ImNoZWNrLWxpc3QiPjwvdWw+PC9kaXY+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9zZWN0aW9uPg0KDQogICAgPHNlY3Rpb24gaWQ9InNlY3Rpb243Ij4NCiAgICAgIDxoMiBjbGFzcz0icmVkbGluZSI+Ny4gSW5sZWlkaW5nIHRvdCBkZSBnZXJlZWRzY2hhcHNzZWxlY3RvcjwvaDI+DQogICAgICA8cD5OYSBoZXQgYmVyZWtlbmVuIHZhbiBkZSByYW1waW5nIGFuZ2xlIGVuIGRlIFBpdGNoIGlzIGRlIHZvbGdlbmRlIHZyYWFnIHdlbGtlIGN1dHRlcnMgb25kZXIgZGllIGNvbmRpdGllcyBrdW5uZW4gd29yZGVuIGdlYnJ1aWt0LiBCaWogaGVsaWNvw69kYWFsIGZyZXplbiBtb2V0ZW4gZGUgZ2F0ZGlhbWV0ZXIsIGN1dHRlcmRpYW1ldGVyLCBBUE1YLCBtYXhpbWFsZSByYW1waW5nIGFuZ2xlIGVuIGhldCBtaW4vbWF4IGhlbGljb8OvZGFsZSBnYXRiZXJlaWsgc2FtZW4gd29yZGVuIGdlY29udHJvbGVlcmQsIHdhdCBoZXQgem9la2VuIGluIGNhdGFsb2dpIHRpamRyb3ZlbmQga2FuIG1ha2VuLjwvcD4NCiAgICAgIDxwPk9tIGRlemUgY29udHJvbGUgdGUgb25kZXJzdGV1bmVuLCBpcyBlciBlZW4gYXBhcnRlIGdlcmVlZHNjaGFwc3NlbGVjdG9yIGJlc2NoaWtiYWFyIHZvb3IgaGV0IHZpbmRlbiB2YW4gZ2VzY2hpa3RlIFR1bmdhbG95LWN1dHRlcnMgb3AgYmFzaXMgdmFuIHV3IGludm9lcmNvbmRpdGllcy4gRG9vciBkZSBrYW5kaWRhYXQtY3V0dGVycyBpbiBkZSBnZXJlZWRzY2hhcHNzZWxlY3RvciB0ZSB2ZXJmaWpuZW4sIGt1bnQgdSBkZSBjb25kaXRpZXMgdm9vciBoZWxpY2/Dr2RhYWwgZnJlemVuIHNvZXBlbGVyIGJlb29yZGVsZW4uPC9wPg0KICAgICAgPGRpdiBjbGFzcz0ibm90ZS1ib3giPg0KICAgICAgICA8ZGl2IGNsYXNzPSJub3RlLWhlYWQiPjxzcGFuIGNsYXNzPSJiYWRnZSI+VVNFIENBU0U8L3NwYW4+PGg0PkdlYnJ1aWsgZGUgY2FsY3VsYXRvciBlbiBkZSBnZXJlZWRzY2hhcHNzZWxlY3RvciB2b29yIHZlcnNjaGlsbGVuZGUgcm9sbGVuPC9oND48L2Rpdj4NCiAgICAgICAgPHA+R2VicnVpayBkZSA8c3Ryb25nIGNsYXNzPSJlbS1yZWQiPmNhbGN1bGF0b3I8L3N0cm9uZz4gb20gZGUgcmFtcGluZyBhbmdsZSwgUGl0Y2gsIGZlZWQtY29ycmVjdGllIGVuIGJld2Vya2luZ3NhZnN0YW5kIHRlIGNvbnRyb2xlcmVuLiBHZWJydWlrIGRlIDxzdHJvbmcgY2xhc3M9ImVtLXJlZCI+Z2VyZWVkc2NoYXBzc2VsZWN0b3I8L3N0cm9uZz4gb20gZ2VzY2hpa3RlIFR1bmdhbG95LWN1dHRlcnMgdGUgdmluZGVuIGRpZSBhYW4gZGllIGNvbmRpdGllcyB2b2xkb2VuLjwvcD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz0icC1jb250ZW50cy1idG4tYXJlYSI+DQogICAgICAgIDxhIGNsYXNzPSJwLWJ0biIgaHJlZj0iaHR0cHM6Ly90dW5nYWxveS5jb20vaGVsaWNhbC10b29sLXNlbGVjdG9yLyI+T3BlbiBkZSBnZXJlZWRzY2hhcHNzZWxlY3RvcjwvYT4NCiAgICAgIDwvZGl2Pg0KICAgICAgPHAgY2xhc3M9InNtYWxsLW5vdGUiPk9wbWVya2luZzogRGUgZ2VyZWVkc2NoYXBzc2VsZWN0b3IgaGVscHQgdSBiaWogaGV0IGNvbnRyb2xlcmVuIHZhbiBnZXNjaGlrdGUgVHVuZ2Fsb3ktY3V0dGVycyBkaWUgb3ZlcmVlbmtvbWVuIG1ldCB1dyBpbnZvZXJjb25kaXRpZXMuPC9wPg0KICAgIDwvc2VjdGlvbj4NCg0KICAgIDxzZWN0aW9uIGlkPSJzdW1tYXJ5Ij4NCiAgICAgIDxoMiBjbGFzcz0icmVkbGluZSI+U2FtZW52YXR0aW5nPC9oMj4NCiAgICAgIDxwPkhlbGljb8OvZGFhbCBmcmV6ZW4gaXMgZWVuIGJld2Vya2luZ3NtZXRob2RlIHdhYXJiaWogaGV0IGdlcmVlZHNjaGFwIGNpcmN1bGFpcmUgaW50ZXJwb2xhdGllIHZvbGd0IHRlcndpamwgaGV0IGluIGRlIFotcmljaHRpbmcgdm9lZHQuIEhldCBpcyBudXR0aWcgdm9vciBncm90ZSBnYXRlbiBkaWUgbW9laWxpamsgbWV0IGJvcmVuIHRlIGJld2Vya2VuIHppam4gZW4gdm9vciBwb2NrZXQtZW50cnkgYmV3ZXJraW5nZW4sIG1hYXIgZWVuIG9uanVpc3RlIGluc3RlbGxpbmcgdmFuIGRlIGNvbmRpdGllcyBrYW4gZGUgZ2VyZWVkc2NoYXBzYmVsYXN0aW5nIGFhbnppZW5saWprIHZlcmhvZ2VuLjwvcD4NCiAgICAgIDxvbCBjbGFzcz0ic3RlcC1saXN0Ij4NCiAgICAgICAgPGxpPkNvbnRyb2xlZXIgYmlqIGhlbGljb8OvZGFhbCBmcmV6ZW4gZGUgZ2F0ZGlhbWV0ZXIgRGgsIGN1dHRlcmRpYW1ldGVyIERjIGVuIGRlIGRpYW1ldGVyIHZhbiBoZXQgZ2VyZWVkc2NoYXBzY2VudHJ1bXBhZC48L2xpPg0KICAgICAgICA8bGk+QmVyZWtlbiBkZSBQaXRjaCBlbiBkZSByYW1waW5nIGFuZ2xlIG9wIGJhc2lzIHZhbiBkZSBhZmdlbGVnZGUgYWZzdGFuZCB2YW4gaGV0IGdlcmVlZHNjaGFwc2NlbnRydW0uPC9saT4NCiAgICAgICAgPGxpPkNvbnRyb2xlZXIgdm9vciBkZSBnZXJlZWRzY2hhcHNrZXV6ZSBhbHRpamQgZGUgbWluaW1hbGUvbWF4aW1hbGUgaGVsaWNvw69kYWxlIGdhdGRpYW1ldGVyLCBBUE1YIGVuIGRlIG1heGltYWxlIHJhbXBpbmcgYW5nbGUuPC9saT4NCiAgICAgICAgPGxpPk9mIHUgbnUgYmVnaW50IGJpaiBkZSBQaXRjaCBvZiBkZSBob2VrLCBiZXZlc3RpZyBkYXQgZGUgdWl0ZWluZGVsaWprZSBjb25kaXRpZSBiaW5uZW4gZGUgZ2VyZWVkc2NoYXBzc3BlY2lmaWNhdGllcyB2YWx0LjwvbGk+DQogICAgICAgIDxsaT5PbWRhdCBkZSB2ZXJwbGFhdHNpbmcgdmFuIGhldCBnZXJlZWRzY2hhcHNjZW50cnVtIGVuIGRlIHZlcnBsYWF0c2luZyB2YW4gZGUgc25pamthbnQgdmVyc2NoaWxsZW5kIHppam4sIG1vZXQgdSBsZXR0ZW4gb3AgZGUgZmVlZC1jb3JyZWN0aWUuPC9saT4NCiAgICAgICAgPGxpPkFscyBoYW5kbWF0aWdlIGJlcmVrZW5pbmcgbGFzdGlnIGlzLCBnZWJydWlrIGRhbiBkZSBjYWxjdWxhdG9yIG9tIGRlIGNvbmRpdGllcyB0ZSBjb250cm9sZXJlbi48L2xpPg0KICAgICAgICA8bGk+R2VicnVpayBkZSBhcGFydGUgZ2VyZWVkc2NoYXBzc2VsZWN0b3Igb20gZ2VzY2hpa3RlIGdlcmVlZHNjaGFwcGVuIHRlIGNvbnRyb2xlcmVuLjwvbGk+DQogICAgICA8L29sPg0KICAgICAgPHA+QmlqIGhlbGljb8OvZGFhbCBmcmV6ZW4gbW9ldGVuIGJlcmVrZW5pbmdlbiBlbiBnZXJlZWRzY2hhcHNrZXV6ZSBuaWV0IGFmem9uZGVybGlqayB3b3JkZW4gYmVzY2hvdXdkLiBIZXQgaXMgYmVsYW5ncmlqayBvbSBkZSBnYXRkaWFtZXRlciwgY3V0dGVyZGlhbWV0ZXIsIFBpdGNoLCByYW1waW5nIGFuZ2xlLCBmZWVkLWNvcnJlY3RpZSBlbiBnZXJlZWRzY2hhcHNzcGVjaWZpY2F0aWVzIGFscyDDqcOpbiBkb29ybG9wZW5kZSB3b3JrZmxvdyB0ZSBjb250cm9sZXJlbi48L3A+DQogICAgICA8ZGl2IGNsYXNzPSJwLWNvbnRlbnRzLWJ0bi1hcmVhIj4NCiAgICAgICAgPGEgY2xhc3M9InAtYnRuIiBocmVmPSIjY2FsY3VsYXRvciI+QmVyZWtlbiByYW1waW5nIGFuZ2xlIGVuIFBpdGNoPC9hPg0KICAgICAgPC9kaXY+DQogICAgPC9zZWN0aW9uPg0KICA8L21haW4+DQoNCjxzY3JpcHQgaWQ9ImhlbGljYWwtY2FsY3VsYXRvci13cC1pbmxpbmUtanMiPg0KKGZ1bmN0aW9uICgpIHsNCiAgInVzZSBzdHJpY3QiOw0KDQogIGNvbnN0IEVYQU1QTEUgPSB7DQogICAgaG9sZURpYW1ldGVyOiA1MCwNCiAgICBjdXR0ZXJEaWFtZXRlcjogMTAsDQogICAgcGl0Y2g6IDUsDQogICAgcmFtcEFuZ2xlOiAyLjMsDQogICAgZGVwdGg6IDIwLA0KICAgIGFwbXg6IDYsDQogICAgbWF4UmFtcEFuZ2xlOiAzLA0KICAgIGN1dHRpbmdTcGVlZDogMTUwLA0KICAgIHRlZXRoOiA0LA0KICAgIGZlZWRQZXJUb290aDogMC4xDQogIH07DQoNCiAgY29uc3QgRElTUExBWV9ESUdJVFMgPSAxOw0KDQogIGNvbnN0IGlkcyA9IHsNCiAgICBmb3JtOiAiY2FsY3VsYXRvci1mb3JtIiwNCiAgICBsb2FkRXhhbXBsZTogImxvYWQtZXhhbXBsZSIsDQogICAgcGl0Y2hGaWVsZDogInBpdGNoLWZpZWxkIiwNCiAgICBhbmdsZUZpZWxkOiAiYW5nbGUtZmllbGQiLA0KICAgIGhvbGVEaWFtZXRlcjogImhvbGUtZGlhbWV0ZXIiLA0KICAgIGN1dHRlckRpYW1ldGVyOiAiY3V0dGVyLWRpYW1ldGVyIiwNCiAgICBwaXRjaDogInBpdGNoIiwNCiAgICByYW1wQW5nbGU6ICJyYW1wLWFuZ2xlIiwNCiAgICBkZXB0aDogImRlcHRoIiwNCiAgICBhcG14OiAiYXBteCIsDQogICAgbWF4UmFtcEFuZ2xlOiAibWF4LXJhbXAtYW5nbGUiLA0KICAgIGN1dHRpbmdTcGVlZDogImN1dHRpbmctc3BlZWQiLA0KICAgIHRlZXRoOiAidGVldGgiLA0KICAgIGZlZWRQZXJUb290aDogImZlZWQtcGVyLXRvb3RoIiwNCiAgICByZXN1bHRTdGF0ZTogInJlc3VsdC1zdGF0ZSIsDQogICAgc3VtbWFyeUFuZ2xlQ2FyZDogInN1bW1hcnktYW5nbGUtY2FyZCIsDQogICAgc3VtbWFyeVBpdGNoQ2FyZDogInN1bW1hcnktcGl0Y2gtY2FyZCIsDQogICAgc3VtbWFyeUFuZ2xlOiAic3VtbWFyeS1hbmdsZSIsDQogICAgc3VtbWFyeVBpdGNoOiAic3VtbWFyeS1waXRjaCIsDQogICAgY2VudGVyUGF0aDogImNlbnRlci1wYXRoIiwNCiAgICBwYXRoTGVuZ3RoOiAicGF0aC1sZW5ndGgiLA0KICAgIHJlc3VsdFBpdGNoQ2FyZDogInJlc3VsdC1waXRjaC1jYXJkIiwNCiAgICByZXN1bHRBbmdsZUNhcmQ6ICJyZXN1bHQtYW5nbGUtY2FyZCIsDQogICAgcmVzdWx0UGl0Y2g6ICJyZXN1bHQtcGl0Y2giLA0KICAgIHJlc3VsdEFuZ2xlOiAicmVzdWx0LWFuZ2xlIiwNCiAgICBycG06ICJycG0iLA0KICAgIGVkZ2VGZWVkOiAiZWRnZS1mZWVkIiwNCiAgICBmZWVkRmFjdG9yOiAiZmVlZC1mYWN0b3IiLA0KICAgIGNlbnRlckZlZWQ6ICJjZW50ZXItZmVlZCIsDQogICAgdHVybnNSYXc6ICJ0dXJucy1yYXciLA0KICAgIHR1cm5zUHJvZ3JhbTogInR1cm5zLXByb2dyYW0iLA0KICAgIGZpdFBpdGNoOiAiZml0LXBpdGNoIiwNCiAgICBmaXRBbmdsZTogImZpdC1hbmdsZSIsDQogICAgaGVsaWNhbExlbmd0aDogImhlbGljYWwtbGVuZ3RoIiwNCiAgICB0b3RhbExlbmd0aDogInRvdGFsLWxlbmd0aCIsDQogICAgZXN0aW1hdGVkVGltZTogImVzdGltYXRlZC10aW1lIiwNCiAgICBjaGVja0xpc3Q6ICJjaGVjay1saXN0Ig0KICB9Ow0KDQogIGNvbnN0IGVsID0gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGlkcykubWFwKChba2V5LCBpZF0pID0+IFtrZXksIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKV0pKTsNCiAgaWYgKCFlbC5mb3JtIHx8ICFlbC5sb2FkRXhhbXBsZSB8fCAhZWwuY2hlY2tMaXN0KSB7DQogICAgcmV0dXJuOw0KICB9DQoNCiAgZnVuY3Rpb24gbWFya01pc3NpbmdJbWFnZXMoKSB7DQogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmNhbGN1bGF0b3ItZW1iZWQgaW1nIikuZm9yRWFjaCgoaW1hZ2UpID0+IHsNCiAgICAgIGNvbnN0IG1hcmtNaXNzaW5nID0gKCkgPT4gew0KICAgICAgICBpZiAoaW1hZ2UuY2xhc3NMaXN0LmNvbnRhaW5zKCJtb2RlLWljb24iKSkgew0KICAgICAgICAgIGltYWdlLmNsb3Nlc3QoIi5zZWdtZW50ZWQgc3BhbiIpPy5jbGFzc0xpc3QuYWRkKCJoYXMtbWlzc2luZy1pY29uIik7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgaW1hZ2UuY2xvc2VzdCgiZmlndXJlIik/LmNsYXNzTGlzdC5hZGQoImlzLWltYWdlLW1pc3NpbmciKTsNCiAgICAgICAgfQ0KICAgICAgfTsNCg0KICAgICAgaW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBtYXJrTWlzc2luZyk7DQogICAgICBpZiAoaW1hZ2UuY29tcGxldGUgJiYgaW1hZ2UubmF0dXJhbFdpZHRoID09PSAwKSB7DQogICAgICAgIG1hcmtNaXNzaW5nKCk7DQogICAgICB9DQogICAgfSk7DQogIH0NCg0KICBmdW5jdGlvbiBudW1iZXJWYWx1ZShlbGVtZW50KSB7DQogICAgaWYgKCFlbGVtZW50IHx8IGVsZW1lbnQudmFsdWUudHJpbSgpID09PSAiIikgew0KICAgICAgcmV0dXJuIG51bGw7DQogICAgfQ0KICAgIGNvbnN0IHZhbHVlID0gTnVtYmVyKGVsZW1lbnQudmFsdWUpOw0KICAgIHJldHVybiBOdW1iZXIuaXNGaW5pdGUodmFsdWUpID8gdmFsdWUgOiBudWxsOw0KICB9DQoNCiAgZnVuY3Rpb24gZ2V0TW9kZSgpIHsNCiAgICBjb25zdCBzZWxlY3RlZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0W25hbWU9J21vZGUnXTpjaGVja2VkIik7DQogICAgcmV0dXJuIHNlbGVjdGVkID8gc2VsZWN0ZWQudmFsdWUgOiAicGl0Y2giOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9ybWF0TnVtYmVyKHZhbHVlLCBkaWdpdHMgPSBESVNQTEFZX0RJR0lUUykgew0KICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHZhbHVlKSkgew0KICAgICAgcmV0dXJuICItLSI7DQogICAgfQ0KICAgIGNvbnN0IGZyYWN0aW9uRGlnaXRzID0gTWF0aC5tYXgoMCwgZGlnaXRzKTsNCiAgICByZXR1cm4gdmFsdWUudG9Mb2NhbGVTdHJpbmcoImVuLVVTIiwgew0KICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBmcmFjdGlvbkRpZ2l0cywNCiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogZnJhY3Rpb25EaWdpdHMNCiAgICB9KTsNCiAgfQ0KDQogIGZ1bmN0aW9uIHdpdGhVbml0KHZhbHVlLCB1bml0LCBkaWdpdHMpIHsNCiAgICBpZiAoIU51bWJlci5pc0Zpbml0ZSh2YWx1ZSkpIHsNCiAgICAgIHJldHVybiAiLS0iOw0KICAgIH0NCiAgICByZXR1cm4gYCR7Zm9ybWF0TnVtYmVyKHZhbHVlLCBkaWdpdHMpfSAke3VuaXR9YDsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvcm1hdElucHV0VmFsdWUodmFsdWUsIGRpZ2l0cyA9IERJU1BMQVlfRElHSVRTKSB7DQogICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUodmFsdWUpKSB7DQogICAgICByZXR1cm4gIiI7DQogICAgfQ0KICAgIHJldHVybiB2YWx1ZS50b0ZpeGVkKE1hdGgubWF4KDAsIGRpZ2l0cykpOw0KICB9DQoNCiAgZnVuY3Rpb24gc2V0VGV4dCh0YXJnZXQsIHZhbHVlKSB7DQogICAgdGFyZ2V0LnRleHRDb250ZW50ID0gdmFsdWU7DQogIH0NCg0KICBmdW5jdGlvbiBhZGRDaGVjayhjaGVja3MsIGxldmVsLCBtZXNzYWdlKSB7DQogICAgY2hlY2tzLnB1c2goeyBsZXZlbCwgbWVzc2FnZSB9KTsNCiAgfQ0KDQogIGZ1bmN0aW9uIHJlYWRJbnB1dHMoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIG1vZGU6IGdldE1vZGUoKSwNCiAgICAgIGhvbGVEaWFtZXRlcjogbnVtYmVyVmFsdWUoZWwuaG9sZURpYW1ldGVyKSwNCiAgICAgIGN1dHRlckRpYW1ldGVyOiBudW1iZXJWYWx1ZShlbC5jdXR0ZXJEaWFtZXRlciksDQogICAgICBwaXRjaDogbnVtYmVyVmFsdWUoZWwucGl0Y2gpLA0KICAgICAgcmFtcEFuZ2xlOiBudW1iZXJWYWx1ZShlbC5yYW1wQW5nbGUpLA0KICAgICAgZGVwdGg6IG51bWJlclZhbHVlKGVsLmRlcHRoKSwNCiAgICAgIGFwbXg6IG51bWJlclZhbHVlKGVsLmFwbXgpLA0KICAgICAgbWF4UmFtcEFuZ2xlOiBudW1iZXJWYWx1ZShlbC5tYXhSYW1wQW5nbGUpLA0KICAgICAgY3V0dGluZ1NwZWVkOiBudW1iZXJWYWx1ZShlbC5jdXR0aW5nU3BlZWQpLA0KICAgICAgdGVldGg6IG51bWJlclZhbHVlKGVsLnRlZXRoKSwNCiAgICAgIGZlZWRQZXJUb290aDogbnVtYmVyVmFsdWUoZWwuZmVlZFBlclRvb3RoKQ0KICAgIH07DQogIH0NCg0KICBmdW5jdGlvbiBjYWxjdWxhdGUoaW5wdXQpIHsNCiAgICBjb25zdCBjaGVja3MgPSBbXTsNCiAgICBjb25zdCBlcnJvcnMgPSBbXTsNCg0KICAgIGlmICghKGlucHV0LmhvbGVEaWFtZXRlciA+IDApKSB7DQogICAgICBlcnJvcnMucHVzaCgiRW50ZXIgYSBob2xlIGRpYW1ldGVyIGdyZWF0ZXIgdGhhbiAwLiIpOw0KICAgIH0NCiAgICBpZiAoIShpbnB1dC5jdXR0ZXJEaWFtZXRlciA+IDApKSB7DQogICAgICBlcnJvcnMucHVzaCgiRW50ZXIgYSBjdXR0ZXIgZGlhbWV0ZXIgZ3JlYXRlciB0aGFuIDAuIik7DQogICAgfQ0KICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7DQogICAgICByZXR1cm4geyBpbnB1dCwgY2hlY2tzOiBlcnJvcnMubWFwKChtZXNzYWdlKSA9PiAoeyBsZXZlbDogImVycm9yIiwgbWVzc2FnZSB9KSksIGhhc0Vycm9yOiB0cnVlIH07DQogICAgfQ0KDQogICAgY29uc3QgY2VudGVyUGF0aERpYW1ldGVyID0gaW5wdXQuaG9sZURpYW1ldGVyIC0gaW5wdXQuY3V0dGVyRGlhbWV0ZXI7DQogICAgaWYgKGNlbnRlclBhdGhEaWFtZXRlciA8PSAwKSB7DQogICAgICByZXR1cm4gew0KICAgICAgICBpbnB1dCwNCiAgICAgICAgY2VudGVyUGF0aERpYW1ldGVyLA0KICAgICAgICBjaGVja3M6IFt7IGxldmVsOiAmcXVvdDtlcnJvciZxdW90OywgbWVzc2FnZTogJnF1b3Q7Rm9yIGludGVybmFsIGhlbGljYWwgbWlsbGluZywgdGhlIGN1dHRlciBkaWFtZXRlciBpcyBlcXVhbCB0byBvciBsYXJnZXIgdGhhbiB0aGUgaG9sZSBkaWFtZXRlciwgc28gYSB0b29sLWNlbnRlciBwYXRoIGNhbm5vdCBiZSBjcmVhdGVkLiZxdW90OyB9XSwNCiAgICAgICAgaGFzRXJyb3I6IHRydWUNCiAgICAgIH07DQogICAgfQ0KDQogICAgY29uc3QgY2VudGVyUGF0aExlbmd0aCA9IGNlbnRlclBhdGhEaWFtZXRlciAqIE1hdGguUEk7DQogICAgY29uc3QgZmVlZENvcnJlY3Rpb25GYWN0b3IgPSBjZW50ZXJQYXRoRGlhbWV0ZXIgLyBpbnB1dC5ob2xlRGlhbWV0ZXI7DQogICAgbGV0IHBpdGNoID0gaW5wdXQucGl0Y2g7DQogICAgbGV0IGFuZ2xlID0gaW5wdXQucmFtcEFuZ2xlOw0KDQogICAgaWYgKGlucHV0Lm1vZGUgPT09ICJwaXRjaCIpIHsNCiAgICAgIGlmICghKHBpdGNoID4gMCkpIHsNCiAgICAgICAgYWRkQ2hlY2soY2hlY2tzLCAiZXJyb3IiLCAiRW50ZXIgYSBoZWxpY2FsIHBpdGNoIGdyZWF0ZXIgdGhhbiAwLiIpOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgYW5nbGUgPSBNYXRoLmF0YW4ocGl0Y2ggLyBjZW50ZXJQYXRoTGVuZ3RoKSAqIDE4MCAvIE1hdGguUEk7DQogICAgICB9DQogICAgfSBlbHNlIHsNCiAgICAgIGlmICghKGFuZ2xlID4gMCkpIHsNCiAgICAgICAgYWRkQ2hlY2soY2hlY2tzLCAiZXJyb3IiLCAiRW50ZXIgYSByYW1waW5nIGFuZ2xlIGdyZWF0ZXIgdGhhbiAwLiIpOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgcGl0Y2ggPSBjZW50ZXJQYXRoTGVuZ3RoICogTWF0aC50YW4oYW5nbGUgKiBNYXRoLlBJIC8gMTgwKTsNCiAgICAgIH0NCiAgICB9DQoNCiAgICBpZiAoIShwaXRjaCA+IDApIHx8ICEoYW5nbGUgPiAwKSkgew0KICAgICAgcmV0dXJuIHsNCiAgICAgICAgaW5wdXQsDQogICAgICAgIGNlbnRlclBhdGhEaWFtZXRlciwNCiAgICAgICAgY2VudGVyUGF0aExlbmd0aCwNCiAgICAgICAgY2hlY2tzLA0KICAgICAgICBoYXNFcnJvcjogY2hlY2tzLnNvbWUoKGNoZWNrKSA9PiBjaGVjay5sZXZlbCA9PT0gImVycm9yIikNCiAgICAgIH07DQogICAgfQ0KDQogICAgaWYgKGlucHV0LmFwbXggPT0gbnVsbCkgew0KICAgICAgYWRkQ2hlY2soY2hlY2tzLCAiY2F1dGlvbiIsICJBUE1YIGlzIG5vdCBlbnRlcmVkLCBzbyB0aGUgcGl0Y2ggY2Fubm90IGJlIGNoZWNrZWQgYWdhaW5zdCB0aGUgdG9vbCBsaW1pdC4iKTsNCiAgICB9IGVsc2UgaWYgKHBpdGNoID4gaW5wdXQuYXBteCkgew0KICAgICAgYWRkQ2hlY2soY2hlY2tzLCAiZXJyb3IiLCBgSGVsaWNhbCBwaXRjaCAke2Zvcm1hdE51bWJlcihwaXRjaCl9IG1tIGV4Y2VlZHMgQVBNWCAke2Zvcm1hdE51bWJlcihpbnB1dC5hcG14KX0gbW0uYCk7DQogICAgfSBlbHNlIGlmIChwaXRjaCA+IGlucHV0LmFwbXggKiAwLjkpIHsNCiAgICAgIGFkZENoZWNrKGNoZWNrcywgIndhcm5pbmciLCAiSGVsaWNhbCBwaXRjaCBpcyA5MCUgb3IgbW9yZSBvZiBBUE1YLiBDb25maXJtIHRvb2wgc3BlY2lmaWNhdGlvbnMgYW5kIG1hY2hpbmluZyBzdGFiaWxpdHkuIik7DQogICAgfSBlbHNlIHsNCiAgICAgIGFkZENoZWNrKGNoZWNrcywgIm9rIiwgIkhlbGljYWwgcGl0Y2ggaXMgd2l0aGluIEFQTVguIik7DQogICAgfQ0KDQogICAgaWYgKGlucHV0Lm1heFJhbXBBbmdsZSA9PSBudWxsKSB7DQogICAgICBhZGRDaGVjayhjaGVja3MsICJjYXV0aW9uIiwgIk1heGltdW0gcmFtcGluZyBhbmdsZSBpcyBub3QgZW50ZXJlZCwgc28gdGhlIGFuZ2xlIGNhbm5vdCBiZSBjaGVja2VkIGFnYWluc3QgdGhlIHRvb2wgbGltaXQuIik7DQogICAgfSBlbHNlIGlmIChhbmdsZSA+IGlucHV0Lm1heFJhbXBBbmdsZSkgew0KICAgICAgYWRkQ2hlY2soY2hlY2tzLCAiZXJyb3IiLCBgUmFtcGluZyBhbmdsZSAke2Zvcm1hdE51bWJlcihhbmdsZSl9IGRlZyBleGNlZWRzIHRoZSBtYXhpbXVtIHJhbXBpbmcgYW5nbGUgJHtmb3JtYXROdW1iZXIoaW5wdXQubWF4UmFtcEFuZ2xlKX0gZGVnLmApOw0KICAgIH0gZWxzZSBpZiAoYW5nbGUgPiBpbnB1dC5tYXhSYW1wQW5nbGUgKiAwLjkpIHsNCiAgICAgIGFkZENoZWNrKGNoZWNrcywgIndhcm5pbmciLCAiUmFtcGluZyBhbmdsZSBpcyA5MCUgb3IgbW9yZSBvZiB0aGUgbWF4aW11bSByYW1waW5nIGFuZ2xlLiBTdGFydCBmcm9tIGEgc2FmZXIgY29uZGl0aW9uLiIpOw0KICAgIH0gZWxzZSB7DQogICAgICBhZGRDaGVjayhjaGVja3MsICJvayIsICJSYW1waW5nIGFuZ2xlIGlzIHdpdGhpbiB0aGUgbWF4aW11bSByYW1waW5nIGFuZ2xlLiIpOw0KICAgIH0NCg0KICAgIGlmIChmZWVkQ29ycmVjdGlvbkZhY3RvciA8IDAuMjUpIHsNCiAgICAgIGFkZENoZWNrKGNoZWNrcywgIndhcm5pbmciLCAiVGhlIHRvb2wtY2VudGVyIHBhdGggZGlhbWV0ZXIgaXMgc21hbGwsIHNvIHJhbXBpbmcgYW5nbGUgYW5kIGZlZWQgY29ycmVjdGlvbiBoYXZlIGEgbGFyZ2UgaW5mbHVlbmNlLiIpOw0KICAgIH0NCg0KICAgIGNvbnN0IHJwbSA9IGlucHV0LmN1dHRpbmdTcGVlZCA+IDAgPyAoMTAwMCAqIGlucHV0LmN1dHRpbmdTcGVlZCkgLyAoTWF0aC5QSSAqIGlucHV0LmN1dHRlckRpYW1ldGVyKSA6IG51bGw7DQogICAgY29uc3QgZWRnZUZlZWQgPSBycG0gJiYgaW5wdXQudGVldGggPiAwICYmIGlucHV0LmZlZWRQZXJUb290aCA+IDAgPyBycG0gKiBpbnB1dC50ZWV0aCAqIGlucHV0LmZlZWRQZXJUb290aCA6IG51bGw7DQogICAgY29uc3QgY2VudGVyRmVlZCA9IGVkZ2VGZWVkID8gZWRnZUZlZWQgKiBmZWVkQ29ycmVjdGlvbkZhY3RvciA6IG51bGw7DQoNCiAgICBpZiAocnBtID09IG51bGwgfHwgZWRnZUZlZWQgPT0gbnVsbCkgew0KICAgICAgYWRkQ2hlY2soY2hlY2tzLCAiY2F1dGlvbiIsICJWYywgZWZmZWN0aXZlIHRlZXRoLCBvciBmZWVkIHBlciB0b290aCBpcyBtaXNzaW5nLCBzbyBzcGluZGxlIHNwZWVkIG9yIGZlZWQgcmF0ZSBjYW5ub3QgYmUgY2FsY3VsYXRlZC4iKTsNCiAgICB9DQogICAgYWRkQ2hlY2soY2hlY2tzLCAib2siLCAiVG9vbC1jZW50ZXIgY29tbWFuZCBmZWVkIGNhbiBiZSB1c2VkIGFzIGEgZ3VpZGUgZm9yIHRoZSBOQyBjb21tYW5kIHZhbHVlLiIpOw0KDQogICAgbGV0IGRlcHRoUGxhbiA9IG51bGw7DQogICAgbGV0IGRpc3RhbmNlUGxhbiA9IG51bGw7DQogICAgaWYgKGlucHV0LmRlcHRoID4gMCkgew0KICAgICAgY29uc3QgdHVybnNSYXcgPSBpbnB1dC5kZXB0aCAvIHBpdGNoOw0KICAgICAgY29uc3QgdHVybnNQcm9ncmFtID0gTWF0aC5tYXgoMSwgTWF0aC5jZWlsKHR1cm5zUmF3KSk7DQogICAgICBjb25zdCBmaXRQaXRjaCA9IGlucHV0LmRlcHRoIC8gdHVybnNQcm9ncmFtOw0KICAgICAgY29uc3QgZml0QW5nbGUgPSBNYXRoLmF0YW4oZml0UGl0Y2ggLyBjZW50ZXJQYXRoTGVuZ3RoKSAqIDE4MCAvIE1hdGguUEk7DQogICAgICBkZXB0aFBsYW4gPSB7IHR1cm5zUmF3LCB0dXJuc1Byb2dyYW0sIGZpdFBpdGNoLCBmaXRBbmdsZSB9Ow0KDQogICAgICBjb25zdCBoZWxpY2FsTGVuZ3RoUGVyVHVybiA9IE1hdGguc3FydChjZW50ZXJQYXRoTGVuZ3RoICoqIDIgKyBwaXRjaCAqKiAyKTsNCiAgICAgIGNvbnN0IHRvdGFsSGVsaWNhbExlbmd0aCA9IGhlbGljYWxMZW5ndGhQZXJUdXJuICogdHVybnNSYXc7DQogICAgICBjb25zdCBlc3RpbWF0ZWRUaW1lID0gY2VudGVyRmVlZCA/IHRvdGFsSGVsaWNhbExlbmd0aCAvIGNlbnRlckZlZWQgOiBudWxsOw0KICAgICAgZGlzdGFuY2VQbGFuID0geyBoZWxpY2FsTGVuZ3RoUGVyVHVybiwgdG90YWxIZWxpY2FsTGVuZ3RoLCBlc3RpbWF0ZWRUaW1lIH07DQoNCiAgICAgIGlmICh0dXJuc1JhdyA8IDEpIHsNCiAgICAgICAgYWRkQ2hlY2soY2hlY2tzLCAiY2F1dGlvbiIsICJNYWNoaW5pbmcgZGVwdGggaXMgbGVzcyB0aGFuIG9uZSBwaXRjaC4gQ29uZmlybSBmaW5hbC1wYXNzIGhhbmRsaW5nIGFuZCBwcm9ncmFtbWluZyBtZXRob2QuIik7DQogICAgICB9DQogICAgfSBlbHNlIHsNCiAgICAgIGFkZENoZWNrKGNoZWNrcywgImNhdXRpb24iLCAiTWFjaGluaW5nIGRlcHRoIGlzIG5vdCBlbnRlcmVkLCBzbyByZXF1aXJlZCByZXZvbHV0aW9ucyBjYW5ub3QgYmUgY2FsY3VsYXRlZC4iKTsNCiAgICB9DQoNCiAgICByZXR1cm4gew0KICAgICAgaW5wdXQsDQogICAgICBjZW50ZXJQYXRoRGlhbWV0ZXIsDQogICAgICBjZW50ZXJQYXRoTGVuZ3RoLA0KICAgICAgcGl0Y2gsDQogICAgICBhbmdsZSwNCiAgICAgIGZlZWRDb3JyZWN0aW9uRmFjdG9yLA0KICAgICAgcnBtLA0KICAgICAgZWRnZUZlZWQsDQogICAgICBjZW50ZXJGZWVkLA0KICAgICAgZGVwdGhQbGFuLA0KICAgICAgZGlzdGFuY2VQbGFuLA0KICAgICAgY2hlY2tzLA0KICAgICAgaGFzRXJyb3I6IGNoZWNrcy5zb21lKChjaGVjaykgPT4gY2hlY2subGV2ZWwgPT09ICJlcnJvciIpLA0KICAgICAgaGFzV2FybmluZzogY2hlY2tzLnNvbWUoKGNoZWNrKSA9PiBjaGVjay5sZXZlbCA9PT0gIndhcm5pbmciIHx8IGNoZWNrLmxldmVsID09PSAiY2F1dGlvbiIpDQogICAgfTsNCiAgfQ0KDQogIGZ1bmN0aW9uIHJlbmRlckNoZWNrcyhyZXN1bHQpIHsNCiAgICBlbC5jaGVja0xpc3QuaW5uZXJIVE1MID0gIiI7DQogICAgcmVzdWx0LmNoZWNrcy5mb3JFYWNoKChjaGVjaykgPT4gew0KICAgICAgY29uc3QgaXRlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7DQogICAgICBpdGVtLmNsYXNzTmFtZSA9IGNoZWNrLmxldmVsOw0KICAgICAgaXRlbS50ZXh0Q29udGVudCA9IGNoZWNrLm1lc3NhZ2U7DQogICAgICBlbC5jaGVja0xpc3QuYXBwZW5kQ2hpbGQoaXRlbSk7DQogICAgfSk7DQogIH0NCg0KICBmdW5jdGlvbiByZW5kZXIocmVzdWx0KSB7DQogICAgY29uc3QgbW9kZSA9IHJlc3VsdC5pbnB1dCA/IHJlc3VsdC5pbnB1dC5tb2RlIDogZ2V0TW9kZSgpOw0KICAgIGNvbnN0IHNob3dBbmdsZVJlc3VsdCA9IG1vZGUgPT09ICJwaXRjaCI7DQogICAgY29uc3Qgc2hvd1BpdGNoUmVzdWx0ID0gIXNob3dBbmdsZVJlc3VsdDsNCg0KICAgIGNvbnN0IHN0YXRlID0gcmVzdWx0Lmhhc0Vycm9yID8gImVycm9yIiA6IHJlc3VsdC5oYXNXYXJuaW5nID8gIndhcm5pbmciIDogIm9rIjsNCiAgICBlbC5yZXN1bHRTdGF0ZS5jbGFzc05hbWUgPSBgc3RhdGUtYmFkZ2UgJHtzdGF0ZX1gOw0KICAgIGVsLnJlc3VsdFN0YXRlLnRleHRDb250ZW50ID0gcmVzdWx0Lmhhc0Vycm9yID8gIk5lZWRzIGNvcnJlY3Rpb24iIDogcmVzdWx0Lmhhc1dhcm5pbmcgPyAiQ2hlY2siIDogIk9LIjsNCg0KICAgIGVsLnN1bW1hcnlBbmdsZUNhcmQuaGlkZGVuID0gIXNob3dBbmdsZVJlc3VsdDsNCiAgICBlbC5zdW1tYXJ5UGl0Y2hDYXJkLmhpZGRlbiA9ICFzaG93UGl0Y2hSZXN1bHQ7DQogICAgZWwuc3VtbWFyeUFuZ2xlQ2FyZC5jbGFzc0xpc3QudG9nZ2xlKCJtYWluLXJlc3VsdC1zdW1tYXJ5Iiwgc2hvd0FuZ2xlUmVzdWx0KTsNCiAgICBlbC5zdW1tYXJ5UGl0Y2hDYXJkLmNsYXNzTGlzdC50b2dnbGUoIm1haW4tcmVzdWx0LXN1bW1hcnkiLCBzaG93UGl0Y2hSZXN1bHQpOw0KICAgIGVsLnJlc3VsdEFuZ2xlQ2FyZC5oaWRkZW4gPSAhc2hvd0FuZ2xlUmVzdWx0Ow0KICAgIGVsLnJlc3VsdFBpdGNoQ2FyZC5oaWRkZW4gPSAhc2hvd1BpdGNoUmVzdWx0Ow0KICAgIGVsLnJlc3VsdEFuZ2xlQ2FyZC5jbGFzc0xpc3QudG9nZ2xlKCJtYWluLXJlc3VsdCIsIHNob3dBbmdsZVJlc3VsdCk7DQogICAgZWwucmVzdWx0UGl0Y2hDYXJkLmNsYXNzTGlzdC50b2dnbGUoIm1haW4tcmVzdWx0Iiwgc2hvd1BpdGNoUmVzdWx0KTsNCg0KICAgIHNldFRleHQoZWwuc3VtbWFyeUFuZ2xlLCByZXN1bHQuYW5nbGUgPyBgJHtmb3JtYXROdW1iZXIocmVzdWx0LmFuZ2xlKX0gZGVnYCA6ICItLSIpOw0KICAgIHNldFRleHQoZWwuc3VtbWFyeVBpdGNoLCByZXN1bHQucGl0Y2ggPyBgJHtmb3JtYXROdW1iZXIocmVzdWx0LnBpdGNoKX0gbW1gIDogIi0tIik7DQogICAgc2V0VGV4dChlbC5jZW50ZXJQYXRoLCB3aXRoVW5pdChyZXN1bHQuY2VudGVyUGF0aERpYW1ldGVyLCAibW0iKSk7DQogICAgc2V0VGV4dChlbC5wYXRoTGVuZ3RoLCB3aXRoVW5pdChyZXN1bHQuY2VudGVyUGF0aExlbmd0aCwgIm1tL3JldiIpKTsNCiAgICBzZXRUZXh0KGVsLnJlc3VsdFBpdGNoLCB3aXRoVW5pdChyZXN1bHQucGl0Y2gsICJtbS9yZXYiKSk7DQogICAgc2V0VGV4dChlbC5yZXN1bHRBbmdsZSwgd2l0aFVuaXQocmVzdWx0LmFuZ2xlLCAiZGVnIikpOw0KICAgIHNldFRleHQoZWwucnBtLCB3aXRoVW5pdChyZXN1bHQucnBtLCAibWluLTEiKSk7DQogICAgc2V0VGV4dChlbC5lZGdlRmVlZCwgd2l0aFVuaXQocmVzdWx0LmVkZ2VGZWVkLCAibW0vbWluIikpOw0KICAgIHNldFRleHQoZWwuZmVlZEZhY3RvciwgTnVtYmVyLmlzRmluaXRlKHJlc3VsdC5mZWVkQ29ycmVjdGlvbkZhY3RvcikgPyBmb3JtYXROdW1iZXIocmVzdWx0LmZlZWRDb3JyZWN0aW9uRmFjdG9yKSA6ICItLSIpOw0KICAgIHNldFRleHQoZWwuY2VudGVyRmVlZCwgd2l0aFVuaXQocmVzdWx0LmNlbnRlckZlZWQsICJtbS9taW4iKSk7DQoNCiAgICBjb25zdCBkZXB0aFBsYW4gPSByZXN1bHQuZGVwdGhQbGFuIHx8IHt9Ow0KICAgIHNldFRleHQoZWwudHVybnNSYXcsIE51bWJlci5pc0Zpbml0ZShkZXB0aFBsYW4udHVybnNSYXcpID8gYCR7Zm9ybWF0TnVtYmVyKGRlcHRoUGxhbi50dXJuc1Jhdyl9IHJldmAgOiAiLS0iKTsNCiAgICBzZXRUZXh0KGVsLnR1cm5zUHJvZ3JhbSwgTnVtYmVyLmlzRmluaXRlKGRlcHRoUGxhbi50dXJuc1Byb2dyYW0pID8gYCR7Zm9ybWF0TnVtYmVyKGRlcHRoUGxhbi50dXJuc1Byb2dyYW0sIDApfSByZXZgIDogIi0tIik7DQogICAgc2V0VGV4dChlbC5maXRQaXRjaCwgd2l0aFVuaXQoZGVwdGhQbGFuLmZpdFBpdGNoLCAibW0vcmV2IikpOw0KICAgIHNldFRleHQoZWwuZml0QW5nbGUsIHdpdGhVbml0KGRlcHRoUGxhbi5maXRBbmdsZSwgImRlZyIpKTsNCg0KICAgIGNvbnN0IGRpc3RhbmNlUGxhbiA9IHJlc3VsdC5kaXN0YW5jZVBsYW4gfHwge307DQogICAgc2V0VGV4dChlbC5oZWxpY2FsTGVuZ3RoLCB3aXRoVW5pdChkaXN0YW5jZVBsYW4uaGVsaWNhbExlbmd0aFBlclR1cm4sICJtbSIpKTsNCiAgICBzZXRUZXh0KGVsLnRvdGFsTGVuZ3RoLCB3aXRoVW5pdChkaXN0YW5jZVBsYW4udG90YWxIZWxpY2FsTGVuZ3RoLCAibW0iKSk7DQogICAgc2V0VGV4dChlbC5lc3RpbWF0ZWRUaW1lLCBOdW1iZXIuaXNGaW5pdGUoZGlzdGFuY2VQbGFuLmVzdGltYXRlZFRpbWUpID8gYCR7Zm9ybWF0TnVtYmVyKGRpc3RhbmNlUGxhbi5lc3RpbWF0ZWRUaW1lICogNjApfSBzZWNgIDogIi0tIik7DQoNCiAgICByZW5kZXJDaGVja3MocmVzdWx0KTsNCiAgfQ0KDQogIGZ1bmN0aW9uIHVwZGF0ZU1vZGVGaWVsZHMoKSB7DQogICAgY29uc3QgbW9kZSA9IGdldE1vZGUoKTsNCiAgICBjb25zdCBpc1BpdGNoTW9kZSA9IG1vZGUgPT09ICJwaXRjaCI7DQogICAgZWwucGl0Y2hGaWVsZC5jbGFzc0xpc3QudG9nZ2xlKCJpcy1oaWRkZW4iLCAhaXNQaXRjaE1vZGUpOw0KICAgIGVsLmFuZ2xlRmllbGQuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtaGlkZGVuIiwgaXNQaXRjaE1vZGUpOw0KICAgIGVsLnBpdGNoRmllbGQuaGlkZGVuID0gIWlzUGl0Y2hNb2RlOw0KICAgIGVsLmFuZ2xlRmllbGQuaGlkZGVuID0gaXNQaXRjaE1vZGU7DQogICAgZWwucGl0Y2hGaWVsZC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgU3RyaW5nKCFpc1BpdGNoTW9kZSkpOw0KICAgIGVsLmFuZ2xlRmllbGQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsIFN0cmluZyhpc1BpdGNoTW9kZSkpOw0KICAgIGVsLnBpdGNoLmRpc2FibGVkID0gIWlzUGl0Y2hNb2RlOw0KICAgIGVsLnJhbXBBbmdsZS5kaXNhYmxlZCA9IGlzUGl0Y2hNb2RlOw0KICB9DQoNCiAgZnVuY3Rpb24gY2FsY3VsYXRlQW5kUmVuZGVyKCkgew0KICAgIHVwZGF0ZU1vZGVGaWVsZHMoKTsNCiAgICByZW5kZXIoY2FsY3VsYXRlKHJlYWRJbnB1dHMoKSkpOw0KICB9DQoNCiAgZnVuY3Rpb24gbG9hZEV4YW1wbGUoKSB7DQogICAgZWwuaG9sZURpYW1ldGVyLnZhbHVlID0gZm9ybWF0SW5wdXRWYWx1ZShFWEFNUExFLmhvbGVEaWFtZXRlcik7DQogICAgZWwuY3V0dGVyRGlhbWV0ZXIudmFsdWUgPSBmb3JtYXRJbnB1dFZhbHVlKEVYQU1QTEUuY3V0dGVyRGlhbWV0ZXIpOw0KICAgIGVsLnBpdGNoLnZhbHVlID0gZm9ybWF0SW5wdXRWYWx1ZShFWEFNUExFLnBpdGNoKTsNCiAgICBlbC5yYW1wQW5nbGUudmFsdWUgPSBmb3JtYXRJbnB1dFZhbHVlKEVYQU1QTEUucmFtcEFuZ2xlKTsNCiAgICBlbC5kZXB0aC52YWx1ZSA9IGZvcm1hdElucHV0VmFsdWUoRVhBTVBMRS5kZXB0aCk7DQogICAgZWwuYXBteC52YWx1ZSA9IGZvcm1hdElucHV0VmFsdWUoRVhBTVBMRS5hcG14KTsNCiAgICBlbC5tYXhSYW1wQW5nbGUudmFsdWUgPSBmb3JtYXRJbnB1dFZhbHVlKEVYQU1QTEUubWF4UmFtcEFuZ2xlKTsNCiAgICBlbC5jdXR0aW5nU3BlZWQudmFsdWUgPSBmb3JtYXRJbnB1dFZhbHVlKEVYQU1QTEUuY3V0dGluZ1NwZWVkKTsNCiAgICBlbC50ZWV0aC52YWx1ZSA9IGZvcm1hdElucHV0VmFsdWUoRVhBTVBMRS50ZWV0aCwgMCk7DQogICAgZWwuZmVlZFBlclRvb3RoLnZhbHVlID0gZm9ybWF0SW5wdXRWYWx1ZShFWEFNUExFLmZlZWRQZXJUb290aCk7DQogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT0nbW9kZSddW3ZhbHVlPSdwaXRjaCddIikuY2hlY2tlZCA9IHRydWU7DQogICAgY2FsY3VsYXRlQW5kUmVuZGVyKCk7DQogIH0NCg0KICBlbC5mb3JtLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgY2FsY3VsYXRlQW5kUmVuZGVyKTsNCiAgZWwuZm9ybS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCBjYWxjdWxhdGVBbmRSZW5kZXIpOw0KICBlbC5sb2FkRXhhbXBsZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGxvYWRFeGFtcGxlKTsNCiAgbWFya01pc3NpbmdJbWFnZXMoKTsNCiAgY2FsY3VsYXRlQW5kUmVuZGVyKCk7DQp9KSgpOw0KPC9zY3JpcHQ+DQo=[/vc_raw_html][/vc_column][/vc_row]</description></oembed>
