<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Tungaloy-NTK Germany GmbH</provider_name><provider_url>https://tungaloy.com/de/</provider_url><title>Helixfr&#xE4;sen meistern: Kompletter Leitfaden zur Werkzeugauswahl, Berechnung des Rampenwinkels und Optimierung der Schnittparameter</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="ZI7NQ4NZcv"&gt;&lt;a href="https://tungaloy.com/de/whats-new/tips_helical-milling/"&gt;Helixfr&#xE4;sen meistern: Kompletter Leitfaden zur Werkzeugauswahl, Berechnung des Rampenwinkels und Optimierung der Schnittparameter&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://tungaloy.com/de/whats-new/tips_helical-milling/embed/#?secret=ZI7NQ4NZcv" width="600" height="338" title="&#x201E;Helixfr&#xE4;sen meistern: Kompletter Leitfaden zur Werkzeugauswahl, Berechnung des Rampenwinkels und Optimierung der Schnittparameter&#x201C; &#x2013; Tungaloy-NTK Germany GmbH" data-secret="ZI7NQ4NZcv" 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=&#x201C;&#x201C; row_type=&#x201C;row&#x201C; use_row_as_full_screen_section=&#x201C;no&#x201C; type=&#x201C;full_width&#x201C; angled_section=&#x201C;no&#x201C; text_align=&#x201C;left&#x201C; background_image_as_pattern=&#x201C;without_pattern&#x201C;][vc_column][vc_raw_html css=&#x201C;&#x201C;]PCEtLQ0KICBXb3JkUHJlc3MgQ3VzdG9tIEhUTUwgYmxvY2sgdmVyc2lvbi4NCiAgUmVwbGFjZSB7e0hFTElDQUxfQVNTRVRfQkFTRV9VUkx9fSB3aXRoIHRoZSB1cGxvYWRlZCBhc3NldCBmb2xkZXIgVVJMIGJlZm9yZSBwdWJsaXNoaW5nLg0KLS0+DQo8c3R5bGUgaWQ9ImhlbGljYWwtdGlwcy13cC1pbmxpbmUtY3NzIj4NCi8qIFdvcmRQcmVzcyBzY29wZWQgc3R5bGVzaGVldCBnZW5lcmF0ZWQgZnJvbSBhcnRpY2xlL2FydGljbGUuY3NzLiAqLw0KDQouaGVsaWNhbC1hcnRpY2xlIHsNCiAgZm9udC1mYW1pbHk6ICJOb3RvIFNhbnMgSlAiLCAiTWVpcnlvIiwgIkhpcmFnaW5vIEtha3UgR290aGljIFByb04iLCBzYW5zLXNlcmlmOw0KICBsaW5lLWhlaWdodDogMS44Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHsNCiAgLS1icmFuZDogI2Q0MDAyNTsNCiAgLS1icmFuZC1kYXJrOiAjYTAwMDIwOw0KICAtLWluazogIzMzMzsNCiAgLS1oZWFkaW5nOiAjMjIyOw0KICAtLW11dGVkOiAjNjY2Ow0KICAtLWxpbmU6ICNlMGUwZTA7DQogIC0tc29mdDogI2Y4ZjhmODsNCiAgLS1ub3RlOiAjZmVmOWYwOw0KICAtLW9rOiAjMTQ3YTNmOw0KICAtLXdhcm46ICNhNDVmMDA7DQogIC0tZXJyb3I6ICNiMDAwMjA7DQogIC0taW5mbzogIzMxNWE4YzsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSBidXR0b24sDQouaGVsaWNhbC1hcnRpY2xlIGlucHV0LA0KLmhlbGljYWwtYXJ0aWNsZSBzZWxlY3Qgew0KICBmb250OiBpbmhlcml0Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHsNCiAgbWF4LXdpZHRoOiA5NjBweDsNCiAgbWFyZ2luOiAwIGF1dG87DQogIHBhZGRpbmc6IDAgMjBweCA1NnB4Ow0KICBjb2xvcjogdmFyKC0taW5rKTsNCiAgd29yZC13cmFwOiBicmVhay13b3JkOw0KICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlICosDQouaGVsaWNhbC1hcnRpY2xlICo6OmJlZm9yZSwNCi5oZWxpY2FsLWFydGljbGUgKjo6YWZ0ZXIgew0KICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIGgxLA0KLmhlbGljYWwtYXJ0aWNsZSBoMiwNCi5oZWxpY2FsLWFydGljbGUgaDMsDQouaGVsaWNhbC1hcnRpY2xlIGg0LA0KLmhlbGljYWwtYXJ0aWNsZSBwIHsNCiAgbWFyZ2luLXRvcDogMDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSBwLA0KLmhlbGljYWwtYXJ0aWNsZSBsaSwNCi5oZWxpY2FsLWFydGljbGUgdGQsDQouaGVsaWNhbC1hcnRpY2xlIHRoIHsNCiAgZm9udC1zaXplOiAxOHB4Ow0KICBsaW5lLWhlaWdodDogMjhweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSBwIHsNCiAgbWFyZ2luLWJvdHRvbTogMThweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAudG9wLWNvbnRlbnRzIHsNCiAgbWFyZ2luLWJvdHRvbTogNDBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc2VjdGlvbi10aXRsZSB7DQogIG1hcmdpbi1ib3R0b206IDIwcHg7DQogIHBhZGRpbmctYm90dG9tOiAxMnB4Ow0KICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdmFyKC0tYnJhbmQpOw0KICBjb2xvcjogdmFyKC0taGVhZGluZyk7DQogIGZvbnQtc2l6ZTogMjhweDsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgbGluZS1oZWlnaHQ6IDEuNDsNCiAgbGV0dGVyLXNwYWNpbmc6IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmxlYWQgew0KICBtYXJnaW4tYm90dG9tOiAyNHB4Ow0KICBjb2xvcjogdmFyKC0taW5rKTsNCiAgZm9udC1zaXplOiAxOHB4Ow0KICBsaW5lLWhlaWdodDogMjhweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaGVyby1maWd1cmUsDQouaGVsaWNhbC1hcnRpY2xlIC5jb250ZW50LWZpZ3VyZSB7DQogIG1hcmdpbjogMCAwIDI0cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmltYWdlLWR1bW15IHsNCiAgZGlzcGxheTogZ3JpZDsNCiAgcGxhY2UtaXRlbXM6IGNlbnRlcjsNCiAgbWluLWhlaWdodDogMzYwcHg7DQogIHBhZGRpbmc6IDMycHg7DQogIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogIGJhY2tncm91bmQ6ICNmNWY1ZjU7DQogIGNvbG9yOiAjNTU1Ow0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmltYWdlLWR1bW15IHNwYW4gew0KICBkaXNwbGF5OiBibG9jazsNCiAgY29sb3I6IHZhcigtLWJyYW5kKTsNCiAgZm9udC1zaXplOiAyMnB4Ow0KICBmb250LXdlaWdodDogNzAwOw0KICBsaW5lLWhlaWdodDogMS40Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5pbWFnZS1kdW1teSBzbWFsbCB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBtYXJnaW4tdG9wOiA4cHg7DQogIGNvbG9yOiB2YXIoLS1tdXRlZCk7DQogIGZvbnQtc2l6ZTogMTVweDsNCiAgbGluZS1oZWlnaHQ6IDI0cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmN1dHRlci1pbWFnZXMgew0KICBkaXNwbGF5OiBmbGV4Ow0KICBmbGV4LXdyYXA6IHdyYXA7DQogIGdhcDogMThweDsNCiAgbWFyZ2luOiA0cHggMCAyMnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jdXR0ZXItaW1hZ2Ugew0KICBtYXJnaW46IDA7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY3V0dGVyLWltYWdlIGltZyB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICB3aWR0aDogMTUwcHg7DQogIGhlaWdodDogMTUwcHg7DQogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOw0KICBiYWNrZ3JvdW5kOiAjZjVmNWY1Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jdXR0ZXItaW1hZ2UgZmlnY2FwdGlvbiB7DQogIG1hcmdpbi10b3A6IDZweDsNCiAgY29sb3I6IHZhcigtLW11dGVkKTsNCiAgZm9udC1zaXplOiAxNHB4Ow0KICBsaW5lLWhlaWdodDogMS41Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jb21wYXJpc29uLWxpc3Qgew0KICBkaXNwbGF5OiBncmlkOw0KICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7DQogIGdhcDogMThweDsNCiAgbWFyZ2luOiAxOHB4IDAgMjRweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY29tcGFyaXNvbi1saXN0ID4gZGl2IHsNCiAgcGFkZGluZzogMThweCAyMHB4Ow0KICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsNCiAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICBiYWNrZ3JvdW5kOiB2YXIoLS1zb2Z0KTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY29tcGFyaXNvbi1saXN0IGg0IHsNCiAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgY29sb3I6IHZhcigtLWhlYWRpbmcpOw0KICBmb250LXNpemU6IDE4cHg7DQogIGxpbmUtaGVpZ2h0OiAxLjU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNvbXBhcmlzb24tbGlzdCB1bCB7DQogIG1hcmdpbi1ib3R0b206IDA7DQogIHBhZGRpbmctbGVmdDogMjBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAudmlkZW8tZW1iZWQgew0KICBkaXNwbGF5OiBmbGV4Ow0KICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgbWFyZ2luOiAyNHB4IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnZpZGVvLWVtYmVkIGlmcmFtZSB7DQogIHdpZHRoOiBtaW4oMzM5cHgsIDEwMCUpOw0KICBoZWlnaHQ6IGF1dG87DQogIGFzcGVjdC1yYXRpbzogMzM5IC8gNjAyOw0KICBib3JkZXI6IDA7DQogIGJhY2tncm91bmQ6ICMwMDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnRvcC1jb250ZW50cy1saXN0IHsNCiAgbWFyZ2luLXRvcDogMjBweDsNCiAgcGFkZGluZzogMTZweCAyNHB4IDIwcHg7DQogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOw0KICBib3JkZXItcmFkaXVzOiA2cHg7DQogIGJhY2tncm91bmQ6IHZhcigtLXNvZnQpOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC50b3AtY29udGVudHMtbGlzdCBoMyB7DQogIG1hcmdpbjogMjBweCAwIDEwcHg7DQogIGNvbG9yOiB2YXIoLS1oZWFkaW5nKTsNCiAgZm9udC1zaXplOiAxOHB4Ow0KICBmb250LXdlaWdodDogNzAwOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC50b3AtY29udGVudHMtbGlzdCB1bCB7DQogIG1hcmdpbjogMDsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KICBsaXN0LXN0eWxlOiBub25lOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC50b3AtY29udGVudHMtbGlzdCBsaSB7DQogIG1hcmdpbjogMDsNCiAgcGFkZGluZzogNnB4IDA7DQogIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2NjYzsNCiAgZm9udC1zaXplOiAxNnB4Ow0KICBsaW5lLWhlaWdodDogMS42Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC50b3AtY29udGVudHMtbGlzdCBsaTpsYXN0LWNoaWxkIHsNCiAgYm9yZGVyLWJvdHRvbTogbm9uZTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAudG9jLWxpbmsgew0KICBjb2xvcjogdmFyKC0tYnJhbmQpOw0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogIHRyYW5zaXRpb246IGNvbG9yIC4yczsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAudG9jLWxpbms6aG92ZXIgew0KICBjb2xvcjogdmFyKC0tYnJhbmQtZGFyayk7DQogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHNlY3Rpb24gew0KICBtYXJnaW4tYm90dG9tOiA0OHB4Ow0KICBwYWRkaW5nLXRvcDogMjBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucmVkbGluZSB7DQogIG1hcmdpbi1ib3R0b206IDIwcHg7DQogIHBhZGRpbmctYm90dG9tOiAxMHB4Ow0KICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdmFyKC0tYnJhbmQpOw0KICBjb2xvcjogdmFyKC0taGVhZGluZyk7DQogIGZvbnQtc2l6ZTogMjRweDsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgbGluZS1oZWlnaHQ6IDEuNDsNCiAgbGV0dGVyLXNwYWNpbmc6IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnN1Yi10aXRsZSB7DQogIG1hcmdpbjogMjhweCAwIDE0cHg7DQogIHBhZGRpbmctbGVmdDogMTRweDsNCiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1icmFuZCk7DQogIGNvbG9yOiB2YXIoLS1oZWFkaW5nKTsNCiAgZm9udC1zaXplOiAyMHB4Ow0KICBmb250LXdlaWdodDogNzAwOw0KICBsaW5lLWhlaWdodDogMS40Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5lbS1yZWQgew0KICBjb2xvcjogdmFyKC0tYnJhbmQpOw0KICBmb250LXdlaWdodDogNzAwOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5obCB7DQogIHBhZGRpbmc6IDAgMnB4Ow0KICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgNjAlLCAjZmZmM2NkIDYwJSk7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm5vdGUtYm94IHsNCiAgbWFyZ2luOiAyNHB4IDA7DQogIHBhZGRpbmc6IDIwcHggMjRweDsNCiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYnJhbmQpOw0KICBib3JkZXItcmFkaXVzOiA4cHg7DQogIGJhY2tncm91bmQ6IHZhcigtLW5vdGUpOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5ub3RlLWhlYWQgew0KICBtYXJnaW4tYm90dG9tOiA4cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm5vdGUtaGVhZCBoNCB7DQogIG1hcmdpbjogOHB4IDAgMDsNCiAgY29sb3I6IHZhcigtLWhlYWRpbmcpOw0KICBmb250LXNpemU6IDE4cHg7DQogIGZvbnQtd2VpZ2h0OiA3MDA7DQogIGxpbmUtaGVpZ2h0OiAxLjU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm5vdGUtYm94IHA6bGFzdC1jaGlsZCB7DQogIG1hcmdpbi1ib3R0b206IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmJhZGdlIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICBwYWRkaW5nOiAzcHggMTJweDsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZCk7DQogIGNvbG9yOiAjZmZmOw0KICBmb250LXNpemU6IDEzcHg7DQogIGZvbnQtd2VpZ2h0OiA3MDA7DQogIGxpbmUtaGVpZ2h0OiAxLjQ7DQogIGxldHRlci1zcGFjaW5nOiAuNXB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zbWFsbC1ub3RlIHsNCiAgY29sb3I6IHZhcigtLW11dGVkKTsNCiAgZm9udC1zaXplOiAxNXB4Ow0KICBsaW5lLWhlaWdodDogMjRweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSB1bCwNCi5oZWxpY2FsLWFydGljbGUgb2wgew0KICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICBwYWRkaW5nLWxlZnQ6IDI0cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgbGkgew0KICBtYXJnaW4tYm90dG9tOiA2cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnN0ZXAtbGlzdCB7DQogIGNvdW50ZXItcmVzZXQ6IHN0ZXAtY291bnRlcjsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KICBsaXN0LXN0eWxlOiBub25lOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zdGVwLWxpc3QgbGkgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIG1hcmdpbi1ib3R0b206IDEycHg7DQogIHBhZGRpbmctbGVmdDogNDBweDsNCiAgZm9udC1zaXplOiAxOHB4Ow0KICBsaW5lLWhlaWdodDogMjhweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc3RlcC1saXN0IGxpOjpiZWZvcmUgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMnB4Ow0KICBsZWZ0OiAwOw0KICB3aWR0aDogMjhweDsNCiAgaGVpZ2h0OiAyOHB4Ow0KICBib3JkZXItcmFkaXVzOiA1MCU7DQogIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kKTsNCiAgY29sb3I6ICNmZmY7DQogIGNvbnRlbnQ6IGNvdW50ZXIoc3RlcC1jb3VudGVyKTsNCiAgY291bnRlci1pbmNyZW1lbnQ6IHN0ZXAtY291bnRlcjsNCiAgZm9udC1zaXplOiAxNHB4Ow0KICBmb250LXdlaWdodDogNzAwOw0KICBsaW5lLWhlaWdodDogMjhweDsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zdGVwLWxpc3QgLnN0ZXAtaW1hZ2Ugew0KICBtYXJnaW46IDE0cHggMCAyNnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zdGVwLWxpc3QgLmltYWdlLWR1bW15IHsNCiAgbWluLWhlaWdodDogMjYwcHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm1ldGhvZC1pbWFnZSB7DQogIG1hcmdpbjogMTZweCAwIDI0cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm1ldGhvZC1pbWFnZS5pbWFnZS1kdW1teSB7DQogIG1pbi1oZWlnaHQ6IDI2MHB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHRhYmxlIHsNCiAgd2lkdGg6IDEwMCU7DQogIG1hcmdpbjogMjBweCAwOw0KICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHRoLA0KLmhlbGljYWwtYXJ0aWNsZSB0ZCB7DQogIHBhZGRpbmc6IDEycHg7DQogIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogIHRleHQtYWxpZ246IGxlZnQ7DQogIHZlcnRpY2FsLWFsaWduOiB0b3A7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgdGhlYWQgdGggew0KICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZCk7DQogIGNvbG9yOiAjZmZmOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHRib2R5IHRoIHsNCiAgYmFja2dyb3VuZDogI2Y1ZjVmNTsNCiAgY29sb3I6IHZhcigtLWhlYWRpbmcpOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7DQogIGJhY2tncm91bmQ6ICNmOWY5Zjk7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgY29kZSB7DQogIHBhZGRpbmc6IDJweCA2cHg7DQogIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgYmFja2dyb3VuZDogI2Y1ZjVmNTsNCiAgY29sb3I6ICMyMjI7DQogIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgIkNvdXJpZXIgTmV3IiwgbW9ub3NwYWNlOw0KICBmb250LXNpemU6IC45NWVtOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIHByZSB7DQogIG92ZXJmbG93LXg6IGF1dG87DQogIG1hcmdpbjogMThweCAwIDI0cHg7DQogIHBhZGRpbmc6IDE2cHggMThweDsNCiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7DQogIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgYmFja2dyb3VuZDogI2Y4ZjhmODsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSBwcmUgY29kZSB7DQogIHBhZGRpbmc6IDA7DQogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5wLWNvbnRlbnRzLWJ0bi1hcmVhIHsNCiAgZGlzcGxheTogZmxleDsNCiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogIGdhcDogMTZweDsNCiAgbWFyZ2luOiAxNnB4IDA7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucC1idG4sDQouaGVsaWNhbC1hcnRpY2xlIC5wcmltYXJ5LWJ1dHRvbiwNCi5oZWxpY2FsLWFydGljbGUgLmdob3N0LWJ1dHRvbiB7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMsIGNvbG9yIC4ycywgYm9yZGVyLWNvbG9yIC4yczsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucC1idG4gew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHBhZGRpbmc6IDE0cHggMzJweDsNCiAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZCk7DQogIGNvbG9yOiAjZmZmOw0KICBmb250LXNpemU6IDE4cHg7DQogIGZvbnQtd2VpZ2h0OiA3MDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnAtYnRuOmhvdmVyIHsNCiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7DQogIGNvbG9yOiAjZmZmOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5wLWJ0bi5zZWNvbmRhcnkgew0KICBiYWNrZ3JvdW5kOiAjNTU1Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5kaXNhYmxlZCwNCi5oZWxpY2FsLWFydGljbGUgLmlzLWRpc2FibGVkIHsNCiAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogIGN1cnNvcjogZGVmYXVsdDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucC1idG4uZGlzYWJsZWQsDQouaGVsaWNhbC1hcnRpY2xlIC5wcmltYXJ5LWJ1dHRvbi5pcy1kaXNhYmxlZCB7DQogIGJhY2tncm91bmQ6ICNhYWE7DQogIGNvbG9yOiAjZmZmOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIHsNCiAgbWFyZ2luOiAyNHB4IDA7DQogIHBhZGRpbmc6IDE4cHg7DQogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOw0KICBib3JkZXItcmFkaXVzOiA2cHg7DQogIGJhY2tncm91bmQ6ICNmOGY4Zjg7DQogIG92ZXJmbG93OiBoaWRkZW47DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGMtaGVhZGVyIHsNCiAgZGlzcGxheTogZ3JpZDsNCiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgMjgwcHgpLCAxZnIpKTsNCiAgZ2FwOiAxNnB4Ow0KICBhbGlnbi1pdGVtczogc3RyZXRjaDsNCiAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgcGFkZGluZy1ib3R0b206IDE2cHg7DQogIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB2YXIoLS1icmFuZCk7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmV5ZWJyb3cgew0KICBtYXJnaW46IDAgMCA0cHg7DQogIGNvbG9yOiB2YXIoLS1icmFuZCk7DQogIGZvbnQtc2l6ZTogMTRweDsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsYy1oZWFkZXIgaDMgew0KICBtYXJnaW4tYm90dG9tOiA4cHg7DQogIGNvbG9yOiB2YXIoLS1oZWFkaW5nKTsNCiAgZm9udC1zaXplOiAyMHB4Ow0KICBsaW5lLWhlaWdodDogMS40Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjLWhlYWRlciBwOmxhc3QtY2hpbGQgew0KICBtYXJnaW4tYm90dG9tOiAwOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5oZWFkZXItbWV0cmljcyB7DQogIGRpc3BsYXk6IGdyaWQ7DQogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDEwMCUsIDE4MHB4KSwgMWZyKSk7DQogIGdhcDogMTBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaGVhZGVyLW1ldHJpY3MgZGl2LA0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsYy1wYW5lbCwNCi5oZWxpY2FsLWFydGljbGUgLm1ldHJpYywNCi5oZWxpY2FsLWFydGljbGUgLnN1Yi1yZXN1bHRzID4gZGl2IHsNCiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7DQogIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaGVhZGVyLW1ldHJpY3MgZGl2IHsNCiAgcGFkZGluZzogMTJweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaGVhZGVyLW1ldHJpY3MgZGl2W2hpZGRlbl0sDQouaGVsaWNhbC1hcnRpY2xlIC5yZXN1bHQtZ3JpZCBbaGlkZGVuXSB7DQogIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaGVhZGVyLW1ldHJpY3MgLm1haW4tcmVzdWx0LXN1bW1hcnkgew0KICBncmlkLWNvbHVtbjogMSAvIC0xOw0KICBib3JkZXItY29sb3I6IHJnYmEoMjEyLCAwLCAzNywgLjY1KTsNCiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZmZiwgI2ZmZjRmNik7DQogIGJveC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgyMTIsIDAsIDM3LCAuMTApOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5oZWFkZXItbWV0cmljcyBzcGFuIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIGNvbG9yOiB2YXIoLS1icmFuZCk7DQogIGZvbnQtc2l6ZTogMjJweDsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgbGluZS1oZWlnaHQ6IDEuMjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaGVhZGVyLW1ldHJpY3Mgc21hbGwsDQouaGVsaWNhbC1hcnRpY2xlIC5tZXRyaWMgc21hbGwgew0KICBjb2xvcjogdmFyKC0tbXV0ZWQpOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5oZWFkZXItbWV0cmljcyAubWFpbi1yZXN1bHQtc3VtbWFyeSBzcGFuIHsNCiAgZm9udC1zaXplOiAzMnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5oZWFkZXItbWV0cmljcyAubWFpbi1yZXN1bHQtc3VtbWFyeSBzbWFsbCB7DQogIGNvbG9yOiB2YXIoLS1oZWFkaW5nKTsNCiAgZm9udC13ZWlnaHQ6IDgwMDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci13b3Jrc3BhY2Ugew0KICBkaXNwbGF5OiBncmlkOw0KICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbigxMDAlLCAzNjBweCksIDFmcikpOw0KICBnYXA6IDIwcHg7DQogIGFsaWduLWl0ZW1zOiBzdGFydDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsYy1wYW5lbCB7DQogIG1pbi13aWR0aDogMDsNCiAgcGFkZGluZzogMThweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucGFuZWwtaGVhZCB7DQogIGRpc3BsYXk6IGZsZXg7DQogIGdhcDogMTJweDsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICBtYXJnaW4tYm90dG9tOiAxNnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5wYW5lbC1oZWFkIGgzIHsNCiAgbWFyZ2luOiAwOw0KICBjb2xvcjogdmFyKC0taGVhZGluZyk7DQogIGZvbnQtc2l6ZTogMjBweDsNCiAgbGluZS1oZWlnaHQ6IDEuNDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuZ2hvc3QtYnV0dG9uIHsNCiAgbWluLWhlaWdodDogMzhweDsNCiAgcGFkZGluZzogN3B4IDEycHg7DQogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJyYW5kKTsNCiAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBjb2xvcjogdmFyKC0tYnJhbmQpOw0KICBmb250LXdlaWdodDogNzAwOw0KICBjdXJzb3I6IHBvaW50ZXI7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmdob3N0LWJ1dHRvbjpob3ZlciB7DQogIGJhY2tncm91bmQ6ICNmZmY1ZjU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm1vZGUtZmllbGQgew0KICBtYXJnaW46IDAgMCAxNnB4Ow0KICBwYWRkaW5nOiAwOw0KICBib3JkZXI6IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm1vZGUtZmllbGQgbGVnZW5kIHsNCiAgbWFyZ2luLWJvdHRvbTogOHB4Ow0KICBjb2xvcjogdmFyKC0tbXV0ZWQpOw0KICBmb250LXdlaWdodDogNzAwOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zZWdtZW50ZWQgew0KICBkaXNwbGF5OiBncmlkOw0KICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbigxMDAlLCAyNjBweCksIDFmcikpOw0KICBnYXA6IDEwcHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnNlZ21lbnRlZCBsYWJlbCB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBtaW4td2lkdGg6IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnNlZ21lbnRlZCBpbnB1dCB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgb3BhY2l0eTogMDsNCiAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnNlZ21lbnRlZCBzcGFuIHsNCiAgZGlzcGxheTogZ3JpZDsNCiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4OHB4IG1pbm1heCgwLCAxZnIpOw0KICBncmlkLXRlbXBsYXRlLWFyZWFzOg0KICAgICJpY29uIHRpdGxlIg0KICAgICJpY29uIGNvcHkiOw0KICBnYXA6IDJweCAxMHB4Ow0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KICBtaW4taGVpZ2h0OiAxMDRweDsNCiAgcGFkZGluZzogMTJweDsNCiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7DQogIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCiAgY29sb3I6IHZhcigtLWluayk7DQogIHRleHQtYWxpZ246IGxlZnQ7DQogIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc2VnbWVudGVkIGlucHV0OmNoZWNrZWQgKyBzcGFuIHsNCiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZCk7DQogIGJhY2tncm91bmQ6ICNmZmY1ZjU7DQogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCByZ2JhKDIxMiwgMCwgMzcsIDAuMTIpOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zZWdtZW50ZWQgLm1vZGUtaWNvbiB7DQogIGdyaWQtYXJlYTogaWNvbjsNCiAgZGlzcGxheTogYmxvY2s7DQogIHdpZHRoOiA4MnB4Ow0KICBoZWlnaHQ6IDgycHg7DQogIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgb2JqZWN0LWZpdDogY29udGFpbjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc2VnbWVudGVkIHN0cm9uZyB7DQogIGdyaWQtYXJlYTogdGl0bGU7DQogIGNvbG9yOiB2YXIoLS1oZWFkaW5nKTsNCiAgZm9udC1zaXplOiAxNXB4Ow0KICBsaW5lLWhlaWdodDogMS4zOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zZWdtZW50ZWQgc21hbGwgew0KICBncmlkLWFyZWE6IGNvcHk7DQogIGNvbG9yOiB2YXIoLS1tdXRlZCk7DQogIGZvbnQtc2l6ZTogMTJweDsNCiAgbGluZS1oZWlnaHQ6IDEuNDU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnNlZ21lbnRlZCBpbnB1dDpjaGVja2VkICsgc3BhbiBzdHJvbmcgew0KICBjb2xvcjogdmFyKC0tYnJhbmQpOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zZWdtZW50ZWQgc3Bhbi5oYXMtbWlzc2luZy1pY29uIHsNCiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7DQogIGdyaWQtdGVtcGxhdGUtYXJlYXM6DQogICAgInRpdGxlIg0KICAgICJjb3B5IjsNCiAgbWluLWhlaWdodDogODJweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc2VnbWVudGVkIHNwYW4uaGFzLW1pc3NpbmctaWNvbiAubW9kZS1pY29uIHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaW5wdXQtcGFyYW1ldGVyLWd1aWRlIHsNCiAgbWFyZ2luOiAwIDAgMTZweDsNCiAgcGFkZGluZzogMTBweDsNCiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7DQogIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuaW5wdXQtcGFyYW1ldGVyLWd1aWRlIGltZyB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICB3aWR0aDogMTAwJTsNCiAgaGVpZ2h0OiBhdXRvOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5pbnB1dC1wYXJhbWV0ZXItZ3VpZGUuaXMtaW1hZ2UtbWlzc2luZywNCi5oZWxpY2FsLWFydGljbGUgLmRlcHRoLXBsYW4tZ3VpZGUuaXMtaW1hZ2UtbWlzc2luZyB7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmZvcm0tZ3JpZCB7DQogIGRpc3BsYXk6IGdyaWQ7DQogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDEwMCUsIDE4MHB4KSwgMWZyKSk7DQogIGdhcDogMTJweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCBsYWJlbCB7DQogIGRpc3BsYXk6IGdyaWQ7DQogIGdhcDogNXB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIGxhYmVsIHNwYW4gew0KICBjb2xvcjogdmFyKC0taGVhZGluZyk7DQogIGZvbnQtc2l6ZTogMTRweDsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCAuZmllbGQtbGFiZWwgew0KICBkaXNwbGF5OiBpbmxpbmUtZmxleDsNCiAgZmxleC13cmFwOiB3cmFwOw0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KICBnYXA6IDZweDsNCiAgbWluLXdpZHRoOiAwOw0KICBsaW5lLWhlaWdodDogMS40NTsNCiAgd29yZC1icmVhazoga2VlcC1hbGw7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgLmZpZWxkLWljb24gew0KICBkaXNwbGF5OiBpbmxpbmUtZmxleDsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogIGZsZXg6IDAgMCBhdXRvOw0KICB3aWR0aDogMjhweDsNCiAgaGVpZ2h0OiAyMnB4Ow0KICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxMiwgMCwgMzcsIDAuNDUpOw0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIGJhY2tncm91bmQ6ICNmZmY1ZjU7DQogIGNvbG9yOiB2YXIoLS1icmFuZCk7DQogIGZvbnQtc2l6ZTogMTFweDsNCiAgZm9udC13ZWlnaHQ6IDgwMDsNCiAgbGluZS1oZWlnaHQ6IDE7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgLmZpZWxkLWljb24ud2lkZSB7DQogIHdpZHRoOiA0MnB4Ow0KICBmb250LXNpemU6IDEwcHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgbGFiZWwgZW0gew0KICBjb2xvcjogdmFyKC0tbXV0ZWQpOw0KICBmb250LXN0eWxlOiBub3JtYWw7DQogIGZvbnQtd2VpZ2h0OiA0MDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgaW5wdXQsDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIHNlbGVjdCB7DQogIHdpZHRoOiAxMDAlOw0KICBtaW4taGVpZ2h0OiA0MHB4Ow0KICBwYWRkaW5nOiA4cHggMTBweDsNCiAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBjb2xvcjogdmFyKC0taW5rKTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCBpbnB1dDpmb2N1cywNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgc2VsZWN0OmZvY3VzLA0KLmhlbGljYWwtYXJ0aWNsZSAucHJpbWFyeS1idXR0b246Zm9jdXMsDQouaGVsaWNhbC1hcnRpY2xlIC5naG9zdC1idXR0b246Zm9jdXMgew0KICBvdXRsaW5lOiAzcHggc29saWQgcmdiYSgyMTIsIDAsIDM3LCAuMTgpOw0KICBvdXRsaW5lLW9mZnNldDogMnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5mdWxsLXJvdyB7DQogIG1hcmdpbi10b3A6IDEycHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmlzLWhpZGRlbiB7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmZvcm0tZ3JpZCBbaGlkZGVuXSB7DQogIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc3RhdGUtYmFkZ2Ugew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIG1pbi1oZWlnaHQ6IDI2cHg7DQogIHBhZGRpbmc6IDNweCAxMHB4Ow0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIGJhY2tncm91bmQ6IHZhcigtLWluZm8pOw0KICBjb2xvcjogI2ZmZjsNCiAgZm9udC1zaXplOiAxM3B4Ow0KICBmb250LXdlaWdodDogNzAwOw0KICBsaW5lLWhlaWdodDogMjBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc3RhdGUtYmFkZ2Uub2sgew0KICBiYWNrZ3JvdW5kOiB2YXIoLS1vayk7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnN0YXRlLWJhZGdlLndhcm5pbmcgew0KICBiYWNrZ3JvdW5kOiB2YXIoLS13YXJuKTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc3RhdGUtYmFkZ2UuZXJyb3Igew0KICBiYWNrZ3JvdW5kOiB2YXIoLS1lcnJvcik7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnJlc3VsdC1ncmlkIHsNCiAgZGlzcGxheTogZ3JpZDsNCiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgMjEwcHgpLCAxZnIpKTsNCiAgZ2FwOiAxMHB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5tZXRyaWMgew0KICBtaW4taGVpZ2h0OiA4OHB4Ow0KICBwYWRkaW5nOiAxMnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5tZXRyaWMgc3Ryb25nIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIG1hcmdpbi10b3A6IDZweDsNCiAgY29sb3I6IHZhcigtLWhlYWRpbmcpOw0KICBmb250LXNpemU6IDIwcHg7DQogIGxpbmUtaGVpZ2h0OiAxLjI1Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIC5tZXRyaWMtbGFiZWwgew0KICBkaXNwbGF5OiBpbmxpbmUtZmxleDsNCiAgZmxleC13cmFwOiB3cmFwOw0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KICBnYXA6IDZweDsNCiAgbWluLXdpZHRoOiAwOw0KICBsaW5lLWhlaWdodDogMS4zNTsNCiAgd29yZC1icmVhazoga2VlcC1hbGw7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgLm1ldHJpYy1pY29uIHsNCiAgZGlzcGxheTogaW5saW5lLWZsZXg7DQogIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICBmbGV4OiAwIDAgYXV0bzsNCiAgd2lkdGg6IDI2cHg7DQogIGhlaWdodDogMjFweDsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTIsIDAsIDM3LCAwLjQwKTsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmNWY1Ow0KICBjb2xvcjogdmFyKC0tYnJhbmQpOw0KICBmb250LXNpemU6IDExcHg7DQogIGZvbnQtd2VpZ2h0OiA4MDA7DQogIGxpbmUtaGVpZ2h0OiAxOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIC5tZXRyaWMtaWNvbi53aWRlIHsNCiAgd2lkdGg6IDQ4cHg7DQogIGZvbnQtc2l6ZTogMTBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAubWV0cmljLm1haW4tcmVzdWx0IHsNCiAgZ3JpZC1jb2x1bW46IDEgLyAtMTsNCiAgbWluLWhlaWdodDogMTE2cHg7DQogIGJvcmRlci1jb2xvcjogcmdiYSgyMTIsIDAsIDM3LCAuNjUpOw0KICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmLCAjZmZmNGY2KTsNCiAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDIxMiwgMCwgMzcsIC4xMCk7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm1ldHJpYy5tYWluLXJlc3VsdCBzbWFsbCB7DQogIGNvbG9yOiB2YXIoLS1oZWFkaW5nKTsNCiAgZm9udC1zaXplOiAxNHB4Ow0KICBmb250LXdlaWdodDogODAwOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5tZXRyaWMubWFpbi1yZXN1bHQgc3Ryb25nIHsNCiAgY29sb3I6IHZhcigtLWJyYW5kKTsNCiAgZm9udC1zaXplOiAzMnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5tZXRyaWMuYWNjZW50IHsNCiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxMiwgMCwgMzcsIC41NSk7DQogIGJhY2tncm91bmQ6ICNmZmY4Zjg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLm1ldHJpYy5hY2NlbnQgc3Ryb25nIHsNCiAgY29sb3I6IHZhcigtLWJyYW5kKTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc3ViLXJlc3VsdHMgew0KICBkaXNwbGF5OiBncmlkOw0KICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsNCiAgZ2FwOiAxNnB4Ow0KICBtYXJnaW4tdG9wOiAxNnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zdWItcmVzdWx0cyA+IGRpdiB7DQogIHBhZGRpbmc6IDE4cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmRlcHRoLXJlc3VsdC1sYXlvdXQgew0KICBkaXNwbGF5OiBncmlkOw0KICBnYXA6IDE0cHg7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmRlcHRoLXBsYW4tZ3VpZGUgew0KICBtYXJnaW46IDA7DQogIHBhZGRpbmc6IDEwcHg7DQogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOw0KICBib3JkZXItcmFkaXVzOiA2cHg7DQogIGJhY2tncm91bmQ6ICNmZmY7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmRlcHRoLXBsYW4tZ3VpZGUgaW1nIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IGF1dG87DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnN1Yi1yZXN1bHRzIGgzLA0KLmhlbGljYWwtYXJ0aWNsZSAuY2hlY2tzIGgzIHsNCiAgbWFyZ2luLWJvdHRvbTogOHB4Ow0KICBjb2xvcjogdmFyKC0taGVhZGluZyk7DQogIGZvbnQtc2l6ZTogMThweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCBkbCB7DQogIGRpc3BsYXk6IGdyaWQ7DQogIGdhcDogOHB4Ow0KICBtYXJnaW46IDA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgZGwgZGl2IHsNCiAgZGlzcGxheTogZmxleDsNCiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICBnYXA6IDEycHg7DQogIHBhZGRpbmctYm90dG9tOiA2cHg7DQogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIGR0IHsNCiAgY29sb3I6IHZhcigtLW11dGVkKTsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCBkZCB7DQogIG1hcmdpbjogMDsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgdGV4dC1hbGlnbjogcmlnaHQ7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgLmRlcHRoLXJlc3VsdC1saXN0IHsNCiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgMTUwcHgpLCAxZnIpKTsNCiAgZ2FwOiAxMHB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIC5kaXN0YW5jZS1yZXN1bHQtbGlzdCB7DQogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDEwMCUsIDE3MHB4KSwgMWZyKSk7DQogIGdhcDogMTBweDsNCn0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCAuZGVwdGgtcmVzdWx0LWxpc3QgZGl2LA0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCAuZGlzdGFuY2UtcmVzdWx0LWxpc3QgZGl2IHsNCiAgZGlzcGxheTogYmxvY2s7DQogIG1pbi1oZWlnaHQ6IDc4cHg7DQogIHBhZGRpbmc6IDEycHg7DQogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOw0KICBib3JkZXItcmFkaXVzOiA2cHg7DQogIGJhY2tncm91bmQ6ICNmZmY7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgLmRlcHRoLXJlc3VsdC1saXN0IGR0LA0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCAuZGlzdGFuY2UtcmVzdWx0LWxpc3QgZHQgew0KICBtYXJnaW4tYm90dG9tOiA4cHg7DQogIGZvbnQtc2l6ZTogMTNweDsNCiAgbGluZS1oZWlnaHQ6IDEuMzU7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLmNhbGN1bGF0b3ItZW1iZWQgLmRlcHRoLXJlc3VsdC1saXN0IGRkLA0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCAuZGlzdGFuY2UtcmVzdWx0LWxpc3QgZGQgew0KICBjb2xvcjogdmFyKC0tYnJhbmQpOw0KICBmb250LXNpemU6IDIwcHg7DQogIGxpbmUtaGVpZ2h0OiAxLjI1Ow0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jaGVja3Mgew0KICBtYXJnaW4tdG9wOiAxNnB4Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jaGVja3MgdWwgew0KICBkaXNwbGF5OiBncmlkOw0KICBnYXA6IDhweDsNCiAgbWFyZ2luOiAwOw0KICBwYWRkaW5nOiAwOw0KICBsaXN0LXN0eWxlOiBub25lOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jaGVja3MgbGkgew0KICBtYXJnaW46IDA7DQogIHBhZGRpbmc6IDlweCAxMXB4Ow0KICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWluZm8pOw0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jaGVja3MgbGkub2sgew0KICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tb2spOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jaGVja3MgbGkud2FybmluZywNCi5oZWxpY2FsLWFydGljbGUgLmNoZWNrcyBsaS5jYXV0aW9uIHsNCiAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXdhcm4pOw0KICBiYWNrZ3JvdW5kOiAjZmZmYWYyOw0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5jaGVja3MgbGkuZXJyb3Igew0KICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tZXJyb3IpOw0KICBiYWNrZ3JvdW5kOiAjZmZmNWY1Ow0KfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5wcmltYXJ5LWJ1dHRvbiB7DQogIGRpc3BsYXk6IGlubGluZS1mbGV4Ow0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgbWluLWhlaWdodDogNDRweDsNCiAgcGFkZGluZzogMTFweCAxOHB4Ow0KICBib3JkZXItcmFkaXVzOiA2cHg7DQogIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kKTsNCiAgY29sb3I6ICNmZmY7DQogIGZvbnQtd2VpZ2h0OiA3MDA7DQogIHdoaXRlLXNwYWNlOiBub3dyYXA7DQp9DQoNCi5oZWxpY2FsLWFydGljbGUgLnByaW1hcnktYnV0dG9uOmhvdmVyIHsNCiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQtZGFyayk7DQogIGNvbG9yOiAjZmZmOw0KfQ0KDQpAbWVkaWEgKG1heC13aWR0aDogOTIwcHgpIHsNCi5oZWxpY2FsLWFydGljbGUgLmNhbGMtaGVhZGVyLA0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci13b3Jrc3BhY2Ugew0KICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOw0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgLmhlYWRlci1tZXRyaWNzIHsNCiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucmVzdWx0LWdyaWQgew0KICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsNCi5oZWxpY2FsLWFydGljbGUgew0KICAgIHBhZGRpbmc6IDAgMTZweCA0OHB4Ow0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgLnNlY3Rpb24tdGl0bGUgew0KICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5yZWRsaW5lIHsNCiAgICBmb250LXNpemU6IDIwcHg7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuc3ViLXRpdGxlIHsNCiAgICBmb250LXNpemU6IDE4cHg7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAudG9wLWNvbnRlbnRzLWxpc3Qgew0KICAgIHBhZGRpbmc6IDEycHggMTZweCAxNnB4Ow0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgLm5vdGUtYm94LA0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCB7DQogICAgcGFkZGluZzogMTZweCAxOHB4Ow0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgdGFibGUgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG92ZXJmbG93LXg6IGF1dG87DQogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOw0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgbGkgew0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBsaW5lLWhlaWdodDogMjZweDsNCiAgfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5pbWFnZS1kdW1teSB7DQogICAgbWluLWhlaWdodDogMjQwcHg7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuZm9ybS1ncmlkLA0KLmhlbGljYWwtYXJ0aWNsZSAucmVzdWx0LWdyaWQsDQouaGVsaWNhbC1hcnRpY2xlIC5zdWItcmVzdWx0cywNCi5oZWxpY2FsLWFydGljbGUgLmNvbXBhcmlzb24tbGlzdCB7DQogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAuY2FsY3VsYXRvci1lbWJlZCAuZGVwdGgtcmVzdWx0LWxpc3QsDQouaGVsaWNhbC1hcnRpY2xlIC5jYWxjdWxhdG9yLWVtYmVkIC5kaXN0YW5jZS1yZXN1bHQtbGlzdCB7DQogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAubWV0cmljLm1haW4tcmVzdWx0IHsNCiAgICBncmlkLWNvbHVtbjogc3BhbiAxOw0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgLnNlZ21lbnRlZCB7DQogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7DQogIH0NCg0KLmhlbGljYWwtYXJ0aWNsZSAucGFuZWwtaGVhZCB7DQogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5wLWNvbnRlbnRzLWJ0bi1hcmVhIHsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgLnAtYnRuLA0KLmhlbGljYWwtYXJ0aWNsZSAucHJpbWFyeS1idXR0b24gew0KICAgIHdpZHRoOiAxMDAlOw0KICB9DQp9DQoNCkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgew0KLmhlbGljYWwtYXJ0aWNsZSAuc2VjdGlvbi10aXRsZSB7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICB9DQoNCi5oZWxpY2FsLWFydGljbGUgLnJlZGxpbmUgew0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgfQ0KDQouaGVsaWNhbC1hcnRpY2xlIC5zdWItdGl0bGUgew0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgfQ0KfQ0KPC9zdHlsZT4NCg0KPG1haW4gY2xhc3M9ImhlbGljYWwtYXJ0aWNsZSIgaWQ9ImhlbGljYWwtdGlwcy1hcnRpY2xlIj4NCiAgICA8c2VjdGlvbiBjbGFzcz0idG9wLWNvbnRlbnRzIiBpZD0idG9wIj4NCiAgICAgIDxoMSBjbGFzcz0ic2VjdGlvbi10aXRsZSI+S2VpbiBSw6R0c2VscmF0ZW4gbWVociBiZWltIEhlbGl4ZnLDpHNlbjxicj5FaW4gcHJheGlzbmFoZXIgTGVpdGZhZGVuIHp1ciBXZXJremV1Z2F1c3dhaGwsIEJlcmVjaG51bmcgZGVzIFJhbXBlbndpbmtlbHMgdW5kIFNjaG5pdHRiZWRpbmd1bmdlbjwvaDE+DQogICAgICA8cCBjbGFzcz0ibGVhZCI+TXVzc3RlbiBTaWUgc2Nob24gZWlubWFsIGVpbiBMb2NoIG9kZXIgZWluZSBUYXNjaGUgYmVhcmJlaXRlbiwgYmVpIGRlciBlaW4gQm9ocmVyIG5pY2h0IGRlbiByaWNodGlnZW4gRHVyY2htZXNzZXIgaGF0dGUgb2RlciBiZWkgZGVyIGVpbiBMb2NoIG1pdCBncm/Dn2VtIER1cmNobWVzc2VyIG1laHIgRmxleGliaWxpdMOkdCBlcmZvcmRlcnRlPyBJbiBzb2xjaGVuIEbDpGxsZW4ga2FubiBkYXMgPHN0cm9uZyBjbGFzcz0iZW0tcmVkIj5IZWxpeGZyw6RzZW48L3N0cm9uZz4sIGJlaSBkZW0gZWluIEZyw6RzZXIgZWluZXIgS3JlaXNpbnRlcnBvbGF0aW9uIGZvbGd0IHVuZCBnbGVpY2h6ZWl0aWcgaW4gWi1SaWNodHVuZyB6dXN0ZWxsdCwgZWluZSDDpHXDn2Vyc3QgZWZmZWt0aXZlIE9wdGlvbiBzZWluLjwvcD4NCiAgICAgIDxwIGNsYXNzPSJsZWFkIj5IZWxpeGZyw6RzZW4gZWlnbmV0IHNpY2ggenVtIMOWZmZuZW4gdm9uIEzDtmNoZXJuIG9obmUgUGlsb3Rib2hydW5nIHNvd2llIHp1ciBCZWFyYmVpdHVuZyBncm/Dn2VyIEzDtmNoZXIsIGRpZSBzaWNoIG1pdCBCb2hyZXJuIG51ciBzY2h3ZXIgYWJkZWNrZW4gbGFzc2VuLiBFaW4gd2VzZW50bGljaGVyIFZvcnRlaWwgaXN0LCBkYXNzIDxzdHJvbmcgY2xhc3M9ImVtLXJlZCI+ZWluIEN1dHRlciBvZnQgbWVocmVyZSBMb2NoZHVyY2htZXNzZXIgYWJkZWNrZW4ga2Fubjwvc3Ryb25nPi4gRGFzIGthbm4gaGVsZmVuLCBkZW4gV2Vya3pldWdiZXN0YW5kIHp1IHJlZHV6aWVyZW4gdW5kIEJlYXJiZWl0dW5nc3Byb3plc3NlIHp1IHZlcmVpbmZhY2hlbi48L3A+DQogICAgICA8cCBjbGFzcz0ibGVhZCI+U29iYWxkIFNpZSBqZWRvY2ggcmVhbGUgQmVkaW5ndW5nZW4gZmVzdGxlZ2VuLCBzaW5kIHZpZWxlIFByw7xmdW5nZW4gZXJmb3JkZXJsaWNoOiB3ZWxjaGVyIEN1dHRlci1EdXJjaG1lc3NlciBmw7xyIGRlbiBaaWVsLUxvY2hkdXJjaG1lc3NlciBnZWVpZ25ldCBpc3QsIHdpZSBncm/DnyBkaWUgSGVsaXgtU3RlaWd1bmcgc2VpbiBkYXJmLCBvYiBkZXIgUmFtcGVud2lua2VsIGlubmVyaGFsYiBkZXIgV2Vya3pldWdzcGV6aWZpa2F0aW9uIGxpZWd0IHVuZCBvYiBlaW5lIFZvcnNjaHVia29ycmVrdHVyIGVyZm9yZGVybGljaCBpc3QuIE1pdCBhbmRlcmVuIFdvcnRlbjogSGVsaXhmcsOkc2VuIGlzdCA8c3Ryb25nPjxzcGFuIGNsYXNzPSJobCI+c2VociBuw7x0emxpY2gsIHdlbm4gZXMga29ycmVrdCBhbmdld2VuZGV0IHdpcmQsIGFiZXIgYmVpIGRlciBBdXN3YWhsIHZvbiBXZXJremV1Z2VuIHVuZCBCZWRpbmd1bmdlbiB2ZXJsaWVydCBtYW4gbGVpY2h0IGRlbiDDnGJlcmJsaWNrPC9zcGFuPjwvc3Ryb25nPi48L3A+DQogICAgICA8cCBjbGFzcz0ibGVhZCI+RGllc2VyIEFydGlrZWwgZXJsw6R1dGVydCBkaWUgR3J1bmRsYWdlbiBkZXMgSGVsaXhmcsOkc2VucywgZGVuIEFibGF1ZiBkZXIgV2Vya3pldWdhdXN3YWhsLCBkaWUgQmVyZWNobnVuZyB2b24gUmFtcGVud2lua2VsIHVuZCBTdGVpZ3VuZyBzb3dpZSB3aWNodGlnZSBCZWFyYmVpdHVuZ3NoaW53ZWlzZSBpbiBlaW5lciBwcmF4aXNnZXJlY2h0ZW4gUmVpaGVuZm9sZ2UuIEF1w59lcmRlbSB3ZXJkZW4gZWluIFJlY2huZXIgYXVmIGRlciBTZWl0ZSBzb3dpZSBlaW4gc2VwYXJhdGVyIFRvb2wgU2VsZWN0b3Igdm9yZ2VzdGVsbHQsIGRlciBhbmhhbmQgSWhyZXIgRWluZ2FiZWJlZGluZ3VuZ2VuIHBhc3NlbmRlIFR1bmdhbG95LUN1dHRlci1LYW5kaWRhdGVuIGZpbmRldC48L3A+DQoNCiAgICAgIDxmaWd1cmUgY2xhc3M9Imhlcm8tZmlndXJlIiBhcmlhLWxhYmVsPSJNYWluIGhlbGljYWwgbWlsbGluZyBpbWFnZSI+DQogICAgICAgIDxpbWcgc3JjPSJodHRwczovL3R1bmdhbG95LmNvbS93cGRhdGEvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDcvMDFfVHVuZ0ZvcmNlUmVjX0hlbGljYWxfbS5qcGciIGFsdD0iQmlsZCB6dW0gSGVsaXhmcsOkc2VuIj4NCiAgICAgIDwvZmlndXJlPg0KDQogICAgICA8ZGl2IGNsYXNzPSJ0b3AtY29udGVudHMtbGlzdCI+DQogICAgICAgIDxoMz5XYXMgU2llIGxlcm5lbiB3ZXJkZW48L2gzPg0KICAgICAgICA8dWw+DQogICAgICAgICAgPGxpPjxhIGNsYXNzPSJ0b2MtbGluayIgaHJlZj0iI3NlY3Rpb24xIj5XYXMgSGVsaXhmcsOkc2VuIGlzdDwvYT48L2xpPg0KICAgICAgICAgIDxsaT48YSBjbGFzcz0idG9jLWxpbmsiIGhyZWY9IiNzZWN0aW9uMiI+RHJlaSBTY2hsw7xzc2Vsd2VydGUgYmVpbSBIZWxpeGZyw6RzZW48L2E+PC9saT4NCiAgICAgICAgICA8bGk+PGEgY2xhc3M9InRvYy1saW5rIiBocmVmPSIjc2VjdGlvbjMiPlB1bmt0ZSB6dXIgV2Vya3pldWdhdXN3YWhsIGbDvHIgSGVsaXhmcsOkc2VuPC9hPjwvbGk+DQogICAgICAgICAgPGxpPjxhIGNsYXNzPSJ0b2MtbGluayIgaHJlZj0iI3NlY3Rpb240Ij5Wb3JnZWhlbnN3ZWlzZSB6dXIgV2Vya3pldWdhdXN3YWhsPC9hPjwvbGk+DQogICAgICAgICAgPGxpPjxhIGNsYXNzPSJ0b2MtbGluayIgaHJlZj0iI3NlY3Rpb241Ij5IaW53ZWlzZSBiZWltIEhlbGl4ZnLDpHNlbjwvYT48L2xpPg0KICAgICAgICAgIDxsaT48YSBjbGFzcz0idG9jLWxpbmsiIGhyZWY9IiNzZWN0aW9uNiI+RWluIHByYWt0aXNjaGVyIFJlY2huZXIgZsO8ciBTdGVpZ3VuZyB1bmQgUmFtcGVud2lua2VsPC9hPjwvbGk+DQogICAgICAgICAgPGxpPjxhIGNsYXNzPSJ0b2MtbGluayIgaHJlZj0iI3NlY3Rpb243Ij5FaW5mw7xocnVuZyBpbiBkZW4gVG9vbCBTZWxlY3RvcjwvYT48L2xpPg0KICAgICAgICAgIDxsaT48YSBjbGFzcz0idG9jLWxpbmsiIGhyZWY9IiNzdW1tYXJ5Ij5adXNhbW1lbmZhc3N1bmc8L2E+PC9saT4NCiAgICAgICAgPC91bD4NCiAgICAgIDwvZGl2Pg0KICAgIDwvc2VjdGlvbj4NCg0KICAgIDxzZWN0aW9uIGlkPSJzZWN0aW9uMSI+DQogICAgICA8aDIgY2xhc3M9InJlZGxpbmUiPjEuIFdhcyBpc3QgSGVsaXhmcsOkc2VuPzwvaDI+DQogICAgICA8cD5IZWxpeGZyw6RzZW4gaXN0IGVpbiBCZWFyYmVpdHVuZ3N2ZXJmYWhyZW4sIGJlaSBkZW0gZGFzIFdlcmt6ZXVnIGVpbmVyIEtyZWlzaW50ZXJwb2xhdGlvbiBmb2xndCB1bmQgZ2xlaWNoemVpdGlnIGluIFotUmljaHR1bmcgenVzdGVsbHQuIFN0YXR0IHNlbmtyZWNodCBlaW56dXRhdWNoZW4sIDxzdHJvbmcgY2xhc3M9ImVtLXJlZCI+YmV3ZWd0IHNpY2ggZGFzIFdlcmt6ZXVnIGJlaW0gWmVpY2huZW4gZWluZXMgS3JlaXNlcyBzY2hyaXR0d2Vpc2UgbmFjaCB1bnRlbjwvc3Ryb25nPiB1bmQgZXJ6ZXVndCBzbyBlaW5lIGhlbGlrYWxlIFdlcmt6ZXVnYmFobi48L3A+DQogICAgICA8cD5EaWVzZXMgVmVyZmFocmVuIHdpcmQgZsO8ciBkYXMgSGVyc3RlbGxlbiB2b24gQm9ocnVuZ2VuLCBkYXMgRWluZmFocmVuIGluIFRhc2NoZW4sIHNlbmtib2hyZW4gc293aWUgenVtIMOWZmZuZW4gdm9uIEzDtmNoZXJuIG9obmUgUGlsb3Rib2hydW5nIGVpbmdlc2V0enQuIEVzIGVybGVpY2h0ZXJ0IGRpZSBCZWFyYmVpdHVuZyB2b24gTG9jaGR1cmNobWVzc2VybiwgZGllIGdyw7bDn2VyIGFscyBkZXIgQ3V0dGVyLUR1cmNobWVzc2VyIHNpbmQsIHVuZCBkZXJzZWxiZSBDdXR0ZXIga2FubiBvZnQgZsO8ciBtZWhyZXJlIExvY2hncsO2w59lbiB2ZXJ3ZW5kZXQgd2VyZGVuLjwvcD4NCiAgICAgIDxwPkJlaW0gSGVsaXhmcsOkc2VuIHRyaXR0IGRhcyBXZXJremV1ZyBqZWRvY2ggc3RldHMgaW4gZWluZW0gZ2VuZWlndGVuIFdpbmtlbCBpbiBkYXMgV2Vya3N0w7xjayBlaW4uIEltIEdlZ2Vuc2F0eiB6dW0gZ2V3w7ZobmxpY2hlbiBVbWZhbmdzZnLDpHNlbiBvZGVyIE51dGVuZnLDpHNlbiBtw7xzc2VuIFNpZSA8c3Ryb25nPjxzcGFuIGNsYXNzPSJobCI+UmFtcGVud2lua2VsLCBIZWxpeC1TdGVpZ3VuZywgV2Vya3pldWdtaXR0ZWxwdW5rdGJhaG4gdW5kIFZvcnNjaHVia29ycmVrdHVyPC9zcGFuPjwvc3Ryb25nPiBwcsO8ZmVuLjwvcD4NCiAgICAgIDxkaXYgY2xhc3M9Im5vdGUtYm94Ij4NCiAgICAgICAgPGRpdiBjbGFzcz0ibm90ZS1oZWFkIj48c3BhbiBjbGFzcz0iYmFkZ2UiPlBPSU5UPC9zcGFuPjxoND5IZWxpeGZyw6RzZW4ga29tYmluaWVydCBLcmVpc2ludGVycG9sYXRpb24gdW5kIFotQWNoc2VuLVZvcnNjaHViPC9oND48L2Rpdj4NCiAgICAgICAgPHA+RGllIHdpY2h0aWdzdGVuIFByw7xmdW5nZW4gc2luZCwgb2IgZGFzIFdlcmt6ZXVnIEhlbGl4ZnLDpHNlbiB1bnRlcnN0w7x0enQsIG9iIGRlciBSYW1wZW53aW5rZWwgZ2VlaWduZXQgaXN0LCBvYiBkaWUgU3RlaWd1bmcgbmljaHQgenUgZ3Jvw58gaXN0IHVuZCBvYiBkaWUgVm9yc2NodWJrb3JyZWt0dXIga29ycmVrdCBnZWhhbmRoYWJ0IHdpcmQuPC9wPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1lbWJlZCI+DQogICAgICAgIDxpZnJhbWUgd2lkdGg9IjMzOSIgaGVpZ2h0PSI2MDIiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvcUp2WlRhZTJZZFE/c3RhcnQ9MTEmZW5kPTE1JnBsYXlzaW5saW5lPTEiIHRpdGxlPSJEb0ZlZWRUcmkg4oCTIEhpZ2ggZmVlZC1CZWFyYmVpdHVuZyBtaXQgSG9yaXpvbnRhbC1CZWFyYmVpdHVuZ3N6ZW50cnVtISIgZnJhbWVib3JkZXI9IjAiIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlOyB3ZWItc2hhcmUiIHJlZmVycmVycG9saWN5PSJzdHJpY3Qtb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luIiBhbGxvd2Z1bGxzY3JlZW49IiI+PC9pZnJhbWU+DQogICAgICA8L2Rpdj4NCiAgICA8L3NlY3Rpb24+DQoNCiAgICA8c2VjdGlvbiBpZD0ic2VjdGlvbjIiPg0KICAgICAgPGgyIGNsYXNzPSJyZWRsaW5lIj4yLiBEcmVpIFNjaGzDvHNzZWx3ZXJ0ZSBiZWltIEhlbGl4ZnLDpHNlbjwvaDI+DQogICAgICA8cD5CZWltIEZlc3RsZWdlbiBkZXIgQmVkaW5ndW5nZW4gZsO8ciBkYXMgSGVsaXhmcsOkc2VuIGJlZ2lubmVuIFNpZSBtaXQgZGVuIGZvbGdlbmRlbiBkcmVpIFdlcnRlbi48L3A+DQogICAgICA8dGFibGU+DQogICAgICAgIDx0aGVhZD48dHI+PHRoPlBvc2l0aW9uPC90aD48dGg+U3ltYm9sPC90aD48dGg+QmVzY2hyZWlidW5nPC90aD48L3RyPjwvdGhlYWQ+DQogICAgICAgIDx0Ym9keT4NCiAgICAgICAgICA8dHI+PHRkPkxvY2hkdXJjaG1lc3NlcjwvdGQ+PHRkPkRoPC90ZD48dGQ+WmllbC1Mb2NoZHVyY2htZXNzZXIgYnp3LiBoZWxpa2FsZXIgTG9jaGR1cmNobWVzc2VyPC90ZD48L3RyPg0KICAgICAgICAgIDx0cj48dGQ+Q3V0dGVyLUR1cmNobWVzc2VyPC90ZD48dGQ+RGM8L3RkPjx0ZD5EdXJjaG1lc3NlciBkZXMgdmVyd2VuZGV0ZW4gRnLDpHNlcnM8L3RkPjwvdHI+DQogICAgICAgICAgPHRyPjx0ZD5IZWxpeC1TdGVpZ3VuZzwvdGQ+PHRkPlBoPC90ZD48dGQ+Wi1BY2hzZW4tQmV3ZWd1bmcgcHJvIFdlcmt6ZXVndW1kcmVodW5nPC90ZD48L3RyPg0KICAgICAgICA8L3Rib2R5Pg0KICAgICAgPC90YWJsZT4NCiAgICAgIDxwPlNvYmFsZCBkaWVzZSBkcmVpIFdlcnRlIGZlc3RnZWxlZ3Qgc2luZCwgbGFzc2VuIHNpY2ggZGVyIER1cmNobWVzc2VyIGRlciBXZXJremV1Z21pdHRlbHB1bmt0YmFobiB1bmQgZGllIFdlZ3N0cmVja2UgZGVzIFdlcmt6ZXVnbWl0dGVscHVua3RzIHBybyBVbWRyZWh1bmcgYmVzdGltbWVuLjwvcD4NCiAgICAgIDxwcmU+PGNvZGU+VG9vbC1jZW50ZXIgcGF0aCBkaWFtZXRlciA9IERoIC0gRGMNClRvb2wtY2VudGVyIHRyYXZlbCBkaXN0YW5jZSBwZXIgcmV2b2x1dGlvbiA9IChEaCAtIERjKSB4IHBpPC9jb2RlPjwvcHJlPg0KDQogICAgICA8ZmlndXJlIGNsYXNzPSJjb250ZW50LWZpZ3VyZSIgYXJpYS1sYWJlbD0iSG9sZSBkaWFtZXRlciBhbmQgdG9vbC1jZW50ZXIgcGF0aCBkaWFncmFtIj4NCiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vdHVuZ2Fsb3kuY29tL3dwZGF0YS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNy9oZWxpY2FsLWJhc2lzLnBuZyIgYWx0PSJCZXppZWh1bmcgendpc2NoZW4gTG9jaGR1cmNobWVzc2VyIERoLCBDdXR0ZXItRHVyY2htZXNzZXIgRGMgdW5kIER1cmNobWVzc2VyIGRlciBXZXJremV1Z21pdHRlbHB1bmt0YmFobiBEaCAtIERjIj4NCiAgICAgIDwvZmlndXJlPg0KDQogICAgICA8aDMgY2xhc3M9InN1Yi10aXRsZSI+U28gZGVua2VuIFNpZSDDvGJlciBkZW4gUmFtcGVud2lua2VsPC9oMz4NCiAgICAgIDxwPlNvYmFsZCBkaWUgSGVsaXgtU3RlaWd1bmcgZmVzdGdlbGVndCBpc3QsIGthbm4gZGVyIFJhbXBlbndpbmtlbCBiZXJlY2huZXQgd2VyZGVuLjwvcD4NCiAgICAgIDxwcmU+PGNvZGU+UmFtcGluZyBhbmdsZSA9IGF0YW4oaGVsaWNhbCBwaXRjaCAvIHRvb2wtY2VudGVyIHRyYXZlbCBkaXN0YW5jZSBwZXIgcmV2b2x1dGlvbik8L2NvZGU+PC9wcmU+DQogICAgICA8cD5CZWlzcGllbDogTG9jaGR1cmNobWVzc2VyIDUwIG1tLCBDdXR0ZXItRHVyY2htZXNzZXIgMTAgbW0gdW5kIEhlbGl4LVN0ZWlndW5nIDUgbW06PC9wPg0KICAgICAgPHByZT48Y29kZT5Ub29sLWNlbnRlciBwYXRoIGRpYW1ldGVyID0gNTAuMCAtIDEwLjAgPSA0MC4wIG1tDQpUb29sLWNlbnRlciB0cmF2ZWwgZGlzdGFuY2UgcGVyIHJldm9sdXRpb24gPSA0MC4wIHggcGkgPSAxMjUuNyBtbQ0KUmFtcGluZyBhbmdsZSA9IGF0YW4oNS4wIC8gMTI1LjcpID0gYXBwcm94LiAyLjMgZGVnPC9jb2RlPjwvcHJlPg0KICAgICAgPHA+V2VubiBTaWUgenVlcnN0IGRlbiBSYW1wZW53aW5rZWwgZmVzdGxlZ2VuIG3DtmNodGVuLCBiZXJlY2huZW4gU2llIGRpZSBIZWxpeC1TdGVpZ3VuZyBtaXQgZGVyIGZvbGdlbmRlbiBGb3JtZWwuPC9wPg0KICAgICAgPHByZT48Y29kZT5IZWxpY2FsIHBpdGNoID0gdG9vbC1jZW50ZXIgdHJhdmVsIGRpc3RhbmNlIHBlciByZXZvbHV0aW9uIHggdGFuKHJhbXBpbmcgYW5nbGUpPC9jb2RlPjwvcHJlPg0KICAgICAgPGRpdiBjbGFzcz0ibm90ZS1ib3giPg0KICAgICAgICA8ZGl2IGNsYXNzPSJub3RlLWhlYWQiPjxzcGFuIGNsYXNzPSJiYWRnZSI+UE9JTlQ8L3NwYW4+PGg0PkdydW5kbGFnZSBkZXIgQmVyZWNobnVuZyBpc3QgZGVyIER1cmNobWVzc2VyIGRlciBXZXJremV1Z21pdHRlbHB1bmt0YmFobiwgbmljaHQgZGVyIExvY2hkdXJjaG1lc3NlciBzZWxic3Q8L2g0PjwvZGl2Pg0KICAgICAgICA8cD5CZWkgQmVyZWNobnVuZ2VuIHp1bSBIZWxpeGZyw6RzZW4gaXN0IGVzIHdpY2h0aWcsIG5pY2h0IGRlbiBMb2NoZHVyY2htZXNzZXIgc2VsYnN0IHp1IHZlcndlbmRlbiwgc29uZGVybiBkZW4gPHN0cm9uZyBjbGFzcz0iZW0tcmVkIj5EdXJjaG1lc3NlciBkZXIgQmFobiwgZGllIGRlciBXZXJremV1Z21pdHRlbHB1bmt0IGJlc2NocmVpYnQ8L3N0cm9uZz4uPC9wPg0KICAgICAgPC9kaXY+DQogICAgPC9zZWN0aW9uPg0KDQogICAgPHNlY3Rpb24gaWQ9InNlY3Rpb24zIj4NCiAgICAgIDxoMiBjbGFzcz0icmVkbGluZSI+My4gUHVua3RlIHp1ciBXZXJremV1Z2F1c3dhaGwgZsO8ciBIZWxpeGZyw6RzZW48L2gyPg0KICAgICAgPHA+QmVpbSBIZWxpeGZyw6RzZW4gaXN0IG5pY2h0IGF1dG9tYXRpc2NoIGplZGVyIEN1dHRlciBnZWVpZ25ldCwgZGVyIGluIGRlbiBMb2NoZHVyY2htZXNzZXIgcGFzc3QuIFNpZSBtw7xzc2VuIHByw7xmZW4sIG9iIGRhcyBXZXJremV1ZyBIZWxpeGZyw6RzZW4gdW50ZXJzdMO8dHp0LCBvYiBkZXIgTG9jaGR1cmNobWVzc2VyIGlubmVyaGFsYiBkZXMgbWluaW1hbGVuIHVuZCBtYXhpbWFsZW4gaGVsaWthbGVuIExvY2hiZXJlaWNocyBsaWVndCB1bmQgb2IgU3RlaWd1bmcgdW5kIFJhbXBlbndpbmtlbCBpbm5lcmhhbGIgZGVyIFdlcmt6ZXVnc3BlemlmaWthdGlvbmVuIGxpZWdlbi48L3A+DQogICAgICA8aDMgY2xhc3M9InN1Yi10aXRsZSI+QXJ0ZW4gdm9uIEN1dHRlcm4gZsO8ciBIZWxpeGZyw6RzZW48L2gzPg0KICAgICAgPHA+RGllIHdpY2h0aWdzdGVuIEthbmRpZGF0ZW4gc2luZCA8c3Ryb25nIGNsYXNzPSJlbS1yZWQiPlNjaHVsdGVyZnLDpHNlbi1DdXR0ZXIgbWl0IFJhbXBlbmbDpGhpZ2tlaXQ8L3N0cm9uZz4gdW5kIDxzdHJvbmcgY2xhc3M9ImVtLXJlZCI+SGlnaCBmZWVkLUN1dHRlciBtaXQgUmFtcGVuZsOkaGlna2VpdDwvc3Ryb25nPi4gQmVpIGJlaWRlbiBUeXBlbiBwcsO8ZmVuIFNpZSwgb2IgZGFzIFdlcmt6ZXVnIGbDvHIgSGVsaXhmcsOkc2VuIGVpbmdlc2V0enQgd2VyZGVuIGthbm4sIHdpZSBncm/DnyBkZXIgbWF4aW1hbGUgUmFtcGVud2lua2VsIGlzdCB1bmQgb2IgZGVyIFppZWxkdXJjaG1lc3NlciBpbm5lcmhhbGIgZGVzIG1pbmltYWxlbiB1bmQgbWF4aW1hbGVuIGhlbGlrYWxlbiBMb2NoYmVyZWljaHMgbGllZ3QuPC9wPg0KICAgICAgPGRpdiBjbGFzcz0iY3V0dGVyLWltYWdlcyI+DQogICAgICAgIDxmaWd1cmUgY2xhc3M9ImN1dHRlci1pbWFnZSI+DQogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vdHVuZ2Fsb3kuY29tL3dwZGF0YS93cC1jb250ZW50L3VwbG9hZHMvcHJvZHVjdF9NaWxsaW5nX1R1bmdGb3JjZS1SZWMtMTUweDE1MC5wbmciIGFsdD0iQmlsZDogU2NodWx0ZXJmcsOkc2VuLUN1dHRlciIgd2lkdGg9IjE1MCIgaGVpZ2h0PSIxNTAiPg0KICAgICAgICAgIDxmaWdjYXB0aW9uPkJpbGQ6IFNjaHVsdGVyZnLDpHNlbi1DdXR0ZXI8L2ZpZ2NhcHRpb24+DQogICAgICAgIDwvZmlndXJlPg0KICAgICAgICA8ZmlndXJlIGNsYXNzPSJjdXR0ZXItaW1hZ2UiPg0KICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3R1bmdhbG95LmNvbS93cGRhdGEvd3AtY29udGVudC91cGxvYWRzL21fNTQ1X3RfMDEtMTUweDE1MC5wbmciIGFsdD0iQmlsZDogSGlnaCBmZWVkLUN1dHRlciIgd2lkdGg9IjE1MCIgaGVpZ2h0PSIxNTAiPg0KICAgICAgICAgIDxmaWdjYXB0aW9uPkJpbGQ6IEhpZ2ggZmVlZC1DdXR0ZXI8L2ZpZ2NhcHRpb24+DQogICAgICAgIDwvZmlndXJlPg0KICAgICAgPC9kaXY+DQogICAgICA8aDMgY2xhc3M9InN1Yi10aXRsZSI+RsO8cnMgU2NocnVwcGVuIHNpbmQgSGlnaC1GZWVkLUN1dHRlciBtZWlzdCBkaWUgZXJzdGUgV2FobDwvaDM+DQogICAgICA8cD5XZW5uIEhlbGl4ZnLDpHNlbiBhbHMgU2NocnVwcGJlYXJiZWl0dW5nIGVpbmdlc2V0enQgd2lyZCwgaXN0IGVzIHNpbm52b2xsLCB6dW7DpGNoc3QgZWluZW4gPHN0cm9uZyBjbGFzcz0iZW0tcmVkIj5IaWdoIGZlZWQtQ3V0dGVyPC9zdHJvbmc+IGluIEJldHJhY2h0IHp1IHppZWhlbi4gQXVjaCB3ZW5uIEhpZ2gtRmVlZC1DdXR0ZXIgZWluZSBnZXJpbmdlcmUgbWF4aW1hbGUgU2Nobml0dHRpZWZlIEFQTVggaGFiZW4ga8O2bm5lbiwgbGFzc2VuIHNpY2ggb2Z0IGjDtmhlcmUgVm9yc2Now7xiZSBhbndlbmRlbiwgd2FzIGRpZSBQcm9kdWt0aXZpdMOkdCBzdGVpZ2VydC48L3A+DQogICAgICA8cD5KZSBuYWNoIEJlYXJiZWl0dW5nc3dlZyB1bmQgRHVyY2htZXNzZXIgZGVyIFdlcmt6ZXVnbWl0dGVscHVua3RiYWhuIGthbm4gZGVyIG1heGltYWxlIFJhbXBlbndpbmtlbCBlaW5lcyBTaG91bGRlci1DdXR0ZXJzIHp1bSBsaW1pdGllcmVuZGVuIEZha3RvciB3ZXJkZW4sIHNvZGFzcyBkZXIgQ3V0dGVyIHNlaW5lIHZlcmbDvGdiYXJlIEFQTVggbmljaHQgdm9sbHN0w6RuZGlnIG51dHplbiBrYW5uLiBEYWhlciBrYW5uIDxzdHJvbmc+PHNwYW4gY2xhc3M9ImhsIj5laW4gSGlnaC1GZWVkLUN1dHRlciBhdWNoIGJlaSBrbGVpbmVyZXIgQVBNWCB2b3J0ZWlsaGFmdCBzZWluLCB3ZWlsIGVyIGjDtmhlcmUgVm9yc2NodWJiZWRpbmd1bmdlbiBlcm3DtmdsaWNodDwvc3Bhbj48L3N0cm9uZz4uPC9wPg0KICAgICAgPGRpdiBjbGFzcz0iY29tcGFyaXNvbi1saXN0Ij4NCiAgICAgICAgPGRpdj4NCiAgICAgICAgICA8aDQ+V2FubiBTaWUgbWl0IGVpbmVtIEhpZ2gtRmVlZC1DdXR0ZXIgYmVnaW5uZW4gc29sbHRlbjwvaDQ+DQogICAgICAgICAgPHVsPg0KICAgICAgICAgICAgPGxpPjxzdHJvbmc+U2NocnVwcGVuOjwvc3Ryb25nPiBGw7xyIHByb2R1a3Rpdml0w6R0c29yaWVudGllcnRlIEJlYXJiZWl0dW5nIGJlZ2lubmVuIFNpZSBtaXQgZWluZW0gSGlnaC1GZWVkLUN1dHRlci48L2xpPg0KICAgICAgICAgICAgPGxpPjxzdHJvbmc+VGllZmUgQm9ocnVuZ2VuOjwvc3Ryb25nPiBIaWdoLUZlZWQtQ3V0dGVyIG5laWdlbiBiZWkgbGFuZ2VyIEF1c2tyYWd1bmcgd2VuaWdlciB6dSBSYXR0ZXJuIHVuZCBiaWV0ZW4gZWluZSBndXRlIFNwYW5hYmZ1aHIuPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPldlbm4gZWluZSBWZXJrw7xyenVuZyBkZXIgQmVhcmJlaXR1bmdzemVpdCB3aWNodGlnIGlzdDo8L3N0cm9uZz4gQXVjaCBiZWkga2xlaW5lcmVyIEFQTVggbGFzc2VuIHNpY2ggSGlnaCBmZWVkLUJlZGluZ3VuZ2VuIGxlaWNodGVyIGFud2VuZGVuLjwvbGk+DQogICAgICAgICAgICA8bGk+PHN0cm9uZz5IYXJ0ZSBvZGVyIHNjaHdlciB6ZXJzcGFuYmFyZSBXZXJrc3RvZmZlOjwvc3Ryb25nPiBFaW4ga2xlaW5lciBFaW5zdGVsbHdpbmtlbCBrYW5uIGRlbiBTcGFuIGF1c2TDvG5uZW4gdW5kIGRpZSBXZXJremV1Z2JlbGFzdHVuZyByZWR1emllcmVuLjwvbGk+DQogICAgICAgICAgPC91bD4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXY+DQogICAgICAgICAgPGg0PlNvIHZlcmdsZWljaGVuIFNpZSBtaXQgU2NodWx0ZXJmcsOkc2VuLUN1dHRlcm48L2g0Pg0KICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPlNjaHVsdGVyZnLDpHNlbi1DdXR0ZXI6PC9zdHJvbmc+IFNlbGJzdCBiZWkgZ3Jvw59lciBBUE1YIGthbm4gZGllIEJlZ3Jlbnp1bmcgZGVzIG1heGltYWxlbiBSYW1wZW53aW5rZWxzIGRpZSB2b2xsc3TDpG5kaWdlIE51dHp1bmcgZGllc2VyIEbDpGhpZ2tlaXQgdmVyaGluZGVybi48L2xpPg0KICAgICAgICAgICAgPGxpPjxzdHJvbmc+SGlnaC1GZWVkLUN1dHRlcjo8L3N0cm9uZz4gU2VsYnN0IGJlaSBrbGVpbmVyZXIgQVBNWCBrYW5uIGVyIGR1cmNoIEhpZ2ggZmVlZC1CZWRpbmd1bmdlbiBiZWltIFNjaHJ1cHBlbiB2b3J0ZWlsaGFmdCBzZWluLjwvbGk+DQogICAgICAgICAgPC91bD4NCiAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICAgIDxoMyBjbGFzcz0ic3ViLXRpdGxlIj5XbyBTY2h1bHRlcmZyw6RzZW4tQ3V0dGVyIGVmZmVrdGl2IHNpbmQ8L2gzPg0KICAgICAgPHA+RXMgZ2lidCBhdWNoIEbDpGxsZSwgaW4gZGVuZW4gU2NodWx0ZXJmcsOkc2VuLUN1dHRlciB2b3J0ZWlsaGFmdCBzaW5kLiBaaWVoZW4gU2llIGVpbmVuIFNob3VsZGVyLUN1dHRlciBpbiBCZXRyYWNodCwgd2VubiBkaWUgV2Vya3N0w7xja3N0ZWlmaWdrZWl0IGdlcmluZyBpc3Qgb2RlciB3ZW5uIGRhcyBFcnNjaGVpbnVuZ3NiaWxkIGRlciBiZWFyYmVpdGV0ZW4gTG9jaHdhbmQgd2ljaHRpZyBpc3QuPC9wPg0KICAgICAgPHRhYmxlPg0KICAgICAgICA8dGhlYWQ+PHRyPjx0aD5TaXR1YXRpb24sIGRpZSBmw7xyIFNob3VsZGVyLUN1dHRlciBnZWVpZ25ldCBpc3Q8L3RoPjx0aD5HcnVuZDwvdGg+PC90cj48L3RoZWFkPg0KICAgICAgICA8dGJvZHk+DQogICAgICAgICAgPHRyPjx0ZD5HZXJpbmdlIFdlcmtzdMO8Y2tzdGVpZmlna2VpdDwvdGQ+PHRkPlNob3VsZGVyLUN1dHRlciBrw7ZubmVuIGhlbGZlbiwgZGllIHJhZGlhbGUgS29tcG9uZW50ZSBkZXIgU2Nobml0dGtyYWZ0IHp1IHJlZHV6aWVyZW4gdW5kIGRpZSBhdWYgZGFzIFdlcmtzdMO8Y2sgZHLDvGNrZW5kZSBLcmFmdCB6dSB1bnRlcmRyw7xja2VuLjwvdGQ+PC90cj4NCiAgICAgICAgICA8dHI+PHRkPkVpbmUgYmVzc2VyZSBPcHRpayBkZXIgTG9jaHdhbmQgaXN0IGVyZm9yZGVybGljaDwvdGQ+PHRkPkhpZ2gtRmVlZC1DdXR0ZXIga8O2bm5lbiBlaW5lIHNjaHVwcGVuYXJ0aWdlIE9iZXJmbMOkY2hlIGFuIGRlciBMb2Nod2FuZCBoaW50ZXJsYXNzZW4uIFdlbm4gZGllIFdhbmRvYmVyZmzDpGNoZSB3aWNodGlnIGlzdCwga2FubiBlaW4gU2hvdWxkZXItQ3V0dGVyIGVpbiBiZXNzZXJlciBLYW5kaWRhdCBzZWluLjwvdGQ+PC90cj4NCiAgICAgICAgPC90Ym9keT4NCiAgICAgIDwvdGFibGU+DQogICAgICA8ZGl2IGNsYXNzPSJub3RlLWJveCI+DQogICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtaGVhZCI+PHNwYW4gY2xhc3M9ImJhZGdlIj5QT0lOVDwvc3Bhbj48aDQ+SGlnaC1GZWVkLUN1dHRlciBhbHMgU2NocnVwcC1CYXNpcyB2ZXJ3ZW5kZW47IFNob3VsZGVyLUN1dHRlciBiZWkgZ2VyaW5nZXIgU3RlaWZpZ2tlaXQgb2RlciBiZXNzZXJlciBXYW5kb3B0aWsgaW4gQmV0cmFjaHQgemllaGVuPC9oND48L2Rpdj4NCiAgICAgICAgPHA+QmVpIGRlciB0YXRzw6RjaGxpY2hlbiBBdXN3YWhsIHByw7xmZW4gU2llIGltbWVyIG5pY2h0IG51ciBkZW4gQ3V0dGVyLVR5cCwgc29uZGVybiBhdWNoIGRlbiBtYXhpbWFsZW4gUmFtcGVud2lua2VsLCBkZW4gbWluaW1hbGVuIHVuZCBtYXhpbWFsZW4gaGVsaWthbGVuIExvY2hkdXJjaG1lc3NlciwgQVBNWCB1bmQga29tcGF0aWJsZSB3ZW5kZXNjaG5laWRwbGF0dGVuLjwvcD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPHRhYmxlPg0KICAgICAgICA8dGhlYWQ+PHRyPjx0aD5QcsO8ZnB1bmt0PC90aD48dGg+V2FydW0gd2ljaHRpZzwvdGg+PHRoPlJpc2lrbyBiZWkgTmljaHRiZWFjaHR1bmc8L3RoPjwvdHI+PC90aGVhZD4NCiAgICAgICAgPHRib2R5Pg0KICAgICAgICAgIDx0cj48dGQ+VW50ZXJzdMO8dHp0IGRhcyBXZXJremV1ZyBIZWxpeGZyw6RzZW4/PC90ZD48dGQ+V2Vya3pldWdnZW9tZXRyaWUsIFNjaG5laWRrYW50ZW5mZXN0aWdrZWl0IHVuZCBTcGFuYWJmdWhyIG3DvHNzZW4gZ2VlaWduZXQgc2Vpbi48L3RkPjx0ZD5DaGlwcGluZywgUmF0dGVybiwgU3BhbnZlcnN0b3BmdW5nPC90ZD48L3RyPg0KICAgICAgICAgIDx0cj48dGQ+TGllZ3QgZGVyIER1cmNobWVzc2VyIGlubmVyaGFsYiBkZXMgbWluLi9tYXguIGhlbGlrYWxlbiBMb2NoYmVyZWljaHM/PC90ZD48dGQ+QmVzdMOkdGlnZW4gU2llLCBkYXNzIGRhcyBXZXJremV1ZyBkZW4gWmllbC1Mb2NoZHVyY2htZXNzZXIgYWJkZWNrZW4ga2Fubi48L3RkPjx0ZD5XZXJremV1Z2tvbGxpc2lvbiwgw7xiZXJtw6TDn2lnZSBCZWxhc3R1bmc8L3RkPjwvdHI+DQogICAgICAgICAgPHRyPjx0ZD5MaWVndCBkaWUgU3RlaWd1bmcgaW5uZXJoYWxiIHZvbiBBUE1YPzwvdGQ+PHRkPkJlc3TDpHRpZ2VuIFNpZSwgZGFzcyBkaWUgWi1BY2hzZW4tVGllZmUgcHJvIFVtZHJlaHVuZyBpbm5lcmhhbGIgZGVyIFdlcmt6ZXVnc3BlemlmaWthdGlvbiBsaWVndC48L3RkPjx0ZD5TY2huZWlka2FudGVuYnJ1Y2gsIHNjaGxlY2h0ZSBPYmVyZmzDpGNoZW5xdWFsaXTDpHQ8L3RkPjwvdHI+DQogICAgICAgICAgPHRyPjx0ZD5MaWVndCBkZXIgUmFtcGVud2lua2VsIGlubmVyaGFsYiBkZXIgR3JlbnplPzwvdGQ+PHRkPkJlc3TDpHRpZ2VuIFNpZSwgZGFzcyBkaWUgV2Vya3pldWdiZWxhc3R1bmcgYmVpbSBnZW5laWd0ZW4gRWludHJpdHQgYWt6ZXB0YWJlbCBibGVpYnQuPC90ZD48dGQ+Q2hpcHBpbmcsIFJhdHRlcm4sIMOcYmVybGFzdDwvdGQ+PC90cj4NCiAgICAgICAgICA8dHI+PHRkPkthbm4gZGllIFdlcmt6ZXVnbWl0dGVscHVua3RiYWhuIHNpY2hlcmdlc3RlbGx0IHdlcmRlbj88L3RkPjx0ZD5CZXN0w6R0aWdlbiBTaWUsIGRhc3MgZGVyIEN1dHRlci1EdXJjaG1lc3NlciBuaWNodCB6dSBuYWhlIGFtIExvY2hkdXJjaG1lc3NlciBsaWVndC48L3RkPjx0ZD5EZXIgUmFtcGVud2lua2VsIHdpcmQgdGVuZGVuemllbGwgenUgZ3Jvw588L3RkPjwvdHI+DQogICAgICAgICAgPHRyPjx0ZD5TaW5kIEJlYXJiZWl0dW5nc3RpZWZlIHVuZCBBdXNrcmFndW5nIGFremVwdGFiZWw/PC90ZD48dGQ+VmVybWVpZGVuIFNpZSBLb2xsaXNpb25lbiB2b24gV2Vya3pldWcgb2RlciBIYWx0ZXIuPC90ZD48dGQ+SGFsdGVya29sbGlzaW9uLCB1bnp1cmVpY2hlbmRlIFN0ZWlmaWdrZWl0PC90ZD48L3RyPg0KICAgICAgICAgIDx0cj48dGQ+U2luZCBTb3J0ZSB1bmQgU3BhbmZvcm1lciBmw7xyIGRhcyBNYXRlcmlhbCBnZWVpZ25ldD88L3RkPjx0ZD5EaWUgU2NobmVpZGthbnRlIG11c3MgenVtIFdlcmtzdG9mZiBwYXNzZW4uPC90ZD48dGQ+VmVyc2NobGVpw58sIENoaXBwaW5nLCBBdWZiYXVzY2huZWlkZTwvdGQ+PC90cj4NCiAgICAgICAgICA8dHI+PHRkPklzdCBkaWUgU3BhbmFiZnVociBzaWNoZXJnZXN0ZWxsdD88L3RkPjx0ZD5JbiBlaW5lciBCb2hydW5nIGlzdCBkZXIgUmF1bSB6dW0gU3BhbmFidHJhbnNwb3J0IGJlZ3Jlbnp0LjwvdGQ+PHRkPlNwYW4tTmFjaHNjaG5laWRlbiwgV2Vya3pldWdzY2hhZGVuPC90ZD48L3RyPg0KICAgICAgICAgIDx0cj48dGQ+TGllZ3QgZGllIEJlZGluZ3VuZyBpbm5lcmhhbGIgZGVyIE1hc2NoaW5lbmbDpGhpZ2tlaXQ/PC90ZD48dGQ+UHLDvGZlbiBTaWUgU3BpbmRlbGRyZWh6YWhsLCBWb3JzY2h1YiB1bmQgU3BpbmRlbGxlaXN0dW5nLjwvdGQ+PHRkPkluc3RhYmlsZSBCZWFyYmVpdHVuZywgQmVkaW5ndW5nZW4gbmljaHQgZXJyZWljaGJhcjwvdGQ+PC90cj4NCiAgICAgICAgPC90Ym9keT4NCiAgICAgIDwvdGFibGU+DQogICAgICA8ZGl2IGNsYXNzPSJub3RlLWJveCI+DQogICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtaGVhZCI+PHNwYW4gY2xhc3M9ImJhZGdlIj5QT0lOVDwvc3Bhbj48aDQ+TG9jaGR1cmNobWVzc2VyLCBDdXR0ZXItRHVyY2htZXNzZXIsIEFQTVggdW5kIG1heGltYWxlbiBSYW1wZW53aW5rZWwgZ2VtZWluc2FtIHByw7xmZW48L2g0PjwvZGl2Pg0KICAgICAgICA8cD5Gw7xyIGRpZSBXZXJremV1Z2F1c3dhaGwgYmVpbSBIZWxpeGZyw6RzZW4gcHLDvGZlbiBTaWUgPHN0cm9uZyBjbGFzcz0iZW0tcmVkIj5Mb2NoZHVyY2htZXNzZXIsIEN1dHRlci1EdXJjaG1lc3NlciwgbWluaW1hbGVuIHVuZCBtYXhpbWFsZW4gaGVsaWthbGVuIExvY2hkdXJjaG1lc3NlciwgQVBNWCB1bmQgbWF4aW1hbGVuIFJhbXBlbndpbmtlbDwvc3Ryb25nPiBhbHMgenVzYW1tZW5nZWjDtnJpZ2VzIFNldC48L3A+DQogICAgICA8L2Rpdj4NCiAgICA8L3NlY3Rpb24+DQoNCiAgICA8c2VjdGlvbiBpZD0ic2VjdGlvbjQiPg0KICAgICAgPGgyIGNsYXNzPSJyZWRsaW5lIj40LiBWb3JnZWhlbnN3ZWlzZSB6dXIgV2Vya3pldWdhdXN3YWhsPC9oMj4NCiAgICAgIDxwPkRpZXNlciBBYnNjaG5pdHQgc2tpenppZXJ0IGRlbiBwcmFrdGlzY2hlbiBBYmxhdWYgenVyIEF1c3dhaGwgZWluZXMgRnLDpHNlcnMgZsO8ciBkYXMgSGVsaXhmcsOkc2VuLiBMZWdlbiBTaWUgenVuw6RjaHN0IGRlbiBLYW5kaWRhdGVuLUN1dHRlci1EdXJjaG1lc3NlciBmZXN0IHVuZCBwcsO8ZmVuIFNpZSwgb2IgZGFzIFdlcmt6ZXVnIGRlbiBaaWVsLUxvY2hkdXJjaG1lc3NlciBhYmRlY2tlbiBrYW5uLiBBbnNjaGxpZcOfZW5kIHZlcnp3ZWlndCBkZXIgQWJsYXVmIGplIG5hY2hkZW0sIG9iIFNpZSB6dWVyc3QgZGllIEhlbGl4LVN0ZWlndW5nIG9kZXIgenVlcnN0IGRlbiBSYW1wZW53aW5rZWwgZmVzdGxlZ2VuLjwvcD4NCiAgICAgIDxvbCBjbGFzcz0ic3RlcC1saXN0Ij4NCiAgICAgICAgPGxpPjxzdHJvbmc+Q3V0dGVyLUR1cmNobWVzc2VyIGZlc3RsZWdlbjo8L3N0cm9uZz4gTGVnZW4gU2llIGRlbiBDdXR0ZXItRHVyY2htZXNzZXIgYnp3LiBkZW4gS2FuZGlkYXRlbi1XZXJremV1Z2R1cmNobWVzc2VyIGZlc3QuPC9saT4NCiAgICAgICAgPGZpZ3VyZSBjbGFzcz0iY29udGVudC1maWd1cmUgc3RlcC1pbWFnZSIgYXJpYS1sYWJlbD0iQ3V0dGVyIGRpYW1ldGVyIHNldHRpbmcgaW1hZ2UiPg0KICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3R1bmdhbG95LmNvbS93cGRhdGEvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDcvc2VsZWN0VG9vbC5wbmciIGFsdD0iQmlsZDogRmVzdGxlZ2VuIHZvbiBDdXR0ZXItRHVyY2htZXNzZXIgRGMgdW5kIEthbmRpZGF0ZW4tV2Vya3pldWciPg0KICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgPGxpPjxzdHJvbmc+V2Vya3pldWcgdm9ybMOkdWZpZyDDvGJlciBkZW4gbWluLi9tYXguIGhlbGlrYWxlbiBMb2NoYmVyZWljaCBhdXN3w6RobGVuOjwvc3Ryb25nPiBQcsO8ZmVuIFNpZSwgb2IgZGVyIFppZWxkdXJjaG1lc3NlciBpbm5lcmhhbGIgZGVzIEFud2VuZHVuZ3NiZXJlaWNocyBkZXMgV2Vya3pldWdzIGxpZWd0LjwvbGk+DQogICAgICAgIDxmaWd1cmUgY2xhc3M9ImNvbnRlbnQtZmlndXJlIHN0ZXAtaW1hZ2UiIGFyaWEtbGFiZWw9Ik1pbi9tYXggaGVsaWNhbC1ob2xlIHJhbmdlIGNoZWNrIGltYWdlIj4NCiAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly90dW5nYWxveS5jb20vd3BkYXRhL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA3L3Bob3JhbmdsZS5wbmciIGFsdD0iQmlsZDogVmVyZ2xlaWNoIFppZWwtTG9jaGR1cmNobWVzc2VyIG1pdCBtaW4uL21heC4gaGVsaWthbGVtIExvY2hiZXJlaWNoIGRlcyBLYW5kaWRhdGVuLVdlcmt6ZXVncyI+DQogICAgICAgIDwvZmlndXJlPg0KICAgICAgICA8bGk+PHN0cm9uZz5EdXJjaG1lc3NlciB1bmQgV2Vnc3RyZWNrZSBkZXIgV2Vya3pldWdtaXR0ZWxwdW5rdGJhaG4gYmVyZWNobmVuOjwvc3Ryb25nPiBTb2JhbGQgZGVyIEN1dHRlci1EdXJjaG1lc3NlciBmZXN0Z2VsZWd0IGlzdCwgaXN0IGRpZSBHcnVuZGxhZ2UgZsO8ciBkaWUgQmVyZWNobnVuZyB2b24gUmFtcGVud2lua2VsIHVuZCBTdGVpZ3VuZyBmaXhpZXJ0LjwvbGk+DQogICAgICAgIDxsaT48c3Ryb25nPkVudHNjaGVpZGVuLCBvYiBTdGVpZ3VuZyBvZGVyIFJhbXBlbndpbmtlbCB6dWVyc3Qga29tbXQ6PC9zdHJvbmc+IEJlaWRlIEFuc8OkdHplIHNpbmQgbcO2Z2xpY2g7IGFtIEVuZGUgcHLDvGZlbiBTaWUgc293b2hsIEFQTVggYWxzIGF1Y2ggZGVuIG1heGltYWxlbiBSYW1wZW53aW5rZWwuPC9saT4NCiAgICAgICAgPGZpZ3VyZSBjbGFzcz0iY29udGVudC1maWd1cmUgc3RlcC1pbWFnZSIgYXJpYS1sYWJlbD0iVG9vbC1jZW50ZXIgcGF0aCBkaWFtZXRlciwgdHJhdmVsIGRpc3RhbmNlLCBwaXRjaCwgYW5kIHJhbXBpbmctYW5nbGUgZmxvdyBpbWFnZSI+DQogICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vdHVuZ2Fsb3kuY29tL3dwZGF0YS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNy9DaGVja0NhcGFiaWxpdHktMi5wbmciIGFsdD0iQWJsYXVmOiBEdXJjaG1lc3NlciBkZXIgV2Vya3pldWdtaXR0ZWxwdW5rdGJhaG4gRGggLSBEYywgV2Vnc3RyZWNrZSBwcm8gVW1kcmVodW5nLCBBdXN3YWhsIOKAnlN0ZWlndW5nIHp1ZXJzdOKAnCB1bmQg4oCeUmFtcGVud2lua2VsIHp1ZXJzdOKAnCI+DQogICAgICAgIDwvZmlndXJlPg0KICAgICAgPC9vbD4NCiAgICAgIDx0YWJsZT4NCiAgICAgICAgPHRoZWFkPjx0cj48dGg+TWV0aG9kZTwvdGg+PHRoPlp1ZXJzdCBmZXN0Z2VsZWd0ZXIgV2VydDwvdGg+PHRoPkFscyBOw6RjaHN0ZXMgYmVyZWNobmV0ZXIgV2VydDwvdGg+PHRoPkhhdXB0cHLDvGZ1bmdlbjwvdGg+PC90cj48L3RoZWFkPg0KICAgICAgICA8dGJvZHk+DQogICAgICAgICAgPHRyPjx0ZD5NZXRob2RlIDE8L3RkPjx0ZD5IZWxpeC1TdGVpZ3VuZzwvdGQ+PHRkPlJhbXBlbndpbmtlbDwvdGQ+PHRkPkFQTVggdW5kIG1heGltYWxlciBSYW1wZW53aW5rZWw8L3RkPjwvdHI+DQogICAgICAgICAgPHRyPjx0ZD5NZXRob2RlIDI8L3RkPjx0ZD5SYW1wZW53aW5rZWw8L3RkPjx0ZD5IZWxpeC1TdGVpZ3VuZzwvdGQ+PHRkPk1heGltYWxlciBSYW1wZW53aW5rZWwgdW5kIEFQTVg8L3RkPjwvdHI+DQogICAgICAgIDwvdGJvZHk+DQogICAgICA8L3RhYmxlPg0KICAgICAgPGgzIGNsYXNzPSJzdWItdGl0bGUiPk1ldGhvZGUgMS4gWnVlcnN0IGRpZSBIZWxpeC1TdGVpZ3VuZyBmZXN0bGVnZW48L2gzPg0KICAgICAgPHA+V2VubiBTaWUgenVlcnN0IGRpZSBIZWxpeC1TdGVpZ3VuZyBmZXN0bGVnZW4sIHByw7xmZW4gU2llLCBvYiBkaWUgU3RlaWd1bmcgZGllIEFQTVggZGVzIFdlcmt6ZXVncyDDvGJlcnNjaHJlaXRldC4gV2VubiBzaWUgenVsw6Rzc2lnIGlzdCwgw7xiZXJuZWhtZW4gU2llIGRpZXNlIFN0ZWlndW5nIHVuZCBiZXJlY2huZW4gZGVuIFJhbXBlbndpbmtlbCBhdXMgZGVyIFdlZ3N0cmVja2UgZGVzIFdlcmt6ZXVnbWl0dGVscHVua3RzIHVuZCBkZXIgU3RlaWd1bmcuPC9wPg0KICAgICAgPGZpZ3VyZSBjbGFzcz0iY29udGVudC1maWd1cmUgbWV0aG9kLWltYWdlIiBhcmlhLWxhYmVsPSJQaXRjaC1maXJzdCBmbG93Ij4NCiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vdHVuZ2Fsb3kuY29tL3dwZGF0YS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNy9wcmlvclBpdGNoLTEucG5nIiBhbHQ9IkFibGF1ZjogSGVsaXgtU3RlaWd1bmcgenVlcnN0IGZlc3RsZWdlbiwgQVBNWCBwcsO8ZmVuLCBkYW5uIFJhbXBlbndpbmtlbCBiZXJlY2huZW4iPg0KICAgICAgPC9maWd1cmU+DQogICAgICA8cHJlPjxjb2RlPlJhbXBpbmcgYW5nbGUgPSBhdGFuKGhlbGljYWwgcGl0Y2ggLyB0b29sLWNlbnRlciB0cmF2ZWwgZGlzdGFuY2UgcGVyIHJldm9sdXRpb24pPC9jb2RlPjwvcHJlPg0KICAgICAgPHA+QmVzdMOkdGlnZW4gU2llIGFic2NobGllw59lbmQsIGRhc3MgZGVyIGJlcmVjaG5ldGUgUmFtcGVud2lua2VsIGlubmVyaGFsYiBkZXMgbWF4aW1hbGVuIFJhbXBlbndpbmtlbHMgZGVzIEthbmRpZGF0ZW4tV2Vya3pldWdzIGxpZWd0LiBXZW5uIGVzIGtlaW5lIFByb2JsZW1lIGdpYnQsIGvDtm5uZW4gQ3V0dGVyLUR1cmNobWVzc2VyLCBXZXJremV1ZywgSGVsaXgtU3RlaWd1bmcgdW5kIFJhbXBlbndpbmtlbCBmaW5hbCBmZXN0Z2VsZWd0IHdlcmRlbi48L3A+DQogICAgICA8aDMgY2xhc3M9InN1Yi10aXRsZSI+TWV0aG9kZSAyLiBadWVyc3QgZGVuIFJhbXBlbndpbmtlbCBmZXN0bGVnZW48L2gzPg0KICAgICAgPHA+V2VubiBTaWUgenVlcnN0IGRlbiBSYW1wZW53aW5rZWwgZmVzdGxlZ2VuLCBwcsO8ZmVuIFNpZSwgb2IgZGVyIFdpbmtlbCBkZW4gbWF4aW1hbGVuIFJhbXBlbndpbmtlbCBkZXMgS2FuZGlkYXRlbi1XZXJremV1Z3Mgw7xiZXJzY2hyZWl0ZXQuIFdlbm4gZXIgenVsw6Rzc2lnIGlzdCwgw7xiZXJuZWhtZW4gU2llIGRpZXNlbiBSYW1wZW53aW5rZWwgdW5kIGJlcmVjaG5lbiBkaWUgSGVsaXgtU3RlaWd1bmcgYXVzIGRlciBXZWdzdHJlY2tlIGRlcyBXZXJremV1Z21pdHRlbHB1bmt0cyB1bmQgZGVtIFJhbXBlbndpbmtlbC48L3A+DQogICAgICA8ZmlndXJlIGNsYXNzPSJjb250ZW50LWZpZ3VyZSBtZXRob2QtaW1hZ2UiIGFyaWEtbGFiZWw9IlJhbXBpbmctYW5nbGUtZmlyc3QgZmxvdyI+DQogICAgICAgIDxpbWcgc3JjPSJodHRwczovL3R1bmdhbG95LmNvbS93cGRhdGEvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDcvcHJpb3JBbmdsZS0xLnBuZyIgYWx0PSJBYmxhdWY6IFJhbXBlbndpbmtlbCB6dWVyc3QgZmVzdGxlZ2VuLCBtYXhpbWFsZW4gUmFtcGVud2lua2VsIHByw7xmZW4sIGRhbm4gSGVsaXgtU3RlaWd1bmcgYmVyZWNobmVuIj4NCiAgICAgIDwvZmlndXJlPg0KICAgICAgPHByZT48Y29kZT5IZWxpY2FsIHBpdGNoID0gdG9vbC1jZW50ZXIgdHJhdmVsIGRpc3RhbmNlIHBlciByZXZvbHV0aW9uIHggdGFuKHJhbXBpbmcgYW5nbGUpPC9jb2RlPjwvcHJlPg0KICAgICAgPHA+QmVzdMOkdGlnZW4gU2llIGFic2NobGllw59lbmQsIGRhc3MgZGllIGJlcmVjaG5ldGUgSGVsaXgtU3RlaWd1bmcgaW5uZXJoYWxiIGRlciBBUE1YIGRlcyBLYW5kaWRhdGVuLVdlcmt6ZXVncyBsaWVndC4gV2VubiBlcyBrZWluZSBQcm9ibGVtZSBnaWJ0LCBrw7ZubmVuIEN1dHRlci1EdXJjaG1lc3NlciwgV2Vya3pldWcsIFJhbXBlbndpbmtlbCB1bmQgSGVsaXgtU3RlaWd1bmcgZmluYWwgZmVzdGdlbGVndCB3ZXJkZW4uPC9wPg0KICAgICAgPGRpdiBjbGFzcz0ibm90ZS1ib3giPg0KICAgICAgICA8ZGl2IGNsYXNzPSJub3RlLWhlYWQiPjxzcGFuIGNsYXNzPSJiYWRnZSI+UE9JTlQ8L3NwYW4+PGg0PkRpZSBmaW5hbGVuIFByw7xmdW5nZW4gc2luZCBnbGVpY2gg4oCTIGVnYWwsIG9iIFNpZSBtaXQgU3RlaWd1bmcgb2RlciBXaW5rZWwgc3RhcnRlbjwvaDQ+PC9kaXY+DQogICAgICAgIDxwPkJlc3TDpHRpZ2VuIFNpZSwgZGFzcyBkaWUgQmVkaW5ndW5nIDxzdHJvbmcgY2xhc3M9ImVtLXJlZCI+aW5uZXJoYWxiIHZvbiBBUE1YLCBpbm5lcmhhbGIgZGVzIG1heGltYWxlbiBSYW1wZW53aW5rZWxzIHVuZCBpbm5lcmhhbGIgZGVzIG1pbi4vbWF4LiBoZWxpa2FsZW4gTG9jaGJlcmVpY2hzIGRlcyBXZXJremV1Z3M8L3N0cm9uZz4gbGllZ3QuPC9wPg0KICAgICAgPC9kaXY+DQogICAgPC9zZWN0aW9uPg0KDQogICAgPHNlY3Rpb24gaWQ9InNlY3Rpb241Ij4NCiAgICAgIDxoMiBjbGFzcz0icmVkbGluZSI+NS4gSGlud2Vpc2UgYmVpbSBIZWxpeGZyw6RzZW48L2gyPg0KICAgICAgPHA+RGEgZGFzIFdlcmt6ZXVnIGJlaW0gQmV3ZWdlbiBlbnRsYW5nIGVpbmVyIEtyZWlzYmFobiBpbiBlaW5lbSBXaW5rZWwgZWludHJpdHQsIGVyZm9yZGVydCBIZWxpeGZyw6RzZW4gbWVociBQcsO8ZnVuZ2VuIGRlciBCZWRpbmd1bmdlbiBhbHMgZ2V3w7ZobmxpY2hlcyBVbWZhbmdzZnLDpHNlbi4gUHLDvGZlbiBTaWUgaW5zYmVzb25kZXJlIGltbWVyIFJhbXBlbndpbmtlbCwgU3RlaWd1bmcsIFZvcnNjaHVia29ycmVrdHVyIHVuZCBTcGFuYWJmdWhyLjwvcD4NCiAgICAgIDxoMyBjbGFzcz0ic3ViLXRpdGxlIj5EZW4gUmFtcGVud2lua2VsIG5pY2h0IHp1IGdyb8OfIHfDpGhsZW48L2gzPg0KICAgICAgPHA+TWl0IHp1bmVobWVuZGVtIFJhbXBlbndpbmtlbCBzdGVpZ2VuIGRpZSBCZWxhc3R1bmcgYW4gZGVyIEN1dHRlci1TY2h1bHRlciB1bmQgYW4gZGVyIHdlbmRlc2NobmVpZHBsYXR0ZW4uIFNlbGJzdCB3ZW5uIGRlciBXaW5rZWwgaW5uZXJoYWxiIGRlciBtYXhpbWFsZW4gUmFtcGVud2lua2VsZ3JlbnplIGxpZWd0LCBrw7ZubmVuIGplIG5hY2ggV2Vya3N0b2ZmLCBNYXNjaGluZW5zdGVpZmlna2VpdCB1bmQgQXVza3JhZ2zDpG5nZSBSYXR0ZXJuIG9kZXIgQ2hpcHBpbmcgYXVmdHJldGVuLjwvcD4NCiAgICAgIDxoMyBjbGFzcz0ic3ViLXRpdGxlIj5IZWxpeC1TdGVpZ3VuZyBpbm5lcmhhbGIgdm9uIEFQTVggaGFsdGVuPC9oMz4NCiAgICAgIDxwPkRpZSBIZWxpeC1TdGVpZ3VuZyBpc3QgZGllIFotQWNoc2VuLVRpZWZlIHBybyBVbWRyZWh1bmcuIElzdCBkaWUgU3RlaWd1bmcgenUgZ3Jvw58sIGthbm4gc2llIGRpZSBBUE1YIGRlcyBXZXJremV1Z3Mgw7xiZXJzY2hyZWl0ZW4gdW5kIHp1IFNwYW52ZXJzdG9wZnVuZyBvZGVyIFJhdHRlcm4gZsO8aHJlbi48L3A+DQogICAgICA8aDMgY2xhc3M9InN1Yi10aXRsZSI+QWNodHVuZzogV2Vnc3RyZWNrZSBkZXMgV2Vya3pldWdtaXR0ZWxwdW5rdHMgdW5kIFdlZ3N0cmVja2UgZGVyIFNjaG5laWRlIHNpbmQgdW50ZXJzY2hpZWRsaWNoPC9oMz4NCiAgICAgIDxwPkJlaW0gSGVsaXhmcsOkc2VuIGJhc2llcmVuIE5DLUJlZmVobGUgYXVmIGRlciBXZXJremV1Z21pdHRlbHB1bmt0YmFobi4gRGllIHRhdHPDpGNobGljaGUgWmVyc3BhbnVuZyBlcmZvbGd0IGplZG9jaCBhbSBXZXJremV1Z3VtZmFuZy48L3A+DQogICAgICA8cD5CZWltIGlubmVyZW4gSGVsaXhmcsOkc2VuIGlzdCBkZXIgRHVyY2htZXNzZXIgZGVyIFdlcmt6ZXVnbWl0dGVscHVua3RiYWhuIGtsZWluZXIgYWxzIGRlciBiZWFyYmVpdGV0ZSBMb2NoZHVyY2htZXNzZXIuIERhaGVyIHNpbmQgPHN0cm9uZz48c3BhbiBjbGFzcz0iaGwiPmRpZSBXZWdzdHJlY2tlIGRlcyBXZXJremV1Z21pdHRlbHB1bmt0cyB1bmQgZGllIFdlZ3N0cmVja2UgZGVyIFNjaG5laWRlIG5pY2h0IGlkZW50aXNjaDwvc3Bhbj48L3N0cm9uZz4uPC9wPg0KICAgICAgPHA+V2VubiBLYXRhbG9nLVZvcnNjaHVid2VydGUgZGlyZWt0IGFscyBXZXJremV1Z21pdHRlbHB1bmt0LVZvcnNjaHViIHZvcmdlZ2ViZW4gd2VyZGVuLCBrYW5uIGRlciB0YXRzw6RjaGxpY2hlIFZvcnNjaHViIGFuIGRlciBTY2huZWlkZSBncsO2w59lciBhbHMgZXJ3YXJ0ZXQgd2VyZGVuLiBQcsO8ZmVuIFNpZSBkZW4gU29sbC1Wb3JzY2h1YiBmw7xyIGRlbiBXZXJremV1Z21pdHRlbHB1bmt0IHVuZCBkaWUgVm9yc2NodWJrb3JyZWt0dXIsIGRhbWl0IGRlciBWb3JzY2h1YiBhbiBkZXIgU2NobmVpZGUgbmljaHQgw7xiZXJtw6TDn2lnIHdpcmQuPC9wPg0KICAgICAgPHByZT48Y29kZT5Ub29sLWNlbnRlciBjb21tYW5kIGZlZWQgPSB1bmNvcnJlY3RlZCBmZWVkIHggKERoIC0gRGMpIC8gRGg8L2NvZGU+PC9wcmU+DQogICAgICA8cCBjbGFzcz0ic21hbGwtbm90ZSI+SGlud2VpczogSmUgbmFjaCBNYXNjaGluZSwgQ05DLVN0ZXVlcnVuZyBvZGVyIENBTS1TeXN0ZW0ga2FubiBkaWUgS3JlaXN2b3JzY2h1YmtvcnJla3R1ciBhdXRvbWF0aXNjaCBnZWhhbmRoYWJ0IHdlcmRlbi4gQmVzdMOkdGlnZW4gU2llIGRpZSBTdGV1ZXJ1bmdzc3BlemlmaWthdGlvbmVuIGRlciBNYXNjaGluZSBmw7xyIGRhcyB0YXRzw6RjaGxpY2hlIFByb2dyYW1tLjwvcD4NCiAgICAgIDxoMyBjbGFzcz0ic3ViLXRpdGxlIj5TcGFuYWJmdWhyIHNpY2hlcnN0ZWxsZW48L2gzPg0KICAgICAgPHA+QmVpbSBIZWxpeGZyw6RzZW4gaW5uZXJoYWxiIGVpbmVyIEJvaHJ1bmcgaXN0IGRlciBSYXVtIHp1bSBBYnRyYW5zcG9ydCBkZXIgU3DDpG5lIGJlZ3Jlbnp0LiBTcGFudmVyc3RvcGZ1bmcga2FubiB6dSBDaGlwcGluZywgc2NobGVjaHRlciBPYmVyZmzDpGNoZW5xdWFsaXTDpHQsIGFibm9ybWFsZW4gR2Vyw6R1c2NoZW4gdW5kIFJhdHRlcm4gZsO8aHJlbi48L3A+DQogICAgICA8ZGl2IGNsYXNzPSJub3RlLWJveCI+DQogICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtaGVhZCI+PHNwYW4gY2xhc3M9ImJhZGdlIj5WT1JTSUNIVDwvc3Bhbj48aDQ+QmVyZWNobmV0ZSBXZXJ0ZSBzaW5kIGVpbiBSaWNodHdlcnQgenVyIE1hY2hiYXJrZWl0c3Byw7xmdW5nPC9oND48L2Rpdj4NCiAgICAgICAgPHA+TGVnZW4gU2llIGRpZSBTY2huaXR0YmVkaW5ndW5nZW4gZW5kZ8O8bHRpZyBmZXN0LCBuYWNoZGVtIFNpZSBXZXJremV1Z3NwZXppZmlrYXRpb25lbiwgV2Vya3N0b2ZmLCBNYXNjaGluZW5zdGVpZmlna2VpdCwgU3Bhbm5zdGVpZmlna2VpdCB1bmQgS8O8aGxzY2htaWVyc3RvZmZiZWRpbmd1bmdlbiBiZXN0w6R0aWd0IGhhYmVuLjwvcD4NCiAgICAgIDwvZGl2Pg0KICAgIDwvc2VjdGlvbj4NCg0KICAgIDxzZWN0aW9uIGlkPSJzZWN0aW9uNiI+DQogICAgICA8aDIgY2xhc3M9InJlZGxpbmUiPjYuIEVpbiBwcmFrdGlzY2hlciBSZWNobmVyIGbDvHIgU3RlaWd1bmcgdW5kIFJhbXBlbndpbmtlbDwvaDI+DQogICAgICA8cD5XaWUgb2JlbiBiZXNjaHJpZWJlbiwgZXJmb3JkZXJ0IEhlbGl4ZnLDpHNlbiwgTG9jaGR1cmNobWVzc2VyLCBDdXR0ZXItRHVyY2htZXNzZXIsIFN0ZWlndW5nLCBSYW1wZW53aW5rZWwgdW5kIFZvcnNjaHVia29ycmVrdHVyIGRlciBSZWloZSBuYWNoIHp1IHByw7xmZW4uPC9wPg0KICAgICAgPHA+RGllIEZvcm1lbG4gc2VsYnN0IHNpbmQgbmljaHQgc2Nod2llcmlnLCBhYmVyIGRpZSBtYW51ZWxsZSBCZXJlY2hudW5nIGplZGVzIE1hbCBpc3QgemVpdGF1ZndlbmRpZy4gV2VubiBQcsO8ZnVuZ2VuIHZvbiBBUE1YIG9kZXIgbWF4aW1hbGVtIFJhbXBlbndpbmtlbCDDvGJlcnNlaGVuIHdlcmRlbiwga2FubiBkaWUgQmVkaW5ndW5nIGRpZSBXZXJremV1Z3NwZXppZmlrYXRpb24gw7xiZXJzY2hyZWl0ZW4uPC9wPg0KICAgICAgPHA+QXVzIGRpZXNlbSBHcnVuZCBpc3QgZGllIFZlcndlbmR1bmcgZWluZXMgUmVjaG5lcnMsIGRlciBSYW1wZW53aW5rZWwgdW5kIFN0ZWlndW5nIGF1dG9tYXRpc2NoIGJlcmVjaG5ldCwgZWluZSBlZmZpemllbnRlIE3DtmdsaWNoa2VpdCwgSGVsaXhmcsOkc2JlZGluZ3VuZ2VuIHp1IMO8YmVycHLDvGZlbi4gRGVyIGZvbGdlbmRlIFJlY2huZXIga2FubiB6d2lzY2hlbiBkZW4gQmVyZWNobnVuZ3Ntb2RpIOKAnlN0ZWlndW5nIOKGkiBXaW5rZWzigJwgdW5kIOKAnldpbmtlbCDihpIgU3RlaWd1bmfigJwgdW1zY2hhbHRlbi48L3A+DQoNCiAgICAgIDxkaXYgY2xhc3M9ImNhbGN1bGF0b3ItZW1iZWQiIGlkPSJjYWxjdWxhdG9yIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY2FsYy1oZWFkZXIiPg0KICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICA8cCBjbGFzcz0iZXllYnJvdyI+SGVsaXhmcsOkc2VuLVJlY2huZXI8L3A+DQogICAgICAgICAgICA8aDM+UmVjaG5lciBmw7xyIFJhbXBlbndpbmtlbCB1bmQgU3RlaWd1bmc8L2gzPg0KICAgICAgICAgICAgPHA+UHLDvGZlbiBTaWUgTG9jaGR1cmNobWVzc2VyLCBDdXR0ZXItRHVyY2htZXNzZXIsIFN0ZWlndW5nLCBSYW1wZW53aW5rZWwgdW5kIFZvcnNjaHVia29ycmVrdHVyIGdlbWVpbnNhbS48L3A+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLW1ldHJpY3MiPg0KICAgICAgICAgICAgPGRpdiBpZD0ic3VtbWFyeS1hbmdsZS1jYXJkIiBjbGFzcz0ibWFpbi1yZXN1bHQtc3VtbWFyeSI+PHNwYW4gaWQ9InN1bW1hcnktYW5nbGUiPi0tPC9zcGFuPjxzbWFsbD5SYW1wZW53aW5rZWw8L3NtYWxsPjwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0ic3VtbWFyeS1waXRjaC1jYXJkIiBoaWRkZW49IiI+PHNwYW4gaWQ9InN1bW1hcnktcGl0Y2giPi0tPC9zcGFuPjxzbWFsbD5TdGVpZ3VuZzwvc21hbGw+PC9kaXY+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgY2xhc3M9ImNhbGN1bGF0b3Itd29ya3NwYWNlIj4NCiAgICAgICAgICA8Zm9ybSBpZD0iY2FsY3VsYXRvci1mb3JtIiBjbGFzcz0iY2FsYy1wYW5lbCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1oZWFkIj4NCiAgICAgICAgICAgICAgPGgzPkVpbmdhYmViZWRpbmd1bmdlbjwvaDM+DQogICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iZ2hvc3QtYnV0dG9uIiBpZD0ibG9hZC1leGFtcGxlIj5MYWRlYmVpc3BpZWw8L2J1dHRvbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJtb2RlLWZpZWxkIj4NCiAgICAgICAgICAgICAgPGxlZ2VuZD5CZXJlY2hudW5nc21vZHVzPC9sZWdlbmQ+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlZ21lbnRlZCIgcm9sZT0icmFkaW9ncm91cCIgYXJpYS1sYWJlbD0iQ2FsY3VsYXRpb24gbW9kZSI+DQogICAgICAgICAgICAgICAgPGxhYmVsPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ibW9kZSIgdmFsdWU9InBpdGNoIiBjaGVja2VkPjxzcGFuPjxpbWcgY2xhc3M9Im1vZGUtaWNvbiIgc3JjPSJ7e0hFTElDQUxfQVNTRVRfQkFTRV9VUkx9fS9pY29uLXBpdGNoLXRvLWFuZ2xlLnBuZyIgYWx0PSIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3Ryb25nPlN0ZWlndW5nIHp1IFdpbmtlbDwvc3Ryb25nPjxzbWFsbD5QaCBlaW5nZWJlbiwgdW0gZGVuIFdpbmtlbCB6dSBiZXJlY2huZW48L3NtYWxsPjwvc3Bhbj48L2xhYmVsPg0KICAgICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9Im1vZGUiIHZhbHVlPSJhbmdsZSI+PHNwYW4+PGltZyBjbGFzcz0ibW9kZS1pY29uIiBzcmM9Int7SEVMSUNBTF9BU1NFVF9CQVNFX1VSTH19L2ljb24tYW5nbGUtdG8tcGl0Y2gucG5nIiBhbHQ9IiIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+V2lua2VsIHp1IFN0ZWlndW5nPC9zdHJvbmc+PHNtYWxsPldpbmtlbCBlaW5nZWJlbiwgdW0gUGggenUgYmVyZWNobmVuPC9zbWFsbD48L3NwYW4+PC9sYWJlbD4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2ZpZWxkc2V0Pg0KICAgICAgICAgICAgPGZpZ3VyZSBjbGFzcz0iaW5wdXQtcGFyYW1ldGVyLWd1aWRlIj4NCiAgICAgICAgICAgICAgPGltZyBzcmM9Int7SEVMSUNBTF9BU1NFVF9CQVNFX1VSTH19L2lucHV0LXBhcmFtZXRlci1ndWlkZS5zdmciIGFsdD0iQmV6aWVodW5nIHp3aXNjaGVuIExvY2hkdXJjaG1lc3NlciwgQ3V0dGVyLUR1cmNobWVzc2VyLCBEdXJjaG1lc3NlciBkZXIgV2Vya3pldWdtaXR0ZWxwdW5rdGJhaG4sIEhlbGl4LVN0ZWlndW5nIHVuZCBSYW1wZW53aW5rZWwiPg0KICAgICAgICAgICAgPC9maWd1cmU+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyaWQiPg0KICAgICAgICAgICAgICA8bGFiZWw+PHNwYW4gY2xhc3M9ImZpZWxkLWxhYmVsIj48YiBjbGFzcz0iZmllbGQtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPkRoPC9iPkxvY2hkdXJjaG1lc3NlciBEaCA8ZW0+bW08L2VtPjwvc3Bhbj48aW5wdXQgaWQ9ImhvbGUtZGlhbWV0ZXIiIHR5cGU9Im51bWJlciIgaW5wdXRtb2RlPSJkZWNpbWFsIiBtaW49IjAiIHN0ZXA9IjAuMSIgdmFsdWU9IjUwLjAiPjwvbGFiZWw+DQogICAgICAgICAgICAgIDxsYWJlbD48c3BhbiBjbGFzcz0iZmllbGQtbGFiZWwiPjxiIGNsYXNzPSJmaWVsZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+RGM8L2I+Q3V0dGVyLUR1cmNobWVzc2VyIERjIDxlbT5tbTwvZW0+PC9zcGFuPjxpbnB1dCBpZD0iY3V0dGVyLWRpYW1ldGVyIiB0eXBlPSJudW1iZXIiIGlucHV0bW9kZT0iZGVjaW1hbCIgbWluPSIwIiBzdGVwPSIwLjEiIHZhbHVlPSIxMC4wIj48L2xhYmVsPg0KICAgICAgICAgICAgICA8bGFiZWwgaWQ9InBpdGNoLWZpZWxkIj48c3BhbiBjbGFzcz0iZmllbGQtbGFiZWwiPjxiIGNsYXNzPSJmaWVsZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+UGg8L2I+SGVsaXgtU3RlaWd1bmcgUGggPGVtPm1tL1U8L2VtPjwvc3Bhbj48aW5wdXQgaWQ9InBpdGNoIiB0eXBlPSJudW1iZXIiIGlucHV0bW9kZT0iZGVjaW1hbCIgbWluPSIwIiBzdGVwPSIwLjEiIHZhbHVlPSI1LjAiPjwvbGFiZWw+DQogICAgICAgICAgICAgIDxsYWJlbCBpZD0iYW5nbGUtZmllbGQiIGNsYXNzPSJpcy1oaWRkZW4iIGhpZGRlbj0iIj48c3BhbiBjbGFzcz0iZmllbGQtbGFiZWwiPjxiIGNsYXNzPSJmaWVsZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+zrg8L2I+UmFtcGVud2lua2VsIFRoZXRhIDxlbT5kZWc8L2VtPjwvc3Bhbj48aW5wdXQgaWQ9InJhbXAtYW5nbGUiIHR5cGU9Im51bWJlciIgaW5wdXRtb2RlPSJkZWNpbWFsIiBtaW49IjAiIHN0ZXA9IjAuMSIgdmFsdWU9IjIuMyI+PC9sYWJlbD4NCiAgICAgICAgICAgICAgPGxhYmVsPjxzcGFuIGNsYXNzPSJmaWVsZC1sYWJlbCI+PGIgY2xhc3M9ImZpZWxkLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj5aPC9iPkJlYXJiZWl0dW5nc3RpZWZlIDxlbT5tbTwvZW0+PC9zcGFuPjxpbnB1dCBpZD0iZGVwdGgiIHR5cGU9Im51bWJlciIgaW5wdXRtb2RlPSJkZWNpbWFsIiBtaW49IjAiIHN0ZXA9IjAuMSIgdmFsdWU9IjIwLjAiPjwvbGFiZWw+DQogICAgICAgICAgICAgIDxsYWJlbD48c3BhbiBjbGFzcz0iZmllbGQtbGFiZWwiPjxiIGNsYXNzPSJmaWVsZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+QXA8L2I+TWF4LiBTY2huaXR0dGllZmUgQVBNWCA8ZW0+bW08L2VtPjwvc3Bhbj48aW5wdXQgaWQ9ImFwbXgiIHR5cGU9Im51bWJlciIgaW5wdXRtb2RlPSJkZWNpbWFsIiBtaW49IjAiIHN0ZXA9IjAuMSIgdmFsdWU9IjYuMCI+PC9sYWJlbD4NCiAgICAgICAgICAgICAgPGxhYmVsPjxzcGFuIGNsYXNzPSJmaWVsZC1sYWJlbCI+PGIgY2xhc3M9ImZpZWxkLWljb24gd2lkZSIgYXJpYS1oaWRkZW49InRydWUiPs64bWF4PC9iPk1heC4gUmFtcGVud2lua2VsIDxlbT5kZWc8L2VtPjwvc3Bhbj48aW5wdXQgaWQ9Im1heC1yYW1wLWFuZ2xlIiB0eXBlPSJudW1iZXIiIGlucHV0bW9kZT0iZGVjaW1hbCIgbWluPSIwIiBzdGVwPSIwLjEiIHZhbHVlPSIzLjAiPjwvbGFiZWw+DQogICAgICAgICAgICAgIDxsYWJlbD48c3BhbiBjbGFzcz0iZmllbGQtbGFiZWwiPjxiIGNsYXNzPSJmaWVsZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+VmM8L2I+U2Nobml0dHRpZWZlIFZjIDxlbT5tL21pbjwvZW0+PC9zcGFuPjxpbnB1dCBpZD0iY3V0dGluZy1zcGVlZCIgdHlwZT0ibnVtYmVyIiBpbnB1dG1vZGU9ImRlY2ltYWwiIG1pbj0iMCIgc3RlcD0iMC4xIiB2YWx1ZT0iMTUwLjAiPjwvbGFiZWw+DQogICAgICAgICAgICAgIDxsYWJlbD48c3BhbiBjbGFzcz0iZmllbGQtbGFiZWwiPjxiIGNsYXNzPSJmaWVsZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+ejwvYj5XaXJrc2FtZSBaw6RobmUgejwvc3Bhbj48aW5wdXQgaWQ9InRlZXRoIiB0eXBlPSJudW1iZXIiIGlucHV0bW9kZT0ibnVtZXJpYyIgbWluPSIwIiBzdGVwPSIxIiB2YWx1ZT0iNCI+PC9sYWJlbD4NCiAgICAgICAgICAgICAgPGxhYmVsPjxzcGFuIGNsYXNzPSJmaWVsZC1sYWJlbCI+PGIgY2xhc3M9ImZpZWxkLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj5mejwvYj5aYWhudm9yc2NodWIgZnogPGVtPm1tL1o8L2VtPjwvc3Bhbj48aW5wdXQgaWQ9ImZlZWQtcGVyLXRvb3RoIiB0eXBlPSJudW1iZXIiIGlucHV0bW9kZT0iZGVjaW1hbCIgbWluPSIwIiBzdGVwPSIwLjEiIHZhbHVlPSIwLjEiPjwvbGFiZWw+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8L2Zvcm0+DQoNCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYWxjLXBhbmVsIHJlc3VsdC1wYW5lbCIgYXJpYS1saXZlPSJwb2xpdGUiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtaGVhZCI+PGgzPkJlcmVjaG51bmdzZXJnZWJuaXNzZTwvaDM+PHNwYW4gaWQ9InJlc3VsdC1zdGF0ZSIgY2xhc3M9InN0YXRlLWJhZGdlIj5XaXJkIGJlcmVjaG5ldDwvc3Bhbj48L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc3VsdC1ncmlkIj4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIj48c21hbGwgY2xhc3M9Im1ldHJpYy1sYWJlbCI+PGIgY2xhc3M9Im1ldHJpYy1pY29uIHdpZGUiIGFyaWEtaGlkZGVuPSJ0cnVlIj5EcGF0aDwvYj5EdXJjaG1lc3NlciBkZXIgV2Vya3pldWdtaXR0ZWxwdW5rdGJhaG4gRHBhdGg8L3NtYWxsPjxzdHJvbmcgaWQ9ImNlbnRlci1wYXRoIj4tLTwvc3Ryb25nPjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPjxzbWFsbCBjbGFzcz0ibWV0cmljLWxhYmVsIj48YiBjbGFzcz0ibWV0cmljLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj5MPC9iPldlZ3N0cmVja2UgZGVzIFdlcmt6ZXVnbWl0dGVscHVua3RzIHBybyBVbWRyZWh1bmc8L3NtYWxsPjxzdHJvbmcgaWQ9InBhdGgtbGVuZ3RoIj4tLTwvc3Ryb25nPjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiIGlkPSJyZXN1bHQtcGl0Y2gtY2FyZCIgaGlkZGVuPSIiPjxzbWFsbCBjbGFzcz0ibWV0cmljLWxhYmVsIj48YiBjbGFzcz0ibWV0cmljLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj5QaDwvYj5IZWxpeC1TdGVpZ3VuZyBQaDwvc21hbGw+PHN0cm9uZyBpZD0icmVzdWx0LXBpdGNoIj4tLTwvc3Ryb25nPjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMgbWFpbi1yZXN1bHQiIGlkPSJyZXN1bHQtYW5nbGUtY2FyZCI+PHNtYWxsIGNsYXNzPSJtZXRyaWMtbGFiZWwiPjxiIGNsYXNzPSJtZXRyaWMtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPs64PC9iPlJhbXBlbndpbmtlbCBUaGV0YTwvc21hbGw+PHN0cm9uZyBpZD0icmVzdWx0LWFuZ2xlIj4tLTwvc3Ryb25nPjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPjxzbWFsbCBjbGFzcz0ibWV0cmljLWxhYmVsIj48YiBjbGFzcz0ibWV0cmljLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj5uPC9iPlNwaW5kZWxkcmVoemFobCBuPC9zbWFsbD48c3Ryb25nIGlkPSJycG0iPi0tPC9zdHJvbmc+PC9kaXY+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYyI+PHNtYWxsIGNsYXNzPSJtZXRyaWMtbGFiZWwiPjxiIGNsYXNzPSJtZXRyaWMtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPkZlPC9iPlVua29ycmlnaWVydGVyIFZvcnNjaHViIEZfZWRnZTwvc21hbGw+PHN0cm9uZyBpZD0iZWRnZS1mZWVkIj4tLTwvc3Ryb25nPjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPjxzbWFsbCBjbGFzcz0ibWV0cmljLWxhYmVsIj48YiBjbGFzcz0ibWV0cmljLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj5LPC9iPlZvcnNjaHVia29ycmVrdHVyZmFrdG9yPC9zbWFsbD48c3Ryb25nIGlkPSJmZWVkLWZhY3RvciI+LS08L3N0cm9uZz48L2Rpdj4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIGFjY2VudCI+PHNtYWxsIGNsYXNzPSJtZXRyaWMtbGFiZWwiPjxiIGNsYXNzPSJtZXRyaWMtaWNvbiIgYXJpYS1oaWRkZW49InRydWUiPkZjPC9iPlNvbGwtVm9yc2NodWIgV2Vya3pldWdtaXR0ZWxwdW5rdCBGX2NlbnRlcjwvc21hbGw+PHN0cm9uZyBpZD0iY2VudGVyLWZlZWQiPi0tPC9zdHJvbmc+PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1yZXN1bHRzIj4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVwdGgtcmVzdWx0LWNhcmQiPjxoMz5CZWFyYmVpdHVuZ3N0aWVmZTwvaDM+PGRpdiBjbGFzcz0iZGVwdGgtcmVzdWx0LWxheW91dCI+PGZpZ3VyZSBjbGFzcz0iZGVwdGgtcGxhbi1ndWlkZSI+PGltZyBzcmM9Int7SEVMSUNBTF9BU1NFVF9CQVNFX1VSTH19L2RlcHRoLXBsYW4tZ3VpZGUuc3ZnIiBhbHQ9IkJlaXNwaWVsOiBFcnJlaWNoZW4gdm9uIDIwLDAgbW0gVGllZmUgaW4gNCBVbWRyZWh1bmdlbiBtaXQgNSwwIG1tL1UgU3RlaWd1bmciPjwvZmlndXJlPjxkbCBjbGFzcz0iZGVwdGgtcmVzdWx0LWxpc3QiPjxkaXY+PGR0PkVyZm9yZGVybGljaGUgVW1kcmVodW5nZW48L2R0PjxkZCBpZD0idHVybnMtcmF3Ij4tLTwvZGQ+PC9kaXY+PGRpdj48ZHQ+UHJvZ3JhbW1pZXJ0ZSBVbWRyZWh1bmdlbjwvZHQ+PGRkIGlkPSJ0dXJucy1wcm9ncmFtIj4tLTwvZGQ+PC9kaXY+PGRpdj48ZHQ+VGllZmVucGFzc2VuZGUgU3RlaWd1bmc8L2R0PjxkZCBpZD0iZml0LXBpdGNoIj4tLTwvZGQ+PC9kaXY+PGRpdj48ZHQ+VGllZmVucGFzc2VuZGVyIFdpbmtlbDwvZHQ+PGRkIGlkPSJmaXQtYW5nbGUiPi0tPC9kZD48L2Rpdj48L2RsPjwvZGl2PjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXN0YW5jZS1yZXN1bHQtY2FyZCI+PGgzPldlZ3N0cmVja2UgdW5kIFplaXQ8L2gzPjxkbCBjbGFzcz0iZGlzdGFuY2UtcmVzdWx0LWxpc3QiPjxkaXY+PGR0PjNELVdlZ3N0cmVja2UgcHJvIFVtZHJlaHVuZzwvZHQ+PGRkIGlkPSJoZWxpY2FsLWxlbmd0aCI+LS08L2RkPjwvZGl2PjxkaXY+PGR0PkNhLiBHZXNhbXR3ZWdzdHJlY2tlPC9kdD48ZGQgaWQ9InRvdGFsLWxlbmd0aCI+LS08L2RkPjwvZGl2PjxkaXY+PGR0PkNhLiBCZWFyYmVpdHVuZ3N6ZWl0PC9kdD48ZGQgaWQ9ImVzdGltYXRlZC10aW1lIj4tLTwvZGQ+PC9kaXY+PC9kbD48L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tzIj48aDM+QmV1cnRlaWx1bmcgdW5kIEhpbndlaXNlPC9oMz48dWwgaWQ9ImNoZWNrLWxpc3QiPjwvdWw+PC9kaXY+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9zZWN0aW9uPg0KDQogICAgPHNlY3Rpb24gaWQ9InNlY3Rpb243Ij4NCiAgICAgIDxoMiBjbGFzcz0icmVkbGluZSI+Ny4gRWluZsO8aHJ1bmcgaW4gZGVuIFRvb2wgU2VsZWN0b3I8L2gyPg0KICAgICAgPHA+TmFjaCBkZXIgQmVyZWNobnVuZyB2b24gUmFtcGVud2lua2VsIHVuZCBIZWxpeC1TdGVpZ3VuZyBzdGVsbHQgc2ljaCBhbHMgTsOkY2hzdGVzIGRpZSBGcmFnZSwgd2VsY2hlIEN1dHRlciB1bnRlciBkaWVzZW4gQmVkaW5ndW5nZW4gZWluZ2VzZXR6dCB3ZXJkZW4ga8O2bm5lbi4gQmVpbSBIZWxpeGZyw6RzZW4gbcO8c3NlbiBMb2NoZHVyY2htZXNzZXIsIEN1dHRlci1EdXJjaG1lc3NlciwgQVBNWCwgbWF4aW1hbGVyIFJhbXBlbndpbmtlbCBzb3dpZSBtaW4uL21heC4gaGVsaWthbGVyIExvY2hiZXJlaWNoIGdlbWVpbnNhbSBnZXByw7xmdCB3ZXJkZW4sIHdhcyBkaWUgS2F0YWxvZ3N1Y2hlIHplaXRhdWZ3ZW5kaWcgbWFjaGVuIGthbm4uPC9wPg0KICAgICAgPHA+WnVyIFVudGVyc3TDvHR6dW5nIGRpZXNlciBQcsO8ZnVuZyBzdGVodCBlaW4gc2VwYXJhdGVyIFRvb2wgU2VsZWN0b3IgenVyIFZlcmbDvGd1bmcsIG1pdCBkZW0gc2ljaCBhbmhhbmQgSWhyZXIgRWluZ2FiZWJlZGluZ3VuZ2VuIHBhc3NlbmRlIFR1bmdhbG95LUN1dHRlci1LYW5kaWRhdGVuIGZpbmRlbiBsYXNzZW4uIER1cmNoIGRhcyBFaW5ncmVuemVuIGRlciBLYW5kaWRhdGVuIGltIFRvb2wgU2VsZWN0b3Iga8O2bm5lbiBTaWUgSGVsaXhmcsOkc2JlZGluZ3VuZ2VuIHJlaWJ1bmdzbG9zZXIgw7xiZXJwcsO8ZmVuLjwvcD4NCiAgICAgIDxkaXYgY2xhc3M9Im5vdGUtYm94Ij4NCiAgICAgICAgPGRpdiBjbGFzcz0ibm90ZS1oZWFkIj48c3BhbiBjbGFzcz0iYmFkZ2UiPkFOV0VORFVOR1NGQUxMPC9zcGFuPjxoND5SZWNobmVyIHVuZCBUb29sIFNlbGVjdG9yIGbDvHIgdW50ZXJzY2hpZWRsaWNoZSBSb2xsZW4gbnV0emVuPC9oND48L2Rpdj4NCiAgICAgICAgPHA+TnV0emVuIFNpZSBkZW4gPHN0cm9uZyBjbGFzcz0iZW0tcmVkIj5SZWNobmVyPC9zdHJvbmc+LCB1bSBSYW1wZW53aW5rZWwsIFN0ZWlndW5nLCBWb3JzY2h1YmtvcnJla3R1ciB1bmQgQmVhcmJlaXR1bmdzd2VnIHp1IHByw7xmZW4uIE51dHplbiBTaWUgZGVuIDxzdHJvbmcgY2xhc3M9ImVtLXJlZCI+VG9vbCBTZWxlY3Rvcjwvc3Ryb25nPiwgdW0gVHVuZ2Fsb3ktQ3V0dGVyLUthbmRpZGF0ZW4genUgZmluZGVuLCBkaWUgenUgZGllc2VuIEJlZGluZ3VuZ2VuIHBhc3Nlbi48L3A+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9InAtY29udGVudHMtYnRuLWFyZWEiPg0KICAgICAgICA8YSBjbGFzcz0icC1idG4iIGhyZWY9Imh0dHBzOi8vdHVuZ2Fsb3kuY29tL2hlbGljYWwtdG9vbC1zZWxlY3Rvci8iPlRvb2wgU2VsZWN0b3Igw7ZmZm5lbjwvYT4NCiAgICAgIDwvZGl2Pg0KICAgICAgPHAgY2xhc3M9InNtYWxsLW5vdGUiPkhpbndlaXM6IERlciBUb29sIFNlbGVjdG9yIGhpbGZ0IElobmVuLCBUdW5nYWxveS1DdXR0ZXItS2FuZGlkYXRlbiB6dSBwcsO8ZmVuLCBkaWUgenUgSWhyZW4gRWluZ2FiZWJlZGluZ3VuZ2VuIHBhc3Nlbi48L3A+DQogICAgPC9zZWN0aW9uPg0KDQogICAgPHNlY3Rpb24gaWQ9InN1bW1hcnkiPg0KICAgICAgPGgyIGNsYXNzPSJyZWRsaW5lIj5adXNhbW1lbmZhc3N1bmc8L2gyPg0KICAgICAgPHA+SGVsaXhmcsOkc2VuIGlzdCBlaW4gQmVhcmJlaXR1bmdzdmVyZmFocmVuLCBiZWkgZGVtIGRhcyBXZXJremV1ZyBlaW5lciBLcmVpc2ludGVycG9sYXRpb24gZm9sZ3QgdW5kIGdsZWljaHplaXRpZyBpbiBaLVJpY2h0dW5nIHp1c3RlbGx0LiBFcyBpc3QgbsO8dHpsaWNoIGbDvHIgZ3Jvw59lIEzDtmNoZXIsIGRpZSBzaWNoIG1pdCBCb2hyZXJuIG51ciBzY2h3ZXIgYmVhcmJlaXRlbiBsYXNzZW4sIHNvd2llIGbDvHIgZGFzIEVpbmZhaHJlbiBpbiBUYXNjaGVuOyBlaW5lIGZhbHNjaGUgRWluc3RlbGx1bmcgZGVyIEJlZGluZ3VuZ2VuIGthbm4gamVkb2NoIGRpZSBXZXJremV1Z2JlbGFzdHVuZyBkZXV0bGljaCBlcmjDtmhlbi48L3A+DQogICAgICA8b2wgY2xhc3M9InN0ZXAtbGlzdCI+DQogICAgICAgIDxsaT5CZWltIEhlbGl4ZnLDpHNlbiBwcsO8ZmVuIFNpZSBMb2NoZHVyY2htZXNzZXIgRGgsIEN1dHRlci1EdXJjaG1lc3NlciBEYyB1bmQgZGVuIER1cmNobWVzc2VyIGRlciBXZXJremV1Z21pdHRlbHB1bmt0YmFobi48L2xpPg0KICAgICAgICA8bGk+QmVyZWNobmVuIFNpZSBIZWxpeC1TdGVpZ3VuZyB1bmQgUmFtcGVud2lua2VsIGF1ZiBCYXNpcyBkZXIgV2Vnc3RyZWNrZSBkZXMgV2Vya3pldWdtaXR0ZWxwdW5rdHMuPC9saT4NCiAgICAgICAgPGxpPkbDvHIgZGllIFdlcmt6ZXVnYXVzd2FobCBwcsO8ZmVuIFNpZSBpbW1lciBtaW4uL21heC4gaGVsaWthbGVuIExvY2hkdXJjaG1lc3NlciwgQVBNWCB1bmQgbWF4aW1hbGVuIFJhbXBlbndpbmtlbC48L2xpPg0KICAgICAgICA8bGk+RWdhbCwgb2IgU2llIG1pdCBTdGVpZ3VuZyBvZGVyIFdpbmtlbCBzdGFydGVuOiBCZXN0w6R0aWdlbiBTaWUsIGRhc3MgZGllIGZpbmFsZW4gQmVkaW5ndW5nZW4gaW5uZXJoYWxiIGRlciBXZXJremV1Z3NwZXppZmlrYXRpb24gbGllZ2VuLjwvbGk+DQogICAgICAgIDxsaT5EYSBXZXJremV1Z21pdHRlbHB1bmt0LVdlZ3N0cmVja2UgdW5kIFNjaG5laWRlbi1XZWdzdHJlY2tlIHVudGVyc2NoaWVkbGljaCBzaW5kLCBhY2h0ZW4gU2llIGF1ZiBkaWUgVm9yc2NodWJrb3JyZWt0dXIuPC9saT4NCiAgICAgICAgPGxpPldlbm4gZGllIG1hbnVlbGxlIEJlcmVjaG51bmcgbcO8aHNhbSBpc3QsIG51dHplbiBTaWUgZGVuIFJlY2huZXIgenVyIFByw7xmdW5nIGRlciBCZWRpbmd1bmdlbi48L2xpPg0KICAgICAgICA8bGk+TnV0emVuIFNpZSBkZW4gc2VwYXJhdGVuIFRvb2wgU2VsZWN0b3IsIHVtIEthbmRpZGF0ZW4tV2Vya3pldWdlIHp1IHByw7xmZW4uPC9saT4NCiAgICAgIDwvb2w+DQogICAgICA8cD5CZWltIEhlbGl4ZnLDpHNlbiBzb2xsdGVuIEJlcmVjaG51bmdlbiB1bmQgV2Vya3pldWdhdXN3YWhsIG5pY2h0IGdldHJlbm50IGJldHJhY2h0ZXQgd2VyZGVuLiBXaWNodGlnIGlzdCwgTG9jaGR1cmNobWVzc2VyLCBDdXR0ZXItRHVyY2htZXNzZXIsIFN0ZWlndW5nLCBSYW1wZW53aW5rZWwsIFZvcnNjaHVia29ycmVrdHVyIHVuZCBXZXJremV1Z3NwZXppZmlrYXRpb25lbiBhbHMgZWluZW4gZHVyY2hnw6RuZ2lnZW4gV29ya2Zsb3cgenUgcHLDvGZlbi48L3A+DQogICAgICA8ZGl2IGNsYXNzPSJwLWNvbnRlbnRzLWJ0bi1hcmVhIj4NCiAgICAgICAgPGEgY2xhc3M9InAtYnRuIiBocmVmPSIjY2FsY3VsYXRvciI+UmFtcGVud2lua2VsIHVuZCBTdGVpZ3VuZyBiZXJlY2huZW48L2E+DQogICAgICA8L2Rpdj4NCiAgICA8L3NlY3Rpb24+DQogIDwvbWFpbj4NCg0KPHNjcmlwdCBpZD0iaGVsaWNhbC1jYWxjdWxhdG9yLXdwLWlubGluZS1qcyI+DQooZnVuY3Rpb24gKCkgew0KICAidXNlIHN0cmljdCI7DQoNCiAgY29uc3QgRVhBTVBMRSA9IHsNCiAgICBob2xlRGlhbWV0ZXI6IDUwLA0KICAgIGN1dHRlckRpYW1ldGVyOiAxMCwNCiAgICBwaXRjaDogNSwNCiAgICByYW1wQW5nbGU6IDIuMywNCiAgICBkZXB0aDogMjAsDQogICAgYXBteDogNiwNCiAgICBtYXhSYW1wQW5nbGU6IDMsDQogICAgY3V0dGluZ1NwZWVkOiAxNTAsDQogICAgdGVldGg6IDQsDQogICAgZmVlZFBlclRvb3RoOiAwLjENCiAgfTsNCg0KICBjb25zdCBESVNQTEFZX0RJR0lUUyA9IDE7DQoNCiAgY29uc3QgaWRzID0gew0KICAgIGZvcm06ICJjYWxjdWxhdG9yLWZvcm0iLA0KICAgIGxvYWRFeGFtcGxlOiAibG9hZC1leGFtcGxlIiwNCiAgICBwaXRjaEZpZWxkOiAicGl0Y2gtZmllbGQiLA0KICAgIGFuZ2xlRmllbGQ6ICJhbmdsZS1maWVsZCIsDQogICAgaG9sZURpYW1ldGVyOiAiaG9sZS1kaWFtZXRlciIsDQogICAgY3V0dGVyRGlhbWV0ZXI6ICJjdXR0ZXItZGlhbWV0ZXIiLA0KICAgIHBpdGNoOiAicGl0Y2giLA0KICAgIHJhbXBBbmdsZTogInJhbXAtYW5nbGUiLA0KICAgIGRlcHRoOiAiZGVwdGgiLA0KICAgIGFwbXg6ICJhcG14IiwNCiAgICBtYXhSYW1wQW5nbGU6ICJtYXgtcmFtcC1hbmdsZSIsDQogICAgY3V0dGluZ1NwZWVkOiAiY3V0dGluZy1zcGVlZCIsDQogICAgdGVldGg6ICJ0ZWV0aCIsDQogICAgZmVlZFBlclRvb3RoOiAiZmVlZC1wZXItdG9vdGgiLA0KICAgIHJlc3VsdFN0YXRlOiAicmVzdWx0LXN0YXRlIiwNCiAgICBzdW1tYXJ5QW5nbGVDYXJkOiAic3VtbWFyeS1hbmdsZS1jYXJkIiwNCiAgICBzdW1tYXJ5UGl0Y2hDYXJkOiAic3VtbWFyeS1waXRjaC1jYXJkIiwNCiAgICBzdW1tYXJ5QW5nbGU6ICJzdW1tYXJ5LWFuZ2xlIiwNCiAgICBzdW1tYXJ5UGl0Y2g6ICJzdW1tYXJ5LXBpdGNoIiwNCiAgICBjZW50ZXJQYXRoOiAiY2VudGVyLXBhdGgiLA0KICAgIHBhdGhMZW5ndGg6ICJwYXRoLWxlbmd0aCIsDQogICAgcmVzdWx0UGl0Y2hDYXJkOiAicmVzdWx0LXBpdGNoLWNhcmQiLA0KICAgIHJlc3VsdEFuZ2xlQ2FyZDogInJlc3VsdC1hbmdsZS1jYXJkIiwNCiAgICByZXN1bHRQaXRjaDogInJlc3VsdC1waXRjaCIsDQogICAgcmVzdWx0QW5nbGU6ICJyZXN1bHQtYW5nbGUiLA0KICAgIHJwbTogInJwbSIsDQogICAgZWRnZUZlZWQ6ICJlZGdlLWZlZWQiLA0KICAgIGZlZWRGYWN0b3I6ICJmZWVkLWZhY3RvciIsDQogICAgY2VudGVyRmVlZDogImNlbnRlci1mZWVkIiwNCiAgICB0dXJuc1JhdzogInR1cm5zLXJhdyIsDQogICAgdHVybnNQcm9ncmFtOiAidHVybnMtcHJvZ3JhbSIsDQogICAgZml0UGl0Y2g6ICJmaXQtcGl0Y2giLA0KICAgIGZpdEFuZ2xlOiAiZml0LWFuZ2xlIiwNCiAgICBoZWxpY2FsTGVuZ3RoOiAiaGVsaWNhbC1sZW5ndGgiLA0KICAgIHRvdGFsTGVuZ3RoOiAidG90YWwtbGVuZ3RoIiwNCiAgICBlc3RpbWF0ZWRUaW1lOiAiZXN0aW1hdGVkLXRpbWUiLA0KICAgIGNoZWNrTGlzdDogImNoZWNrLWxpc3QiDQogIH07DQoNCiAgY29uc3QgZWwgPSBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoaWRzKS5tYXAoKFtrZXksIGlkXSkgPT4gW2tleSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpXSkpOw0KICBpZiAoIWVsLmZvcm0gfHwgIWVsLmxvYWRFeGFtcGxlIHx8ICFlbC5jaGVja0xpc3QpIHsNCiAgICByZXR1cm47DQogIH0NCg0KICBmdW5jdGlvbiBtYXJrTWlzc2luZ0ltYWdlcygpIHsNCiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuY2FsY3VsYXRvci1lbWJlZCBpbWciKS5mb3JFYWNoKChpbWFnZSkgPT4gew0KICAgICAgY29uc3QgbWFya01pc3NpbmcgPSAoKSA9PiB7DQogICAgICAgIGlmIChpbWFnZS5jbGFzc0xpc3QuY29udGFpbnMoIm1vZGUtaWNvbiIpKSB7DQogICAgICAgICAgaW1hZ2UuY2xvc2VzdCgiLnNlZ21lbnRlZCBzcGFuIik/LmNsYXNzTGlzdC5hZGQoImhhcy1taXNzaW5nLWljb24iKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICBpbWFnZS5jbG9zZXN0KCJmaWd1cmUiKT8uY2xhc3NMaXN0LmFkZCgiaXMtaW1hZ2UtbWlzc2luZyIpOw0KICAgICAgICB9DQogICAgICB9Ow0KDQogICAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsIG1hcmtNaXNzaW5nKTsNCiAgICAgIGlmIChpbWFnZS5jb21wbGV0ZSAmJiBpbWFnZS5uYXR1cmFsV2lkdGggPT09IDApIHsNCiAgICAgICAgbWFya01pc3NpbmcoKTsNCiAgICAgIH0NCiAgICB9KTsNCiAgfQ0KDQogIGZ1bmN0aW9uIG51bWJlclZhbHVlKGVsZW1lbnQpIHsNCiAgICBpZiAoIWVsZW1lbnQgfHwgZWxlbWVudC52YWx1ZS50cmltKCkgPT09ICIiKSB7DQogICAgICByZXR1cm4gbnVsbDsNCiAgICB9DQogICAgY29uc3QgdmFsdWUgPSBOdW1iZXIoZWxlbWVudC52YWx1ZSk7DQogICAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZSh2YWx1ZSkgPyB2YWx1ZSA6IG51bGw7DQogIH0NCg0KICBmdW5jdGlvbiBnZXRNb2RlKCkgew0KICAgIGNvbnN0IHNlbGVjdGVkID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXRbbmFtZT0nbW9kZSddOmNoZWNrZWQiKTsNCiAgICByZXR1cm4gc2VsZWN0ZWQgPyBzZWxlY3RlZC52YWx1ZSA6ICJwaXRjaCI7DQogIH0NCg0KICBmdW5jdGlvbiBmb3JtYXROdW1iZXIodmFsdWUsIGRpZ2l0cyA9IERJU1BMQVlfRElHSVRTKSB7DQogICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUodmFsdWUpKSB7DQogICAgICByZXR1cm4gIi0tIjsNCiAgICB9DQogICAgY29uc3QgZnJhY3Rpb25EaWdpdHMgPSBNYXRoLm1heCgwLCBkaWdpdHMpOw0KICAgIHJldHVybiB2YWx1ZS50b0xvY2FsZVN0cmluZygiZW4tVVMiLCB7DQogICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IGZyYWN0aW9uRGlnaXRzLA0KICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBmcmFjdGlvbkRpZ2l0cw0KICAgIH0pOw0KICB9DQoNCiAgZnVuY3Rpb24gd2l0aFVuaXQodmFsdWUsIHVuaXQsIGRpZ2l0cykgew0KICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHZhbHVlKSkgew0KICAgICAgcmV0dXJuICItLSI7DQogICAgfQ0KICAgIHJldHVybiBgJHtmb3JtYXROdW1iZXIodmFsdWUsIGRpZ2l0cyl9ICR7dW5pdH1gOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9ybWF0SW5wdXRWYWx1ZSh2YWx1ZSwgZGlnaXRzID0gRElTUExBWV9ESUdJVFMpIHsNCiAgICBpZiAoIU51bWJlci5pc0Zpbml0ZSh2YWx1ZSkpIHsNCiAgICAgIHJldHVybiAiIjsNCiAgICB9DQogICAgcmV0dXJuIHZhbHVlLnRvRml4ZWQoTWF0aC5tYXgoMCwgZGlnaXRzKSk7DQogIH0NCg0KICBmdW5jdGlvbiBzZXRUZXh0KHRhcmdldCwgdmFsdWUpIHsNCiAgICB0YXJnZXQudGV4dENvbnRlbnQgPSB2YWx1ZTsNCiAgfQ0KDQogIGZ1bmN0aW9uIGFkZENoZWNrKGNoZWNrcywgbGV2ZWwsIG1lc3NhZ2UpIHsNCiAgICBjaGVja3MucHVzaCh7IGxldmVsLCBtZXNzYWdlIH0pOw0KICB9DQoNCiAgZnVuY3Rpb24gcmVhZElucHV0cygpIHsNCiAgICByZXR1cm4gew0KICAgICAgbW9kZTogZ2V0TW9kZSgpLA0KICAgICAgaG9sZURpYW1ldGVyOiBudW1iZXJWYWx1ZShlbC5ob2xlRGlhbWV0ZXIpLA0KICAgICAgY3V0dGVyRGlhbWV0ZXI6IG51bWJlclZhbHVlKGVsLmN1dHRlckRpYW1ldGVyKSwNCiAgICAgIHBpdGNoOiBudW1iZXJWYWx1ZShlbC5waXRjaCksDQogICAgICByYW1wQW5nbGU6IG51bWJlclZhbHVlKGVsLnJhbXBBbmdsZSksDQogICAgICBkZXB0aDogbnVtYmVyVmFsdWUoZWwuZGVwdGgpLA0KICAgICAgYXBteDogbnVtYmVyVmFsdWUoZWwuYXBteCksDQogICAgICBtYXhSYW1wQW5nbGU6IG51bWJlclZhbHVlKGVsLm1heFJhbXBBbmdsZSksDQogICAgICBjdXR0aW5nU3BlZWQ6IG51bWJlclZhbHVlKGVsLmN1dHRpbmdTcGVlZCksDQogICAgICB0ZWV0aDogbnVtYmVyVmFsdWUoZWwudGVldGgpLA0KICAgICAgZmVlZFBlclRvb3RoOiBudW1iZXJWYWx1ZShlbC5mZWVkUGVyVG9vdGgpDQogICAgfTsNCiAgfQ0KDQogIGZ1bmN0aW9uIGNhbGN1bGF0ZShpbnB1dCkgew0KICAgIGNvbnN0IGNoZWNrcyA9IFtdOw0KICAgIGNvbnN0IGVycm9ycyA9IFtdOw0KDQogICAgaWYgKCEoaW5wdXQuaG9sZURpYW1ldGVyID4gMCkpIHsNCiAgICAgIGVycm9ycy5wdXNoKCJFbnRlciBhIGhvbGUgZGlhbWV0ZXIgZ3JlYXRlciB0aGFuIDAuIik7DQogICAgfQ0KICAgIGlmICghKGlucHV0LmN1dHRlckRpYW1ldGVyID4gMCkpIHsNCiAgICAgIGVycm9ycy5wdXNoKCJFbnRlciBhIGN1dHRlciBkaWFtZXRlciBncmVhdGVyIHRoYW4gMC4iKTsNCiAgICB9DQogICAgaWYgKGVycm9ycy5sZW5ndGgpIHsNCiAgICAgIHJldHVybiB7IGlucHV0LCBjaGVja3M6IGVycm9ycy5tYXAoKG1lc3NhZ2UpID0+ICh7IGxldmVsOiAiZXJyb3IiLCBtZXNzYWdlIH0pKSwgaGFzRXJyb3I6IHRydWUgfTsNCiAgICB9DQoNCiAgICBjb25zdCBjZW50ZXJQYXRoRGlhbWV0ZXIgPSBpbnB1dC5ob2xlRGlhbWV0ZXIgLSBpbnB1dC5jdXR0ZXJEaWFtZXRlcjsNCiAgICBpZiAoY2VudGVyUGF0aERpYW1ldGVyIDw9IDApIHsNCiAgICAgIHJldHVybiB7DQogICAgICAgIGlucHV0LA0KICAgICAgICBjZW50ZXJQYXRoRGlhbWV0ZXIsDQogICAgICAgIGNoZWNrczogW3sgbGV2ZWw6ICZxdW90O2Vycm9yJnF1b3Q7LCBtZXNzYWdlOiAmcXVvdDtGb3IgaW50ZXJuYWwgaGVsaWNhbCBtaWxsaW5nLCB0aGUgY3V0dGVyIGRpYW1ldGVyIGlzIGVxdWFsIHRvIG9yIGxhcmdlciB0aGFuIHRoZSBob2xlIGRpYW1ldGVyLCBzbyBhIHRvb2wtY2VudGVyIHBhdGggY2Fubm90IGJlIGNyZWF0ZWQuJnF1b3Q7IH1dLA0KICAgICAgICBoYXNFcnJvcjogdHJ1ZQ0KICAgICAgfTsNCiAgICB9DQoNCiAgICBjb25zdCBjZW50ZXJQYXRoTGVuZ3RoID0gY2VudGVyUGF0aERpYW1ldGVyICogTWF0aC5QSTsNCiAgICBjb25zdCBmZWVkQ29ycmVjdGlvbkZhY3RvciA9IGNlbnRlclBhdGhEaWFtZXRlciAvIGlucHV0LmhvbGVEaWFtZXRlcjsNCiAgICBsZXQgcGl0Y2ggPSBpbnB1dC5waXRjaDsNCiAgICBsZXQgYW5nbGUgPSBpbnB1dC5yYW1wQW5nbGU7DQoNCiAgICBpZiAoaW5wdXQubW9kZSA9PT0gInBpdGNoIikgew0KICAgICAgaWYgKCEocGl0Y2ggPiAwKSkgew0KICAgICAgICBhZGRDaGVjayhjaGVja3MsICJlcnJvciIsICJFbnRlciBhIGhlbGljYWwgcGl0Y2ggZ3JlYXRlciB0aGFuIDAuIik7DQogICAgICB9IGVsc2Ugew0KICAgICAgICBhbmdsZSA9IE1hdGguYXRhbihwaXRjaCAvIGNlbnRlclBhdGhMZW5ndGgpICogMTgwIC8gTWF0aC5QSTsNCiAgICAgIH0NCiAgICB9IGVsc2Ugew0KICAgICAgaWYgKCEoYW5nbGUgPiAwKSkgew0KICAgICAgICBhZGRDaGVjayhjaGVja3MsICJlcnJvciIsICJFbnRlciBhIHJhbXBpbmcgYW5nbGUgZ3JlYXRlciB0aGFuIDAuIik7DQogICAgICB9IGVsc2Ugew0KICAgICAgICBwaXRjaCA9IGNlbnRlclBhdGhMZW5ndGggKiBNYXRoLnRhbihhbmdsZSAqIE1hdGguUEkgLyAxODApOw0KICAgICAgfQ0KICAgIH0NCg0KICAgIGlmICghKHBpdGNoID4gMCkgfHwgIShhbmdsZSA+IDApKSB7DQogICAgICByZXR1cm4gew0KICAgICAgICBpbnB1dCwNCiAgICAgICAgY2VudGVyUGF0aERpYW1ldGVyLA0KICAgICAgICBjZW50ZXJQYXRoTGVuZ3RoLA0KICAgICAgICBjaGVja3MsDQogICAgICAgIGhhc0Vycm9yOiBjaGVja3Muc29tZSgoY2hlY2spID0+IGNoZWNrLmxldmVsID09PSAiZXJyb3IiKQ0KICAgICAgfTsNCiAgICB9DQoNCiAgICBpZiAoaW5wdXQuYXBteCA9PSBudWxsKSB7DQogICAgICBhZGRDaGVjayhjaGVja3MsICJjYXV0aW9uIiwgIkFQTVggaXMgbm90IGVudGVyZWQsIHNvIHRoZSBwaXRjaCBjYW5ub3QgYmUgY2hlY2tlZCBhZ2FpbnN0IHRoZSB0b29sIGxpbWl0LiIpOw0KICAgIH0gZWxzZSBpZiAocGl0Y2ggPiBpbnB1dC5hcG14KSB7DQogICAgICBhZGRDaGVjayhjaGVja3MsICJlcnJvciIsIGBIZWxpY2FsIHBpdGNoICR7Zm9ybWF0TnVtYmVyKHBpdGNoKX0gbW0gZXhjZWVkcyBBUE1YICR7Zm9ybWF0TnVtYmVyKGlucHV0LmFwbXgpfSBtbS5gKTsNCiAgICB9IGVsc2UgaWYgKHBpdGNoID4gaW5wdXQuYXBteCAqIDAuOSkgew0KICAgICAgYWRkQ2hlY2soY2hlY2tzLCAid2FybmluZyIsICJIZWxpY2FsIHBpdGNoIGlzIDkwJSBvciBtb3JlIG9mIEFQTVguIENvbmZpcm0gdG9vbCBzcGVjaWZpY2F0aW9ucyBhbmQgbWFjaGluaW5nIHN0YWJpbGl0eS4iKTsNCiAgICB9IGVsc2Ugew0KICAgICAgYWRkQ2hlY2soY2hlY2tzLCAib2siLCAiSGVsaWNhbCBwaXRjaCBpcyB3aXRoaW4gQVBNWC4iKTsNCiAgICB9DQoNCiAgICBpZiAoaW5wdXQubWF4UmFtcEFuZ2xlID09IG51bGwpIHsNCiAgICAgIGFkZENoZWNrKGNoZWNrcywgImNhdXRpb24iLCAiTWF4aW11bSByYW1waW5nIGFuZ2xlIGlzIG5vdCBlbnRlcmVkLCBzbyB0aGUgYW5nbGUgY2Fubm90IGJlIGNoZWNrZWQgYWdhaW5zdCB0aGUgdG9vbCBsaW1pdC4iKTsNCiAgICB9IGVsc2UgaWYgKGFuZ2xlID4gaW5wdXQubWF4UmFtcEFuZ2xlKSB7DQogICAgICBhZGRDaGVjayhjaGVja3MsICJlcnJvciIsIGBSYW1waW5nIGFuZ2xlICR7Zm9ybWF0TnVtYmVyKGFuZ2xlKX0gZGVnIGV4Y2VlZHMgdGhlIG1heGltdW0gcmFtcGluZyBhbmdsZSAke2Zvcm1hdE51bWJlcihpbnB1dC5tYXhSYW1wQW5nbGUpfSBkZWcuYCk7DQogICAgfSBlbHNlIGlmIChhbmdsZSA+IGlucHV0Lm1heFJhbXBBbmdsZSAqIDAuOSkgew0KICAgICAgYWRkQ2hlY2soY2hlY2tzLCAid2FybmluZyIsICJSYW1waW5nIGFuZ2xlIGlzIDkwJSBvciBtb3JlIG9mIHRoZSBtYXhpbXVtIHJhbXBpbmcgYW5nbGUuIFN0YXJ0IGZyb20gYSBzYWZlciBjb25kaXRpb24uIik7DQogICAgfSBlbHNlIHsNCiAgICAgIGFkZENoZWNrKGNoZWNrcywgIm9rIiwgIlJhbXBpbmcgYW5nbGUgaXMgd2l0aGluIHRoZSBtYXhpbXVtIHJhbXBpbmcgYW5nbGUuIik7DQogICAgfQ0KDQogICAgaWYgKGZlZWRDb3JyZWN0aW9uRmFjdG9yIDwgMC4yNSkgew0KICAgICAgYWRkQ2hlY2soY2hlY2tzLCAid2FybmluZyIsICJUaGUgdG9vbC1jZW50ZXIgcGF0aCBkaWFtZXRlciBpcyBzbWFsbCwgc28gcmFtcGluZyBhbmdsZSBhbmQgZmVlZCBjb3JyZWN0aW9uIGhhdmUgYSBsYXJnZSBpbmZsdWVuY2UuIik7DQogICAgfQ0KDQogICAgY29uc3QgcnBtID0gaW5wdXQuY3V0dGluZ1NwZWVkID4gMCA/ICgxMDAwICogaW5wdXQuY3V0dGluZ1NwZWVkKSAvIChNYXRoLlBJICogaW5wdXQuY3V0dGVyRGlhbWV0ZXIpIDogbnVsbDsNCiAgICBjb25zdCBlZGdlRmVlZCA9IHJwbSAmJiBpbnB1dC50ZWV0aCA+IDAgJiYgaW5wdXQuZmVlZFBlclRvb3RoID4gMCA/IHJwbSAqIGlucHV0LnRlZXRoICogaW5wdXQuZmVlZFBlclRvb3RoIDogbnVsbDsNCiAgICBjb25zdCBjZW50ZXJGZWVkID0gZWRnZUZlZWQgPyBlZGdlRmVlZCAqIGZlZWRDb3JyZWN0aW9uRmFjdG9yIDogbnVsbDsNCg0KICAgIGlmIChycG0gPT0gbnVsbCB8fCBlZGdlRmVlZCA9PSBudWxsKSB7DQogICAgICBhZGRDaGVjayhjaGVja3MsICJjYXV0aW9uIiwgIlZjLCBlZmZlY3RpdmUgdGVldGgsIG9yIGZlZWQgcGVyIHRvb3RoIGlzIG1pc3NpbmcsIHNvIHNwaW5kbGUgc3BlZWQgb3IgZmVlZCByYXRlIGNhbm5vdCBiZSBjYWxjdWxhdGVkLiIpOw0KICAgIH0NCiAgICBhZGRDaGVjayhjaGVja3MsICJvayIsICJUb29sLWNlbnRlciBjb21tYW5kIGZlZWQgY2FuIGJlIHVzZWQgYXMgYSBndWlkZSBmb3IgdGhlIE5DIGNvbW1hbmQgdmFsdWUuIik7DQoNCiAgICBsZXQgZGVwdGhQbGFuID0gbnVsbDsNCiAgICBsZXQgZGlzdGFuY2VQbGFuID0gbnVsbDsNCiAgICBpZiAoaW5wdXQuZGVwdGggPiAwKSB7DQogICAgICBjb25zdCB0dXJuc1JhdyA9IGlucHV0LmRlcHRoIC8gcGl0Y2g7DQogICAgICBjb25zdCB0dXJuc1Byb2dyYW0gPSBNYXRoLm1heCgxLCBNYXRoLmNlaWwodHVybnNSYXcpKTsNCiAgICAgIGNvbnN0IGZpdFBpdGNoID0gaW5wdXQuZGVwdGggLyB0dXJuc1Byb2dyYW07DQogICAgICBjb25zdCBmaXRBbmdsZSA9IE1hdGguYXRhbihmaXRQaXRjaCAvIGNlbnRlclBhdGhMZW5ndGgpICogMTgwIC8gTWF0aC5QSTsNCiAgICAgIGRlcHRoUGxhbiA9IHsgdHVybnNSYXcsIHR1cm5zUHJvZ3JhbSwgZml0UGl0Y2gsIGZpdEFuZ2xlIH07DQoNCiAgICAgIGNvbnN0IGhlbGljYWxMZW5ndGhQZXJUdXJuID0gTWF0aC5zcXJ0KGNlbnRlclBhdGhMZW5ndGggKiogMiArIHBpdGNoICoqIDIpOw0KICAgICAgY29uc3QgdG90YWxIZWxpY2FsTGVuZ3RoID0gaGVsaWNhbExlbmd0aFBlclR1cm4gKiB0dXJuc1JhdzsNCiAgICAgIGNvbnN0IGVzdGltYXRlZFRpbWUgPSBjZW50ZXJGZWVkID8gdG90YWxIZWxpY2FsTGVuZ3RoIC8gY2VudGVyRmVlZCA6IG51bGw7DQogICAgICBkaXN0YW5jZVBsYW4gPSB7IGhlbGljYWxMZW5ndGhQZXJUdXJuLCB0b3RhbEhlbGljYWxMZW5ndGgsIGVzdGltYXRlZFRpbWUgfTsNCg0KICAgICAgaWYgKHR1cm5zUmF3IDwgMSkgew0KICAgICAgICBhZGRDaGVjayhjaGVja3MsICJjYXV0aW9uIiwgIk1hY2hpbmluZyBkZXB0aCBpcyBsZXNzIHRoYW4gb25lIHBpdGNoLiBDb25maXJtIGZpbmFsLXBhc3MgaGFuZGxpbmcgYW5kIHByb2dyYW1taW5nIG1ldGhvZC4iKTsNCiAgICAgIH0NCiAgICB9IGVsc2Ugew0KICAgICAgYWRkQ2hlY2soY2hlY2tzLCAiY2F1dGlvbiIsICJNYWNoaW5pbmcgZGVwdGggaXMgbm90IGVudGVyZWQsIHNvIHJlcXVpcmVkIHJldm9sdXRpb25zIGNhbm5vdCBiZSBjYWxjdWxhdGVkLiIpOw0KICAgIH0NCg0KICAgIHJldHVybiB7DQogICAgICBpbnB1dCwNCiAgICAgIGNlbnRlclBhdGhEaWFtZXRlciwNCiAgICAgIGNlbnRlclBhdGhMZW5ndGgsDQogICAgICBwaXRjaCwNCiAgICAgIGFuZ2xlLA0KICAgICAgZmVlZENvcnJlY3Rpb25GYWN0b3IsDQogICAgICBycG0sDQogICAgICBlZGdlRmVlZCwNCiAgICAgIGNlbnRlckZlZWQsDQogICAgICBkZXB0aFBsYW4sDQogICAgICBkaXN0YW5jZVBsYW4sDQogICAgICBjaGVja3MsDQogICAgICBoYXNFcnJvcjogY2hlY2tzLnNvbWUoKGNoZWNrKSA9PiBjaGVjay5sZXZlbCA9PT0gImVycm9yIiksDQogICAgICBoYXNXYXJuaW5nOiBjaGVja3Muc29tZSgoY2hlY2spID0+IGNoZWNrLmxldmVsID09PSAid2FybmluZyIgfHwgY2hlY2subGV2ZWwgPT09ICJjYXV0aW9uIikNCiAgICB9Ow0KICB9DQoNCiAgZnVuY3Rpb24gcmVuZGVyQ2hlY2tzKHJlc3VsdCkgew0KICAgIGVsLmNoZWNrTGlzdC5pbm5lckhUTUwgPSAiIjsNCiAgICByZXN1bHQuY2hlY2tzLmZvckVhY2goKGNoZWNrKSA9PiB7DQogICAgICBjb25zdCBpdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGkiKTsNCiAgICAgIGl0ZW0uY2xhc3NOYW1lID0gY2hlY2subGV2ZWw7DQogICAgICBpdGVtLnRleHRDb250ZW50ID0gY2hlY2subWVzc2FnZTsNCiAgICAgIGVsLmNoZWNrTGlzdC5hcHBlbmRDaGlsZChpdGVtKTsNCiAgICB9KTsNCiAgfQ0KDQogIGZ1bmN0aW9uIHJlbmRlcihyZXN1bHQpIHsNCiAgICBjb25zdCBtb2RlID0gcmVzdWx0LmlucHV0ID8gcmVzdWx0LmlucHV0Lm1vZGUgOiBnZXRNb2RlKCk7DQogICAgY29uc3Qgc2hvd0FuZ2xlUmVzdWx0ID0gbW9kZSA9PT0gInBpdGNoIjsNCiAgICBjb25zdCBzaG93UGl0Y2hSZXN1bHQgPSAhc2hvd0FuZ2xlUmVzdWx0Ow0KDQogICAgY29uc3Qgc3RhdGUgPSByZXN1bHQuaGFzRXJyb3IgPyAiZXJyb3IiIDogcmVzdWx0Lmhhc1dhcm5pbmcgPyAid2FybmluZyIgOiAib2siOw0KICAgIGVsLnJlc3VsdFN0YXRlLmNsYXNzTmFtZSA9IGBzdGF0ZS1iYWRnZSAke3N0YXRlfWA7DQogICAgZWwucmVzdWx0U3RhdGUudGV4dENvbnRlbnQgPSByZXN1bHQuaGFzRXJyb3IgPyAiTmVlZHMgY29ycmVjdGlvbiIgOiByZXN1bHQuaGFzV2FybmluZyA/ICJDaGVjayIgOiAiT0siOw0KDQogICAgZWwuc3VtbWFyeUFuZ2xlQ2FyZC5oaWRkZW4gPSAhc2hvd0FuZ2xlUmVzdWx0Ow0KICAgIGVsLnN1bW1hcnlQaXRjaENhcmQuaGlkZGVuID0gIXNob3dQaXRjaFJlc3VsdDsNCiAgICBlbC5zdW1tYXJ5QW5nbGVDYXJkLmNsYXNzTGlzdC50b2dnbGUoIm1haW4tcmVzdWx0LXN1bW1hcnkiLCBzaG93QW5nbGVSZXN1bHQpOw0KICAgIGVsLnN1bW1hcnlQaXRjaENhcmQuY2xhc3NMaXN0LnRvZ2dsZSgibWFpbi1yZXN1bHQtc3VtbWFyeSIsIHNob3dQaXRjaFJlc3VsdCk7DQogICAgZWwucmVzdWx0QW5nbGVDYXJkLmhpZGRlbiA9ICFzaG93QW5nbGVSZXN1bHQ7DQogICAgZWwucmVzdWx0UGl0Y2hDYXJkLmhpZGRlbiA9ICFzaG93UGl0Y2hSZXN1bHQ7DQogICAgZWwucmVzdWx0QW5nbGVDYXJkLmNsYXNzTGlzdC50b2dnbGUoIm1haW4tcmVzdWx0Iiwgc2hvd0FuZ2xlUmVzdWx0KTsNCiAgICBlbC5yZXN1bHRQaXRjaENhcmQuY2xhc3NMaXN0LnRvZ2dsZSgibWFpbi1yZXN1bHQiLCBzaG93UGl0Y2hSZXN1bHQpOw0KDQogICAgc2V0VGV4dChlbC5zdW1tYXJ5QW5nbGUsIHJlc3VsdC5hbmdsZSA/IGAke2Zvcm1hdE51bWJlcihyZXN1bHQuYW5nbGUpfSBkZWdgIDogIi0tIik7DQogICAgc2V0VGV4dChlbC5zdW1tYXJ5UGl0Y2gsIHJlc3VsdC5waXRjaCA/IGAke2Zvcm1hdE51bWJlcihyZXN1bHQucGl0Y2gpfSBtbWAgOiAiLS0iKTsNCiAgICBzZXRUZXh0KGVsLmNlbnRlclBhdGgsIHdpdGhVbml0KHJlc3VsdC5jZW50ZXJQYXRoRGlhbWV0ZXIsICJtbSIpKTsNCiAgICBzZXRUZXh0KGVsLnBhdGhMZW5ndGgsIHdpdGhVbml0KHJlc3VsdC5jZW50ZXJQYXRoTGVuZ3RoLCAibW0vcmV2IikpOw0KICAgIHNldFRleHQoZWwucmVzdWx0UGl0Y2gsIHdpdGhVbml0KHJlc3VsdC5waXRjaCwgIm1tL3JldiIpKTsNCiAgICBzZXRUZXh0KGVsLnJlc3VsdEFuZ2xlLCB3aXRoVW5pdChyZXN1bHQuYW5nbGUsICJkZWciKSk7DQogICAgc2V0VGV4dChlbC5ycG0sIHdpdGhVbml0KHJlc3VsdC5ycG0sICJtaW4tMSIpKTsNCiAgICBzZXRUZXh0KGVsLmVkZ2VGZWVkLCB3aXRoVW5pdChyZXN1bHQuZWRnZUZlZWQsICJtbS9taW4iKSk7DQogICAgc2V0VGV4dChlbC5mZWVkRmFjdG9yLCBOdW1iZXIuaXNGaW5pdGUocmVzdWx0LmZlZWRDb3JyZWN0aW9uRmFjdG9yKSA/IGZvcm1hdE51bWJlcihyZXN1bHQuZmVlZENvcnJlY3Rpb25GYWN0b3IpIDogIi0tIik7DQogICAgc2V0VGV4dChlbC5jZW50ZXJGZWVkLCB3aXRoVW5pdChyZXN1bHQuY2VudGVyRmVlZCwgIm1tL21pbiIpKTsNCg0KICAgIGNvbnN0IGRlcHRoUGxhbiA9IHJlc3VsdC5kZXB0aFBsYW4gfHwge307DQogICAgc2V0VGV4dChlbC50dXJuc1JhdywgTnVtYmVyLmlzRmluaXRlKGRlcHRoUGxhbi50dXJuc1JhdykgPyBgJHtmb3JtYXROdW1iZXIoZGVwdGhQbGFuLnR1cm5zUmF3KX0gcmV2YCA6ICItLSIpOw0KICAgIHNldFRleHQoZWwudHVybnNQcm9ncmFtLCBOdW1iZXIuaXNGaW5pdGUoZGVwdGhQbGFuLnR1cm5zUHJvZ3JhbSkgPyBgJHtmb3JtYXROdW1iZXIoZGVwdGhQbGFuLnR1cm5zUHJvZ3JhbSwgMCl9IHJldmAgOiAiLS0iKTsNCiAgICBzZXRUZXh0KGVsLmZpdFBpdGNoLCB3aXRoVW5pdChkZXB0aFBsYW4uZml0UGl0Y2gsICJtbS9yZXYiKSk7DQogICAgc2V0VGV4dChlbC5maXRBbmdsZSwgd2l0aFVuaXQoZGVwdGhQbGFuLmZpdEFuZ2xlLCAiZGVnIikpOw0KDQogICAgY29uc3QgZGlzdGFuY2VQbGFuID0gcmVzdWx0LmRpc3RhbmNlUGxhbiB8fCB7fTsNCiAgICBzZXRUZXh0KGVsLmhlbGljYWxMZW5ndGgsIHdpdGhVbml0KGRpc3RhbmNlUGxhbi5oZWxpY2FsTGVuZ3RoUGVyVHVybiwgIm1tIikpOw0KICAgIHNldFRleHQoZWwudG90YWxMZW5ndGgsIHdpdGhVbml0KGRpc3RhbmNlUGxhbi50b3RhbEhlbGljYWxMZW5ndGgsICJtbSIpKTsNCiAgICBzZXRUZXh0KGVsLmVzdGltYXRlZFRpbWUsIE51bWJlci5pc0Zpbml0ZShkaXN0YW5jZVBsYW4uZXN0aW1hdGVkVGltZSkgPyBgJHtmb3JtYXROdW1iZXIoZGlzdGFuY2VQbGFuLmVzdGltYXRlZFRpbWUgKiA2MCl9IHNlY2AgOiAiLS0iKTsNCg0KICAgIHJlbmRlckNoZWNrcyhyZXN1bHQpOw0KICB9DQoNCiAgZnVuY3Rpb24gdXBkYXRlTW9kZUZpZWxkcygpIHsNCiAgICBjb25zdCBtb2RlID0gZ2V0TW9kZSgpOw0KICAgIGNvbnN0IGlzUGl0Y2hNb2RlID0gbW9kZSA9PT0gInBpdGNoIjsNCiAgICBlbC5waXRjaEZpZWxkLmNsYXNzTGlzdC50b2dnbGUoImlzLWhpZGRlbiIsICFpc1BpdGNoTW9kZSk7DQogICAgZWwuYW5nbGVGaWVsZC5jbGFzc0xpc3QudG9nZ2xlKCJpcy1oaWRkZW4iLCBpc1BpdGNoTW9kZSk7DQogICAgZWwucGl0Y2hGaWVsZC5oaWRkZW4gPSAhaXNQaXRjaE1vZGU7DQogICAgZWwuYW5nbGVGaWVsZC5oaWRkZW4gPSBpc1BpdGNoTW9kZTsNCiAgICBlbC5waXRjaEZpZWxkLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCBTdHJpbmcoIWlzUGl0Y2hNb2RlKSk7DQogICAgZWwuYW5nbGVGaWVsZC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgU3RyaW5nKGlzUGl0Y2hNb2RlKSk7DQogICAgZWwucGl0Y2guZGlzYWJsZWQgPSAhaXNQaXRjaE1vZGU7DQogICAgZWwucmFtcEFuZ2xlLmRpc2FibGVkID0gaXNQaXRjaE1vZGU7DQogIH0NCg0KICBmdW5jdGlvbiBjYWxjdWxhdGVBbmRSZW5kZXIoKSB7DQogICAgdXBkYXRlTW9kZUZpZWxkcygpOw0KICAgIHJlbmRlcihjYWxjdWxhdGUocmVhZElucHV0cygpKSk7DQogIH0NCg0KICBmdW5jdGlvbiBsb2FkRXhhbXBsZSgpIHsNCiAgICBlbC5ob2xlRGlhbWV0ZXIudmFsdWUgPSBmb3JtYXRJbnB1dFZhbHVlKEVYQU1QTEUuaG9sZURpYW1ldGVyKTsNCiAgICBlbC5jdXR0ZXJEaWFtZXRlci52YWx1ZSA9IGZvcm1hdElucHV0VmFsdWUoRVhBTVBMRS5jdXR0ZXJEaWFtZXRlcik7DQogICAgZWwucGl0Y2gudmFsdWUgPSBmb3JtYXRJbnB1dFZhbHVlKEVYQU1QTEUucGl0Y2gpOw0KICAgIGVsLnJhbXBBbmdsZS52YWx1ZSA9IGZvcm1hdElucHV0VmFsdWUoRVhBTVBMRS5yYW1wQW5nbGUpOw0KICAgIGVsLmRlcHRoLnZhbHVlID0gZm9ybWF0SW5wdXRWYWx1ZShFWEFNUExFLmRlcHRoKTsNCiAgICBlbC5hcG14LnZhbHVlID0gZm9ybWF0SW5wdXRWYWx1ZShFWEFNUExFLmFwbXgpOw0KICAgIGVsLm1heFJhbXBBbmdsZS52YWx1ZSA9IGZvcm1hdElucHV0VmFsdWUoRVhBTVBMRS5tYXhSYW1wQW5nbGUpOw0KICAgIGVsLmN1dHRpbmdTcGVlZC52YWx1ZSA9IGZvcm1hdElucHV0VmFsdWUoRVhBTVBMRS5jdXR0aW5nU3BlZWQpOw0KICAgIGVsLnRlZXRoLnZhbHVlID0gZm9ybWF0SW5wdXRWYWx1ZShFWEFNUExFLnRlZXRoLCAwKTsNCiAgICBlbC5mZWVkUGVyVG9vdGgudmFsdWUgPSBmb3JtYXRJbnB1dFZhbHVlKEVYQU1QTEUuZmVlZFBlclRvb3RoKTsNCiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dFtuYW1lPSdtb2RlJ11bdmFsdWU9J3BpdGNoJ10iKS5jaGVja2VkID0gdHJ1ZTsNCiAgICBjYWxjdWxhdGVBbmRSZW5kZXIoKTsNCiAgfQ0KDQogIGVsLmZvcm0uYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBjYWxjdWxhdGVBbmRSZW5kZXIpOw0KICBlbC5mb3JtLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsIGNhbGN1bGF0ZUFuZFJlbmRlcik7DQogIGVsLmxvYWRFeGFtcGxlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgbG9hZEV4YW1wbGUpOw0KICBtYXJrTWlzc2luZ0ltYWdlcygpOw0KICBjYWxjdWxhdGVBbmRSZW5kZXIoKTsNCn0pKCk7DQo8L3NjcmlwdD4NCg==[/vc_raw_html][/vc_column][/vc_row]</description></oembed>
