@opcua/for-node-red 2.1.5 → 2.1.7
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.html +2 -2
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.html +2 -2
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.html +2 -2
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.html +2 -2
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.html +2 -2
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.html +2 -2
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.html +2 -2
- package/source/OpcUa-Endpoint2/OpcUa-Endpoint2.html +2 -2
@@ -4,8 +4,8 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
(function(_0x6f5110,_0x34315c){const _0x542c4c=_0x1f36,_0x55fd2=_0x6f5110();while(!![]){try{const _0x2b1cb2=-parseInt(_0x542c4c(0x154))/0x1+-parseInt(_0x542c4c(0x1a2))/0x2+-parseInt(_0x542c4c(0x1b8))/0x3*(parseInt(_0x542c4c(0x185))/0x4)+parseInt(_0x542c4c(0x19a))/0x5*(-parseInt(_0x542c4c(0x1b0))/0x6)+parseInt(_0x542c4c(0x14d))/0x7*(parseInt(_0x542c4c(0x18b))/0x8)+-parseInt(_0x542c4c(0x160))/0x9+parseInt(_0x542c4c(0x16f))/0xa;if(_0x2b1cb2===_0x34315c)break;else _0x55fd2['push'](_0x55fd2['shift']());}catch(_0x393fc1){_0x55fd2['push'](_0x55fd2['shift']());}}}(_0x37ec,0x73fc7),(function(){'use strict';const _0x59b89c=_0x1f36;function _0x2da754(_0x56ca5b,_0x94674,_0x2d5e7b,_0x1d99ca){const _0x4ff6a6=_0x1f36,_0x49329c=$('#'+_0x56ca5b+_0x4ff6a6(0x1c5)),_0xf9f7e8=$('#'+_0x56ca5b+_0x4ff6a6(0x1d7)),_0x24475c=$('#'+_0x56ca5b+_0x4ff6a6(0x1a0)),_0x2fc8d3=$('#'+_0x56ca5b+_0x4ff6a6(0x179));let _0x5024d9=![];_0x49329c[_0x4ff6a6(0x158)](),_0xf9f7e8[_0x4ff6a6(0x158)](),_0x24475c[_0x4ff6a6(0x158)](),_0x94674['on']('click',()=>{const _0x5c8291=_0x4ff6a6;if(_0x5024d9)return;_0x5024d9=!![],_0x24475c[_0x5c8291(0x150)](_0x5c8291(0x158)),_0x24475c[_0x5c8291(0x1d2)](_0x5c8291(0x1d1)),_0x49329c[_0x5c8291(0x155)](_0x5c8291(0x158)),_0xf9f7e8['addClass'](_0x5c8291(0x158)),_0x2fc8d3[_0x5c8291(0x1d2)]('');const {body:_0x5619a1,url:_0x4e430a}=_0x2d5e7b();fetch(_0x4e430a,{'method':_0x5c8291(0x193),'headers':{'Content-Type':_0x5c8291(0x180)},'body':JSON['stringify'](_0x5619a1)})[_0x5c8291(0x1ce)](_0x50d648=>_0x50d648['json']())['then'](_0x54257c=>{const _0x15f18e=_0x5c8291;_0x5024d9=![],_0x24475c[_0x15f18e(0x158)](),console['log'](JSON[_0x15f18e(0x1c4)](_0x54257c,null,'\x20'));if(_0x54257c[_0x15f18e(0x1d5)]==='ok')_0x49329c[_0x15f18e(0x150)](_0x15f18e(0x158)),_0xf9f7e8[_0x15f18e(0x155)](_0x15f18e(0x158)),_0x2fc8d3['html'](_0x54257c[_0x15f18e(0x13f)][_0x15f18e(0x189)]('\x0a',_0x15f18e(0x18e))),_0x1d99ca(null,_0x54257c);else{const _0x4e3a68=_0x1a8b65=>!_0x1a8b65?'':_0x1a8b65[_0x15f18e(0x162)]('\x0a')[_0x15f18e(0x13c)](_0x4bff7b=>'<p>'+_0x4bff7b+_0x15f18e(0x148))[_0x15f18e(0x1a9)]('\x0a'),_0x5dc318=_0x4f8bcf=>Array[_0x15f18e(0x16b)](_0x4f8bcf)?_0x4f8bcf[_0x15f18e(0x13c)](_0x4e3a68)['join']('\x0a'):_0x4e3a68(_0x4f8bcf);_0x49329c['addClass'](_0x15f18e(0x158)),_0xf9f7e8[_0x15f18e(0x150)](_0x15f18e(0x158)),_0x2fc8d3[_0x15f18e(0x1d2)](_0x5dc318(_0x54257c[_0x15f18e(0x13f)])+_0x5dc318(_0x54257c[_0x15f18e(0x1cb)])),_0x1d99ca(new Error(_0x54257c['result']),_0x54257c);}})['catch'](_0x306c72=>{const _0x8677d4=_0x5c8291;_0x5024d9=![],_0x24475c[_0x8677d4(0x155)](_0x8677d4(0x158)),_0x49329c[_0x8677d4(0x155)](_0x8677d4(0x158)),_0xf9f7e8[_0x8677d4(0x150)](_0x8677d4(0x158)),_0x2fc8d3[_0x8677d4(0x1d2)](_0x8677d4(0x1d3)+_0x306c72[_0x8677d4(0x13f)]),console[_0x8677d4(0x1b7)](_0x8677d4(0x159),_0x306c72),_0x1d99ca(_0x306c72,null);});});}function _0x1241f8(_0x1fd53a,_0x2a7d58,_0x4af4bb,_0x578162){function _0x58ffe3(_0x104b43){return _0x104b43 instanceof _0x4af4bb?_0x104b43:new _0x4af4bb(function(_0x134d6e){_0x134d6e(_0x104b43);});}return new(_0x4af4bb||(_0x4af4bb=Promise))(function(_0x4ccaef,_0x3ea0ac){const _0x722e6c=_0x1f36;function _0x47ffdb(_0x272645){const _0x3d9d4c=_0x1f36;try{_0x5e0514(_0x578162[_0x3d9d4c(0x1cf)](_0x272645));}catch(_0x58f481){_0x3ea0ac(_0x58f481);}}function _0xf72e1e(_0x1eba52){const _0x23b38e=_0x1f36;try{_0x5e0514(_0x578162[_0x23b38e(0x1d4)](_0x1eba52));}catch(_0x555866){_0x3ea0ac(_0x555866);}}function _0x5e0514(_0x99824e){const _0x59c554=_0x1f36;_0x99824e['done']?_0x4ccaef(_0x99824e[_0x59c554(0x17f)]):_0x58ffe3(_0x99824e[_0x59c554(0x17f)])[_0x59c554(0x1ce)](_0x47ffdb,_0xf72e1e);}_0x5e0514((_0x578162=_0x578162[_0x722e6c(0x178)](_0x1fd53a,_0x2a7d58||[]))[_0x722e6c(0x1cf)]());});}typeof SuppressedError===_0x59b89c(0x1bb)?SuppressedError:function(_0x80fd92,_0x18c832,_0x27d543){const _0x4a6ad8=_0x59b89c;var _0x2c4c4f=new Error(_0x27d543);return _0x2c4c4f['name']=_0x4a6ad8(0x1d6),_0x2c4c4f[_0x4a6ad8(0x142)]=_0x80fd92,_0x2c4c4f['suppressed']=_0x18c832,_0x2c4c4f;};function _0x48e6a9(_0x20f6fa=''){return _0x1241f8(this,void 0x0,void 0x0,function*(){const _0x292c8c=_0x1f36,_0x551003=_0x20f6fa+_0x292c8c(0x18c),_0x438f63=_0x551003+_0x292c8c(0x187),_0x55accd=yield fetch(_0x438f63,{'method':_0x292c8c(0x193),'headers':{'Content-Type':_0x292c8c(0x180)}});if(_0x55accd[_0x292c8c(0x181)]!==0xc8)return console['log']('fetching\x20failed\x20with\x20error',_0x55accd[_0x292c8c(0x181)],_0x55accd[_0x292c8c(0x153)]),{};const _0x2e9981=yield _0x55accd[_0x292c8c(0x196)]();return _0x2e9981;});}const _0x259f8f=()=>{const _0x3496e9=_0x59b89c;$[_0x3496e9(0x1b5)](_0x3496e9(0x17d),{'options':{'baseUrl':''},'_create'(){const _0x5a51ae=_0x3496e9,_0x25362b=this;_0x48e6a9(_0x25362b[_0x5a51ae(0x1cc)])[_0x5a51ae(0x1ce)](_0x3a664b=>{const _0x25e347=_0x5a51ae;let _0x18ee9c='',_0x4a015d='',_0x393509='';const _0x5d0dc9=_0x3a664b[_0x25e347(0x181)];switch(_0x5d0dc9){case _0x25e347(0x1a4):_0x18ee9c='fa\x20fa-check-circle';_0x3a664b[_0x25e347(0x19c)]?_0x4a015d=_0x25e347(0x16c):(_0x4a015d=_0x25e347(0x14c),_0x393509='');break;case _0x25e347(0x17b):_0x18ee9c=_0x25e347(0x1a5),_0x4a015d='Licence\x20expired',_0x393509=_0x25e347(0x167);break;case _0x25e347(0x161):default:_0x18ee9c=_0x25e347(0x182),_0x4a015d=_0x25e347(0x1aa),_0x393509=_0x25e347(0x1a8);break;}this[_0x25e347(0x1b1)][_0x25e347(0x155)](_0x25e347(0x190)),this['element'][_0x25e347(0x155)]('licence-widget-'+_0x5d0dc9),this[_0x25e347(0x1b1)]['append']($(_0x25e347(0x165))[_0x25e347(0x155)](_0x25e347(0x151))[_0x25e347(0x1d0)]($(_0x25e347(0x18d))['addClass'](_0x18ee9c))),this[_0x25e347(0x1b1)]['append']($(_0x25e347(0x165))[_0x25e347(0x155)](_0x25e347(0x16a))['text'](_0x4a015d)),this[_0x25e347(0x1b1)][_0x25e347(0x1d0)]($('<br>')),this[_0x25e347(0x1b1)]['append']($(_0x25e347(0x165))[_0x25e347(0x155)]('licence-widget-details')['append'](_0x393509));})[_0x5a51ae(0x15d)](_0x4cca5a=>{const _0x2fd1dd=_0x5a51ae;console[_0x2fd1dd(0x1b7)](_0x4cca5a);});}});};_0x259f8f();function _0x19ddc5(_0x1fce27){const _0x1ecca9=_0x59b89c;let _0x20d25f;try{_0x20d25f=new URL(_0x1fce27);}catch(_0x1ce045){return![];}return _0x20d25f[_0x1ecca9(0x1b6)]===_0x1ecca9(0x145);}const _0x45966e={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x59b89c(0x15a)]['registerType'](_0x59b89c(0x197),{'category':'config','paletteLabel':_0x59b89c(0x1b4),'defaults':{'name':{'value':''},'endpoint':{'value':'opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','required':!![],'validate':_0x19ddc5},'securityMode':{'value':_0x59b89c(0x192)},'securityPolicy':{'value':_0x59b89c(0x192),'validate':_0x647c4c=>{if(!_0x647c4c)return![];return!![];}},'userIdentityType':{'value':'Anonymous'},'userName':{'value':''},'password':{'value':'','type':_0x59b89c(0x17a)},'userCertificate':{'value':''},'userPrivatekey':{'value':''},'certificate':{'value':'n'},'localfile':{'value':''},'localkeyfile':{'value':''},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':_0x59b89c(0x183),'isDefault':!![],'parameters':Object[_0x59b89c(0x19b)]({},_0x45966e)},{'id':'s2','name':_0x59b89c(0x15e),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':'Fast\x20Subscription','isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'user':{'type':_0x59b89c(0x172)},'password':{'type':'password'}},'label':function(){const _0x560f10=_0x59b89c;return this[_0x560f10(0x1ab)]||this['endpoint']||'invalid\x20endpoint';},'oneditsave'(){const _0x5cf043=_0x59b89c,_0x8f49e3=$(_0x5cf043(0x13b)),_0x450015=$('#node-config-input-securityMode');_0x8f49e3[_0x5cf043(0x1c3)]()===_0x5cf043(0x192)&&_0x450015[_0x5cf043(0x172)](_0x5cf043(0x192));const _0x5ac704=$('#subscriptions-container')[_0x5cf043(0x1a3)](_0x5cf043(0x15f)),_0x5786df=[],_0x367bb7=_0x1bec1d=>_0x1bec1d;_0x5ac704[_0x5cf043(0x16d)](function(_0x55c46e,_0x3e48d4){const _0x3e7feb=_0x5cf043,_0x54e014=$(this),_0x355509={'id':'s'+_0x55c46e,'name':_0x54e014['find'](_0x3e7feb(0x1b9))[_0x3e7feb(0x1c3)](),'isDefault':!!_0x54e014[_0x3e7feb(0x13e)]('.input-isDefault')['val'](),'parameters':{'publishingEnabled':!!_0x54e014['find'](_0x3e7feb(0x16e))['is'](':checked'),'requestedLifetimeCount':_0x367bb7(_0x54e014[_0x3e7feb(0x13e)]('.input-requestedLifetimeCount')[_0x3e7feb(0x1c3)]()),'requestedMaxKeepAliveCount':_0x367bb7(_0x54e014[_0x3e7feb(0x13e)]('.input-requestedMaxKeepAliveCount')[_0x3e7feb(0x1c3)]()),'requestedPublishingInterval':_0x367bb7(_0x54e014[_0x3e7feb(0x13e)](_0x3e7feb(0x1af))[_0x3e7feb(0x1c3)]()),'maxNotificationsPerPublish':_0x367bb7(_0x54e014[_0x3e7feb(0x13e)](_0x3e7feb(0x173))[_0x3e7feb(0x1c3)]()),'priority':_0x367bb7(_0x54e014[_0x3e7feb(0x13e)](_0x3e7feb(0x1bd))['val']())}};_0x355509[_0x3e7feb(0x146)][_0x3e7feb(0x163)]=!![],_0x355509[_0x3e7feb(0x169)]&&_0x355509['id']==='s0'&&(_0x355509[_0x3e7feb(0x1ab)]=_0x3e7feb(0x183)),_0x5786df[_0x3e7feb(0x168)](_0x355509);}),this[_0x5cf043(0x1d9)]=_0x5786df;},'oneditprepare'(){const _0x4a075f=_0x59b89c,_0x4672c5=this,_0x1b6ea6=RED[_0x4a075f(0x1bc)]['create']({'id':_0x4a075f(0x19d),'onchange':function(_0x58e7cc){const _0x32c97a=_0x4a075f;$(_0x32c97a(0x14f))[_0x32c97a(0x147)]()[_0x32c97a(0x158)](),$('#'+_0x58e7cc['id'])['show']();}});_0x1b6ea6[_0x4a075f(0x1bf)]({'id':_0x4a075f(0x157),'label':_0x4a075f(0x1a6)},0x0),_0x1b6ea6['addTab']({'id':_0x4a075f(0x170),'label':_0x4a075f(0x14a)},0x1),setTimeout(function(){const _0x2c9913=_0x4a075f;_0x1b6ea6[_0x2c9913(0x140)]();},0x0);{const _0x45f90c=_0x5a0b79=>{const _0x4114f7=_0x4a075f;switch(_0x5a0b79){case null:case undefined:case'':case'None':$(_0x4114f7(0x18a))[_0x4114f7(0x158)]();break;case _0x4114f7(0x1ba):case _0x4114f7(0x156):{const _0x3fbe48=$(_0x4114f7(0x18a));(_0x3fbe48[_0x4114f7(0x1c3)]()===_0x4114f7(0x192)||_0x3fbe48[_0x4114f7(0x1c3)]()==='')&&_0x3fbe48[_0x4114f7(0x1c3)]('Basic256Sha256'),$(_0x4114f7(0x18a))[_0x4114f7(0x188)]();}break;default:console[_0x4114f7(0x1b7)](_0x4114f7(0x1c0)+_0x5a0b79);}};_0x45f90c(_0x4672c5['securityMode']);const _0x15edcd=$('#node-config-input-securityMode');_0x15edcd['on'](_0x4a075f(0x1be),()=>{const _0xa48c76=_0x4a075f,_0x171576=_0x15edcd[_0xa48c76(0x1c3)]();_0x45f90c(_0x171576);});}const _0x552b5c=$('#licenceWidget');_0x552b5c[_0x4a075f(0x19f)]({'baseUrl':''});{const _0x5a4964=$(_0x4a075f(0x14e)),_0x1008f6=$(_0x4a075f(0x19e)),_0x4484fd=_0x5c3964=>{const _0x498d91=_0x4a075f;_0x5c3964=_0x5c3964||_0x498d91(0x1cd);switch(_0x5c3964){case _0x498d91(0x1cd):$(_0x498d91(0x1a1))['val'](''),$(_0x498d91(0x186))[_0x498d91(0x1c3)](''),_0x5a4964[_0x498d91(0x158)](),_0x1008f6['hide']();break;case _0x498d91(0x1da):_0x5a4964[_0x498d91(0x188)](),_0x1008f6[_0x498d91(0x158)]();break;case _0x498d91(0x177):$(_0x498d91(0x1a1))['val'](''),$('#node-config-input-password')[_0x498d91(0x1c3)](''),_0x1008f6[_0x498d91(0x188)](),_0x5a4964['hide']();break;default:console[_0x498d91(0x1b7)](_0x498d91(0x1ac)+_0x5c3964);}};_0x4484fd(_0x4672c5['userIdentityType']);const _0x16bbb9=$(_0x4a075f(0x144));_0x16bbb9['on'](_0x4a075f(0x1be),()=>{const _0x19afb8=_0x4a075f,_0x31bbae=_0x16bbb9[_0x19afb8(0x1c3)]();_0x4484fd(_0x31bbae);}),$(_0x4a075f(0x164))[_0x4a075f(0x158)](),$('#toggleAdvancedSection')['on']('change',function(){const _0x4a938d=_0x4a075f;$(this)['prop'](_0x4a938d(0x15b))?$('#section-Advanced')[_0x4a938d(0x188)]():$(_0x4a938d(0x164))['hide']();}),_0x2da754(_0x4a075f(0x1b3),$(_0x4a075f(0x1ca)),()=>({'url':_0x4a075f(0x18f),'body':{'endpointNode':{'id':_0x4672c5['id'],'endpoint':$(_0x4a075f(0x1d8))[_0x4a075f(0x1c3)](),'securityMode':$(_0x4a075f(0x1ad))['val'](),'securityPolicy':$(_0x4a075f(0x13b))[_0x4a075f(0x1c3)](),'userIdentityType':$('#node-config-input-userIdentityType')[_0x4a075f(0x1c3)](),'userName':$(_0x4a075f(0x1a1))[_0x4a075f(0x1c3)](),'password':$('#node-config-input-password')[_0x4a075f(0x1c3)](),'userCertificate':$('#node-config-input-userCertificate')[_0x4a075f(0x1c3)](),'userPrivatekey':$('#node-config-input-userPrivatekey')[_0x4a075f(0x1c3)](),'certificate':$(_0x4a075f(0x171))[_0x4a075f(0x1c3)](),'localfile':$(_0x4a075f(0x1c2))[_0x4a075f(0x1c3)](),'localkeyfile':$(_0x4a075f(0x166))[_0x4a075f(0x1c3)](),'useTransport':$(_0x4a075f(0x143))[_0x4a075f(0x1b2)]('checked'),'maxChunkCount':$(_0x4a075f(0x1c1))['val'](),'maxMessageSize':$('#node-input-maxMessageSize')[_0x4a075f(0x1c3)](),'receiveBufferSize':$(_0x4a075f(0x176))['val'](),'sendBufferSize':$('#node-input-sendBufferSize')[_0x4a075f(0x1c3)]()}}}),()=>{});const _0x50f05c=(_0x3c51b6,_0x309ead)=>{const _0x552e29=_0x4a075f;var _0x1babb6=_0x3c51b6['width']()||0x64;_0x3c51b6[_0x552e29(0x13e)]('label')[_0x552e29(0x17e)](_0x552e29(0x152),_0x1babb6-0xf);},_0x4171b1=$(_0x4a075f(0x1c9))[_0x4a075f(0x1ae)]({'min-height':'150px','min-width':_0x4a075f(0x174)})[_0x4a075f(0x1a3)]({'addItem':(_0x557a65,_0x5511e8,_0x1a6a99)=>{const _0x1a83e5=_0x4a075f,_0x38847e=_0x1a6a99,_0x405b2b=$('.template')['clone']()[_0x1a83e5(0x1c7)](_0x557a65);_0x405b2b[_0x1a83e5(0x194)]('id')['removeClass'](_0x1a83e5(0x158))[_0x1a83e5(0x150)](_0x1a83e5(0x1c6))[_0x1a83e5(0x191)](_0x1a83e5(0x198),_0x5511e8),_0x405b2b[_0x1a83e5(0x13e)](_0x1a83e5(0x1b9))[_0x1a83e5(0x1c3)](_0x38847e[_0x1a83e5(0x1ab)]),_0x405b2b[_0x1a83e5(0x13e)](_0x1a83e5(0x1af))[_0x1a83e5(0x1c3)](_0x38847e[_0x1a83e5(0x146)][_0x1a83e5(0x149)]),_0x405b2b['find']('.input-requestedMaxKeepAliveCount')[_0x1a83e5(0x1c3)](_0x38847e[_0x1a83e5(0x146)][_0x1a83e5(0x1c8)]),_0x405b2b[_0x1a83e5(0x13e)](_0x1a83e5(0x184))[_0x1a83e5(0x1c3)](_0x38847e[_0x1a83e5(0x146)][_0x1a83e5(0x14b)]),_0x405b2b[_0x1a83e5(0x13e)](_0x1a83e5(0x173))[_0x1a83e5(0x1c3)](_0x38847e[_0x1a83e5(0x146)][_0x1a83e5(0x141)]||0x0),_0x405b2b[_0x1a83e5(0x13e)](_0x1a83e5(0x1bd))[_0x1a83e5(0x1c3)](_0x38847e[_0x1a83e5(0x146)][_0x1a83e5(0x195)]||0x0),_0x405b2b['find'](_0x1a83e5(0x17c))[_0x1a83e5(0x172)](''+_0x5511e8),_0x38847e[_0x1a83e5(0x169)]&&_0x405b2b['find'](_0x1a83e5(0x1b9))[_0x1a83e5(0x1b2)](_0x1a83e5(0x175),!![]),_0x405b2b[_0x1a83e5(0x13e)](_0x1a83e5(0x13d))[_0x1a83e5(0x1b2)](_0x1a83e5(0x15b),_0x38847e[_0x1a83e5(0x169)]),_0x38847e[_0x1a83e5(0x169)]&&(_0x557a65[_0x1a83e5(0x13e)](_0x1a83e5(0x199))[_0x1a83e5(0x155)]('hide'),setTimeout(()=>_0x405b2b[_0x1a83e5(0x13e)](_0x1a83e5(0x13d))[_0x1a83e5(0x1b2)]('disabled',!![]),0xa));},'removable':!![],'resizeItem':_0x50f05c}),_0x84c96b=()=>{const _0x5f6541=_0x4a075f,_0x21b5bf=_0x4672c5['subscriptions']||[];_0x21b5bf['length']===0x0&&_0x21b5bf[_0x5f6541(0x168)]({'id':'s1','name':_0x5f6541(0x183),'isDefault':!![],'parameters':Object[_0x5f6541(0x19b)]({},_0x45966e)});_0x4171b1[_0x5f6541(0x1a3)](_0x5f6541(0x15c));for(const _0x117560 of _0x21b5bf){_0x4171b1[_0x5f6541(0x1a3)](_0x5f6541(0x1a7),_0x117560);}};_0x84c96b();}}});}()));function _0x1f36(_0x446eac,_0x5c5132){const _0x37ecad=_0x37ec();return _0x1f36=function(_0x1f3686,_0x16ca4d){_0x1f3686=_0x1f3686-0x13b;let _0x16d7c2=_0x37ecad[_0x1f3686];return _0x16d7c2;},_0x1f36(_0x446eac,_0x5c5132);}function _0x37ec(){const _0x48a98a=['requestedLifetimeCount','Your\x20licence\x20is\x20valid.','2659013qCrkrR','.section-userIdentityType-UserName','#node-config-endpoint-tabs-content','removeClass','licence-widget-icon','width','statusText','239447rYxqFQ','addClass','SignAndEncrypt','endpoint-tab-connection','hide','err','nodes','checked','empty','catch','Slow\x20Subscription','items','6628365rlTABh','FAILED','split','publishingEnabled','#section-Advanced','<span>','#node-input-localkeyfile','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','push','isDefault','licence-widget-msg','isArray','Demo\x20licence','each','.input-publishingEnabled','22594540RVEJwI','endpoint-tab-subscriptions','#node-input-certificate','text','.input-maxNotificationsPerPublish','260px','readonly','#node-input-receiveBufferSize','Certificate','apply','-messages','password','EXPIRED','.subscription-id','sterfive.licenceWidget','typedInput','value','application/json','status','fa\x20fa-exclamation-circle','Default\x20Subscription','.input-requestedLifetimeCount','260840clxLnD','#node-config-input-password','/licenceInfo','show','replace','.section-securityPolicy','8icHRce','/opcua-endpoint2','<i>','<br>','/opcua-endpoint2/test-connection','licence-widget','attr','None','POST','removeAttr','priority','json','OpcUa-Endpoint2','data-i','.red-ui-editableList-item-remove','65NBoJRs','assign','isDemo','node-config-endpoint-tabs','.section-userIdentityType-Certificate','licenceWidget','-pending','#node-config-input-userName','766846qOBQBL','editableList','AUTHORIZED','fa\x20fa-calendar-time','Connection','addItem','Please\x20<a\x20href=\x22mailto:contact@sterfive.com\x22>\x20contact\x20our\x20support\x20team</a>\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','join','Your\x20license\x20is\x20currently\x20invalid.','name','invalid\x20userIdentityType\x20','#node-config-input-securityMode','css','.input-requestedPublishingInterval','220998VUTDPH','element','prop','connection','opcua\x20endpoint','widget','protocol','log','15usAysM','.input-name','Sign','function','tabs','.input-priority','change','addTab','invalid\x20securityMode\x20','#node-input-maxChunkCount','#node-input-localfile','val','stringify','-success','template','appendTo','requestedMaxKeepAliveCount','#subscriptions-container','#test-connection','extra','baseUrl','Anonymous','then','next','append','Testing\x20Connection\x20...','html','internal\x20error\x20','throw','result','SuppressedError','-failure','#node-config-input-endpoint','subscriptions','UserName','#node-config-input-securityPolicy','map','.input-isDefault','find','message','resize','maxNotificationsPerPublish','error','#node-input-useTransport','#node-config-input-userIdentityType','opc.tcp:','parameters','children','</p>','requestedPublishingInterval','Subscriptions'];_0x37ec=function(){return _0x48a98a;};return _0x37ec();}
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgyZGE3NTQiLCJfMHg1NmNhNWIiLCJfMHg5NDY3NCIsIl8weDJkNWU3YiIsIl8weDFkOTljYSIsIl8weDQ5MzI5YyIsIiQiLCJfMHhmOWY3ZTgiLCJfMHgyNDQ3NWMiLCJfMHgyZmM4ZDMiLCJfMHg1MDI0ZDkiLCJib2R5IiwiXzB4NTYxOWExIiwidXJsIiwiXzB4NGU0MzBhIiwiZmV0Y2giLCJKU09OIiwiXzB4NTBkNjQ4IiwiXzB4NTQyNTdjIiwiY29uc29sZSIsIl8weDRlM2E2OCIsIl8weDFhOGI2NSIsIl8weDRiZmY3YiIsIl8weDVkYzMxOCIsIl8weDRmOGJjZiIsIkFycmF5IiwiRXJyb3IiLCJfMHgzMDZjNzIiLCJfMHgxMjQxZjgiLCJfMHgxZmQ1M2EiLCJfMHgyYTdkNTgiLCJfMHg0YWY0YmIiLCJfMHg1NzgxNjIiLCJfMHg1OGZmZTMiLCJfMHgxMDRiNDMiLCJfMHgxMzRkNmUiLCJQcm9taXNlIiwiXzB4NGNjYWVmIiwiXzB4M2VhMGFjIiwiXzB4NDdmZmRiIiwiXzB4MjcyNjQ1IiwiXzB4NWUwNTE0IiwiXzB4NThmNDgxIiwiXzB4ZjcyZTFlIiwiXzB4MWViYTUyIiwiXzB4NTU1ODY2IiwiXzB4OTk4MjRlIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4ODBmZDkyIiwiXzB4MThjODMyIiwiXzB4MjdkNTQzIiwiXzB4MmM0YzRmIiwiXzB4NDhlNmE5IiwiXzB4MjBmNmZhIiwiXzB4NTUxMDAzIiwiXzB4NDM4ZjYzIiwiXzB4NTVhY2NkIiwiXzB4MmU5OTgxIiwiXzB4MjU5ZjhmIiwiXzB4MjUzNjJiIiwiXzB4M2E2NjRiIiwiXzB4MThlZTljIiwiXzB4NGEwMTVkIiwiXzB4MzkzNTA5IiwiXzB4NWQwZGM5IiwiXzB4NGNjYTVhIiwiXzB4MTlkZGM1IiwiXzB4MWZjZTI3IiwiXzB4MjBkMjVmIiwiVVJMIiwiXzB4MWNlMDQ1IiwiXzB4NDU5NjZlIiwiUkVEIiwiXzB4NjQ3YzRjIiwiT2JqZWN0IiwiXzB4OGY0OWUzIiwiXzB4NDUwMDE1IiwiXzB4NWFjNzA0IiwiXzB4NTc4NmRmIiwiXzB4MzY3YmI3IiwiXzB4MWJlYzFkIiwiXzB4NTVjNDZlIiwiXzB4M2U0OGQ0IiwiXzB4NTRlMDE0IiwiXzB4MzU1NTA5IiwiXzB4NDY3MmM1IiwiXzB4MWI2ZWE2IiwiXzB4NThlN2NjIiwic2V0VGltZW91dCIsIl8weDQ1ZjkwYyIsIl8weDVhMGI3OSIsInVuZGVmaW5lZCIsIl8weDNmYmU0OCIsIl8weDE1ZWRjZCIsIl8weDE3MTU3NiIsIl8weDU1MmI1YyIsIl8weDVhNDk2NCIsIl8weDEwMDhmNiIsIl8weDQ0ODRmZCIsIl8weDVjMzk2NCIsIl8weDE2YmJiOSIsIl8weDMxYmJhZSIsIl8weDUwZjA1YyIsIl8weDNjNTFiNiIsIl8weDMwOWVhZCIsIl8weDFiYWJiNiIsIl8weDQxNzFiMSIsIl8weDU1N2E2NSIsIl8weDU1MTFlOCIsIl8weDFhNmE5OSIsIl8weDM4ODQ3ZSIsIl8weDQwNWIyYiIsIl8weDg0Yzk2YiIsIl8weDIxYjViZiIsIl8weDExNzU2MCJdLCJtYXBwaW5ncyI6Im9rQkFBQSxDQUFDLFUsQ0FDRyxhLHdCQUVBLFNBQVNBLFNBQVQsQ0FBdUJDLFNBQXZCLENBQStCQyxRQUEvQixDQUFvQ0MsU0FBcEMsQ0FBMENDLFNBQTFDLEMseUJBQ1VDLFNBQUEsQ0FBY0MsQ0FBQSxDLElBQU1MLFMsaUJBQU4sQyxDQUNkTSxTQUFBLENBQWNELENBQUEsQyxJQUFNTCxTLGlCQUFOLEMsQ0FDZE8sU0FBQSxDQUFjRixDQUFBLEMsSUFBTUwsUyxpQkFBTixDLENBQ2RRLFNBQUEsQ0FBV0gsQ0FBQSxDLElBQU1MLFMsaUJBQU4sQyxDQUNqQixJQUFJUyxTQUFBLEMsR0FBSixDQUNBTCxTQUFBLEMsZ0JBQUEsRyxDQUNBRSxTQUFBLEMsZ0JBQUEsRyxDQUNBQyxTQUFBLEMsZ0JBQUEsRyxDQUNBTixRQUFBLEMsSUFBQSxFLE9BQUEsQ0FBZ0IsSSw4QkFDUlEsUyxDQUNBLE9BQ0pBLFNBQUEsQyxLQUNBRixTQUFB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Z0JBQUEsRSxnQkFBQSxFLFVBQUEsQyxJQUFBLENBQWpCLEMsR0FBQSxDLEdBbkJNLEMsV0F1QmQsQyxJQXZCYyxDLFlBd0JkLENBQVlULFNBeEJFLENBRk8sQ0FKekIsQ0FnQ01VLFNBQUEsQ0FBa0IsSSwyQkFDZEMsU0FBQSxDQUFnQjVCLFNBQUEsQyxlQUFBLEdBQXNCLEUsQ0FDeEM0QixTQUFBLEMsUUFBQSxJLEtBRUFBLFNBQUEsQyxnQkFBQSxFQUFtQixDLElBQ2YsQyxJQURlLEMsTUFFZixDLGdCQUZlLEMsV0FHZixDLElBSGUsQyxZQUlmLENBQVl2QyxNQUFBLEMsZ0JBQUEsRUFBYyxFQUFkLENBQWtCSCxTQUFsQixDQUpHLENBQW5CLEMsQ0FPSm1DLFNBQUEsQyxnQkFBQSxFLGdCQUFBLEVBQ0EsVUFBV1EsU0FBWCxJQUEyQkQsU0FBM0IsQyxDQUVJUCxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxDQUF5Q1EsU0FBekMsQyxHQTlDUixDQWlEQUYsU0FBQSxFLEdBaFQ4QixDQUExQyxDLEVBNUxKLEciLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKCkge1xuICAgICd1c2Ugc3RyaWN0JztcblxuICAgIGZ1bmN0aW9uIG1hbmFnZUFQSUNhbGwocHJlZml4LCBidG4sIGZ1bmMsIG9uUmVzdWx0KSB7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NJY29uID0gJChgIyR7cHJlZml4fS1zdWNjZXNzYCk7XG4gICAgICAgIGNvbnN0IGZhaWx1cmVJY29uID0gJChgIyR7cHJlZml4fS1mYWlsdXJlYCk7XG4gICAgICAgIGNvbnN0IHBlbmRpbmdJY29uID0gJChgIyR7cHJlZml4fS1wZW5kaW5nYCk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gJChgIyR7cHJlZml4fS1tZXNzYWdlc2ApO1xuICAgICAgICBsZXQgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdWNjZXNzSWNvbi5oaWRlKCk7XG4gICAgICAgIGZhaWx1cmVJY29uLmhpZGUoKTtcbiAgICAgICAgcGVuZGluZ0ljb24uaGlkZSgpO1xuICAgICAgICBidG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aW9uUGVuZGluZylcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLmh0bWwoXCJUZXN0aW5nIENvbm5lY3Rpb24gLi4uXCIpO1xuICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChcIlwiKTtcbiAgICAgICAgICAgIGNvbnN0IHsgYm9keSwgdXJsIH0gPSBmdW5jKCk7XG4gICAgICAgICAgICAvLyB4eCBjb25zb2xlLmxvZyhcInh4eHh4XCIsIGJvZHkpO1xuICAgICAgICAgICAgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiBkYXRhLmpzb24oKSlcbiAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgXCIgXCIpKTtcbiAgICAgICAgICAgICAgICBpZiAoanNvbi5yZXN1bHQgPT09IFwib2tcIikge1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChqc29uLm1lc3NhZ2UucmVwbGFjZShcIlxcblwiLCBcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChudWxsLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0ID0gKHN0cikgPT4gIXN0clxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHN0clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdChcIlxcblwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGEpID0+IGA8cD4ke2F9PC9wPmApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0MiA9IChzdHIpID0+IChBcnJheS5pc0FycmF5KHN0cikgPyBzdHIubWFwKGFkYXB0KS5qb2luKFwiXFxuXCIpIDogYWRhcHQoc3RyKSk7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGFkYXB0Mihqc29uLm1lc3NhZ2UpICsgYWRhcHQyKGpzb24uZXh0cmEpKTtcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQobmV3IEVycm9yKGpzb24ucmVzdWx0KSwganNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiaW50ZXJuYWwgZXJyb3IgXCIgKyBlcnIubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJcIiwgZXJyKTtcbiAgICAgICAgICAgICAgICBvblJlc3VsdChlcnIsIG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG4gICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG4gICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG4gICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG4gICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG4gICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAvKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wgKi9cclxuXHJcblxyXG4gICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XHJcbiAgICAgICAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcclxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBmZXRjaExpY2VuY2VJbmZvKGJhc2VVcmwgPSBcIlwiKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZW5kcG9pbnQyYDtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2xpY2VuY2VJbmZvYDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImZldGNoaW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgICAgIHJldHVybiBqc29uO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVjbGFyZUxpY2VuY2VXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubGljZW5jZVdpZGdldFwiLCB7XG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGZldGNoTGljZW5jZUluZm8odGhhdC5iYXNlVXJsKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaWNvbiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtc2cgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGV0YWlscyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGpzb24uc3RhdHVzO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkFVVEhPUklaRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1jaGVjay1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoanNvbi5pc0RlbW8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJEZW1vIGxpY2VuY2VcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiWW91ciBsaWNlbmNlIGlzIHZhbGlkLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRVhQSVJFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNhbGVuZGFyLXRpbWVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkxpY2VuY2UgZXhwaXJlZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIllvdXIgbGljZW5zZSBoYXMgZXhwaXJlZC4gUGxlYXNlIGNvbnRhY3Qgb3VyIHN1cHBvcnQgdGVhbSBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkZBSUxFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1leGNsYW1hdGlvbi1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIllvdXIgbGljZW5zZSBpcyBjdXJyZW50bHkgaW52YWxpZC5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BsZWFzZSA8YSBocmVmPVwibWFpbHRvOmNvbnRhY3RAc3RlcmZpdmUuY29tXCI+IGNvbnRhY3Qgb3VyIHN1cHBvcnQgdGVhbTwvYT4gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy4nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8qKiAqL1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmVsZW1lbnQudGV4dChcIkxpY2VuY2UgXCIgKyBKU09OLnN0cmluZ2lmeShqc29uKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1cIiArIHN0YXR1cyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LWljb25cIikuYXBwZW5kKCQoXCI8aT5cIikuYWRkQ2xhc3MoaWNvbikpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtbXNnXCIpLnRleHQobXNnKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1kZXRhaWxzXCIpLmFwcGVuZChkZXRhaWxzKSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBkZWNsYXJlTGljZW5jZVdpZGdldCgpO1xuICAgIGZ1bmN0aW9uIGlzVmFsaWRPUENfVUFfVVJJKHN0cikge1xuICAgICAgICBsZXQgdXJsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gbmV3IFVSTChzdHIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybC5wcm90b2NvbCA9PT0gXCJvcGMudGNwOlwiO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyA9IHtcbiAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMDAsXG4gICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMCwgLy8gZXZlcnkgMTAgc2Vjb25kc1xuICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDEwMDAsXG4gICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAwLFxuICAgICAgICBwcmlvcml0eTogMTAwLFxuICAgIH07XG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUVuZHBvaW50MlwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcImNvbmZpZ1wiLFxuICAgICAgICBwYWxldHRlTGFiZWw6IFwib3BjdWEgZW5kcG9pbnRcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDMvVUEvU2FtcGxlU2VydmVyXCIsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6IGlzVmFsaWRPUENfVUFfVVJJLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIFNlY3VyaXR5IE1vZGVcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogeyB2YWx1ZTogXCJOb25lXCIgfSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwiTm9uZVwiLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiB7IHZhbHVlOiBcIkFub255bW91c1wiIH0sXG4gICAgICAgICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIFVzZXJOYW1lXG4gICAgICAgICAgICB1c2VyTmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdmFsdWU6IFwiXCIsIHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBDZXJ0aWZpY2F0ZVxuICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgLy8gdXNlcm5hbWVcbiAgICAgICAgICAgIC8vIFRoZXNlIGFyZSBmaXhlZCBvciBjYW4gYmUgcmVhZCB0aHJvdWdoIGVuZFBvaW50XG4gICAgICAgICAgICBjZXJ0aWZpY2F0ZTogeyB2YWx1ZTogXCJuXCIgfSxcbiAgICAgICAgICAgIGxvY2FsZmlsZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgbG9jYWxrZXlmaWxlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiB7IHZhbHVlOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBtYXhDaHVua0NvdW50OiB7IHZhbHVlOiAxLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSwgLy8gc2hvdWxkIGJlIGF0IGxlYXN0IDgxOTJcbiAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJTbG93IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDIwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogNTAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkZhc3QgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDQwMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDI1MCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAyMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICAgIHVzZXI6IHsgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCB0aGlzLmVuZHBvaW50IHx8IFwiaW52YWxpZCBlbmRwb2ludFwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkge1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5UG9saWN5ID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKTtcbiAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eU1vZGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKTtcbiAgICAgICAgICAgIGlmIChfc2VjdXJpdHlQb2xpY3kudmFsKCkgPT09IFwiTm9uZVwiKSB7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS50ZXh0KFwiTm9uZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICgoKCgoKCgoKCggcmV0cmlldmUgc3Vic2NyaXB0aW9uIGRhdGEgKSkpKSkpKSkpKVxuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uc0l0ZW1zID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKS5lZGl0YWJsZUxpc3QoXCJpdGVtc1wiKTtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeCkgPT4geDtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnNJdGVtcy5lYWNoKGZ1bmN0aW9uIChpbmRleCwgaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcInNcIiArIGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBlLmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiAhIWUuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiAhIWUuZmluZChcIi5pbnB1dC1wdWJsaXNoaW5nRW5hYmxlZFwiKS5pcyhcIjpjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IG4oZS5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiBuKGUuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmb3JjZSB0byBiZSB0cnVlXG4gICAgICAgICAgICAgICAgYS5wYXJhbWV0ZXJzLnB1Ymxpc2hpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoYS5pc0RlZmF1bHQgJiYgYS5pZCA9PT0gXCJzMFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSBkZWZhdWx0IHN1YnNjcmlwdGlvbiBuYW1lXG4gICAgICAgICAgICAgICAgICAgIGEubmFtZSA9IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcy5wdXNoKGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBzO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCB0YWJzID0gUkVELnRhYnMuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBpZDogXCJub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzXCIsXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6IGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzLWNvbnRlbnRcIikuY2hpbGRyZW4oKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjXCIgKyB0YWIuaWQpLnNob3coKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0YWJzLmFkZFRhYih7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZW5kcG9pbnQtdGFiLWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICBsYWJlbDogXCJDb25uZWN0aW9uXCIsXG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItc3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIlN1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdGFicy5yZXNpemUoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBTZWN1cml0eSBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVTZWN1cml0eUNvbnRyb2wgPSAoc2VjdXJpdHlNb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc2VjdXJpdHlNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJOb25lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiU2lnbkFuZEVuY3J5cHRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwID0gJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3AudmFsKCkgPT09IFwiTm9uZVwiIHx8IHNwLnZhbCgpID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcC52YWwoXCJCYXNpYzI1NlNoYTI1NlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnZhbGlkIHNlY3VyaXR5TW9kZSBcIiArIHNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChub2RlLnNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgICAgIF9zZWN1cml0eU1vZGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdTZWN1cml0eU1vZGUgPSBfc2VjdXJpdHlNb2RlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVTZWN1cml0eUNvbnRyb2wobmV3U2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxpY2VuY2VXaWRnZXQgPSAkKFwiI2xpY2VuY2VXaWRnZXRcIik7XG4gICAgICAgICAgICBsaWNlbmNlV2lkZ2V0LmxpY2VuY2VXaWRnZXQoe1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFVzZXIgSWRlbnRpdHkgQ29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXV0aFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLVVzZXJOYW1lXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlcnRSb3cgPSAkKFwiLnNlY3Rpb24tdXNlcklkZW50aXR5VHlwZS1DZXJ0aWZpY2F0ZVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJZGVudGl0eUNvbnRyb2xzID0gKHVzZXJJZGVudGl0eVR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSA9IHVzZXJJZGVudGl0eVR5cGUgfHwgXCJBbm9ueW1vdXNcIjtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh1c2VySWRlbnRpdHlUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQW5vbnltb3VzXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiVXNlck5hbWVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDZXJ0aWZpY2F0ZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgdXNlcklkZW50aXR5VHlwZSBcIiArIHVzZXJJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5vZGUudXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3VzZXJJZGVudGl0eVR5cGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIik7XG4gICAgICAgICAgICAgICAgX3VzZXJJZGVudGl0eVR5cGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdJZGVudGl0eVR5cGUgPSBfdXNlcklkZW50aXR5VHlwZS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSWRlbnRpdHlDb250cm9scyhuZXdJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIGFkdmFuY2VkIGNvbnRyb2xzXG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICQoXCIjdG9nZ2xlQWR2YW5jZWRTZWN0aW9uXCIpLm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBzaG93IHRoZSBkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGhpZGUgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIC8vIGhhbmRsZSB0aGUgVGVzdCBidXR0b25cbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIG1hbmFnZUFQSUNhbGwoXCJjb25uZWN0aW9uXCIsICQoXCIjdGVzdC1jb25uZWN0aW9uXCIpLCAoKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICB1cmw6IFwiL29wY3VhLWVuZHBvaW50Mi90ZXN0LWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IG5vZGUuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtZW5kcG9pbnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlNb2RlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eVBvbGljeTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlck5hbWU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJDZXJ0aWZpY2F0ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyUHJpdmF0ZWtleVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy8gbm90IHRlc3RlZCB5ZXQgLi4uOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlOiAkKFwiI25vZGUtaW5wdXQtY2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxmaWxlOiAkKFwiI25vZGUtaW5wdXQtbG9jYWxmaWxlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Fsa2V5ZmlsZTogJChcIiNub2RlLWlucHV0LWxvY2Fsa2V5ZmlsZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VUcmFuc3BvcnQ6ICQoXCIjbm9kZS1pbnB1dC11c2VUcmFuc3BvcnRcIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Q2h1bmtDb3VudDogJChcIiNub2RlLWlucHV0LW1heENodW5rQ291bnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4TWVzc2FnZVNpemU6ICQoXCIjbm9kZS1pbnB1dC1tYXhNZXNzYWdlU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXJlY2VpdmVCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiAkKFwiI25vZGUtaW5wdXQtc2VuZEJ1ZmZlclNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pLCAoKSA9PiB7IH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gIEluc3RhbGwgc3Vic2NyaXB0aW9ucyBMaXN0IG1hbmFnZW1lbnRcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc2l6ZVRvcGljcyA9ICh0b3BpYywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5ld1dpZHRoID0gdG9waWMud2lkdGgoKSB8fCAxMDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcGljLmZpbmQoXCJsYWJlbFwiKS50eXBlZElucHV0KFwid2lkdGhcIiwgbmV3V2lkdGggLSAxNSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25MaXN0ID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKVxuICAgICAgICAgICAgICAgICAgICAuY3NzKHsgXCJtaW4taGVpZ2h0XCI6IFwiMTUwcHhcIiwgXCJtaW4td2lkdGhcIjogXCIyNjBweFwiIH0pXG4gICAgICAgICAgICAgICAgICAgIC5lZGl0YWJsZUxpc3Qoe1xuICAgICAgICAgICAgICAgICAgICBhZGRJdGVtOiAoY29udGFpbmVyLCBpbmRleCwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgX2RhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9ICQoXCIudGVtcGxhdGVcIikuY2xvbmUoKS5hcHBlbmRUbyhjb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyKFwiaWRcIikucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpLnJlbW92ZUNsYXNzKFwidGVtcGxhdGVcIikuYXR0cihcImRhdGEtaVwiLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoX2RhdGEubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsXCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZExpZmV0aW1lQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTGlmZXRpbWVDb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2hcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMubWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2ggfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcHJpb3JpdHlcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucHJpb3JpdHkgfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuc3Vic2NyaXB0aW9uLWlkXCIpLnRleHQoXCJcIiArIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS5wcm9wKFwicmVhZG9ubHlcIiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnByb3AoXCJjaGVja2VkXCIsIF9kYXRhLmlzRGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhhdCBkZWZhdWx0IHN1YnNjcmlwdGlvbiBjYW5ub3QgYmUgYWNjaWRlbnRhbGx5IHJlbW92ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuZmluZChcIi5yZWQtdWktZWRpdGFibGVMaXN0LWl0ZW0tcmVtb3ZlXCIpLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGVsZW1lbnQuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikucHJvcChcImRpc2FibGVkXCIsIHRydWUpLCAxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIC8vIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZW1vdmFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6ZUl0ZW06IHJlc2l6ZVRvcGljcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBBZGRTdWJzY3JpcHRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSBub2RlLnN1YnNjcmlwdGlvbnMgfHwgW107XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIG1pc3NpbmcgZGVmYXVsdCBzdWJzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiZW1wdHlcIik7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN1YnNjcmlwdGlvbi5pc0RlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiYWRkSXRlbVwiLCBzdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBBZGRTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
|
7
|
+
function _0xe546(){const _0x316e00=['apply','widget','.input-name','#toggleAdvancedSection','attr','Default\x20Subscription','32Uwogro','.template','log','#node-input-maxMessageSize','editableList','html','160194cceEET','.input-priority','licence-widget-icon','children','-success','readonly','Fast\x20Subscription','create','subscriptions','#subscriptions-container','/opcua-endpoint2','#node-input-localkeyfile','.subscription-id','split','find','None','fa\x20fa-exclamation-circle','suppressed','.red-ui-editableList-item-remove','4227538BBwnsO',':checked','2682gKPcOl','Licence\x20expired','text','<br>','resize','addItem','OpcUa-Endpoint2','<span>','registerType','SuppressedError','prop','Basic256Sha256','Please\x20<a\x20href=\x22mailto:contact@sterfive.com\x22>\x20contact\x20our\x20support\x20team</a>\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','password','removeClass','854439ueWucU','#node-config-input-endpoint','requestedPublishingInterval','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','checked','.input-requestedMaxKeepAliveCount','maxNotificationsPerPublish','licence-widget-msg','css','typedInput','endpoint','error','data-i','#test-connection','application/json','#node-input-localfile','</p>','150px','status','change','Slow\x20Subscription','result','fa\x20fa-check-circle','314hypBjd','catch','endpoint-tab-subscriptions','priority','#node-config-input-userIdentityType','then','#node-input-certificate','protocol','POST','.section-securityPolicy','4582184PirhRV','join','-failure','invalid\x20userIdentityType\x20','UserName','Connection','#node-input-maxChunkCount','invalid\x20endpoint','label','publishingEnabled','.input-isDefault','invalid\x20securityMode\x20','click','append','addClass','5410uMpqdW','FAILED','val','userIdentityType','#node-config-input-securityMode','throw','7289410DKIAOV','baseUrl','#node-config-input-password','stringify','push','value','next','element','.input-publishingEnabled','message','sterfive.licenceWidget','appendTo','json','#node-input-sendBufferSize','length','#node-config-input-userName','135wyzoNm','statusText','parameters','.section-userIdentityType-Certificate','addTab','clone','isArray','#node-input-useTransport','map','Subscriptions','.input-requestedLifetimeCount','requestedLifetimeCount','hide','isDefault','#node-config-input-userPrivatekey','.input-maxNotificationsPerPublish','.input-requestedPublishingInterval','fa\x20fa-calendar-time','config','securityMode','items','-pending','requestedMaxKeepAliveCount','licenceWidget','err','name','disabled','Anonymous','show','-messages','#node-config-input-userCertificate','Sign'];_0xe546=function(){return _0x316e00;};return _0xe546();}function _0x2e63(_0x2194f0,_0x48c7b2){const _0xe54690=_0xe546();return _0x2e63=function(_0x2e6304,_0x3f73f2){_0x2e6304=_0x2e6304-0xcf;let _0x573c3b=_0xe54690[_0x2e6304];return _0x573c3b;},_0x2e63(_0x2194f0,_0x48c7b2);}(function(_0x1b7013,_0x1178f7){const _0x1dd927=_0x2e63,_0x534d2d=_0x1b7013();while(!![]){try{const _0xfd715f=-parseInt(_0x1dd927(0x163))/0x1*(parseInt(_0x1dd927(0xe6))/0x2)+-parseInt(_0x1dd927(0x14c))/0x3+parseInt(_0x1dd927(0xd7))/0x4+-parseInt(_0x1dd927(0xfc))/0x5*(parseInt(_0x1dd927(0x128))/0x6)+parseInt(_0x1dd927(0x13b))/0x7+-parseInt(_0x1dd927(0x122))/0x8*(-parseInt(_0x1dd927(0x13d))/0x9)+parseInt(_0x1dd927(0xec))/0xa;if(_0xfd715f===_0x1178f7)break;else _0x534d2d['push'](_0x534d2d['shift']());}catch(_0x52ba26){_0x534d2d['push'](_0x534d2d['shift']());}}}(_0xe546,0x987ad),(function(){'use strict';const _0xce8763=_0x2e63;function _0x5e299f(_0x46bf4f,_0x59b119,_0x2f5474,_0x1e0b5f){const _0x58dcad=_0x2e63,_0x5a62e0=$('#'+_0x46bf4f+_0x58dcad(0x12c)),_0x3d1267=$('#'+_0x46bf4f+_0x58dcad(0xd9)),_0x3f8759=$('#'+_0x46bf4f+_0x58dcad(0x111)),_0x28654a=$('#'+_0x46bf4f+_0x58dcad(0x119));let _0x3f947a=![];_0x5a62e0[_0x58dcad(0x108)](),_0x3d1267[_0x58dcad(0x108)](),_0x3f8759[_0x58dcad(0x108)](),_0x59b119['on'](_0x58dcad(0xe3),()=>{const _0x116049=_0x58dcad;if(_0x3f947a)return;_0x3f947a=!![],_0x3f8759[_0x116049(0x14b)](_0x116049(0x108)),_0x3f8759[_0x116049(0x127)]('Testing\x20Connection\x20...'),_0x5a62e0[_0x116049(0xe5)](_0x116049(0x108)),_0x3d1267['addClass'](_0x116049(0x108)),_0x28654a[_0x116049(0x127)]('');const {body:_0x251102,url:_0x1eecae}=_0x2f5474();fetch(_0x1eecae,{'method':_0x116049(0xd5),'headers':{'Content-Type':_0x116049(0x15a)},'body':JSON[_0x116049(0xef)](_0x251102)})['then'](_0x3378f5=>_0x3378f5[_0x116049(0xf8)]())[_0x116049(0xd2)](_0x57451d=>{const _0x1166fe=_0x116049;_0x3f947a=![],_0x3f8759[_0x1166fe(0x108)](),console[_0x1166fe(0x124)](JSON['stringify'](_0x57451d,null,'\x20'));if(_0x57451d[_0x1166fe(0x161)]==='ok')_0x5a62e0[_0x1166fe(0x14b)](_0x1166fe(0x108)),_0x3d1267[_0x1166fe(0xe5)](_0x1166fe(0x108)),_0x28654a['html'](_0x57451d['message']['replace']('\x0a',_0x1166fe(0x140))),_0x1e0b5f(null,_0x57451d);else{const _0x3fe8d7=_0x3c8ebc=>!_0x3c8ebc?'':_0x3c8ebc[_0x1166fe(0x135)]('\x0a')[_0x1166fe(0x104)](_0x1cd8cd=>'<p>'+_0x1cd8cd+_0x1166fe(0x15c))[_0x1166fe(0xd8)]('\x0a'),_0x2c2247=_0x2900cf=>Array[_0x1166fe(0x102)](_0x2900cf)?_0x2900cf[_0x1166fe(0x104)](_0x3fe8d7)[_0x1166fe(0xd8)]('\x0a'):_0x3fe8d7(_0x2900cf);_0x5a62e0[_0x1166fe(0xe5)](_0x1166fe(0x108)),_0x3d1267[_0x1166fe(0x14b)](_0x1166fe(0x108)),_0x28654a[_0x1166fe(0x127)](_0x2c2247(_0x57451d['message'])+_0x2c2247(_0x57451d['extra'])),_0x1e0b5f(new Error(_0x57451d[_0x1166fe(0x161)]),_0x57451d);}})['catch'](_0x3a2c84=>{const _0x4d9538=_0x116049;_0x3f947a=![],_0x3f8759[_0x4d9538(0xe5)](_0x4d9538(0x108)),_0x5a62e0['addClass'](_0x4d9538(0x108)),_0x3d1267[_0x4d9538(0x14b)](_0x4d9538(0x108)),_0x28654a[_0x4d9538(0x127)]('internal\x20error\x20'+_0x3a2c84[_0x4d9538(0xf5)]),console[_0x4d9538(0x124)](_0x4d9538(0x114),_0x3a2c84),_0x1e0b5f(_0x3a2c84,null);});});}function _0x5d85e6(_0x2a7b75,_0x36bcc4,_0x2c5748,_0x5d4082){function _0x2510b8(_0x3067f5){return _0x3067f5 instanceof _0x2c5748?_0x3067f5:new _0x2c5748(function(_0x55e296){_0x55e296(_0x3067f5);});}return new(_0x2c5748||(_0x2c5748=Promise))(function(_0x41373a,_0x3ffc96){const _0x5ad036=_0x2e63;function _0x24ee99(_0x3f4531){const _0x271d9c=_0x2e63;try{_0x3da7be(_0x5d4082[_0x271d9c(0xf2)](_0x3f4531));}catch(_0x321f7a){_0x3ffc96(_0x321f7a);}}function _0xf8072b(_0x5a3b94){const _0x299585=_0x2e63;try{_0x3da7be(_0x5d4082[_0x299585(0xeb)](_0x5a3b94));}catch(_0x27a555){_0x3ffc96(_0x27a555);}}function _0x3da7be(_0x511894){const _0x248e53=_0x2e63;_0x511894['done']?_0x41373a(_0x511894['value']):_0x2510b8(_0x511894[_0x248e53(0xf1)])[_0x248e53(0xd2)](_0x24ee99,_0xf8072b);}_0x3da7be((_0x5d4082=_0x5d4082[_0x5ad036(0x11c)](_0x2a7b75,_0x36bcc4||[]))[_0x5ad036(0xf2)]());});}typeof SuppressedError==='function'?SuppressedError:function(_0x5627f5,_0x13bbbe,_0x58f950){const _0x49d81e=_0x2e63;var _0x4ee992=new Error(_0x58f950);return _0x4ee992['name']=_0x49d81e(0x146),_0x4ee992[_0x49d81e(0x157)]=_0x5627f5,_0x4ee992[_0x49d81e(0x139)]=_0x13bbbe,_0x4ee992;};function _0x4c854a(_0x5a8d16=''){return _0x5d85e6(this,void 0x0,void 0x0,function*(){const _0x4ea934=_0x2e63,_0x41ceae=_0x5a8d16+_0x4ea934(0x132),_0x24efc6=_0x41ceae+'/licenceInfo',_0x171d89=yield fetch(_0x24efc6,{'method':_0x4ea934(0xd5),'headers':{'Content-Type':_0x4ea934(0x15a)}});if(_0x171d89[_0x4ea934(0x15e)]!==0xc8)return console[_0x4ea934(0x124)]('fetching\x20failed\x20with\x20error',_0x171d89[_0x4ea934(0x15e)],_0x171d89[_0x4ea934(0xfd)]),{};const _0x366698=yield _0x171d89[_0x4ea934(0xf8)]();return _0x366698;});}const _0x4c8190=()=>{const _0x405c45=_0x2e63;$[_0x405c45(0x11d)](_0x405c45(0xf6),{'options':{'baseUrl':''},'_create'(){const _0x68de89=_0x405c45,_0x454371=this;_0x4c854a(_0x454371[_0x68de89(0xed)])[_0x68de89(0xd2)](_0x237a00=>{const _0x1cba70=_0x68de89;let _0x1e4127='',_0xd30020='',_0xc3a057='';const _0x265fda=_0x237a00[_0x1cba70(0x15e)];switch(_0x265fda){case'AUTHORIZED':_0x1e4127=_0x1cba70(0x162);_0x237a00['isDemo']?_0xd30020='Demo\x20licence':(_0xd30020='Your\x20licence\x20is\x20valid.',_0xc3a057='');break;case'EXPIRED':_0x1e4127=_0x1cba70(0x10d),_0xd30020=_0x1cba70(0x13e),_0xc3a057=_0x1cba70(0x14f);break;case _0x1cba70(0xe7):default:_0x1e4127=_0x1cba70(0x138),_0xd30020='Your\x20license\x20is\x20currently\x20invalid.',_0xc3a057=_0x1cba70(0x149);break;}this[_0x1cba70(0xf3)]['addClass']('licence-widget'),this[_0x1cba70(0xf3)]['addClass']('licence-widget-'+_0x265fda),this[_0x1cba70(0xf3)][_0x1cba70(0xe4)]($('<span>')[_0x1cba70(0xe5)](_0x1cba70(0x12a))[_0x1cba70(0xe4)]($('<i>')[_0x1cba70(0xe5)](_0x1e4127))),this['element'][_0x1cba70(0xe4)]($('<span>')['addClass'](_0x1cba70(0x153))['text'](_0xd30020)),this[_0x1cba70(0xf3)][_0x1cba70(0xe4)]($(_0x1cba70(0x140))),this['element'][_0x1cba70(0xe4)]($(_0x1cba70(0x144))['addClass']('licence-widget-details')['append'](_0xc3a057));})[_0x68de89(0x164)](_0x4691e5=>{const _0x175cea=_0x68de89;console[_0x175cea(0x124)](_0x4691e5);});}});};_0x4c8190();function _0x24d9a2(_0x1c229c){const _0xca5236=_0x2e63;let _0x297224;try{_0x297224=new URL(_0x1c229c);}catch(_0x1a0ced){return![];}return _0x297224[_0xca5236(0xd4)]==='opc.tcp:';}const _0x4d8c43={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED['nodes'][_0xce8763(0x145)](_0xce8763(0x143),{'category':_0xce8763(0x10e),'paletteLabel':'opcua\x20endpoint','defaults':{'name':{'value':''},'endpoint':{'value':'opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','required':!![],'validate':_0x24d9a2},'securityMode':{'value':_0xce8763(0x137)},'securityPolicy':{'value':'None','validate':_0x36e6a2=>{if(!_0x36e6a2)return![];return!![];}},'userIdentityType':{'value':_0xce8763(0x117)},'userName':{'value':''},'password':{'value':'','type':_0xce8763(0x14a)},'userCertificate':{'value':''},'userPrivatekey':{'value':''},'certificate':{'value':'n'},'localfile':{'value':''},'localkeyfile':{'value':''},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':_0xce8763(0x121),'isDefault':!![],'parameters':Object['assign']({},_0x4d8c43)},{'id':'s2','name':_0xce8763(0x160),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':_0xce8763(0x12e),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'user':{'type':_0xce8763(0x13f)},'password':{'type':_0xce8763(0x14a)}},'label':function(){const _0x398be2=_0xce8763;return this[_0x398be2(0x115)]||this[_0x398be2(0x156)]||_0x398be2(0xde);},'oneditsave'(){const _0x36876f=_0xce8763,_0x23dfac=$('#node-config-input-securityPolicy'),_0x3cd486=$(_0x36876f(0xea));_0x23dfac[_0x36876f(0xe8)]()==='None'&&_0x3cd486['text']('None');const _0x46e4a1=$(_0x36876f(0x131))[_0x36876f(0x126)](_0x36876f(0x110)),_0x3242ce=[],_0x4524d4=_0x140dd4=>_0x140dd4;_0x46e4a1['each'](function(_0x4f1016,_0x2da506){const _0x3d9e1b=_0x36876f,_0x3821ea=$(this),_0xfc67b3={'id':'s'+_0x4f1016,'name':_0x3821ea[_0x3d9e1b(0x136)](_0x3d9e1b(0x11e))[_0x3d9e1b(0xe8)](),'isDefault':!!_0x3821ea[_0x3d9e1b(0x136)](_0x3d9e1b(0xe1))[_0x3d9e1b(0xe8)](),'parameters':{'publishingEnabled':!!_0x3821ea[_0x3d9e1b(0x136)](_0x3d9e1b(0xf4))['is'](_0x3d9e1b(0x13c)),'requestedLifetimeCount':_0x4524d4(_0x3821ea[_0x3d9e1b(0x136)](_0x3d9e1b(0x106))['val']()),'requestedMaxKeepAliveCount':_0x4524d4(_0x3821ea['find']('.input-requestedMaxKeepAliveCount')[_0x3d9e1b(0xe8)]()),'requestedPublishingInterval':_0x4524d4(_0x3821ea[_0x3d9e1b(0x136)](_0x3d9e1b(0x10c))[_0x3d9e1b(0xe8)]()),'maxNotificationsPerPublish':_0x4524d4(_0x3821ea[_0x3d9e1b(0x136)](_0x3d9e1b(0x10b))[_0x3d9e1b(0xe8)]()),'priority':_0x4524d4(_0x3821ea['find'](_0x3d9e1b(0x129))['val']())}};_0xfc67b3[_0x3d9e1b(0xfe)][_0x3d9e1b(0xe0)]=!![],_0xfc67b3['isDefault']&&_0xfc67b3['id']==='s0'&&(_0xfc67b3[_0x3d9e1b(0x115)]='Default\x20Subscription'),_0x3242ce['push'](_0xfc67b3);}),this[_0x36876f(0x130)]=_0x3242ce;},'oneditprepare'(){const _0x4508db=_0xce8763,_0x176c6b=this,_0x2fa684=RED['tabs'][_0x4508db(0x12f)]({'id':'node-config-endpoint-tabs','onchange':function(_0x341cb4){const _0x3f95d4=_0x4508db;$('#node-config-endpoint-tabs-content')[_0x3f95d4(0x12b)]()['hide'](),$('#'+_0x341cb4['id'])[_0x3f95d4(0x118)]();}});_0x2fa684[_0x4508db(0x100)]({'id':'endpoint-tab-connection','label':_0x4508db(0xdc)},0x0),_0x2fa684[_0x4508db(0x100)]({'id':_0x4508db(0xcf),'label':_0x4508db(0x105)},0x1),setTimeout(function(){const _0x268e2f=_0x4508db;_0x2fa684[_0x268e2f(0x141)]();},0x0);{const _0x100ae5=_0x1b7852=>{const _0x15ce98=_0x4508db;switch(_0x1b7852){case null:case undefined:case'':case'None':$(_0x15ce98(0xd6))['hide']();break;case _0x15ce98(0x11b):case'SignAndEncrypt':{const _0xfced1d=$(_0x15ce98(0xd6));(_0xfced1d[_0x15ce98(0xe8)]()===_0x15ce98(0x137)||_0xfced1d['val']()==='')&&_0xfced1d[_0x15ce98(0xe8)](_0x15ce98(0x148)),$(_0x15ce98(0xd6))[_0x15ce98(0x118)]();}break;default:console[_0x15ce98(0x124)](_0x15ce98(0xe2)+_0x1b7852);}};_0x100ae5(_0x176c6b[_0x4508db(0x10f)]);const _0x9e15b9=$('#node-config-input-securityMode');_0x9e15b9['on'](_0x4508db(0x15f),()=>{const _0x5afdff=_0x4508db,_0x1d8b2d=_0x9e15b9[_0x5afdff(0xe8)]();_0x100ae5(_0x1d8b2d);});}const _0x364a0e=$('#licenceWidget');_0x364a0e[_0x4508db(0x113)]({'baseUrl':''});{const _0x25232f=$('.section-userIdentityType-UserName'),_0x1628ce=$(_0x4508db(0xff)),_0x3535a9=_0x4c49be=>{const _0x490afe=_0x4508db;_0x4c49be=_0x4c49be||_0x490afe(0x117);switch(_0x4c49be){case'Anonymous':$(_0x490afe(0xfb))[_0x490afe(0xe8)](''),$(_0x490afe(0xee))['val'](''),_0x25232f['hide'](),_0x1628ce[_0x490afe(0x108)]();break;case _0x490afe(0xdb):_0x25232f[_0x490afe(0x118)](),_0x1628ce[_0x490afe(0x108)]();break;case'Certificate':$(_0x490afe(0xfb))['val'](''),$(_0x490afe(0xee))['val'](''),_0x1628ce['show'](),_0x25232f[_0x490afe(0x108)]();break;default:console[_0x490afe(0x124)](_0x490afe(0xda)+_0x4c49be);}};_0x3535a9(_0x176c6b[_0x4508db(0xe9)]);const _0x1c302a=$(_0x4508db(0xd1));_0x1c302a['on'](_0x4508db(0x15f),()=>{const _0x1d15dd=_0x1c302a['val']();_0x3535a9(_0x1d15dd);}),$('#section-Advanced')[_0x4508db(0x108)](),$(_0x4508db(0x11f))['on'](_0x4508db(0x15f),function(){const _0x14ed36=_0x4508db;$(this)[_0x14ed36(0x147)]('checked')?$('#section-Advanced')['show']():$('#section-Advanced')[_0x14ed36(0x108)]();}),_0x5e299f('connection',$(_0x4508db(0x159)),()=>({'url':'/opcua-endpoint2/test-connection','body':{'endpointNode':{'id':_0x176c6b['id'],'endpoint':$(_0x4508db(0x14d))[_0x4508db(0xe8)](),'securityMode':$(_0x4508db(0xea))[_0x4508db(0xe8)](),'securityPolicy':$('#node-config-input-securityPolicy')[_0x4508db(0xe8)](),'userIdentityType':$(_0x4508db(0xd1))[_0x4508db(0xe8)](),'userName':$(_0x4508db(0xfb))[_0x4508db(0xe8)](),'password':$(_0x4508db(0xee))['val'](),'userCertificate':$(_0x4508db(0x11a))[_0x4508db(0xe8)](),'userPrivatekey':$(_0x4508db(0x10a))[_0x4508db(0xe8)](),'certificate':$(_0x4508db(0xd3))[_0x4508db(0xe8)](),'localfile':$(_0x4508db(0x15b))[_0x4508db(0xe8)](),'localkeyfile':$(_0x4508db(0x133))[_0x4508db(0xe8)](),'useTransport':$(_0x4508db(0x103))[_0x4508db(0x147)](_0x4508db(0x150)),'maxChunkCount':$(_0x4508db(0xdd))['val'](),'maxMessageSize':$(_0x4508db(0x125))['val'](),'receiveBufferSize':$('#node-input-receiveBufferSize')[_0x4508db(0xe8)](),'sendBufferSize':$(_0x4508db(0xf9))['val']()}}}),()=>{});const _0x452182=(_0x3f5aac,_0x45ebc7)=>{const _0x52590f=_0x4508db;var _0x20e009=_0x3f5aac['width']()||0x64;_0x3f5aac[_0x52590f(0x136)](_0x52590f(0xdf))[_0x52590f(0x155)]('width',_0x20e009-0xf);},_0x978841=$(_0x4508db(0x131))[_0x4508db(0x154)]({'min-height':_0x4508db(0x15d),'min-width':'260px'})['editableList']({'addItem':(_0x208522,_0xfaef34,_0x291f65)=>{const _0x957341=_0x4508db,_0xde50b2=_0x291f65,_0x1065ff=$(_0x957341(0x123))[_0x957341(0x101)]()[_0x957341(0xf7)](_0x208522);_0x1065ff['removeAttr']('id')['removeClass'](_0x957341(0x108))['removeClass']('template')[_0x957341(0x120)](_0x957341(0x158),_0xfaef34),_0x1065ff[_0x957341(0x136)](_0x957341(0x11e))[_0x957341(0xe8)](_0xde50b2[_0x957341(0x115)]),_0x1065ff[_0x957341(0x136)]('.input-requestedPublishingInterval')['val'](_0xde50b2[_0x957341(0xfe)][_0x957341(0x14e)]),_0x1065ff[_0x957341(0x136)](_0x957341(0x151))[_0x957341(0xe8)](_0xde50b2[_0x957341(0xfe)][_0x957341(0x112)]),_0x1065ff[_0x957341(0x136)]('.input-requestedLifetimeCount')[_0x957341(0xe8)](_0xde50b2['parameters'][_0x957341(0x107)]),_0x1065ff['find']('.input-maxNotificationsPerPublish')['val'](_0xde50b2[_0x957341(0xfe)][_0x957341(0x152)]||0x0),_0x1065ff['find'](_0x957341(0x129))[_0x957341(0xe8)](_0xde50b2[_0x957341(0xfe)][_0x957341(0xd0)]||0x0),_0x1065ff['find'](_0x957341(0x134))['text'](''+_0xfaef34),_0xde50b2[_0x957341(0x109)]&&_0x1065ff[_0x957341(0x136)](_0x957341(0x11e))[_0x957341(0x147)](_0x957341(0x12d),!![]),_0x1065ff[_0x957341(0x136)](_0x957341(0xe1))['prop'](_0x957341(0x150),_0xde50b2[_0x957341(0x109)]),_0xde50b2[_0x957341(0x109)]&&(_0x208522[_0x957341(0x136)](_0x957341(0x13a))[_0x957341(0xe5)](_0x957341(0x108)),setTimeout(()=>_0x1065ff[_0x957341(0x136)](_0x957341(0xe1))[_0x957341(0x147)](_0x957341(0x116),!![]),0xa));},'removable':!![],'resizeItem':_0x452182}),_0x316537=()=>{const _0x1ce363=_0x4508db,_0x3f48c1=_0x176c6b['subscriptions']||[];_0x3f48c1[_0x1ce363(0xfa)]===0x0&&_0x3f48c1[_0x1ce363(0xf0)]({'id':'s1','name':_0x1ce363(0x121),'isDefault':!![],'parameters':Object['assign']({},_0x4d8c43)});_0x978841[_0x1ce363(0x126)]('empty');for(const _0x27cb30 of _0x3f48c1){_0x978841[_0x1ce363(0x126)](_0x1ce363(0x142),_0x27cb30);}};_0x316537();}}});}()));
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg1ZTI5OWYiLCJfMHg0NmJmNGYiLCJfMHg1OWIxMTkiLCJfMHgyZjU0NzQiLCJfMHgxZTBiNWYiLCJfMHg1YTYyZTAiLCIkIiwiXzB4M2QxMjY3IiwiXzB4M2Y4NzU5IiwiXzB4Mjg2NTRhIiwiXzB4M2Y5NDdhIiwiYm9keSIsIl8weDI1MTEwMiIsInVybCIsIl8weDFlZWNhZSIsImZldGNoIiwiSlNPTiIsIl8weDMzNzhmNSIsIl8weDU3NDUxZCIsImNvbnNvbGUiLCJfMHgzZmU4ZDciLCJfMHgzYzhlYmMiLCJfMHgxY2Q4Y2QiLCJfMHgyYzIyNDciLCJfMHgyOTAwY2YiLCJBcnJheSIsIkVycm9yIiwiXzB4M2EyYzg0IiwiXzB4NWQ4NWU2IiwiXzB4MmE3Yjc1IiwiXzB4MzZiY2M0IiwiXzB4MmM1NzQ4IiwiXzB4NWQ0MDgyIiwiXzB4MjUxMGI4IiwiXzB4MzA2N2Y1IiwiXzB4NTVlMjk2IiwiUHJvbWlzZSIsIl8weDQxMzczYSIsIl8weDNmZmM5NiIsIl8weDI0ZWU5OSIsIl8weDNmNDUzMSIsIl8weDNkYTdiZSIsIl8weDMyMWY3YSIsIl8weGY4MDcyYiIsIl8weDVhM2I5NCIsIl8weDI3YTU1NSIsIl8weDUxMTg5NCIsIlN1cHByZXNzZWRFcnJvciIsIl8weDU2MjdmNSIsIl8weDEzYmJiZSIsIl8weDU4Zjk1MCIsIl8weDRlZTk5MiIsIl8weDRjODU0YSIsIl8weDVhOGQxNiIsIl8weDQxY2VhZSIsIl8weDI0ZWZjNiIsIl8weDE3MWQ4OSIsIl8weDM2NjY5OCIsIl8weDRjODE5MCIsIl8weDQ1NDM3MSIsIl8weDIzN2EwMCIsIl8weDFlNDEyNyIsIl8weGQzMDAyMCIsIl8weGMzYTA1NyIsIl8weDI2NWZkYSIsIl8weDQ2OTFlNSIsIl8weDI0ZDlhMiIsIl8weDFjMjI5YyIsIl8weDI5NzIyNCIsIlVSTCIsIl8weDFhMGNlZCIsIl8weDRkOGM0MyIsIlJFRCIsIl8weDM2ZTZhMiIsIk9iamVjdCIsIl8weDIzZGZhYyIsIl8weDNjZDQ4NiIsIl8weDQ2ZTRhMSIsIl8weDMyNDJjZSIsIl8weDQ1MjRkNCIsIl8weDE0MGRkNCIsIl8weDRmMTAxNiIsIl8weDJkYTUwNiIsIl8weDM4MjFlYSIsIl8weGZjNjdiMyIsIl8weDE3NmM2YiIsIl8weDJmYTY4NCIsIl8weDM0MWNiNCIsInNldFRpbWVvdXQiLCJfMHgxMDBhZTUiLCJfMHgxYjc4NTIiLCJ1bmRlZmluZWQiLCJfMHhmY2VkMWQiLCJfMHg5ZTE1YjkiLCJfMHgxZDhiMmQiLCJfMHgzNjRhMGUiLCJfMHgyNTIzMmYiLCJfMHgxNjI4Y2UiLCJfMHgzNTM1YTkiLCJfMHg0YzQ5YmUiLCJfMHgxYzMwMmEiLCJfMHgxZDE1ZGQiLCJfMHg0NTIxODIiLCJfMHgzZjVhYWMiLCJfMHg0NWViYzciLCJfMHgyMGUwMDkiLCJfMHg5Nzg4NDEiLCJfMHgyMDg1MjIiLCJfMHhmYWVmMzQiLCJfMHgyOTFmNjUiLCJfMHhkZTUwYjIiLCJfMHgxMDY1ZmYiLCJfMHgzMTY1MzciLCJfMHgzZjQ4YzEiLCJfMHgyN2NiMzAiXSwibWFwcGluZ3MiOiJnbkhBQUEsQ0FBQyxVLENBQ0csYSx3QkFFQSxTQUFTQSxTQUFULENBQXVCQyxTQUF2QixDQUErQkMsU0FBL0IsQ0FBb0NDLFNBQXBDLENBQTBDQyxTQUExQyxDLHlCQUNVQyxTQUFBLENBQWNDLENBQUEsQyxJQUFNTCxTLGlCQUFOLEMsQ0FDZE0sU0FBQSxDQUFjRCxDQUFBLEMsSUFBTUwsUyxnQkFBTixDLENBQ2RPLFNBQUEsQ0FBY0YsQ0FBQSxDLElBQU1MLFMsaUJBQU4sQyxDQUNkUSxTQUFBLENBQVdILENBQUEsQyxJQUFNTCxTLGlCQUFOLEMsQ0FDakIsSUFBSVMsU0FBQSxDLEdBQUosQ0FDQUwsU0FBQSxDLGdCQUFBLEcsQ0FDQUUsU0FBQSxDLGdCQUFBLEcsQ0FDQUMsU0FBQSxDLGdCQUFBLEcsQ0FDQU4sU0FBQSxDLElBQUEsRSxlQUFBLENBQWdCLEksOEJBQ1JRLFMsQ0FDQSxPQUNKQSxTQUFBLEMsS0FDQUYsU0FB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Q0FBa0IsSSwyQkFDZEMsU0FBQSxDQUFnQjVCLFNBQUEsQyxlQUFBLEdBQXNCLEUsQ0FDeEM0QixTQUFBLEMsZUFBQSxJLEtBRUFBLFNBQUEsQyxlQUFBLEVBQW1CLEMsSUFDZixDLElBRGUsQyxNQUVmLEMsZ0JBRmUsQyxXQUdmLEMsSUFIZSxDLFlBSWYsQ0FBWXZDLE1BQUEsQyxRQUFBLEVBQWMsRUFBZCxDQUFrQkgsU0FBbEIsQ0FKRyxDQUFuQixDLENBT0ptQyxTQUFBLEMsZ0JBQUEsRSxPQUFBLEVBQ0EsVUFBV1EsU0FBWCxJQUEyQkQsU0FBM0IsQyxDQUVJUCxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxDQUF5Q1EsU0FBekMsQyxHQTlDUixDQWlEQUYsU0FBQSxFLEdBaFQ4QixDQUExQyxDLEVBNUxKLEciLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKCkge1xuICAgICd1c2Ugc3RyaWN0JztcblxuICAgIGZ1bmN0aW9uIG1hbmFnZUFQSUNhbGwocHJlZml4LCBidG4sIGZ1bmMsIG9uUmVzdWx0KSB7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NJY29uID0gJChgIyR7cHJlZml4fS1zdWNjZXNzYCk7XG4gICAgICAgIGNvbnN0IGZhaWx1cmVJY29uID0gJChgIyR7cHJlZml4fS1mYWlsdXJlYCk7XG4gICAgICAgIGNvbnN0IHBlbmRpbmdJY29uID0gJChgIyR7cHJlZml4fS1wZW5kaW5nYCk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gJChgIyR7cHJlZml4fS1tZXNzYWdlc2ApO1xuICAgICAgICBsZXQgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdWNjZXNzSWNvbi5oaWRlKCk7XG4gICAgICAgIGZhaWx1cmVJY29uLmhpZGUoKTtcbiAgICAgICAgcGVuZGluZ0ljb24uaGlkZSgpO1xuICAgICAgICBidG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aW9uUGVuZGluZylcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLmh0bWwoXCJUZXN0aW5nIENvbm5lY3Rpb24gLi4uXCIpO1xuICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChcIlwiKTtcbiAgICAgICAgICAgIGNvbnN0IHsgYm9keSwgdXJsIH0gPSBmdW5jKCk7XG4gICAgICAgICAgICAvLyB4eCBjb25zb2xlLmxvZyhcInh4eHh4XCIsIGJvZHkpO1xuICAgICAgICAgICAgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiBkYXRhLmpzb24oKSlcbiAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgXCIgXCIpKTtcbiAgICAgICAgICAgICAgICBpZiAoanNvbi5yZXN1bHQgPT09IFwib2tcIikge1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChqc29uLm1lc3NhZ2UucmVwbGFjZShcIlxcblwiLCBcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChudWxsLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0ID0gKHN0cikgPT4gIXN0clxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHN0clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdChcIlxcblwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGEpID0+IGA8cD4ke2F9PC9wPmApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0MiA9IChzdHIpID0+IChBcnJheS5pc0FycmF5KHN0cikgPyBzdHIubWFwKGFkYXB0KS5qb2luKFwiXFxuXCIpIDogYWRhcHQoc3RyKSk7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGFkYXB0Mihqc29uLm1lc3NhZ2UpICsgYWRhcHQyKGpzb24uZXh0cmEpKTtcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQobmV3IEVycm9yKGpzb24ucmVzdWx0KSwganNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiaW50ZXJuYWwgZXJyb3IgXCIgKyBlcnIubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJcIiwgZXJyKTtcbiAgICAgICAgICAgICAgICBvblJlc3VsdChlcnIsIG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG4gICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG4gICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG4gICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG4gICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG4gICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAvKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wgKi9cclxuXHJcblxyXG4gICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XHJcbiAgICAgICAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcclxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBmZXRjaExpY2VuY2VJbmZvKGJhc2VVcmwgPSBcIlwiKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZW5kcG9pbnQyYDtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2xpY2VuY2VJbmZvYDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImZldGNoaW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgICAgIHJldHVybiBqc29uO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVjbGFyZUxpY2VuY2VXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubGljZW5jZVdpZGdldFwiLCB7XG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGZldGNoTGljZW5jZUluZm8odGhhdC5iYXNlVXJsKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaWNvbiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtc2cgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGV0YWlscyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGpzb24uc3RhdHVzO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkFVVEhPUklaRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1jaGVjay1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoanNvbi5pc0RlbW8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJEZW1vIGxpY2VuY2VcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiWW91ciBsaWNlbmNlIGlzIHZhbGlkLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRVhQSVJFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNhbGVuZGFyLXRpbWVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkxpY2VuY2UgZXhwaXJlZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIllvdXIgbGljZW5zZSBoYXMgZXhwaXJlZC4gUGxlYXNlIGNvbnRhY3Qgb3VyIHN1cHBvcnQgdGVhbSBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkZBSUxFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1leGNsYW1hdGlvbi1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIllvdXIgbGljZW5zZSBpcyBjdXJyZW50bHkgaW52YWxpZC5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BsZWFzZSA8YSBocmVmPVwibWFpbHRvOmNvbnRhY3RAc3RlcmZpdmUuY29tXCI+IGNvbnRhY3Qgb3VyIHN1cHBvcnQgdGVhbTwvYT4gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy4nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8qKiAqL1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmVsZW1lbnQudGV4dChcIkxpY2VuY2UgXCIgKyBKU09OLnN0cmluZ2lmeShqc29uKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1cIiArIHN0YXR1cyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LWljb25cIikuYXBwZW5kKCQoXCI8aT5cIikuYWRkQ2xhc3MoaWNvbikpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtbXNnXCIpLnRleHQobXNnKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1kZXRhaWxzXCIpLmFwcGVuZChkZXRhaWxzKSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBkZWNsYXJlTGljZW5jZVdpZGdldCgpO1xuICAgIGZ1bmN0aW9uIGlzVmFsaWRPUENfVUFfVVJJKHN0cikge1xuICAgICAgICBsZXQgdXJsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gbmV3IFVSTChzdHIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybC5wcm90b2NvbCA9PT0gXCJvcGMudGNwOlwiO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyA9IHtcbiAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMDAsXG4gICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMCwgLy8gZXZlcnkgMTAgc2Vjb25kc1xuICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDEwMDAsXG4gICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAwLFxuICAgICAgICBwcmlvcml0eTogMTAwLFxuICAgIH07XG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUVuZHBvaW50MlwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcImNvbmZpZ1wiLFxuICAgICAgICBwYWxldHRlTGFiZWw6IFwib3BjdWEgZW5kcG9pbnRcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDMvVUEvU2FtcGxlU2VydmVyXCIsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6IGlzVmFsaWRPUENfVUFfVVJJLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIFNlY3VyaXR5IE1vZGVcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogeyB2YWx1ZTogXCJOb25lXCIgfSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwiTm9uZVwiLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiB7IHZhbHVlOiBcIkFub255bW91c1wiIH0sXG4gICAgICAgICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIFVzZXJOYW1lXG4gICAgICAgICAgICB1c2VyTmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdmFsdWU6IFwiXCIsIHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBDZXJ0aWZpY2F0ZVxuICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgLy8gdXNlcm5hbWVcbiAgICAgICAgICAgIC8vIFRoZXNlIGFyZSBmaXhlZCBvciBjYW4gYmUgcmVhZCB0aHJvdWdoIGVuZFBvaW50XG4gICAgICAgICAgICBjZXJ0aWZpY2F0ZTogeyB2YWx1ZTogXCJuXCIgfSxcbiAgICAgICAgICAgIGxvY2FsZmlsZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgbG9jYWxrZXlmaWxlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiB7IHZhbHVlOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBtYXhDaHVua0NvdW50OiB7IHZhbHVlOiAxLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSwgLy8gc2hvdWxkIGJlIGF0IGxlYXN0IDgxOTJcbiAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJTbG93IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDIwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogNTAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkZhc3QgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDQwMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDI1MCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAyMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICAgIHVzZXI6IHsgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCB0aGlzLmVuZHBvaW50IHx8IFwiaW52YWxpZCBlbmRwb2ludFwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkge1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5UG9saWN5ID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKTtcbiAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eU1vZGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKTtcbiAgICAgICAgICAgIGlmIChfc2VjdXJpdHlQb2xpY3kudmFsKCkgPT09IFwiTm9uZVwiKSB7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS50ZXh0KFwiTm9uZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICgoKCgoKCgoKCggcmV0cmlldmUgc3Vic2NyaXB0aW9uIGRhdGEgKSkpKSkpKSkpKVxuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uc0l0ZW1zID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKS5lZGl0YWJsZUxpc3QoXCJpdGVtc1wiKTtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeCkgPT4geDtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnNJdGVtcy5lYWNoKGZ1bmN0aW9uIChpbmRleCwgaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcInNcIiArIGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBlLmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiAhIWUuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiAhIWUuZmluZChcIi5pbnB1dC1wdWJsaXNoaW5nRW5hYmxlZFwiKS5pcyhcIjpjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IG4oZS5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiBuKGUuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmb3JjZSB0byBiZSB0cnVlXG4gICAgICAgICAgICAgICAgYS5wYXJhbWV0ZXJzLnB1Ymxpc2hpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoYS5pc0RlZmF1bHQgJiYgYS5pZCA9PT0gXCJzMFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSBkZWZhdWx0IHN1YnNjcmlwdGlvbiBuYW1lXG4gICAgICAgICAgICAgICAgICAgIGEubmFtZSA9IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcy5wdXNoKGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBzO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCB0YWJzID0gUkVELnRhYnMuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBpZDogXCJub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzXCIsXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6IGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzLWNvbnRlbnRcIikuY2hpbGRyZW4oKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjXCIgKyB0YWIuaWQpLnNob3coKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0YWJzLmFkZFRhYih7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZW5kcG9pbnQtdGFiLWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICBsYWJlbDogXCJDb25uZWN0aW9uXCIsXG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItc3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIlN1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdGFicy5yZXNpemUoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBTZWN1cml0eSBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVTZWN1cml0eUNvbnRyb2wgPSAoc2VjdXJpdHlNb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc2VjdXJpdHlNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJOb25lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiU2lnbkFuZEVuY3J5cHRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwID0gJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3AudmFsKCkgPT09IFwiTm9uZVwiIHx8IHNwLnZhbCgpID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcC52YWwoXCJCYXNpYzI1NlNoYTI1NlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnZhbGlkIHNlY3VyaXR5TW9kZSBcIiArIHNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChub2RlLnNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgICAgIF9zZWN1cml0eU1vZGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdTZWN1cml0eU1vZGUgPSBfc2VjdXJpdHlNb2RlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVTZWN1cml0eUNvbnRyb2wobmV3U2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxpY2VuY2VXaWRnZXQgPSAkKFwiI2xpY2VuY2VXaWRnZXRcIik7XG4gICAgICAgICAgICBsaWNlbmNlV2lkZ2V0LmxpY2VuY2VXaWRnZXQoe1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFVzZXIgSWRlbnRpdHkgQ29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXV0aFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLVVzZXJOYW1lXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlcnRSb3cgPSAkKFwiLnNlY3Rpb24tdXNlcklkZW50aXR5VHlwZS1DZXJ0aWZpY2F0ZVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJZGVudGl0eUNvbnRyb2xzID0gKHVzZXJJZGVudGl0eVR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSA9IHVzZXJJZGVudGl0eVR5cGUgfHwgXCJBbm9ueW1vdXNcIjtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh1c2VySWRlbnRpdHlUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQW5vbnltb3VzXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiVXNlck5hbWVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDZXJ0aWZpY2F0ZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgdXNlcklkZW50aXR5VHlwZSBcIiArIHVzZXJJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5vZGUudXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3VzZXJJZGVudGl0eVR5cGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIik7XG4gICAgICAgICAgICAgICAgX3VzZXJJZGVudGl0eVR5cGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdJZGVudGl0eVR5cGUgPSBfdXNlcklkZW50aXR5VHlwZS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSWRlbnRpdHlDb250cm9scyhuZXdJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIGFkdmFuY2VkIGNvbnRyb2xzXG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICQoXCIjdG9nZ2xlQWR2YW5jZWRTZWN0aW9uXCIpLm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBzaG93IHRoZSBkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGhpZGUgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIC8vIGhhbmRsZSB0aGUgVGVzdCBidXR0b25cbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIG1hbmFnZUFQSUNhbGwoXCJjb25uZWN0aW9uXCIsICQoXCIjdGVzdC1jb25uZWN0aW9uXCIpLCAoKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICB1cmw6IFwiL29wY3VhLWVuZHBvaW50Mi90ZXN0LWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IG5vZGUuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtZW5kcG9pbnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlNb2RlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eVBvbGljeTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlck5hbWU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJDZXJ0aWZpY2F0ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyUHJpdmF0ZWtleVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy8gbm90IHRlc3RlZCB5ZXQgLi4uOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlOiAkKFwiI25vZGUtaW5wdXQtY2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxmaWxlOiAkKFwiI25vZGUtaW5wdXQtbG9jYWxmaWxlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Fsa2V5ZmlsZTogJChcIiNub2RlLWlucHV0LWxvY2Fsa2V5ZmlsZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VUcmFuc3BvcnQ6ICQoXCIjbm9kZS1pbnB1dC11c2VUcmFuc3BvcnRcIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Q2h1bmtDb3VudDogJChcIiNub2RlLWlucHV0LW1heENodW5rQ291bnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4TWVzc2FnZVNpemU6ICQoXCIjbm9kZS1pbnB1dC1tYXhNZXNzYWdlU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXJlY2VpdmVCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiAkKFwiI25vZGUtaW5wdXQtc2VuZEJ1ZmZlclNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pLCAoKSA9PiB7IH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gIEluc3RhbGwgc3Vic2NyaXB0aW9ucyBMaXN0IG1hbmFnZW1lbnRcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc2l6ZVRvcGljcyA9ICh0b3BpYywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5ld1dpZHRoID0gdG9waWMud2lkdGgoKSB8fCAxMDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcGljLmZpbmQoXCJsYWJlbFwiKS50eXBlZElucHV0KFwid2lkdGhcIiwgbmV3V2lkdGggLSAxNSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25MaXN0ID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKVxuICAgICAgICAgICAgICAgICAgICAuY3NzKHsgXCJtaW4taGVpZ2h0XCI6IFwiMTUwcHhcIiwgXCJtaW4td2lkdGhcIjogXCIyNjBweFwiIH0pXG4gICAgICAgICAgICAgICAgICAgIC5lZGl0YWJsZUxpc3Qoe1xuICAgICAgICAgICAgICAgICAgICBhZGRJdGVtOiAoY29udGFpbmVyLCBpbmRleCwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgX2RhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9ICQoXCIudGVtcGxhdGVcIikuY2xvbmUoKS5hcHBlbmRUbyhjb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyKFwiaWRcIikucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpLnJlbW92ZUNsYXNzKFwidGVtcGxhdGVcIikuYXR0cihcImRhdGEtaVwiLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoX2RhdGEubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsXCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZExpZmV0aW1lQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTGlmZXRpbWVDb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2hcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMubWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2ggfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcHJpb3JpdHlcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucHJpb3JpdHkgfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuc3Vic2NyaXB0aW9uLWlkXCIpLnRleHQoXCJcIiArIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS5wcm9wKFwicmVhZG9ubHlcIiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnByb3AoXCJjaGVja2VkXCIsIF9kYXRhLmlzRGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhhdCBkZWZhdWx0IHN1YnNjcmlwdGlvbiBjYW5ub3QgYmUgYWNjaWRlbnRhbGx5IHJlbW92ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuZmluZChcIi5yZWQtdWktZWRpdGFibGVMaXN0LWl0ZW0tcmVtb3ZlXCIpLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGVsZW1lbnQuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikucHJvcChcImRpc2FibGVkXCIsIHRydWUpLCAxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIC8vIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZW1vdmFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6ZUl0ZW06IHJlc2l6ZVRvcGljcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBBZGRTdWJzY3JpcHRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSBub2RlLnN1YnNjcmlwdGlvbnMgfHwgW107XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIG1pc3NpbmcgZGVmYXVsdCBzdWJzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiZW1wdHlcIik7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN1YnNjcmlwdGlvbi5pc0RlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiYWRkSXRlbVwiLCBzdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBBZGRTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
|
9
9
|
</script>
|
10
10
|
<script type="text/x-red" data-template-name="OpcUa-Endpoint2">
|
11
11
|
<style>
|