@opcua/for-node-red 2.6.2 → 2.7.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.
- package/all.js +1 -1
- package/package.json +1 -1
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.css +1 -1
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.html +4 -3
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.css +1 -1
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.html +7 -4
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.css +1 -1
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.html +4 -3
- package/source/OpcUa-Client2-ExtensionObject/OpcUa-Client2-ExtensionObject.css +1 -1
- package/source/OpcUa-Client2-ExtensionObject/OpcUa-Client2-ExtensionObject.html +5 -5
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.css +1 -1
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.html +4 -3
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.css +1 -1
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.html +4 -3
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.css +1 -1
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.html +4 -3
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.css +1 -1
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.html +4 -3
- package/source/OpcUa-Endpoint2/OpcUa-Endpoint2.html +3 -2
@@ -4,8 +4,8 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
function _0xb1a2(){const _0x253996=['150px','json','createElement','html','requestedPublishingInterval','.input-priority','.red-ui-editableList-item-remove','addTab','internal\x20error\x20','connection','#checkCertificate','Testing\x20Connection\x20...','width','append','.input-requestedLifetimeCount','#node-input-maxChunkCount','text','parameters','/opcua-endpoint2/client_certificate.json','-success','Fast\x20Subscription','prctbl_1OJt49BCNccbzsVzkaANOgFL','registerType','clone',':checked','None','done','-messages','suppressed','#node-config-input-endpoint','hide','script','userIdentityType','.input-publishingEnabled','<br>','change','-pending','height:\x20100%\x20!important;','.section-securityPolicy','element','toISOString','2210wWcPDw','246wYTOvF','#node-input-receiveBufferSize','message','<a\x20href=\x22mailto:support@sterfive.com\x22\x20subject=\x22@opcua/for-node-red\x20support\x20request\x22>mailto:support@sterfive.com</a>','addItem','pk_live_51HsE1sBCNccbzsVzt7zaq2uv20pkryWllAzvZgZd5AhwFI9A3qBIeOJvJwQF08lDoLpFqLjwmyA79wnPnYLsvKjt009f00VpCW','#node-config-input-userPrivatekey','children','click','log','application/json','.subscription-id','150cXBTtv','Freeware\x20licence','onPremiseServerHost','<p>','prop','readonly','licence-widget-','error','The\x20Trial\x20will\x20expire\x20in\x20','#subscriptions-container','637628VAsasi','invalid\x20endpoint','#licenceWidget','AUTHORIZED','\x20days.\x0aBuy\x20online\x20and\x20visit\x20','opcua\x20endpoint','#node-config-input-securityMode','val','items','licence-widget-details','SignAndEncrypt','#node-input-sendBufferSize','disabled','.input-requestedPublishingInterval','invalid\x20userIdentityType\x20','Subscribe','#node-config-input-password','addClass','8Emsicb','publishable-key','UserName','invalid\x20securityMode\x20','101352UFhjWw','\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.̀','Please\x20contact\x20','.section-userIdentityType-UserName','Certificate','publishingEnabled','#node-config-endpoint-tabs-content','attr','<i>','\x20-\x20','err','.input-name','maxNotificationsPerPublish','<a\x20href=\x22https://www.sterfive.com/opcua/for-node-red\x22\x20target=”_blank”>Sterfive\x27s\x20website\x20</a>','fetching\x20failed\x20with\x20error','status','name','.input-isDefault','config','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','</p>','This\x20is\x20a\x20freeware\x20licence,\x20and\x20have\x20some\x20limitations.\x0a','next','#node-config-input-pkiName','#section-Advanced','data-i','securityMode','https://js.stripe.com/v3/pricing-table.js','label','editableList','EXPIRED','pricing-table-id','Slow\x20Subscription','catch','priority','#test-connection','btn\x20btn-primary','length','<span>','baseUrl','.template','FAILED','Your\x20license\x20is\x20currently\x20invalid.','#section-TransportSettings','\x20It\x20will\x20expire\x20in\x20','Your\x20licence\x20is\x20valid.','node-config-endpoint-tabs','resize','show','push','map','licenceType','type','endpoint','typedInput','nodes','throw','checked','.input-requestedMaxKeepAliveCount','#node-config-input-name','subscriptions','css','#node-input-certificate','#node-config-input-userName','head','Sign','Default\x20Subscription','POST','requestedLifetimeCount','8168DUCMEY','licence-widget-icon','removeClass','#node-config-input-securityPolicy','#toggleAdvancedSection','assign','<stripe-pricing-table/>','40VDLxqP','licence-widget','template','12761919uvSJSM','removeAttr','protocol','endpoint-tab-connection','/licenceInfo','237818HBMwDn','TRIAL','result','opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','\x20to\x20acquire\x20a\x20license.','FREEWARE','#node-config-input-userCertificate','value','find','102910owbvaM','\x20days.','stringify','apply','fa\x20fa-calendar-time','.input-maxNotificationsPerPublish','match','isArray','join','#node-input-maxMessageSize','#node-config-input-useTransport','isDefault','Connection','empty','then','Anonymous','password','/opcua-endpoint2/test-connection','1023JVtXLi','extra','167980DOwKdp','opc.tcp:','style'];_0xb1a2=function(){return _0x253996;};return _0xb1a2();}function _0xeff3(_0x5e3017,_0x569249){const _0xb1a287=_0xb1a2();return _0xeff3=function(_0xeff339,_0x510bf4){_0xeff339=_0xeff339-0x1db;let _0x2a89c9=_0xb1a287[_0xeff339];return _0x2a89c9;},_0xeff3(_0x5e3017,_0x569249);}(function(_0x6e7e29,_0x3fde99){const _0x1056fa=_0xeff3,_0x5a1122=_0x6e7e29();while(!![]){try{const _0x532bf6=-parseInt(_0x1056fa(0x295))/0x1+-parseInt(_0x1056fa(0x269))/0x2*(parseInt(_0x1056fa(0x1f8))/0x3)+-parseInt(_0x1056fa(0x20e))/0x4*(-parseInt(_0x1056fa(0x270))/0x5)+parseInt(_0x1056fa(0x204))/0x6*(-parseInt(_0x1056fa(0x278))/0x7)+parseInt(_0x1056fa(0x220))/0x8*(-parseInt(_0x1056fa(0x273))/0x9)+parseInt(_0x1056fa(0x281))/0xa*(parseInt(_0x1056fa(0x293))/0xb)+-parseInt(_0x1056fa(0x224))/0xc*(-parseInt(_0x1056fa(0x1f7))/0xd);if(_0x532bf6===_0x3fde99)break;else _0x5a1122['push'](_0x5a1122['shift']());}catch(_0x583f85){_0x5a1122['push'](_0x5a1122['shift']());}}}(_0xb1a2,0xdb38a),(function(){'use strict';const _0x2a457d=_0xeff3;function _0x2fa2bd(_0x212f9f,_0x1c185a,_0x152c60,_0x1a6c5f){function _0x253baf(_0x3cec7c){return _0x3cec7c instanceof _0x152c60?_0x3cec7c:new _0x152c60(function(_0x33bd4f){_0x33bd4f(_0x3cec7c);});}return new(_0x152c60||(_0x152c60=Promise))(function(_0x518b7a,_0x7da43b){const _0x188d47=_0xeff3;function _0x17329b(_0x5c519f){const _0x549364=_0xeff3;try{_0x487047(_0x1a6c5f[_0x549364(0x23a)](_0x5c519f));}catch(_0x1183dc){_0x7da43b(_0x1183dc);}}function _0x3728d6(_0x340931){const _0x2a9fd7=_0xeff3;try{_0x487047(_0x1a6c5f[_0x2a9fd7(0x25c)](_0x340931));}catch(_0x2fd28d){_0x7da43b(_0x2fd28d);}}function _0x487047(_0x5ac67a){const _0x3754d4=_0xeff3;_0x5ac67a[_0x3754d4(0x1e8)]?_0x518b7a(_0x5ac67a[_0x3754d4(0x27f)]):_0x253baf(_0x5ac67a[_0x3754d4(0x27f)])[_0x3754d4(0x28f)](_0x17329b,_0x3728d6);}_0x487047((_0x1a6c5f=_0x1a6c5f[_0x188d47(0x284)](_0x212f9f,_0x1c185a||[]))[_0x188d47(0x23a)]());});}typeof SuppressedError==='function'?SuppressedError:function(_0x4b548b,_0x426bc5,_0xe08cb0){const _0x3605d8=_0xeff3;var _0x4e72a0=new Error(_0xe08cb0);return _0x4e72a0['name']='SuppressedError',_0x4e72a0[_0x3605d8(0x20b)]=_0x4b548b,_0x4e72a0[_0x3605d8(0x1ea)]=_0x426bc5,_0x4e72a0;};function _0x5c6629(_0x2a864d,_0x3ed556,_0x233ee9,_0x4fb058){const _0x44d2ee=_0xeff3,_0x4c20ca=$('#'+_0x2a864d+_0x44d2ee(0x1e1)),_0x35df9a=$('#'+_0x2a864d+'-failure'),_0x36f677=$('#'+_0x2a864d+_0x44d2ee(0x1f2)),_0x113826=$('#'+_0x2a864d+_0x44d2ee(0x1e9));let _0x444329=![];_0x4c20ca['hide'](),_0x35df9a[_0x44d2ee(0x1ec)](),_0x36f677[_0x44d2ee(0x1ec)](),_0x3ed556['on'](_0x44d2ee(0x200),()=>{const _0x24bb95=_0x44d2ee;if(_0x444329)return;_0x444329=!![],_0x36f677[_0x24bb95(0x26b)]('hide'),_0x36f677[_0x24bb95(0x29b)](_0x24bb95(0x2a3)),_0x4c20ca[_0x24bb95(0x21f)](_0x24bb95(0x1ec)),_0x35df9a[_0x24bb95(0x21f)](_0x24bb95(0x1ec)),_0x113826[_0x24bb95(0x29b)]('');const {body:_0x4d0751,url:_0x55f19f}=_0x233ee9();fetch(_0x55f19f,{'method':_0x24bb95(0x267),'headers':{'Content-Type':_0x24bb95(0x202)},'body':JSON[_0x24bb95(0x283)](_0x4d0751)})[_0x24bb95(0x28f)](_0x7b132=>_0x7b132[_0x24bb95(0x299)]())[_0x24bb95(0x28f)](_0x351dc1=>{const _0x3ec8b0=_0x24bb95;_0x444329=![],_0x36f677[_0x3ec8b0(0x1ec)](),console[_0x3ec8b0(0x201)](JSON[_0x3ec8b0(0x283)](_0x351dc1,null,'\x20'));if(_0x351dc1[_0x3ec8b0(0x27a)]==='ok')_0x4c20ca['removeClass']('hide'),_0x35df9a[_0x3ec8b0(0x21f)](_0x3ec8b0(0x1ec)),_0x113826['html'](_0x351dc1[_0x3ec8b0(0x1fa)]['replace']('\x0a',_0x3ec8b0(0x1f0))),_0x4fb058(null,_0x351dc1);else{const _0x2301a9=_0x4a0681=>!_0x4a0681?'':_0x4a0681['split']('\x0a')['map'](_0xe880ae=>_0x3ec8b0(0x207)+_0xe880ae+_0x3ec8b0(0x238))[_0x3ec8b0(0x289)]('\x0a'),_0x18bf99=_0x335d28=>Array[_0x3ec8b0(0x288)](_0x335d28)?_0x335d28[_0x3ec8b0(0x256)](_0x2301a9)[_0x3ec8b0(0x289)]('\x0a'):_0x2301a9(_0x335d28);_0x4c20ca['addClass'](_0x3ec8b0(0x1ec)),_0x35df9a[_0x3ec8b0(0x26b)](_0x3ec8b0(0x1ec)),_0x113826[_0x3ec8b0(0x29b)](_0x18bf99(_0x351dc1[_0x3ec8b0(0x1fa)])+_0x18bf99(_0x351dc1[_0x3ec8b0(0x294)])),_0x4fb058(new Error(_0x351dc1[_0x3ec8b0(0x27a)]),_0x351dc1);}})[_0x24bb95(0x245)](_0x2e54c3=>{const _0x515e35=_0x24bb95;_0x444329=![],_0x36f677['addClass'](_0x515e35(0x1ec)),_0x4c20ca[_0x515e35(0x21f)]('hide'),_0x35df9a[_0x515e35(0x26b)](_0x515e35(0x1ec)),_0x113826['html'](_0x515e35(0x2a0)+_0x2e54c3['message']),console[_0x515e35(0x201)](_0x515e35(0x22e),_0x2e54c3),_0x4fb058(_0x2e54c3,null);});});}const _0x402841=_0x2a457d(0x1e3),_0x9a7d25=_0x2a457d(0x1fd);function _0x46d7d9(_0x527e15=''){return _0x2fa2bd(this,void 0x0,void 0x0,function*(){const _0x299541=_0xeff3,_0xeedff1=_0x527e15+'/opcua-endpoint2',_0x1aa7bc=_0xeedff1+_0x299541(0x277),_0x380506=yield fetch(_0x1aa7bc,{'method':'POST','headers':{'Content-Type':_0x299541(0x202)}}),_0x55cfb0=new Date()[_0x299541(0x1f6)]();if(_0x380506[_0x299541(0x233)]!==0xc8)return console['log'](_0x299541(0x232),_0x380506[_0x299541(0x233)],_0x380506['statusText']),{'status':_0x299541(0x24d),'type':_0x299541(0x27d),'licenceInfo':{'expiryDate':_0x55cfb0}};const _0x262186=yield _0x380506['json']();return _0x262186;});}const _0x518117=()=>{$['widget']('sterfive.licenceWidget',{'options':{'baseUrl':''},'_create'(){const _0x68a504=_0xeff3,_0x2942b4=this,_0x28f287=_0x68a504(0x1fb),_0x397779=_0x68a504(0x231);_0x46d7d9(_0x2942b4[_0x68a504(0x24b)])['then'](_0x549a5c=>{const _0x10daf9=_0x68a504;let _0x25c271='',_0x1ecd16='',_0x574e5b='';const _0x47e644=_0x549a5c[_0x10daf9(0x233)],_0x300555=_0x549a5c['daysLeft'];switch(_0x47e644){case _0x10daf9(0x211):_0x25c271='fa\x20fa-check-circle';switch(_0x549a5c[_0x10daf9(0x258)]){case _0x10daf9(0x279):{_0x1ecd16='Trial\x20licence',_0x574e5b=_0x10daf9(0x20c)+_0x300555+_0x10daf9(0x212)+_0x397779+_0x10daf9(0x27c);break;}case'PROFESSIONAL':_0x1ecd16=_0x10daf9(0x251);_0x300555<0x5a&&_0x300555>=0x0&&(_0x1ecd16+=_0x10daf9(0x250)+_0x300555+_0x10daf9(0x282));_0x574e5b=_0x549a5c['licenceInfo'][_0x10daf9(0x257)]+_0x10daf9(0x22d)+(_0x549a5c['licenceInfo'][_0x10daf9(0x206)]||'');break;case _0x10daf9(0x27d):_0x1ecd16=_0x10daf9(0x205),_0x574e5b=_0x10daf9(0x239)+_0x397779+'\x20for\x20more\x20information.';break;}break;case _0x10daf9(0x242):_0x25c271=_0x10daf9(0x285),_0x1ecd16='Licence\x20has\x20expired',_0x574e5b=_0x10daf9(0x237);break;case _0x10daf9(0x24d):default:_0x25c271='fa\x20fa-exclamation-circle',_0x1ecd16=_0x10daf9(0x24e),_0x574e5b=_0x10daf9(0x226)+_0x28f287+_0x10daf9(0x225);break;}this['element'][_0x10daf9(0x21f)](_0x10daf9(0x271)),this[_0x10daf9(0x1f5)][_0x10daf9(0x21f)](_0x10daf9(0x20a)+_0x47e644),this[_0x10daf9(0x1f5)][_0x10daf9(0x1db)]($(_0x10daf9(0x24a))[_0x10daf9(0x21f)](_0x10daf9(0x26a))[_0x10daf9(0x1db)]($(_0x10daf9(0x22c))[_0x10daf9(0x21f)](_0x25c271))),this[_0x10daf9(0x1f5)][_0x10daf9(0x1db)]($('<span>')[_0x10daf9(0x21f)]('licence-widget-msg')[_0x10daf9(0x1de)](_0x1ecd16)),this[_0x10daf9(0x1f5)][_0x10daf9(0x1db)]($(_0x10daf9(0x1f0))),this[_0x10daf9(0x1f5)][_0x10daf9(0x1db)]($(_0x10daf9(0x24a))[_0x10daf9(0x21f)](_0x10daf9(0x217))['append'](_0x574e5b));if(_0x47e644===_0x10daf9(0x242)||_0x47e644==='FAILED'||_0x549a5c[_0x10daf9(0x258)]===_0x10daf9(0x27d)||_0x549a5c['type']===_0x10daf9(0x279)){const _0x4b24f4=$('<button/>');_0x4b24f4['attr']('id','subscribe-button'),_0x4b24f4[_0x10daf9(0x22b)]('class',_0x10daf9(0x248)),_0x4b24f4['attr']('style','margin-top:\x2020px;'),_0x4b24f4[_0x10daf9(0x1de)](_0x10daf9(0x21d)),this[_0x10daf9(0x1f5)][_0x10daf9(0x1db)](_0x4b24f4);const _0x280ba3=document[_0x10daf9(0x29a)](_0x10daf9(0x1ed));_0x280ba3['src']=_0x10daf9(0x23f),_0x280ba3['async']=!![],$(_0x10daf9(0x264))[_0x10daf9(0x1db)](_0x280ba3);const _0x5a7d0d=$(_0x10daf9(0x26f));_0x5a7d0d[_0x10daf9(0x22b)](_0x10daf9(0x243),_0x402841),_0x5a7d0d[_0x10daf9(0x22b)](_0x10daf9(0x221),_0x9a7d25),_0x5a7d0d['attr'](_0x10daf9(0x297),'height:\x20100%;max-height:\x20100%;'),_0x5a7d0d[_0x10daf9(0x1ec)](),this['element'][_0x10daf9(0x1db)](_0x5a7d0d),_0x4b24f4['on'](_0x10daf9(0x200),()=>{const _0x5a561a=_0x10daf9;_0x5a7d0d[_0x5a561a(0x254)](),_0x4b24f4[_0x5a561a(0x1ec)](),this[_0x5a561a(0x1f5)][_0x5a561a(0x22b)]('style',_0x5a561a(0x1f3));});}})[_0x68a504(0x245)](_0x9c4ec6=>{const _0x4a0300=_0x68a504;console[_0x4a0300(0x201)](_0x9c4ec6);});}});};_0x518117();function _0x16225a(_0x1e1853){const _0x13a508=_0x2a457d;let _0x35ef92;try{_0x35ef92=new URL(_0x1e1853);}catch(_0x682ef8){return![];}return _0x35ef92[_0x13a508(0x275)]===_0x13a508(0x296);}const _0x29737f={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x2a457d(0x25b)][_0x2a457d(0x1e4)]('OpcUa-Endpoint2',{'category':_0x2a457d(0x236),'paletteLabel':_0x2a457d(0x213),'defaults':{'name':{'value':''},'endpoint':{'value':_0x2a457d(0x27b),'required':!![],'validate':_0x16225a},'securityMode':{'value':_0x2a457d(0x1e7)},'securityPolicy':{'value':'None','validate':_0x15f02c=>{if(!_0x15f02c)return![];return!![];}},'userIdentityType':{'value':_0x2a457d(0x290)},'pkiName':{'value':'','validate':_0xe40fb4=>!_0xe40fb4||_0xe40fb4[_0x2a457d(0x287)](/[0-9a-zA-Z]*/)?!![]:![]},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':'Default\x20Subscription','isDefault':!![],'parameters':Object[_0x2a457d(0x26e)]({},_0x29737f)},{'id':'s2','name':_0x2a457d(0x244),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':_0x2a457d(0x1e2),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'userName':{'type':'text'},'password':{'type':'password'},'userCertificate':{'type':'text'},'userPrivatekey':{'type':_0x2a457d(0x291)}},'label':function(){const _0x38e7e5=_0x2a457d;return this[_0x38e7e5(0x234)]||this[_0x38e7e5(0x259)]||_0x38e7e5(0x20f);},'oneditsave'(){const _0x521988=_0x2a457d,_0x17495d=$(_0x521988(0x26c)),_0x28d2f3=$('#node-config-input-securityMode');_0x17495d[_0x521988(0x215)]()===_0x521988(0x1e7)&&_0x28d2f3['text']('None');const _0x51bd27=$('#subscriptions-container')[_0x521988(0x241)](_0x521988(0x216)),_0x259c01=[],_0x2ef4b4=_0x44d195=>_0x44d195;_0x51bd27['each'](function(_0x2558fd,_0x173ffb){const _0x28d7ac=_0x521988,_0x1810e4=$(this),_0x22f17f={'id':'s'+_0x2558fd,'name':_0x1810e4[_0x28d7ac(0x280)]('.input-name')[_0x28d7ac(0x215)](),'isDefault':!!_0x1810e4['find'](_0x28d7ac(0x235))[_0x28d7ac(0x215)](),'parameters':{'publishingEnabled':!!_0x1810e4['find'](_0x28d7ac(0x1ef))['is'](_0x28d7ac(0x1e6)),'requestedLifetimeCount':_0x2ef4b4(_0x1810e4[_0x28d7ac(0x280)](_0x28d7ac(0x1dc))[_0x28d7ac(0x215)]()),'requestedMaxKeepAliveCount':_0x2ef4b4(_0x1810e4[_0x28d7ac(0x280)](_0x28d7ac(0x25e))['val']()),'requestedPublishingInterval':_0x2ef4b4(_0x1810e4['find'](_0x28d7ac(0x21b))[_0x28d7ac(0x215)]()),'maxNotificationsPerPublish':_0x2ef4b4(_0x1810e4['find'](_0x28d7ac(0x286))['val']()),'priority':_0x2ef4b4(_0x1810e4[_0x28d7ac(0x280)](_0x28d7ac(0x29d))[_0x28d7ac(0x215)]())}};_0x22f17f['parameters'][_0x28d7ac(0x229)]=!![],_0x22f17f['isDefault']&&_0x22f17f['id']==='s0'&&(_0x22f17f[_0x28d7ac(0x234)]=_0x28d7ac(0x266)),_0x259c01[_0x28d7ac(0x255)](_0x22f17f);}),this['subscriptions']=_0x259c01;},'oneditprepare'(){const _0x2d88b5=_0x2a457d,_0x488f54=this,_0x58fc7f=RED['tabs']['create']({'id':_0x2d88b5(0x252),'onchange':function(_0x15761e){const _0x436f1e=_0x2d88b5;$(_0x436f1e(0x22a))[_0x436f1e(0x1ff)]()[_0x436f1e(0x1ec)](),$('#'+_0x15761e['id'])[_0x436f1e(0x254)]();}});_0x58fc7f[_0x2d88b5(0x29f)]({'id':_0x2d88b5(0x276),'label':_0x2d88b5(0x28d)},0x0),_0x58fc7f['addTab']({'id':'endpoint-tab-subscriptions','label':'Subscriptions'},0x1),setTimeout(function(){const _0x4bed6e=_0x2d88b5;_0x58fc7f[_0x4bed6e(0x253)]();},0x0);{const _0x364b86=_0x32ab29=>{const _0x21604f=_0x2d88b5;switch(_0x32ab29){case null:case undefined:case'':case _0x21604f(0x1e7):$('.section-securityPolicy')[_0x21604f(0x1ec)]();break;case _0x21604f(0x265):case _0x21604f(0x218):{const _0x5a8dbc=$('.section-securityPolicy');(_0x5a8dbc[_0x21604f(0x215)]()==='None'||_0x5a8dbc[_0x21604f(0x215)]()==='')&&_0x5a8dbc[_0x21604f(0x215)]('Basic256Sha256'),$(_0x21604f(0x1f4))[_0x21604f(0x254)]();}break;default:console[_0x21604f(0x201)](_0x21604f(0x223)+_0x32ab29);}};_0x364b86(_0x488f54[_0x2d88b5(0x23e)]);const _0x489427=$(_0x2d88b5(0x214));_0x489427['on'](_0x2d88b5(0x1f1),()=>{const _0x31bef1=_0x2d88b5,_0x28cb4b=_0x489427[_0x31bef1(0x215)]();_0x364b86(_0x28cb4b);});}const _0x2cf353=$(_0x2d88b5(0x210));_0x2cf353['licenceWidget']({'baseUrl':''});{const _0x4a4ba4=$(_0x2d88b5(0x227)),_0xc1859b=$('.section-userIdentityType-Certificate'),_0x10562f=_0x5f4a01=>{const _0x6c6b00=_0x2d88b5;_0x5f4a01=_0x5f4a01||_0x6c6b00(0x290);switch(_0x5f4a01){case _0x6c6b00(0x290):$(_0x6c6b00(0x263))[_0x6c6b00(0x215)](''),$('#node-config-input-password')['val'](''),_0x4a4ba4[_0x6c6b00(0x1ec)](),_0xc1859b['hide']();break;case _0x6c6b00(0x222):_0x4a4ba4[_0x6c6b00(0x254)](),_0xc1859b[_0x6c6b00(0x1ec)]();break;case _0x6c6b00(0x228):$(_0x6c6b00(0x263))[_0x6c6b00(0x215)](''),$(_0x6c6b00(0x21e))[_0x6c6b00(0x215)](''),_0xc1859b[_0x6c6b00(0x254)](),_0x4a4ba4['hide']();break;default:console[_0x6c6b00(0x201)](_0x6c6b00(0x21c)+_0x5f4a01);}};_0x10562f(_0x488f54[_0x2d88b5(0x1ee)]);const _0x56d0ea=$('#node-config-input-userIdentityType');_0x56d0ea['on'](_0x2d88b5(0x1f1),()=>{const _0x5d42c1=_0x2d88b5,_0x371350=_0x56d0ea[_0x5d42c1(0x215)]();_0x10562f(_0x371350);});}{$(_0x2d88b5(0x23c))[_0x2d88b5(0x1ec)](),$(_0x2d88b5(0x26d))['prop'](_0x2d88b5(0x25d),![]),$(_0x2d88b5(0x26d))['on'](_0x2d88b5(0x1f1),function(){const _0x11fc95=_0x2d88b5;$(this)[_0x11fc95(0x208)](_0x11fc95(0x25d))?$(_0x11fc95(0x23c))['show']():$(_0x11fc95(0x23c))[_0x11fc95(0x1ec)]();});}const _0x251c72=$(_0x2d88b5(0x28b))['prop'](_0x2d88b5(0x25d));_0x251c72?$(_0x2d88b5(0x24f))[_0x2d88b5(0x254)]():$(_0x2d88b5(0x24f))[_0x2d88b5(0x1ec)]();$(_0x2d88b5(0x28b))['on'](_0x2d88b5(0x1f1),function(){const _0x14b3ab=_0x2d88b5;$(this)[_0x14b3ab(0x208)](_0x14b3ab(0x25d))?$(_0x14b3ab(0x24f))[_0x14b3ab(0x254)]():$(_0x14b3ab(0x24f))[_0x14b3ab(0x1ec)]();});{$(_0x2d88b5(0x2a2))['on'](_0x2d88b5(0x200),()=>_0x2fa2bd(this,void 0x0,void 0x0,function*(){const _0x1d43c6=_0x2d88b5,_0x14b62f=yield fetch(_0x1d43c6(0x1e0)),_0x31dade=yield _0x14b62f[_0x1d43c6(0x299)](),_0x14c456=JSON[_0x1d43c6(0x283)](_0x31dade,null,'\x20');alert(_0x14c456);}));}{_0x5c6629(_0x2d88b5(0x2a1),$(_0x2d88b5(0x247)),()=>{const _0x4b61c=_0x2d88b5;var _0xc7eabd;return{'url':_0x4b61c(0x292),'body':{'endpointNode':{'id':_0x488f54['id'],'endpoint':$(_0x4b61c(0x1eb))[_0x4b61c(0x215)](),'name':$(_0x4b61c(0x25f))[_0x4b61c(0x215)](),'pkiName':(_0xc7eabd=$(_0x4b61c(0x23b)))===null||_0xc7eabd===void 0x0?void 0x0:_0xc7eabd[_0x4b61c(0x215)](),'securityMode':$('#node-config-input-securityMode')[_0x4b61c(0x215)](),'securityPolicy':$(_0x4b61c(0x26c))[_0x4b61c(0x215)](),'userIdentityType':$('#node-config-input-userIdentityType')[_0x4b61c(0x215)](),'userName':$(_0x4b61c(0x263))['val'](),'password':$(_0x4b61c(0x21e))['val'](),'userCertificate':$(_0x4b61c(0x27e))[_0x4b61c(0x215)](),'userPrivatekey':$(_0x4b61c(0x1fe))[_0x4b61c(0x215)](),'certificate':$(_0x4b61c(0x262))[_0x4b61c(0x215)](),'useTransport':$('#node-input-useTransport')[_0x4b61c(0x208)](_0x4b61c(0x25d)),'maxChunkCount':$(_0x4b61c(0x1dd))[_0x4b61c(0x215)](),'maxMessageSize':$(_0x4b61c(0x28a))[_0x4b61c(0x215)](),'receiveBufferSize':$(_0x4b61c(0x1f9))[_0x4b61c(0x215)](),'sendBufferSize':$(_0x4b61c(0x219))[_0x4b61c(0x215)]()}}};},()=>{});}{const _0xc0eeb3=(_0x5650fb,_0x314cb6)=>{const _0xf13368=_0x2d88b5;var _0x8cd7d2=_0x5650fb[_0xf13368(0x2a4)]()||0x64;_0x5650fb[_0xf13368(0x280)](_0xf13368(0x240))[_0xf13368(0x25a)](_0xf13368(0x2a4),_0x8cd7d2-0xf);},_0x18f7d1=$(_0x2d88b5(0x20d))[_0x2d88b5(0x261)]({'min-height':_0x2d88b5(0x298),'min-width':'260px'})['editableList']({'addItem':(_0x4f2d4c,_0x42561e,_0x2cbaaa)=>{const _0x11dcc1=_0x2d88b5,_0x156f84=_0x2cbaaa,_0x452a10=$(_0x11dcc1(0x24c))[_0x11dcc1(0x1e5)]()['appendTo'](_0x4f2d4c);_0x452a10[_0x11dcc1(0x274)]('id')[_0x11dcc1(0x26b)](_0x11dcc1(0x1ec))['removeClass'](_0x11dcc1(0x272))[_0x11dcc1(0x22b)](_0x11dcc1(0x23d),_0x42561e),_0x452a10[_0x11dcc1(0x280)](_0x11dcc1(0x22f))[_0x11dcc1(0x215)](_0x156f84['name']),_0x452a10[_0x11dcc1(0x280)](_0x11dcc1(0x21b))[_0x11dcc1(0x215)](_0x156f84['parameters'][_0x11dcc1(0x29c)]),_0x452a10[_0x11dcc1(0x280)]('.input-requestedMaxKeepAliveCount')['val'](_0x156f84['parameters']['requestedMaxKeepAliveCount']),_0x452a10['find'](_0x11dcc1(0x1dc))[_0x11dcc1(0x215)](_0x156f84['parameters'][_0x11dcc1(0x268)]),_0x452a10[_0x11dcc1(0x280)]('.input-maxNotificationsPerPublish')[_0x11dcc1(0x215)](_0x156f84['parameters'][_0x11dcc1(0x230)]||0x0),_0x452a10[_0x11dcc1(0x280)](_0x11dcc1(0x29d))[_0x11dcc1(0x215)](_0x156f84[_0x11dcc1(0x1df)][_0x11dcc1(0x246)]||0x0),_0x452a10[_0x11dcc1(0x280)](_0x11dcc1(0x203))['text'](''+_0x42561e),_0x156f84[_0x11dcc1(0x28c)]&&_0x452a10[_0x11dcc1(0x280)](_0x11dcc1(0x22f))['prop'](_0x11dcc1(0x209),!![]),_0x452a10['find'](_0x11dcc1(0x235))[_0x11dcc1(0x208)](_0x11dcc1(0x25d),_0x156f84['isDefault']),_0x156f84['isDefault']&&(_0x4f2d4c['find'](_0x11dcc1(0x29e))['addClass']('hide'),setTimeout(()=>_0x452a10['find'](_0x11dcc1(0x235))[_0x11dcc1(0x208)](_0x11dcc1(0x21a),!![]),0xa));},'removable':!![],'resizeItem':_0xc0eeb3}),_0x2d18cc=()=>{const _0x4d18af=_0x2d88b5,_0x52f9bb=_0x488f54[_0x4d18af(0x260)]||[];_0x52f9bb[_0x4d18af(0x249)]===0x0&&_0x52f9bb[_0x4d18af(0x255)]({'id':'s1','name':'Default\x20Subscription','isDefault':!![],'parameters':Object[_0x4d18af(0x26e)]({},_0x29737f)});_0x18f7d1[_0x4d18af(0x241)](_0x4d18af(0x28e));for(const _0x409e0a of _0x52f9bb){_0x18f7d1[_0x4d18af(0x241)](_0x4d18af(0x1fc),_0x409e0a);}};_0x2d18cc();}}});}()));
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgyZmEyYmQiLCJfMHgyMTJmOWYiLCJfMHgxYzE4NWEiLCJfMHgxNTJjNjAiLCJfMHgxYTZjNWYiLCJfMHgyNTNiYWYiLCJfMHgzY2VjN2MiLCJfMHgzM2JkNGYiLCJQcm9taXNlIiwiXzB4NTE4YjdhIiwiXzB4N2RhNDNiIiwiXzB4MTczMjliIiwiXzB4NWM1MTlmIiwiXzB4NDg3MDQ3IiwiXzB4MTE4M2RjIiwiXzB4MzcyOGQ2IiwiXzB4MzQwOTMxIiwiXzB4MmZkMjhkIiwiXzB4NWFjNjdhIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NGI1NDhiIiwiXzB4NDI2YmM1IiwiXzB4ZTA4Y2IwIiwiXzB4NGU3MmEwIiwiRXJyb3IiLCJfMHg1YzY2MjkiLCJfMHgyYTg2NGQiLCJfMHgzZWQ1NTYiLCJfMHgyMzNlZTkiLCJfMHg0ZmIwNTgiLCJfMHg0YzIwY2EiLCIkIiwiXzB4MzVkZjlhIiwiXzB4MzZmNjc3IiwiXzB4MTEzODI2IiwiXzB4NDQ0MzI5IiwiYm9keSIsIl8weDRkMDc1MSIsInVybCIsIl8weDU1ZjE5ZiIsImZldGNoIiwiSlNPTiIsIl8weDdiMTMyIiwiXzB4MzUxZGMxIiwiY29uc29sZSIsIl8weDIzMDFhOSIsIl8weDRhMDY4MSIsIl8weGU4ODBhZSIsIl8weDE4YmY5OSIsIl8weDMzNWQyOCIsIkFycmF5IiwiXzB4MmU1NGMzIiwiXzB4NDAyODQxIiwiXzB4OWE3ZDI1IiwiXzB4NDZkN2Q5IiwiXzB4NTI3ZTE1IiwiXzB4ZWVkZmYxIiwiXzB4MWFhN2JjIiwiXzB4MzgwNTA2IiwiXzB4NTVjZmIwIiwiRGF0ZSIsIl8weDI2MjE4NiIsIl8weDUxODExNyIsIl8weDI5NDJiNCIsIl8weDI4ZjI4NyIsIl8weDM5Nzc3OSIsIl8weDU0OWE1YyIsIl8weDI1YzI3MSIsIl8weDFlY2QxNiIsIl8weDU3NGU1YiIsIl8weDQ3ZTY0NCIsIl8weDMwMDU1NSIsIl8weDRiMjRmNCIsIl8weDI4MGJhMyIsImRvY3VtZW50IiwiXzB4NWE3ZDBkIiwiXzB4OWM0ZWM2IiwiXzB4MTYyMjVhIiwiXzB4MWUxODUzIiwiXzB4MzVlZjkyIiwiVVJMIiwiXzB4NjgyZWY4IiwiXzB4Mjk3MzdmIiwiUkVEIiwiXzB4MTVmMDJjIiwiXzB4ZTQwZmI0IiwiT2JqZWN0IiwiXzB4MTc0OTVkIiwiXzB4MjhkMmYzIiwiXzB4NTFiZDI3IiwiXzB4MjU5YzAxIiwiXzB4MmVmNGI0IiwiXzB4NDRkMTk1IiwiXzB4MjU1OGZkIiwiXzB4MTczZmZiIiwiXzB4MTgxMGU0IiwiXzB4MjJmMTdmIiwiXzB4NDg4ZjU0IiwiXzB4NThmYzdmIiwiXzB4MTU3NjFlIiwic2V0VGltZW91dCIsIl8weDM2NGI4NiIsIl8weDMyYWIyOSIsInVuZGVmaW5lZCIsIl8weDVhOGRiYyIsIl8weDQ4OTQyNyIsIl8weDI4Y2I0YiIsIl8weDJjZjM1MyIsIl8weDRhNGJhNCIsIl8weGMxODU5YiIsIl8weDEwNTYyZiIsIl8weDVmNGEwMSIsIl8weDU2ZDBlYSIsIl8weDM3MTM1MCIsIl8weDI1MWM3MiIsIl8weDE0YjYyZiIsIl8weDMxZGFkZSIsIl8weDE0YzQ1NiIsImFsZXJ0IiwiXzB4YzdlYWJkIiwiXzB4YzBlZWIzIiwiXzB4NTY1MGZiIiwiXzB4MzE0Y2I2IiwiXzB4OGNkN2QyIiwiXzB4MThmN2QxIiwiXzB4NGYyZDRjIiwiXzB4NDI1NjFlIiwiXzB4MmNiYWFhIiwiXzB4MTU2Zjg0IiwiXzB4NDUyYTEwIiwiXzB4MmQxOGNjIiwiXzB4NTJmOWJiIiwiXzB4NDA5ZTBhIl0sIm1hcHBpbmdzIjoibWxLQUFBLENBQUMsVSxDQUNHLGEsd0JBbUJBLFNBQVNBLFNBQVQsQ0FBbUJDLFNBQW5CLENBQTRCQyxTQUE1QixDQUF3Q0MsU0FBeEMsQ0FBMkNDLFNBQTNDLEMsQ0FDSSxTQUFTQyxTQUFULENBQWVDLFNBQWYsQyxRQUErQkEsU0FBQSxZQUFpQkgsU0FBakIsQ0FBcUJHLFNBQXJCLENBQTZCLElBQUlILFNBQUosQ0FBTSxTQUFVSSxTQUFWLEMsQ0FBcUJBLFNB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QSxDLGdCQUFBLEUsZ0JBQUEsRyxHQUFwQyxDLENBQ0FDLFNBQUEsQyxnQkFBQSxFLGdCQUFBLEUsTUFBQSxFLEVBQXNDLENBQUtILFNBQTNDLEMsQ0FDSUUsU0FBQSxDLGdCQUFBLEMsRUFDQUMsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsRSxNQUFBLEUsZ0JBQUEsQyxJQUFBLEMsQ0FFSkEsU0FBQSxDLE1BQUEsRSxnQkFBQSxFLGdCQUFBLEUsZ0JBQUEsQ0FBaURELFNBQUEsQyxXQUFBLENBQWpELEMsQ0FFSUEsU0FBQSxDLFdBQUEsQyxHQUNBSCxTQUFBLEMsTUFBQSxFLGdCQUFBLEUsVUFBQSxFLE1BQUEsQyxDQUNBekIsVUFBQSxDQUFXLElBQU02QixTQUFBLEMsTUFBQSxFLGdCQUFBLEUsZ0JBQUEsRSxnQkFBQSxDLElBQUEsQ0FBakIsQyxHQUFBLEMsR0FuQk0sQyxXQXVCZCxDLElBdkJjLEMsWUF3QmQsQ0FBWVQsU0F4QkUsQ0FGTyxDQUp6QixDQWdDTVUsU0FBQSxDQUFrQixJLDJCQUNkQyxTQUFBLENBQWdCbEMsU0FBQSxDLGdCQUFBLEdBQXNCLEUsQ0FDeENrQyxTQUFBLEMsZ0JBQUEsSSxLQUVBQSxTQUFBLEMsZ0JBQUEsRUFBbUIsQyxJQUNmLEMsSUFEZSxDLE1BRWYsQyx5QkFGZSxDLFdBR2YsQyxJQUhlLEMsWUFJZixDQUFZN0MsTUFBQSxDLGdCQUFBLEVBQWMsRUFBZCxDQUFrQkosU0FBbEIsQ0FKRyxDQUFuQixDLENBT0owQyxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFQUNBLFVBQVdRLFNBQVgsSUFBMkJELFNBQTNCLEMsQ0FFSVAsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQ0FBeUNRLFNBQXpDLEMsR0E5Q1IsQ0FpREFGLFNBQUEsRSxHQXRWOEIsQ0FBMUMsQyxFQXZPSixHIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcbiAgICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxuICAgIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcbiAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcbiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG4gICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sICovXHJcblxyXG5cclxuICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgICAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xyXG4gICAgICAgIHZhciBlID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybiBlLm5hbWUgPSBcIlN1cHByZXNzZWRFcnJvclwiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7XHJcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gbWFuYWdlQVBJQ2FsbChwcmVmaXgsIGJ0biwgZnVuYywgb25SZXN1bHQpIHtcbiAgICAgICAgY29uc3Qgc3VjY2Vzc0ljb24gPSAkKGAjJHtwcmVmaXh9LXN1Y2Nlc3NgKTtcbiAgICAgICAgY29uc3QgZmFpbHVyZUljb24gPSAkKGAjJHtwcmVmaXh9LWZhaWx1cmVgKTtcbiAgICAgICAgY29uc3QgcGVuZGluZ0ljb24gPSAkKGAjJHtwcmVmaXh9LXBlbmRpbmdgKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSAkKGAjJHtwcmVmaXh9LW1lc3NhZ2VzYCk7XG4gICAgICAgIGxldCBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN1Y2Nlc3NJY29uLmhpZGUoKTtcbiAgICAgICAgZmFpbHVyZUljb24uaGlkZSgpO1xuICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgIGJ0bi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChhY3Rpb25QZW5kaW5nKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24uaHRtbChcIlRlc3RpbmcgQ29ubmVjdGlvbiAuLi5cIik7XG4gICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBmYWlsdXJlSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiXCIpO1xuICAgICAgICAgICAgY29uc3QgeyBib2R5LCB1cmwgfSA9IGZ1bmMoKTtcbiAgICAgICAgICAgIC8vIHh4IGNvbnNvbGUubG9nKFwieHh4eHhcIiwgYm9keSk7XG4gICAgICAgICAgICBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IGRhdGEuanNvbigpKVxuICAgICAgICAgICAgICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCBcIiBcIikpO1xuICAgICAgICAgICAgICAgIGlmIChqc29uLnJlc3VsdCA9PT0gXCJva1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGpzb24ubWVzc2FnZS5yZXBsYWNlKFwiXFxuXCIsIFwiPGJyPlwiKSk7XG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0KG51bGwsIGpzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQgPSAoc3RyKSA9PiAhc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgoYSkgPT4gYDxwPiR7YX08L3A+YClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQyID0gKHN0cikgPT4gKEFycmF5LmlzQXJyYXkoc3RyKSA/IHN0ci5tYXAoYWRhcHQpLmpvaW4oXCJcXG5cIikgOiBhZGFwdChzdHIpKTtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoYWRhcHQyKGpzb24ubWVzc2FnZSkgKyBhZGFwdDIoanNvbi5leHRyYSkpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChuZXcgRXJyb3IoanNvbi5yZXN1bHQpLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoXCJpbnRlcm5hbCBlcnJvciBcIiArIGVyci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVyclwiLCBlcnIpO1xuICAgICAgICAgICAgICAgIG9uUmVzdWx0KGVyciwgbnVsbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpY2luZ1RhYmxlSWQgPSBcInByY3RibF8xT0p0NDlCQ05jY2J6c1Z6a2FBTk9nRkxcIjtcbiAgICBjb25zdCBwdWJsaXNoYWJsZUtleSA9IFwicGtfbGl2ZV81MUhzRTFzQkNOY2NienNWenQ3emFxMnV2MjBwa3J5V2xsQXp2WmdaZDVBaHdGSTlBM3FCSWVPSnZKd1FGMDhsRG9McEZxTGp3bXlBNzl3blBuWUxzdktqdDAwOWYwMFZwQ1dcIjtcbiAgICBmdW5jdGlvbiBmZXRjaExpY2VuY2VJbmZvKGJhc2VVcmwgPSBcIlwiKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZW5kcG9pbnQyYDtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2xpY2VuY2VJbmZvYDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2hpbmcgZmFpbGVkIHdpdGggZXJyb3JcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBcIkZBSUxFRFwiLCB0eXBlOiBcIkZSRUVXQVJFXCIsIGxpY2VuY2VJbmZvOiB7IGV4cGlyeURhdGU6IHRvZGF5IH0gfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgICAgIHJldHVybiBqc29uO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVjbGFyZUxpY2VuY2VXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubGljZW5jZVdpZGdldFwiLCB7XG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRhY3RMaW5rID0gYDxhIGhyZWY9XCJtYWlsdG86c3VwcG9ydEBzdGVyZml2ZS5jb21cIiBzdWJqZWN0PVwiQG9wY3VhL2Zvci1ub2RlLXJlZCBzdXBwb3J0IHJlcXVlc3RcIj5tYWlsdG86c3VwcG9ydEBzdGVyZml2ZS5jb208L2E+YDtcbiAgICAgICAgICAgICAgICBjb25zdCB3ZWJzaXRlTGluayA9IGA8YSBocmVmPVwiaHR0cHM6Ly93d3cuc3RlcmZpdmUuY29tL29wY3VhL2Zvci1ub2RlLXJlZFwiIHRhcmdldD3igJ1fYmxhbmvigJ0+U3RlcmZpdmUncyB3ZWJzaXRlIDwvYT5gO1xuICAgICAgICAgICAgICAgIGZldGNoTGljZW5jZUluZm8odGhhdC5iYXNlVXJsKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaWNvbiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtc2cgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGV0YWlscyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGpzb24uc3RhdHVzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXlMZWZ0ID0ganNvbi5kYXlzTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJBVVRIT1JJWkVEXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtY2hlY2stY2lyY2xlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChqc29uLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlRSSUFMXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiVHJpYWwgbGljZW5jZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBUaGUgVHJpYWwgd2lsbCBleHBpcmUgaW4gJHtkYXlMZWZ0fSBkYXlzLlxcbkJ1eSBvbmxpbmUgYW5kIHZpc2l0ICR7d2Vic2l0ZUxpbmt9IHRvIGFjcXVpcmUgYSBsaWNlbnNlLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiUFJPRkVTU0lPTkFMXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBgWW91ciBsaWNlbmNlIGlzIHZhbGlkLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF5TGVmdCA8IDkwICYmIGRheUxlZnQgPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyArPSBgIEl0IHdpbGwgZXhwaXJlIGluICR7ZGF5TGVmdH0gZGF5cy5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGV0YWlscyA9IGAke3dlYnNpdGVMaW5rfTxicj4ke2NvbnRhY3RMaW5rfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0ganNvbi5saWNlbmNlSW5mby5saWNlbmNlVHlwZSArIFwiIC0gXCIgKyAoanNvbi5saWNlbmNlSW5mby5vblByZW1pc2VTZXJ2ZXJIb3N0IHx8IFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJGUkVFV0FSRVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJGcmVld2FyZSBsaWNlbmNlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gYFRoaXMgaXMgYSBmcmVld2FyZSBsaWNlbmNlLCBhbmQgaGF2ZSBzb21lIGxpbWl0YXRpb25zLlxcbiR7d2Vic2l0ZUxpbmt9IGZvciBtb3JlIGluZm9ybWF0aW9uLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRVhQSVJFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNhbGVuZGFyLXRpbWVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkxpY2VuY2UgaGFzIGV4cGlyZWRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJZb3VyIGxpY2Vuc2UgaGFzIGV4cGlyZWQuIFBsZWFzZSBjb250YWN0IG91ciBzdXBwb3J0IHRlYW0gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJGQUlMRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJZb3VyIGxpY2Vuc2UgaXMgY3VycmVudGx5IGludmFsaWQuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBQbGVhc2UgY29udGFjdCAke2NvbnRhY3RMaW5rfSBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLsyAYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvKiogKi9cbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5lbGVtZW50LnRleHQoXCJMaWNlbmNlIFwiICsgSlNPTi5zdHJpbmdpZnkoanNvbikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldFwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1pY29uXCIpLmFwcGVuZCgkKFwiPGk+XCIpLmFkZENsYXNzKGljb24pKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LW1zZ1wiKS50ZXh0KG1zZykpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8YnI+XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtZGV0YWlsc1wiKS5hcHBlbmQoZGV0YWlscykpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzID09PSBcIkVYUElSRURcIiB8fCBzdGF0dXMgPT09IFwiRkFJTEVEXCIgfHwganNvbi50eXBlID09PSBcIkZSRUVXQVJFXCIgfHwganNvbi50eXBlID09PSBcIlRSSUFMXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmliZUJ1dHRvbiA9ICQoXCI8YnV0dG9uLz5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcImlkXCIsIFwic3Vic2NyaWJlLWJ1dHRvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5hdHRyKFwiY2xhc3NcIiwgXCJidG4gYnRuLXByaW1hcnlcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcInN0eWxlXCIsIFwibWFyZ2luLXRvcDogMjBweDtcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24udGV4dChcIlN1YnNjcmliZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3Vic2NyaWJlQnV0dG9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgdGhlIHNjcmlwdCBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQuc3JjID0gXCJodHRwczovL2pzLnN0cmlwZS5jb20vdjMvcHJpY2luZy10YWJsZS5qc1wiO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgc2NyaXB0IGVsZW1lbnQgdG8gdGhlIGhlYWQgKG9yIGJvZHkpIG9mIHRoZSBkb2N1bWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgJChcImhlYWRcIikuYXBwZW5kKHNjcmlwdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJpcGVQcmljaW5nVGFibGUgPSAkKFwiPHN0cmlwZS1wcmljaW5nLXRhYmxlLz5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgdGhlIGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5hdHRyKFwicHJpY2luZy10YWJsZS1pZFwiLCBwcmljaW5nVGFibGVJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInB1Ymxpc2hhYmxlLWtleVwiLCBwdWJsaXNoYWJsZUtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInN0eWxlXCIsIFwiaGVpZ2h0OiAxMDAlO21heC1oZWlnaHQ6IDEwMCU7XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3RyaXBlUHJpY2luZ1RhYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmF0dHIoXCJzdHlsZVwiLCBcImhlaWdodDogMTAwJSAhaW1wb3J0YW50O1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBkZWNsYXJlTGljZW5jZVdpZGdldCgpO1xuICAgIGZ1bmN0aW9uIGlzVmFsaWRPUENfVUFfVVJJKHN0cikge1xuICAgICAgICBsZXQgdXJsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gbmV3IFVSTChzdHIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybC5wcm90b2NvbCA9PT0gXCJvcGMudGNwOlwiO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyA9IHtcbiAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMDAsXG4gICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMCwgLy8gZXZlcnkgMTAgc2Vjb25kc1xuICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDEwMDAsXG4gICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAwLFxuICAgICAgICBwcmlvcml0eTogMTAwLFxuICAgIH07XG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUVuZHBvaW50MlwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcImNvbmZpZ1wiLFxuICAgICAgICBwYWxldHRlTGFiZWw6IFwib3BjdWEgZW5kcG9pbnRcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDMvVUEvU2FtcGxlU2VydmVyXCIsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6IGlzVmFsaWRPUENfVUFfVVJJLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIFNlY3VyaXR5IE1vZGVcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogeyB2YWx1ZTogXCJOb25lXCIgfSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwiTm9uZVwiLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiB7IHZhbHVlOiBcIkFub255bW91c1wiIH0sXG4gICAgICAgICAgICBwa2lOYW1lOiB7IHZhbHVlOiBcIlwiLCB2YWxpZGF0ZTogKHZhbHVlKSA9PiAoIXZhbHVlIHx8IHZhbHVlLm1hdGNoKC9bMC05YS16QS1aXSovKSA/IHRydWUgOiBmYWxzZSkgfSxcbiAgICAgICAgICAgIC8vIHRvIHVzZSB3aGVuIHVzZXJJZGVudGl0eVR5cGUgaXMgVXNlck5hbWVcbiAgICAgICAgICAgIC8vIGNyZWRlbnRpYWxzOiB7XG4gICAgICAgICAgICAvLyAgICAgdXNlck5hbWU6IHsgdmFsdWU6IFwiXCIsIHR5cGU6IFwidGV4dFwiIH0sXG4gICAgICAgICAgICAvLyAgICAgcGFzc3dvcmQ6IHsgdmFsdWU6IFwiXCIsIHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICAgICAgLy8gICAgIC8vIHRvIHVzZSB3aGVuIHVzZXJJZGVudGl0eVR5cGUgaXMgQ2VydGlmaWNhdGVcbiAgICAgICAgICAgIC8vICAgICB1c2VyQ2VydGlmaWNhdGU6IHsgdmFsdWU6IFwiXCIsIHR5cGU6IFwidGV4dFwiIH0sXG4gICAgICAgICAgICAvLyAgICAgdXNlclByaXZhdGVrZXk6IHsgdmFsdWU6IFwiXCIgLCB0eXBlOiBcInBhc3N3b3JkXCJ9LFxuICAgICAgICAgICAgLy8gfSBhcyBhbnkgLyogY2lyY3VtdmVudCBhIGJ1ZyBpbiBub2RlLXJlZCAqLyxcbiAgICAgICAgICAgIC8vIHVzZXJuYW1lXG4gICAgICAgICAgICB1c2VUcmFuc3BvcnQ6IHsgdmFsdWU6IGZhbHNlLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heENodW5rQ291bnQ6IHsgdmFsdWU6IDEsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgbWF4TWVzc2FnZVNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LCAvLyBzaG91bGQgYmUgYXQgbGVhc3QgODE5MlxuICAgICAgICAgICAgcmVjZWl2ZUJ1ZmZlclNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgc2VuZEJ1ZmZlclNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uczoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIlNsb3cgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMjAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiA1MDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IDEwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRmFzdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogNDAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogMjUwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IDIwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBjcmVkZW50aWFsczoge1xuICAgICAgICAgICAgdXNlck5hbWU6IHsgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiB7IHR5cGU6IFwidGV4dFwiIH0sXG4gICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogeyB0eXBlOiBcInBhc3N3b3JkXCIgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWw6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgfHwgdGhpcy5lbmRwb2ludCB8fCBcImludmFsaWQgZW5kcG9pbnRcIjtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0c2F2ZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eVBvbGljeSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlQb2xpY3lcIik7XG4gICAgICAgICAgICBjb25zdCBfc2VjdXJpdHlNb2RlID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIik7XG4gICAgICAgICAgICBpZiAoX3NlY3VyaXR5UG9saWN5LnZhbCgpID09PSBcIk5vbmVcIikge1xuICAgICAgICAgICAgICAgIF9zZWN1cml0eU1vZGUudGV4dChcIk5vbmVcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAoKCgoKCgoKCgoIHJldHJpZXZlIHN1YnNjcmlwdGlvbiBkYXRhICkpKSkpKSkpKSlcbiAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnNJdGVtcyA9ICQoXCIjc3Vic2NyaXB0aW9ucy1jb250YWluZXJcIikuZWRpdGFibGVMaXN0KFwiaXRlbXNcIik7XG4gICAgICAgICAgICBjb25zdCBzID0gW107XG4gICAgICAgICAgICBjb25zdCBuID0gKHgpID0+IHg7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb25zSXRlbXMuZWFjaChmdW5jdGlvbiAoaW5kZXgsIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBhID0ge1xuICAgICAgICAgICAgICAgICAgICBpZDogXCJzXCIgKyBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogZS5maW5kKFwiLmlucHV0LW5hbWVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogISFlLmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogISFlLmZpbmQoXCIuaW5wdXQtcHVibGlzaGluZ0VuYWJsZWRcIikuaXMoXCI6Y2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IG4oZS5maW5kKFwiLmlucHV0LXJlcXVlc3RlZExpZmV0aW1lQ291bnRcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IG4oZS5maW5kKFwiLmlucHV0LXJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50XCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsXCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiBuKGUuZmluZChcIi5pbnB1dC1tYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogbihlLmZpbmQoXCIuaW5wdXQtcHJpb3JpdHlcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gZm9yY2UgdG8gYmUgdHJ1ZVxuICAgICAgICAgICAgICAgIGEucGFyYW1ldGVycy5wdWJsaXNoaW5nRW5hYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKGEuaXNEZWZhdWx0ICYmIGEuaWQgPT09IFwiczBcIikge1xuICAgICAgICAgICAgICAgICAgICAvLyBub3JtYWxpemUgZGVmYXVsdCBzdWJzY3JpcHRpb24gbmFtZVxuICAgICAgICAgICAgICAgICAgICBhLm5hbWUgPSBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHMucHVzaChhKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zID0gcztcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0cHJlcGFyZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzO1xuICAgICAgICAgICAgY29uc3QgdGFicyA9IFJFRC50YWJzLmNyZWF0ZSh7XG4gICAgICAgICAgICAgICAgaWQ6IFwibm9kZS1jb25maWctZW5kcG9pbnQtdGFic1wiLFxuICAgICAgICAgICAgICAgIG9uY2hhbmdlOiBmdW5jdGlvbiAodGFiKSB7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctZW5kcG9pbnQtdGFicy1jb250ZW50XCIpLmNoaWxkcmVuKCkuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI1wiICsgdGFiLmlkKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGFicy5hZGRUYWIoe1xuICAgICAgICAgICAgICAgIGlkOiBcImVuZHBvaW50LXRhYi1jb25uZWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiQ29ubmVjdGlvblwiLFxuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICB0YWJzLmFkZFRhYih7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZW5kcG9pbnQtdGFiLXN1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogXCJTdWJzY3JpcHRpb25zXCIsXG4gICAgICAgICAgICB9LCAxKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHRhYnMucmVzaXplKCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgU2VjdXJpdHkgY29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlU2VjdXJpdHlDb250cm9sID0gKHNlY3VyaXR5TW9kZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHNlY3VyaXR5TW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBudWxsOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiTm9uZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIuc2VjdGlvbi1zZWN1cml0eVBvbGljeVwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiU2lnblwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlNpZ25BbmRFbmNyeXB0XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzcCA9ICQoXCIuc2VjdGlvbi1zZWN1cml0eVBvbGljeVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNwLnZhbCgpID09PSBcIk5vbmVcIiB8fCBzcC52YWwoKSA9PT0gXCJcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3AudmFsKFwiQmFzaWMyNTZTaGEyNTZcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW52YWxpZCBzZWN1cml0eU1vZGUgXCIgKyBzZWN1cml0eU1vZGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVTZWN1cml0eUNvbnRyb2wobm9kZS5zZWN1cml0eU1vZGUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eU1vZGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKTtcbiAgICAgICAgICAgICAgICBfc2VjdXJpdHlNb2RlLm9uKFwiY2hhbmdlXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3U2VjdXJpdHlNb2RlID0gX3NlY3VyaXR5TW9kZS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlU2VjdXJpdHlDb250cm9sKG5ld1NlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsaWNlbmNlV2lkZ2V0ID0gJChcIiNsaWNlbmNlV2lkZ2V0XCIpO1xuICAgICAgICAgICAgbGljZW5jZVdpZGdldC5saWNlbmNlV2lkZ2V0KHtcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIHRoZSBVc2VyIElkZW50aXR5IENvbnRyb2xzXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IGF1dGhSb3cgPSAkKFwiLnNlY3Rpb24tdXNlcklkZW50aXR5VHlwZS1Vc2VyTmFtZVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjZXJ0Um93ID0gJChcIi5zZWN0aW9uLXVzZXJJZGVudGl0eVR5cGUtQ2VydGlmaWNhdGVcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlSWRlbnRpdHlDb250cm9scyA9ICh1c2VySWRlbnRpdHlUeXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGUgPSB1c2VySWRlbnRpdHlUeXBlIHx8IFwiQW5vbnltb3VzXCI7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodXNlcklkZW50aXR5VHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkFub255bW91c1wiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlVzZXJOYW1lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQ2VydGlmaWNhdGVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnZhbGlkIHVzZXJJZGVudGl0eVR5cGUgXCIgKyB1c2VySWRlbnRpdHlUeXBlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdXBkYXRlSWRlbnRpdHlDb250cm9scyhub2RlLnVzZXJJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IF91c2VySWRlbnRpdHlUeXBlID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VySWRlbnRpdHlUeXBlXCIpO1xuICAgICAgICAgICAgICAgIF91c2VySWRlbnRpdHlUeXBlLm9uKFwiY2hhbmdlXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3SWRlbnRpdHlUeXBlID0gX3VzZXJJZGVudGl0eVR5cGUudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUlkZW50aXR5Q29udHJvbHMobmV3SWRlbnRpdHlUeXBlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgYWR2YW5jZWQgY29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLUFkdmFuY2VkXCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAkKFwiI3RvZ2dsZUFkdmFuY2VkU2VjdGlvblwiKS5wcm9wKFwiY2hlY2tlZFwiLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgJChcIiN0b2dnbGVBZHZhbmNlZFNlY3Rpb25cIikub24oXCJjaGFuZ2VcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5wcm9wKFwiY2hlY2tlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQsIHNob3cgdGhlIGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLUFkdmFuY2VkXCIpLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgaGlkZSBpdFxuICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLUFkdmFuY2VkXCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdXNlVHJhbnNwb3J0U2V0dGluZyA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlVHJhbnNwb3J0XCIpLnByb3AoXCJjaGVja2VkXCIpO1xuICAgICAgICAgICAgaWYgKHVzZVRyYW5zcG9ydFNldHRpbmcpIHtcbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tVHJhbnNwb3J0U2V0dGluZ3NcIikuc2hvdygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLVRyYW5zcG9ydFNldHRpbmdzXCIpLmhpZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlVHJhbnNwb3J0XCIpLm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5wcm9wKFwiY2hlY2tlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgY2hlY2tib3ggaXMgY2hlY2tlZCwgc2hvdyB0aGUgZGl2XG4gICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1UcmFuc3BvcnRTZXR0aW5nc1wiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGhpZGUgaXRcbiAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLVRyYW5zcG9ydFNldHRpbmdzXCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBjaGVja0NlcnRpZmljYXRlXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICQoXCIjY2hlY2tDZXJ0aWZpY2F0ZVwiKS5vbihcImNsaWNrXCIsICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKFwiL29wY3VhLWVuZHBvaW50Mi9jbGllbnRfY2VydGlmaWNhdGUuanNvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ID0gSlNPTi5zdHJpbmdpZnkoaW5mbywgbnVsbCwgXCIgXCIpO1xuICAgICAgICAgICAgICAgICAgICBhbGVydCh0KTtcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIHRoZSBUZXN0IGJ1dHRvblxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtYW5hZ2VBUElDYWxsKFwiY29ubmVjdGlvblwiLCAkKFwiI3Rlc3QtY29ubmVjdGlvblwiKSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBcIi9vcGN1YS1lbmRwb2ludDIvdGVzdC1jb25uZWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBub2RlLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludDogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1lbmRwb2ludFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1uYW1lXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2lOYW1lOiAoX2EgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBraU5hbWVcIikpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlNb2RlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3k6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlQb2xpY3lcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlcklkZW50aXR5VHlwZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlck5hbWU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyQ2VydGlmaWNhdGU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlckNlcnRpZmljYXRlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyUHJpdmF0ZWtleVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vIG5vdCB0ZXN0ZWQgeWV0IC4uLjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydGlmaWNhdGU6ICQoXCIjbm9kZS1pbnB1dC1jZXJ0aWZpY2F0ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiAkKFwiI25vZGUtaW5wdXQtdXNlVHJhbnNwb3J0XCIpLnByb3AoXCJjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhDaHVua0NvdW50OiAkKFwiI25vZGUtaW5wdXQtbWF4Q2h1bmtDb3VudFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4TWVzc2FnZVNpemU6ICQoXCIjbm9kZS1pbnB1dC1tYXhNZXNzYWdlU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZUJ1ZmZlclNpemU6ICQoXCIjbm9kZS1pbnB1dC1yZWNlaXZlQnVmZmVyU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VuZEJ1ZmZlclNpemU6ICQoXCIjbm9kZS1pbnB1dC1zZW5kQnVmZmVyU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSwgKCkgPT4geyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyAgSW5zdGFsbCBzdWJzY3JpcHRpb25zIExpc3QgbWFuYWdlbWVudFxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNpemVUb3BpY3MgPSAodG9waWMsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBuZXdXaWR0aCA9IHRvcGljLndpZHRoKCkgfHwgMTAwO1xuICAgICAgICAgICAgICAgICAgICB0b3BpYy5maW5kKFwibGFiZWxcIikudHlwZWRJbnB1dChcIndpZHRoXCIsIG5ld1dpZHRoIC0gMTUpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uTGlzdCA9ICQoXCIjc3Vic2NyaXB0aW9ucy1jb250YWluZXJcIilcbiAgICAgICAgICAgICAgICAgICAgLmNzcyh7IFwibWluLWhlaWdodFwiOiBcIjE1MHB4XCIsIFwibWluLXdpZHRoXCI6IFwiMjYwcHhcIiB9KVxuICAgICAgICAgICAgICAgICAgICAuZWRpdGFibGVMaXN0KHtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXRlbTogKGNvbnRhaW5lciwgaW5kZXgsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IF9kYXRhID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSAkKFwiLnRlbXBsYXRlXCIpLmNsb25lKCkuYXBwZW5kVG8oY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cihcImlkXCIpLnJlbW92ZUNsYXNzKFwiaGlkZVwiKS5yZW1vdmVDbGFzcyhcInRlbXBsYXRlXCIpLmF0dHIoXCJkYXRhLWlcIiwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW5hbWVcIikudmFsKF9kYXRhLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRMaWZldGltZUNvdW50XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZExpZmV0aW1lQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLm1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIHx8IDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXByaW9yaXR5XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnByaW9yaXR5IHx8IDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLnN1YnNjcmlwdGlvbi1pZFwiKS50ZXh0KFwiXCIgKyBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2RhdGEuaXNEZWZhdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW5hbWVcIikucHJvcChcInJlYWRvbmx5XCIsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS5wcm9wKFwiY2hlY2tlZFwiLCBfZGF0YS5pc0RlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgZGVmYXVsdCBzdWJzY3JpcHRpb24gY2Fubm90IGJlIGFjY2lkZW50YWxseSByZW1vdmVkXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2RhdGEuaXNEZWZhdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmZpbmQoXCIucmVkLXVpLWVkaXRhYmxlTGlzdC1pdGVtLXJlbW92ZVwiKS5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBlbGVtZW50LmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnByb3AoXCJkaXNhYmxlZFwiLCB0cnVlKSwgMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAvLyBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZXNpemVJdGVtOiByZXNpemVUb3BpY3MsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgQWRkU3Vic2NyaXB0aW9uID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zID0gbm9kZS5zdWJzY3JpcHRpb25zIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBtaXNzaW5nIGRlZmF1bHQgc3Vic2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyksXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25MaXN0LmVkaXRhYmxlTGlzdChcImVtcHR5XCIpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBzdWJzY3JpcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzdWJzY3JpcHRpb24uaXNEZWZhdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25MaXN0LmVkaXRhYmxlTGlzdChcImFkZEl0ZW1cIiwgc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgQWRkU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
|
7
|
+
function _0x56bd(_0x8c4aad,_0x474ea5){const _0x35caea=_0x35ca();return _0x56bd=function(_0x56bd4c,_0x2dd876){_0x56bd4c=_0x56bd4c-0x19f;let _0x16d18c=_0x35caea[_0x56bd4c];return _0x16d18c;},_0x56bd(_0x8c4aad,_0x474ea5);}(function(_0xbc8306,_0xcb6cc0){const _0x10c4d2=_0x56bd,_0x9419=_0xbc8306();while(!![]){try{const _0x8ecc02=parseInt(_0x10c4d2(0x263))/0x1*(-parseInt(_0x10c4d2(0x1aa))/0x2)+parseInt(_0x10c4d2(0x264))/0x3+parseInt(_0x10c4d2(0x220))/0x4+parseInt(_0x10c4d2(0x1c4))/0x5+-parseInt(_0x10c4d2(0x202))/0x6*(-parseInt(_0x10c4d2(0x203))/0x7)+parseInt(_0x10c4d2(0x1b4))/0x8+parseInt(_0x10c4d2(0x1f1))/0x9*(-parseInt(_0x10c4d2(0x214))/0xa);if(_0x8ecc02===_0xcb6cc0)break;else _0x9419['push'](_0x9419['shift']());}catch(_0x1afc63){_0x9419['push'](_0x9419['shift']());}}}(_0x35ca,0x620c4),(function(){'use strict';const _0x1decc8=_0x56bd;function _0x21fa33(_0xd2dacc,_0x55502c,_0x203079,_0x5ce7b2){function _0x2497f0(_0x325502){return _0x325502 instanceof _0x203079?_0x325502:new _0x203079(function(_0x510f9b){_0x510f9b(_0x325502);});}return new(_0x203079||(_0x203079=Promise))(function(_0x5d7293,_0x24d0d7){const _0x234a2b=_0x56bd;function _0x524008(_0x580fef){try{_0x178b18(_0x5ce7b2['next'](_0x580fef));}catch(_0x593503){_0x24d0d7(_0x593503);}}function _0x385296(_0x1871a0){try{_0x178b18(_0x5ce7b2['throw'](_0x1871a0));}catch(_0x2b2012){_0x24d0d7(_0x2b2012);}}function _0x178b18(_0x3a5ae6){const _0x3c084b=_0x56bd;_0x3a5ae6['done']?_0x5d7293(_0x3a5ae6['value']):_0x2497f0(_0x3a5ae6[_0x3c084b(0x243)])[_0x3c084b(0x1d2)](_0x524008,_0x385296);}_0x178b18((_0x5ce7b2=_0x5ce7b2['apply'](_0xd2dacc,_0x55502c||[]))[_0x234a2b(0x234)]());});}typeof SuppressedError===_0x1decc8(0x1ba)?SuppressedError:function(_0x2e9299,_0x521866,_0x304619){const _0x3daf03=_0x1decc8;var _0xfbe339=new Error(_0x304619);return _0xfbe339[_0x3daf03(0x1cc)]=_0x3daf03(0x1ec),_0xfbe339[_0x3daf03(0x244)]=_0x2e9299,_0xfbe339[_0x3daf03(0x1b0)]=_0x521866,_0xfbe339;};function _0xa59bba(_0x43c3d1,_0x23a9be,_0x5cb858,_0x2e8dd5){const _0x5d061e=_0x1decc8,_0x5ee0a8=$('#'+_0x43c3d1+_0x5d061e(0x241)),_0x39ce6f=$('#'+_0x43c3d1+'-failure'),_0x32c090=$('#'+_0x43c3d1+_0x5d061e(0x249)),_0x211e16=$('#'+_0x43c3d1+_0x5d061e(0x1c9));let _0x2da91f=![];_0x5ee0a8[_0x5d061e(0x1c5)](),_0x39ce6f[_0x5d061e(0x1c5)](),_0x32c090['hide'](),_0x23a9be['on'](_0x5d061e(0x20d),()=>{const _0x259526=_0x5d061e;if(_0x2da91f)return;_0x2da91f=!![],_0x32c090[_0x259526(0x226)](_0x259526(0x1c5)),_0x32c090[_0x259526(0x23a)](_0x259526(0x1e5)),_0x5ee0a8[_0x259526(0x227)](_0x259526(0x1c5)),_0x39ce6f[_0x259526(0x227)]('hide'),_0x211e16[_0x259526(0x23a)]('');const {body:_0x2beff7,url:_0x19908d}=_0x5cb858();fetch(_0x19908d,{'method':'POST','headers':{'Content-Type':_0x259526(0x229)},'body':JSON['stringify'](_0x2beff7)})[_0x259526(0x1d2)](_0x3a5e95=>_0x3a5e95[_0x259526(0x20e)]())[_0x259526(0x1d2)](_0x57ac41=>{const _0x54e5c8=_0x259526;_0x2da91f=![],_0x32c090[_0x54e5c8(0x1c5)](),console[_0x54e5c8(0x245)](JSON['stringify'](_0x57ac41,null,'\x20'));if(_0x57ac41['result']==='ok')_0x5ee0a8[_0x54e5c8(0x226)](_0x54e5c8(0x1c5)),_0x39ce6f[_0x54e5c8(0x227)](_0x54e5c8(0x1c5)),_0x211e16[_0x54e5c8(0x23a)](_0x57ac41[_0x54e5c8(0x1df)]['replace']('\x0a','<br>')),_0x2e8dd5(null,_0x57ac41);else{const _0x53cfc2=_0x6ed6c6=>!_0x6ed6c6?'':_0x6ed6c6['split']('\x0a')[_0x54e5c8(0x1c7)](_0x46827c=>_0x54e5c8(0x1e2)+_0x46827c+_0x54e5c8(0x1ed))['join']('\x0a'),_0x43ba5e=_0xf6a63c=>Array[_0x54e5c8(0x205)](_0xf6a63c)?_0xf6a63c[_0x54e5c8(0x1c7)](_0x53cfc2)[_0x54e5c8(0x1f8)]('\x0a'):_0x53cfc2(_0xf6a63c);_0x5ee0a8[_0x54e5c8(0x227)]('hide'),_0x39ce6f['removeClass'](_0x54e5c8(0x1c5)),_0x211e16['html'](_0x43ba5e(_0x57ac41[_0x54e5c8(0x1df)])+_0x43ba5e(_0x57ac41[_0x54e5c8(0x1d1)])),_0x2e8dd5(new Error(_0x57ac41[_0x54e5c8(0x1ea)]),_0x57ac41);}})[_0x259526(0x1a3)](_0x2ffffa=>{const _0xa360f9=_0x259526;_0x2da91f=![],_0x32c090['addClass'](_0xa360f9(0x1c5)),_0x5ee0a8[_0xa360f9(0x227)]('hide'),_0x39ce6f[_0xa360f9(0x226)](_0xa360f9(0x1c5)),_0x211e16['html'](_0xa360f9(0x1a7)+_0x2ffffa['message']),console[_0xa360f9(0x245)](_0xa360f9(0x1cb),_0x2ffffa),_0x2e8dd5(_0x2ffffa,null);});});}const _0x1f3ba0=_0x1decc8(0x213),_0x39dba5=_0x1decc8(0x222);function _0x1d7cb0(_0x2c648c=''){return _0x21fa33(this,void 0x0,void 0x0,function*(){const _0x1409ec=_0x56bd,_0xd6c453=_0x2c648c+'/opcua-endpoint2',_0x1605b8=_0xd6c453+_0x1409ec(0x1ef),_0x412ade=yield fetch(_0x1605b8,{'method':_0x1409ec(0x1ca),'headers':{'Content-Type':_0x1409ec(0x229)}}),_0x13e565=new Date()[_0x1409ec(0x238)]();if(_0x412ade[_0x1409ec(0x22b)]!==0xc8)return console[_0x1409ec(0x245)]('fetching\x20failed\x20with\x20error',_0x412ade['status'],_0x412ade[_0x1409ec(0x1db)]),{'status':_0x1409ec(0x254),'type':_0x1409ec(0x208),'licenceInfo':{'expiryDate':_0x13e565}};const _0x3ce589=yield _0x412ade[_0x1409ec(0x20e)]();return _0x3ce589;});}const _0x1edf14=()=>{const _0x339815=_0x1decc8;$[_0x339815(0x21a)](_0x339815(0x217),{'options':{'baseUrl':''},'_create'(){const _0x4ec4b4=_0x339815,_0x35868e=this,_0x1fa163=_0x4ec4b4(0x23e),_0x4b75f3=_0x4ec4b4(0x1ae);_0x1d7cb0(_0x35868e[_0x4ec4b4(0x218)])[_0x4ec4b4(0x1d2)](_0xf9096d=>{const _0x2890ca=_0x4ec4b4;let _0x1d0532='',_0x1ac10c='',_0xa0a925='';const _0x3c2362=_0xf9096d[_0x2890ca(0x22b)],_0x591dbd=_0xf9096d[_0x2890ca(0x1bd)];switch(_0x3c2362){case _0x2890ca(0x1da):_0x1d0532='fa\x20fa-check-circle';switch(_0xf9096d['type']){case _0x2890ca(0x1a4):{_0x1ac10c=_0x2890ca(0x1af),_0xa0a925=_0x2890ca(0x1b9)+_0x591dbd+'\x20days.\x0aBuy\x20online\x20and\x20visit\x20'+_0x4b75f3+_0x2890ca(0x1a5);break;}case _0x2890ca(0x250):_0x1ac10c=_0x2890ca(0x233);_0x591dbd<0x5a&&_0x591dbd>=0x0&&(_0x1ac10c+=_0x2890ca(0x224)+_0x591dbd+'\x20days.');_0xa0a925=_0xf9096d[_0x2890ca(0x1ee)][_0x2890ca(0x207)]+'\x20-\x20'+(_0xf9096d[_0x2890ca(0x1ee)][_0x2890ca(0x1d6)]||'');break;case _0x2890ca(0x208):_0x1ac10c='Freeware\x20licence',_0xa0a925=_0x2890ca(0x1c0)+_0x4b75f3+_0x2890ca(0x248);break;}break;case _0x2890ca(0x247):_0x1d0532='fa\x20fa-calendar-time',_0x1ac10c=_0x2890ca(0x1fc),_0xa0a925=_0x2890ca(0x1d4);break;case _0x2890ca(0x254):default:_0x1d0532=_0x2890ca(0x23c),_0x1ac10c=_0x2890ca(0x228),_0xa0a925='Please\x20contact\x20'+_0x1fa163+_0x2890ca(0x223);break;}this[_0x2890ca(0x1ab)][_0x2890ca(0x227)]('licence-widget'),this[_0x2890ca(0x1ab)][_0x2890ca(0x227)](_0x2890ca(0x22f)+_0x3c2362),this[_0x2890ca(0x1ab)][_0x2890ca(0x232)]($(_0x2890ca(0x1ce))[_0x2890ca(0x227)]('licence-widget-icon')[_0x2890ca(0x232)]($(_0x2890ca(0x25d))[_0x2890ca(0x227)](_0x1d0532))),this['element'][_0x2890ca(0x232)]($('<span>')[_0x2890ca(0x227)]('licence-widget-msg')[_0x2890ca(0x204)](_0x1ac10c)),this[_0x2890ca(0x1ab)][_0x2890ca(0x232)]($(_0x2890ca(0x225))),this[_0x2890ca(0x1ab)][_0x2890ca(0x232)]($(_0x2890ca(0x1ce))['addClass'](_0x2890ca(0x256))['append'](_0xa0a925));if(_0x3c2362===_0x2890ca(0x247)||_0x3c2362==='FAILED'||_0xf9096d['type']===_0x2890ca(0x208)||_0xf9096d[_0x2890ca(0x25c)]==='TRIAL'){const _0x52e0bb=$(_0x2890ca(0x216));_0x52e0bb[_0x2890ca(0x1fb)]('id',_0x2890ca(0x22a)),_0x52e0bb[_0x2890ca(0x1fb)](_0x2890ca(0x1c8),_0x2890ca(0x1e7)),_0x52e0bb['attr'](_0x2890ca(0x266),_0x2890ca(0x24b)),_0x52e0bb[_0x2890ca(0x204)](_0x2890ca(0x23f)),this[_0x2890ca(0x1ab)]['append'](_0x52e0bb);const _0x3e6139=document[_0x2890ca(0x230)]('script');_0x3e6139[_0x2890ca(0x23b)]='https://js.stripe.com/v3/pricing-table.js',_0x3e6139['async']=!![],$(_0x2890ca(0x1eb))[_0x2890ca(0x232)](_0x3e6139);const _0xea216f=$(_0x2890ca(0x1c6));_0xea216f[_0x2890ca(0x1fb)]('pricing-table-id',_0x1f3ba0),_0xea216f['attr']('publishable-key',_0x39dba5),_0xea216f[_0x2890ca(0x1fb)]('style','height:\x20100%;max-height:\x20100%;'),_0xea216f[_0x2890ca(0x1c5)](),this[_0x2890ca(0x1ab)][_0x2890ca(0x232)](_0xea216f),_0x52e0bb['on'](_0x2890ca(0x20d),()=>{const _0x21ba4c=_0x2890ca;_0xea216f[_0x21ba4c(0x1b7)](),_0x52e0bb[_0x21ba4c(0x1c5)](),this[_0x21ba4c(0x1ab)]['attr'](_0x21ba4c(0x266),_0x21ba4c(0x1bc));});}})[_0x4ec4b4(0x1a3)](_0x354e59=>{const _0x28b830=_0x4ec4b4;console[_0x28b830(0x245)](_0x354e59);});}});};_0x1edf14();function _0x241f39(_0x25f3ce){const _0x3aeb9c=_0x1decc8;let _0x1866a7;try{_0x1866a7=new URL(_0x25f3ce);}catch(_0x34d270){return![];}return _0x1866a7[_0x3aeb9c(0x1f9)]==='opc.tcp:';}const _0xcbb409={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x1decc8(0x1bb)][_0x1decc8(0x1b1)](_0x1decc8(0x242),{'category':_0x1decc8(0x1e3),'paletteLabel':_0x1decc8(0x25f),'defaults':{'name':{'value':''},'endpoint':{'value':_0x1decc8(0x25a),'required':!![],'validate':_0x241f39},'securityMode':{'value':'None'},'securityPolicy':{'value':'None','validate':_0x5db394=>{if(!_0x5db394)return![];return!![];}},'userIdentityType':{'value':_0x1decc8(0x1e1)},'pkiName':{'value':'','validate':_0x5c129c=>!_0x5c129c||_0x5c129c[_0x1decc8(0x23d)](/[0-9a-zA-Z]*/)?!![]:![]},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':_0x1decc8(0x239),'isDefault':!![],'parameters':Object['assign']({},_0xcbb409)},{'id':'s2','name':_0x1decc8(0x1f6),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':_0x1decc8(0x1a9),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'userName':{'type':'text'},'password':{'type':_0x1decc8(0x24e)},'userCertificate':{'type':_0x1decc8(0x204)},'userPrivatekey':{'type':'password'}},'label':function(){const _0x9ae954=_0x1decc8;return this[_0x9ae954(0x1cc)]||this[_0x9ae954(0x1f7)]||_0x9ae954(0x21f);},'oneditsave'(){const _0x2546ed=_0x1decc8,_0xc79cc4=$(_0x2546ed(0x265)),_0x4aae2f=$(_0x2546ed(0x219));_0xc79cc4[_0x2546ed(0x24f)]()==='None'&&_0x4aae2f[_0x2546ed(0x204)](_0x2546ed(0x206));const _0x3cd0c1=$('#subscriptions-container')[_0x2546ed(0x1d5)](_0x2546ed(0x1e9)),_0x417460=[],_0x4bbacc=_0x356136=>_0x356136;_0x3cd0c1[_0x2546ed(0x1cf)](function(_0x2abf11,_0x39a053){const _0x2b85ca=_0x2546ed,_0x3a7927=$(this),_0x5af2d0={'id':'s'+_0x2abf11,'name':_0x3a7927['find'](_0x2b85ca(0x252))[_0x2b85ca(0x24f)](),'isDefault':!!_0x3a7927['find'](_0x2b85ca(0x1e8))[_0x2b85ca(0x24f)](),'parameters':{'publishingEnabled':!!_0x3a7927[_0x2b85ca(0x21b)](_0x2b85ca(0x255))['is'](_0x2b85ca(0x240)),'requestedLifetimeCount':_0x4bbacc(_0x3a7927[_0x2b85ca(0x21b)](_0x2b85ca(0x257))[_0x2b85ca(0x24f)]()),'requestedMaxKeepAliveCount':_0x4bbacc(_0x3a7927[_0x2b85ca(0x21b)](_0x2b85ca(0x24d))[_0x2b85ca(0x24f)]()),'requestedPublishingInterval':_0x4bbacc(_0x3a7927[_0x2b85ca(0x21b)]('.input-requestedPublishingInterval')[_0x2b85ca(0x24f)]()),'maxNotificationsPerPublish':_0x4bbacc(_0x3a7927[_0x2b85ca(0x21b)](_0x2b85ca(0x1fa))[_0x2b85ca(0x24f)]()),'priority':_0x4bbacc(_0x3a7927[_0x2b85ca(0x21b)]('.input-priority')[_0x2b85ca(0x24f)]())}};_0x5af2d0[_0x2b85ca(0x1a6)]['publishingEnabled']=!![],_0x5af2d0[_0x2b85ca(0x1f3)]&&_0x5af2d0['id']==='s0'&&(_0x5af2d0[_0x2b85ca(0x1cc)]=_0x2b85ca(0x239)),_0x417460[_0x2b85ca(0x200)](_0x5af2d0);}),this[_0x2546ed(0x24c)]=_0x417460;},'oneditprepare'(){const _0x1b3d4d=_0x1decc8,_0x5a823c=this,_0x15f30c=RED[_0x1b3d4d(0x1de)][_0x1b3d4d(0x1dd)]({'id':_0x1b3d4d(0x1fe),'onchange':function(_0x3f68ec){const _0x2b9553=_0x1b3d4d;$(_0x2b9553(0x1a0))[_0x2b9553(0x22c)]()[_0x2b9553(0x1c5)](),$('#'+_0x3f68ec['id'])[_0x2b9553(0x1b7)]();}});_0x15f30c[_0x1b3d4d(0x210)]({'id':'endpoint-tab-connection','label':_0x1b3d4d(0x1f2)},0x0),_0x15f30c[_0x1b3d4d(0x210)]({'id':_0x1b3d4d(0x1d8),'label':_0x1b3d4d(0x1f4)},0x1),setTimeout(function(){const _0x25449e=_0x1b3d4d;_0x15f30c[_0x25449e(0x1d7)]();},0x0);{const _0x1ee264=_0x415034=>{const _0x3e8dfa=_0x1b3d4d;switch(_0x415034){case null:case undefined:case'':case _0x3e8dfa(0x206):$(_0x3e8dfa(0x236))[_0x3e8dfa(0x1c5)]();break;case _0x3e8dfa(0x1ff):case _0x3e8dfa(0x237):{const _0x5cc210=$(_0x3e8dfa(0x236));(_0x5cc210['val']()===_0x3e8dfa(0x206)||_0x5cc210['val']()==='')&&_0x5cc210[_0x3e8dfa(0x24f)](_0x3e8dfa(0x1c2)),$(_0x3e8dfa(0x236))[_0x3e8dfa(0x1b7)]();}break;default:console[_0x3e8dfa(0x245)](_0x3e8dfa(0x221)+_0x415034);}};_0x1ee264(_0x5a823c[_0x1b3d4d(0x235)]);const _0x5cbb4b=$(_0x1b3d4d(0x219));_0x5cbb4b['on'](_0x1b3d4d(0x261),()=>{const _0x37b10e=_0x5cbb4b['val']();_0x1ee264(_0x37b10e);});}const _0x339fa1=$('#licenceWidget');_0x339fa1[_0x1b3d4d(0x1d0)]({'baseUrl':''});{const _0x19527a=$(_0x1b3d4d(0x1f5)),_0x149aa3=$(_0x1b3d4d(0x231)),_0x4438fe=_0x3ab6ae=>{const _0x4e15d2=_0x1b3d4d;_0x3ab6ae=_0x3ab6ae||'Anonymous';switch(_0x3ab6ae){case'Anonymous':$(_0x4e15d2(0x1cd))['val'](''),$('#node-config-input-password')[_0x4e15d2(0x24f)](''),_0x19527a[_0x4e15d2(0x1c5)](),_0x149aa3[_0x4e15d2(0x1c5)]();break;case _0x4e15d2(0x1ac):_0x19527a[_0x4e15d2(0x1b7)](),_0x149aa3[_0x4e15d2(0x1c5)]();break;case _0x4e15d2(0x1b2):$('#node-config-input-userName')[_0x4e15d2(0x24f)](''),$(_0x4e15d2(0x262))[_0x4e15d2(0x24f)](''),_0x149aa3[_0x4e15d2(0x1b7)](),_0x19527a[_0x4e15d2(0x1c5)]();break;default:console['log'](_0x4e15d2(0x1a2)+_0x3ab6ae);}};_0x4438fe(_0x5a823c['userIdentityType']);const _0x373db7=$(_0x1b3d4d(0x25e));_0x373db7['on'](_0x1b3d4d(0x261),()=>{const _0x492344=_0x1b3d4d,_0x4e2f2d=_0x373db7[_0x492344(0x24f)]();_0x4438fe(_0x4e2f2d);});}{$(_0x1b3d4d(0x201))[_0x1b3d4d(0x1c5)](),$(_0x1b3d4d(0x1a1))[_0x1b3d4d(0x212)](_0x1b3d4d(0x21c),![]),$('#toggleAdvancedSection')['on'](_0x1b3d4d(0x261),function(){const _0x4f0303=_0x1b3d4d;$(this)[_0x4f0303(0x212)](_0x4f0303(0x21c))?$('#section-Advanced')[_0x4f0303(0x1b7)]():$(_0x4f0303(0x201))[_0x4f0303(0x1c5)]();});}const _0x378e78=$(_0x1b3d4d(0x22d))[_0x1b3d4d(0x212)](_0x1b3d4d(0x21c));_0x378e78?$('#section-TransportSettings')[_0x1b3d4d(0x1b7)]():$(_0x1b3d4d(0x211))[_0x1b3d4d(0x1c5)]();$(_0x1b3d4d(0x22d))['on']('change',function(){const _0x8a97b5=_0x1b3d4d;$(this)['prop'](_0x8a97b5(0x21c))?$(_0x8a97b5(0x211))[_0x8a97b5(0x1b7)]():$('#section-TransportSettings')['hide']();});{$(_0x1b3d4d(0x1e4))['on'](_0x1b3d4d(0x20d),()=>_0x21fa33(this,void 0x0,void 0x0,function*(){const _0x494164=_0x1b3d4d,_0x20b725=yield fetch(_0x494164(0x1b8)),_0x3e84ff=yield _0x20b725[_0x494164(0x20e)](),_0x46b2f4=JSON[_0x494164(0x1c3)](_0x3e84ff,null,'\x20');alert(_0x46b2f4);}));}{_0xa59bba('connection',$(_0x1b3d4d(0x1dc)),()=>{const _0x545175=_0x1b3d4d;var _0x13e01f;return{'url':_0x545175(0x1b5),'body':{'endpointNode':{'id':_0x5a823c['id'],'endpoint':$('#node-config-input-endpoint')[_0x545175(0x24f)](),'name':$(_0x545175(0x1ad))['val'](),'pkiName':(_0x13e01f=$(_0x545175(0x251)))===null||_0x13e01f===void 0x0?void 0x0:_0x13e01f['val'](),'securityMode':$(_0x545175(0x219))[_0x545175(0x24f)](),'securityPolicy':$(_0x545175(0x265))[_0x545175(0x24f)](),'userIdentityType':$(_0x545175(0x25e))[_0x545175(0x24f)](),'userName':$('#node-config-input-userName')[_0x545175(0x24f)](),'password':$(_0x545175(0x262))[_0x545175(0x24f)](),'userCertificate':$(_0x545175(0x1a8))['val'](),'userPrivatekey':$(_0x545175(0x215))[_0x545175(0x24f)](),'certificate':$(_0x545175(0x1c1))[_0x545175(0x24f)](),'useTransport':$(_0x545175(0x209))[_0x545175(0x212)](_0x545175(0x21c)),'maxChunkCount':$(_0x545175(0x1d3))[_0x545175(0x24f)](),'maxMessageSize':$(_0x545175(0x1f0))[_0x545175(0x24f)](),'receiveBufferSize':$('#node-input-receiveBufferSize')[_0x545175(0x24f)](),'sendBufferSize':$('#node-input-sendBufferSize')[_0x545175(0x24f)]()}}};},()=>{});}{const _0x3eb121=(_0x1e81b8,_0x11a643)=>{const _0x4e2bfe=_0x1b3d4d;var _0x14f130=_0x1e81b8[_0x4e2bfe(0x260)]()||0x64;_0x1e81b8[_0x4e2bfe(0x21b)](_0x4e2bfe(0x1fd))[_0x4e2bfe(0x253)](_0x4e2bfe(0x260),_0x14f130-0xf);},_0x183dcd=$(_0x1b3d4d(0x259))[_0x1b3d4d(0x246)]({'min-height':_0x1b3d4d(0x1b6),'min-width':'260px'})[_0x1b3d4d(0x1d5)]({'addItem':(_0x2383d3,_0x2a0fa4,_0x22c4b6)=>{const _0x41c414=_0x1b3d4d,_0x50d307=_0x22c4b6,_0x4d769b=$(_0x41c414(0x21e))[_0x41c414(0x20f)]()[_0x41c414(0x21d)](_0x2383d3);_0x4d769b[_0x41c414(0x1b3)]('id')[_0x41c414(0x226)]('hide')['removeClass'](_0x41c414(0x19f))['attr'](_0x41c414(0x20b),_0x2a0fa4),_0x4d769b[_0x41c414(0x21b)](_0x41c414(0x252))[_0x41c414(0x24f)](_0x50d307[_0x41c414(0x1cc)]),_0x4d769b['find']('.input-requestedPublishingInterval')[_0x41c414(0x24f)](_0x50d307[_0x41c414(0x1a6)][_0x41c414(0x1e0)]),_0x4d769b['find'](_0x41c414(0x24d))[_0x41c414(0x24f)](_0x50d307['parameters'][_0x41c414(0x20a)]),_0x4d769b['find'](_0x41c414(0x257))['val'](_0x50d307[_0x41c414(0x1a6)]['requestedLifetimeCount']),_0x4d769b[_0x41c414(0x21b)](_0x41c414(0x1fa))[_0x41c414(0x24f)](_0x50d307[_0x41c414(0x1a6)][_0x41c414(0x1d9)]||0x0),_0x4d769b[_0x41c414(0x21b)]('.input-priority')[_0x41c414(0x24f)](_0x50d307[_0x41c414(0x1a6)][_0x41c414(0x1e6)]||0x0),_0x4d769b[_0x41c414(0x21b)](_0x41c414(0x1bf))[_0x41c414(0x204)](''+_0x2a0fa4),_0x50d307['isDefault']&&_0x4d769b[_0x41c414(0x21b)](_0x41c414(0x252))[_0x41c414(0x212)](_0x41c414(0x1be),!![]),_0x4d769b[_0x41c414(0x21b)]('.input-isDefault')[_0x41c414(0x212)](_0x41c414(0x21c),_0x50d307[_0x41c414(0x1f3)]),_0x50d307[_0x41c414(0x1f3)]&&(_0x2383d3[_0x41c414(0x21b)](_0x41c414(0x24a))[_0x41c414(0x227)](_0x41c414(0x1c5)),setTimeout(()=>_0x4d769b[_0x41c414(0x21b)](_0x41c414(0x1e8))[_0x41c414(0x212)](_0x41c414(0x25b),!![]),0xa));},'removable':!![],'resizeItem':_0x3eb121}),_0x296bd8=()=>{const _0x3ac346=_0x1b3d4d,_0x20d254=_0x5a823c[_0x3ac346(0x24c)]||[];_0x20d254[_0x3ac346(0x258)]===0x0&&_0x20d254[_0x3ac346(0x200)]({'id':'s1','name':'Default\x20Subscription','isDefault':!![],'parameters':Object[_0x3ac346(0x22e)]({},_0xcbb409)});_0x183dcd[_0x3ac346(0x1d5)](_0x3ac346(0x20c));for(const _0xa1790c of _0x20d254){_0x183dcd[_0x3ac346(0x1d5)]('addItem',_0xa1790c);}};_0x296bd8();}}});}()));function _0x35ca(){const _0x540477=['#node-config-input-securityPolicy','style','template','#node-config-endpoint-tabs-content','#toggleAdvancedSection','invalid\x20userIdentityType\x20','catch','TRIAL','\x20to\x20acquire\x20a\x20license.','parameters','internal\x20error\x20','#node-config-input-userCertificate','Fast\x20Subscription','138268ZoXynu','element','UserName','#node-config-input-name','<a\x20href=\x22https://www.sterfive.com/opcua/for-node-red\x22\x20target=”_blank”>Sterfive\x27s\x20website\x20</a>','Trial\x20licence','suppressed','registerType','Certificate','removeAttr','6001480zMPMcC','/opcua-endpoint2/test-connection','150px','show','/opcua-endpoint2/client_certificate.json','The\x20Trial\x20will\x20expire\x20in\x20','function','nodes','height:\x20100%\x20!important;','daysLeft','readonly','.subscription-id','This\x20is\x20a\x20freeware\x20licence,\x20and\x20have\x20some\x20limitations.\x0a','#node-input-certificate','Basic256Sha256','stringify','2760935zFOkDo','hide','<stripe-pricing-table/>','map','class','-messages','POST','err','name','#node-config-input-userName','<span>','each','licenceWidget','extra','then','#node-input-maxChunkCount','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','editableList','onPremiseServerHost','resize','endpoint-tab-subscriptions','maxNotificationsPerPublish','AUTHORIZED','statusText','#test-connection','create','tabs','message','requestedPublishingInterval','Anonymous','<p>','config','#checkCertificate','Testing\x20Connection\x20...','priority','btn\x20btn-primary','.input-isDefault','items','result','head','SuppressedError','</p>','licenceInfo','/licenceInfo','#node-input-maxMessageSize','9335583AvoCop','Connection','isDefault','Subscriptions','.section-userIdentityType-UserName','Slow\x20Subscription','endpoint','join','protocol','.input-maxNotificationsPerPublish','attr','Licence\x20has\x20expired','label','node-config-endpoint-tabs','Sign','push','#section-Advanced','248484YmhDPi','14SlCRfC','text','isArray','None','licenceType','FREEWARE','#node-input-useTransport','requestedMaxKeepAliveCount','data-i','empty','click','json','clone','addTab','#section-TransportSettings','prop','prctbl_1OJt49BCNccbzsVzkaANOgFL','10GIYCNM','#node-config-input-userPrivatekey','<button/>','sterfive.licenceWidget','baseUrl','#node-config-input-securityMode','widget','find','checked','appendTo','.template','invalid\x20endpoint','2687772cyWIyr','invalid\x20securityMode\x20','pk_live_51HsE1sBCNccbzsVzt7zaq2uv20pkryWllAzvZgZd5AhwFI9A3qBIeOJvJwQF08lDoLpFqLjwmyA79wnPnYLsvKjt009f00VpCW','\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.̀','\x20It\x20will\x20expire\x20in\x20','<br>','removeClass','addClass','Your\x20license\x20is\x20currently\x20invalid.','application/json','subscribe-button','status','children','#node-config-input-useTransport','assign','licence-widget-','createElement','.section-userIdentityType-Certificate','append','Your\x20licence\x20is\x20valid.','next','securityMode','.section-securityPolicy','SignAndEncrypt','toISOString','Default\x20Subscription','html','src','fa\x20fa-exclamation-circle','match','<a\x20href=\x22mailto:support@sterfive.com\x22\x20subject=\x22@opcua/for-node-red\x20support\x20request\x22>mailto:support@sterfive.com</a>','Subscribe',':checked','-success','OpcUa-Endpoint2','value','error','log','css','EXPIRED','\x20for\x20more\x20information.','-pending','.red-ui-editableList-item-remove','margin-top:\x2020px;','subscriptions','.input-requestedMaxKeepAliveCount','password','val','PROFESSIONAL','#node-config-input-pkiName','.input-name','typedInput','FAILED','.input-publishingEnabled','licence-widget-details','.input-requestedLifetimeCount','length','#subscriptions-container','opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','disabled','type','<i>','#node-config-input-userIdentityType','opcua\x20endpoint','width','change','#node-config-input-password','9qobOQm','11862MpURzn'];_0x35ca=function(){return _0x540477;};return _0x35ca();}
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgyMWZhMzMiLCJfMHhkMmRhY2MiLCJfMHg1NTUwMmMiLCJfMHgyMDMwNzkiLCJfMHg1Y2U3YjIiLCJfMHgyNDk3ZjAiLCJfMHgzMjU1MDIiLCJfMHg1MTBmOWIiLCJQcm9taXNlIiwiXzB4NWQ3MjkzIiwiXzB4MjRkMGQ3IiwiXzB4NTI0MDA4IiwiXzB4NTgwZmVmIiwiXzB4MTc4YjE4IiwiXzB4NTkzNTAzIiwiXzB4Mzg1Mjk2IiwiXzB4MTg3MWEwIiwiXzB4MmIyMDEyIiwiXzB4M2E1YWU2IiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4MmU5Mjk5IiwiXzB4NTIxODY2IiwiXzB4MzA0NjE5IiwiXzB4ZmJlMzM5IiwiRXJyb3IiLCJfMHhhNTliYmEiLCJfMHg0M2MzZDEiLCJfMHgyM2E5YmUiLCJfMHg1Y2I4NTgiLCJfMHgyZThkZDUiLCJfMHg1ZWUwYTgiLCIkIiwiXzB4MzljZTZmIiwiXzB4MzJjMDkwIiwiXzB4MjExZTE2IiwiXzB4MmRhOTFmIiwiYm9keSIsIl8weDJiZWZmNyIsInVybCIsIl8weDE5OTA4ZCIsImZldGNoIiwiSlNPTiIsIl8weDNhNWU5NSIsIl8weDU3YWM0MSIsImNvbnNvbGUiLCJfMHg1M2NmYzIiLCJfMHg2ZWQ2YzYiLCJfMHg0NjgyN2MiLCJfMHg0M2JhNWUiLCJfMHhmNmE2M2MiLCJBcnJheSIsIl8weDJmZmZmYSIsIl8weDFmM2JhMCIsIl8weDM5ZGJhNSIsIl8weDFkN2NiMCIsIl8weDJjNjQ4YyIsIl8weGQ2YzQ1MyIsIl8weDE2MDViOCIsIl8weDQxMmFkZSIsIl8weDEzZTU2NSIsIkRhdGUiLCJfMHgzY2U1ODkiLCJfMHgxZWRmMTQiLCJfMHgzNTg2OGUiLCJfMHgxZmExNjMiLCJfMHg0Yjc1ZjMiLCJfMHhmOTA5NmQiLCJfMHgxZDA1MzIiLCJfMHgxYWMxMGMiLCJfMHhhMGE5MjUiLCJfMHgzYzIzNjIiLCJfMHg1OTFkYmQiLCJfMHg1MmUwYmIiLCJfMHgzZTYxMzkiLCJkb2N1bWVudCIsIl8weGVhMjE2ZiIsIl8weDM1NGU1OSIsIl8weDI0MWYzOSIsIl8weDI1ZjNjZSIsIl8weDE4NjZhNyIsIlVSTCIsIl8weDM0ZDI3MCIsIl8weGNiYjQwOSIsIlJFRCIsIl8weDVkYjM5NCIsIl8weDVjMTI5YyIsIk9iamVjdCIsIl8weGM3OWNjNCIsIl8weDRhYWUyZiIsIl8weDNjZDBjMSIsIl8weDQxNzQ2MCIsIl8weDRiYmFjYyIsIl8weDM1NjEzNiIsIl8weDJhYmYxMSIsIl8weDM5YTA1MyIsIl8weDNhNzkyNyIsIl8weDVhZjJkMCIsIl8weDVhODIzYyIsIl8weDE1ZjMwYyIsIl8weDNmNjhlYyIsInNldFRpbWVvdXQiLCJfMHgxZWUyNjQiLCJfMHg0MTUwMzQiLCJ1bmRlZmluZWQiLCJfMHg1Y2MyMTAiLCJfMHg1Y2JiNGIiLCJfMHgzN2IxMGUiLCJfMHgzMzlmYTEiLCJfMHgxOTUyN2EiLCJfMHgxNDlhYTMiLCJfMHg0NDM4ZmUiLCJfMHgzYWI2YWUiLCJfMHgzNzNkYjciLCJfMHg0ZTJmMmQiLCJfMHgzNzhlNzgiLCJfMHgyMGI3MjUiLCJfMHgzZTg0ZmYiLCJfMHg0NmIyZjQiLCJhbGVydCIsIl8weDEzZTAxZiIsIl8weDNlYjEyMSIsIl8weDFlODFiOCIsIl8weDExYTY0MyIsIl8weDE0ZjEzMCIsIl8weDE4M2RjZCIsIl8weDIzODNkMyIsIl8weDJhMGZhNCIsIl8weDIyYzRiNiIsIl8weDUwZDMwNyIsIl8weDRkNzY5YiIsIl8weDI5NmJkOCIsIl8weDIwZDI1NCIsIl8weGExNzkwYyJdLCJtYXBwaW5ncyI6Inl4QkFBQSxDQUFDLFUsQ0FDRyxhLHdCQW1CQSxTQUFTQSxTQUFULENBQW1CQyxTQUFuQixDQUE0QkMsU0FBNUIsQ0FBd0NDLFNBQXhDLENBQTJDQyxTQUEzQyxDLENBQ0ksU0FBU0MsU0FBVCxDQUFlQyxTQUFmLEMsUUFBK0JBLFNBQUEsWUFBaUJILFNBQWpCLENBQXFCRyxTQUFyQixDQUE2QixJQUFJSCxTQUFKLENBQU0sU0FBVUksU0FBVixDLENBQXFCQSxT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KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG4gICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG4gICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG4gICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG4gICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG4gICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAvKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wgKi9cclxuXHJcblxyXG4gICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XHJcbiAgICAgICAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcclxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBtYW5hZ2VBUElDYWxsKHByZWZpeCwgYnRuLCBmdW5jLCBvblJlc3VsdCkge1xuICAgICAgICBjb25zdCBzdWNjZXNzSWNvbiA9ICQoYCMke3ByZWZpeH0tc3VjY2Vzc2ApO1xuICAgICAgICBjb25zdCBmYWlsdXJlSWNvbiA9ICQoYCMke3ByZWZpeH0tZmFpbHVyZWApO1xuICAgICAgICBjb25zdCBwZW5kaW5nSWNvbiA9ICQoYCMke3ByZWZpeH0tcGVuZGluZ2ApO1xuICAgICAgICBjb25zdCBtZXNzYWdlcyA9ICQoYCMke3ByZWZpeH0tbWVzc2FnZXNgKTtcbiAgICAgICAgbGV0IGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3VjY2Vzc0ljb24uaGlkZSgpO1xuICAgICAgICBmYWlsdXJlSWNvbi5oaWRlKCk7XG4gICAgICAgIHBlbmRpbmdJY29uLmhpZGUoKTtcbiAgICAgICAgYnRuLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjdGlvblBlbmRpbmcpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IHRydWU7XG4gICAgICAgICAgICBwZW5kaW5nSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBwZW5kaW5nSWNvbi5odG1sKFwiVGVzdGluZyBDb25uZWN0aW9uIC4uLlwiKTtcbiAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIGZhaWx1cmVJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoXCJcIik7XG4gICAgICAgICAgICBjb25zdCB7IGJvZHksIHVybCB9ID0gZnVuYygpO1xuICAgICAgICAgICAgLy8geHggY29uc29sZS5sb2coXCJ4eHh4eFwiLCBib2R5KTtcbiAgICAgICAgICAgIGZldGNoKHVybCwge1xuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGJvZHkpLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4gZGF0YS5qc29uKCkpXG4gICAgICAgICAgICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcGVuZGluZ0ljb24uaGlkZSgpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIFwiIFwiKSk7XG4gICAgICAgICAgICAgICAgaWYgKGpzb24ucmVzdWx0ID09PSBcIm9rXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoanNvbi5tZXNzYWdlLnJlcGxhY2UoXCJcXG5cIiwgXCI8YnI+XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQobnVsbCwganNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGFwdCA9IChzdHIpID0+ICFzdHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOiBzdHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKChhKSA9PiBgPHA+JHthfTwvcD5gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGFwdDIgPSAoc3RyKSA9PiAoQXJyYXkuaXNBcnJheShzdHIpID8gc3RyLm1hcChhZGFwdCkuam9pbihcIlxcblwiKSA6IGFkYXB0KHN0cikpO1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChhZGFwdDIoanNvbi5tZXNzYWdlKSArIGFkYXB0Mihqc29uLmV4dHJhKSk7XG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0KG5ldyBFcnJvcihqc29uLnJlc3VsdCksIGpzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcGVuZGluZ0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChcImludGVybmFsIGVycm9yIFwiICsgZXJyLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyXCIsIGVycik7XG4gICAgICAgICAgICAgICAgb25SZXN1bHQoZXJyLCBudWxsKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmljaW5nVGFibGVJZCA9IFwicHJjdGJsXzFPSnQ0OUJDTmNjYnpzVnprYUFOT2dGTFwiO1xuICAgIGNvbnN0IHB1Ymxpc2hhYmxlS2V5ID0gXCJwa19saXZlXzUxSHNFMXNCQ05jY2J6c1Z6dDd6YXEydXYyMHBrcnlXbGxBenZaZ1pkNUFod0ZJOUEzcUJJZU9Kdkp3UUYwOGxEb0xwRnFMandteUE3OXduUG5ZTHN2S2p0MDA5ZjAwVnBDV1wiO1xuICAgIGZ1bmN0aW9uIGZldGNoTGljZW5jZUluZm8oYmFzZVVybCA9IFwiXCIpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1lbmRwb2ludDJgO1xuICAgICAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vbGljZW5jZUluZm9gO1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJmZXRjaGluZyBmYWlsZWQgd2l0aCBlcnJvclwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdGF0dXM6IFwiRkFJTEVEXCIsIHR5cGU6IFwiRlJFRVdBUkVcIiwgbGljZW5jZUluZm86IHsgZXhwaXJ5RGF0ZTogdG9kYXkgfSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QganNvbiA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICAgICAgcmV0dXJuIGpzb247XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBkZWNsYXJlTGljZW5jZVdpZGdldCA9ICgpID0+IHtcbiAgICAgICAgJC53aWRnZXQoXCJzdGVyZml2ZS5saWNlbmNlV2lkZ2V0XCIsIHtcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9jcmVhdGUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGFjdExpbmsgPSBgPGEgaHJlZj1cIm1haWx0bzpzdXBwb3J0QHN0ZXJmaXZlLmNvbVwiIHN1YmplY3Q9XCJAb3BjdWEvZm9yLW5vZGUtcmVkIHN1cHBvcnQgcmVxdWVzdFwiPm1haWx0bzpzdXBwb3J0QHN0ZXJmaXZlLmNvbTwvYT5gO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdlYnNpdGVMaW5rID0gYDxhIGhyZWY9XCJodHRwczovL3d3dy5zdGVyZml2ZS5jb20vb3BjdWEvZm9yLW5vZGUtcmVkXCIgdGFyZ2V0PeKAnV9ibGFua+KAnT5TdGVyZml2ZSdzIHdlYnNpdGUgPC9hPmA7XG4gICAgICAgICAgICAgICAgZmV0Y2hMaWNlbmNlSW5mbyh0aGF0LmJhc2VVcmwpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpY29uID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1zZyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkZXRhaWxzID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0ganNvbi5zdGF0dXM7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRheUxlZnQgPSBqc29uLmRheXNMZWZ0O1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkFVVEhPUklaRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1jaGVjay1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGpzb24udHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiVFJJQUxcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJUcmlhbCBsaWNlbmNlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gYFRoZSBUcmlhbCB3aWxsIGV4cGlyZSBpbiAke2RheUxlZnR9IGRheXMuXFxuQnV5IG9ubGluZSBhbmQgdmlzaXQgJHt3ZWJzaXRlTGlua30gdG8gYWNxdWlyZSBhIGxpY2Vuc2UuYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJQUk9GRVNTSU9OQUxcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IGBZb3VyIGxpY2VuY2UgaXMgdmFsaWQuYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXlMZWZ0IDwgOTAgJiYgZGF5TGVmdCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnICs9IGAgSXQgd2lsbCBleHBpcmUgaW4gJHtkYXlMZWZ0fSBkYXlzLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkZXRhaWxzID0gYCR7d2Vic2l0ZUxpbmt9PGJyPiR7Y29udGFjdExpbmt9YDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPSBqc29uLmxpY2VuY2VJbmZvLmxpY2VuY2VUeXBlICsgXCIgLSBcIiArIChqc29uLmxpY2VuY2VJbmZvLm9uUHJlbWlzZVNlcnZlckhvc3QgfHwgXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkZSRUVXQVJFXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkZyZWV3YXJlIGxpY2VuY2VcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPSBgVGhpcyBpcyBhIGZyZWV3YXJlIGxpY2VuY2UsIGFuZCBoYXZlIHNvbWUgbGltaXRhdGlvbnMuXFxuJHt3ZWJzaXRlTGlua30gZm9yIG1vcmUgaW5mb3JtYXRpb24uYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJFWFBJUkVEXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtY2FsZW5kYXItdGltZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiTGljZW5jZSBoYXMgZXhwaXJlZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIllvdXIgbGljZW5zZSBoYXMgZXhwaXJlZC4gUGxlYXNlIGNvbnRhY3Qgb3VyIHN1cHBvcnQgdGVhbSBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkZBSUxFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1leGNsYW1hdGlvbi1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIllvdXIgbGljZW5zZSBpcyBjdXJyZW50bHkgaW52YWxpZC5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gYFBsZWFzZSBjb250YWN0ICR7Y29udGFjdExpbmt9IG9yIHZpc2l0IG91ciB3ZWJzaXRlIHRvIHJlbmV3IHlvdXIgbGljZW5zZSBhbmQgcmVnYWluIGFjY2VzcyB0byBvdXIgc2VydmljZXMuzIBgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8qKiAqL1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmVsZW1lbnQudGV4dChcIkxpY2VuY2UgXCIgKyBKU09OLnN0cmluZ2lmeShqc29uKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1cIiArIHN0YXR1cyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LWljb25cIikuYXBwZW5kKCQoXCI8aT5cIikuYWRkQ2xhc3MoaWNvbikpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtbXNnXCIpLnRleHQobXNnKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1kZXRhaWxzXCIpLmFwcGVuZChkZXRhaWxzKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdGF0dXMgPT09IFwiRVhQSVJFRFwiIHx8IHN0YXR1cyA9PT0gXCJGQUlMRURcIiB8fCBqc29uLnR5cGUgPT09IFwiRlJFRVdBUkVcIiB8fCBqc29uLnR5cGUgPT09IFwiVFJJQUxcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaWJlQnV0dG9uID0gJChcIjxidXR0b24vPlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5hdHRyKFwiaWRcIiwgXCJzdWJzY3JpYmUtYnV0dG9uXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLmF0dHIoXCJjbGFzc1wiLCBcImJ0biBidG4tcHJpbWFyeVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5hdHRyKFwic3R5bGVcIiwgXCJtYXJnaW4tdG9wOiAyMHB4O1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi50ZXh0KFwiU3Vic2NyaWJlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZChzdWJzY3JpYmVCdXR0b24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBhdHRyaWJ1dGVzIGZvciB0aGUgc2NyaXB0IGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdC5zcmMgPSBcImh0dHBzOi8vanMuc3RyaXBlLmNvbS92My9wcmljaW5nLXRhYmxlLmpzXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQuYXN5bmMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXBwZW5kIHRoZSBzY3JpcHQgZWxlbWVudCB0byB0aGUgaGVhZCAob3IgYm9keSkgb2YgdGhlIGRvY3VtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAkKFwiaGVhZFwiKS5hcHBlbmQoc2NyaXB0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cmlwZVByaWNpbmdUYWJsZSA9ICQoXCI8c3RyaXBlLXByaWNpbmctdGFibGUvPlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBhdHRyaWJ1dGVzIGZvciB0aGUgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmF0dHIoXCJwcmljaW5nLXRhYmxlLWlkXCIsIHByaWNpbmdUYWJsZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5hdHRyKFwicHVibGlzaGFibGUta2V5XCIsIHB1Ymxpc2hhYmxlS2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5hdHRyKFwic3R5bGVcIiwgXCJoZWlnaHQ6IDEwMCU7bWF4LWhlaWdodDogMTAwJTtcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZChzdHJpcGVQcmljaW5nVGFibGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXR0cihcInN0eWxlXCIsIFwiaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGRlY2xhcmVMaWNlbmNlV2lkZ2V0KCk7XG4gICAgZnVuY3Rpb24gaXNWYWxpZE9QQ19VQV9VUkkoc3RyKSB7XG4gICAgICAgIGxldCB1cmw7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB1cmwgPSBuZXcgVVJMKHN0cik7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKF8pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXJsLnByb3RvY29sID09PSBcIm9wYy50Y3A6XCI7XG4gICAgfVxuICAgIGNvbnN0IGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzID0ge1xuICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogMTAwMCxcbiAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDEwLCAvLyBldmVyeSAxMCBzZWNvbmRzXG4gICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogMTAwMCxcbiAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDAsXG4gICAgICAgIHByaW9yaXR5OiAxMDAsXG4gICAgfTtcbiAgICBSRUQubm9kZXMucmVnaXN0ZXJUeXBlKFwiT3BjVWEtRW5kcG9pbnQyXCIsIHtcbiAgICAgICAgY2F0ZWdvcnk6IFwiY29uZmlnXCIsXG4gICAgICAgIHBhbGV0dGVMYWJlbDogXCJvcGN1YSBlbmRwb2ludFwiLFxuICAgICAgICBkZWZhdWx0czoge1xuICAgICAgICAgICAgbmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgZW5kcG9pbnQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJvcGMudGNwOi8vb3BjdWFkZW1vLnN0ZXJmaXZlLmNvbToyNjU0My9VQS9TYW1wbGVTZXJ2ZXJcIixcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZTogaXNWYWxpZE9QQ19VQV9VUkksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gU2VjdXJpdHkgTW9kZVxuICAgICAgICAgICAgc2VjdXJpdHlNb2RlOiB7IHZhbHVlOiBcIk5vbmVcIiB9LFxuICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3k6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJOb25lXCIsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGU6IHsgdmFsdWU6IFwiQW5vbnltb3VzXCIgfSxcbiAgICAgICAgICAgIHBraU5hbWU6IHsgdmFsdWU6IFwiXCIsIHZhbGlkYXRlOiAodmFsdWUpID0+ICghdmFsdWUgfHwgdmFsdWUubWF0Y2goL1swLTlhLXpBLVpdKi8pID8gdHJ1ZSA6IGZhbHNlKSB9LFxuICAgICAgICAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBVc2VyTmFtZVxuICAgICAgICAgICAgLy8gY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICAgIC8vICAgICB1c2VyTmFtZTogeyB2YWx1ZTogXCJcIiwgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIC8vICAgICBwYXNzd29yZDogeyB2YWx1ZTogXCJcIiwgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgICAgICAvLyAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBDZXJ0aWZpY2F0ZVxuICAgICAgICAgICAgLy8gICAgIHVzZXJDZXJ0aWZpY2F0ZTogeyB2YWx1ZTogXCJcIiwgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIC8vICAgICB1c2VyUHJpdmF0ZWtleTogeyB2YWx1ZTogXCJcIiAsIHR5cGU6IFwicGFzc3dvcmRcIn0sXG4gICAgICAgICAgICAvLyB9IGFzIGFueSAvKiBjaXJjdW12ZW50IGEgYnVnIGluIG5vZGUtcmVkICovLFxuICAgICAgICAgICAgLy8gdXNlcm5hbWVcbiAgICAgICAgICAgIHVzZVRyYW5zcG9ydDogeyB2YWx1ZTogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgbWF4Q2h1bmtDb3VudDogeyB2YWx1ZTogMSwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBtYXhNZXNzYWdlU2l6ZTogeyB2YWx1ZTogODE5MiwgcmVxdWlyZWQ6IGZhbHNlIH0sIC8vIHNob3VsZCBiZSBhdCBsZWFzdCA4MTkyXG4gICAgICAgICAgICByZWNlaXZlQnVmZmVyU2l6ZTogeyB2YWx1ZTogODE5MiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBzZW5kQnVmZmVyU2l6ZTogeyB2YWx1ZTogODE5MiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBzdWJzY3JpcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiU2xvdyBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAyMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDUwMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogMTAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzM1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJGYXN0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiA0MDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiAyNTAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWRlbnRpYWxzOiB7XG4gICAgICAgICAgICB1c2VyTmFtZTogeyB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgICAgICB1c2VyQ2VydGlmaWNhdGU6IHsgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIHVzZXJQcml2YXRla2V5OiB7IHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCB0aGlzLmVuZHBvaW50IHx8IFwiaW52YWxpZCBlbmRwb2ludFwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkge1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5UG9saWN5ID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKTtcbiAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eU1vZGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKTtcbiAgICAgICAgICAgIGlmIChfc2VjdXJpdHlQb2xpY3kudmFsKCkgPT09IFwiTm9uZVwiKSB7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS50ZXh0KFwiTm9uZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICgoKCgoKCgoKCggcmV0cmlldmUgc3Vic2NyaXB0aW9uIGRhdGEgKSkpKSkpKSkpKVxuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uc0l0ZW1zID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKS5lZGl0YWJsZUxpc3QoXCJpdGVtc1wiKTtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeCkgPT4geDtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnNJdGVtcy5lYWNoKGZ1bmN0aW9uIChpbmRleCwgaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcInNcIiArIGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBlLmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiAhIWUuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiAhIWUuZmluZChcIi5pbnB1dC1wdWJsaXNoaW5nRW5hYmxlZFwiKS5pcyhcIjpjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IG4oZS5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiBuKGUuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmb3JjZSB0byBiZSB0cnVlXG4gICAgICAgICAgICAgICAgYS5wYXJhbWV0ZXJzLnB1Ymxpc2hpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoYS5pc0RlZmF1bHQgJiYgYS5pZCA9PT0gXCJzMFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSBkZWZhdWx0IHN1YnNjcmlwdGlvbiBuYW1lXG4gICAgICAgICAgICAgICAgICAgIGEubmFtZSA9IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcy5wdXNoKGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBzO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCB0YWJzID0gUkVELnRhYnMuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBpZDogXCJub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzXCIsXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6IGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzLWNvbnRlbnRcIikuY2hpbGRyZW4oKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjXCIgKyB0YWIuaWQpLnNob3coKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0YWJzLmFkZFRhYih7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZW5kcG9pbnQtdGFiLWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICBsYWJlbDogXCJDb25uZWN0aW9uXCIsXG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItc3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIlN1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdGFicy5yZXNpemUoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBTZWN1cml0eSBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVTZWN1cml0eUNvbnRyb2wgPSAoc2VjdXJpdHlNb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc2VjdXJpdHlNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJOb25lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiU2lnbkFuZEVuY3J5cHRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwID0gJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3AudmFsKCkgPT09IFwiTm9uZVwiIHx8IHNwLnZhbCgpID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcC52YWwoXCJCYXNpYzI1NlNoYTI1NlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnZhbGlkIHNlY3VyaXR5TW9kZSBcIiArIHNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChub2RlLnNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgICAgIF9zZWN1cml0eU1vZGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdTZWN1cml0eU1vZGUgPSBfc2VjdXJpdHlNb2RlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVTZWN1cml0eUNvbnRyb2wobmV3U2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxpY2VuY2VXaWRnZXQgPSAkKFwiI2xpY2VuY2VXaWRnZXRcIik7XG4gICAgICAgICAgICBsaWNlbmNlV2lkZ2V0LmxpY2VuY2VXaWRnZXQoe1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFVzZXIgSWRlbnRpdHkgQ29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXV0aFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLVVzZXJOYW1lXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlcnRSb3cgPSAkKFwiLnNlY3Rpb24tdXNlcklkZW50aXR5VHlwZS1DZXJ0aWZpY2F0ZVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJZGVudGl0eUNvbnRyb2xzID0gKHVzZXJJZGVudGl0eVR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSA9IHVzZXJJZGVudGl0eVR5cGUgfHwgXCJBbm9ueW1vdXNcIjtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh1c2VySWRlbnRpdHlUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQW5vbnltb3VzXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiVXNlck5hbWVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDZXJ0aWZpY2F0ZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgdXNlcklkZW50aXR5VHlwZSBcIiArIHVzZXJJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5vZGUudXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3VzZXJJZGVudGl0eVR5cGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIik7XG4gICAgICAgICAgICAgICAgX3VzZXJJZGVudGl0eVR5cGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdJZGVudGl0eVR5cGUgPSBfdXNlcklkZW50aXR5VHlwZS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSWRlbnRpdHlDb250cm9scyhuZXdJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBhZHZhbmNlZCBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICQoXCIjdG9nZ2xlQWR2YW5jZWRTZWN0aW9uXCIpLnByb3AoXCJjaGVja2VkXCIsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAkKFwiI3RvZ2dsZUFkdmFuY2VkU2VjdGlvblwiKS5vbihcImNoYW5nZVwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnByb3AoXCJjaGVja2VkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgY2hlY2tib3ggaXMgY2hlY2tlZCwgc2hvdyB0aGUgZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBoaWRlIGl0XG4gICAgICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB1c2VUcmFuc3BvcnRTZXR0aW5nID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VUcmFuc3BvcnRcIikucHJvcChcImNoZWNrZWRcIik7XG4gICAgICAgICAgICBpZiAodXNlVHJhbnNwb3J0U2V0dGluZykge1xuICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1UcmFuc3BvcnRTZXR0aW5nc1wiKS5zaG93KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tVHJhbnNwb3J0U2V0dGluZ3NcIikuaGlkZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VUcmFuc3BvcnRcIikub24oXCJjaGFuZ2VcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnByb3AoXCJjaGVja2VkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBzaG93IHRoZSBkaXZcbiAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLVRyYW5zcG9ydFNldHRpbmdzXCIpLnNob3coKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgaGlkZSBpdFxuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tVHJhbnNwb3J0U2V0dGluZ3NcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGNoZWNrQ2VydGlmaWNhdGVcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJChcIiNjaGVja0NlcnRpZmljYXRlXCIpLm9uKFwiY2xpY2tcIiwgKCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2goXCIvb3BjdWEtZW5kcG9pbnQyL2NsaWVudF9jZXJ0aWZpY2F0ZS5qc29uXCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmZvID0geWllbGQgZGF0YS5qc29uKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHQgPSBKU09OLnN0cmluZ2lmeShpbmZvLCBudWxsLCBcIiBcIik7XG4gICAgICAgICAgICAgICAgICAgIGFsZXJ0KHQpO1xuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFRlc3QgYnV0dG9uXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1hbmFnZUFQSUNhbGwoXCJjb25uZWN0aW9uXCIsICQoXCIjdGVzdC1jb25uZWN0aW9uXCIpLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IFwiL29wY3VhLWVuZHBvaW50Mi90ZXN0LWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IG5vZGUuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LWVuZHBvaW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LW5hbWVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBraU5hbWU6IChfYSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGtpTmFtZVwiKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eU1vZGU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eVBvbGljeTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VySWRlbnRpdHlUeXBlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyTmFtZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJDZXJ0aWZpY2F0ZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyQ2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJQcml2YXRla2V5OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJQcml2YXRla2V5XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy8gbm90IHRlc3RlZCB5ZXQgLi4uOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0aWZpY2F0ZTogJChcIiNub2RlLWlucHV0LWNlcnRpZmljYXRlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VUcmFuc3BvcnQ6ICQoXCIjbm9kZS1pbnB1dC11c2VUcmFuc3BvcnRcIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heENodW5rQ291bnQ6ICQoXCIjbm9kZS1pbnB1dC1tYXhDaHVua0NvdW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhNZXNzYWdlU2l6ZTogJChcIiNub2RlLWlucHV0LW1heE1lc3NhZ2VTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXJlY2VpdmVCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZW5kQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXNlbmRCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LCAoKSA9PiB7IH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vICBJbnN0YWxsIHN1YnNjcmlwdGlvbnMgTGlzdCBtYW5hZ2VtZW50XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc2l6ZVRvcGljcyA9ICh0b3BpYywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5ld1dpZHRoID0gdG9waWMud2lkdGgoKSB8fCAxMDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcGljLmZpbmQoXCJsYWJlbFwiKS50eXBlZElucHV0KFwid2lkdGhcIiwgbmV3V2lkdGggLSAxNSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25MaXN0ID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKVxuICAgICAgICAgICAgICAgICAgICAuY3NzKHsgXCJtaW4taGVpZ2h0XCI6IFwiMTUwcHhcIiwgXCJtaW4td2lkdGhcIjogXCIyNjBweFwiIH0pXG4gICAgICAgICAgICAgICAgICAgIC5lZGl0YWJsZUxpc3Qoe1xuICAgICAgICAgICAgICAgICAgICBhZGRJdGVtOiAoY29udGFpbmVyLCBpbmRleCwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgX2RhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9ICQoXCIudGVtcGxhdGVcIikuY2xvbmUoKS5hcHBlbmRUbyhjb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyKFwiaWRcIikucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpLnJlbW92ZUNsYXNzKFwidGVtcGxhdGVcIikuYXR0cihcImRhdGEtaVwiLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoX2RhdGEubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsXCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZExpZmV0aW1lQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTGlmZXRpbWVDb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2hcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMubWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2ggfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcHJpb3JpdHlcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucHJpb3JpdHkgfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuc3Vic2NyaXB0aW9uLWlkXCIpLnRleHQoXCJcIiArIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS5wcm9wKFwicmVhZG9ubHlcIiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnByb3AoXCJjaGVja2VkXCIsIF9kYXRhLmlzRGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhhdCBkZWZhdWx0IHN1YnNjcmlwdGlvbiBjYW5ub3QgYmUgYWNjaWRlbnRhbGx5IHJlbW92ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuZmluZChcIi5yZWQtdWktZWRpdGFibGVMaXN0LWl0ZW0tcmVtb3ZlXCIpLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGVsZW1lbnQuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikucHJvcChcImRpc2FibGVkXCIsIHRydWUpLCAxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIC8vIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZW1vdmFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6ZUl0ZW06IHJlc2l6ZVRvcGljcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBBZGRTdWJzY3JpcHRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSBub2RlLnN1YnNjcmlwdGlvbnMgfHwgW107XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIG1pc3NpbmcgZGVmYXVsdCBzdWJzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiZW1wdHlcIik7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN1YnNjcmlwdGlvbi5pc0RlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiYWRkSXRlbVwiLCBzdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBBZGRTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
|
9
9
|
</script>
|
10
10
|
<script type="text/x-red" data-template-name="OpcUa-Endpoint2">
|
11
11
|
<div id="licenceWidget"></div>
|
@@ -451,3 +451,4 @@ If the `@opcua/for-node-red` client certificate is not trusted by the server, th
|
|
451
451
|
- If your certificate is not a self-signed certificate, you'll have to also copy the certificate of the Certificate Authority that signed your certificate in the "pki/issuers/certs" folder and its CRL (Certificate revocation list) in the "pki/issuers/crl" folder.
|
452
452
|
|
453
453
|
</script>
|
454
|
+
//# sourceMappingURL=OpcUa-Endpoint2.html.map
|