@opcua/for-node-red 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  <style>
2
- .licence-widget-icon{font-size:1.5em;margin-right:10px}.licence-widget{background-color:#fdfdfd;border:1px solid #eaeaea;border-radius:6px;box-sizing:border-box;font-family:Courier New,Courier,monospace;font-size:.8em;font-style:italic;margin-bottom:10px;margin-top:10px;max-height:200px;overflow-x:auto;overflow-y:auto;padding:10px;white-space:nowrap;width:100%}.licence-widget::-webkit-scrollbar{display:none}.licence-widget{scrollbar-color:transparent transparent;scrollbar-width:none}.licence-widget-AUTHORIZED{background-color:#d5f5e3}.licence-widget-FAILED{background-color:#fadbd8}.licence-widget-details{text-wrap:pretty;font-size:.8em;font-style:italic;padding:2px}
2
+ .licence-widget-icon{font-size:1.5em;margin-right:10px}.licence-widget{background-color:#fdfdfd;border:1px solid #eaeaea;border-radius:6px;box-sizing:border-box;font-family:Courier New,Courier,monospace;font-size:.8em;font-style:italic;margin-bottom:10px;margin-top:10px;max-height:600px;overflow-x:auto;overflow-y:auto;padding:10px;white-space:nowrap;width:100%}.licence-widget::-webkit-scrollbar{display:none}.licence-widget{scrollbar-color:transparent transparent;scrollbar-width:none}.licence-widget-AUTHORIZED{background-color:#d5f5e3}.licence-widget-FAILED{background-color:#fadbd8}.licence-widget-details{text-wrap:pretty;font-size:.8em;font-style:italic;padding:2px}
3
3
  /*# sourceMappingURL=OpcUa-Endpoint2.css.map */
4
4
  </style>
5
5
 
6
6
  <script type="text/javascript">
7
- function _0x3f96(){const _0x29a0db=['show','licence-widget','throw','.section-securityPolicy','56zolNbw','catch','<br>','function','FAILED','checked','Anonymous','change','class','requestedMaxKeepAliveCount','OpcUa-Endpoint2','css','fa\x20fa-exclamation-circle','#node-config-input-securityMode','head','opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','<i>','#node-config-input-userCertificate','application/json','<a\x20href=\x22mailto:support@sterfive.com\x22\x20subject=\x22@opcua/for-node-red\x20support\x20request\x22>mailto:support@sterfive.com</a>','Please\x20contact\x20','Default\x20Subscription','150px','next','-failure','attr','src','addTab','#checkCertificate','connection','SuppressedError','licence-widget-msg','done','apply','.input-maxNotificationsPerPublish','baseUrl','template','\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.̀','.input-priority','Sign','<p>','#node-input-maxChunkCount','/opcua-endpoint2/test-connection','val','pricing-table-id','password','.input-publishingEnabled','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','.input-name','priority','getTime','appendTo','#node-config-input-userName','stringify','script','internal\x20error\x20','registerType','#licenceWidget','21vPEail','AUTHORIZED','create','node-config-endpoint-tabs','Demo\x20licence','parameters','length','Connection','each','invalid\x20endpoint','json','map','publishingEnabled','#node-config-input-securityPolicy','securityMode','element','licenceWidget','4405887wBamCP','then','result','Your\x20license\x20is\x20currently\x20invalid.','https://js.stripe.com/v3/pricing-table.js','label','Certificate','err','hide','append','maxNotificationsPerPublish','editableList','statusText','join',':checked','sterfive.licenceWidget','#node-config-input-userIdentityType','data-i','Basic256Sha256','extra','opc.tcp:','<a\x20href=\x22https://www.sterfive.com/opcua/for-node-red\x22\x20target=”_blank”>Sterfive\x27s\x20website\x20</a>','items','#subscriptions-container','#node-input-certificate','requestedLifetimeCount','removeAttr','None','log','27WSzsEg','invalid\x20securityMode\x20','.input-requestedMaxKeepAliveCount','Fast\x20Subscription','Slow\x20Subscription','disabled','.input-isDefault','prop','text','html','#node-input-sendBufferSize','userIdentityType','find','#test-connection','replace','UserName','floor','licence-widget-','#node-config-input-endpoint','#node-input-receiveBufferSize','tabs','value','#node-config-endpoint-tabs-content','/licenceInfo','/opcua-endpoint2/client_certificate.json','</p>','style','assign','empty','name','1343367iyLgGJ','2156428MkjdXz','890655ojpNqE','config','invalid\x20userIdentityType\x20','POST','endpoint-tab-connection','subscriptions','licence-widget-icon','margin-top:\x2020px;','#node-input-localkeyfile','resize','typedInput','prctbl_1OJt49BCNccbzsVzkaANOgFL','fa\x20fa-calendar-time','EXPIRED','/opcua-endpoint2','message','2592318jdDNrC','click','.red-ui-editableList-item-remove','54802cjARAN','subscribe-button','-messages','error','31268580QMnGYp','width','licenceInfo','#node-config-input-password','clone','#toggleAdvancedSection','isDefault','async','<span>','Your\x20licence\x20is\x20valid.','addClass','height:\x20100%\x20!important;','push','Testing\x20Connection\x20...','status','widget','removeClass','createElement','<stripe-pricing-table/>','fetching\x20failed\x20with\x20error','children','.input-requestedPublishingInterval','#node-input-maxMessageSize'];_0x3f96=function(){return _0x29a0db;};return _0x3f96();}function _0x50f9(_0x32673c,_0x1fb770){const _0x3f968b=_0x3f96();return _0x50f9=function(_0x50f9f8,_0xd09c56){_0x50f9f8=_0x50f9f8-0x13a;let _0x4b7005=_0x3f968b[_0x50f9f8];return _0x4b7005;},_0x50f9(_0x32673c,_0x1fb770);}(function(_0x172f8e,_0x569875){const _0x10c2f1=_0x50f9,_0x49397e=_0x172f8e();while(!![]){try{const _0x2f20d2=parseInt(_0x10c2f1(0x13d))/0x1*(parseInt(_0x10c2f1(0x170))/0x2)+-parseInt(_0x10c2f1(0x1da))/0x3+parseInt(_0x10c2f1(0x15c))/0x4+parseInt(_0x10c2f1(0x15d))/0x5+-parseInt(_0x10c2f1(0x16d))/0x6*(parseInt(_0x10c2f1(0x1c9))/0x7)+-parseInt(_0x10c2f1(0x18f))/0x8*(parseInt(_0x10c2f1(0x15b))/0x9)+parseInt(_0x10c2f1(0x174))/0xa;if(_0x2f20d2===_0x569875)break;else _0x49397e['push'](_0x49397e['shift']());}catch(_0x48e06c){_0x49397e['push'](_0x49397e['shift']());}}}(_0x3f96,0xbd096),(function(){'use strict';const _0x26d952=_0x50f9;function _0x542500(_0x5ae874,_0x32e0c9,_0x21c159,_0x5effc9){function _0xfe0233(_0x2d5272){return _0x2d5272 instanceof _0x21c159?_0x2d5272:new _0x21c159(function(_0x842071){_0x842071(_0x2d5272);});}return new(_0x21c159||(_0x21c159=Promise))(function(_0x69e3db,_0x451d11){const _0x586310=_0x50f9;function _0x5bf4c6(_0x29fd94){const _0x99aad2=_0x50f9;try{_0x3154a6(_0x5effc9[_0x99aad2(0x1a6)](_0x29fd94));}catch(_0x54e806){_0x451d11(_0x54e806);}}function _0x3884b2(_0x29faee){const _0x14116c=_0x50f9;try{_0x3154a6(_0x5effc9[_0x14116c(0x18d)](_0x29faee));}catch(_0x2ee0ca){_0x451d11(_0x2ee0ca);}}function _0x3154a6(_0x1eb287){const _0x317ed5=_0x50f9;_0x1eb287[_0x317ed5(0x1af)]?_0x69e3db(_0x1eb287[_0x317ed5(0x152)]):_0xfe0233(_0x1eb287[_0x317ed5(0x152)])[_0x317ed5(0x1db)](_0x5bf4c6,_0x3884b2);}_0x3154a6((_0x5effc9=_0x5effc9[_0x586310(0x1b0)](_0x5ae874,_0x32e0c9||[]))['next']());});}typeof SuppressedError===_0x26d952(0x192)?SuppressedError:function(_0x2bf88b,_0x43bb81,_0x2a2733){const _0x467bf8=_0x26d952;var _0x3ca261=new Error(_0x2a2733);return _0x3ca261[_0x467bf8(0x15a)]=_0x467bf8(0x1ad),_0x3ca261[_0x467bf8(0x173)]=_0x2bf88b,_0x3ca261['suppressed']=_0x43bb81,_0x3ca261;};function _0x57982d(_0xb9803f,_0x5e182c,_0x5cd95a,_0x12713f){const _0x58bafa=_0x26d952,_0x228026=$('#'+_0xb9803f+'-success'),_0x2c5039=$('#'+_0xb9803f+_0x58bafa(0x1a7)),_0x41d1d2=$('#'+_0xb9803f+'-pending'),_0x473790=$('#'+_0xb9803f+_0x58bafa(0x172));let _0x40dd4e=![];_0x228026[_0x58bafa(0x1e2)](),_0x2c5039[_0x58bafa(0x1e2)](),_0x41d1d2[_0x58bafa(0x1e2)](),_0x5e182c['on'](_0x58bafa(0x16e),()=>{const _0x31dfc5=_0x58bafa;if(_0x40dd4e)return;_0x40dd4e=!![],_0x41d1d2[_0x31dfc5(0x184)](_0x31dfc5(0x1e2)),_0x41d1d2[_0x31dfc5(0x146)](_0x31dfc5(0x181)),_0x228026[_0x31dfc5(0x17e)](_0x31dfc5(0x1e2)),_0x2c5039[_0x31dfc5(0x17e)]('hide'),_0x473790[_0x31dfc5(0x146)]('');const {body:_0x27af71,url:_0x2a6b3f}=_0x5cd95a();fetch(_0x2a6b3f,{'method':'POST','headers':{'Content-Type':_0x31dfc5(0x1a1)},'body':JSON['stringify'](_0x27af71)})[_0x31dfc5(0x1db)](_0x1f747c=>_0x1f747c[_0x31dfc5(0x1d3)]())[_0x31dfc5(0x1db)](_0x2d09e3=>{const _0x4be842=_0x31dfc5;_0x40dd4e=![],_0x41d1d2[_0x4be842(0x1e2)](),console[_0x4be842(0x13c)](JSON[_0x4be842(0x1c4)](_0x2d09e3,null,'\x20'));if(_0x2d09e3[_0x4be842(0x1dc)]==='ok')_0x228026[_0x4be842(0x184)](_0x4be842(0x1e2)),_0x2c5039[_0x4be842(0x17e)]('hide'),_0x473790[_0x4be842(0x146)](_0x2d09e3[_0x4be842(0x16c)][_0x4be842(0x14b)]('\x0a',_0x4be842(0x191))),_0x12713f(null,_0x2d09e3);else{const _0x23b74c=_0x264d1a=>!_0x264d1a?'':_0x264d1a['split']('\x0a')[_0x4be842(0x1d4)](_0x1af0fe=>_0x4be842(0x1b7)+_0x1af0fe+_0x4be842(0x156))[_0x4be842(0x1e7)]('\x0a'),_0x283126=_0x42c316=>Array['isArray'](_0x42c316)?_0x42c316['map'](_0x23b74c)['join']('\x0a'):_0x23b74c(_0x42c316);_0x228026['addClass'](_0x4be842(0x1e2)),_0x2c5039[_0x4be842(0x184)](_0x4be842(0x1e2)),_0x473790[_0x4be842(0x146)](_0x283126(_0x2d09e3[_0x4be842(0x16c)])+_0x283126(_0x2d09e3[_0x4be842(0x1ed)])),_0x12713f(new Error(_0x2d09e3[_0x4be842(0x1dc)]),_0x2d09e3);}})[_0x31dfc5(0x190)](_0x7ab856=>{const _0x3fff1a=_0x31dfc5;_0x40dd4e=![],_0x41d1d2[_0x3fff1a(0x17e)](_0x3fff1a(0x1e2)),_0x228026[_0x3fff1a(0x17e)](_0x3fff1a(0x1e2)),_0x2c5039[_0x3fff1a(0x184)]('hide'),_0x473790[_0x3fff1a(0x146)](_0x3fff1a(0x1c6)+_0x7ab856[_0x3fff1a(0x16c)]),console[_0x3fff1a(0x13c)](_0x3fff1a(0x1e1),_0x7ab856),_0x12713f(_0x7ab856,null);});});}const _0x1a072d=_0x26d952(0x168),_0x5c9a1f='pk_live_51HsE1sBCNccbzsVzt7zaq2uv20pkryWllAzvZgZd5AhwFI9A3qBIeOJvJwQF08lDoLpFqLjwmyA79wnPnYLsvKjt009f00VpCW';function _0xe2a6d1(_0x368376=''){return _0x542500(this,void 0x0,void 0x0,function*(){const _0x3d63fb=_0x50f9,_0x6bc3d3=_0x368376+_0x3d63fb(0x16b),_0x5e6703=_0x6bc3d3+_0x3d63fb(0x154),_0x11a0e5=yield fetch(_0x5e6703,{'method':_0x3d63fb(0x160),'headers':{'Content-Type':_0x3d63fb(0x1a1)}});if(_0x11a0e5[_0x3d63fb(0x182)]!==0xc8)return console['log'](_0x3d63fb(0x187),_0x11a0e5[_0x3d63fb(0x182)],_0x11a0e5[_0x3d63fb(0x1e6)]),{};const _0x1f0cf7=yield _0x11a0e5[_0x3d63fb(0x1d3)]();return _0x1f0cf7;});}const _0x19202b=()=>{const _0x24b653=_0x26d952;$[_0x24b653(0x183)](_0x24b653(0x1e9),{'options':{'baseUrl':''},'_create'(){const _0x5ca31d=_0x24b653,_0x71938e=this,_0xa5bd21=_0x5ca31d(0x1a2),_0x12727c=_0x5ca31d(0x1ef);_0xe2a6d1(_0x71938e[_0x5ca31d(0x1b2)])[_0x5ca31d(0x1db)](_0x48e306=>{const _0x42bba9=_0x5ca31d;let _0x2ae4da='',_0x197708='',_0x4be9d6='';const _0x53c107=_0x48e306[_0x42bba9(0x182)];switch(_0x53c107){case _0x42bba9(0x1ca):_0x2ae4da='fa\x20fa-check-circle';if(_0x48e306['isDemo']){const _0x12ad0f=_0x48e306[_0x42bba9(0x176)]['expiryDate'],_0x40d03a=Math[_0x42bba9(0x14d)]((_0x12ad0f-new Date()[_0x42bba9(0x1c1)]())/(0x3e8*0xe10*0x18));_0x197708=_0x42bba9(0x1cd),_0x4be9d6='This\x20is\x20a\x20demo\x20licence\x20and\x20will\x20expire\x20in\x20'+_0x40d03a+'\x20days.\x20Buy\x20online\x20and\x20visit\x20'+_0x12727c+'\x20to\x20acquire\x20a\x20license.';}else _0x197708=_0x42bba9(0x17d),_0x4be9d6=_0x12727c+_0x42bba9(0x191)+_0xa5bd21;break;case'EXPIRED':_0x2ae4da=_0x42bba9(0x169),_0x197708='Licence\x20expired',_0x4be9d6=_0x42bba9(0x1be);break;case _0x42bba9(0x193):default:_0x2ae4da=_0x42bba9(0x19b),_0x197708=_0x42bba9(0x1dd),_0x4be9d6=_0x42bba9(0x1a3)+_0xa5bd21+_0x42bba9(0x1b4);break;}this[_0x42bba9(0x1d8)][_0x42bba9(0x17e)](_0x42bba9(0x18c)),this[_0x42bba9(0x1d8)][_0x42bba9(0x17e)](_0x42bba9(0x14e)+_0x53c107),this[_0x42bba9(0x1d8)]['append']($(_0x42bba9(0x17c))[_0x42bba9(0x17e)](_0x42bba9(0x163))[_0x42bba9(0x1e3)]($(_0x42bba9(0x19f))[_0x42bba9(0x17e)](_0x2ae4da))),this[_0x42bba9(0x1d8)]['append']($(_0x42bba9(0x17c))[_0x42bba9(0x17e)](_0x42bba9(0x1ae))[_0x42bba9(0x145)](_0x197708)),this[_0x42bba9(0x1d8)][_0x42bba9(0x1e3)]($(_0x42bba9(0x191))),this[_0x42bba9(0x1d8)][_0x42bba9(0x1e3)]($(_0x42bba9(0x17c))[_0x42bba9(0x17e)]('licence-widget-details')[_0x42bba9(0x1e3)](_0x4be9d6));if(_0x53c107===_0x42bba9(0x16a)||_0x53c107===_0x42bba9(0x193)){const _0x2f358b=$('<button/>');_0x2f358b['attr']('id',_0x42bba9(0x171)),_0x2f358b[_0x42bba9(0x1a8)](_0x42bba9(0x197),'btn\x20btn-primary'),_0x2f358b['attr'](_0x42bba9(0x157),_0x42bba9(0x164)),_0x2f358b[_0x42bba9(0x145)]('Subscribe'),this[_0x42bba9(0x1d8)][_0x42bba9(0x1e3)](_0x2f358b);const _0x2d19f8=document[_0x42bba9(0x185)](_0x42bba9(0x1c5));_0x2d19f8[_0x42bba9(0x1a9)]=_0x42bba9(0x1de),_0x2d19f8[_0x42bba9(0x17b)]=!![],$(_0x42bba9(0x19d))[_0x42bba9(0x1e3)](_0x2d19f8);const _0x2d06da=$(_0x42bba9(0x186));_0x2d06da['attr'](_0x42bba9(0x1bb),_0x1a072d),_0x2d06da[_0x42bba9(0x1a8)]('publishable-key',_0x5c9a1f),_0x2d06da[_0x42bba9(0x1a8)]('style','height:\x20100%;max-height:\x20100%;'),_0x2d06da[_0x42bba9(0x1e2)](),this[_0x42bba9(0x1d8)][_0x42bba9(0x1e3)](_0x2d06da),_0x2f358b['on']('click',()=>{const _0x348ba9=_0x42bba9;_0x2d06da[_0x348ba9(0x18b)](),_0x2f358b[_0x348ba9(0x1e2)](),this[_0x348ba9(0x1d8)][_0x348ba9(0x1a8)](_0x348ba9(0x157),_0x348ba9(0x17f));});}})[_0x5ca31d(0x190)](_0x215295=>{const _0xabfa02=_0x5ca31d;console[_0xabfa02(0x13c)](_0x215295);});}});};_0x19202b();function _0x17f370(_0x722c02){const _0x27475c=_0x26d952;let _0x3968f;try{_0x3968f=new URL(_0x722c02);}catch(_0x33667b){return![];}return _0x3968f['protocol']===_0x27475c(0x1ee);}const _0x42fe16={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED['nodes'][_0x26d952(0x1c7)](_0x26d952(0x199),{'category':_0x26d952(0x15e),'paletteLabel':'opcua\x20endpoint','defaults':{'name':{'value':''},'endpoint':{'value':_0x26d952(0x19e),'required':!![],'validate':_0x17f370},'securityMode':{'value':_0x26d952(0x13b)},'securityPolicy':{'value':_0x26d952(0x13b),'validate':_0x48f3fa=>{if(!_0x48f3fa)return![];return!![];}},'userIdentityType':{'value':_0x26d952(0x195)},'userName':{'value':''},'password':{'value':'','type':_0x26d952(0x1bc)},'userCertificate':{'value':''},'userPrivatekey':{'value':''},'certificate':{'value':'n'},'localfile':{'value':''},'localkeyfile':{'value':''},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':_0x26d952(0x1a4),'isDefault':!![],'parameters':Object[_0x26d952(0x158)]({},_0x42fe16)},{'id':'s2','name':_0x26d952(0x141),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':_0x26d952(0x140),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'user':{'type':'text'},'password':{'type':_0x26d952(0x1bc)}},'label':function(){const _0x1fd182=_0x26d952;return this[_0x1fd182(0x15a)]||this['endpoint']||_0x1fd182(0x1d2);},'oneditsave'(){const _0x20d0b4=_0x26d952,_0x57eb45=$(_0x20d0b4(0x1d6)),_0xd6c7c0=$(_0x20d0b4(0x19c));_0x57eb45[_0x20d0b4(0x1ba)]()===_0x20d0b4(0x13b)&&_0xd6c7c0[_0x20d0b4(0x145)](_0x20d0b4(0x13b));const _0x2a59c6=$(_0x20d0b4(0x1f1))[_0x20d0b4(0x1e5)](_0x20d0b4(0x1f0)),_0x37b6f3=[],_0xab2ee1=_0x2be30b=>_0x2be30b;_0x2a59c6[_0x20d0b4(0x1d1)](function(_0x3b285c,_0x51bc37){const _0x518a52=_0x20d0b4,_0x3b9712=$(this),_0x1a833a={'id':'s'+_0x3b285c,'name':_0x3b9712[_0x518a52(0x149)](_0x518a52(0x1bf))['val'](),'isDefault':!!_0x3b9712[_0x518a52(0x149)](_0x518a52(0x143))[_0x518a52(0x1ba)](),'parameters':{'publishingEnabled':!!_0x3b9712[_0x518a52(0x149)](_0x518a52(0x1bd))['is'](_0x518a52(0x1e8)),'requestedLifetimeCount':_0xab2ee1(_0x3b9712[_0x518a52(0x149)]('.input-requestedLifetimeCount')[_0x518a52(0x1ba)]()),'requestedMaxKeepAliveCount':_0xab2ee1(_0x3b9712[_0x518a52(0x149)](_0x518a52(0x13f))['val']()),'requestedPublishingInterval':_0xab2ee1(_0x3b9712['find']('.input-requestedPublishingInterval')[_0x518a52(0x1ba)]()),'maxNotificationsPerPublish':_0xab2ee1(_0x3b9712['find'](_0x518a52(0x1b1))['val']()),'priority':_0xab2ee1(_0x3b9712[_0x518a52(0x149)](_0x518a52(0x1b5))[_0x518a52(0x1ba)]())}};_0x1a833a[_0x518a52(0x1ce)][_0x518a52(0x1d5)]=!![],_0x1a833a[_0x518a52(0x17a)]&&_0x1a833a['id']==='s0'&&(_0x1a833a[_0x518a52(0x15a)]=_0x518a52(0x1a4)),_0x37b6f3['push'](_0x1a833a);}),this[_0x20d0b4(0x162)]=_0x37b6f3;},'oneditprepare'(){const _0x3a8cc9=_0x26d952,_0x25ac42=this,_0xc5d09=RED[_0x3a8cc9(0x151)][_0x3a8cc9(0x1cb)]({'id':_0x3a8cc9(0x1cc),'onchange':function(_0x4bab0a){const _0xb0efce=_0x3a8cc9;$(_0xb0efce(0x153))[_0xb0efce(0x188)]()[_0xb0efce(0x1e2)](),$('#'+_0x4bab0a['id'])['show']();}});_0xc5d09[_0x3a8cc9(0x1aa)]({'id':_0x3a8cc9(0x161),'label':_0x3a8cc9(0x1d0)},0x0),_0xc5d09[_0x3a8cc9(0x1aa)]({'id':'endpoint-tab-subscriptions','label':'Subscriptions'},0x1),setTimeout(function(){const _0x46c3bf=_0x3a8cc9;_0xc5d09[_0x46c3bf(0x166)]();},0x0);{const _0x21af83=_0x55985a=>{const _0x33905b=_0x3a8cc9;switch(_0x55985a){case null:case undefined:case'':case'None':$(_0x33905b(0x18e))['hide']();break;case _0x33905b(0x1b6):case'SignAndEncrypt':{const _0x37ac2e=$(_0x33905b(0x18e));(_0x37ac2e[_0x33905b(0x1ba)]()===_0x33905b(0x13b)||_0x37ac2e[_0x33905b(0x1ba)]()==='')&&_0x37ac2e[_0x33905b(0x1ba)](_0x33905b(0x1ec)),$(_0x33905b(0x18e))[_0x33905b(0x18b)]();}break;default:console[_0x33905b(0x13c)](_0x33905b(0x13e)+_0x55985a);}};_0x21af83(_0x25ac42[_0x3a8cc9(0x1d7)]);const _0x20ab55=$(_0x3a8cc9(0x19c));_0x20ab55['on'](_0x3a8cc9(0x196),()=>{const _0x55bfab=_0x20ab55['val']();_0x21af83(_0x55bfab);});}const _0x5316c4=$(_0x3a8cc9(0x1c8));_0x5316c4[_0x3a8cc9(0x1d9)]({'baseUrl':''});{const _0x57c86e=$('.section-userIdentityType-UserName'),_0x2e4275=$('.section-userIdentityType-Certificate'),_0x4f184d=_0x3802c0=>{const _0x33c78a=_0x3a8cc9;_0x3802c0=_0x3802c0||_0x33c78a(0x195);switch(_0x3802c0){case _0x33c78a(0x195):$(_0x33c78a(0x1c3))['val'](''),$(_0x33c78a(0x177))['val'](''),_0x57c86e[_0x33c78a(0x1e2)](),_0x2e4275['hide']();break;case _0x33c78a(0x14c):_0x57c86e[_0x33c78a(0x18b)](),_0x2e4275[_0x33c78a(0x1e2)]();break;case _0x33c78a(0x1e0):$('#node-config-input-userName')[_0x33c78a(0x1ba)](''),$(_0x33c78a(0x177))['val'](''),_0x2e4275[_0x33c78a(0x18b)](),_0x57c86e[_0x33c78a(0x1e2)]();break;default:console[_0x33c78a(0x13c)](_0x33c78a(0x15f)+_0x3802c0);}};_0x4f184d(_0x25ac42[_0x3a8cc9(0x148)]);const _0x1aca0f=$(_0x3a8cc9(0x1ea));_0x1aca0f['on']('change',()=>{const _0x2ae1a6=_0x3a8cc9,_0x3e9773=_0x1aca0f[_0x2ae1a6(0x1ba)]();_0x4f184d(_0x3e9773);});}{$('#section-Advanced')[_0x3a8cc9(0x1e2)](),$(_0x3a8cc9(0x179))['on'](_0x3a8cc9(0x196),function(){const _0x22b44e=_0x3a8cc9;$(this)['prop'](_0x22b44e(0x194))?$('#section-Advanced')[_0x22b44e(0x18b)]():$('#section-Advanced')[_0x22b44e(0x1e2)]();});}{$(_0x3a8cc9(0x1ab))['on'](_0x3a8cc9(0x16e),()=>_0x542500(this,void 0x0,void 0x0,function*(){const _0x3500bd=_0x3a8cc9,_0x8c2ab8=yield fetch(_0x3500bd(0x155)),_0x1215c9=yield _0x8c2ab8[_0x3500bd(0x1d3)](),_0x530aae=JSON[_0x3500bd(0x1c4)](_0x1215c9,null,'\x20');alert(_0x530aae);}));}{_0x57982d(_0x3a8cc9(0x1ac),$(_0x3a8cc9(0x14a)),()=>({'url':_0x3a8cc9(0x1b9),'body':{'endpointNode':{'id':_0x25ac42['id'],'endpoint':$(_0x3a8cc9(0x14f))['val'](),'securityMode':$(_0x3a8cc9(0x19c))[_0x3a8cc9(0x1ba)](),'securityPolicy':$('#node-config-input-securityPolicy')[_0x3a8cc9(0x1ba)](),'userIdentityType':$('#node-config-input-userIdentityType')[_0x3a8cc9(0x1ba)](),'userName':$(_0x3a8cc9(0x1c3))['val'](),'password':$('#node-config-input-password')[_0x3a8cc9(0x1ba)](),'userCertificate':$(_0x3a8cc9(0x1a0))[_0x3a8cc9(0x1ba)](),'userPrivatekey':$('#node-config-input-userPrivatekey')[_0x3a8cc9(0x1ba)](),'certificate':$(_0x3a8cc9(0x1f2))[_0x3a8cc9(0x1ba)](),'localfile':$('#node-input-localfile')[_0x3a8cc9(0x1ba)](),'localkeyfile':$(_0x3a8cc9(0x165))[_0x3a8cc9(0x1ba)](),'useTransport':$('#node-input-useTransport')[_0x3a8cc9(0x144)](_0x3a8cc9(0x194)),'maxChunkCount':$(_0x3a8cc9(0x1b8))['val'](),'maxMessageSize':$(_0x3a8cc9(0x18a))[_0x3a8cc9(0x1ba)](),'receiveBufferSize':$(_0x3a8cc9(0x150))[_0x3a8cc9(0x1ba)](),'sendBufferSize':$(_0x3a8cc9(0x147))[_0x3a8cc9(0x1ba)]()}}}),()=>{});}{const _0x415147=(_0xd2515,_0x207445)=>{const _0x597169=_0x3a8cc9;var _0x34af06=_0xd2515[_0x597169(0x175)]()||0x64;_0xd2515[_0x597169(0x149)](_0x597169(0x1df))[_0x597169(0x167)](_0x597169(0x175),_0x34af06-0xf);},_0x44b81d=$('#subscriptions-container')[_0x3a8cc9(0x19a)]({'min-height':_0x3a8cc9(0x1a5),'min-width':'260px'})['editableList']({'addItem':(_0x4202fa,_0x36cf7d,_0x1eb55f)=>{const _0x1d9ccf=_0x3a8cc9,_0x38dd6c=_0x1eb55f,_0x115b30=$('.template')[_0x1d9ccf(0x178)]()[_0x1d9ccf(0x1c2)](_0x4202fa);_0x115b30[_0x1d9ccf(0x13a)]('id')[_0x1d9ccf(0x184)](_0x1d9ccf(0x1e2))[_0x1d9ccf(0x184)](_0x1d9ccf(0x1b3))[_0x1d9ccf(0x1a8)](_0x1d9ccf(0x1eb),_0x36cf7d),_0x115b30[_0x1d9ccf(0x149)]('.input-name')[_0x1d9ccf(0x1ba)](_0x38dd6c['name']),_0x115b30[_0x1d9ccf(0x149)](_0x1d9ccf(0x189))['val'](_0x38dd6c['parameters']['requestedPublishingInterval']),_0x115b30[_0x1d9ccf(0x149)](_0x1d9ccf(0x13f))[_0x1d9ccf(0x1ba)](_0x38dd6c[_0x1d9ccf(0x1ce)][_0x1d9ccf(0x198)]),_0x115b30[_0x1d9ccf(0x149)]('.input-requestedLifetimeCount')[_0x1d9ccf(0x1ba)](_0x38dd6c[_0x1d9ccf(0x1ce)][_0x1d9ccf(0x1f3)]),_0x115b30[_0x1d9ccf(0x149)](_0x1d9ccf(0x1b1))['val'](_0x38dd6c[_0x1d9ccf(0x1ce)][_0x1d9ccf(0x1e4)]||0x0),_0x115b30['find'](_0x1d9ccf(0x1b5))[_0x1d9ccf(0x1ba)](_0x38dd6c['parameters'][_0x1d9ccf(0x1c0)]||0x0),_0x115b30[_0x1d9ccf(0x149)]('.subscription-id')[_0x1d9ccf(0x145)](''+_0x36cf7d),_0x38dd6c[_0x1d9ccf(0x17a)]&&_0x115b30[_0x1d9ccf(0x149)](_0x1d9ccf(0x1bf))[_0x1d9ccf(0x144)]('readonly',!![]),_0x115b30['find'](_0x1d9ccf(0x143))[_0x1d9ccf(0x144)](_0x1d9ccf(0x194),_0x38dd6c[_0x1d9ccf(0x17a)]),_0x38dd6c[_0x1d9ccf(0x17a)]&&(_0x4202fa['find'](_0x1d9ccf(0x16f))[_0x1d9ccf(0x17e)](_0x1d9ccf(0x1e2)),setTimeout(()=>_0x115b30[_0x1d9ccf(0x149)]('.input-isDefault')[_0x1d9ccf(0x144)](_0x1d9ccf(0x142),!![]),0xa));},'removable':!![],'resizeItem':_0x415147}),_0x2b20a6=()=>{const _0x43bf05=_0x3a8cc9,_0x3cacf8=_0x25ac42['subscriptions']||[];_0x3cacf8[_0x43bf05(0x1cf)]===0x0&&_0x3cacf8[_0x43bf05(0x180)]({'id':'s1','name':'Default\x20Subscription','isDefault':!![],'parameters':Object[_0x43bf05(0x158)]({},_0x42fe16)});_0x44b81d[_0x43bf05(0x1e5)](_0x43bf05(0x159));for(const _0x5d1f42 of _0x3cacf8){_0x44b81d['editableList']('addItem',_0x5d1f42);}};_0x2b20a6();}}});}()));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg1NDI1MDAiLCJfMHg1YWU4NzQiLCJfMHgzMmUwYzkiLCJfMHgyMWMxNTkiLCJfMHg1ZWZmYzkiLCJfMHhmZTAyMzMiLCJfMHgyZDUyNzIiLCJfMHg4NDIwNzEiLCJQcm9taXNlIiwiXzB4NjllM2RiIiwiXzB4NDUxZDExIiwiXzB4NWJmNGM2IiwiXzB4MjlmZDk0IiwiXzB4MzE1NGE2IiwiXzB4NTRlODA2IiwiXzB4Mzg4NGIyIiwiXzB4MjlmYWVlIiwiXzB4MmVlMGNhIiwiXzB4MWViMjg3IiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4MmJmODhiIiwiXzB4NDNiYjgxIiwiXzB4MmEyNzMzIiwiXzB4M2NhMjYxIiwiRXJyb3IiLCJfMHg1Nzk4MmQiLCJfMHhiOTgwM2YiLCJfMHg1ZTE4MmMiLCJfMHg1Y2Q5NWEiLCJfMHgxMjcxM2YiLCJfMHgyMjgwMjYiLCIkIiwiXzB4MmM1MDM5IiwiXzB4NDFkMWQyIiwiXzB4NDczNzkwIiwiXzB4NDBkZDRlIiwiYm9keSIsIl8weDI3YWY3MSIsInVybCIsIl8weDJhNmIzZiIsImZldGNoIiwiSlNPTiIsIl8weDFmNzQ3YyIsIl8weDJkMDllMyIsImNvbnNvbGUiLCJfMHgyM2I3NGMiLCJfMHgyNjRkMWEiLCJfMHgxYWYwZmUiLCJfMHgyODMxMjYiLCJfMHg0MmMzMTYiLCJBcnJheSIsIl8weDdhYjg1NiIsIl8weDFhMDcyZCIsIl8weDVjOWExZiIsIl8weGUyYTZkMSIsIl8weDM2ODM3NiIsIl8weDZiYzNkMyIsIl8weDVlNjcwMyIsIl8weDExYTBlNSIsIl8weDFmMGNmNyIsIl8weDE5MjAyYiIsIl8weDcxOTM4ZSIsIl8weGE1YmQyMSIsIl8weDEyNzI3YyIsIl8weDQ4ZTMwNiIsIl8weDJhZTRkYSIsIl8weDE5NzcwOCIsIl8weDRiZTlkNiIsIl8weDUzYzEwNyIsIl8weDEyYWQwZiIsIl8weDQwZDAzYSIsIk1hdGgiLCJEYXRlIiwiXzB4MmYzNThiIiwiXzB4MmQxOWY4IiwiZG9jdW1lbnQiLCJfMHgyZDA2ZGEiLCJfMHgyMTUyOTUiLCJfMHgxN2YzNzAiLCJfMHg3MjJjMDIiLCJfMHgzOTY4ZiIsIlVSTCIsIl8weDMzNjY3YiIsIl8weDQyZmUxNiIsIlJFRCIsIl8weDQ4ZjNmYSIsIk9iamVjdCIsIl8weDU3ZWI0NSIsIl8weGQ2YzdjMCIsIl8weDJhNTljNiIsIl8weDM3YjZmMyIsIl8weGFiMmVlMSIsIl8weDJiZTMwYiIsIl8weDNiMjg1YyIsIl8weDUxYmMzNyIsIl8weDNiOTcxMiIsIl8weDFhODMzYSIsIl8weDI1YWM0MiIsIl8weGM1ZDA5IiwiXzB4NGJhYjBhIiwic2V0VGltZW91dCIsIl8weDIxYWY4MyIsIl8weDU1OTg1YSIsInVuZGVmaW5lZCIsIl8weDM3YWMyZSIsIl8weDIwYWI1NSIsIl8weDU1YmZhYiIsIl8weDUzMTZjNCIsIl8weDU3Yzg2ZSIsIl8weDJlNDI3NSIsIl8weDRmMTg0ZCIsIl8weDM4MDJjMCIsIl8weDFhY2EwZiIsIl8weDNlOTc3MyIsIl8weDhjMmFiOCIsIl8weDEyMTVjOSIsIl8weDUzMGFhZSIsImFsZXJ0IiwiXzB4NDE1MTQ3IiwiXzB4ZDI1MTUiLCJfMHgyMDc0NDUiLCJfMHgzNGFmMDYiLCJfMHg0NGI4MWQiLCJfMHg0MjAyZmEiLCJfMHgzNmNmN2QiLCJfMHgxZWI1NWYiLCJfMHgzOGRkNmMiLCJfMHgxMTViMzAiLCJfMHgyYjIwYTYiLCJfMHgzY2FjZjgiLCJfMHg1ZDFmNDIiXSwibWFwcGluZ3MiOiIwNklBQUEsQ0FBQyxVLENBQ0csYSx3QkFtQkEsU0FBU0EsU0FBVCxDQUFtQkMsU0FBbkIsQ0FBNEJDLFNBQTVCLENBQXdDQyxTQUF4QyxDQUEyQ0MsU0FBM0MsQyxDQUNJLFNBQVNDLFNBQVQsQ0FBZUMsU0FBZixDLFFBQStCQSxTQUFBLFlBQWlCSCxTQUFqQixDQUFxQkcsU0FBckIsQ0FBNkIsSUFBSUgsU0FBSixDQUFNLFNBQVVJLFNBQVYsQyxDQUFxQkEsU0FBQSxDQUFRRCxTQUFSLEMsRUFBM0IsQyxTQUNyRCxH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QWxCLENBSkcsQ0FBbkIsQyxDQU9KdUMsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsRUFDQSxVQUFXUSxTQUFYLElBQTJCRCxTQUEzQixDLENBRUlQLFNBQUEsQyxjQUFBLEUsU0FBQSxDQUF5Q1EsU0FBekMsQyxHQTlDUixDQWlEQUYsU0FBQSxFLEdBalU4QixDQUExQyxDLEVBNU5KLEciLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKCkge1xuICAgICd1c2Ugc3RyaWN0JztcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG4gICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG4gICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG4gICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG4gICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG4gICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAvKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wgKi9cclxuXHJcblxyXG4gICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XHJcbiAgICAgICAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcclxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBtYW5hZ2VBUElDYWxsKHByZWZpeCwgYnRuLCBmdW5jLCBvblJlc3VsdCkge1xuICAgICAgICBjb25zdCBzdWNjZXNzSWNvbiA9ICQoYCMke3ByZWZpeH0tc3VjY2Vzc2ApO1xuICAgICAgICBjb25zdCBmYWlsdXJlSWNvbiA9ICQoYCMke3ByZWZpeH0tZmFpbHVyZWApO1xuICAgICAgICBjb25zdCBwZW5kaW5nSWNvbiA9ICQoYCMke3ByZWZpeH0tcGVuZGluZ2ApO1xuICAgICAgICBjb25zdCBtZXNzYWdlcyA9ICQoYCMke3ByZWZpeH0tbWVzc2FnZXNgKTtcbiAgICAgICAgbGV0IGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3VjY2Vzc0ljb24uaGlkZSgpO1xuICAgICAgICBmYWlsdXJlSWNvbi5oaWRlKCk7XG4gICAgICAgIHBlbmRpbmdJY29uLmhpZGUoKTtcbiAgICAgICAgYnRuLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjdGlvblBlbmRpbmcpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IHRydWU7XG4gICAgICAgICAgICBwZW5kaW5nSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBwZW5kaW5nSWNvbi5odG1sKFwiVGVzdGluZyBDb25uZWN0aW9uIC4uLlwiKTtcbiAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIGZhaWx1cmVJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoXCJcIik7XG4gICAgICAgICAgICBjb25zdCB7IGJvZHksIHVybCB9ID0gZnVuYygpO1xuICAgICAgICAgICAgLy8geHggY29uc29sZS5sb2coXCJ4eHh4eFwiLCBib2R5KTtcbiAgICAgICAgICAgIGZldGNoKHVybCwge1xuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGJvZHkpLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4gZGF0YS5qc29uKCkpXG4gICAgICAgICAgICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcGVuZGluZ0ljb24uaGlkZSgpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIFwiIFwiKSk7XG4gICAgICAgICAgICAgICAgaWYgKGpzb24ucmVzdWx0ID09PSBcIm9rXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoanNvbi5tZXNzYWdlLnJlcGxhY2UoXCJcXG5cIiwgXCI8YnI+XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQobnVsbCwganNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGFwdCA9IChzdHIpID0+ICFzdHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOiBzdHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKChhKSA9PiBgPHA+JHthfTwvcD5gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGFwdDIgPSAoc3RyKSA9PiAoQXJyYXkuaXNBcnJheShzdHIpID8gc3RyLm1hcChhZGFwdCkuam9pbihcIlxcblwiKSA6IGFkYXB0KHN0cikpO1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChhZGFwdDIoanNvbi5tZXNzYWdlKSArIGFkYXB0Mihqc29uLmV4dHJhKSk7XG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0KG5ldyBFcnJvcihqc29uLnJlc3VsdCksIGpzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcGVuZGluZ0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChcImludGVybmFsIGVycm9yIFwiICsgZXJyLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyXCIsIGVycik7XG4gICAgICAgICAgICAgICAgb25SZXN1bHQoZXJyLCBudWxsKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmljaW5nVGFibGVJZCA9IFwicHJjdGJsXzFPSnQ0OUJDTmNjYnpzVnprYUFOT2dGTFwiO1xuICAgIGNvbnN0IHB1Ymxpc2hhYmxlS2V5ID0gXCJwa19saXZlXzUxSHNFMXNCQ05jY2J6c1Z6dDd6YXEydXYyMHBrcnlXbGxBenZaZ1pkNUFod0ZJOUEzcUJJZU9Kdkp3UUYwOGxEb0xwRnFMandteUE3OXduUG5ZTHN2S2p0MDA5ZjAwVnBDV1wiO1xuICAgIGZ1bmN0aW9uIGZldGNoTGljZW5jZUluZm8oYmFzZVVybCA9IFwiXCIpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1lbmRwb2ludDJgO1xuICAgICAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vbGljZW5jZUluZm9gO1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2hpbmcgZmFpbGVkIHdpdGggZXJyb3JcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QganNvbiA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICAgICAgcmV0dXJuIGpzb247XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBkZWNsYXJlTGljZW5jZVdpZGdldCA9ICgpID0+IHtcbiAgICAgICAgJC53aWRnZXQoXCJzdGVyZml2ZS5saWNlbmNlV2lkZ2V0XCIsIHtcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9jcmVhdGUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGFjdExpbmsgPSBgPGEgaHJlZj1cIm1haWx0bzpzdXBwb3J0QHN0ZXJmaXZlLmNvbVwiIHN1YmplY3Q9XCJAb3BjdWEvZm9yLW5vZGUtcmVkIHN1cHBvcnQgcmVxdWVzdFwiPm1haWx0bzpzdXBwb3J0QHN0ZXJmaXZlLmNvbTwvYT5gO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdlYnNpdGVMaW5rID0gYDxhIGhyZWY9XCJodHRwczovL3d3dy5zdGVyZml2ZS5jb20vb3BjdWEvZm9yLW5vZGUtcmVkXCIgdGFyZ2V0PeKAnV9ibGFua+KAnT5TdGVyZml2ZSdzIHdlYnNpdGUgPC9hPmA7XG4gICAgICAgICAgICAgICAgZmV0Y2hMaWNlbmNlSW5mbyh0aGF0LmJhc2VVcmwpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpY29uID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1zZyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkZXRhaWxzID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0ganNvbi5zdGF0dXM7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQVVUSE9SSVpFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNoZWNrLWNpcmNsZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChqc29uLmlzRGVtbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ID0ganNvbi5saWNlbmNlSW5mby5leHBpcnlEYXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXlMZWZ0ID0gTWF0aC5mbG9vcigodCAtIG5ldyBEYXRlKCkuZ2V0VGltZSgpKSAvICgxMDAwICogMzYwMCAqIDI0KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiRGVtbyBsaWNlbmNlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPSBgVGhpcyBpcyBhIGRlbW8gbGljZW5jZSBhbmQgd2lsbCBleHBpcmUgaW4gJHtkYXlMZWZ0fSBkYXlzLiBCdXkgb25saW5lIGFuZCB2aXNpdCAke3dlYnNpdGVMaW5rfSB0byBhY3F1aXJlIGEgbGljZW5zZS5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gYFlvdXIgbGljZW5jZSBpcyB2YWxpZC5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gYCR7d2Vic2l0ZUxpbmt9PGJyPiR7Y29udGFjdExpbmt9YDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRVhQSVJFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNhbGVuZGFyLXRpbWVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkxpY2VuY2UgZXhwaXJlZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIllvdXIgbGljZW5zZSBoYXMgZXhwaXJlZC4gUGxlYXNlIGNvbnRhY3Qgb3VyIHN1cHBvcnQgdGVhbSBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkZBSUxFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1leGNsYW1hdGlvbi1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIllvdXIgbGljZW5zZSBpcyBjdXJyZW50bHkgaW52YWxpZC5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gYFBsZWFzZSBjb250YWN0ICR7Y29udGFjdExpbmt9IG9yIHZpc2l0IG91ciB3ZWJzaXRlIHRvIHJlbmV3IHlvdXIgbGljZW5zZSBhbmQgcmVnYWluIGFjY2VzcyB0byBvdXIgc2VydmljZXMuzIBgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8qKiAqL1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmVsZW1lbnQudGV4dChcIkxpY2VuY2UgXCIgKyBKU09OLnN0cmluZ2lmeShqc29uKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1cIiArIHN0YXR1cyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LWljb25cIikuYXBwZW5kKCQoXCI8aT5cIikuYWRkQ2xhc3MoaWNvbikpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtbXNnXCIpLnRleHQobXNnKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1kZXRhaWxzXCIpLmFwcGVuZChkZXRhaWxzKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdGF0dXMgPT09IFwiRVhQSVJFRFwiIHx8IHN0YXR1cyA9PT0gXCJGQUlMRURcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaWJlQnV0dG9uID0gJChcIjxidXR0b24vPlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5hdHRyKFwiaWRcIiwgXCJzdWJzY3JpYmUtYnV0dG9uXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLmF0dHIoXCJjbGFzc1wiLCBcImJ0biBidG4tcHJpbWFyeVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5hdHRyKFwic3R5bGVcIiwgXCJtYXJnaW4tdG9wOiAyMHB4O1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi50ZXh0KFwiU3Vic2NyaWJlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZChzdWJzY3JpYmVCdXR0b24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBhdHRyaWJ1dGVzIGZvciB0aGUgc2NyaXB0IGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdC5zcmMgPSBcImh0dHBzOi8vanMuc3RyaXBlLmNvbS92My9wcmljaW5nLXRhYmxlLmpzXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQuYXN5bmMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXBwZW5kIHRoZSBzY3JpcHQgZWxlbWVudCB0byB0aGUgaGVhZCAob3IgYm9keSkgb2YgdGhlIGRvY3VtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAkKFwiaGVhZFwiKS5hcHBlbmQoc2NyaXB0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cmlwZVByaWNpbmdUYWJsZSA9ICQoXCI8c3RyaXBlLXByaWNpbmctdGFibGUvPlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBhdHRyaWJ1dGVzIGZvciB0aGUgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmF0dHIoXCJwcmljaW5nLXRhYmxlLWlkXCIsIHByaWNpbmdUYWJsZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5hdHRyKFwicHVibGlzaGFibGUta2V5XCIsIHB1Ymxpc2hhYmxlS2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5hdHRyKFwic3R5bGVcIiwgXCJoZWlnaHQ6IDEwMCU7bWF4LWhlaWdodDogMTAwJTtcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZChzdHJpcGVQcmljaW5nVGFibGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXR0cihcInN0eWxlXCIsIFwiaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGRlY2xhcmVMaWNlbmNlV2lkZ2V0KCk7XG4gICAgZnVuY3Rpb24gaXNWYWxpZE9QQ19VQV9VUkkoc3RyKSB7XG4gICAgICAgIGxldCB1cmw7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB1cmwgPSBuZXcgVVJMKHN0cik7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKF8pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXJsLnByb3RvY29sID09PSBcIm9wYy50Y3A6XCI7XG4gICAgfVxuICAgIGNvbnN0IGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzID0ge1xuICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogMTAwMCxcbiAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDEwLCAvLyBldmVyeSAxMCBzZWNvbmRzXG4gICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogMTAwMCxcbiAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDAsXG4gICAgICAgIHByaW9yaXR5OiAxMDAsXG4gICAgfTtcbiAgICBSRUQubm9kZXMucmVnaXN0ZXJUeXBlKFwiT3BjVWEtRW5kcG9pbnQyXCIsIHtcbiAgICAgICAgY2F0ZWdvcnk6IFwiY29uZmlnXCIsXG4gICAgICAgIHBhbGV0dGVMYWJlbDogXCJvcGN1YSBlbmRwb2ludFwiLFxuICAgICAgICBkZWZhdWx0czoge1xuICAgICAgICAgICAgbmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgZW5kcG9pbnQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJvcGMudGNwOi8vb3BjdWFkZW1vLnN0ZXJmaXZlLmNvbToyNjU0My9VQS9TYW1wbGVTZXJ2ZXJcIixcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZTogaXNWYWxpZE9QQ19VQV9VUkksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gU2VjdXJpdHkgTW9kZVxuICAgICAgICAgICAgc2VjdXJpdHlNb2RlOiB7IHZhbHVlOiBcIk5vbmVcIiB9LFxuICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3k6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJOb25lXCIsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGU6IHsgdmFsdWU6IFwiQW5vbnltb3VzXCIgfSxcbiAgICAgICAgICAgIC8vIHRvIHVzZSB3aGVuIHVzZXJJZGVudGl0eVR5cGUgaXMgVXNlck5hbWVcbiAgICAgICAgICAgIHVzZXJOYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBwYXNzd29yZDogeyB2YWx1ZTogXCJcIiwgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIENlcnRpZmljYXRlXG4gICAgICAgICAgICB1c2VyQ2VydGlmaWNhdGU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIHVzZXJQcml2YXRla2V5OiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICAvLyB1c2VybmFtZVxuICAgICAgICAgICAgLy8gVGhlc2UgYXJlIGZpeGVkIG9yIGNhbiBiZSByZWFkIHRocm91Z2ggZW5kUG9pbnRcbiAgICAgICAgICAgIGNlcnRpZmljYXRlOiB7IHZhbHVlOiBcIm5cIiB9LFxuICAgICAgICAgICAgbG9jYWxmaWxlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBsb2NhbGtleWZpbGU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICB1c2VUcmFuc3BvcnQ6IHsgdmFsdWU6IGZhbHNlLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heENodW5rQ291bnQ6IHsgdmFsdWU6IDEsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgbWF4TWVzc2FnZVNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LCAvLyBzaG91bGQgYmUgYXQgbGVhc3QgODE5MlxuICAgICAgICAgICAgcmVjZWl2ZUJ1ZmZlclNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgc2VuZEJ1ZmZlclNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uczoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIlNsb3cgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMjAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiA1MDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IDEwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRmFzdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogNDAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogMjUwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IDIwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBjcmVkZW50aWFsczoge1xuICAgICAgICAgICAgdXNlcjogeyB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lIHx8IHRoaXMuZW5kcG9pbnQgfHwgXCJpbnZhbGlkIGVuZHBvaW50XCI7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7XG4gICAgICAgICAgICBjb25zdCBfc2VjdXJpdHlQb2xpY3kgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgaWYgKF9zZWN1cml0eVBvbGljeS52YWwoKSA9PT0gXCJOb25lXCIpIHtcbiAgICAgICAgICAgICAgICBfc2VjdXJpdHlNb2RlLnRleHQoXCJOb25lXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gKCgoKCgoKCgoKCByZXRyaWV2ZSBzdWJzY3JpcHRpb24gZGF0YSApKSkpKSkpKSkpXG4gICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zSXRlbXMgPSAkKFwiI3N1YnNjcmlwdGlvbnMtY29udGFpbmVyXCIpLmVkaXRhYmxlTGlzdChcIml0ZW1zXCIpO1xuICAgICAgICAgICAgY29uc3QgcyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgbiA9ICh4KSA9PiB4O1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uc0l0ZW1zLmVhY2goZnVuY3Rpb24gKGluZGV4LCBpdGVtKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgYSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IFwic1wiICsgaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGUuZmluZChcIi5pbnB1dC1uYW1lXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6ICEhZS5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6ICEhZS5maW5kKFwiLmlucHV0LXB1Ymxpc2hpbmdFbmFibGVkXCIpLmlzKFwiOmNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRMaWZldGltZUNvdW50XCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IG4oZS5maW5kKFwiLmlucHV0LXJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogbihlLmZpbmQoXCIuaW5wdXQtbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2hcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IG4oZS5maW5kKFwiLmlucHV0LXByaW9yaXR5XCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIC8vIGZvcmNlIHRvIGJlIHRydWVcbiAgICAgICAgICAgICAgICBhLnBhcmFtZXRlcnMucHVibGlzaGluZ0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChhLmlzRGVmYXVsdCAmJiBhLmlkID09PSBcInMwXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gbm9ybWFsaXplIGRlZmF1bHQgc3Vic2NyaXB0aW9uIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgYS5uYW1lID0gXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzLnB1c2goYSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IHM7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHByZXBhcmUoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGhpcztcbiAgICAgICAgICAgIGNvbnN0IHRhYnMgPSBSRUQudGFicy5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIGlkOiBcIm5vZGUtY29uZmlnLWVuZHBvaW50LXRhYnNcIixcbiAgICAgICAgICAgICAgICBvbmNoYW5nZTogZnVuY3Rpb24gKHRhYikge1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWVuZHBvaW50LXRhYnMtY29udGVudFwiKS5jaGlsZHJlbigpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNcIiArIHRhYi5pZCkuc2hvdygpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItY29ubmVjdGlvblwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIkNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgdGFicy5hZGRUYWIoe1xuICAgICAgICAgICAgICAgIGlkOiBcImVuZHBvaW50LXRhYi1zdWJzY3JpcHRpb25zXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiU3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB0YWJzLnJlc2l6ZSgpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIFNlY3VyaXR5IGNvbnRyb2xzXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZVNlY3VyaXR5Q29udHJvbCA9IChzZWN1cml0eU1vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzZWN1cml0eU1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgbnVsbDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIk5vbmVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlNpZ25cIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduQW5kRW5jcnlwdFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3AgPSAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcC52YWwoKSA9PT0gXCJOb25lXCIgfHwgc3AudmFsKCkgPT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwLnZhbChcIkJhc2ljMjU2U2hhMjU2XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIuc2VjdGlvbi1zZWN1cml0eVBvbGljeVwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgc2VjdXJpdHlNb2RlIFwiICsgc2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdXBkYXRlU2VjdXJpdHlDb250cm9sKG5vZGUuc2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBfc2VjdXJpdHlNb2RlID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIik7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1NlY3VyaXR5TW9kZSA9IF9zZWN1cml0eU1vZGUudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChuZXdTZWN1cml0eU1vZGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGljZW5jZVdpZGdldCA9ICQoXCIjbGljZW5jZVdpZGdldFwiKTtcbiAgICAgICAgICAgIGxpY2VuY2VXaWRnZXQubGljZW5jZVdpZGdldCh7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSB0aGUgVXNlciBJZGVudGl0eSBDb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdXRoUm93ID0gJChcIi5zZWN0aW9uLXVzZXJJZGVudGl0eVR5cGUtVXNlck5hbWVcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgY2VydFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLUNlcnRpZmljYXRlXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUlkZW50aXR5Q29udHJvbHMgPSAodXNlcklkZW50aXR5VHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlID0gdXNlcklkZW50aXR5VHlwZSB8fCBcIkFub255bW91c1wiO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHVzZXJJZGVudGl0eVR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJBbm9ueW1vdXNcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJVc2VyTmFtZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkNlcnRpZmljYXRlXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW52YWxpZCB1c2VySWRlbnRpdHlUeXBlIFwiICsgdXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZUlkZW50aXR5Q29udHJvbHMobm9kZS51c2VySWRlbnRpdHlUeXBlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBfdXNlcklkZW50aXR5VHlwZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlcklkZW50aXR5VHlwZVwiKTtcbiAgICAgICAgICAgICAgICBfdXNlcklkZW50aXR5VHlwZS5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0lkZW50aXR5VHlwZSA9IF91c2VySWRlbnRpdHlUeXBlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5ld0lkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIGFkdmFuY2VkIGNvbnRyb2xzXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgJChcIiN0b2dnbGVBZHZhbmNlZFNlY3Rpb25cIikub24oXCJjaGFuZ2VcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5wcm9wKFwiY2hlY2tlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQsIHNob3cgdGhlIGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLUFkdmFuY2VkXCIpLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgaGlkZSBpdFxuICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLUFkdmFuY2VkXCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGNoZWNrQ2VydGlmaWNhdGVcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJChcIiNjaGVja0NlcnRpZmljYXRlXCIpLm9uKFwiY2xpY2tcIiwgKCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2goXCIvb3BjdWEtZW5kcG9pbnQyL2NsaWVudF9jZXJ0aWZpY2F0ZS5qc29uXCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmZvID0geWllbGQgZGF0YS5qc29uKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHQgPSBKU09OLnN0cmluZ2lmeShpbmZvLCBudWxsLCBcIiBcIik7XG4gICAgICAgICAgICAgICAgICAgIGFsZXJ0KHQpO1xuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFRlc3QgYnV0dG9uXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1hbmFnZUFQSUNhbGwoXCJjb25uZWN0aW9uXCIsICQoXCIjdGVzdC1jb25uZWN0aW9uXCIpLCAoKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICB1cmw6IFwiL29wY3VhLWVuZHBvaW50Mi90ZXN0LWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IG5vZGUuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtZW5kcG9pbnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlNb2RlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eVBvbGljeTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlck5hbWU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJDZXJ0aWZpY2F0ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyUHJpdmF0ZWtleVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy8gbm90IHRlc3RlZCB5ZXQgLi4uOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlOiAkKFwiI25vZGUtaW5wdXQtY2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxmaWxlOiAkKFwiI25vZGUtaW5wdXQtbG9jYWxmaWxlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Fsa2V5ZmlsZTogJChcIiNub2RlLWlucHV0LWxvY2Fsa2V5ZmlsZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VUcmFuc3BvcnQ6ICQoXCIjbm9kZS1pbnB1dC11c2VUcmFuc3BvcnRcIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Q2h1bmtDb3VudDogJChcIiNub2RlLWlucHV0LW1heENodW5rQ291bnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4TWVzc2FnZVNpemU6ICQoXCIjbm9kZS1pbnB1dC1tYXhNZXNzYWdlU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXJlY2VpdmVCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiAkKFwiI25vZGUtaW5wdXQtc2VuZEJ1ZmZlclNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pLCAoKSA9PiB7IH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vICBJbnN0YWxsIHN1YnNjcmlwdGlvbnMgTGlzdCBtYW5hZ2VtZW50XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc2l6ZVRvcGljcyA9ICh0b3BpYywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5ld1dpZHRoID0gdG9waWMud2lkdGgoKSB8fCAxMDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcGljLmZpbmQoXCJsYWJlbFwiKS50eXBlZElucHV0KFwid2lkdGhcIiwgbmV3V2lkdGggLSAxNSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25MaXN0ID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKVxuICAgICAgICAgICAgICAgICAgICAuY3NzKHsgXCJtaW4taGVpZ2h0XCI6IFwiMTUwcHhcIiwgXCJtaW4td2lkdGhcIjogXCIyNjBweFwiIH0pXG4gICAgICAgICAgICAgICAgICAgIC5lZGl0YWJsZUxpc3Qoe1xuICAgICAgICAgICAgICAgICAgICBhZGRJdGVtOiAoY29udGFpbmVyLCBpbmRleCwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgX2RhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9ICQoXCIudGVtcGxhdGVcIikuY2xvbmUoKS5hcHBlbmRUbyhjb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyKFwiaWRcIikucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpLnJlbW92ZUNsYXNzKFwidGVtcGxhdGVcIikuYXR0cihcImRhdGEtaVwiLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoX2RhdGEubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsXCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZExpZmV0aW1lQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTGlmZXRpbWVDb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2hcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMubWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2ggfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcHJpb3JpdHlcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucHJpb3JpdHkgfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuc3Vic2NyaXB0aW9uLWlkXCIpLnRleHQoXCJcIiArIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS5wcm9wKFwicmVhZG9ubHlcIiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnByb3AoXCJjaGVja2VkXCIsIF9kYXRhLmlzRGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhhdCBkZWZhdWx0IHN1YnNjcmlwdGlvbiBjYW5ub3QgYmUgYWNjaWRlbnRhbGx5IHJlbW92ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuZmluZChcIi5yZWQtdWktZWRpdGFibGVMaXN0LWl0ZW0tcmVtb3ZlXCIpLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGVsZW1lbnQuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikucHJvcChcImRpc2FibGVkXCIsIHRydWUpLCAxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIC8vIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZW1vdmFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6ZUl0ZW06IHJlc2l6ZVRvcGljcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBBZGRTdWJzY3JpcHRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSBub2RlLnN1YnNjcmlwdGlvbnMgfHwgW107XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIG1pc3NpbmcgZGVmYXVsdCBzdWJzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiZW1wdHlcIik7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN1YnNjcmlwdGlvbi5pc0RlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiYWRkSXRlbVwiLCBzdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBBZGRTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
7
+ (function(_0x1ce621,_0x5e78b9){const _0x57cdbf=_0x5027,_0x4bddf1=_0x1ce621();while(!![]){try{const _0x1768e0=parseInt(_0x57cdbf(0x14b))/0x1+-parseInt(_0x57cdbf(0x17b))/0x2+parseInt(_0x57cdbf(0x1a0))/0x3*(parseInt(_0x57cdbf(0x198))/0x4)+parseInt(_0x57cdbf(0x161))/0x5*(-parseInt(_0x57cdbf(0x1b3))/0x6)+-parseInt(_0x57cdbf(0x186))/0x7*(parseInt(_0x57cdbf(0x1c6))/0x8)+parseInt(_0x57cdbf(0x173))/0x9+-parseInt(_0x57cdbf(0x154))/0xa*(-parseInt(_0x57cdbf(0x150))/0xb);if(_0x1768e0===_0x5e78b9)break;else _0x4bddf1['push'](_0x4bddf1['shift']());}catch(_0x328dd2){_0x4bddf1['push'](_0x4bddf1['shift']());}}}(_0x3b6c,0x8e301),(function(){'use strict';const _0x33f6fd=_0x5027;function _0x24feda(_0x40e76b,_0x55ee67,_0x4ef0a4,_0x3eeffb){function _0x5f1f06(_0x53a4f0){return _0x53a4f0 instanceof _0x4ef0a4?_0x53a4f0:new _0x4ef0a4(function(_0x3c260b){_0x3c260b(_0x53a4f0);});}return new(_0x4ef0a4||(_0x4ef0a4=Promise))(function(_0x2d17eb,_0x4f0bd8){const _0x20eefc=_0x5027;function _0x2f4c46(_0x260ec6){const _0x285af7=_0x5027;try{_0x55fcf2(_0x3eeffb[_0x285af7(0x142)](_0x260ec6));}catch(_0x2c76bd){_0x4f0bd8(_0x2c76bd);}}function _0x4893f1(_0x6cbc2c){try{_0x55fcf2(_0x3eeffb['throw'](_0x6cbc2c));}catch(_0x1352f0){_0x4f0bd8(_0x1352f0);}}function _0x55fcf2(_0x5c785f){const _0x397f7d=_0x5027;_0x5c785f[_0x397f7d(0x1ae)]?_0x2d17eb(_0x5c785f[_0x397f7d(0x1be)]):_0x5f1f06(_0x5c785f[_0x397f7d(0x1be)])[_0x397f7d(0x18e)](_0x2f4c46,_0x4893f1);}_0x55fcf2((_0x3eeffb=_0x3eeffb['apply'](_0x40e76b,_0x55ee67||[]))[_0x20eefc(0x142)]());});}typeof SuppressedError===_0x33f6fd(0x159)?SuppressedError:function(_0x41f8d7,_0xc093e2,_0x4afdea){const _0x53e0b2=_0x33f6fd;var _0x3a1bfa=new Error(_0x4afdea);return _0x3a1bfa[_0x53e0b2(0x1d6)]=_0x53e0b2(0x1c3),_0x3a1bfa[_0x53e0b2(0x1bd)]=_0x41f8d7,_0x3a1bfa['suppressed']=_0xc093e2,_0x3a1bfa;};function _0x1f1233(_0x46d4ce,_0x16fc09,_0x3a7e71,_0x51fe1d){const _0x4eb3b4=_0x33f6fd,_0x3acd60=$('#'+_0x46d4ce+'-success'),_0x22fd8a=$('#'+_0x46d4ce+'-failure'),_0x1b245a=$('#'+_0x46d4ce+_0x4eb3b4(0x180)),_0x21db3e=$('#'+_0x46d4ce+_0x4eb3b4(0x155));let _0x2dd51b=![];_0x3acd60['hide'](),_0x22fd8a[_0x4eb3b4(0x137)](),_0x1b245a[_0x4eb3b4(0x137)](),_0x16fc09['on'](_0x4eb3b4(0x1b0),()=>{const _0x301c84=_0x4eb3b4;if(_0x2dd51b)return;_0x2dd51b=!![],_0x1b245a[_0x301c84(0x1b9)](_0x301c84(0x137)),_0x1b245a['html'](_0x301c84(0x1d3)),_0x3acd60[_0x301c84(0x121)](_0x301c84(0x137)),_0x22fd8a[_0x301c84(0x121)]('hide'),_0x21db3e['html']('');const {body:_0x3a010e,url:_0x43eb93}=_0x3a7e71();fetch(_0x43eb93,{'method':'POST','headers':{'Content-Type':_0x301c84(0x13b)},'body':JSON[_0x301c84(0x185)](_0x3a010e)})[_0x301c84(0x18e)](_0x76320f=>_0x76320f[_0x301c84(0x1cc)]())[_0x301c84(0x18e)](_0x121129=>{const _0x490a0d=_0x301c84;_0x2dd51b=![],_0x1b245a['hide'](),console[_0x490a0d(0x16e)](JSON[_0x490a0d(0x185)](_0x121129,null,'\x20'));if(_0x121129[_0x490a0d(0x19e)]==='ok')_0x3acd60['removeClass'](_0x490a0d(0x137)),_0x22fd8a['addClass']('hide'),_0x21db3e[_0x490a0d(0x184)](_0x121129[_0x490a0d(0x17d)]['replace']('\x0a',_0x490a0d(0x178))),_0x51fe1d(null,_0x121129);else{const _0xc7ff54=_0x4bb120=>!_0x4bb120?'':_0x4bb120[_0x490a0d(0x1a5)]('\x0a')[_0x490a0d(0x16a)](_0x4c3d67=>_0x490a0d(0x15e)+_0x4c3d67+_0x490a0d(0x163))['join']('\x0a'),_0x2623b3=_0x28d83c=>Array['isArray'](_0x28d83c)?_0x28d83c['map'](_0xc7ff54)['join']('\x0a'):_0xc7ff54(_0x28d83c);_0x3acd60[_0x490a0d(0x121)](_0x490a0d(0x137)),_0x22fd8a[_0x490a0d(0x1b9)](_0x490a0d(0x137)),_0x21db3e['html'](_0x2623b3(_0x121129['message'])+_0x2623b3(_0x121129[_0x490a0d(0x1a2)])),_0x51fe1d(new Error(_0x121129[_0x490a0d(0x19e)]),_0x121129);}})[_0x301c84(0x181)](_0x27c248=>{const _0xa5471f=_0x301c84;_0x2dd51b=![],_0x1b245a[_0xa5471f(0x121)]('hide'),_0x3acd60[_0xa5471f(0x121)](_0xa5471f(0x137)),_0x22fd8a[_0xa5471f(0x1b9)](_0xa5471f(0x137)),_0x21db3e['html'](_0xa5471f(0x124)+_0x27c248['message']),console[_0xa5471f(0x16e)](_0xa5471f(0x153),_0x27c248),_0x51fe1d(_0x27c248,null);});});}const _0x4d06a8=_0x33f6fd(0x12b),_0xff8c='pk_live_51HsE1sBCNccbzsVzt7zaq2uv20pkryWllAzvZgZd5AhwFI9A3qBIeOJvJwQF08lDoLpFqLjwmyA79wnPnYLsvKjt009f00VpCW';function _0x1e75b6(_0x26df0a=''){return _0x24feda(this,void 0x0,void 0x0,function*(){const _0x295d62=_0x5027,_0x559c20=_0x26df0a+_0x295d62(0x1ca),_0x9a46f8=_0x559c20+'/licenceInfo',_0x45199=yield fetch(_0x9a46f8,{'method':_0x295d62(0x168),'headers':{'Content-Type':'application/json'}}),_0x1e9d05=new Date()[_0x295d62(0x1ac)]();if(_0x45199[_0x295d62(0x19b)]!==0xc8)return console['log'](_0x295d62(0x1d7),_0x45199[_0x295d62(0x19b)],_0x45199[_0x295d62(0x171)]),{'status':_0x295d62(0x122),'type':_0x295d62(0x126),'licenceInfo':{'expiryDate':_0x1e9d05}};const _0x57d933=yield _0x45199[_0x295d62(0x1cc)]();return _0x57d933;});}const _0x1f916f=()=>{const _0x46efbe=_0x33f6fd;$[_0x46efbe(0x1d2)](_0x46efbe(0x19f),{'options':{'baseUrl':''},'_create'(){const _0x1f6988=_0x46efbe,_0x38a468=this,_0x1453ed=_0x1f6988(0x166),_0x2dcc94=_0x1f6988(0x1b2);_0x1e75b6(_0x38a468[_0x1f6988(0x174)])['then'](_0x44d1c3=>{const _0x56d9b2=_0x1f6988;let _0x2b85c3='',_0x198423='',_0x112728='';const _0x239b44=_0x44d1c3[_0x56d9b2(0x19b)],_0x1d9feb=_0x44d1c3[_0x56d9b2(0x13d)];switch(_0x239b44){case _0x56d9b2(0x169):_0x2b85c3=_0x56d9b2(0x12f);switch(_0x44d1c3[_0x56d9b2(0x146)]){case'TRIAL':{_0x198423=_0x56d9b2(0x135),_0x112728=_0x56d9b2(0x14c)+_0x1d9feb+_0x56d9b2(0x125)+_0x2dcc94+_0x56d9b2(0x139);break;}case _0x56d9b2(0x127):_0x198423=_0x56d9b2(0x141);_0x1d9feb<0x5a&&_0x1d9feb>=0x0&&(_0x198423+='\x20It\x20will\x20expire\x20in\x20'+_0x1d9feb+'\x20days.');_0x112728=_0x44d1c3[_0x56d9b2(0x13a)][_0x56d9b2(0x1bc)]+'\x20-\x20'+(_0x44d1c3['licenceInfo'][_0x56d9b2(0x195)]||'');break;case _0x56d9b2(0x126):_0x198423=_0x56d9b2(0x1ad),_0x112728=_0x56d9b2(0x15a)+_0x2dcc94+_0x56d9b2(0x175);break;}break;case'EXPIRED':_0x2b85c3=_0x56d9b2(0x179),_0x198423='Licence\x20has\x20expired',_0x112728=_0x56d9b2(0x1d9);break;case _0x56d9b2(0x122):default:_0x2b85c3=_0x56d9b2(0x1d5),_0x198423=_0x56d9b2(0x1ba),_0x112728=_0x56d9b2(0x152)+_0x1453ed+_0x56d9b2(0x1d1);break;}this[_0x56d9b2(0x147)][_0x56d9b2(0x121)]('licence-widget'),this[_0x56d9b2(0x147)][_0x56d9b2(0x121)]('licence-widget-'+_0x239b44),this[_0x56d9b2(0x147)][_0x56d9b2(0x13c)]($(_0x56d9b2(0x1da))[_0x56d9b2(0x121)](_0x56d9b2(0x17f))[_0x56d9b2(0x13c)]($('<i>')[_0x56d9b2(0x121)](_0x2b85c3))),this[_0x56d9b2(0x147)][_0x56d9b2(0x13c)]($(_0x56d9b2(0x1da))[_0x56d9b2(0x121)](_0x56d9b2(0x160))[_0x56d9b2(0x15f)](_0x198423)),this[_0x56d9b2(0x147)][_0x56d9b2(0x13c)]($(_0x56d9b2(0x178))),this[_0x56d9b2(0x147)][_0x56d9b2(0x13c)]($(_0x56d9b2(0x1da))[_0x56d9b2(0x121)]('licence-widget-details')[_0x56d9b2(0x13c)](_0x112728));if(_0x239b44==='EXPIRED'||_0x239b44==='FAILED'||_0x44d1c3[_0x56d9b2(0x146)]===_0x56d9b2(0x126)||_0x44d1c3[_0x56d9b2(0x146)]===_0x56d9b2(0x12c)){const _0x4ecb73=$(_0x56d9b2(0x12d));_0x4ecb73['attr']('id',_0x56d9b2(0x1a7)),_0x4ecb73[_0x56d9b2(0x1c9)](_0x56d9b2(0x1d0),'btn\x20btn-primary'),_0x4ecb73[_0x56d9b2(0x1c9)](_0x56d9b2(0x140),_0x56d9b2(0x14e)),_0x4ecb73[_0x56d9b2(0x15f)](_0x56d9b2(0x138)),this['element']['append'](_0x4ecb73);const _0x5adf10=document[_0x56d9b2(0x16d)](_0x56d9b2(0x18b));_0x5adf10[_0x56d9b2(0x167)]='https://js.stripe.com/v3/pricing-table.js',_0x5adf10[_0x56d9b2(0x1b7)]=!![],$(_0x56d9b2(0x1aa))['append'](_0x5adf10);const _0x597741=$(_0x56d9b2(0x1b5));_0x597741[_0x56d9b2(0x1c9)](_0x56d9b2(0x1c1),_0x4d06a8),_0x597741['attr'](_0x56d9b2(0x1c8),_0xff8c),_0x597741[_0x56d9b2(0x1c9)](_0x56d9b2(0x140),'height:\x20100%;max-height:\x20100%;'),_0x597741['hide'](),this[_0x56d9b2(0x147)][_0x56d9b2(0x13c)](_0x597741),_0x4ecb73['on'](_0x56d9b2(0x1b0),()=>{const _0x4deea5=_0x56d9b2;_0x597741[_0x4deea5(0x18d)](),_0x4ecb73['hide'](),this[_0x4deea5(0x147)][_0x4deea5(0x1c9)](_0x4deea5(0x140),_0x4deea5(0x145));});}})[_0x1f6988(0x181)](_0x3992da=>{console['log'](_0x3992da);});}});};_0x1f916f();function _0x5c3fe3(_0x43a3a6){const _0x16e534=_0x33f6fd;let _0x7770f9;try{_0x7770f9=new URL(_0x43a3a6);}catch(_0x2ee8e5){return![];}return _0x7770f9[_0x16e534(0x1c5)]===_0x16e534(0x1a4);}const _0x5c00fc={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x33f6fd(0x1b1)]['registerType'](_0x33f6fd(0x11d),{'category':_0x33f6fd(0x197),'paletteLabel':_0x33f6fd(0x18a),'defaults':{'name':{'value':''},'endpoint':{'value':_0x33f6fd(0x191),'required':!![],'validate':_0x5c3fe3},'securityMode':{'value':_0x33f6fd(0x151)},'securityPolicy':{'value':_0x33f6fd(0x151),'validate':_0x107d33=>{if(!_0x107d33)return![];return!![];}},'userIdentityType':{'value':'Anonymous'},'userName':{'value':''},'password':{'value':'','type':'password'},'userCertificate':{'value':''},'userPrivatekey':{'value':''},'certificate':{'value':'n'},'localfile':{'value':''},'localkeyfile':{'value':''},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':_0x33f6fd(0x14d),'isDefault':!![],'parameters':Object[_0x33f6fd(0x14a)]({},_0x5c00fc)},{'id':'s2','name':_0x33f6fd(0x194),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':_0x33f6fd(0x18c),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'user':{'type':_0x33f6fd(0x15f)},'password':{'type':_0x33f6fd(0x136)}},'label':function(){const _0x37904e=_0x33f6fd;return this[_0x37904e(0x1d6)]||this['endpoint']||_0x37904e(0x11c);},'oneditsave'(){const _0x98cbdc=_0x33f6fd,_0x458663=$(_0x98cbdc(0x17c)),_0x570d7d=$(_0x98cbdc(0x172));_0x458663[_0x98cbdc(0x182)]()===_0x98cbdc(0x151)&&_0x570d7d[_0x98cbdc(0x15f)](_0x98cbdc(0x151));const _0x2257e4=$(_0x98cbdc(0x132))[_0x98cbdc(0x164)](_0x98cbdc(0x16c)),_0x59efdb=[],_0x51320e=_0x486153=>_0x486153;_0x2257e4[_0x98cbdc(0x1b6)](function(_0x22aa90,_0x1027c3){const _0x1999ef=_0x98cbdc,_0xe62bd1=$(this),_0x252a8d={'id':'s'+_0x22aa90,'name':_0xe62bd1[_0x1999ef(0x1bf)](_0x1999ef(0x133))[_0x1999ef(0x182)](),'isDefault':!!_0xe62bd1['find']('.input-isDefault')[_0x1999ef(0x182)](),'parameters':{'publishingEnabled':!!_0xe62bd1[_0x1999ef(0x1bf)](_0x1999ef(0x1ab))['is'](_0x1999ef(0x183)),'requestedLifetimeCount':_0x51320e(_0xe62bd1[_0x1999ef(0x1bf)](_0x1999ef(0x1b4))['val']()),'requestedMaxKeepAliveCount':_0x51320e(_0xe62bd1[_0x1999ef(0x1bf)](_0x1999ef(0x14f))[_0x1999ef(0x182)]()),'requestedPublishingInterval':_0x51320e(_0xe62bd1[_0x1999ef(0x1bf)](_0x1999ef(0x192))[_0x1999ef(0x182)]()),'maxNotificationsPerPublish':_0x51320e(_0xe62bd1[_0x1999ef(0x1bf)](_0x1999ef(0x149))[_0x1999ef(0x182)]()),'priority':_0x51320e(_0xe62bd1['find'](_0x1999ef(0x130))[_0x1999ef(0x182)]())}};_0x252a8d['parameters']['publishingEnabled']=!![],_0x252a8d[_0x1999ef(0x1a1)]&&_0x252a8d['id']==='s0'&&(_0x252a8d[_0x1999ef(0x1d6)]='Default\x20Subscription'),_0x59efdb['push'](_0x252a8d);}),this[_0x98cbdc(0x158)]=_0x59efdb;},'oneditprepare'(){const _0x4e8ce1=_0x33f6fd,_0x2e5585=this,_0x54f14f=RED[_0x4e8ce1(0x1cf)][_0x4e8ce1(0x11f)]({'id':_0x4e8ce1(0x11e),'onchange':function(_0xad5c0){const _0x5aa6e1=_0x4e8ce1;$('#node-config-endpoint-tabs-content')[_0x5aa6e1(0x157)]()['hide'](),$('#'+_0xad5c0['id'])[_0x5aa6e1(0x18d)]();}});_0x54f14f[_0x4e8ce1(0x1a3)]({'id':'endpoint-tab-connection','label':'Connection'},0x0),_0x54f14f['addTab']({'id':_0x4e8ce1(0x131),'label':_0x4e8ce1(0x196)},0x1),setTimeout(function(){_0x54f14f['resize']();},0x0);{const _0x1181db=_0x58a5a4=>{const _0xf20985=_0x4e8ce1;switch(_0x58a5a4){case null:case undefined:case'':case'None':$(_0xf20985(0x1c7))[_0xf20985(0x137)]();break;case _0xf20985(0x1c2):case'SignAndEncrypt':{const _0x4c091c=$(_0xf20985(0x1c7));(_0x4c091c[_0xf20985(0x182)]()===_0xf20985(0x151)||_0x4c091c[_0xf20985(0x182)]()==='')&&_0x4c091c['val'](_0xf20985(0x170)),$('.section-securityPolicy')[_0xf20985(0x18d)]();}break;default:console[_0xf20985(0x16e)](_0xf20985(0x13f)+_0x58a5a4);}};_0x1181db(_0x2e5585['securityMode']);const _0x4c5d0b=$('#node-config-input-securityMode');_0x4c5d0b['on'](_0x4e8ce1(0x156),()=>{const _0x10871c=_0x4e8ce1,_0x4cff68=_0x4c5d0b[_0x10871c(0x182)]();_0x1181db(_0x4cff68);});}const _0x323bd6=$('#licenceWidget');_0x323bd6[_0x4e8ce1(0x1af)]({'baseUrl':''});{const _0x90dfd8=$(_0x4e8ce1(0x129)),_0x246cd9=$(_0x4e8ce1(0x193)),_0x393ed4=_0x430c12=>{const _0x209a8c=_0x4e8ce1;_0x430c12=_0x430c12||_0x209a8c(0x1c4);switch(_0x430c12){case _0x209a8c(0x1c4):$(_0x209a8c(0x134))['val'](''),$(_0x209a8c(0x1a6))[_0x209a8c(0x182)](''),_0x90dfd8[_0x209a8c(0x137)](),_0x246cd9['hide']();break;case'UserName':_0x90dfd8['show'](),_0x246cd9[_0x209a8c(0x137)]();break;case _0x209a8c(0x1a8):$(_0x209a8c(0x134))[_0x209a8c(0x182)](''),$(_0x209a8c(0x1a6))[_0x209a8c(0x182)](''),_0x246cd9[_0x209a8c(0x18d)](),_0x90dfd8[_0x209a8c(0x137)]();break;default:console[_0x209a8c(0x16e)](_0x209a8c(0x1cb)+_0x430c12);}};_0x393ed4(_0x2e5585[_0x4e8ce1(0x19a)]);const _0x2bdc1d=$(_0x4e8ce1(0x1d4));_0x2bdc1d['on']('change',()=>{const _0x242550=_0x4e8ce1,_0x1d8378=_0x2bdc1d[_0x242550(0x182)]();_0x393ed4(_0x1d8378);});}{$(_0x4e8ce1(0x177))[_0x4e8ce1(0x137)](),$('#toggleAdvancedSection')['on'](_0x4e8ce1(0x156),function(){const _0x555b5c=_0x4e8ce1;$(this)[_0x555b5c(0x1c0)]('checked')?$(_0x555b5c(0x177))[_0x555b5c(0x18d)]():$(_0x555b5c(0x177))[_0x555b5c(0x137)]();});}{$(_0x4e8ce1(0x190))['on'](_0x4e8ce1(0x1b0),()=>_0x24feda(this,void 0x0,void 0x0,function*(){const _0x3b715d=_0x4e8ce1,_0x46a4b5=yield fetch('/opcua-endpoint2/client_certificate.json'),_0xe27e59=yield _0x46a4b5[_0x3b715d(0x1cc)](),_0xc5914c=JSON[_0x3b715d(0x185)](_0xe27e59,null,'\x20');alert(_0xc5914c);}));}{_0x1f1233('connection',$(_0x4e8ce1(0x176)),()=>({'url':'/opcua-endpoint2/test-connection','body':{'endpointNode':{'id':_0x2e5585['id'],'endpoint':$(_0x4e8ce1(0x15d))[_0x4e8ce1(0x182)](),'securityMode':$('#node-config-input-securityMode')[_0x4e8ce1(0x182)](),'securityPolicy':$('#node-config-input-securityPolicy')[_0x4e8ce1(0x182)](),'userIdentityType':$(_0x4e8ce1(0x1d4))[_0x4e8ce1(0x182)](),'userName':$('#node-config-input-userName')[_0x4e8ce1(0x182)](),'password':$(_0x4e8ce1(0x1a6))[_0x4e8ce1(0x182)](),'userCertificate':$(_0x4e8ce1(0x1a9))['val'](),'userPrivatekey':$(_0x4e8ce1(0x144))[_0x4e8ce1(0x182)](),'certificate':$(_0x4e8ce1(0x17e))[_0x4e8ce1(0x182)](),'localfile':$('#node-input-localfile')[_0x4e8ce1(0x182)](),'localkeyfile':$(_0x4e8ce1(0x17a))['val'](),'useTransport':$(_0x4e8ce1(0x123))[_0x4e8ce1(0x1c0)](_0x4e8ce1(0x15b)),'maxChunkCount':$(_0x4e8ce1(0x13e))[_0x4e8ce1(0x182)](),'maxMessageSize':$('#node-input-maxMessageSize')[_0x4e8ce1(0x182)](),'receiveBufferSize':$(_0x4e8ce1(0x187))[_0x4e8ce1(0x182)](),'sendBufferSize':$(_0x4e8ce1(0x143))[_0x4e8ce1(0x182)]()}}}),()=>{});}{const _0x4582c4=(_0x2e1715,_0x84831)=>{const _0x22c905=_0x4e8ce1;var _0x333ad0=_0x2e1715['width']()||0x64;_0x2e1715[_0x22c905(0x1bf)](_0x22c905(0x120))[_0x22c905(0x12a)](_0x22c905(0x19c),_0x333ad0-0xf);},_0x14b0bc=$(_0x4e8ce1(0x132))[_0x4e8ce1(0x199)]({'min-height':_0x4e8ce1(0x1cd),'min-width':_0x4e8ce1(0x1ce)})[_0x4e8ce1(0x164)]({'addItem':(_0x31e2dc,_0xd889e,_0x1d83d0)=>{const _0x13eadc=_0x4e8ce1,_0x3cc721=_0x1d83d0,_0x133691=$(_0x13eadc(0x162))[_0x13eadc(0x19d)]()[_0x13eadc(0x1bb)](_0x31e2dc);_0x133691[_0x13eadc(0x15c)]('id')[_0x13eadc(0x1b9)](_0x13eadc(0x137))['removeClass'](_0x13eadc(0x189))[_0x13eadc(0x1c9)]('data-i',_0xd889e),_0x133691[_0x13eadc(0x1bf)]('.input-name')['val'](_0x3cc721[_0x13eadc(0x1d6)]),_0x133691[_0x13eadc(0x1bf)](_0x13eadc(0x192))[_0x13eadc(0x182)](_0x3cc721['parameters']['requestedPublishingInterval']),_0x133691['find'](_0x13eadc(0x14f))[_0x13eadc(0x182)](_0x3cc721['parameters'][_0x13eadc(0x128)]),_0x133691[_0x13eadc(0x1bf)](_0x13eadc(0x1b4))[_0x13eadc(0x182)](_0x3cc721[_0x13eadc(0x1b8)][_0x13eadc(0x16b)]),_0x133691['find']('.input-maxNotificationsPerPublish')[_0x13eadc(0x182)](_0x3cc721[_0x13eadc(0x1b8)][_0x13eadc(0x148)]||0x0),_0x133691[_0x13eadc(0x1bf)]('.input-priority')[_0x13eadc(0x182)](_0x3cc721[_0x13eadc(0x1b8)][_0x13eadc(0x1d8)]||0x0),_0x133691[_0x13eadc(0x1bf)]('.subscription-id')[_0x13eadc(0x15f)](''+_0xd889e),_0x3cc721[_0x13eadc(0x1a1)]&&_0x133691[_0x13eadc(0x1bf)](_0x13eadc(0x133))[_0x13eadc(0x1c0)](_0x13eadc(0x18f),!![]),_0x133691['find'](_0x13eadc(0x16f))[_0x13eadc(0x1c0)](_0x13eadc(0x15b),_0x3cc721[_0x13eadc(0x1a1)]),_0x3cc721[_0x13eadc(0x1a1)]&&(_0x31e2dc[_0x13eadc(0x1bf)](_0x13eadc(0x12e))['addClass'](_0x13eadc(0x137)),setTimeout(()=>_0x133691['find'](_0x13eadc(0x16f))[_0x13eadc(0x1c0)]('disabled',!![]),0xa));},'removable':!![],'resizeItem':_0x4582c4}),_0x879b5d=()=>{const _0x298295=_0x4e8ce1,_0x2345ed=_0x2e5585[_0x298295(0x158)]||[];_0x2345ed['length']===0x0&&_0x2345ed['push']({'id':'s1','name':_0x298295(0x14d),'isDefault':!![],'parameters':Object['assign']({},_0x5c00fc)});_0x14b0bc[_0x298295(0x164)](_0x298295(0x188));for(const _0x435564 of _0x2345ed){_0x14b0bc[_0x298295(0x164)](_0x298295(0x165),_0x435564);}};_0x879b5d();}}});}()));function _0x5027(_0x14f32a,_0x59c538){const _0x3b6c7b=_0x3b6c();return _0x5027=function(_0x5027bf,_0x2c736d){_0x5027bf=_0x5027bf-0x11c;let _0x13be23=_0x3b6c7b[_0x5027bf];return _0x13be23;},_0x5027(_0x14f32a,_0x59c538);}function _0x3b6c(){const _0x4b62b6=['userIdentityType','status','width','clone','result','sterfive.licenceWidget','754539yXWIBO','isDefault','extra','addTab','opc.tcp:','split','#node-config-input-password','subscribe-button','Certificate','#node-config-input-userCertificate','head','.input-publishingEnabled','toISOString','Freeware\x20licence','done','licenceWidget','click','nodes','<a\x20href=\x22https://www.sterfive.com/opcua/for-node-red\x22\x20target=”_blank”>Sterfive\x27s\x20website\x20</a>','23172zyTqqF','.input-requestedLifetimeCount','<stripe-pricing-table/>','each','async','parameters','removeClass','Your\x20license\x20is\x20currently\x20invalid.','appendTo','licenceType','error','value','find','prop','pricing-table-id','Sign','SuppressedError','Anonymous','protocol','2496AgioTV','.section-securityPolicy','publishable-key','attr','/opcua-endpoint2','invalid\x20userIdentityType\x20','json','150px','260px','tabs','class','\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.̀','widget','Testing\x20Connection\x20...','#node-config-input-userIdentityType','fa\x20fa-exclamation-circle','name','fetching\x20failed\x20with\x20error','priority','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','<span>','invalid\x20endpoint','OpcUa-Endpoint2','node-config-endpoint-tabs','create','label','addClass','FAILED','#node-input-useTransport','internal\x20error\x20','\x20days.\x0aBuy\x20online\x20and\x20visit\x20','FREEWARE','PROFESSIONAL','requestedMaxKeepAliveCount','.section-userIdentityType-UserName','typedInput','prctbl_1OJt49BCNccbzsVzkaANOgFL','TRIAL','<button/>','.red-ui-editableList-item-remove','fa\x20fa-check-circle','.input-priority','endpoint-tab-subscriptions','#subscriptions-container','.input-name','#node-config-input-userName','Trial\x20licence','password','hide','Subscribe','\x20to\x20acquire\x20a\x20license.','licenceInfo','application/json','append','daysLeft','#node-input-maxChunkCount','invalid\x20securityMode\x20','style','Your\x20licence\x20is\x20valid.','next','#node-input-sendBufferSize','#node-config-input-userPrivatekey','height:\x20100%\x20!important;','type','element','maxNotificationsPerPublish','.input-maxNotificationsPerPublish','assign','896572yjqOUO','The\x20Trial\x20will\x20expire\x20in\x20','Default\x20Subscription','margin-top:\x2020px;','.input-requestedMaxKeepAliveCount','99ccNjDH','None','Please\x20contact\x20','err','1454630kRMxmU','-messages','change','children','subscriptions','function','This\x20is\x20a\x20freeware\x20licence,\x20and\x20have\x20some\x20limitations.\x0a','checked','removeAttr','#node-config-input-endpoint','<p>','text','licence-widget-msg','1330KvBjwu','.template','</p>','editableList','addItem','<a\x20href=\x22mailto:support@sterfive.com\x22\x20subject=\x22@opcua/for-node-red\x20support\x20request\x22>mailto:support@sterfive.com</a>','src','POST','AUTHORIZED','map','requestedLifetimeCount','items','createElement','log','.input-isDefault','Basic256Sha256','statusText','#node-config-input-securityMode','5698962AQVAEI','baseUrl','\x20for\x20more\x20information.','#test-connection','#section-Advanced','<br>','fa\x20fa-calendar-time','#node-input-localkeyfile','1405298UkzBxe','#node-config-input-securityPolicy','message','#node-input-certificate','licence-widget-icon','-pending','catch','val',':checked','html','stringify','17458eFsNLK','#node-input-receiveBufferSize','empty','template','opcua\x20endpoint','script','Fast\x20Subscription','show','then','readonly','#checkCertificate','opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','.input-requestedPublishingInterval','.section-userIdentityType-Certificate','Slow\x20Subscription','onPremiseServerHost','Subscriptions','config','4tOQYnV','css'];_0x3b6c=function(){return _0x4b62b6;};return _0x3b6c();}
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgyNGZlZGEiLCJfMHg0MGU3NmIiLCJfMHg1NWVlNjciLCJfMHg0ZWYwYTQiLCJfMHgzZWVmZmIiLCJfMHg1ZjFmMDYiLCJfMHg1M2E0ZjAiLCJfMHgzYzI2MGIiLCJQcm9taXNlIiwiXzB4MmQxN2ViIiwiXzB4NGYwYmQ4IiwiXzB4MmY0YzQ2IiwiXzB4MjYwZWM2IiwiXzB4NTVmY2YyIiwiXzB4MmM3NmJkIiwiXzB4NDg5M2YxIiwiXzB4NmNiYzJjIiwiXzB4MTM1MmYwIiwiXzB4NWM3ODVmIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NDFmOGQ3IiwiXzB4YzA5M2UyIiwiXzB4NGFmZGVhIiwiXzB4M2ExYmZhIiwiRXJyb3IiLCJfMHgxZjEyMzMiLCJfMHg0NmQ0Y2UiLCJfMHgxNmZjMDkiLCJfMHgzYTdlNzEiLCJfMHg1MWZlMWQiLCJfMHgzYWNkNjAiLCIkIiwiXzB4MjJmZDhhIiwiXzB4MWIyNDVhIiwiXzB4MjFkYjNlIiwiXzB4MmRkNTFiIiwiYm9keSIsIl8weDNhMDEwZSIsInVybCIsIl8weDQzZWI5MyIsImZldGNoIiwiSlNPTiIsIl8weDc2MzIwZiIsIl8weDEyMTEyOSIsImNvbnNvbGUiLCJfMHhjN2ZmNTQiLCJfMHg0YmIxMjAiLCJfMHg0YzNkNjciLCJfMHgyNjIzYjMiLCJfMHgyOGQ4M2MiLCJBcnJheSIsIl8weDI3YzI0OCIsIl8weDRkMDZhOCIsIl8weGZmOGMiLCJfMHgxZTc1YjYiLCJfMHgyNmRmMGEiLCJfMHg1NTljMjAiLCJfMHg5YTQ2ZjgiLCJfMHg0NTE5OSIsIl8weDFlOWQwNSIsIkRhdGUiLCJfMHg1N2Q5MzMiLCJfMHgxZjkxNmYiLCJfMHgzOGE0NjgiLCJfMHgxNDUzZWQiLCJfMHgyZGNjOTQiLCJfMHg0NGQxYzMiLCJfMHgyYjg1YzMiLCJfMHgxOTg0MjMiLCJfMHgxMTI3MjgiLCJfMHgyMzliNDQiLCJfMHgxZDlmZWIiLCJfMHg0ZWNiNzMiLCJfMHg1YWRmMTAiLCJkb2N1bWVudCIsIl8weDU5Nzc0MSIsIl8weDM5OTJkYSIsIl8weDVjM2ZlMyIsIl8weDQzYTNhNiIsIl8weDc3NzBmOSIsIlVSTCIsIl8weDJlZThlNSIsIl8weDVjMDBmYyIsIlJFRCIsIl8weDEwN2QzMyIsIk9iamVjdCIsIl8weDQ1ODY2MyIsIl8weDU3MGQ3ZCIsIl8weDIyNTdlNCIsIl8weDU5ZWZkYiIsIl8weDUxMzIwZSIsIl8weDQ4NjE1MyIsIl8weDIyYWE5MCIsIl8weDEwMjdjMyIsIl8weGU2MmJkMSIsIl8weDI1MmE4ZCIsIl8weDJlNTU4NSIsIl8weDU0ZjE0ZiIsIl8weGFkNWMwIiwic2V0VGltZW91dCIsIl8weDExODFkYiIsIl8weDU4YTVhNCIsInVuZGVmaW5lZCIsIl8weDRjMDkxYyIsIl8weDRjNWQwYiIsIl8weDRjZmY2OCIsIl8weDMyM2JkNiIsIl8weDkwZGZkOCIsIl8weDI0NmNkOSIsIl8weDM5M2VkNCIsIl8weDQzMGMxMiIsIl8weDJiZGMxZCIsIl8weDFkODM3OCIsIl8weDQ2YTRiNSIsIl8weGUyN2U1OSIsIl8weGM1OTE0YyIsImFsZXJ0IiwiXzB4NDU4MmM0IiwiXzB4MmUxNzE1IiwiXzB4ODQ4MzEiLCJfMHgzMzNhZDAiLCJfMHgxNGIwYmMiLCJfMHgzMWUyZGMiLCJfMHhkODg5ZSIsIl8weDFkODNkMCIsIl8weDNjYzcyMSIsIl8weDEzMzY5MSIsIl8weDg3OWI1ZCIsIl8weDIzNDVlZCIsIl8weDQzNTU2NCJdLCJtYXBwaW5ncyI6IjBtQkFBQSxDQUFDLFUsQ0FDRyxhLHdCQW1CQSxTQUFTQSxTQUFULENBQW1CQyxTQUFuQixDQUE0QkMsU0FBNUIsQ0FBd0NDLFNBQXhDLENBQTJDQyxTQUEzQyxDLENBQ0ksU0FBU0MsU0FBVCxDQUFlQyxTQUFmLEMsUUFBK0JBLFNBQUEsWUFBaUJILFNBQWpCLENBQXFCRyxTQUFyQixDQUE2QixJQUFJSCxTQUFKLENBQU0sU0FBVUksU0FBVixDLENBQXFCQSxTQUFBLENBQVFELFNBQVIsQyxFQUEzQixDLFNBQ3JELEdBQUssQ0FBQUgs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LEMsR0FuQk0sQyxXQXVCZCxDLElBdkJjLEMsWUF3QmQsQ0FBWVQsU0F4QkUsQ0FGTyxDQUp6QixDQWdDTVUsU0FBQSxDQUFrQixJLDJCQUNkQyxTQUFBLENBQWdCaEMsU0FBQSxDLGdCQUFBLEdBQXNCLEUsQ0FDeENnQyxTQUFBLEMsUUFBQSxJLEtBRUFBLFNBQUEsQyxNQUFBLEVBQW1CLEMsSUFDZixDLElBRGUsQyxNQUVmLEMsZ0JBRmUsQyxXQUdmLEMsSUFIZSxDLFlBSWYsQ0FBWTNDLE1BQUEsQyxRQUFBLEVBQWMsRUFBZCxDQUFrQkgsU0FBbEIsQ0FKRyxDQUFuQixDLENBT0p1QyxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFQUNBLFVBQVdRLFNBQVgsSUFBMkJELFNBQTNCLEMsQ0FFSVAsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQ0FBeUNRLFNBQXpDLEMsR0E5Q1IsQ0FpREFGLFNBQUEsRSxHQWpVOEIsQ0FBMUMsQyxFQXZPSixHIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcbiAgICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxuICAgIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcbiAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcbiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG4gICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sICovXHJcblxyXG5cclxuICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgICAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xyXG4gICAgICAgIHZhciBlID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybiBlLm5hbWUgPSBcIlN1cHByZXNzZWRFcnJvclwiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7XHJcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gbWFuYWdlQVBJQ2FsbChwcmVmaXgsIGJ0biwgZnVuYywgb25SZXN1bHQpIHtcbiAgICAgICAgY29uc3Qgc3VjY2Vzc0ljb24gPSAkKGAjJHtwcmVmaXh9LXN1Y2Nlc3NgKTtcbiAgICAgICAgY29uc3QgZmFpbHVyZUljb24gPSAkKGAjJHtwcmVmaXh9LWZhaWx1cmVgKTtcbiAgICAgICAgY29uc3QgcGVuZGluZ0ljb24gPSAkKGAjJHtwcmVmaXh9LXBlbmRpbmdgKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSAkKGAjJHtwcmVmaXh9LW1lc3NhZ2VzYCk7XG4gICAgICAgIGxldCBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN1Y2Nlc3NJY29uLmhpZGUoKTtcbiAgICAgICAgZmFpbHVyZUljb24uaGlkZSgpO1xuICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgIGJ0bi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChhY3Rpb25QZW5kaW5nKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24uaHRtbChcIlRlc3RpbmcgQ29ubmVjdGlvbiAuLi5cIik7XG4gICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBmYWlsdXJlSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiXCIpO1xuICAgICAgICAgICAgY29uc3QgeyBib2R5LCB1cmwgfSA9IGZ1bmMoKTtcbiAgICAgICAgICAgIC8vIHh4IGNvbnNvbGUubG9nKFwieHh4eHhcIiwgYm9keSk7XG4gICAgICAgICAgICBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IGRhdGEuanNvbigpKVxuICAgICAgICAgICAgICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCBcIiBcIikpO1xuICAgICAgICAgICAgICAgIGlmIChqc29uLnJlc3VsdCA9PT0gXCJva1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGpzb24ubWVzc2FnZS5yZXBsYWNlKFwiXFxuXCIsIFwiPGJyPlwiKSk7XG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0KG51bGwsIGpzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQgPSAoc3RyKSA9PiAhc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgoYSkgPT4gYDxwPiR7YX08L3A+YClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQyID0gKHN0cikgPT4gKEFycmF5LmlzQXJyYXkoc3RyKSA/IHN0ci5tYXAoYWRhcHQpLmpvaW4oXCJcXG5cIikgOiBhZGFwdChzdHIpKTtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoYWRhcHQyKGpzb24ubWVzc2FnZSkgKyBhZGFwdDIoanNvbi5leHRyYSkpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChuZXcgRXJyb3IoanNvbi5yZXN1bHQpLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoXCJpbnRlcm5hbCBlcnJvciBcIiArIGVyci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVyclwiLCBlcnIpO1xuICAgICAgICAgICAgICAgIG9uUmVzdWx0KGVyciwgbnVsbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpY2luZ1RhYmxlSWQgPSBcInByY3RibF8xT0p0NDlCQ05jY2J6c1Z6a2FBTk9nRkxcIjtcbiAgICBjb25zdCBwdWJsaXNoYWJsZUtleSA9IFwicGtfbGl2ZV81MUhzRTFzQkNOY2NienNWenQ3emFxMnV2MjBwa3J5V2xsQXp2WmdaZDVBaHdGSTlBM3FCSWVPSnZKd1FGMDhsRG9McEZxTGp3bXlBNzl3blBuWUxzdktqdDAwOWYwMFZwQ1dcIjtcbiAgICBmdW5jdGlvbiBmZXRjaExpY2VuY2VJbmZvKGJhc2VVcmwgPSBcIlwiKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZW5kcG9pbnQyYDtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2xpY2VuY2VJbmZvYDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2hpbmcgZmFpbGVkIHdpdGggZXJyb3JcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBcIkZBSUxFRFwiLCB0eXBlOiBcIkZSRUVXQVJFXCIsIGxpY2VuY2VJbmZvOiB7IGV4cGlyeURhdGU6IHRvZGF5IH0gfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgICAgIHJldHVybiBqc29uO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVjbGFyZUxpY2VuY2VXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubGljZW5jZVdpZGdldFwiLCB7XG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRhY3RMaW5rID0gYDxhIGhyZWY9XCJtYWlsdG86c3VwcG9ydEBzdGVyZml2ZS5jb21cIiBzdWJqZWN0PVwiQG9wY3VhL2Zvci1ub2RlLXJlZCBzdXBwb3J0IHJlcXVlc3RcIj5tYWlsdG86c3VwcG9ydEBzdGVyZml2ZS5jb208L2E+YDtcbiAgICAgICAgICAgICAgICBjb25zdCB3ZWJzaXRlTGluayA9IGA8YSBocmVmPVwiaHR0cHM6Ly93d3cuc3RlcmZpdmUuY29tL29wY3VhL2Zvci1ub2RlLXJlZFwiIHRhcmdldD3igJ1fYmxhbmvigJ0+U3RlcmZpdmUncyB3ZWJzaXRlIDwvYT5gO1xuICAgICAgICAgICAgICAgIGZldGNoTGljZW5jZUluZm8odGhhdC5iYXNlVXJsKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaWNvbiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtc2cgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGV0YWlscyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGpzb24uc3RhdHVzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXlMZWZ0ID0ganNvbi5kYXlzTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJBVVRIT1JJWkVEXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtY2hlY2stY2lyY2xlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChqc29uLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlRSSUFMXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiVHJpYWwgbGljZW5jZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBUaGUgVHJpYWwgd2lsbCBleHBpcmUgaW4gJHtkYXlMZWZ0fSBkYXlzLlxcbkJ1eSBvbmxpbmUgYW5kIHZpc2l0ICR7d2Vic2l0ZUxpbmt9IHRvIGFjcXVpcmUgYSBsaWNlbnNlLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiUFJPRkVTU0lPTkFMXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBgWW91ciBsaWNlbmNlIGlzIHZhbGlkLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF5TGVmdCA8IDkwICYmIGRheUxlZnQgPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyArPSBgIEl0IHdpbGwgZXhwaXJlIGluICR7ZGF5TGVmdH0gZGF5cy5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGV0YWlscyA9IGAke3dlYnNpdGVMaW5rfTxicj4ke2NvbnRhY3RMaW5rfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0ganNvbi5saWNlbmNlSW5mby5saWNlbmNlVHlwZSArIFwiIC0gXCIgKyAoanNvbi5saWNlbmNlSW5mby5vblByZW1pc2VTZXJ2ZXJIb3N0IHx8IFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJGUkVFV0FSRVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJGcmVld2FyZSBsaWNlbmNlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gYFRoaXMgaXMgYSBmcmVld2FyZSBsaWNlbmNlLCBhbmQgaGF2ZSBzb21lIGxpbWl0YXRpb25zLlxcbiR7d2Vic2l0ZUxpbmt9IGZvciBtb3JlIGluZm9ybWF0aW9uLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRVhQSVJFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNhbGVuZGFyLXRpbWVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkxpY2VuY2UgaGFzIGV4cGlyZWRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJZb3VyIGxpY2Vuc2UgaGFzIGV4cGlyZWQuIFBsZWFzZSBjb250YWN0IG91ciBzdXBwb3J0IHRlYW0gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJGQUlMRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJZb3VyIGxpY2Vuc2UgaXMgY3VycmVudGx5IGludmFsaWQuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBQbGVhc2UgY29udGFjdCAke2NvbnRhY3RMaW5rfSBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLsyAYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvKiogKi9cbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5lbGVtZW50LnRleHQoXCJMaWNlbmNlIFwiICsgSlNPTi5zdHJpbmdpZnkoanNvbikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldFwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1pY29uXCIpLmFwcGVuZCgkKFwiPGk+XCIpLmFkZENsYXNzKGljb24pKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LW1zZ1wiKS50ZXh0KG1zZykpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8YnI+XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtZGV0YWlsc1wiKS5hcHBlbmQoZGV0YWlscykpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzID09PSBcIkVYUElSRURcIiB8fCBzdGF0dXMgPT09IFwiRkFJTEVEXCIgfHwganNvbi50eXBlID09PSBcIkZSRUVXQVJFXCIgfHwganNvbi50eXBlID09PSBcIlRSSUFMXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmliZUJ1dHRvbiA9ICQoXCI8YnV0dG9uLz5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcImlkXCIsIFwic3Vic2NyaWJlLWJ1dHRvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5hdHRyKFwiY2xhc3NcIiwgXCJidG4gYnRuLXByaW1hcnlcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcInN0eWxlXCIsIFwibWFyZ2luLXRvcDogMjBweDtcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24udGV4dChcIlN1YnNjcmliZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3Vic2NyaWJlQnV0dG9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgdGhlIHNjcmlwdCBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQuc3JjID0gXCJodHRwczovL2pzLnN0cmlwZS5jb20vdjMvcHJpY2luZy10YWJsZS5qc1wiO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgc2NyaXB0IGVsZW1lbnQgdG8gdGhlIGhlYWQgKG9yIGJvZHkpIG9mIHRoZSBkb2N1bWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgJChcImhlYWRcIikuYXBwZW5kKHNjcmlwdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJpcGVQcmljaW5nVGFibGUgPSAkKFwiPHN0cmlwZS1wcmljaW5nLXRhYmxlLz5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgdGhlIGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5hdHRyKFwicHJpY2luZy10YWJsZS1pZFwiLCBwcmljaW5nVGFibGVJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInB1Ymxpc2hhYmxlLWtleVwiLCBwdWJsaXNoYWJsZUtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInN0eWxlXCIsIFwiaGVpZ2h0OiAxMDAlO21heC1oZWlnaHQ6IDEwMCU7XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3RyaXBlUHJpY2luZ1RhYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmF0dHIoXCJzdHlsZVwiLCBcImhlaWdodDogMTAwJSAhaW1wb3J0YW50O1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBkZWNsYXJlTGljZW5jZVdpZGdldCgpO1xuICAgIGZ1bmN0aW9uIGlzVmFsaWRPUENfVUFfVVJJKHN0cikge1xuICAgICAgICBsZXQgdXJsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gbmV3IFVSTChzdHIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybC5wcm90b2NvbCA9PT0gXCJvcGMudGNwOlwiO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyA9IHtcbiAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMDAsXG4gICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMCwgLy8gZXZlcnkgMTAgc2Vjb25kc1xuICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDEwMDAsXG4gICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAwLFxuICAgICAgICBwcmlvcml0eTogMTAwLFxuICAgIH07XG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUVuZHBvaW50MlwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcImNvbmZpZ1wiLFxuICAgICAgICBwYWxldHRlTGFiZWw6IFwib3BjdWEgZW5kcG9pbnRcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDMvVUEvU2FtcGxlU2VydmVyXCIsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6IGlzVmFsaWRPUENfVUFfVVJJLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIFNlY3VyaXR5IE1vZGVcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogeyB2YWx1ZTogXCJOb25lXCIgfSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwiTm9uZVwiLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiB7IHZhbHVlOiBcIkFub255bW91c1wiIH0sXG4gICAgICAgICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIFVzZXJOYW1lXG4gICAgICAgICAgICB1c2VyTmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdmFsdWU6IFwiXCIsIHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBDZXJ0aWZpY2F0ZVxuICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgLy8gdXNlcm5hbWVcbiAgICAgICAgICAgIC8vIFRoZXNlIGFyZSBmaXhlZCBvciBjYW4gYmUgcmVhZCB0aHJvdWdoIGVuZFBvaW50XG4gICAgICAgICAgICBjZXJ0aWZpY2F0ZTogeyB2YWx1ZTogXCJuXCIgfSxcbiAgICAgICAgICAgIGxvY2FsZmlsZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgbG9jYWxrZXlmaWxlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiB7IHZhbHVlOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBtYXhDaHVua0NvdW50OiB7IHZhbHVlOiAxLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSwgLy8gc2hvdWxkIGJlIGF0IGxlYXN0IDgxOTJcbiAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJTbG93IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDIwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogNTAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkZhc3QgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDQwMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDI1MCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAyMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICAgIHVzZXI6IHsgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCB0aGlzLmVuZHBvaW50IHx8IFwiaW52YWxpZCBlbmRwb2ludFwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkge1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5UG9saWN5ID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKTtcbiAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eU1vZGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKTtcbiAgICAgICAgICAgIGlmIChfc2VjdXJpdHlQb2xpY3kudmFsKCkgPT09IFwiTm9uZVwiKSB7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS50ZXh0KFwiTm9uZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICgoKCgoKCgoKCggcmV0cmlldmUgc3Vic2NyaXB0aW9uIGRhdGEgKSkpKSkpKSkpKVxuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uc0l0ZW1zID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKS5lZGl0YWJsZUxpc3QoXCJpdGVtc1wiKTtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeCkgPT4geDtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnNJdGVtcy5lYWNoKGZ1bmN0aW9uIChpbmRleCwgaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcInNcIiArIGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBlLmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiAhIWUuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiAhIWUuZmluZChcIi5pbnB1dC1wdWJsaXNoaW5nRW5hYmxlZFwiKS5pcyhcIjpjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IG4oZS5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiBuKGUuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmb3JjZSB0byBiZSB0cnVlXG4gICAgICAgICAgICAgICAgYS5wYXJhbWV0ZXJzLnB1Ymxpc2hpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoYS5pc0RlZmF1bHQgJiYgYS5pZCA9PT0gXCJzMFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSBkZWZhdWx0IHN1YnNjcmlwdGlvbiBuYW1lXG4gICAgICAgICAgICAgICAgICAgIGEubmFtZSA9IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcy5wdXNoKGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBzO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCB0YWJzID0gUkVELnRhYnMuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBpZDogXCJub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzXCIsXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6IGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzLWNvbnRlbnRcIikuY2hpbGRyZW4oKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjXCIgKyB0YWIuaWQpLnNob3coKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0YWJzLmFkZFRhYih7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZW5kcG9pbnQtdGFiLWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICBsYWJlbDogXCJDb25uZWN0aW9uXCIsXG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItc3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIlN1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdGFicy5yZXNpemUoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBTZWN1cml0eSBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVTZWN1cml0eUNvbnRyb2wgPSAoc2VjdXJpdHlNb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc2VjdXJpdHlNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJOb25lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiU2lnbkFuZEVuY3J5cHRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwID0gJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3AudmFsKCkgPT09IFwiTm9uZVwiIHx8IHNwLnZhbCgpID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcC52YWwoXCJCYXNpYzI1NlNoYTI1NlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnZhbGlkIHNlY3VyaXR5TW9kZSBcIiArIHNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChub2RlLnNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgICAgIF9zZWN1cml0eU1vZGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdTZWN1cml0eU1vZGUgPSBfc2VjdXJpdHlNb2RlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVTZWN1cml0eUNvbnRyb2wobmV3U2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxpY2VuY2VXaWRnZXQgPSAkKFwiI2xpY2VuY2VXaWRnZXRcIik7XG4gICAgICAgICAgICBsaWNlbmNlV2lkZ2V0LmxpY2VuY2VXaWRnZXQoe1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFVzZXIgSWRlbnRpdHkgQ29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXV0aFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLVVzZXJOYW1lXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlcnRSb3cgPSAkKFwiLnNlY3Rpb24tdXNlcklkZW50aXR5VHlwZS1DZXJ0aWZpY2F0ZVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJZGVudGl0eUNvbnRyb2xzID0gKHVzZXJJZGVudGl0eVR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSA9IHVzZXJJZGVudGl0eVR5cGUgfHwgXCJBbm9ueW1vdXNcIjtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh1c2VySWRlbnRpdHlUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQW5vbnltb3VzXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiVXNlck5hbWVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDZXJ0aWZpY2F0ZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgdXNlcklkZW50aXR5VHlwZSBcIiArIHVzZXJJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5vZGUudXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3VzZXJJZGVudGl0eVR5cGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIik7XG4gICAgICAgICAgICAgICAgX3VzZXJJZGVudGl0eVR5cGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdJZGVudGl0eVR5cGUgPSBfdXNlcklkZW50aXR5VHlwZS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSWRlbnRpdHlDb250cm9scyhuZXdJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBhZHZhbmNlZCBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICQoXCIjdG9nZ2xlQWR2YW5jZWRTZWN0aW9uXCIpLm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBzaG93IHRoZSBkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGhpZGUgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBjaGVja0NlcnRpZmljYXRlXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICQoXCIjY2hlY2tDZXJ0aWZpY2F0ZVwiKS5vbihcImNsaWNrXCIsICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKFwiL29wY3VhLWVuZHBvaW50Mi9jbGllbnRfY2VydGlmaWNhdGUuanNvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ID0gSlNPTi5zdHJpbmdpZnkoaW5mbywgbnVsbCwgXCIgXCIpO1xuICAgICAgICAgICAgICAgICAgICBhbGVydCh0KTtcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIHRoZSBUZXN0IGJ1dHRvblxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtYW5hZ2VBUElDYWxsKFwiY29ubmVjdGlvblwiLCAkKFwiI3Rlc3QtY29ubmVjdGlvblwiKSwgKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBcIi9vcGN1YS1lbmRwb2ludDIvdGVzdC1jb25uZWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBub2RlLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LWVuZHBvaW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3k6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlQb2xpY3lcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VySWRlbnRpdHlUeXBlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJOYW1lOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJDZXJ0aWZpY2F0ZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyQ2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclByaXZhdGVrZXk6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlclByaXZhdGVrZXlcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vIG5vdCB0ZXN0ZWQgeWV0IC4uLjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0aWZpY2F0ZTogJChcIiNub2RlLWlucHV0LWNlcnRpZmljYXRlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZmlsZTogJChcIiNub2RlLWlucHV0LWxvY2FsZmlsZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGtleWZpbGU6ICQoXCIjbm9kZS1pbnB1dC1sb2NhbGtleWZpbGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiAkKFwiI25vZGUtaW5wdXQtdXNlVHJhbnNwb3J0XCIpLnByb3AoXCJjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heENodW5rQ291bnQ6ICQoXCIjbm9kZS1pbnB1dC1tYXhDaHVua0NvdW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiAkKFwiI25vZGUtaW5wdXQtbWF4TWVzc2FnZVNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZUJ1ZmZlclNpemU6ICQoXCIjbm9kZS1pbnB1dC1yZWNlaXZlQnVmZmVyU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZW5kQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXNlbmRCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSwgKCkgPT4geyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyAgSW5zdGFsbCBzdWJzY3JpcHRpb25zIExpc3QgbWFuYWdlbWVudFxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNpemVUb3BpY3MgPSAodG9waWMsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBuZXdXaWR0aCA9IHRvcGljLndpZHRoKCkgfHwgMTAwO1xuICAgICAgICAgICAgICAgICAgICB0b3BpYy5maW5kKFwibGFiZWxcIikudHlwZWRJbnB1dChcIndpZHRoXCIsIG5ld1dpZHRoIC0gMTUpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uTGlzdCA9ICQoXCIjc3Vic2NyaXB0aW9ucy1jb250YWluZXJcIilcbiAgICAgICAgICAgICAgICAgICAgLmNzcyh7IFwibWluLWhlaWdodFwiOiBcIjE1MHB4XCIsIFwibWluLXdpZHRoXCI6IFwiMjYwcHhcIiB9KVxuICAgICAgICAgICAgICAgICAgICAuZWRpdGFibGVMaXN0KHtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXRlbTogKGNvbnRhaW5lciwgaW5kZXgsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IF9kYXRhID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSAkKFwiLnRlbXBsYXRlXCIpLmNsb25lKCkuYXBwZW5kVG8oY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cihcImlkXCIpLnJlbW92ZUNsYXNzKFwiaGlkZVwiKS5yZW1vdmVDbGFzcyhcInRlbXBsYXRlXCIpLmF0dHIoXCJkYXRhLWlcIiwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW5hbWVcIikudmFsKF9kYXRhLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRMaWZldGltZUNvdW50XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZExpZmV0aW1lQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLm1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIHx8IDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXByaW9yaXR5XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnByaW9yaXR5IHx8IDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLnN1YnNjcmlwdGlvbi1pZFwiKS50ZXh0KFwiXCIgKyBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2RhdGEuaXNEZWZhdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW5hbWVcIikucHJvcChcInJlYWRvbmx5XCIsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS5wcm9wKFwiY2hlY2tlZFwiLCBfZGF0YS5pc0RlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgZGVmYXVsdCBzdWJzY3JpcHRpb24gY2Fubm90IGJlIGFjY2lkZW50YWxseSByZW1vdmVkXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2RhdGEuaXNEZWZhdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmZpbmQoXCIucmVkLXVpLWVkaXRhYmxlTGlzdC1pdGVtLXJlbW92ZVwiKS5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBlbGVtZW50LmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnByb3AoXCJkaXNhYmxlZFwiLCB0cnVlKSwgMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAvLyBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZXNpemVJdGVtOiByZXNpemVUb3BpY3MsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgQWRkU3Vic2NyaXB0aW9uID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zID0gbm9kZS5zdWJzY3JpcHRpb25zIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBtaXNzaW5nIGRlZmF1bHQgc3Vic2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyksXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25MaXN0LmVkaXRhYmxlTGlzdChcImVtcHR5XCIpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBzdWJzY3JpcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzdWJzY3JpcHRpb24uaXNEZWZhdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25MaXN0LmVkaXRhYmxlTGlzdChcImFkZEl0ZW1cIiwgc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgQWRkU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
9
9
  </script>
10
10
  <script type="text/x-red" data-template-name="OpcUa-Endpoint2">
11
11
  <div id="licenceWidget"></div>