@opcua/for-node-red 3.9.0 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/all.js +4 -150
- package/config-panel/assets/{index-Cbauh_EP.css → index-CxGeB_Tt.css} +1 -1
- package/config-panel/index.html +5 -3
- package/examples/coffee-machine-2.json +79 -186
- package/examples/coffee-machine.json +394 -0
- package/examples/explore-demo.json +182 -0
- package/examples/file-operation.json +707 -0
- package/examples/job_manager.json +465 -231
- package/package.json +2 -1
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.html +3 -4
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.html +7 -2
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.html +1 -2
- package/source/OpcUa-Client2-ExtensionObject/OpcUa-Client2-ExtensionObject.html +1 -2
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.css +2 -0
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.html +75 -0
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.js +2 -0
- package/source/OpcUa-Client2-HistoryRead/OpcUa-Client2-HistoryRead.html +1 -2
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.html +1 -2
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.html +1 -2
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.html +1 -2
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.html +1 -2
- package/source/OpcUa-Endpoint2/OpcUa-Endpoint2.html +1 -2
- /package/config-panel/assets/{index-Dbq8sVaJ.js → index-DgIjB-ey.js} +0 -0
@@ -4,8 +4,7 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
function _0x33c2(){const _0x226cc1=['pageX','851106ihmfOV','NodeId\x20with\x20namespace\x20Urn','each','<iframe></iframe>','subscriptions','installing\x20iframe','baseUrl','browseName','red-ui-typedInput-focus','_delay','fetched','function','data','Aliased\x20Browse\x20Path','position','SteelBlue','ReferenceType','disarmClick','sterfive-input-group','Good','#node-input-endpoint','750981yVFkJL','registerType','stringify','aliasedNodeId','$elementDiv','selectedMenuItem','failure','BrowsePath','/Server/ServerStatus/CurrentTime','input[type=\x22checkbox\x22]','click','then','Forward','inputs','string','removeClass','filter','push','call','ObjectType','installFeedbackWidget\x20','appendTo','background-color:transparent;overflow:hidden;border:3px','<option/>','status','POST','height','fa-list-alt','application/json','addClass','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','Unspecified','focus','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','requestedNodeId','browseResult','bp_aliased','assign','referenceTypeId','$verifyBtn','closest','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','<li\x20key=\x22','<span\x20title=','9ggrLIH','resolveParentNode','DataType','$input','_initMenu','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','checked','blur','pointer-events','!!failure!!','Method','/browse','top','hasClass','fa-folder','nsu','message','OPCUA\x20Client\x20Monitor\x20','HasTypeDefinition','log','endpoint','element','rgba(61,\x2060,\x204,\x200.525)','407398AmFFWD','fetching\x20failed\x20with\x20error','$toggleTreeBtn','trigger','name','SeaGreen','attr','animate','remove','mode','toggleClass','<i\x20class=\x22fa\x20fa-id-card\x22/> \x20','<div>','replaceWith',':focus','\x22\x20style=\x22color:','options','<li>error\x20','children','verify','statusCode','18px','msg.','icon','stopPropagation','dblclick','mousedown.red-ui-typedInput-close-property-select','CadetBlue','sterfive-combo-box','Invalid','reference','forEach','nodeId:\x20','reset','multiple','OpcUa-Endpoint2','before','Organizes','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','expandable',');\x20-webkit-mask-image:\x20url(','#node-input-subscription','setMode','</span><ul></ul></li>','value','toString',';\x22></i>\x20','throw','30px','tabindex','right','after','\x22}><span\x20class=\x22tree-text\x22\x20title=','empty',':visible','sterfive-input-error','Aliased\x20NodeId','> \x20','pageY','DodgerBlue','</span>','indexOf','callback','5019280bBikKC','monitor\x20variable','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','IsForward','180px','sterfive.nodeBrowser','label','typeDefinition','sterfive-dropdown','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','45cmFVOm','node_label_italic','displayName','sort','$combo','isTypeRef','fa-object-group','json','opcua','show','HasChild','sterfive-info','expandable\x20expanded','[value=\x27','aliased\x20NodeId:\x20','aliased\x20browsePath:\x20','change','nodeId','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','nodeId_nsu','prop','$uiSelect','find','Object','$selectTrigger','nodes','isSelectable','$info','Variable','placeholder','SandyBrown','ns=0;i=85','currentParent','offset','true','><i\x20class=\x22fa\x20','text','nodeIds','toggle','err','keydown','<div\x20class=\x22sterfive-info-text\x22></div>','<a\x20href=\x22#\x22></a>','opts','mask-image:\x20url(','aliasedBrowsePath','_hideMenu','ns=0;i=47','558362TKPdNa','title','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','mousedown.red-ui-typedInput-focus-block','<i>','SuppressedError','377160TtrKcc','endpointNode','subscription','Both','TypeDefinition','16px','<ul\x20class=\x22sterfive-tree\x22></ul>','li\x20>\x20.tree-text','Inverse','hide','DisplayName','ns=0;i=45','HasProperty','NodeId','browse\x20path:\x20','__parentNode','left','<div/>','widget','expanded','slideDown','nsuNodeID','92772cXtxaQ','li[key=\x22','i=61','namespaceAliases','HasSubtype','append','$selectLabel','$tree','#C0DEED','nodeId_aliased','node','browsePath','prev','selected','preventDefault','statusText','.spinner','sterfive-typedInput-options\x20sterfive-online-menu','match','Value\x20is\x20not\x20verified','error','ns=0;i=61','$inputGroup','/opcua-for-node-red/support-frame.html','none','body','VariableType','ns=0;i=40','prependTo','_showMenu','fa-question','length','scrollTop','references','parentNode','#node-input-startImmediately','localeCompare','done','/checkNodeId','target','$menu','keyCode','absolute','DarkOrange','ns=0;i=34','join','View','Objects','#node-input-inputs','_showTypeMenu','bp_indexed','<input\x20type=\x22checkbox\x22>','val','node\x20class:\x20','loading','next','css','nodeClass','grey','.tree-text:first','/opcua-for-node-red','fa-sliders','$dropdown','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','20px','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20'];_0x33c2=function(){return _0x226cc1;};return _0x33c2();}function _0x3840(_0x13f6a7,_0xa96a25){const _0x33c2ff=_0x33c2();return _0x3840=function(_0x38403c,_0x544093){_0x38403c=_0x38403c-0x147;let _0x10fde3=_0x33c2ff[_0x38403c];return _0x10fde3;},_0x3840(_0x13f6a7,_0xa96a25);}(function(_0x2d7b77,_0x29cd3c){const _0x28cf11=_0x3840,_0x3e520d=_0x2d7b77();while(!![]){try{const _0x48652e=parseInt(_0x28cf11(0x181))/0x1+-parseInt(_0x28cf11(0x232))/0x2+parseInt(_0x28cf11(0x1ef))/0x3+-parseInt(_0x28cf11(0x197))/0x4*(-parseInt(_0x28cf11(0x14b))/0x5)+parseInt(_0x28cf11(0x1da))/0x6+parseInt(_0x28cf11(0x17b))/0x7+-parseInt(_0x28cf11(0x271))/0x8*(parseInt(_0x28cf11(0x21b))/0x9);if(_0x48652e===_0x29cd3c)break;else _0x3e520d['push'](_0x3e520d['shift']());}catch(_0x45e660){_0x3e520d['push'](_0x3e520d['shift']());}}}(_0x33c2,0x375ac),(function(){'use strict';const _0xbf82a9=_0x3840;function _0x5bab38(_0x27f9f0,_0x3fd1b2,_0x231e79,_0x31b433){function _0x4f28b2(_0x6d9535){return _0x6d9535 instanceof _0x231e79?_0x6d9535:new _0x231e79(function(_0x268186){_0x268186(_0x6d9535);});}return new(_0x231e79||(_0x231e79=Promise))(function(_0x385113,_0x4644c4){const _0x1e214f=_0x3840;function _0x338ca4(_0x385d47){const _0x39a807=_0x3840;try{_0x3bd1e4(_0x31b433[_0x39a807(0x1ce)](_0x385d47));}catch(_0x420583){_0x4644c4(_0x420583);}}function _0xc66031(_0x2f1eff){const _0x5f1bb5=_0x3840;try{_0x3bd1e4(_0x31b433[_0x5f1bb5(0x261)](_0x2f1eff));}catch(_0x199257){_0x4644c4(_0x199257);}}function _0x3bd1e4(_0x5767b9){const _0x504bba=_0x3840;_0x5767b9[_0x504bba(0x1bc)]?_0x385113(_0x5767b9[_0x504bba(0x25e)]):_0x4f28b2(_0x5767b9[_0x504bba(0x25e)])[_0x504bba(0x1fa)](_0x338ca4,_0xc66031);}_0x3bd1e4((_0x31b433=_0x31b433['apply'](_0x27f9f0,_0x3fd1b2||[]))[_0x1e214f(0x1ce)]());});}typeof SuppressedError===_0xbf82a9(0x1e5)?SuppressedError:function(_0x3934b3,_0x5d1646,_0xaa858){const _0x5d9d14=_0xbf82a9;var _0x1aec2a=new Error(_0xaa858);return _0x1aec2a[_0x5d9d14(0x236)]=_0x5d9d14(0x180),_0x1aec2a['error']=_0x3934b3,_0x1aec2a['suppressed']=_0x5d1646,_0x1aec2a;};const _0x865d5b='ns=0;i=35',_0x1fc79c=_0xbf82a9(0x1ac),_0x336878=_0xbf82a9(0x17a),_0x9b0541='ns=0;i=46',_0x21b88a=_0xbf82a9(0x1c3),_0x1538af=_0xbf82a9(0x18c),_0x1b58c2=_0xbf82a9(0x1b2);var _0x474dbc;(function(_0x46f6d3){const _0x469bca=_0xbf82a9;_0x46f6d3[_0x46f6d3[_0x469bca(0x1fb)]=0x0]=_0x469bca(0x1fb),_0x46f6d3[_0x46f6d3[_0x469bca(0x189)]=0x1]=_0x469bca(0x189),_0x46f6d3[_0x46f6d3[_0x469bca(0x184)]=0x2]=_0x469bca(0x184),_0x46f6d3[_0x46f6d3[_0x469bca(0x24f)]=0x3]='Invalid';}(_0x474dbc||(_0x474dbc={})));var _0x31e538;(function(_0x33eccc){const _0x22f82b=_0xbf82a9;_0x33eccc[_0x33eccc['Unspecified']=0x0]=_0x22f82b(0x20e),_0x33eccc[_0x33eccc[_0x22f82b(0x162)]=0x1]=_0x22f82b(0x162),_0x33eccc[_0x33eccc['Variable']=0x2]=_0x22f82b(0x167),_0x33eccc[_0x33eccc['Method']=0x4]='Method',_0x33eccc[_0x33eccc[_0x22f82b(0x202)]=0x8]=_0x22f82b(0x202),_0x33eccc[_0x33eccc['VariableType']=0x10]=_0x22f82b(0x1b1),_0x33eccc[_0x33eccc['ReferenceType']=0x20]=_0x22f82b(0x1ea),_0x33eccc[_0x33eccc[_0x22f82b(0x21d)]=0x40]='DataType',_0x33eccc[_0x33eccc[_0x22f82b(0x1c5)]=0x80]=_0x22f82b(0x1c5);}(_0x31e538||(_0x31e538={})));var _0x1f7f30;(function(_0x3077ae){const _0x1d06af=_0xbf82a9;_0x3077ae[_0x3077ae[_0x1d06af(0x162)]=0x1]=_0x1d06af(0x162),_0x3077ae[_0x3077ae['Variable']=0x2]=_0x1d06af(0x167),_0x3077ae[_0x3077ae[_0x1d06af(0x225)]=0x4]=_0x1d06af(0x225),_0x3077ae[_0x3077ae[_0x1d06af(0x202)]=0x8]=_0x1d06af(0x202),_0x3077ae[_0x3077ae[_0x1d06af(0x1b1)]=0x10]=_0x1d06af(0x1b1),_0x3077ae[_0x3077ae[_0x1d06af(0x1ea)]=0x20]=_0x1d06af(0x1ea),_0x3077ae[_0x3077ae[_0x1d06af(0x21d)]=0x40]=_0x1d06af(0x21d),_0x3077ae[_0x3077ae['View']=0x80]=_0x1d06af(0x1c5);}(_0x1f7f30||(_0x1f7f30={})));var _0x5f4313;(function(_0x3747b4){const _0x5f0ab9=_0xbf82a9;_0x3747b4[_0x3747b4[_0x5f0ab9(0x1ea)]=0x1]=_0x5f0ab9(0x1ea),_0x3747b4[_0x3747b4[_0x5f0ab9(0x274)]=0x2]=_0x5f0ab9(0x274),_0x3747b4[_0x3747b4['NodeClass']=0x4]='NodeClass',_0x3747b4[_0x3747b4['BrowseName']=0x8]='BrowseName',_0x3747b4[_0x3747b4[_0x5f0ab9(0x18b)]=0x10]='DisplayName',_0x3747b4[_0x3747b4[_0x5f0ab9(0x185)]=0x20]=_0x5f0ab9(0x185);}(_0x5f4313||(_0x5f4313={})));function _0xff9d0e(_0x57edf6){const _0x7021ce=_0xbf82a9;switch(_0x57edf6){case _0x7021ce(0x257):return _0x865d5b;case _0x7021ce(0x18d):return _0x9b0541;case'HasComponent':return _0x336878;case _0x7021ce(0x155):return _0x21b88a;case _0x7021ce(0x19b):return _0x1538af;case _0x7021ce(0x22d):return _0x1b58c2;}}const _0x3b75b1=_0x4102b5=>{const _0x5a3cb4=_0xbf82a9;switch(_0x4102b5[_0x5a3cb4(0x1d0)]){case _0x5a3cb4(0x162):if(_0x4102b5[_0x5a3cb4(0x215)]===_0x865d5b);if(_0x4102b5[_0x5a3cb4(0x148)]===_0x1fc79c||_0x4102b5[_0x5a3cb4(0x215)]===_0x5a3cb4(0x199))return{'icon':_0x5a3cb4(0x229),'color':_0x5a3cb4(0x231)};return{'icon':'fa-object-group','color':_0x5a3cb4(0x237)};case'Variable':if(_0x4102b5['referenceTypeId']===_0x336878)return{'icon':_0x5a3cb4(0x20a),'color':_0x5a3cb4(0x1e9)};else return _0x4102b5[_0x5a3cb4(0x215)]===_0x9b0541?{'icon':_0x5a3cb4(0x20a),'color':_0x5a3cb4(0x26d)}:{'icon':'fa-list-alt','color':_0x5a3cb4(0x24d)};case _0x5a3cb4(0x225):return{'icon':'fa-cog','color':_0x5a3cb4(0x169)};case _0x5a3cb4(0x202):return{'icon':_0x5a3cb4(0x151),'color':'DarkOrange'};case _0x5a3cb4(0x1b1):return{'icon':_0x5a3cb4(0x1d4),'color':_0x5a3cb4(0x1c2)};case _0x5a3cb4(0x21d):return{'icon':'fa-text-width','color':_0x5a3cb4(0x24d)};}return{'icon':_0x5a3cb4(0x1b5),'color':_0x5a3cb4(0x1d1)};},_0x6901a3=(_0x369961,_0x18b37f,_0x31fd91)=>_0x5bab38(void 0x0,[_0x369961,_0x18b37f,_0x31fd91],void 0x0,function*({endpointNode:_0x3936aa,endpoint:_0x2011a5,baseUrl:_0x4ec06d},_0x56a392,_0x31ecfe){const _0x5df824=_0xbf82a9,_0xa003e0=_0x4ec06d+_0x5df824(0x1d3),_0x1dcd22=_0xa003e0+_0x5df824(0x226),_0x3b531f=Object[_0x5df824(0x214)](Object[_0x5df824(0x214)]({},_0x31ecfe),{'nodeId':_0x56a392,'resultMask':0x3f}),_0x16d116=yield fetch(_0x1dcd22,{'method':_0x5df824(0x208),'body':JSON[_0x5df824(0x1f1)]({'endpointNode':_0x3936aa,'endpoint':_0x2011a5,'browseDescription':_0x3b531f}),'headers':{'Content-Type':_0x5df824(0x20b)}});if(_0x16d116[_0x5df824(0x207)]!==0xc8)return console[_0x5df824(0x22e)](_0x5df824(0x233),_0x16d116[_0x5df824(0x207)],_0x16d116[_0x5df824(0x1a6)]),{'references':[]};const _0x6e1212=yield _0x16d116['json'](),_0xb7a048=_0x6e1212[_0x5df824(0x212)][_0x5df824(0x1b8)]||[];return{'references':_0xb7a048};}),_0x4c542c={'referenceTypeId':_0xff9d0e(_0xbf82a9(0x155)),'includeSubtypes':!![],'browseDirection':_0x474dbc[_0xbf82a9(0x1fb)],'nodeClassMask':_0x31e538[_0xbf82a9(0x167)]|_0x31e538[_0xbf82a9(0x162)]|_0x31e538[_0xbf82a9(0x225)],'resultMask':0x3f},_0x4ab1c3={'referenceTypeId':_0xff9d0e(_0xbf82a9(0x257)),'includeSubtypes':!![],'browseDirection':_0x474dbc[_0xbf82a9(0x1fb)],'nodeClassMask':_0x31e538[_0xbf82a9(0x167)]|_0x31e538[_0xbf82a9(0x162)]|_0x31e538[_0xbf82a9(0x225)],'resultMask':0x3f},_0x259ca4=(_0x3f5829,_0x40e023)=>_0x5bab38(void 0x0,[_0x3f5829,_0x40e023],void 0x0,function*({endpointNode:_0x16f106,endpoint:_0x14c2a5,baseUrl:_0x46c305},{nodeId:_0x4adaa3,rootNodeId:_0x59b5ec,isType:_0x2cb482}){const _0x5b4681=_0xbf82a9,_0xe86ceb=_0x46c305+_0x5b4681(0x1d3),_0x353dd0=_0xe86ceb+'/walk-backward',_0x5e478f=yield fetch(_0x353dd0,{'method':_0x5b4681(0x208),'body':JSON[_0x5b4681(0x1f1)]({'endpointNode':_0x16f106,'endpoint':_0x14c2a5,'nodeId':_0x4adaa3,'rootNodeId':_0x59b5ec,'isType':_0x2cb482}),'headers':{'Content-Type':_0x5b4681(0x20b)}});if(_0x5e478f[_0x5b4681(0x207)]!==0xc8)return null;const _0x50a44e=yield _0x5e478f[_0x5b4681(0x152)]();return _0x50a44e[_0x5b4681(0x1a2)];}),_0x39771e=(_0x4e7e2e,_0x36e354)=>{const _0x282c75=_0xbf82a9;if(_0x4e7e2e['statusCode']!=='Good')return _0x4e7e2e[_0x282c75(0x211)];switch(_0x36e354){case _0x282c75(0x1a2):return _0x4e7e2e[_0x282c75(0x1c9)];case'aliasedBrowsePath':return _0x4e7e2e[_0x282c75(0x213)]||_0x4e7e2e[_0x282c75(0x1c9)];case'aliasedNodeId':return _0x4e7e2e[_0x282c75(0x1a0)]||_0x4e7e2e[_0x282c75(0x15e)];case'nsuNodeID':return _0x4e7e2e['nodeId_nsu'];default:case _0x282c75(0x15c):return _0x4e7e2e[_0x282c75(0x15c)];}},_0x2f225b=_0x383924=>{const _0x29d3e4=_0xbf82a9;if(_0x383924[_0x29d3e4(0x246)]!==_0x29d3e4(0x1ed))return'statusCode:\x20'+_0x383924[_0x29d3e4(0x246)];else{let _0x269747=[];return _0x269747[_0x29d3e4(0x200)](_0x29d3e4(0x252)+_0x383924['nodeId']),_0x269747[_0x29d3e4(0x200)](_0x29d3e4(0x18f)+_0x383924[_0x29d3e4(0x1c9)]),_0x269747[_0x29d3e4(0x200)](_0x29d3e4(0x1cc)+_0x31e538[_0x383924[_0x29d3e4(0x1d0)]]),_0x383924[_0x29d3e4(0x15e)]&&_0x269747[_0x29d3e4(0x200)]('nsu\x20nodeId:\x20'+_0x383924['nodeId_nsu']),_0x383924[_0x29d3e4(0x1a0)]&&_0x269747['push'](_0x29d3e4(0x159)+_0x383924['nodeId_aliased']),_0x383924[_0x29d3e4(0x1c9)]&&_0x269747['push'](_0x29d3e4(0x15a)+_0x383924[_0x29d3e4(0x213)]),_0x269747[_0x29d3e4(0x1c4)]('\x0a');}};function _0x38cb49(_0x4e45b3){const _0x4821f5=_0xbf82a9;if(_0x4e45b3[_0x4821f5(0x1a9)](/^nsu=/))return _0x4821f5(0x196);if(_0x4e45b3[_0x4821f5(0x1a9)](/^(ns=.*;)?(i|b|s|g)=/))return'nodeId';if(_0x4e45b3[_0x4821f5(0x1a9)](/^nsa=/))return'aliasedNodeId';if(_0x4e45b3[_0x4821f5(0x1a9)](/^(\/|\.)[0-9]+:/))return _0x4821f5(0x1a2);if(_0x4e45b3[_0x4821f5(0x1a9)](/^(\/|\.).*:/))return _0x4821f5(0x1a2);}function _0x2df7c6(_0x5cb24d){const _0x2fed02=_0xbf82a9,_0x2eba4e=_0x38cb49(_0x5cb24d);switch(_0x2eba4e){case'nodeId':return'n';case _0x2fed02(0x1f2):return'na';case _0x2fed02(0x196):return'nsu';case _0x2fed02(0x1a2):return'b';case _0x2fed02(0x178):return'ab';default:return't';}}function _0x4b1bc3(_0x2acbf1){const _0x3cd555=_0xbf82a9;let _0x444858;switch(_0x2acbf1){case'n':_0x444858='nodeId';break;case'na':_0x444858=_0x3cd555(0x1f2);break;case _0x3cd555(0x22a):_0x444858=_0x3cd555(0x196);break;case'b':_0x444858='browsePath';break;case'ab':_0x444858=_0x3cd555(0x178);break;}return _0x444858;}function _0x111373(_0x34541a){const _0x3ab338=_0xbf82a9;switch(_0x34541a){case _0x3ab338(0x15c):return'n';case _0x3ab338(0x1f2):return'na';case _0x3ab338(0x196):return _0x3ab338(0x22a);case'browsePath':return'b';case'aliasedBrowsePath':return'ab';default:return't';}}const _0x22ab06=(_0x28e31f,_0x32fe60)=>_0x5bab38(void 0x0,[_0x28e31f,_0x32fe60],void 0x0,function*({endpointNode:_0x20ccae,endpoint:_0x47f4f7,baseUrl:_0x4aa8d8},_0x38ee30){const _0x327247=_0xbf82a9,_0xeda922=_0x4aa8d8+_0x327247(0x1d3),_0x11d3d9=_0xeda922+_0x327247(0x1bd),_0x9fa5f1=_0x20ccae['id'],_0x45ad3e=RED[_0x327247(0x164)][_0x327247(0x1a1)](_0x9fa5f1);console[_0x327247(0x22e)](_0x45ad3e[_0x327247(0x19a)]),_0x45ad3e[_0x327247(0x19a)];const _0x16115f=_0x20ccae[_0x327247(0x19a)],_0xb9f567=yield fetch(_0x11d3d9,{'method':_0x327247(0x208),'body':JSON[_0x327247(0x1f1)]({'endpointNode':_0x20ccae,'endpoint':_0x47f4f7,'nodeId':_0x38ee30,'namespaceAliases':_0x16115f}),'headers':{'Content-Type':_0x327247(0x20b)}}),_0x22b368=yield _0xb9f567[_0x327247(0x152)]();return{'json':_0x22b368,'data':_0xb9f567};}),_0x15af44=(_0x62bff0,_0x361d33,_0x4c33d9,_0x3ce383)=>_0x5bab38(void 0x0,[_0x62bff0,_0x361d33,_0x4c33d9,_0x3ce383],void 0x0,function*({endpointNode:_0x2a14e2,endpoint:_0x125ab1,baseUrl:_0x17a9b8},_0x355770,_0x2116ac,_0x555798){const _0xda5a5d=_0xbf82a9,_0x176477=_0x2116ac[_0xda5a5d(0x1cb)](),{json:_0x330132,data:_0x117aa3}=yield _0x22ab06({'endpointNode':_0x2a14e2,'endpoint':_0x125ab1,'baseUrl':_0x17a9b8},_0x176477),_0x426547=(_0x2b6f9b,_0x3c66f6)=>{const _0x484934=_0xda5a5d;_0x555798[_0x484934(0x16f)](_0x2b6f9b)[_0x484934(0x20c)](_0x484934(0x156))[_0x484934(0x20c)](_0x3c66f6),_0x555798[_0x484934(0x154)](),setTimeout(()=>{const _0x2e98d7=_0x484934;_0x555798[_0x2e98d7(0x1fe)](_0x3c66f6),_0x555798[_0x2e98d7(0x18a)]();},0xbb8);};if(_0x117aa3[_0xda5a5d(0x207)]!==0xc8)return _0x426547(_0xda5a5d(0x224)+_0x176477,_0xda5a5d(0x1f5)),![];else{if(_0x330132[_0xda5a5d(0x246)][_0xda5a5d(0x1a9)](/Good/)){const _0x1a871d=_0x2f225b(_0x330132);_0x2116ac['attr'](_0xda5a5d(0x17c),_0x1a871d);const _0x203f32=_0x39771e(_0x330132,_0x355770);return _0x2116ac['val'](_0x203f32),_0x2116ac['trigger'](_0xda5a5d(0x15b)),_0x426547('Good','ok'),!![];}else return _0x2116ac['val'](''+_0x176477),_0x426547(_0x330132[_0xda5a5d(0x246)]+'\x20'+_0x117aa3['statusText'],_0xda5a5d(0x1f5)),![];}});function _0x258af8(_0x3962dd,_0x5796a5){return _0x5bab38(this,void 0x0,void 0x0,function*(){const _0x13fcad=_0x3840,_0xad949f=_0x3962dd['data'](_0x13fcad(0x25e)),_0x2df533=yield _0x6901a3(_0x5796a5,_0xad949f,_0x4c542c),_0x49de27=yield _0x6901a3(_0x5796a5,_0xad949f,_0x4ab1c3);return{'references':[..._0x2df533[_0x13fcad(0x1b8)],..._0x49de27['references']]};});}const _0x2d3db5={'referenceTypeId':_0xff9d0e(_0xbf82a9(0x19b)),'includeSubtypes':!![],'browseDirection':_0x474dbc[_0xbf82a9(0x1fb)],'nodeClassMask':_0x31e538[_0xbf82a9(0x1ea)]|_0x31e538[_0xbf82a9(0x202)]|_0x31e538[_0xbf82a9(0x21d)]|_0x31e538[_0xbf82a9(0x1b1)],'resultMask':0x3f};function _0x155023(_0x5e71c5,_0x515d03){return _0x5bab38(this,void 0x0,void 0x0,function*(){const _0x361dd4=_0x3840,_0xc827de=_0x5e71c5[_0x361dd4(0x1e6)]('value'),_0x295d88=yield _0x6901a3(_0x515d03,_0xc827de,_0x2d3db5);return _0x295d88;});}const _0x2ce175=_0x2fa5a8=>{const _0x3ca271=_0xbf82a9;var _0x149582,_0x59ede8,_0x249526,_0x5c37cd;if(!_0x2fa5a8||!_0x2fa5a8['nodeId']){const _0x1e1f55=$('<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>');return _0x1e1f55;}const _0x3a2e7a=_0x2fa5a8[_0x3ca271(0x15c)][_0x3ca271(0x25f)](),_0x5c44a5=((_0x149582=_0x2fa5a8[_0x3ca271(0x14d)])===null||_0x149582===void 0x0?void 0x0:_0x149582[_0x3ca271(0x16f)])||((_0x59ede8=_0x2fa5a8['browseName'])===null||_0x59ede8===void 0x0?void 0x0:_0x59ede8[_0x3ca271(0x236)])||_0x2fa5a8['nodeId'][_0x3ca271(0x25f)](),{icon:_0x3a352b,color:_0x4553e8}=_0x3b75b1(_0x2fa5a8),_0x5647f8='('+_0x2fa5a8[_0x3ca271(0x15c)]['toString']()+')\x20'+(((_0x249526=_0x2fa5a8[_0x3ca271(0x1e1)])===null||_0x249526===void 0x0?void 0x0:_0x249526[_0x3ca271(0x236)])||((_0x5c37cd=_0x2fa5a8[_0x3ca271(0x14d)])===null||_0x5c37cd===void 0x0?void 0x0:_0x5c37cd['text'])||''),_0x4530b0=$(_0x3ca271(0x219)+_0x2fa5a8[_0x3ca271(0x15c)][_0x3ca271(0x25f)]()+_0x3ca271(0x266)+_0x5647f8+_0x3ca271(0x16e)+_0x3a352b+_0x3ca271(0x241)+_0x4553e8+_0x3ca271(0x260)+_0x5c44a5+_0x3ca271(0x25d));return _0x4530b0['addClass'](_0x3ca271(0x259)),_0x4530b0['data'](_0x3ca271(0x25e),_0x3a2e7a),_0x4530b0[_0x3ca271(0x1e6)](_0x3ca271(0x250),_0x2fa5a8),_0x4530b0;},_0x5097d0=(_0x38b72a,_0x2cee15)=>{const _0x4c9d25=_0xbf82a9;return _0x2cee15[_0x4c9d25(0x161)](_0x4c9d25(0x198)+_0x38b72a+'\x22]');},_0x5326e0=(_0x140170,_0x348b0c)=>{const _0x1e5cab=_0xbf82a9;_0x140170['$tree']['find'](_0x1e5cab(0x188))[_0x1e5cab(0x1fe)](_0x1e5cab(0x1a4)),_0x348b0c[_0x1e5cab(0x161)](_0x1e5cab(0x1d2))['addClass'](_0x1e5cab(0x1a4));},_0x9887c2=(_0x23de6f,_0x3661e2,_0x23c9fe)=>_0x5bab38(void 0x0,void 0x0,void 0x0,function*(){const _0x56fc87=_0xbf82a9;let _0x4b27f1=_0x23c9fe[_0x56fc87(0x244)](':first');_0x3661e2['relativePath']['elements']||[];const _0x2fabc3=_0x3661e2[_0x56fc87(0x170)]||[];if(_0x2fabc3[_0x56fc87(0x1b6)]===0x0)return;for(const _0x531083 of _0x2fabc3){_0x4b27f1['hasClass'](_0x56fc87(0x259))&&(yield _0x561dce(_0x23de6f,_0x4b27f1));const _0xf5ee2=_0x5097d0(_0x531083,_0x4b27f1);if(_0xf5ee2[_0x56fc87(0x1b6)]===0x0)return;_0x4b27f1=_0xf5ee2;}_0x5326e0(_0x23de6f,_0x4b27f1),_0x29c948(_0x23de6f[_0x56fc87(0x1d5)],_0x4b27f1);});function _0x29c948(_0x9d47cb,_0x46dd13){const _0x484ad1=_0xbf82a9,_0x488208=_0x46dd13[_0x484ad1(0x1e8)]()['top'],_0x2fd423=_0x9d47cb[_0x484ad1(0x1b7)]();if(_0x2fd423==undefined)return;const _0x1ca86a=_0x2fd423+_0x488208-_0x9d47cb[_0x484ad1(0x209)]()/0x2+_0x46dd13[_0x484ad1(0x209)]()/0x2;_0x9d47cb[_0x484ad1(0x239)]({'scrollTop':_0x1ca86a},0x1f4);}const _0x8a5f37=(_0x2fdf45,_0x2bed7d)=>_0x5bab38(void 0x0,void 0x0,void 0x0,function*(){const _0x3519d4=_0xbf82a9,_0x14d5af=_0x2fdf45[_0x3519d4(0x21e)][_0x3519d4(0x1cb)](),_0x566dad={'nodeId':_0x14d5af,'rootNodeId':_0x2bed7d[_0x3519d4(0x15c)],'isType':_0x2fdf45[_0x3519d4(0x242)][_0x3519d4(0x150)]||![]},_0x16a10c=_0x2ffeab(_0x2fdf45),_0x84e39=yield _0x259ca4(_0x16a10c,_0x566dad);if(!_0x84e39)return;yield _0x9887c2(_0x2fdf45,_0x84e39,_0x2fdf45[_0x3519d4(0x19e)]);});function _0x2f0efb(_0x3a8e44,_0x5aaa78,_0x1fbac4,_0x5a4c79){return _0x5bab38(this,void 0x0,void 0x0,function*(){const _0x45a18b=_0x3840;if(_0x5aaa78['hasClass'](_0x45a18b(0x1e4))){console[_0x45a18b(0x22e)]('already\x20fetched');return;}if(_0x5aaa78[_0x45a18b(0x228)](_0x45a18b(0x1cd))){console[_0x45a18b(0x22e)]('already\x20loading');return;}_0x5aaa78[_0x45a18b(0x20c)](_0x45a18b(0x1cd)),_0x5aaa78['append']('<div\x20class=\x22spinner\x22></div>');try{_0x5aaa78[_0x45a18b(0x244)]('ul')[_0x45a18b(0x267)]();const {references:_0x112c23}=yield _0x1fbac4(_0x5aaa78,_0x5a4c79);_0x112c23[_0x45a18b(0x14e)]((_0xa7e76a,_0x3c2a07)=>{const _0x9e2dde=_0x45a18b;var _0x47cfe6,_0x4e7f5c;return(((_0x47cfe6=_0xa7e76a[_0x9e2dde(0x1e1)])===null||_0x47cfe6===void 0x0?void 0x0:_0x47cfe6[_0x9e2dde(0x236)])||'')[_0x9e2dde(0x1bb)](((_0x4e7f5c=_0x3c2a07['browseName'])===null||_0x4e7f5c===void 0x0?void 0x0:_0x4e7f5c['name'])||'');});for(const _0x55b0f9 of _0x112c23){if(_0x3a8e44[_0x45a18b(0x242)]['filter']&&!_0x3a8e44[_0x45a18b(0x242)][_0x45a18b(0x1ff)](_0x55b0f9))continue;const _0x2c799a=_0x2ce175(_0x55b0f9);_0x5aaa78[_0x45a18b(0x244)]('ul')[_0x45a18b(0x19c)](_0x2c799a);}_0x5aaa78['addClass'](_0x45a18b(0x1e4));}catch(_0x3c5ea6){_0x5aaa78['children']('ul')[_0x45a18b(0x19c)](_0x45a18b(0x243)+_0x3c5ea6[_0x45a18b(0x22b)]+'</li>'),console['log'](_0x45a18b(0x172),_0x3c5ea6);}_0x5aaa78[_0x45a18b(0x161)](_0x45a18b(0x1a7))['remove'](),_0x5aaa78[_0x45a18b(0x1fe)](_0x45a18b(0x1cd));});}function _0x2ffeab(_0x546de9){const _0x1fade4=_0xbf82a9,_0x402a73={'baseUrl':_0x546de9['options'][_0x1fade4(0x1e0)],'endpointNode':typeof _0x546de9[_0x1fade4(0x242)]['endpointNode']===_0x1fade4(0x1e5)?_0x546de9[_0x1fade4(0x242)]['endpointNode']():_0x546de9[_0x1fade4(0x242)][_0x1fade4(0x182)],'endpoint':typeof _0x546de9['options']['endpoint']===_0x1fade4(0x1e5)?_0x546de9['options'][_0x1fade4(0x22f)]():_0x546de9[_0x1fade4(0x242)][_0x1fade4(0x22f)]};return _0x402a73;}function _0x561dce(_0x562722,_0x4b8556){return _0x5bab38(this,void 0x0,void 0x0,function*(){const _0x2a714d=_0x3840;if(_0x4b8556[_0x2a714d(0x228)](_0x2a714d(0x1e4))){_0x4b8556[_0x2a714d(0x1fe)](_0x2a714d(0x259))[_0x2a714d(0x20c)](_0x2a714d(0x194)),_0x4b8556[_0x2a714d(0x244)]('ul')[_0x2a714d(0x171)]();return;}const _0x1b4faa=_0x2ffeab(_0x562722),_0x410e5c=!_0x562722[_0x2a714d(0x242)][_0x2a714d(0x150)]?_0x258af8:_0x155023;try{yield _0x2f0efb(_0x562722,_0x4b8556,_0x410e5c,_0x1b4faa),_0x4b8556[_0x2a714d(0x1fe)]('expandable')['addClass'](_0x2a714d(0x194));}catch(_0x45bae5){_0x4b8556[_0x2a714d(0x1fe)](_0x2a714d(0x259))['addClass'](_0x2a714d(0x194)),console[_0x2a714d(0x22e)](_0x2a714d(0x1ab),_0x45bae5);}});}const _0x2e0a74={'browseName':{'namespaceIndex':0x0,'name':_0xbf82a9(0x1c6)},'nodeClass':_0xbf82a9(0x162),'nodeId':_0xbf82a9(0x16a),'displayName':{'text':'Objects'},'typeDefinition':_0x1fc79c},_0x1cd5a0=()=>{const _0xaf1e31=_0xbf82a9;$[_0xaf1e31(0x193)](_0xaf1e31(0x276),{'options':{'endpointNode':()=>({'endpoint':'opc.tcp://opcuademo.sterfive.com:26543'}),'endpoint':()=>undefined,'parentNode':()=>_0x2e0a74,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x5bab38(this,void 0x0,void 0x0,function*(){const _0x36a6d5=_0x3840,_0x1b8473=this;if(_0x1b8473[_0x36a6d5(0x190)]==undefined){const _0x52b0c7=typeof _0x1b8473[_0x36a6d5(0x242)][_0x36a6d5(0x1b9)]===_0x36a6d5(0x1e5)?_0x1b8473[_0x36a6d5(0x242)][_0x36a6d5(0x1b9)][_0x36a6d5(0x201)](_0x1b8473):_0x1b8473['options'][_0x36a6d5(0x1b9)];if(_0x52b0c7 instanceof Promise){const _0x5a45aa=yield _0x52b0c7;_0x1b8473['__parentNode']=_0x5a45aa;}else _0x1b8473[_0x36a6d5(0x190)]=_0x52b0c7;}return _0x1b8473[_0x36a6d5(0x190)]||_0x2e0a74;});},'reset'(){return _0x5bab38(this,void 0x0,void 0x0,function*(){const _0x2ba3d9=_0x3840,_0x3c8682=this,_0x41ab99=_0x3c8682;_0x41ab99[_0x2ba3d9(0x190)]=undefined,_0x3c8682['$tree'][_0x2ba3d9(0x267)]();const _0x460e46=yield this[_0x2ba3d9(0x21c)](),_0x38b79c=_0x2ce175(_0x460e46);_0x3c8682['$tree']['append'](_0x38b79c),_0x3c8682[_0x2ba3d9(0x16b)]=_0x460e46;});},'verify'(_0x457591){const _0x447c25=_0xaf1e31,_0x1e70fd=this,_0x1984c3=_0x2ffeab(_0x1e70fd);_0x15af44(_0x1984c3,_0x457591,_0x1e70fd[_0x447c25(0x21e)],_0x1e70fd[_0x447c25(0x166)])['then'](_0x162fdb=>{const _0x3fe068=_0x447c25;!_0x162fdb?_0x1e70fd[_0x3fe068(0x14f)]['addClass'](_0x3fe068(0x269)):_0x1e70fd[_0x3fe068(0x14f)][_0x3fe068(0x1fe)](_0x3fe068(0x269));});},'_hideMenu'(_0x3c227f){const _0x35dd15=_0xaf1e31,_0xe7c49b=this;$(document)['off']('mousedown.red-ui-typedInput-close-property-select'),_0x3c227f[_0x35dd15(0x18a)](),_0x3c227f[_0x35dd15(0x1cf)]({'height':'auto'});if(_0x3c227f[_0x35dd15(0x176)][_0x35dd15(0x254)]){var _0x5ee57f=[];_0x3c227f[_0x35dd15(0x161)](_0x35dd15(0x1f8))[_0x35dd15(0x1dc)](function(){const _0x4255e0=_0x35dd15;$(this)[_0x4255e0(0x15f)]('checked')&&_0x5ee57f['push']($(this)[_0x4255e0(0x1e6)](_0x4255e0(0x25e)));}),_0x3c227f[_0x35dd15(0x270)](_0x5ee57f);}_0xe7c49b[_0x35dd15(0x1f3)]['is'](_0x35dd15(0x268))?_0xe7c49b[_0x35dd15(0x21e)][_0x35dd15(0x235)](_0x35dd15(0x20f)):_0xe7c49b[_0x35dd15(0x163)][_0x35dd15(0x235)](_0x35dd15(0x20f));},'_createMenu'(_0x338f5c,_0x3b82cf,_0x269901){const _0x51d9cf=_0xaf1e31;var _0x21cfdc=this;const _0x163294=$('<div>')[_0x51d9cf(0x20c)](_0x51d9cf(0x1a8));return _0x163294[_0x51d9cf(0x176)]=_0x3b82cf,_0x163294[_0x51d9cf(0x270)]=_0x269901,_0x338f5c[_0x51d9cf(0x251)](_0x532520=>{const _0x202dbf=_0x51d9cf;typeof _0x532520===_0x202dbf(0x1fd)&&(_0x532520={'value':_0x532520,'label':_0x532520});var _0x11b60d=$(_0x202dbf(0x175))[_0x202dbf(0x238)](_0x202dbf(0x25e),_0x532520[_0x202dbf(0x25e)])[_0x202dbf(0x204)](_0x163294);_0x532520['label']&&_0x11b60d['text'](_0x532520['label']);_0x532520[_0x202dbf(0x17c)]&&_0x11b60d[_0x202dbf(0x15f)](_0x202dbf(0x17c),_0x532520[_0x202dbf(0x17c)]);if(_0x532520[_0x202dbf(0x249)]){if(_0x532520[_0x202dbf(0x249)][_0x202dbf(0x26f)]('<')===0x0)$(_0x532520[_0x202dbf(0x249)])[_0x202dbf(0x1b3)](_0x11b60d);else _0x532520['icon'][_0x202dbf(0x26f)]('/')!==-0x1?$(_0x202dbf(0x17f),{'class':'red-ui-typedInput-icon','style':_0x202dbf(0x177)+_0x532520[_0x202dbf(0x249)]+_0x202dbf(0x25a)+_0x532520['icon']+');'})[_0x202dbf(0x1b3)](_0x11b60d):$(_0x202dbf(0x17f),{'class':'red-ui-typedInput-icon\x20'+_0x532520[_0x202dbf(0x249)]})[_0x202dbf(0x1b3)](_0x11b60d);}else _0x11b60d['css']({'paddingLeft':_0x202dbf(0x247)});!_0x532520[_0x202dbf(0x249)]&&!_0x532520[_0x202dbf(0x147)]&&_0x11b60d[_0x202dbf(0x16f)](_0x532520[_0x202dbf(0x25e)]);var _0x34bec6;_0x3b82cf['multiple']&&(_0x34bec6=$(_0x202dbf(0x1ca))['css'](_0x202dbf(0x223),'none')[_0x202dbf(0x1e6)](_0x202dbf(0x25e),_0x532520[_0x202dbf(0x25e)])[_0x202dbf(0x1b3)](_0x11b60d)['on']('mousedown',function(_0x1c068c){const _0x3353b6=_0x202dbf;_0x1c068c[_0x3353b6(0x1a5)]();})),_0x11b60d['on'](_0x202dbf(0x1f9),function(_0x39354b){const _0x5a8cf0=_0x202dbf;_0x39354b[_0x5a8cf0(0x1a5)](),_0x39354b['stopPropagation'](),!_0x3b82cf[_0x5a8cf0(0x254)]?(_0x269901(_0x532520['value']),_0x21cfdc[_0x5a8cf0(0x179)](_0x163294)):_0x34bec6[_0x5a8cf0(0x15f)](_0x5a8cf0(0x221),!_0x34bec6[_0x5a8cf0(0x15f)](_0x5a8cf0(0x221)));});}),_0x163294[_0x51d9cf(0x1cf)]({'display':_0x51d9cf(0x1af)}),_0x163294['on'](_0x51d9cf(0x173),function(_0x24d6cd){const _0x4cf693=_0x51d9cf;if(_0x24d6cd['keyCode']===0x28)_0x24d6cd[_0x4cf693(0x1a5)](),$(this)[_0x4cf693(0x244)](_0x4cf693(0x240))[_0x4cf693(0x1ce)]()[_0x4cf693(0x235)]('focus');else{if(_0x24d6cd[_0x4cf693(0x1c0)]===0x26)_0x24d6cd[_0x4cf693(0x1a5)](),$(this)[_0x4cf693(0x244)](_0x4cf693(0x240))[_0x4cf693(0x1a3)]()['trigger'](_0x4cf693(0x20f));else _0x24d6cd[_0x4cf693(0x1c0)]===0x1b&&(_0x24d6cd[_0x4cf693(0x1a5)](),_0x21cfdc['_hideMenu'](_0x163294));}_0x24d6cd[_0x4cf693(0x24a)]();}),_0x163294;},'disarmClick':![],'_showMenu'(_0x16da31,_0x1fcadd){const _0x1045f3=_0xaf1e31;if(this['disarmClick']){this[_0x1045f3(0x1eb)]=![];return;}var _0x3c351a=this,_0x277af7=_0x1fcadd[_0x1045f3(0x16c)](),_0x47c775=_0x1fcadd[_0x1045f3(0x209)](),_0x40dd34=_0x16da31[_0x1045f3(0x209)](),_0x5e18a5=_0x47c775+_0x277af7[_0x1045f3(0x227)];_0x5e18a5+_0x40dd34-$(document)[_0x1045f3(0x1b7)]()>$(window)[_0x1045f3(0x209)]()&&(_0x5e18a5-=_0x5e18a5+_0x40dd34-$(window)[_0x1045f3(0x209)]()+0x5),_0x5e18a5<0x0&&(_0x16da31[_0x1045f3(0x209)](_0x40dd34+_0x5e18a5),_0x5e18a5=0x0),_0x16da31['css']({'top':_0x5e18a5+'px','left':_0x277af7[_0x1045f3(0x191)]+'px'}),_0x16da31[_0x1045f3(0x195)](0x64),this[_0x1045f3(0x1e3)](function(){const _0x17ff01=_0x1045f3;_0x3c351a[_0x17ff01(0x160)]['addClass']('red-ui-typedInput-focus'),$(document)['on'](_0x17ff01(0x24c),function(_0x4eb554){const _0x585eab=_0x17ff01;!$(_0x4eb554[_0x585eab(0x1be)])[_0x585eab(0x217)](_0x16da31)[_0x585eab(0x1b6)]&&_0x3c351a['_hideMenu'](_0x16da31),$(_0x4eb554['target'])['closest'](_0x1fcadd)[_0x585eab(0x1b6)]&&(_0x3c351a[_0x585eab(0x1eb)]=!![],_0x4eb554[_0x585eab(0x1a5)]());});});},'_showTypeMenu'(){const _0xba6b98=_0xaf1e31,_0x50d983=this;this[_0xba6b98(0x1b4)](_0x50d983[_0xba6b98(0x1bf)],_0x50d983[_0xba6b98(0x14f)]),_0x50d983[_0xba6b98(0x1d5)][_0xba6b98(0x18a)]();const _0x33766f=_0x50d983[_0xba6b98(0x1f4)];var _0x343c2b=_0x50d983[_0xba6b98(0x1bf)][_0xba6b98(0x161)](_0xba6b98(0x158)+_0x33766f+'\x27');setTimeout(function(){const _0xbe44d1=_0xba6b98;_0x343c2b[_0xbe44d1(0x235)](_0xbe44d1(0x20f));},0x78);},'_initMenu'(){const _0x21479b=_0xaf1e31,_0x297a06=this;_0x297a06['$selectTrigger'][_0x21479b(0x238)](_0x21479b(0x263),-0x1),_0x297a06['$selectTrigger']['on'](_0x21479b(0x17e),function(_0x32cfa7){const _0x5d8a54=_0x21479b;_0x32cfa7[_0x5d8a54(0x1a5)]();});_0x297a06['$menu']&&_0x297a06['$menu'][_0x21479b(0x23a)]();const _0xd93e43=[{'label':'text','value':'t','title':_0x21479b(0x1aa),'icon':_0x21479b(0x220)},{'label':_0x21479b(0x248),'value':'msg','title':_0x21479b(0x273),'icon':_0x21479b(0x15d)},{'label':_0x21479b(0x18e),'value':'n','icon':'<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20'},{'label':_0x21479b(0x26a),'value':'na','icon':_0x21479b(0x210)},{'label':_0x21479b(0x1db),'value':'nsu','icon':_0x21479b(0x23d)},{'label':_0x21479b(0x1f6),'value':'b','icon':_0x21479b(0x17d)},{'label':_0x21479b(0x1e7),'value':'ab','icon':_0x21479b(0x218)}],_0x1da180=_0x2df7c6(_0x297a06['$input'][_0x21479b(0x1cb)]()),_0x2a5025=_0xd93e43['find'](_0x584047=>_0x584047[_0x21479b(0x25e)]===_0x1da180);_0x297a06[_0x21479b(0x19d)][_0x21479b(0x267)]()['append']('<span\x20title='+((_0x2a5025===null||_0x2a5025===void 0x0?void 0x0:_0x2a5025['title'])||'')+_0x21479b(0x26b)+((_0x2a5025===null||_0x2a5025===void 0x0?void 0x0:_0x2a5025[_0x21479b(0x249)])||'')+_0x21479b(0x26e)),_0x297a06[_0x21479b(0x1f4)]=_0x1da180;const _0x28bc32=this;_0x297a06[_0x21479b(0x1bf)]=this['_createMenu'](_0xd93e43,{},_0x523f45=>{const _0x119913=_0x21479b,_0xc155a5=_0x4b1bc3(_0x523f45);_0xc155a5&&_0x28bc32['verify'](_0xc155a5);const _0x3305af=_0xd93e43[_0x119913(0x161)](_0x8d409b=>_0x8d409b[_0x119913(0x25e)]===_0x523f45);_0x297a06[_0x119913(0x1f4)]=_0x523f45,_0x297a06[_0x119913(0x19d)][_0x119913(0x267)]()[_0x119913(0x19c)](_0x119913(0x21a)+((_0x3305af===null||_0x3305af===void 0x0?void 0x0:_0x3305af[_0x119913(0x17c)])||'')+_0x119913(0x26b)+((_0x3305af===null||_0x3305af===void 0x0?void 0x0:_0x3305af[_0x119913(0x249)])||'')+'</span>');}),_0x297a06['$menu'][_0x21479b(0x204)](document[_0x21479b(0x1b0)]),_0x297a06[_0x21479b(0x1bf)][_0x21479b(0x18a)](),_0x297a06[_0x21479b(0x163)][_0x21479b(0x154)]();},'mode'(){const _0x1d7c68=_0xaf1e31,_0x281af5=this;return _0x4b1bc3(_0x281af5[_0x1d7c68(0x1f4)]);},'setMode'(_0x59b7d7){const _0x270681=_0xaf1e31,_0x27a193=this,_0x52d509=_0x111373(_0x59b7d7);_0x27a193[_0x270681(0x1f4)]=_0x52d509;},'_create'(){const _0xa5b54e=_0xaf1e31,_0x27b327=this;_0x27b327[_0xa5b54e(0x21e)]=this[_0xa5b54e(0x230)],_0x27b327[_0xa5b54e(0x21e)][_0xa5b54e(0x1cf)]('border',_0xa5b54e(0x1af)),_0x27b327[_0xa5b54e(0x1f3)]=_0x27b327['$input']['wrap']('<div>')['parent']()['addClass']('main-wrapper'),_0x27b327[_0xa5b54e(0x14f)]=$('<div/>'),_0x27b327[_0xa5b54e(0x14f)][_0xa5b54e(0x20c)](_0xa5b54e(0x24e)),_0x27b327[_0xa5b54e(0x21e)][_0xa5b54e(0x23f)](_0x27b327[_0xa5b54e(0x14f)]),_0x27b327[_0xa5b54e(0x1ad)]=$(_0xa5b54e(0x192))['addClass'](_0xa5b54e(0x1ec)),_0x27b327[_0xa5b54e(0x14f)][_0xa5b54e(0x19c)](_0x27b327[_0xa5b54e(0x1ad)]),_0x27b327[_0xa5b54e(0x1ad)][_0xa5b54e(0x19c)](_0x27b327[_0xa5b54e(0x21e)]),_0x27b327[_0xa5b54e(0x234)]=$(_0xa5b54e(0x258)),_0x27b327[_0xa5b54e(0x21e)][_0xa5b54e(0x265)](_0x27b327[_0xa5b54e(0x234)]),_0x27b327['$toggleTreeBtn']['on'](_0xa5b54e(0x1f9),function(){return _0x5bab38(this,void 0x0,void 0x0,function*(){const _0x43f848=_0x3840;var _0x380d87;let _0x5b6db6=![],_0x20092a;!_0x27b327[_0x43f848(0x1d5)]['is'](_0x43f848(0x268))&&(_0x27b327['$info'][_0x43f848(0x18a)](),_0x20092a=yield _0x27b327[_0x43f848(0x21c)](),(_0x20092a!==_0x27b327[_0x43f848(0x16b)]||((_0x380d87=_0x27b327[_0x43f848(0x16b)])===null||_0x380d87===void 0x0?void 0x0:_0x380d87[_0x43f848(0x15c)])!==_0x20092a[_0x43f848(0x15c)])&&(yield _0x27b327[_0x43f848(0x253)]()),_0x5b6db6=!![]),_0x27b327[_0x43f848(0x1d5)]['toggle'](),_0x5b6db6&&(yield _0x8a5f37(_0x27b327,_0x20092a));});}),_0x27b327[_0xa5b54e(0x216)]=$(_0xa5b54e(0x20d)),_0x27b327[_0xa5b54e(0x21e)][_0xa5b54e(0x265)](_0x27b327[_0xa5b54e(0x216)]),_0x27b327[_0xa5b54e(0x216)]['on']('click',()=>{const _0x300b85=_0xa5b54e,_0x456d62=_0x27b327['mode']();if(!_0x456d62)return;this[_0x300b85(0x245)](_0x456d62);});const _0x11191e=_0xd9d03f=>_0x5bab38(this,void 0x0,void 0x0,function*(){const _0x1517d4=_0xa5b54e,_0x5f0113=this;let _0x22b393=_0x5f0113['mode']();if(!_0x22b393)return;const _0x5295c1=_0x2ffeab(_0x5f0113),{data:_0x55ed74,json:_0x11e44a}=yield _0x22ab06(_0x5295c1,_0xd9d03f);if(_0x55ed74['status']!==0xc8)return;if(_0x11e44a[_0x1517d4(0x246)][_0x1517d4(0x1a9)](/Good/)){const _0xc4b99d=_0x39771e(_0x11e44a,_0x22b393);_0x5f0113[_0x1517d4(0x21e)][_0x1517d4(0x1cb)](_0xc4b99d),_0x5f0113[_0x1517d4(0x21e)][_0x1517d4(0x235)]('change');}});{_0x27b327[_0xa5b54e(0x160)]=$(_0xa5b54e(0x23e)),_0x27b327[_0xa5b54e(0x21e)][_0xa5b54e(0x256)](_0x27b327[_0xa5b54e(0x160)]),_0x27b327[_0xa5b54e(0x163)]=$(_0xa5b54e(0x1d6))[_0xa5b54e(0x1b3)](_0x27b327[_0xa5b54e(0x160)]),$('<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>')[_0xa5b54e(0x171)](!![])[_0xa5b54e(0x204)](_0x27b327[_0xa5b54e(0x163)]),_0x27b327['$selectTrigger']['on'](_0xa5b54e(0x1f9),function(_0x2980eb){const _0x3a100d=_0xa5b54e;_0x2980eb[_0x3a100d(0x1a5)](),_0x2980eb['stopPropagation'](),_0x27b327['_showTypeMenu']();}),_0x27b327[_0xa5b54e(0x163)]['on'](_0xa5b54e(0x173),function(_0xcb08){const _0x34aa4d=_0xa5b54e;_0xcb08[_0x34aa4d(0x1c0)]===0x28&&_0x27b327[_0x34aa4d(0x1c8)](),_0xcb08[_0x34aa4d(0x24a)]();})['on']('focus',function(){const _0x5cd223=_0xa5b54e;_0x27b327[_0x5cd223(0x160)][_0x5cd223(0x20c)](_0x5cd223(0x1e2));})['on'](_0xa5b54e(0x222),function(){const _0x5b4077=_0xa5b54e;_0x27b327[_0x5b4077(0x160)][_0x5b4077(0x1fe)]('red-ui-typedInput-focus');}),_0x27b327['$selectLabel']=$(_0xa5b54e(0x14a))[_0xa5b54e(0x204)](_0x27b327[_0xa5b54e(0x163)]);}this[_0xa5b54e(0x21f)]();!_0x27b327[_0xa5b54e(0x21e)][_0xa5b54e(0x238)](_0xa5b54e(0x168))&&_0x27b327[_0xa5b54e(0x21e)]['attr'](_0xa5b54e(0x168),_0xa5b54e(0x1d8));_0x27b327[_0xa5b54e(0x166)]=$(_0xa5b54e(0x174)),_0x27b327['$info'][_0xa5b54e(0x18a)](),_0x27b327[_0xa5b54e(0x14f)][_0xa5b54e(0x19c)](_0x27b327[_0xa5b54e(0x166)]),_0x27b327['$dropdown']=$(_0xa5b54e(0x192))[_0xa5b54e(0x20c)](_0xa5b54e(0x149))[_0xa5b54e(0x18a)]()['appendTo'](_0x27b327[_0xa5b54e(0x14f)]),_0x27b327['$tree']=$(_0xa5b54e(0x187))[_0xa5b54e(0x204)](_0x27b327['$dropdown']),this[_0xa5b54e(0x253)]();const _0xf1b21f=(_0x290f26,_0x407378)=>{const _0x2e0f6b=_0xa5b54e,_0x352121=0x14,_0x466f9e=0x14,_0x4f8d24=_0x290f26[_0x2e0f6b(0x16c)](),_0x254a7d=_0x407378;if(_0x254a7d[_0x2e0f6b(0x1d9)]>=_0x4f8d24[_0x2e0f6b(0x191)]&&_0x254a7d[_0x2e0f6b(0x1d9)]<=_0x4f8d24['left']+_0x352121&&_0x254a7d[_0x2e0f6b(0x26c)]>=_0x4f8d24['top']&&_0x254a7d[_0x2e0f6b(0x26c)]<=_0x4f8d24[_0x2e0f6b(0x227)]+_0x466f9e)return!![];return![];},_0x325753=_0x1af64e=>_0x5bab38(this,void 0x0,void 0x0,function*(){const _0x170733=_0xa5b54e;if(_0x1af64e['hasClass'](_0x170733(0x259)))_0x561dce(_0x27b327,_0x1af64e);else{if(_0x1af64e[_0x170733(0x228)](_0x170733(0x194)))_0x1af64e[_0x170733(0x244)]('ul')[_0x170733(0x171)](),_0x1af64e[_0x170733(0x23c)](_0x170733(0x157));else{if(_0x1af64e[_0x170733(0x244)]('ul')[_0x170733(0x244)]()[_0x170733(0x1b6)]>0x0)_0x1af64e[_0x170733(0x244)]('ul')[_0x170733(0x171)](),_0x1af64e['toggleClass']('expandable\x20expanded');else;}}});_0x27b327[_0xa5b54e(0x19e)]['on'](_0xa5b54e(0x24b),'li',function(_0x364c3d){const _0xa84e84=_0xa5b54e;var _0x57c5d1,_0x50af37;_0x364c3d[_0xa84e84(0x24a)]();let _0x36e900=$(this);if(_0xf1b21f(_0x36e900,_0x364c3d))_0x325753(_0x36e900);else{const _0x1c8de7=_0x36e900['data']('value'),_0x208982=_0x36e900[_0xa84e84(0x1e6)](_0xa84e84(0x250));if(_0x27b327[_0xa84e84(0x242)]['isSelectable']&&!_0x27b327[_0xa84e84(0x242)][_0xa84e84(0x165)](_0x208982))return;_0x27b327[_0xa84e84(0x21e)][_0xa84e84(0x1e6)](_0xa84e84(0x250),_0x208982),((_0x57c5d1=_0x208982[_0xa84e84(0x14d)])===null||_0x57c5d1===void 0x0?void 0x0:_0x57c5d1[_0xa84e84(0x16f)])||((_0x50af37=_0x208982['browseName'])===null||_0x50af37===void 0x0?void 0x0:_0x50af37[_0xa84e84(0x236)])||_0x208982[_0xa84e84(0x15c)][_0xa84e84(0x25f)]();let _0x295326=_0x27b327[_0xa84e84(0x23b)]();!_0x295326&&(_0x295326='nodeId',_0x27b327[_0xa84e84(0x25c)](_0x295326)),_0x11191e(_0x1c8de7)['then'](()=>{const _0x22b2d7=_0xa84e84;_0x27b327['$dropdown'][_0x22b2d7(0x18a)]();})['catch'](_0x1a6bec=>{const _0x60663f=_0xa84e84;_0x27b327[_0x60663f(0x1d5)][_0x60663f(0x18a)]();});}}),_0x27b327[_0xa5b54e(0x19e)]['on'](_0xa5b54e(0x1f9),'li',function(_0x3bedef){_0x3bedef['stopPropagation']();let _0x2ca16e=$(this);_0xf1b21f(_0x2ca16e,_0x3bedef)&&_0x325753(_0x2ca16e),_0x5326e0(_0x27b327,_0x2ca16e);}),$(document)['on'](_0xa5b54e(0x1f9),function(_0xa44721){const _0x46da14=_0xa5b54e;!$(_0xa44721[_0x46da14(0x1be)])[_0x46da14(0x217)](_0x27b327[_0x46da14(0x14f)])[_0x46da14(0x1b6)]&&_0x27b327[_0x46da14(0x1d5)]['hide']();});}});};function _0x1467da(_0x53fc43,_0x319402){const _0x43063a=_0xbf82a9,_0x34cfb7=$('#node-input-endpoint'),_0x2f1d6d=$(_0x43063a(0x25b)),_0x3eeda0=()=>{const _0x337413=_0x43063a,_0x5ef4d2=_0x53fc43['nodes'][_0x337413(0x1a1)](_0x34cfb7['val']());_0x2f1d6d[_0x337413(0x267)]();if(!_0x5ef4d2||!_0x5ef4d2[_0x337413(0x1de)])return;for(const _0x15447b of _0x5ef4d2[_0x337413(0x1de)]){const _0x1b7473=_0x15447b['name']||_0x15447b['id'];$(_0x337413(0x206),{'value':_0x15447b['id'],'label':_0x1b7473,'selected':_0x15447b['id']===_0x319402[_0x337413(0x183)]})[_0x337413(0x16f)](_0x1b7473)[_0x337413(0x204)](_0x2f1d6d);}};_0x3eeda0(),_0x2f1d6d['on']('change',()=>{const _0x248e6f=_0x43063a;_0x319402[_0x248e6f(0x183)]=_0x2f1d6d[_0x248e6f(0x1cb)]();}),_0x34cfb7['on'](_0x43063a(0x15b),()=>{_0x3eeda0();});}const _0x5b00bc=()=>{const _0x33a0bd=_0xbf82a9,_0x2199f0=$(_0x33a0bd(0x1ee)),_0x3c3286=_0x2199f0[_0x33a0bd(0x1cb)](),_0x4b967c=RED[_0x33a0bd(0x164)]['node'](_0x3c3286);if(!_0x4b967c)return undefined;const {endpoint:_0x1e1aea,securityMode:_0x4be6d3,securityPolicy:_0x74b4ed,userIdentityType:_0x302f15,credentials:_0x2414c8,namespaceAliases:_0x110132}=_0x4b967c,_0x3e6cf2={'endpoint':_0x1e1aea,'securityMode':_0x4be6d3,'securityPolicy':_0x74b4ed,'userIdentityType':_0x302f15,'credentials':_0x2414c8,'namespaceAliases':_0x110132};return _0x3e6cf2;},_0x22db99=()=>{const _0x1e5389=_0xbf82a9,_0x2c2305=$(_0x1e5389(0x1ee)),_0x1378c4=_0x2c2305[_0x1e5389(0x1cb)](),_0x42551f=_0x5b00bc();if(!_0x42551f)return undefined;const _0x29b395=_0x42551f[_0x1e5389(0x19a)];return Object[_0x1e5389(0x214)]({'namespaceAliases':_0x29b395,'id':_0x1378c4},_0x42551f);},_0x3f7180=()=>{return{'endpointNode':_0x22db99};},_0x307278=()=>{const _0x677c23=_0xbf82a9,_0x5c79b7=$('.red-ui-tray-body');console[_0x677c23(0x22e)](_0x677c23(0x203),_0x5c79b7[_0x677c23(0x1b6)]);if(_0x5c79b7['length']){console[_0x677c23(0x22e)](_0x677c23(0x1df));const _0x4f7c5a=$(_0x677c23(0x1dd),{'src':_0x677c23(0x1ae),'scrolling':'no','style':_0x677c23(0x205),'allowtransparency':_0x677c23(0x16d),'width':_0x677c23(0x275),'height':_0x677c23(0x262)});_0x5c79b7[_0x677c23(0x19c)](_0x4f7c5a),_0x4f7c5a['css']({'position':_0x677c23(0x1c1),'right':_0x677c23(0x1d7),'bottom':_0x677c23(0x186)});}};RED['nodes'][_0xbf82a9(0x1f0)]('OpcUa-Client2-Monitor',{'category':_0xbf82a9(0x153),'color':_0xbf82a9(0x19f),'align':_0xbf82a9(0x264),'icon':'../../icons/opcuanodeLogo.png','paletteLabel':_0xbf82a9(0x272),'defaults':{'inputs':{'value':0x1},'output':{'value':0x2},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0xbf82a9(0x255)},'subscription':{'value':'','required':!![],'validate':_0x5c48f5=>{if(_0x5c48f5==='')return![];return!![];}},'startImmediately':{'value':!![],'required':!![]},'nodeId':{'value':_0xbf82a9(0x1f7),'required':![],'validate':()=>!![]},'samplingInterval':{'value':0x3e8,'required':!![]},'discardOldest':{'value':!![],'required':!![]},'queueSize':{'value':0xa,'required':!![]}},'outputs':0x1,'label'(){const _0x1b4ed0=_0xbf82a9;return this[_0x1b4ed0(0x236)]||_0x1b4ed0(0x22c);},'labelStyle'(){const _0x177917=_0xbf82a9;return this['name']?_0x177917(0x14c):'';},'oneditprepare'(){const _0x4323b3=_0xbf82a9,_0x18672e=this;_0x1cd5a0(),_0x307278();const _0x4627de=_0x18672e['startImmediately'];_0x18672e[_0x4323b3(0x1fc)]=_0x4627de?0x0:0x1,_0x1467da(RED,this),$('node-input-startImmediately')['on'](_0x4323b3(0x15b),()=>{const _0x2e0108=_0x4323b3,_0x1e4fb2=$('#node-input-startImmediately')[_0x2e0108(0x15f)](_0x2e0108(0x221));_0x1e4fb2?$('#node-input-inputs')[_0x2e0108(0x1cb)](0x0):$(_0x2e0108(0x1c7))[_0x2e0108(0x1cb)](0x1);});const _0x1e8924=$('#node-input-nodeId');_0x1e8924['nodeBrowser'](Object[_0x4323b3(0x214)](Object[_0x4323b3(0x214)]({},_0x3f7180()),{'filter'(_0x31b205){const _0x3a6621=_0x4323b3;return _0x31b205[_0x3a6621(0x1d0)]===_0x3a6621(0x167)||_0x31b205['nodeClass']===_0x3a6621(0x162);},'isSelectable'(_0x3713a2){return _0x3713a2['nodeClass']==='Variable';}}));},'oneditsave'(){const _0x1e722e=_0xbf82a9,_0x598f96=$('#node-input-startImmediately')[_0x1e722e(0x15f)](_0x1e722e(0x221));_0x598f96?($(_0x1e722e(0x1ba))['val'](_0x598f96?0x0:0x1),this[_0x1e722e(0x1fc)]=_0x598f96?0x0:0x1):($(_0x1e722e(0x1ba))['val'](0x1),this[_0x1e722e(0x1fc)]=0x1);}});}()));
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg1YmFiMzgiLCJfMHgyN2Y5ZjAiLCJfMHgzZmQxYjIiLCJfMHgyMzFlNzkiLCJfMHgzMWI0MzMiLCJfMHg0ZjI4YjIiLCJfMHg2ZDk1MzUiLCJfMHgyNjgxODYiLCJQcm9taXNlIiwiXzB4Mzg1MTEzIiwiXzB4NDY0NGM0IiwiXzB4MzM4Y2E0IiwiXzB4Mzg1ZDQ3IiwiXzB4M2JkMWU0IiwiXzB4NDIwNTgzIiwiXzB4YzY2MDMxIiwiXzB4MmYxZWZmIiwiXzB4MTk5MjU3IiwiXzB4NTc2N2I5IiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4MzkzNGIzIiwiXzB4NWQxNjQ2IiwiXzB4YWE4NTgiLCJfMHgxYWVjMmEiLCJFcnJvciIsIl8weDg2NWQ1YiIsIl8weDFmYzc5YyIsIl8weDMzNjg3OCIsIl8weDliMDU0MSIsIl8weDIxYjg4YSIsIl8weDE1MzhhZiIsIl8weDFiNThjMiIsIl8weDQ3NGRiYyIsIl8weDQ2ZjZkMyIsIl8weDMxZTUzOCIsIl8weDMzZWNjYyIsIl8weDFmN2YzMCIsIl8weDMwNzdhZSIsIl8weDVmNDMxMyIsIl8weDM3NDdiNCIsIl8weGZmOWQwZSIsIl8weDU3ZWRmNiIsIl8weDNiNzViMSIsIl8weDQxMDJiNSIsIl8weDY5MDFhMyIsIl8weDM2OTk2MSIsIl8weDE4YjM3ZiIsIl8weDMxZmQ5MSIsImVuZHBvaW50Tm9kZSIsIl8weDM5MzZhYSIsImVuZHBvaW50IiwiXzB4MjAxMWE1IiwiYmFzZVVybCIsIl8weDRlYzA2ZCIsIl8weDU2YTM5MiIsIl8weDMxZWNmZSIsIl8weGEwMDNlMCIsIl8weDFkY2QyMiIsIl8weDNiNTMxZiIsIk9iamVjdCIsIl8weDE2ZDExNiIsImZldGNoIiwiSlNPTiIsImNvbnNvbGUiLCJfMHg2ZTEyMTIiLCJfMHhiN2EwNDgiLCJfMHg0YzU0MmMiLCJfMHg0YWIxYzMiLCJfMHgyNTljYTQiLCJfMHgzZjU4MjkiLCJfMHg0MGUwMjMiLCJfMHgxNmYxMDYiLCJfMHgxNGMyYTUiLCJfMHg0NmMzMDUiLCJub2RlSWQiLCJfMHg0YWRhYTMiLCJyb290Tm9kZUlkIiwiXzB4NTliNWVjIiwiaXNUeXBlIiwiXzB4MmNiNDgyIiwiXzB4ZTg2Y2ViIiwiXzB4MzUzZGQwIiwiXzB4NWU0NzhmIiwiXzB4NTBhNDRlIiwiXzB4Mzk3NzFlIiwiXzB4NGU3ZTJlIiwiXzB4MzZlMzU0IiwiXzB4MmYyMjViIiwiXzB4MzgzOTI0IiwiXzB4MjY5NzQ3IiwiXzB4MzhjYjQ5IiwiXzB4NGU0NWIzIiwiXzB4MmRmN2M2IiwiXzB4NWNiMjRkIiwiXzB4MmViYTRlIiwiXzB4NGIxYmMzIiwiXzB4MmFjYmYxIiwiXzB4NDQ0ODU4IiwiXzB4MTExMzczIiwiXzB4MzQ1NDFhIiwiXzB4MjJhYjA2IiwiXzB4MjhlMzFmIiwiXzB4MzJmZTYwIiwiXzB4MjBjY2FlIiwiXzB4NDdmNGY3IiwiXzB4NGFhOGQ4IiwiXzB4MzhlZTMwIiwiXzB4ZWRhOTIyIiwiXzB4MTFkM2Q5IiwiXzB4OWZhNWYxIiwiXzB4NDVhZDNlIiwiUkVEIiwiXzB4MTYxMTVmIiwiXzB4YjlmNTY3IiwiXzB4MjJiMzY4IiwiXzB4MTVhZjQ0IiwiXzB4NjJiZmYwIiwiXzB4MzYxZDMzIiwiXzB4NGMzM2Q5IiwiXzB4M2NlMzgzIiwiXzB4MmExNGUyIiwiXzB4MTI1YWIxIiwiXzB4MTdhOWI4IiwiXzB4MzU1NzcwIiwiXzB4MjExNmFjIiwiXzB4NTU1Nzk4IiwiXzB4MTc2NDc3IiwianNvbiIsIl8weDMzMDEzMiIsImRhdGEiLCJfMHgxMTdhYTMiLCJfMHg0MjY1NDciLCJfMHgyYjZmOWIiLCJfMHgzYzY2ZjYiLCJzZXRUaW1lb3V0IiwiXzB4MWE4NzFkIiwiXzB4MjAzZjMyIiwiXzB4MjU4YWY4IiwiXzB4Mzk2MmRkIiwiXzB4NTc5NmE1IiwiXzB4YWQ5NDlmIiwiXzB4MmRmNTMzIiwiXzB4NDlkZTI3IiwiXzB4MmQzZGI1IiwiXzB4MTU1MDIzIiwiXzB4NWU3MWM1IiwiXzB4NTE1ZDAzIiwiXzB4YzgyN2RlIiwiXzB4Mjk1ZDg4IiwiXzB4MmNlMTc1IiwiXzB4MmZhNWE4IiwiXzB4MTQ5NTgyIiwiXzB4NTllZGU4IiwiXzB4MjQ5NTI2IiwiXzB4NWMzN2NkIiwiXzB4MWUxZjU1IiwiJCIsIl8weDNhMmU3YSIsIl8weDVjNDRhNSIsImljb24iLCJfMHgzYTM1MmIiLCJjb2xvciIsIl8weDQ1NTNlOCIsIl8weDU2NDdmOCIsIl8weDQ1MzBiMCIsIl8weDUwOTdkMCIsIl8weDM4YjcyYSIsIl8weDJjZWUxNSIsIl8weDUzMjZlMCIsIl8weDE0MDE3MCIsIl8weDM0OGIwYyIsIl8weDk4ODdjMiIsIl8weDIzZGU2ZiIsIl8weDM2NjFlMiIsIl8weDIzYzlmZSIsIl8weDRiMjdmMSIsIl8weDJmYWJjMyIsIl8weDUzMTA4MyIsIl8weDU2MWRjZSIsIl8weGY1ZWUyIiwiXzB4MjljOTQ4IiwiXzB4OWQ0N2NiIiwiXzB4NDZkZDEzIiwiXzB4NDg4MjA4IiwiXzB4MmZkNDIzIiwidW5kZWZpbmVkIiwiXzB4MWNhODZhIiwiXzB4OGE1ZjM3IiwiXzB4MmZkZjQ1IiwiXzB4MmJlZDdkIiwiXzB4MTRkNWFmIiwiXzB4NTY2ZGFkIiwiXzB4MTZhMTBjIiwiXzB4MmZmZWFiIiwiXzB4ODRlMzkiLCJfMHgyZjBlZmIiLCJfMHgzYThlNDQiLCJfMHg1YWFhNzgiLCJfMHgxZmJhYzQiLCJfMHg1YTRjNzkiLCJyZWZlcmVuY2VzIiwiXzB4MTEyYzIzIiwiXzB4YTdlNzZhIiwiXzB4M2MyYTA3IiwiXzB4NDdjZmU2IiwiXzB4NGU3ZjVjIiwiXzB4NTViMGY5IiwiXzB4MmM3OTlhIiwiXzB4M2M1ZWE2IiwiXzB4NTQ2ZGU5IiwiXzB4NDAyYTczIiwiXzB4NTYyNzIyIiwiXzB4NGI4NTU2IiwiXzB4MWI0ZmFhIiwiXzB4NDEwZTVjIiwiXzB4NDViYWU1IiwiXzB4MmUwYTc0IiwiXzB4MWNkNWEwIiwiXzB4MWI4NDczIiwiXzB4NTJiMGM3IiwiXzB4NWE0NWFhIiwiXzB4M2M4NjgyIiwiXzB4NDFhYjk5IiwiXzB4NDYwZTQ2IiwiXzB4MzhiNzljIiwiXzB4NDU3NTkxIiwiXzB4MWU3MGZkIiwiXzB4MTk4NGMzIiwiXzB4MTYyZmRiIiwiXzB4M2MyMjdmIiwiXzB4ZTdjNDliIiwiZG9jdW1lbnQiLCJfMHg1ZWU1N2YiLCJfMHgzMzhmNWMiLCJfMHgzYjgyY2YiLCJfMHgyNjk5MDEiLCJfMHgyMWNmZGMiLCJfMHgxNjMyOTQiLCJfMHg1MzI1MjAiLCJfMHgxMWI2MGQiLCJfMHgzNGJlYzYiLCJfMHgxYzA2OGMiLCJfMHgzOTM1NGIiLCJfMHgyNGQ2Y2QiLCJfMHgxNmRhMzEiLCJfMHgxZmNhZGQiLCJfMHgzYzM1MWEiLCJfMHgyNzdhZjciLCJfMHg0N2M3NzUiLCJfMHg0MGRkMzQiLCJfMHg1ZTE4YTUiLCJ3aW5kb3ciLCJfMHg0ZWI1NTQiLCJfMHg1MGQ5ODMiLCJfMHgzMzc2NmYiLCJfMHgzNDNjMmIiLCJfMHgyOTdhMDYiLCJfMHgzMmNmYTciLCJfMHhkOTNlNDMiLCJfMHgxZGExODAiLCJfMHgyYTUwMjUiLCJfMHg1ODQwNDciLCJfMHgyOGJjMzIiLCJfMHg1MjNmNDUiLCJfMHhjMTU1YTUiLCJfMHgzMzA1YWYiLCJfMHg4ZDQwOWIiLCJfMHgyODFhZjUiLCJfMHg1OWI3ZDciLCJfMHgyN2ExOTMiLCJfMHg1MmQ1MDkiLCJfMHgyN2IzMjciLCJfMHgzODBkODciLCJfMHg1YjZkYjYiLCJfMHgyMDA5MmEiLCJfMHg0NTZkNjIiLCJfMHgxMTE5MWUiLCJfMHhkOWQwM2YiLCJfMHg1ZjAxMTMiLCJfMHgyMmIzOTMiLCJfMHg1Mjk1YzEiLCJfMHg1NWVkNzQiLCJfMHgxMWU0NGEiLCJfMHhjNGI5OWQiLCJfMHgyOTgwZWIiLCJfMHhjYjA4IiwiXzB4ZjFiMjFmIiwiXzB4MjkwZjI2IiwiXzB4NDA3Mzc4IiwiXzB4MzUyMTIxIiwiXzB4NDY2ZjllIiwiXzB4NGY4ZDI0IiwiXzB4MjU0YTdkIiwiXzB4MzI1NzUzIiwiXzB4MWFmNjRlIiwiXzB4MzY0YzNkIiwiXzB4NTdjNWQxIiwiXzB4NTBhZjM3IiwiXzB4MzZlOTAwIiwiXzB4MWM4ZGU3IiwiXzB4MjA4OTgyIiwiXzB4Mjk1MzI2IiwiXzB4MWE2YmVjIiwiXzB4M2JlZGVmIiwiXzB4MmNhMTZlIiwiXzB4YTQ0NzIxIiwiXzB4MTQ2N2RhIiwiXzB4NTNmYzQzIiwiXzB4MzE5NDAyIiwiXzB4MzRjZmI3IiwiXzB4MmYxZDZkIiwiXzB4M2VlZGEwIiwiXzB4NWVmNGQyIiwiXzB4MTU0NDdiIiwiXzB4MWI3NDczIiwiXzB4NWIwMGJjIiwiXzB4MjE5OWYwIiwiXzB4M2MzMjg2IiwiXzB4NGI5NjdjIiwiXzB4MWUxYWVhIiwic2VjdXJpdHlNb2RlIiwiXzB4NGJlNmQzIiwic2VjdXJpdHlQb2xpY3kiLCJfMHg3NGI0ZWQiLCJ1c2VySWRlbnRpdHlUeXBlIiwiXzB4MzAyZjE1IiwiY3JlZGVudGlhbHMiLCJfMHgyNDE0YzgiLCJuYW1lc3BhY2VBbGlhc2VzIiwiXzB4MTEwMTMyIiwiXzB4M2U2Y2YyIiwiXzB4MjJkYjk5IiwiXzB4MmMyMzA1IiwiXzB4MTM3OGM0IiwiXzB4NDI1NTFmIiwiXzB4MjliMzk1IiwiXzB4M2Y3MTgwIiwiXzB4MzA3Mjc4IiwiXzB4NWM3OWI3IiwiXzB4NGY3YzVhIiwiXzB4NWM0OGY1IiwiXzB4MTg2NzJlIiwiXzB4NDYyN2RlIiwiXzB4MWU0ZmIyIiwiXzB4MWU4OTI0IiwiXzB4MzFiMjA1IiwiXzB4MzcxM2EyIiwiXzB4NTk4Zjk2Il0sIm1hcHBpbmdzIjoid3dMQUFBLENBQUMsVSxDQUNHLGEsd0JBbUJBLFNBQVNBLFNBQVQsQ0FBbUJDLFNBQW5CLENBQTRCQyxTQUE1QixDQUF3Q0MsU0FBeEMsQ0FBMkNDLFNBQTNDLEMsQ0FDSSxTQUFTQyxTQUFULENBQWVDLFNBQWYsQyxRQUErQkEsU0FBQSxZQUFpQkgsU0FBakIsQ0FBcUJHLFNBQXJCLENBQTZCLElBQUlILFNBQUosQ0FBTSxTQUFVSSxTQUFWLEMsQ0FBcUJBLFNBQUEsQ0FBUUQsU0FBUixDLEVBQTNCLEMsU0FDckQsR0FBSyxDQUFBSCxTQUFBLEVBQU0sQ0FBQUEsU0FBQSxDQUFJSyxPQUFKLENBQU4sQ0FBTCxDQUF5QixTQUFVQyxT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Q3JCK0wsUyxFQUNBL0wsQ0FBQSxDLGdCQUFBLEUsS0FBQSxFQUFzQytMLFNBQUEsQyxHQUFBLEMsR0FBdEMsQyxDQUNBLEssZ0JBQUEsRUFBY0EsU0FBQSxDLEdBQUEsQyxNQUdkL0wsQ0FBQSxDLGdCQUFBLEUsS0FBQSxFLEdBQUEsQyxDQUNBLEssZ0JBQUEsRSxNQTFFb0MsQ0FBaEQsQyxFQW5sQ0osRyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAoKSB7XG4gICAgJ3VzZSBzdHJpY3QnO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG4gICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG4gICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG4gICAgUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbiAgICBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuICAgIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcbiAgICBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuICAgIC8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlLCBTdXBwcmVzc2VkRXJyb3IsIFN5bWJvbCwgSXRlcmF0b3IgKi9cclxuXHJcblxyXG4gICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XHJcbiAgICAgICAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcclxuICAgIH07XG5cbiAgICBjb25zdCBPcmdhbml6ZXNSZWZOb2RlSWQgPSBcIm5zPTA7aT0zNVwiO1xuICAgIGNvbnN0IEZvbGRlclR5cGUgPSBcIm5zPTA7aT02MVwiO1xuICAgIGNvbnN0IEhhc0NvbXBvbmVudFJlZk5vZGVJZCA9IFwibnM9MDtpPTQ3XCI7XG4gICAgY29uc3QgSGFzUHJvcGVydHlSZWZOb2RlSWQgPSBcIm5zPTA7aT00NlwiO1xuICAgIGNvbnN0IEhhc0NoaWxkUmVmTm9kZUlkID0gXCJucz0wO2k9MzRcIjtcbiAgICBjb25zdCBIYXNTdWJ0eXBlUmVmTm9kZUlkID0gXCJucz0wO2k9NDVcIjtcbiAgICBjb25zdCBIYXNUeXBlRGVmaW5pdGlvblJlZk5vZGVJZCA9IFwibnM9MDtpPTQwXCI7XG5cbiAgICB2YXIgQnJvd3NlRGlyZWN0aW9uO1xuICAgIChmdW5jdGlvbiAoQnJvd3NlRGlyZWN0aW9uKSB7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJGb3J3YXJkXCJdID0gMF0gPSBcIkZvcndhcmRcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkludmVyc2VcIl0gPSAxXSA9IFwiSW52ZXJzZVwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiQm90aFwiXSA9IDJdID0gXCJCb3RoXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJJbnZhbGlkXCJdID0gM10gPSBcIkludmFsaWRcIjtcbiAgICB9KShCcm93c2VEaXJlY3Rpb24gfHwgKEJyb3dzZURpcmVjdGlvbiA9IHt9KSk7XG4gICAgdmFyIE5vZGVDbGFzcztcbiAgICAoZnVuY3Rpb24gKE5vZGVDbGFzcykge1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVW5zcGVjaWZpZWRcIl0gPSAwXSA9IFwiVW5zcGVjaWZpZWRcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk9iamVjdFwiXSA9IDFdID0gXCJPYmplY3RcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlZhcmlhYmxlXCJdID0gMl0gPSBcIlZhcmlhYmxlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJNZXRob2RcIl0gPSA0XSA9IFwiTWV0aG9kXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJPYmplY3RUeXBlXCJdID0gOF0gPSBcIk9iamVjdFR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlZhcmlhYmxlVHlwZVwiXSA9IDE2XSA9IFwiVmFyaWFibGVUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJSZWZlcmVuY2VUeXBlXCJdID0gMzJdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJEYXRhVHlwZVwiXSA9IDY0XSA9IFwiRGF0YVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlZpZXdcIl0gPSAxMjhdID0gXCJWaWV3XCI7XG4gICAgfSkoTm9kZUNsYXNzIHx8IChOb2RlQ2xhc3MgPSB7fSkpO1xuICAgIHZhciBOb2RlQ2xhc3NNYXNrO1xuICAgIChmdW5jdGlvbiAoTm9kZUNsYXNzTWFzaykge1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJPYmplY3RcIl0gPSAxXSA9IFwiT2JqZWN0XCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlZhcmlhYmxlXCJdID0gMl0gPSBcIlZhcmlhYmxlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk1ldGhvZFwiXSA9IDRdID0gXCJNZXRob2RcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiT2JqZWN0VHlwZVwiXSA9IDhdID0gXCJPYmplY3RUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlZhcmlhYmxlVHlwZVwiXSA9IDE2XSA9IFwiVmFyaWFibGVUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAzMl0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiRGF0YVR5cGVcIl0gPSA2NF0gPSBcIkRhdGFUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlZpZXdcIl0gPSAxMjhdID0gXCJWaWV3XCI7XG4gICAgfSkoTm9kZUNsYXNzTWFzayB8fCAoTm9kZUNsYXNzTWFzayA9IHt9KSk7XG4gICAgdmFyIFJlc3VsdE1hc2s7XG4gICAgKGZ1bmN0aW9uIChSZXN1bHRNYXNrKSB7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAxXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJJc0ZvcndhcmRcIl0gPSAyXSA9IFwiSXNGb3J3YXJkXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIk5vZGVDbGFzc1wiXSA9IDRdID0gXCJOb2RlQ2xhc3NcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiQnJvd3NlTmFtZVwiXSA9IDhdID0gXCJCcm93c2VOYW1lXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIkRpc3BsYXlOYW1lXCJdID0gMTZdID0gXCJEaXNwbGF5TmFtZVwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJUeXBlRGVmaW5pdGlvblwiXSA9IDMyXSA9IFwiVHlwZURlZmluaXRpb25cIjtcbiAgICB9KShSZXN1bHRNYXNrIHx8IChSZXN1bHRNYXNrID0ge30pKTtcbiAgICAvLyAgY29uc3QgcSA9IFJlZmVyZW5jZVR5cGVJZHMuT3JnYW5pemVzO1xuICAgIGZ1bmN0aW9uIHJlc29sdmVOb2RlSWQobm9kZUlkTGlrZSkge1xuICAgICAgICBzd2l0Y2ggKG5vZGVJZExpa2UpIHtcbiAgICAgICAgICAgIGNhc2UgXCJPcmdhbml6ZXNcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gT3JnYW5pemVzUmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc1Byb3BlcnR5XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1Byb3BlcnR5UmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc0NvbXBvbmVudFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNDb21wb25lbnRSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzQ2hpbGRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzQ2hpbGRSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzU3VidHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNTdWJ0eXBlUmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc1R5cGVEZWZpbml0aW9uXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1R5cGVEZWZpbml0aW9uUmVmTm9kZUlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZ2V0SWNvbiA9IChyZWZlcmVuY2UpID0+IHtcbiAgICAgICAgc3dpdGNoIChyZWZlcmVuY2Uubm9kZUNsYXNzKSB7XG4gICAgICAgICAgICBjYXNlIFwiT2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IE9yZ2FuaXplc1JlZk5vZGVJZCkgO1xuICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UudHlwZURlZmluaXRpb24gPT09IEZvbGRlclR5cGUgfHwgcmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gXCJpPTYxXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1mb2xkZXJcIiwgY29sb3I6IFwicmdiYSg2MSwgNjAsIDQsIDAuNTI1KVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtb2JqZWN0LWdyb3VwXCIsIGNvbG9yOiBcIlNlYUdyZWVuXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJWYXJpYWJsZVwiOlxuICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBIYXNDb21wb25lbnRSZWZOb2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1saXN0LWFsdFwiLCBjb2xvcjogXCJTdGVlbEJsdWVcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBIYXNQcm9wZXJ0eVJlZk5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIkRvZGdlckJsdWVcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1saXN0LWFsdFwiLCBjb2xvcjogXCJDYWRldEJsdWVcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJNZXRob2RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWNvZ1wiLCBjb2xvcjogXCJTYW5keUJyb3duXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJPYmplY3RUeXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1vYmplY3QtZ3JvdXBcIiwgY29sb3I6IFwiRGFya09yYW5nZVwiIH07XG4gICAgICAgICAgICBjYXNlIFwiVmFyaWFibGVUeXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1zbGlkZXJzXCIsIGNvbG9yOiBcIkRhcmtPcmFuZ2VcIiB9O1xuICAgICAgICAgICAgY2FzZSBcIkRhdGFUeXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS10ZXh0LXdpZHRoXCIsIGNvbG9yOiBcIkNhZGV0Qmx1ZVwiIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1xdWVzdGlvblwiLCBjb2xvcjogXCJncmV5XCIgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgYnJvd3NlID0gKF9hLCBub2RlSWRfMSwgdGVtcGxhdGVfMSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBub2RlSWRfMSwgdGVtcGxhdGVfMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgbm9kZUlkLCB0ZW1wbGF0ZSkge1xuICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZm9yLW5vZGUtcmVkYDtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vYnJvd3NlYDtcbiAgICAgICAgY29uc3QgYnJvd3NlRGVzY3JpcHRpb24gPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRlbXBsYXRlKSwgeyBub2RlSWQsIHJlc3VsdE1hc2s6IDYzIH0pO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBicm93c2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2hpbmcgZmFpbGVkIHdpdGggZXJyb3JcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgICAgICByZXR1cm4geyByZWZlcmVuY2VzOiBbXSB9O1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiYnJvd3NlIGZldGNoZWQgOiBcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0geWllbGQgZGF0YS5qc29uKCk7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSByZXNwb25zZS5icm93c2VSZXN1bHQucmVmZXJlbmNlcyB8fCBbXTtcbiAgICAgICAgcmV0dXJuIHsgcmVmZXJlbmNlcyB9O1xuICAgIH0pO1xuXG4gICAgY29uc3QgdGVtcGxhdGUxID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJIYXNDaGlsZFwiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuVmFyaWFibGUgfCBOb2RlQ2xhc3MuT2JqZWN0IHwgTm9kZUNsYXNzLk1ldGhvZCxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5PYmplY3RUeXBlIHxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5WYXJpYWJsZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5EYXRhVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5WaWV3LFxuICAgICAgICByZXN1bHRNYXNrOiA2MyxcbiAgICB9O1xuICAgIGNvbnN0IHRlbXBsYXRlMiA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiT3JnYW5pemVzXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5WYXJpYWJsZSB8IE5vZGVDbGFzcy5PYmplY3QgfCBOb2RlQ2xhc3MuTWV0aG9kLFxuICAgICAgICAvLyAgTm9kZUNsYXNzLk9iamVjdFR5cGUgfFxuICAgICAgICAvLyAgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLkRhdGFUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlZpZXcsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgY29uc3Qgd2Fsa0JhY2t3YXJkID0gKF9hLCBfYikgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBfYl0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgeyBub2RlSWQsIHJvb3ROb2RlSWQsIGlzVHlwZSB9KSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS93YWxrLWJhY2t3YXJkYDtcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgICAgIHJvb3ROb2RlSWQsXG4gICAgICAgICAgICAgICAgaXNUeXBlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbiA9ICh5aWVsZCBkYXRhLmpzb24oKSk7XG4gICAgICAgIHJldHVybiBqc29uLmJyb3dzZVBhdGg7XG4gICAgfSk7XG4gICAgY29uc3QgY2hvb3NlTm9kZUlkID0gKGRhdGEsIG1vZGUpID0+IHtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzQ29kZSAhPT0gXCJHb29kXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhLnJlcXVlc3RlZE5vZGVJZDtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuYnBfaW5kZXhlZDtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkQnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLmJwX2FsaWFzZWQgfHwgZGF0YS5icF9pbmRleGVkO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWROb2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWRfYWxpYXNlZCB8fCBkYXRhLm5vZGVJZF9uc3U7XG4gICAgICAgICAgICBjYXNlIFwibnN1Tm9kZUlEXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEubm9kZUlkX25zdTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjYXNlIFwibm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEubm9kZUlkO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBtYWtlVG9vbHRpcCA9IChkYXRhKSA9PiB7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1c0NvZGUgIT09IFwiR29vZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gYHN0YXR1c0NvZGU6ICR7ZGF0YS5zdGF0dXNDb2RlfWA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsZXQgc3RyID0gW107XG4gICAgICAgICAgICBzdHIucHVzaChgbm9kZUlkOiAke2RhdGEubm9kZUlkfWApO1xuICAgICAgICAgICAgc3RyLnB1c2goYGJyb3dzZSBwYXRoOiAke2RhdGEuYnBfaW5kZXhlZH1gKTtcbiAgICAgICAgICAgIHN0ci5wdXNoKGBub2RlIGNsYXNzOiAke05vZGVDbGFzc1tkYXRhLm5vZGVDbGFzc119YCk7XG4gICAgICAgICAgICBpZiAoZGF0YS5ub2RlSWRfbnN1KSB7XG4gICAgICAgICAgICAgICAgc3RyLnB1c2goYG5zdSBub2RlSWQ6ICR7ZGF0YS5ub2RlSWRfbnN1fWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGEubm9kZUlkX2FsaWFzZWQpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgYWxpYXNlZCBOb2RlSWQ6ICR7ZGF0YS5ub2RlSWRfYWxpYXNlZH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRhLmJwX2luZGV4ZWQpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgYWxpYXNlZCBicm93c2VQYXRoOiAke2RhdGEuYnBfYWxpYXNlZH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHIuam9pbihcIlxcblwiKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZnVuY3Rpb24gZmlndXJlT3V0TW9kZShlbmhhbmNlZE5vZGVJZCkge1xuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL15uc3U9LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcIm5zdU5vZGVJRFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXihucz0uKjspPyhpfGJ8c3xnKT0vKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwibm9kZUlkXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9ebnNhPS8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJhbGlhc2VkTm9kZUlkXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKFxcL3xcXC4pWzAtOV0rOi8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJicm93c2VQYXRoXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKFxcL3xcXC4pLio6LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBmaWd1cmVPdXRNZW5VSXRlbVZhbHVlKHN0cikge1xuICAgICAgICBjb25zdCBtb2RlID0gZmlndXJlT3V0TW9kZShzdHIpO1xuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJub2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZE5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5hXCI7XG4gICAgICAgICAgICBjYXNlIFwibnN1Tm9kZUlEXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibnN1XCI7XG4gICAgICAgICAgICBjYXNlIFwiYnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImJcIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkQnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImFiXCI7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBcInRcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiB0b01vZGUodikge1xuICAgICAgICBsZXQgbW9kZTtcbiAgICAgICAgc3dpdGNoICh2KSB7XG4gICAgICAgICAgICBjYXNlIFwiblwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5vZGVJZFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIm5hXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwiYWxpYXNlZE5vZGVJZFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIm5zdVwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5zdU5vZGVJRFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImJcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJicm93c2VQYXRoXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiYWJcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJhbGlhc2VkQnJvd3NlUGF0aFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtb2RlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmcm9tTW9kZShtb2RlKSB7XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcIm5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkTm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibmFcIjtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuc3VcIjtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYlwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYWJcIjtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwidFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IF9jYWxsQ2hlY2tOb2RlSWQgPSAoX2EsIG5vZGVJZF8xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG5vZGVJZF8xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBub2RlSWQpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2NoZWNrTm9kZUlkYDtcbiAgICAgICAgY29uc3QgZUlkID0gZW5kcG9pbnROb2RlLmlkO1xuICAgICAgICBjb25zdCBuID0gUkVELm5vZGVzLm5vZGUoZUlkKTtcbiAgICAgICAgY29uc29sZS5sb2cobi5uYW1lc3BhY2VBbGlhc2VzKTtcbiAgICAgICAgbi5uYW1lc3BhY2VBbGlhc2VzO1xuICAgICAgICBjb25zdCBuYW1lc3BhY2VBbGlhc2VzID0gZW5kcG9pbnROb2RlLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgICAgICBuYW1lc3BhY2VBbGlhc2VzLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBqc29uID0gKHlpZWxkIGRhdGEuanNvbigpKTtcbiAgICAgICAgcmV0dXJuIHsganNvbiwgZGF0YSB9O1xuICAgIH0pO1xuICAgIGNvbnN0IGludGVybmFsVmVyaWZ5ID0gKF9hLCBtb2RlXzEsICRpbnB1dEVsZW1lbnRfMSwgJGluZm9fMSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBtb2RlXzEsICRpbnB1dEVsZW1lbnRfMSwgJGluZm9fMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgbW9kZSwgJGlucHV0RWxlbWVudCwgJGluZm8pIHtcbiAgICAgICAgY29uc3QgZW5oYW5jZWROb2RlSWQgPSAkaW5wdXRFbGVtZW50LnZhbCgpO1xuICAgICAgICBjb25zdCB7IGpzb24sIGRhdGEgfSA9IHlpZWxkIF9jYWxsQ2hlY2tOb2RlSWQoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIGVuaGFuY2VkTm9kZUlkKTtcbiAgICAgICAgY29uc3Qgc2V0Tm90aWZpY2F0aW9uID0gKHRleHQsIGNsYXNzTmFtZSkgPT4ge1xuICAgICAgICAgICAgJGluZm8udGV4dCh0ZXh0KS5hZGRDbGFzcyhcInN0ZXJmaXZlLWluZm9cIikuYWRkQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICRpbmZvLnNob3coKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICRpbmZvLnJlbW92ZUNsYXNzKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgJGluZm8uaGlkZSgpO1xuICAgICAgICAgICAgfSwgMzAwMCk7XG4gICAgICAgIH07XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICAvLyBkbyBzb21ldGhpbmc7XG4gICAgICAgICAgICBzZXROb3RpZmljYXRpb24oXCIhIWZhaWx1cmUhIVwiICsgZW5oYW5jZWROb2RlSWQsIFwiZmFpbHVyZVwiKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChqc29uLnN0YXR1c0NvZGUubWF0Y2goL0dvb2QvKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvb2x0aXAgPSBtYWtlVG9vbHRpcChqc29uKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LmF0dHIoXCJ0aXRsZVwiLCB0b29sdGlwKTtcbiAgICAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmdcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVJZCA9IGNob29zZU5vZGVJZChqc29uLCBtb2RlKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnZhbChzZWxlY3RlZE5vZGVJZCk7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihcIkdvb2RcIiwgXCJva1wiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQudmFsKGAke2VuaGFuY2VkTm9kZUlkfWApO1xuICAgICAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihgJHtqc29uLnN0YXR1c0NvZGV9ICR7ZGF0YS5zdGF0dXNUZXh0fWAsIFwiZmFpbHVyZVwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBmdW5jdGlvbiBmZXRjaENoaWxkcmVuKCRub2RlLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlSWQgPSAkbm9kZS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQxID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGUxKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDIgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZTIpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbLi4uYnJvd3NlUmVzdWx0MS5yZWZlcmVuY2VzLCAuLi5icm93c2VSZXN1bHQyLnJlZmVyZW5jZXNdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHRlbXBsYXRlU1QgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIkhhc1N1YnR5cGVcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfCBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8IE5vZGVDbGFzcy5EYXRhVHlwZSB8IE5vZGVDbGFzcy5WYXJpYWJsZVR5cGUsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgZnVuY3Rpb24gZmV0Y2hTdWJ0eXBlcygkbm9kZSwgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZUlkID0gJG5vZGUuZGF0YShcInZhbHVlXCIpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MSA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlU1QpO1xuICAgICAgICAgICAgcmV0dXJuIGJyb3dzZVJlc3VsdDE7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBtYWtlRWxlbWVudCA9IChyZWZlcmVuY2UpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICAgICAgICBpZiAoIXJlZmVyZW5jZSB8fCAhcmVmZXJlbmNlLm5vZGVJZCkge1xuICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSAkKGA8bGk+PGkgY2xhc3M9XCJmYSBmYS1lcnJvclwiIHN0eWxlPVwiY29sb3I6cmVkO1wiPjwvaT5ubyByZWZlcmVuY2UgITx1bD48L3VsPjwvbGk+YCk7XG4gICAgICAgICAgICByZXR1cm4gJGVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbiA9IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgdCA9ICgoX2EgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50ZXh0KSB8fCAoKF9iID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHsgaWNvbiwgY29sb3IgfSA9IGdldEljb24ocmVmZXJlbmNlKTtcbiAgICAgICAgY29uc3QgdGl0bGUgPSBgKCR7cmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpfSkgJHsoKF9jID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5uYW1lKSB8fCAoKF9kID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QudGV4dCkgfHwgXCJcIn1gO1xuICAgICAgICBjb25zdCAkZWxlbWVudCA9ICQoYDxsaSBrZXk9XCIke3JlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKX1cIn0+PHNwYW4gY2xhc3M9XCJ0cmVlLXRleHRcIiB0aXRsZT0ke3RpdGxlfT48aSBjbGFzcz1cImZhICR7aWNvbn1cIiBzdHlsZT1cImNvbG9yOiR7Y29sb3J9O1wiPjwvaT4gJHt0fTwvc3Bhbj48dWw+PC91bD48L2xpPmApO1xuICAgICAgICAkZWxlbWVudC5hZGRDbGFzcyhcImV4cGFuZGFibGVcIik7XG4gICAgICAgICRlbGVtZW50LmRhdGEoXCJ2YWx1ZVwiLCBuKTtcbiAgICAgICAgJGVsZW1lbnQuZGF0YShcInJlZmVyZW5jZVwiLCByZWZlcmVuY2UpO1xuICAgICAgICByZXR1cm4gJGVsZW1lbnQ7XG4gICAgfTtcbiAgICBjb25zdCBmaW5kRWxlbWVudCA9IChub2RlSWQsICR0cmVlKSA9PiB7XG4gICAgICAgIHJldHVybiAkdHJlZS5maW5kKGBsaVtrZXk9XCIke25vZGVJZH1cIl1gKTtcbiAgICB9O1xuICAgIGNvbnN0IHNlbGVjdFNpbmdsZSA9ICh0aGF0LCAkbGkpID0+IHtcbiAgICAgICAgdGhhdC4kdHJlZS5maW5kKFwibGkgPiAudHJlZS10ZXh0XCIpLnJlbW92ZUNsYXNzKFwic2VsZWN0ZWRcIik7XG4gICAgICAgIC8vIGNsZWFyIGFsbCBzZWxlY3RlZCBpdGVtc1xuICAgICAgICAkbGkuZmluZChcIi50cmVlLXRleHQ6Zmlyc3RcIikuYWRkQ2xhc3MoXCJzZWxlY3RlZFwiKTtcbiAgICB9O1xuICAgIGNvbnN0IGF1dG9FeHBhbmQgPSAodGhhdCwgYnJvd3NlUGF0aCwgJHRyZWUpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAvLyBleHBhbmQgdGhlIHRyZWUgdG8gc2hvdyB0aGUgbm9kZUlkXG4gICAgICAgIGxldCAkY3VycmVudCA9ICR0cmVlLmNoaWxkcmVuKFwiOmZpcnN0XCIpO1xuICAgICAgICBicm93c2VQYXRoLnJlbGF0aXZlUGF0aC5lbGVtZW50cyB8fCBbXTtcbiAgICAgICAgY29uc3Qgbm9kZUlkcyA9IGJyb3dzZVBhdGgubm9kZUlkcyB8fCBbXTtcbiAgICAgICAgaWYgKG5vZGVJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBuIG9mIG5vZGVJZHMpIHtcbiAgICAgICAgICAgIGlmICgkY3VycmVudC5oYXNDbGFzcyhcImV4cGFuZGFibGVcIikpIHtcbiAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIGV4cGFuZCBhbmQgc2VsZWN0IHRoZSByaWdodCBlbGVtZW50XG4gICAgICAgICAgICAgICAgeWllbGQgX2V4cGFuZExpKHRoYXQsICRjdXJyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gZmluZEVsZW1lbnQobiwgJGN1cnJlbnQpO1xuICAgICAgICAgICAgaWYgKCRlbGVtZW50Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRjdXJyZW50ID0gJGVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgc2VsZWN0U2luZ2xlKHRoYXQsICRjdXJyZW50KTtcbiAgICAgICAgc2Nyb2xsVG9MaSh0aGF0LiRkcm9wZG93biwgJGN1cnJlbnQpO1xuICAgIH0pO1xuICAgIGZ1bmN0aW9uIHNjcm9sbFRvTGkoJGNvbnRhaW5lciwgJHRhcmdldExpKSB7XG4gICAgICAgIC8vIEdldCB0aGUgcG9zaXRpb24gb2YgdGhlIHRhcmdldCBpdGVtIHJlbGF0aXZlIHRvIGl0cyBjb250YWluZXJcbiAgICAgICAgY29uc3QgbGlQb3MgPSAkdGFyZ2V0TGkucG9zaXRpb24oKS50b3A7XG4gICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBzY3JvbGwgcG9zaXRpb24gb2YgdGhlIGNvbnRhaW5lclxuICAgICAgICBjb25zdCBjb250YWluZXJTY3JvbGxUb3AgPSAkY29udGFpbmVyLnNjcm9sbFRvcCgpO1xuICAgICAgICBpZiAoY29udGFpbmVyU2Nyb2xsVG9wID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgcG9zaXRpb24gdG8gc2Nyb2xsIHRvIChjdXJyZW50IHNjcm9sbCArIGl0ZW0ncyBwb3NpdGlvbilcbiAgICAgICAgLy8gQWRqdXN0IHRoaXMgY2FsY3VsYXRpb24gYmFzZWQgb24geW91ciBuZWVkc1xuICAgICAgICBjb25zdCBzY3JvbGxUbyA9IGNvbnRhaW5lclNjcm9sbFRvcCArIGxpUG9zIC0gJGNvbnRhaW5lci5oZWlnaHQoKSAvIDIgKyAkdGFyZ2V0TGkuaGVpZ2h0KCkgLyAyO1xuICAgICAgICAvLyBTY3JvbGwgdGhlIGNvbnRhaW5lciB0byBlbnN1cmUgdGhlIGl0ZW0gaXMgdmlzaWJsZVxuICAgICAgICAkY29udGFpbmVyLmFuaW1hdGUoe1xuICAgICAgICAgICAgc2Nyb2xsVG9wOiBzY3JvbGxUbyxcbiAgICAgICAgfSwgNTAwKTsgLy8gQWRqdXN0IHRoZSBkdXJhdGlvbiAoNTAwbXMpIGFzIG5lZWRlZFxuICAgIH1cbiAgICBjb25zdCByZWFjaFNlbGVjdGlvbiA9ICh0aGF0LCBwYXJlbnROb2RlKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgY29uc3Qgbm9kZUlkID0gdGhhdC4kaW5wdXQudmFsKCk7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICByb290Tm9kZUlkOiBwYXJlbnROb2RlLm5vZGVJZCxcbiAgICAgICAgICAgIGlzVHlwZTogdGhhdC5vcHRpb25zLmlzVHlwZVJlZiB8fCBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICBjb25zdCBicm93c2VQYXRoID0geWllbGQgd2Fsa0JhY2t3YXJkKGRhdGEsIG9wdGlvbnMpO1xuICAgICAgICBpZiAoIWJyb3dzZVBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB5aWVsZCBhdXRvRXhwYW5kKHRoYXQsIGJyb3dzZVBhdGgsIHRoYXQuJHRyZWUpO1xuICAgIH0pO1xuICAgIGZ1bmN0aW9uIF9mZXRjaERhdGFGb3JOb2RlKHRoYXQsICRub2RlLCBmZXRjaEZ1bmMsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGlmICgkbm9kZS5oYXNDbGFzcyhcImZldGNoZWRcIikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImFscmVhZHkgZmV0Y2hlZFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoJG5vZGUuaGFzQ2xhc3MoXCJsb2FkaW5nXCIpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJhbHJlYWR5IGxvYWRpbmdcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJG5vZGUuYWRkQ2xhc3MoXCJsb2FkaW5nXCIpO1xuICAgICAgICAgICAgJG5vZGUuYXBwZW5kKCc8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPjwvZGl2PicpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAkbm9kZS5jaGlsZHJlbihcInVsXCIpLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgeyByZWZlcmVuY2VzIH0gPSB5aWVsZCBmZXRjaEZ1bmMoJG5vZGUsIGRhdGEpO1xuICAgICAgICAgICAgICAgIC8vIHNvcnQgcmVmZXJlbmNlICAgYnkgYnJvd3NlTmFtZVxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXMuc29ydCgoYSwgYikgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKCgoX2EgPSBhLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5uYW1lKSB8fCBcIlwiKS5sb2NhbGVDb21wYXJlKCgoX2IgPSBiLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCBcIlwiKTsgfSk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCByZWZlcmVuY2Ugb2YgcmVmZXJlbmNlcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5vcHRpb25zLmZpbHRlciAmJiAhdGhhdC5vcHRpb25zLmZpbHRlcihyZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IG1ha2VFbGVtZW50KHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJG5vZGUuYWRkQ2xhc3MoXCJmZXRjaGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKGA8bGk+ZXJyb3IgJHtlcnIubWVzc2FnZX08L2xpPmApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5maW5kKFwiLnNwaW5uZXJcIikucmVtb3ZlKCk7XG4gICAgICAgICAgICAkbm9kZS5yZW1vdmVDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBtYWtlQ29ubmVjdGlvbih0aGF0KSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICBiYXNlVXJsOiB0aGF0Lm9wdGlvbnMuYmFzZVVybCxcbiAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUoKSA6IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUsXG4gICAgICAgICAgICBlbmRwb2ludDogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludCA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLmVuZHBvaW50KCkgOiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICBmdW5jdGlvbiBfZXhwYW5kTGkodGhhdCwgJGxpKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoJGxpLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICBjb25zdCBmID0gIXRoYXQub3B0aW9ucy5pc1R5cGVSZWYgPyBmZXRjaENoaWxkcmVuIDogZmV0Y2hTdWJ0eXBlcztcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgeWllbGQgX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJGxpLCBmLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAvLyBtYXJrIGFzIGV4cGFuZGVkXG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0UGFyZW50Tm9kZSA9IHtcbiAgICAgICAgYnJvd3NlTmFtZTogeyBuYW1lc3BhY2VJbmRleDogMCwgbmFtZTogXCJPYmplY3RzXCIgfSxcbiAgICAgICAgbm9kZUNsYXNzOiBcIk9iamVjdFwiLFxuICAgICAgICBub2RlSWQ6IFwibnM9MDtpPTg1XCIsXG4gICAgICAgIGRpc3BsYXlOYW1lOiB7IHRleHQ6IFwiT2JqZWN0c1wiIH0sXG4gICAgICAgIHR5cGVEZWZpbml0aW9uOiBGb2xkZXJUeXBlLFxuICAgIH07XG4gICAgY29uc3QgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogWyBUZW1wZXJhdHVyZSAgXVxuICAgICAgICAgKiAgICggdG9vbHRpcCA6ICgvT2JqZWN0cy9NeVNlbnNvcikgKG5zPTE7cz1UZW1wZXJhdHVyZSkpXG4gICAgICAgICAqIFsgKyBbRm9sZGVyXSBPYmplY3RzXVxuICAgICAgICAgKiBbICAgICBbT2JqZWN0XSBNeVNlbnNvcl1cbiAgICAgICAgICogWyAgICAgKCApIFtWYXJpYWJsZV0gVGVtcGVyYXR1cmVdXG4gICAgICAgICAqL1xuICAgICAgICAkLndpZGdldChcInN0ZXJmaXZlLm5vZGVCcm93c2VyXCIsIHtcbiAgICAgICAgICAgIC8qIGRlZmF1bHQgb3B0aW9ucyAqL1xuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogKCkgPT4gKHsgZW5kcG9pbnQ6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDNcIiB9KSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludDogKCkgPT4gdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHBhcmVudE5vZGU6ICgpID0+IGRlZmF1bHRQYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgICAgIGlzVHlwZVJlZjogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzb2x2ZVBhcmVudE5vZGUoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Ll9fcGFyZW50Tm9kZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB0eXBlb2YgdGhhdC5vcHRpb25zLnBhcmVudE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5wYXJlbnROb2RlLmNhbGwodGhhdCkgOiB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlc2MgPSB5aWVsZCBhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gZGVzYztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhhdC5fX3BhcmVudE5vZGUgfHwgZGVmYXVsdFBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzZXQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFsc28gcmVzZXQgcGFyZW50IG5vZGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IHRoYXQ7XG4gICAgICAgICAgICAgICAgICAgIGEuX19wYXJlbnROb2RlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSB5aWVsZCB0aGlzLnJlc29sdmVQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gbWFrZUVsZW1lbnQocGFyZW50Tm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5jdXJyZW50UGFyZW50ID0gcGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2ZXJpZnkobW9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIC8vIEZldGNoIG5ldyBkYXRhIGZvciB0aGlzIG5vZGVcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICAgICAgaW50ZXJuYWxWZXJpZnkoZGF0YSwgbW9kZSwgdGhhdC4kaW5wdXQsIHRoYXQuJGluZm8pLnRoZW4oKHN1Y2Nlc3MpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hZGRDbGFzcyhcInN0ZXJmaXZlLWlucHV0LWVycm9yXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kY29tYm8ucmVtb3ZlQ2xhc3MoXCJzdGVyZml2ZS1pbnB1dC1lcnJvclwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9oaWRlTWVudShtZW51KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgJChkb2N1bWVudCkub2ZmKFwibW91c2Vkb3duLnJlZC11aS10eXBlZElucHV0LWNsb3NlLXByb3BlcnR5LXNlbGVjdFwiKTtcbiAgICAgICAgICAgICAgICBtZW51LmhpZGUoKTtcbiAgICAgICAgICAgICAgICBtZW51LmNzcyh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCJhdXRvXCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKG1lbnUub3B0cy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWQgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgbWVudS5maW5kKCdpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0nKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnByb3AoXCJjaGVja2VkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQucHVzaCgkKHRoaXMpLmRhdGEoXCJ2YWx1ZVwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBtZW51LmNhbGxiYWNrKHNlbGVjdGVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoYXQuJGVsZW1lbnREaXYuaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIC8veHggfSBlbHNlIGlmICh0aGlzLiRvcHRpb25TZWxlY3RUcmlnZ2VyLmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgLy94eCAgICAgdGhhdC4kb3B0aW9uU2VsZWN0VHJpZ2dlci50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZU1lbnUobWVudU9wdGlvbnMsIG9wdHMsIGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lbnUgPSAkKFwiPGRpdj5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS10eXBlZElucHV0LW9wdGlvbnMgc3RlcmZpdmUtb25saW5lLW1lbnVcIik7XG4gICAgICAgICAgICAgICAgbWVudS5vcHRzID0gb3B0cztcbiAgICAgICAgICAgICAgICBtZW51LmNhbGxiYWNrID0gY2FsbGJhY2s7XG4gICAgICAgICAgICAgICAgbWVudU9wdGlvbnMuZm9yRWFjaCgob3B0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHQgPSB7IHZhbHVlOiBvcHQsIGxhYmVsOiBvcHQgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YXIgb3AgPSAkKCc8YSBocmVmPVwiI1wiPjwvYT4nKS5hdHRyKFwidmFsdWVcIiwgb3B0LnZhbHVlKS5hcHBlbmRUbyhtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AudGV4dChvcHQubGFiZWwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHQudGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLnByb3AoXCJ0aXRsZVwiLCBvcHQudGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHQuaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5pY29uLmluZGV4T2YoXCI8XCIpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChvcHQuaWNvbikucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKG9wdC5pY29uLmluZGV4T2YoXCIvXCIpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCI8aT5cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogXCJyZWQtdWktdHlwZWRJbnB1dC1pY29uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBcIm1hc2staW1hZ2U6IHVybChcIiArIG9wdC5pY29uICsgXCIpOyAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIiArIG9wdC5pY29uICsgXCIpO1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLnByZXBlbmRUbyhvcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiPGk+XCIsIHsgY2xhc3M6IFwicmVkLXVpLXR5cGVkSW5wdXQtaWNvbiBcIiArIG9wdC5pY29uIH0pLnByZXBlbmRUbyhvcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC5jc3MoeyBwYWRkaW5nTGVmdDogXCIxOHB4XCIgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHQuaWNvbiAmJiAhb3B0LmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC50ZXh0KG9wdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFyIGNiO1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2IgPSAkKCc8aW5wdXQgdHlwZT1cImNoZWNrYm94XCI+JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY3NzKFwicG9pbnRlci1ldmVudHNcIiwgXCJub25lXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRhdGEoXCJ2YWx1ZVwiLCBvcHQudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByZXBlbmRUbyhvcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAub24oXCJtb3VzZWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgb3Aub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0cy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKG9wdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5faGlkZU1lbnUobWVudSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYi5wcm9wKFwiY2hlY2tlZFwiLCAhY2IucHJvcChcImNoZWNrZWRcIikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtZW51LmNzcyh7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUub24oXCJrZXlkb3duXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2dC5rZXlDb2RlID09PSA0MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBET1dOXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmNoaWxkcmVuKFwiOmZvY3VzXCIpLm5leHQoKS50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZXZ0LmtleUNvZGUgPT09IDM4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVQXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmNoaWxkcmVuKFwiOmZvY3VzXCIpLnByZXYoKS50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZXZ0LmtleUNvZGUgPT09IDI3KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFU0NBUEVcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5faGlkZU1lbnUobWVudSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBtZW51O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRpc2FybUNsaWNrOiBmYWxzZSxcbiAgICAgICAgICAgIF9zaG93TWVudShtZW51LCByZWxhdGl2ZVRvKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzYXJtQ2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhcm1DbGljayA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB2YXIgcG9zID0gcmVsYXRpdmVUby5vZmZzZXQoKTtcbiAgICAgICAgICAgICAgICB2YXIgaGVpZ2h0ID0gcmVsYXRpdmVUby5oZWlnaHQoKTtcbiAgICAgICAgICAgICAgICB2YXIgbWVudUhlaWdodCA9IG1lbnUuaGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgdmFyIHRvcCA9IGhlaWdodCArIHBvcy50b3A7XG4gICAgICAgICAgICAgICAgaWYgKHRvcCArIG1lbnVIZWlnaHQgLSAkKGRvY3VtZW50KS5zY3JvbGxUb3AoKSA+ICQod2luZG93KS5oZWlnaHQoKSkge1xuICAgICAgICAgICAgICAgICAgICB0b3AgLT0gdG9wICsgbWVudUhlaWdodCAtICQod2luZG93KS5oZWlnaHQoKSArIDU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0b3AgPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lbnUuaGVpZ2h0KG1lbnVIZWlnaHQgKyB0b3ApO1xuICAgICAgICAgICAgICAgICAgICB0b3AgPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtZW51LmNzcyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogdG9wICsgXCJweFwiLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBwb3MubGVmdCArIFwicHhcIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtZW51LnNsaWRlRG93bigxMDApO1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlbGF5KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QuYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1mb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtY2xvc2UtcHJvcGVydHktc2VsZWN0XCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGV2ZW50LnRhcmdldCkuY2xvc2VzdChtZW51KS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKGV2ZW50LnRhcmdldCkuY2xvc2VzdChyZWxhdGl2ZVRvKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LmRpc2FybUNsaWNrID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfc2hvd1R5cGVNZW51KCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dNZW51KHRoYXQuJG1lbnUsIHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IHRoYXQuc2VsZWN0ZWRNZW51SXRlbTtcbiAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWQgPSB0aGF0LiRtZW51LmZpbmQoXCJbdmFsdWU9J1wiICsgdHlwZSArIFwiJ1wiKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgIH0sIDEyMCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2luaXRNZW51KCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIuYXR0cihcInRhYmluZGV4XCIsIC0xKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLm9uKFwibW91c2Vkb3duLnJlZC11aS10eXBlZElucHV0LWZvY3VzLWJsb2NrXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoYXQuJG1lbnUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kbWVudS5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gZmEtaWQtY2FyZFxuICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVMaXN0ID0gW1xuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcInRleHRcIiwgdmFsdWU6IFwidFwiLCB0aXRsZTogXCJWYWx1ZSBpcyBub3QgdmVyaWZpZWRcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtZm9udFwiL2k+ICcgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwibXNnLlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwibXNnXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCJub2RlIGlkIG9yICBicm93c2UgcGF0aCBjb21lcyBmcm9tIGluamVjdGVkIG1zZyBwYXJhbWV0ZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWVudmVsb3BlLW9wZW4tb1wiLz4nLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIk5vZGVJZFwiLCB2YWx1ZTogXCJuXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLXRhZ1wiLz4xICZuYnNwOyAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiQWxpYXNlZCBOb2RlSWRcIiwgdmFsdWU6IFwibmFcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtYm9va21hcmtcIi8+Jm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJOb2RlSWQgd2l0aCBuYW1lc3BhY2UgVXJuXCIsIHZhbHVlOiBcIm5zdVwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1pZC1jYXJkXCIvPiZuYnNwOyAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiQnJvd3NlUGF0aFwiLCB2YWx1ZTogXCJiXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLXRhZ1wiLz48aSBjbGFzcz1cImZhIGZhLWZpZ2h0ZXItamV0XCIvPiZuYnNwOycgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiQWxpYXNlZCBCcm93c2UgUGF0aFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiYWJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWJvb2ttYXJrXCIvPjxpIGNsYXNzPVwiZmEgZmEtZmlnaHRlci1qZXRcIi8+Jm5ic3A7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSBmaWd1cmVPdXRNZW5VSXRlbVZhbHVlKHRoYXQuJGlucHV0LnZhbCgpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBlID0gdHlwZUxpc3QuZmluZCgoeCkgPT4geC52YWx1ZSA9PT0gYSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwuZW1wdHkoKS5hcHBlbmQoYDxzcGFuIHRpdGxlPSR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50aXRsZSkgfHwgXCJcIn0+Jm5ic3A7ICR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS5pY29uKSB8fCBcIlwifTwvc3Bhbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LnNlbGVjdGVkTWVudUl0ZW0gPSBhO1xuICAgICAgICAgICAgICAgIGNvbnN0IHR0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51ID0gdGhpcy5fY3JlYXRlTWVudSh0eXBlTGlzdCwge30sICh2KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vZGUgPSB0b01vZGUodik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvbiBNZW51IHNlbGVjdGVkICFcbiAgICAgICAgICAgICAgICAgICAgICAgIHR0LnZlcmlmeShtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlID0gdHlwZUxpc3QuZmluZCgoeCkgPT4geC52YWx1ZSA9PT0gdik7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuc2VsZWN0ZWRNZW51SXRlbSA9IHY7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdExhYmVsLmVtcHR5KCkuYXBwZW5kKGA8c3BhbiB0aXRsZT0keyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUudGl0bGUpIHx8IFwiXCJ9PiZuYnNwOyAkeyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUuaWNvbikgfHwgXCJcIn08L3NwYW4+YCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kbWVudS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KTtcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51LmhpZGUoKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLnNob3coKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtb2RlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHJldHVybiB0b01vZGUodGhhdC5zZWxlY3RlZE1lbnVJdGVtKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXRNb2RlKG1vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICBjb25zdCBzID0gZnJvbU1vZGUobW9kZSk7XG4gICAgICAgICAgICAgICAgdGhhdC5zZWxlY3RlZE1lbnVJdGVtID0gcztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0ID0gdGhpcy5lbGVtZW50O1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmNzcyhcImJvcmRlclwiLCBcIm5vbmVcIik7XG4gICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQuYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRlbGVtZW50RGl2ID0gdGhhdC4kaW5wdXQud3JhcChcIjxkaXY+XCIpLnBhcmVudCgpLmFkZENsYXNzKFwibWFpbi13cmFwcGVyXCIpO1xuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gQ29tYm8gYnJvd3NlclxuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvID0gJChcIjxkaXYvPlwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hZGRDbGFzcyhcInN0ZXJmaXZlLWNvbWJvLWJveFwiKTtcbiAgICAgICAgICAgICAgICAvLyB0aGF0LiRjb21iby5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWlucHV0LXdyYXBcIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQucmVwbGFjZVdpdGgodGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAgPSAkKFwiPGRpdi8+XCIpLmFkZENsYXNzKFwic3RlcmZpdmUtaW5wdXQtZ3JvdXBcIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGlucHV0R3JvdXApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAuYXBwZW5kKHRoYXQuJGlucHV0KTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiBhZGQgYnV0dG9uIG9uIHRoZSByaWdodCBzaWRlXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiB0b2dnbGVUcmVlQnRuXG4gICAgICAgICAgICAgICAgdGhhdC4kdG9nZ2xlVHJlZUJ0biA9ICQoYDxidXR0b24gdGl0bGU9XCJvcGVuIE9QQ1VBIEFkZHJlc3NTcGFjZSBCcm93c2VyXCI+PGkgY2xhc3M9XCJmYSBmYS1zaXRlbWFwXCI+PC9pPjwvYnV0dG9uPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmFmdGVyKHRoYXQuJHRvZ2dsZVRyZWVCdG4pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRvZ2dsZVRyZWVCdG4ub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmVlZFRvUmVhY2hTZWxlY3Rpb24gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGF0LiRkcm9wZG93bi5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5mby5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJlZSB3aWRnZXQgaXMgZ29pbmcgdG8gYmVjb21lIHZpc2libGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnROb2RlID0geWllbGQgdGhhdC5yZXNvbHZlUGFyZW50Tm9kZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnROb2RlICE9PSB0aGF0LmN1cnJlbnRQYXJlbnQgfHwgKChfYSA9IHRoYXQuY3VycmVudFBhcmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm5vZGVJZCkgIT09IHBhcmVudE5vZGUubm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHRoYXQucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZFRvUmVhY2hTZWxlY3Rpb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24udG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZWVkVG9SZWFjaFNlbGVjdGlvbiAmJiAoeWllbGQgcmVhY2hTZWxlY3Rpb24odGhhdCwgcGFyZW50Tm9kZSkpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiB2ZXJpZnlCdG5cbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4gPSAkKGA8YnV0dG9uIHRpdGxlPVwidmVyaWZ5IG5vZGVJZCBvciBicm93c2VQYXRoXCI+PGkgY2xhc3M9XCJmYSBmYS1yZWZyZXNoXCI+PC9pPjwvYnV0dG9uPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmFmdGVyKHRoYXQuJHZlcmlmeUJ0bik7XG4gICAgICAgICAgICAgICAgdGhhdC4kdmVyaWZ5QnRuLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2RlID0gdGhhdC5tb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5KG1vZGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplSW5wdXQgPSAoaW5wdXQpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtb2RlID0gdGhhdC5tb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIEZldGNoIG5ldyBkYXRhIGZvciB0aGlzIG5vZGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29ubmVjdGlvbkRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBkYXRhLCBqc29uIH0gPSB5aWVsZCBfY2FsbENoZWNrTm9kZUlkKGNvbm5lY3Rpb25EYXRhLCBpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGpzb24uc3RhdHVzQ29kZS5tYXRjaCgvR29vZC8pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVJZCA9IGNob29zZU5vZGVJZChqc29uLCBtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnZhbChzZWxlY3RlZE5vZGVJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gY3JlYXRlIHRoZSBwcmVwZW5kZWQgYnV0dG9uXG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdCA9ICQoXCI8ZGl2PlwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYmVmb3JlKHRoYXQuJHVpU2VsZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlciA9ICQoJzxidXR0b24gdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPjwvYnV0dG9uPicpLnByZXBlbmRUbyh0aGF0LiR1aVNlbGVjdCk7XG4gICAgICAgICAgICAgICAgICAgICQoJzxpIGNsYXNzPVwicmVkLXVpLXR5cGVkSW5wdXQtaWNvbiBmYSBmYS1jYXJldC1kb3duXCI+PC9pPicpLnRvZ2dsZSh0cnVlKS5hcHBlbmRUbyh0aGF0LiRzZWxlY3RUcmlnZ2VyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fc2hvd1R5cGVNZW51KCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJrZXlkb3duXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldnQua2V5Q29kZSA9PT0gNDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fc2hvd1R5cGVNZW51KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJmb2N1c1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwiYmx1clwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB2YXIgb3B0ID0gdGhhdC50eXBlTWFwW3RoYXQucHJvcGVydHlUeXBlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIChvcHQuaGFzVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5yZW1vdmVDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwgPSAkKCc8c3BhbiBjbGFzcz1cInJlZC11aS10eXBlZElucHV0LXR5cGUtbGFiZWxcIj48L3NwYW4+JykuYXBwZW5kVG8odGhhdC4kc2VsZWN0VHJpZ2dlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuX2luaXRNZW51KCk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGF0LiRpbnB1dC5hdHRyKFwicGxhY2Vob2xkZXJcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYXR0cihcInBsYWNlaG9sZGVyXCIsIFwiZW50ZXIgYSBub2RlSWQgb3IgYSBicm93c2VQYXRoIFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiB0ZW1wb3JhdHkgaW5mbyBwYW5lbFxuICAgICAgICAgICAgICAgIHRoYXQuJGluZm8gPSAkKGA8ZGl2IGNsYXNzPVwic3RlcmZpdmUtaW5mby10ZXh0XCI+PC9kaXY+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5mby5oaWRlKCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGluZm8pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIGRyb3AgZG93biB0cmVlXG4gICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24gPSAkKFwiPGRpdi8+XCIpLmFkZENsYXNzKFwic3RlcmZpdmUtZHJvcGRvd25cIikuaGlkZSgpLmFwcGVuZFRvKHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlID0gJChgPHVsIGNsYXNzPVwic3RlcmZpdmUtdHJlZVwiPjwvdWw+YCkuYXBwZW5kVG8odGhhdC4kZHJvcGRvd24pO1xuICAgICAgICAgICAgICAgIC8vIHRoYXQuJGRyb3Bkb3duLnNob3coKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIGNvbnN0IGlzT25MZWZ0U2l6ZSA9ICgkbGksIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZVdpZHRoID0gMjA7IC8vIFNldCB3aWR0aCBvZiB0aGUgOjpiZWZvcmUgY29udGVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVIZWlnaHQgPSAyMDsgLy8gU2V0IGhlaWdodCBvZiB0aGUgOjpiZWZvcmUgY29udGVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50UG9zID0gJGxpLm9mZnNldCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlLnBhZ2VYID49IGVsZW1lbnRQb3MubGVmdCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZS5wYWdlWCA8PSBlbGVtZW50UG9zLmxlZnQgKyBiZWZvcmVXaWR0aCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZS5wYWdlWSA+PSBlbGVtZW50UG9zLnRvcCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZS5wYWdlWSA8PSBlbGVtZW50UG9zLnRvcCArIGJlZm9yZUhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgdG9nZ2xlRXhwYW5zaW9uID0gKCRsaSkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoJGxpLmhhc0NsYXNzKFwiZXhwYW5kYWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgX2V4cGFuZExpKHRoYXQsICRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoJGxpLmhhc0NsYXNzKFwiZXhwYW5kZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRvZ2dsZSBpdHMgZXhwYW5kZWQvY29sbGFwc2VkIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN3YXAgZXhwYW5kYWJsZSBhbmQgZXhwYW5kZWQgY2xhc3Nlc1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLnRvZ2dsZUNsYXNzKFwiZXhwYW5kYWJsZSBleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkbGkuY2hpbGRyZW4oXCJ1bFwiKS5jaGlsZHJlbigpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dhcCBleHBhbmRhYmxlIGFuZCBleHBhbmRlZCBjbGFzc2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoXCJleHBhbmRhYmxlIGV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJkYmxjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09uTGVmdFNpemUoJGxpLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuc2lvbigkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAkbGkuZGF0YShcInZhbHVlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gJGxpLmRhdGEoXCJyZWZlcmVuY2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5vcHRpb25zLmlzU2VsZWN0YWJsZSAmJiAhdGhhdC5vcHRpb25zLmlzU2VsZWN0YWJsZShyZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuZGF0YShcInJlZmVyZW5jZVwiLCByZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgKChfYSA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRleHQpIHx8ICgoX2IgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnN0IGlucHV0ID0gYFske2Rpc3BsYXlOYW1lfV0oJHt2YWx1ZX0pYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtb2RlID0gdGhhdC5tb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlID0gXCJub2RlSWRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LnNldE1vZGUobW9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVJbnB1dCh2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudmFsKGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC52YWwoaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLm9uKFwiY2xpY2tcIiwgXCJsaVwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCAkbGkgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPbkxlZnRTaXplKCRsaSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFeHBhbnNpb24oJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RTaW5nbGUodGhhdCwgJGxpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBjbGlja2luZyBvdXRzaWRlIHRoZSBwYWdlIHdpbGwgaGlkZSB0aGUgZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGV2ZW50LnRhcmdldCkuY2xvc2VzdCh0aGF0LiRjb21ibykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsU3Vic2NyaXB0aW9uU2VsZWN0b3IoUkVELCBub2RlKSB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgJHN1YnNjcmlwdGlvbiA9ICQoXCIjbm9kZS1pbnB1dC1zdWJzY3JpcHRpb25cIik7XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBjb25zdCBpbnN0YWxsU3Vic2NyaXB0aW9uT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVuZHBvaW50ID0gUkVELm5vZGVzLm5vZGUoJGVuZHBvaW50LnZhbCgpKTtcbiAgICAgICAgICAgICRzdWJzY3JpcHRpb24uZW1wdHkoKTtcbiAgICAgICAgICAgIGlmICghZW5kcG9pbnQgfHwgIWVuZHBvaW50LnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHMgb2YgZW5kcG9pbnQuc3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gcy5uYW1lIHx8IHMuaWQ7XG4gICAgICAgICAgICAgICAgJChcIjxvcHRpb24vPlwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzLmlkLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogbGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBzLmlkID09PSBub2RlLnN1YnNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAudGV4dChsYWJlbClcbiAgICAgICAgICAgICAgICAgICAgLmFwcGVuZFRvKCRzdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBpbnN0YWxsU3Vic2NyaXB0aW9uT3B0aW9ucygpO1xuICAgICAgICAvLyBoYWNrXG4gICAgICAgIC8vICRpbnB1dEFjdGlvbi5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgIC8vICAgICAkZW5kcG9pbnQub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAvLyAgICAgICAgIGluc3RhbGxTdWJzY3JpcHRpb25PcHRpb25zKCk7XG4gICAgICAgIC8vICAgICB9KTtcbiAgICAgICAgLy8gfSk7XG4gICAgICAgICRzdWJzY3JpcHRpb24ub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgbm9kZS5zdWJzY3JpcHRpb24gPSAkc3Vic2NyaXB0aW9uLnZhbCgpO1xuICAgICAgICAgICAgLy8gICAgaW5zdGFsbFN1YnNjcmlwdGlvbk9wdGlvbnMoKTtcbiAgICAgICAgfSk7XG4gICAgICAgICRlbmRwb2ludC5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICBpbnN0YWxsU3Vic2NyaXB0aW9uT3B0aW9ucygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHRoZSBlbmRwb2ludCBhdHRyaWJ1dGVzIGNvbnRhaW5pbmc6XG4gICAgICogIC0gdGhlIGVuZHBvaW50LCBzZWN1cml0eU1vZGUsIHNlY3VyaXR5UG9saWN5LFxuICAgICAqICAtIHVzZXJJZGVudGl0eVR5cGUsXG4gICAgICogIC0gY3JlZGVudGlhbHNcbiAgICAgKiAgLSBuYW1lc3BhY2VBbGlhc2VzXG4gICAgICpcbiAgICAgKiBleHRyYWN0ZWQgZnJvbSB0aGUgdWkgd2lkZ2V0ICNub2RlLWlucHV0LWVuZHBvaW50XG4gICAgICovXG4gICAgY29uc3QgZ2V0RW5kUG9pbnRBdHRyaWJ1dGVzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCAkZW5kcG9pbnQgPSAkKFwiI25vZGUtaW5wdXQtZW5kcG9pbnRcIik7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50SWQgPSAkZW5kcG9pbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IHJlZE5vZGUgPSBSRUQubm9kZXMubm9kZShlbmRwb2ludElkKTtcbiAgICAgICAgaWYgKCFyZWROb2RlKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgLy8gY29uc3QgY3JlZGVudGlhbHMgPSBSRUQuKGVuZHBvaW50SWQpO1xuICAgICAgICAvLyB3ZSBuZWVkIHRvIHNhbml0aXplIGFuZCBleHRyYWN0IHRoZSBlbmRwb2ludCBhdHRyaWJ1dGVzIG9ubHkgKCBub3QgdGhlIG5vZGUtcmVkIHN0dWZmKVxuICAgICAgICBjb25zdCB7IGVuZHBvaW50LCBzZWN1cml0eU1vZGUsIHNlY3VyaXR5UG9saWN5LCB1c2VySWRlbnRpdHlUeXBlLCBjcmVkZW50aWFscywgbmFtZXNwYWNlQWxpYXNlcyB9ID0gcmVkTm9kZTtcbiAgICAgICAgY29uc3QgcmV0VmFsdWUgPSB7XG4gICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5LFxuICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSxcbiAgICAgICAgICAgIGNyZWRlbnRpYWxzLFxuICAgICAgICAgICAgbmFtZXNwYWNlQWxpYXNlcyxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHJldFZhbHVlO1xuICAgIH07XG4gICAgY29uc3QgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCAkZW5kcG9pbnQgPSAkKFwiI25vZGUtaW5wdXQtZW5kcG9pbnRcIik7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50SWQgPSAkZW5kcG9pbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50TnIgPSBnZXRFbmRQb2ludEF0dHJpYnV0ZXMoKTtcbiAgICAgICAgaWYgKCFlbmRwb2ludE5yKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZUFsaWFzZXMgPSBlbmRwb2ludE5yLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgbmFtZXNwYWNlQWxpYXNlcywgaWQ6IGVuZHBvaW50SWQgfSwgZW5kcG9pbnROcik7XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW5kcG9pbnROb2RlOiBnZXRFbmRwb2ludFBhcmFtZXRlcnMsXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGluc3RhbGxGZWVkYmFja1dpZGdldCA9ICgpID0+IHtcbiAgICAgICAgLy8gcmV0dXJuO1xuICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgY29uc3QgdHJheUNvbnRlbnQgPSAkKFwiLnJlZC11aS10cmF5LWJvZHlcIik7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsbEZlZWRiYWNrV2lkZ2V0IFwiLCB0cmF5Q29udGVudC5sZW5ndGgpO1xuICAgICAgICBpZiAodHJheUNvbnRlbnQubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImluc3RhbGxpbmcgaWZyYW1lXCIpO1xuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBpZnJhbWUgZWxlbWVudFxuICAgICAgICAgICAgY29uc3QgaWZyYW1lID0gJChcIjxpZnJhbWU+PC9pZnJhbWU+XCIsIHtcbiAgICAgICAgICAgICAgICBzcmM6IFwiL29wY3VhLWZvci1ub2RlLXJlZC9zdXBwb3J0LWZyYW1lLmh0bWxcIixcbiAgICAgICAgICAgICAgICBzY3JvbGxpbmc6IFwibm9cIixcbiAgICAgICAgICAgICAgICBzdHlsZTogXCJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O292ZXJmbG93OmhpZGRlbjtib3JkZXI6M3B4XCIsXG4gICAgICAgICAgICAgICAgYWxsb3d0cmFuc3BhcmVuY3k6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgIHdpZHRoOiBcIjE4MHB4XCIsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjMwcHhcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gQXBwZW5kIHRoZSBpZnJhbWUgdG8gdGhlIGZlZWRiYWNrIGVsZW1lbnRcbiAgICAgICAgICAgIHRyYXlDb250ZW50LmFwcGVuZChpZnJhbWUpO1xuICAgICAgICAgICAgLy8gUG9zaXRpb24gdGhlIGZlZWRiYWNrIGVsZW1lbnQgYXQgdGhlIGJvdHRvbSByaWdodCBvZiB0aGUgdHJheSBjb250ZW50XG4gICAgICAgICAgICBpZnJhbWUuY3NzKHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICBib3R0b206IFwiMTZweFwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUNsaWVudDItTW9uaXRvclwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcIm9wY3VhXCIsXG4gICAgICAgIGNvbG9yOiBcIiNDMERFRURcIixcbiAgICAgICAgYWxpZ246IFwicmlnaHRcIixcbiAgICAgICAgaWNvbjogXCIuLi8uLi9pY29ucy9vcGN1YW5vZGVMb2dvLnBuZ1wiLFxuICAgICAgICBwYWxldHRlTGFiZWw6IFwibW9uaXRvciB2YXJpYWJsZVwiLFxuICAgICAgICBkZWZhdWx0czoge1xuICAgICAgICAgICAgaW5wdXRzOiB7IHZhbHVlOiAxIH0sXG4gICAgICAgICAgICBvdXRwdXQ6IHsgdmFsdWU6IDIgfSxcbiAgICAgICAgICAgIC8vIENvbW1vblxuICAgICAgICAgICAgbmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgZW5kcG9pbnQ6IHsgdmFsdWU6IFwiXCIsIHJlcXVpcmVkOiB0cnVlLCB0eXBlOiBcIk9wY1VhLUVuZHBvaW50MlwiIH0sXG4gICAgICAgICAgICAvLyBmb3IgYWN0aW9uIG1vbml0b3JcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbjoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIlwiLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiAodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWwgPT09IFwiXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3RhcnRJbW1lZGlhdGVseTogeyB2YWx1ZTogdHJ1ZSwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIC8vIHdlIHVzZSBhIGRpZmZlcmVudCB3aWRnZXQgZm9yIGVkaXRpbmcgdGhlIG5vZGVJZCwgYmVjYXVzZSB0aGUgYmVoYXZpb3JcbiAgICAgICAgICAgIC8vIGlzIHNwZWNpZmljIHRvIG1vbml0b3IsIGhvd2V2ZXIgcHJvcGVydHkgd2lsbCBiZSBzdG9yZWQgaW4gbm9kZUlkXG4gICAgICAgICAgICBub2RlSWQ6IHsgdmFsdWU6IFwiL1NlcnZlci9TZXJ2ZXJTdGF0dXMvQ3VycmVudFRpbWVcIiwgcmVxdWlyZWQ6IGZhbHNlLCB2YWxpZGF0ZTogKCkgPT4gdHJ1ZSB9LFxuICAgICAgICAgICAgc2FtcGxpbmdJbnRlcnZhbDogeyB2YWx1ZTogMTAwMCwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIGRpc2NhcmRPbGRlc3Q6IHsgdmFsdWU6IHRydWUsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICBxdWV1ZVNpemU6IHsgdmFsdWU6IDEwLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICB9LFxuICAgICAgICAvLyBpbnB1dHM6LFxuICAgICAgICBvdXRwdXRzOiAxLCAvL3h4XG4gICAgICAgIC8vIDIgb3V0cHV0LCBzZWNvbmQgZm9yIHJhdyBub2RlLW9wY3VhIGRpYWdub3N0aWNzIG9yIG1vcmUgY29tcGxldGUgbWVzc2FnZVxuICAgICAgICBsYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgfHwgXCJPUENVQSBDbGllbnQgTW9uaXRvciBcIjtcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWxTdHlsZSgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgPyBcIm5vZGVfbGFiZWxfaXRhbGljXCIgOiBcIlwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBkZWNsYXJlTm9kZUJyb3dzZXJXaWRnZXQoKTtcbiAgICAgICAgICAgIGluc3RhbGxGZWVkYmFja1dpZGdldCgpO1xuICAgICAgICAgICAgY29uc3QgaXNJbW1lZGlhdGUgPSBub2RlLnN0YXJ0SW1tZWRpYXRlbHk7XG4gICAgICAgICAgICBub2RlLmlucHV0cyA9IGlzSW1tZWRpYXRlID8gMCA6IDE7XG4gICAgICAgICAgICBpbnN0YWxsU3Vic2NyaXB0aW9uU2VsZWN0b3IoUkVELCB0aGlzKTtcbiAgICAgICAgICAgICQoXCJub2RlLWlucHV0LXN0YXJ0SW1tZWRpYXRlbHlcIikub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoZWNrZWQgPSAkKFwiI25vZGUtaW5wdXQtc3RhcnRJbW1lZGlhdGVseVwiKS5wcm9wKFwiY2hlY2tlZFwiKTtcbiAgICAgICAgICAgICAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtaW5wdXRzXCIpLnZhbCgwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1pbnB1dHNcIikudmFsKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBBY3Rpb24gTW9uaXRvclxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIGNvbnN0ICRub2RlSWQgPSAkKFwiI25vZGUtaW5wdXQtbm9kZUlkXCIpO1xuICAgICAgICAgICAgJG5vZGVJZC5ub2RlQnJvd3NlcihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGdldEVuZHBvaW50UGFyYW1ldGVyc0hhbmRsZXIoKSksIHsgZmlsdGVyKG5vZGVEZXNjKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiVmFyaWFibGVcIiB8fCBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiT2JqZWN0XCI7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBpc1NlbGVjdGFibGUobm9kZURlc2MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVEZXNjLm5vZGVDbGFzcyA9PT0gXCJWYXJpYWJsZVwiO1xuICAgICAgICAgICAgICAgIH0gfSkpO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRJbW1lZGlhdGVseSA9ICQoXCIjbm9kZS1pbnB1dC1zdGFydEltbWVkaWF0ZWx5XCIpLnByb3AoXCJjaGVja2VkXCIpO1xuICAgICAgICAgICAgaWYgKHN0YXJ0SW1tZWRpYXRlbHkpIHtcbiAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtc3RhcnRJbW1lZGlhdGVseVwiKS52YWwoc3RhcnRJbW1lZGlhdGVseSA/IDAgOiAxKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0cyA9IHN0YXJ0SW1tZWRpYXRlbHkgPyAwIDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1zdGFydEltbWVkaWF0ZWx5XCIpLnZhbCgxKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0cyA9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
|
7
|
+
function _0x5067(_0x4dcef5,_0x1d1bda){const _0x32185a=_0x3218();return _0x5067=function(_0x5067fa,_0x289140){_0x5067fa=_0x5067fa-0x1bc;let _0x220c31=_0x32185a[_0x5067fa];return _0x220c31;},_0x5067(_0x4dcef5,_0x1d1bda);}function _0x3218(){const _0x50ed95=['throw','error','$verifyBtn','dblclick','already\x20loading','mousedown.red-ui-typedInput-focus-block','browsePath','30px','nodes','mode','> \x20','trigger','length','View','node','<input\x20type=\x22checkbox\x22>','sterfive-info','expandable','Invalid','opc.tcp://opcuademo.sterfive.com:26543','done','startImmediately','SandyBrown','right','next','<i>','empty','785hrqrbv','BrowsePath','NodeId','height','val','value','ns=0;i=34','$selectLabel','statusCode:\x20','_delay','_showTypeMenu','BrowseName','checked','call','NodeId\x20with\x20namespace\x20Urn','/Server/ServerStatus/CurrentTime','$combo','statusText','callback','</span>','toString','subscription','left','Objects','data','Organizes','.spinner','requestedNodeId','__parentNode','aliased\x20browsePath:\x20','<option/>','show','reset','hasClass','node_label_italic','<div>','sterfive-typedInput-options\x20sterfive-online-menu','sterfive-combo-box','name','nodeId_aliased','loading','browse\x20path:\x20','label','aliasedBrowsePath','Aliased\x20Browse\x20Path','6510978ABITyB','join','true','grey','bp_indexed','/browse','pageY','5073555CTvLkh',';\x22></i>\x20','IsForward','nsu\x20nodeId:\x20','verify','/walk-backward','function','browseName','/opcua-for-node-red','8KTJxLL','each','fa-list-alt','!!failure!!','css','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','$elementDiv','endpoint','$dropdown','resolveParentNode','TypeDefinition','6131960pNALkr','OpcUa-Client2-Monitor','fa-object-group','top','ns=0;i=46','failure','_initMenu','ns=0;i=45','fetching\x20failed\x20with\x20error','$input','</li>','nodeId','closest','Good','fa-folder','displayName','endpointNode','pageX','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','assign','subscriptions','none','reference','toggleClass','CadetBlue','903boZnGe','HasChild',':visible','sterfive-input-error','children','$uiSelect','keyCode','pointer-events','$menu','OPCUA\x20Client\x20Monitor\x20','namespaceAliases','icon','[value=\x27',');\x20-webkit-mask-image:\x20url(','i=61','#node-input-startImmediately','POST','expanded','HasProperty','NodeClass','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','selectedMenuItem','setMode','placeholder','isTypeRef','addClass','position','slideDown','target','li[key=\x22','statusCode','fetched','SeaGreen','fa-text-width','DisplayName','_hideMenu','parent','mousedown','referenceTypeId','localeCompare','log','$tree','red-ui-typedInput-icon','preventDefault','elements','then','parentNode','nodeIds','><i\x20class=\x22fa\x20','20px','multiple','status','aliasedNodeId','<ul\x20class=\x22sterfive-tree\x22></ul>','<div/>','input[type=\x22checkbox\x22]','filter','sterfive-dropdown','baseUrl','/checkNodeId',':first','match','27558JbeYFS','text','replaceWith','Value\x20is\x20not\x20verified','hide','nodeId_nsu','string','aliased\x20NodeId:\x20','ns=0;i=35','stopPropagation','DataType','widget','VariableType','ns=0;i=85','currentParent','monitor\x20variable','li\x20>\x20.tree-text','stringify','indexOf','mousedown.red-ui-typedInput-close-property-select','<li>error\x20','$info','change','message','Unspecified','find','appendTo','SuppressedError','scrollTop','options','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','expandable\x20expanded','DodgerBlue','#node-input-subscription','node\x20class:\x20','attr','fa-cog','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','selected','ns=0;i=40','isSelectable','remove','2600781bsIZIi','#node-input-endpoint','forEach','registerType','blur','toggle','append','ObjectType','Both','HasSubtype','#node-input-inputs','opts','ReferenceType','<li\x20key=\x22','Object','312DgwDPB','disarmClick','focus','_createMenu','$inputGroup','$toggleTreeBtn','keydown','../../icons/opcuanodeLogo.png','ns=0;i=47',':focus','red-ui-typedInput-focus','sort','Variable','Method','apply','red-ui-typedInput-icon\x20','<div\x20class=\x22sterfive-info-text\x22></div>','$selectTrigger','after','</span><ul></ul></li>','<i\x20class=\x22fa\x20fa-id-card\x22/> \x20','prop','Forward','err','animate','push','title','DarkOrange','references','.tree-text:first','relativePath','application/json','nsu','prependTo','.red-ui-tray-body','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','json','nsuNodeID','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','suppressed','27536980yRdQbb','18px','sterfive.nodeBrowser','_showMenu','msg.','inputs','<span\x20title=','180px','node-input-startImmediately','before','removeClass','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','click','nodeClass'];_0x3218=function(){return _0x50ed95;};return _0x3218();}(function(_0x5a5ab5,_0x385e79){const _0xd738be=_0x5067,_0x3e2894=_0x5a5ab5();while(!![]){try{const _0x4133bd=parseInt(_0xd738be(0x29e))/0x1*(-parseInt(_0xd738be(0x24d))/0x2)+-parseInt(_0xd738be(0x23e))/0x3+parseInt(_0xd738be(0x1bd))/0x4+-parseInt(_0xd738be(0x2d2))/0x5+parseInt(_0xd738be(0x214))/0x6*(-parseInt(_0xd738be(0x1d6))/0x7)+-parseInt(_0xd738be(0x2db))/0x8*(parseInt(_0xd738be(0x2cb))/0x9)+parseInt(_0xd738be(0x275))/0xa;if(_0x4133bd===_0x385e79)break;else _0x3e2894['push'](_0x3e2894['shift']());}catch(_0x588f12){_0x3e2894['push'](_0x3e2894['shift']());}}}(_0x3218,0xebffb),(function(){'use strict';const _0xd1a634=_0x5067;function _0x4e13de(_0x4bf481,_0x22e0f4,_0x5ee861,_0x2d73da){function _0x574f3c(_0x4891a8){return _0x4891a8 instanceof _0x5ee861?_0x4891a8:new _0x5ee861(function(_0x1b8ee1){_0x1b8ee1(_0x4891a8);});}return new(_0x5ee861||(_0x5ee861=Promise))(function(_0x1cf631,_0x8a309){const _0x44a9be=_0x5067;function _0x5f2add(_0x241720){try{_0x1a5e56(_0x2d73da['next'](_0x241720));}catch(_0x4e4bd2){_0x8a309(_0x4e4bd2);}}function _0x34f37b(_0x4bdf33){const _0x27d031=_0x5067;try{_0x1a5e56(_0x2d73da[_0x27d031(0x283)](_0x4bdf33));}catch(_0x37f20d){_0x8a309(_0x37f20d);}}function _0x1a5e56(_0x2efa39){const _0x49db8e=_0x5067;_0x2efa39[_0x49db8e(0x297)]?_0x1cf631(_0x2efa39[_0x49db8e(0x2a3)]):_0x574f3c(_0x2efa39[_0x49db8e(0x2a3)])[_0x49db8e(0x203)](_0x5f2add,_0x34f37b);}_0x1a5e56((_0x2d73da=_0x2d73da[_0x44a9be(0x25b)](_0x4bf481,_0x22e0f4||[]))[_0x44a9be(0x29b)]());});}typeof SuppressedError===_0xd1a634(0x2d8)?SuppressedError:function(_0x47df31,_0x551687,_0x526ed5){const _0x4ee9eb=_0xd1a634;var _0x1e0208=new Error(_0x526ed5);return _0x1e0208['name']=_0x4ee9eb(0x22f),_0x1e0208['error']=_0x47df31,_0x1e0208[_0x4ee9eb(0x274)]=_0x551687,_0x1e0208;};const _0x1ef159=_0xd1a634(0x21c),_0xa38508='ns=0;i=61',_0x320f60=_0xd1a634(0x255),_0x4fb278=_0xd1a634(0x1c1),_0x4246d8=_0xd1a634(0x2a4),_0x14a50a=_0xd1a634(0x1c4),_0xa3ec56=_0xd1a634(0x23b);var _0x1fdf6b;(function(_0x1cc070){const _0x4070d8=_0xd1a634;_0x1cc070[_0x1cc070[_0x4070d8(0x263)]=0x0]=_0x4070d8(0x263),_0x1cc070[_0x1cc070['Inverse']=0x1]='Inverse',_0x1cc070[_0x1cc070[_0x4070d8(0x246)]=0x2]=_0x4070d8(0x246),_0x1cc070[_0x1cc070[_0x4070d8(0x295)]=0x3]=_0x4070d8(0x295);}(_0x1fdf6b||(_0x1fdf6b={})));var _0xa5ac20;(function(_0x262a95){const _0x31e861=_0xd1a634;_0x262a95[_0x262a95[_0x31e861(0x22c)]=0x0]='Unspecified',_0x262a95[_0x262a95[_0x31e861(0x24c)]=0x1]=_0x31e861(0x24c),_0x262a95[_0x262a95[_0x31e861(0x259)]=0x2]='Variable',_0x262a95[_0x262a95[_0x31e861(0x25a)]=0x4]=_0x31e861(0x25a),_0x262a95[_0x262a95[_0x31e861(0x245)]=0x8]=_0x31e861(0x245),_0x262a95[_0x262a95[_0x31e861(0x220)]=0x10]='VariableType',_0x262a95[_0x262a95['ReferenceType']=0x20]=_0x31e861(0x24a),_0x262a95[_0x262a95[_0x31e861(0x21e)]=0x40]='DataType',_0x262a95[_0x262a95[_0x31e861(0x290)]=0x80]='View';}(_0xa5ac20||(_0xa5ac20={})));var _0x434602;(function(_0x494dc5){const _0xbf51c8=_0xd1a634;_0x494dc5[_0x494dc5['Object']=0x1]='Object',_0x494dc5[_0x494dc5[_0xbf51c8(0x259)]=0x2]=_0xbf51c8(0x259),_0x494dc5[_0x494dc5[_0xbf51c8(0x25a)]=0x4]=_0xbf51c8(0x25a),_0x494dc5[_0x494dc5[_0xbf51c8(0x245)]=0x8]=_0xbf51c8(0x245),_0x494dc5[_0x494dc5[_0xbf51c8(0x220)]=0x10]=_0xbf51c8(0x220),_0x494dc5[_0x494dc5[_0xbf51c8(0x24a)]=0x20]=_0xbf51c8(0x24a),_0x494dc5[_0x494dc5[_0xbf51c8(0x21e)]=0x40]='DataType',_0x494dc5[_0x494dc5['View']=0x80]=_0xbf51c8(0x290);}(_0x434602||(_0x434602={})));var _0x49eac7;(function(_0x5504dc){const _0x5cf7db=_0xd1a634;_0x5504dc[_0x5504dc[_0x5cf7db(0x24a)]=0x1]='ReferenceType',_0x5504dc[_0x5504dc['IsForward']=0x2]=_0x5cf7db(0x2d4),_0x5504dc[_0x5504dc[_0x5cf7db(0x1e9)]=0x4]='NodeClass',_0x5504dc[_0x5504dc['BrowseName']=0x8]=_0x5cf7db(0x2a9),_0x5504dc[_0x5504dc['DisplayName']=0x10]=_0x5cf7db(0x1f8),_0x5504dc[_0x5504dc[_0x5cf7db(0x1bc)]=0x20]='TypeDefinition';}(_0x49eac7||(_0x49eac7={})));function _0x7a6131(_0x527d93){const _0x4ba939=_0xd1a634;switch(_0x527d93){case _0x4ba939(0x2b7):return _0x1ef159;case _0x4ba939(0x1e8):return _0x4fb278;case'HasComponent':return _0x320f60;case _0x4ba939(0x1d7):return _0x4246d8;case'HasSubtype':return _0x14a50a;case'HasTypeDefinition':return _0xa3ec56;}}const _0x7afa9d=_0x3b3f8c=>{const _0x4cb787=_0xd1a634;switch(_0x3b3f8c[_0x4cb787(0x282)]){case _0x4cb787(0x24c):if(_0x3b3f8c[_0x4cb787(0x1fc)]===_0x1ef159);if(_0x3b3f8c['typeDefinition']===_0xa38508||_0x3b3f8c[_0x4cb787(0x1fc)]===_0x4cb787(0x1e4))return{'icon':_0x4cb787(0x1cb),'color':'rgba(61,\x2060,\x204,\x200.525)'};return{'icon':_0x4cb787(0x1bf),'color':_0x4cb787(0x1f6)};case _0x4cb787(0x259):if(_0x3b3f8c[_0x4cb787(0x1fc)]===_0x320f60)return{'icon':_0x4cb787(0x2dd),'color':'SteelBlue'};else return _0x3b3f8c[_0x4cb787(0x1fc)]===_0x4fb278?{'icon':_0x4cb787(0x2dd),'color':_0x4cb787(0x234)}:{'icon':_0x4cb787(0x2dd),'color':_0x4cb787(0x1d5)};case _0x4cb787(0x25a):return{'icon':_0x4cb787(0x238),'color':_0x4cb787(0x299)};case _0x4cb787(0x245):return{'icon':_0x4cb787(0x1bf),'color':_0x4cb787(0x268)};case _0x4cb787(0x220):return{'icon':'fa-sliders','color':_0x4cb787(0x268)};case _0x4cb787(0x21e):return{'icon':_0x4cb787(0x1f7),'color':_0x4cb787(0x1d5)};}return{'icon':'fa-question','color':_0x4cb787(0x2ce)};},_0x37eaf6=(_0x472068,_0x1700d3,_0x2632ad)=>_0x4e13de(void 0x0,[_0x472068,_0x1700d3,_0x2632ad],void 0x0,function*({endpointNode:_0x4ce736,endpoint:_0x2fb9fa,baseUrl:_0x174d56},_0x37c70d,_0x4d5da7){const _0x3130c0=_0xd1a634,_0x185b70=_0x174d56+'/opcua-for-node-red',_0x5b4afb=_0x185b70+_0x3130c0(0x2d0),_0x59675b=Object['assign'](Object['assign']({},_0x4d5da7),{'nodeId':_0x37c70d,'resultMask':0x3f}),_0x177e6e=yield fetch(_0x5b4afb,{'method':_0x3130c0(0x1e6),'body':JSON[_0x3130c0(0x225)]({'endpointNode':_0x4ce736,'endpoint':_0x2fb9fa,'browseDescription':_0x59675b}),'headers':{'Content-Type':_0x3130c0(0x26c)}});if(_0x177e6e[_0x3130c0(0x209)]!==0xc8)return console[_0x3130c0(0x1fe)](_0x3130c0(0x1c5),_0x177e6e[_0x3130c0(0x209)],_0x177e6e['statusText']),{'references':[]};const _0xdb84da=yield _0x177e6e[_0x3130c0(0x271)](),_0x4c8faa=_0xdb84da['browseResult'][_0x3130c0(0x269)]||[];return{'references':_0x4c8faa};}),_0x1fac32={'referenceTypeId':_0x7a6131(_0xd1a634(0x1d7)),'includeSubtypes':!![],'browseDirection':_0x1fdf6b[_0xd1a634(0x263)],'nodeClassMask':_0xa5ac20[_0xd1a634(0x259)]|_0xa5ac20[_0xd1a634(0x24c)]|_0xa5ac20[_0xd1a634(0x25a)],'resultMask':0x3f},_0x411395={'referenceTypeId':_0x7a6131(_0xd1a634(0x2b7)),'includeSubtypes':!![],'browseDirection':_0x1fdf6b[_0xd1a634(0x263)],'nodeClassMask':_0xa5ac20[_0xd1a634(0x259)]|_0xa5ac20[_0xd1a634(0x24c)]|_0xa5ac20[_0xd1a634(0x25a)],'resultMask':0x3f},_0x2ee695=(_0x2b8cc0,_0x588bb3)=>_0x4e13de(void 0x0,[_0x2b8cc0,_0x588bb3],void 0x0,function*({endpointNode:_0x47cb9a,endpoint:_0x330f6a,baseUrl:_0x4c734d},{nodeId:_0xe34f34,rootNodeId:_0x5de4af,isType:_0x300e77}){const _0x514968=_0xd1a634,_0x12d2f2=_0x4c734d+_0x514968(0x2da),_0x2a2084=_0x12d2f2+_0x514968(0x2d7),_0x1b0cfa=yield fetch(_0x2a2084,{'method':_0x514968(0x1e6),'body':JSON[_0x514968(0x225)]({'endpointNode':_0x47cb9a,'endpoint':_0x330f6a,'nodeId':_0xe34f34,'rootNodeId':_0x5de4af,'isType':_0x300e77}),'headers':{'Content-Type':_0x514968(0x26c)}});if(_0x1b0cfa[_0x514968(0x209)]!==0xc8)return null;const _0x11c255=yield _0x1b0cfa[_0x514968(0x271)]();return _0x11c255[_0x514968(0x289)];}),_0x459f47=(_0x401ee7,_0x21a506)=>{const _0x4b106e=_0xd1a634;if(_0x401ee7['statusCode']!==_0x4b106e(0x1ca))return _0x401ee7[_0x4b106e(0x2b9)];switch(_0x21a506){case'browsePath':return _0x401ee7[_0x4b106e(0x2cf)];case _0x4b106e(0x2c9):return _0x401ee7['bp_aliased']||_0x401ee7['bp_indexed'];case _0x4b106e(0x20a):return _0x401ee7[_0x4b106e(0x2c5)]||_0x401ee7[_0x4b106e(0x219)];case _0x4b106e(0x272):return _0x401ee7[_0x4b106e(0x219)];default:case _0x4b106e(0x1c8):return _0x401ee7['nodeId'];}},_0x429a15=_0x4c1f7c=>{const _0x1b7ceb=_0xd1a634;if(_0x4c1f7c[_0x1b7ceb(0x1f4)]!==_0x1b7ceb(0x1ca))return _0x1b7ceb(0x2a6)+_0x4c1f7c[_0x1b7ceb(0x1f4)];else{let _0x550007=[];return _0x550007[_0x1b7ceb(0x266)]('nodeId:\x20'+_0x4c1f7c[_0x1b7ceb(0x1c8)]),_0x550007[_0x1b7ceb(0x266)](_0x1b7ceb(0x2c7)+_0x4c1f7c[_0x1b7ceb(0x2cf)]),_0x550007[_0x1b7ceb(0x266)](_0x1b7ceb(0x236)+_0xa5ac20[_0x4c1f7c[_0x1b7ceb(0x282)]]),_0x4c1f7c[_0x1b7ceb(0x219)]&&_0x550007[_0x1b7ceb(0x266)](_0x1b7ceb(0x2d5)+_0x4c1f7c[_0x1b7ceb(0x219)]),_0x4c1f7c['nodeId_aliased']&&_0x550007['push'](_0x1b7ceb(0x21b)+_0x4c1f7c[_0x1b7ceb(0x2c5)]),_0x4c1f7c['bp_indexed']&&_0x550007['push'](_0x1b7ceb(0x2bb)+_0x4c1f7c['bp_aliased']),_0x550007[_0x1b7ceb(0x2cc)]('\x0a');}};function _0x5b9210(_0x484b4d){const _0x35ec3f=_0xd1a634;if(_0x484b4d[_0x35ec3f(0x213)](/^nsu=/))return'nsuNodeID';if(_0x484b4d[_0x35ec3f(0x213)](/^(ns=.*;)?(i|b|s|g)=/))return _0x35ec3f(0x1c8);if(_0x484b4d[_0x35ec3f(0x213)](/^nsa=/))return _0x35ec3f(0x20a);if(_0x484b4d['match'](/^(\/|\.)[0-9]+:/))return'browsePath';if(_0x484b4d['match'](/^(\/|\.).*:/))return _0x35ec3f(0x289);}function _0x995465(_0x37886d){const _0x34829c=_0xd1a634,_0x33005=_0x5b9210(_0x37886d);switch(_0x33005){case _0x34829c(0x1c8):return'n';case _0x34829c(0x20a):return'na';case _0x34829c(0x272):return _0x34829c(0x26d);case _0x34829c(0x289):return'b';case _0x34829c(0x2c9):return'ab';default:return't';}}function _0x3187ed(_0x255ac6){const _0x50b848=_0xd1a634;let _0x5d276c;switch(_0x255ac6){case'n':_0x5d276c=_0x50b848(0x1c8);break;case'na':_0x5d276c=_0x50b848(0x20a);break;case _0x50b848(0x26d):_0x5d276c='nsuNodeID';break;case'b':_0x5d276c=_0x50b848(0x289);break;case'ab':_0x5d276c='aliasedBrowsePath';break;}return _0x5d276c;}function _0x220a1d(_0x5b4170){const _0x7e1d08=_0xd1a634;switch(_0x5b4170){case _0x7e1d08(0x1c8):return'n';case _0x7e1d08(0x20a):return'na';case _0x7e1d08(0x272):return _0x7e1d08(0x26d);case _0x7e1d08(0x289):return'b';case'aliasedBrowsePath':return'ab';default:return't';}}const _0x19e811=(_0x2d4996,_0x73aafd)=>_0x4e13de(void 0x0,[_0x2d4996,_0x73aafd],void 0x0,function*({endpointNode:_0x46e84c,endpoint:_0x386386,baseUrl:_0x13a898},_0x447e95){const _0x57e558=_0xd1a634,_0x3faec8=_0x13a898+_0x57e558(0x2da),_0x194218=_0x3faec8+_0x57e558(0x211),_0x33c4cd=_0x46e84c['id'],_0x57ff9a=RED[_0x57e558(0x28b)][_0x57e558(0x291)](_0x33c4cd);console['log'](_0x57ff9a['namespaceAliases']),_0x57ff9a[_0x57e558(0x1e0)];const _0x3cec97=_0x46e84c[_0x57e558(0x1e0)],_0x5d6d59=yield fetch(_0x194218,{'method':_0x57e558(0x1e6),'body':JSON[_0x57e558(0x225)]({'endpointNode':_0x46e84c,'endpoint':_0x386386,'nodeId':_0x447e95,'namespaceAliases':_0x3cec97}),'headers':{'Content-Type':_0x57e558(0x26c)}}),_0x52b214=yield _0x5d6d59[_0x57e558(0x271)]();return{'json':_0x52b214,'data':_0x5d6d59};}),_0xd2807d=(_0x8ba6b2,_0x3133e3,_0x5dd01d,_0x577d0b)=>_0x4e13de(void 0x0,[_0x8ba6b2,_0x3133e3,_0x5dd01d,_0x577d0b],void 0x0,function*({endpointNode:_0x54935c,endpoint:_0x16fdb1,baseUrl:_0x58bb4c},_0x3a7b50,_0xc376e6,_0x219219){const _0x48c23d=_0xd1a634,_0xc0cf89=_0xc376e6[_0x48c23d(0x2a2)](),{json:_0x25a55f,data:_0x132fc6}=yield _0x19e811({'endpointNode':_0x54935c,'endpoint':_0x16fdb1,'baseUrl':_0x58bb4c},_0xc0cf89),_0x4d0ac4=(_0x2af78a,_0xd0e80c)=>{const _0x230148=_0x48c23d;_0x219219['text'](_0x2af78a)[_0x230148(0x1ef)](_0x230148(0x293))['addClass'](_0xd0e80c),_0x219219[_0x230148(0x2bd)](),setTimeout(()=>{const _0xea9258=_0x230148;_0x219219[_0xea9258(0x27f)](_0xd0e80c),_0x219219[_0xea9258(0x218)]();},0xbb8);};if(_0x132fc6[_0x48c23d(0x209)]!==0xc8)return _0x4d0ac4(_0x48c23d(0x2de)+_0xc0cf89,_0x48c23d(0x1c2)),![];else{if(_0x25a55f[_0x48c23d(0x1f4)][_0x48c23d(0x213)](/Good/)){const _0x66ef79=_0x429a15(_0x25a55f);_0xc376e6[_0x48c23d(0x237)](_0x48c23d(0x267),_0x66ef79);const _0x18d3e2=_0x459f47(_0x25a55f,_0x3a7b50);return _0xc376e6[_0x48c23d(0x2a2)](_0x18d3e2),_0xc376e6[_0x48c23d(0x28e)](_0x48c23d(0x22a)),_0x4d0ac4(_0x48c23d(0x1ca),'ok'),!![];}else return _0xc376e6[_0x48c23d(0x2a2)](''+_0xc0cf89),_0x4d0ac4(_0x25a55f[_0x48c23d(0x1f4)]+'\x20'+_0x132fc6[_0x48c23d(0x2af)],_0x48c23d(0x1c2)),![];}});function _0x3056b9(_0x35cdf5,_0x3f3d88){return _0x4e13de(this,void 0x0,void 0x0,function*(){const _0x4e83f2=_0x5067,_0x14d5f5=_0x35cdf5[_0x4e83f2(0x2b6)](_0x4e83f2(0x2a3)),_0x1493ea=yield _0x37eaf6(_0x3f3d88,_0x14d5f5,_0x1fac32),_0x376d0c=yield _0x37eaf6(_0x3f3d88,_0x14d5f5,_0x411395);return{'references':[..._0x1493ea[_0x4e83f2(0x269)],..._0x376d0c[_0x4e83f2(0x269)]]};});}const _0x13516f={'referenceTypeId':_0x7a6131(_0xd1a634(0x247)),'includeSubtypes':!![],'browseDirection':_0x1fdf6b[_0xd1a634(0x263)],'nodeClassMask':_0xa5ac20[_0xd1a634(0x24a)]|_0xa5ac20['ObjectType']|_0xa5ac20[_0xd1a634(0x21e)]|_0xa5ac20[_0xd1a634(0x220)],'resultMask':0x3f};function _0x58ea18(_0x3b8cb3,_0x350713){return _0x4e13de(this,void 0x0,void 0x0,function*(){const _0x5779e1=_0x5067,_0x5f19e7=_0x3b8cb3[_0x5779e1(0x2b6)]('value'),_0x331ed8=yield _0x37eaf6(_0x350713,_0x5f19e7,_0x13516f);return _0x331ed8;});}const _0xb45d99=_0x201841=>{const _0x18f7c4=_0xd1a634;var _0x40c6be,_0x36db2c,_0x1c14ef,_0x5d4d85;if(!_0x201841||!_0x201841[_0x18f7c4(0x1c8)]){const _0x409f66=$(_0x18f7c4(0x280));return _0x409f66;}const _0x2eb94d=_0x201841['nodeId']['toString'](),_0x14a1d1=((_0x40c6be=_0x201841[_0x18f7c4(0x1cc)])===null||_0x40c6be===void 0x0?void 0x0:_0x40c6be[_0x18f7c4(0x215)])||((_0x36db2c=_0x201841['browseName'])===null||_0x36db2c===void 0x0?void 0x0:_0x36db2c[_0x18f7c4(0x2c4)])||_0x201841['nodeId'][_0x18f7c4(0x2b2)](),{icon:_0x1cc434,color:_0x268e4d}=_0x7afa9d(_0x201841),_0x16c1e7='('+_0x201841[_0x18f7c4(0x1c8)][_0x18f7c4(0x2b2)]()+')\x20'+(((_0x1c14ef=_0x201841[_0x18f7c4(0x2d9)])===null||_0x1c14ef===void 0x0?void 0x0:_0x1c14ef[_0x18f7c4(0x2c4)])||((_0x5d4d85=_0x201841[_0x18f7c4(0x1cc)])===null||_0x5d4d85===void 0x0?void 0x0:_0x5d4d85[_0x18f7c4(0x215)])||''),_0x50652b=$(_0x18f7c4(0x24b)+_0x201841[_0x18f7c4(0x1c8)][_0x18f7c4(0x2b2)]()+'\x22}><span\x20class=\x22tree-text\x22\x20title='+_0x16c1e7+_0x18f7c4(0x206)+_0x1cc434+'\x22\x20style=\x22color:'+_0x268e4d+_0x18f7c4(0x2d3)+_0x14a1d1+_0x18f7c4(0x260));return _0x50652b[_0x18f7c4(0x1ef)](_0x18f7c4(0x294)),_0x50652b[_0x18f7c4(0x2b6)](_0x18f7c4(0x2a3),_0x2eb94d),_0x50652b[_0x18f7c4(0x2b6)]('reference',_0x201841),_0x50652b;},_0x57c946=(_0xd5108c,_0x2de097)=>{const _0x4a9ab8=_0xd1a634;return _0x2de097[_0x4a9ab8(0x22d)](_0x4a9ab8(0x1f3)+_0xd5108c+'\x22]');},_0x15f606=(_0x247bb1,_0x3855f9)=>{const _0x1fb2b4=_0xd1a634;_0x247bb1[_0x1fb2b4(0x1ff)][_0x1fb2b4(0x22d)](_0x1fb2b4(0x224))[_0x1fb2b4(0x27f)](_0x1fb2b4(0x23a)),_0x3855f9[_0x1fb2b4(0x22d)](_0x1fb2b4(0x26a))[_0x1fb2b4(0x1ef)](_0x1fb2b4(0x23a));},_0x2f27d4=(_0x1d9045,_0x46ff88,_0x2de48e)=>_0x4e13de(void 0x0,void 0x0,void 0x0,function*(){const _0x24120b=_0xd1a634;let _0x4818ce=_0x2de48e[_0x24120b(0x1da)](_0x24120b(0x212));_0x46ff88[_0x24120b(0x26b)][_0x24120b(0x202)]||[];const _0x3707d1=_0x46ff88[_0x24120b(0x205)]||[];if(_0x3707d1[_0x24120b(0x28f)]===0x0)return;for(const _0x53c493 of _0x3707d1){_0x4818ce[_0x24120b(0x2bf)]('expandable')&&(yield _0x4cc02f(_0x1d9045,_0x4818ce));const _0x16cd4e=_0x57c946(_0x53c493,_0x4818ce);if(_0x16cd4e[_0x24120b(0x28f)]===0x0)return;_0x4818ce=_0x16cd4e;}_0x15f606(_0x1d9045,_0x4818ce),_0x1fd487(_0x1d9045['$dropdown'],_0x4818ce);});function _0x1fd487(_0x328ca9,_0x523147){const _0x2a4dae=_0xd1a634,_0x4227c1=_0x523147[_0x2a4dae(0x1f0)]()['top'],_0x51388b=_0x328ca9['scrollTop']();if(_0x51388b==undefined)return;const _0x4b1a54=_0x51388b+_0x4227c1-_0x328ca9[_0x2a4dae(0x2a1)]()/0x2+_0x523147['height']()/0x2;_0x328ca9[_0x2a4dae(0x265)]({'scrollTop':_0x4b1a54},0x1f4);}const _0x469ee7=(_0x27b1f0,_0x3c7c3c)=>_0x4e13de(void 0x0,void 0x0,void 0x0,function*(){const _0xe6c9a8=_0xd1a634,_0x47030a=_0x27b1f0[_0xe6c9a8(0x1c6)][_0xe6c9a8(0x2a2)](),_0x214520={'nodeId':_0x47030a,'rootNodeId':_0x3c7c3c[_0xe6c9a8(0x1c8)],'isType':_0x27b1f0[_0xe6c9a8(0x231)][_0xe6c9a8(0x1ee)]||![]},_0x41b23b=_0x4212bb(_0x27b1f0),_0x58325c=yield _0x2ee695(_0x41b23b,_0x214520);if(!_0x58325c)return;yield _0x2f27d4(_0x27b1f0,_0x58325c,_0x27b1f0[_0xe6c9a8(0x1ff)]);});function _0x101671(_0x2965fb,_0x5e88a5,_0x4efb55,_0x3670c9){return _0x4e13de(this,void 0x0,void 0x0,function*(){const _0x4deb7e=_0x5067;if(_0x5e88a5[_0x4deb7e(0x2bf)](_0x4deb7e(0x1f5))){console[_0x4deb7e(0x1fe)]('already\x20fetched');return;}if(_0x5e88a5[_0x4deb7e(0x2bf)](_0x4deb7e(0x2c6))){console[_0x4deb7e(0x1fe)](_0x4deb7e(0x287));return;}_0x5e88a5[_0x4deb7e(0x1ef)](_0x4deb7e(0x2c6)),_0x5e88a5[_0x4deb7e(0x244)]('<div\x20class=\x22spinner\x22></div>');try{_0x5e88a5[_0x4deb7e(0x1da)]('ul')[_0x4deb7e(0x29d)]();const {references:_0x42bb79}=yield _0x4efb55(_0x5e88a5,_0x3670c9);_0x42bb79[_0x4deb7e(0x258)]((_0x524158,_0x51a0b2)=>{const _0x5b2f20=_0x4deb7e;var _0x49ac80,_0x2f3f7e;return(((_0x49ac80=_0x524158[_0x5b2f20(0x2d9)])===null||_0x49ac80===void 0x0?void 0x0:_0x49ac80['name'])||'')[_0x5b2f20(0x1fd)](((_0x2f3f7e=_0x51a0b2['browseName'])===null||_0x2f3f7e===void 0x0?void 0x0:_0x2f3f7e[_0x5b2f20(0x2c4)])||'');});for(const _0x1df1f3 of _0x42bb79){if(_0x2965fb['options']['filter']&&!_0x2965fb[_0x4deb7e(0x231)][_0x4deb7e(0x20e)](_0x1df1f3))continue;const _0xc754e6=_0xb45d99(_0x1df1f3);_0x5e88a5['children']('ul')[_0x4deb7e(0x244)](_0xc754e6);}_0x5e88a5[_0x4deb7e(0x1ef)](_0x4deb7e(0x1f5));}catch(_0x53d929){_0x5e88a5[_0x4deb7e(0x1da)]('ul')[_0x4deb7e(0x244)](_0x4deb7e(0x228)+_0x53d929[_0x4deb7e(0x22b)]+_0x4deb7e(0x1c7)),console[_0x4deb7e(0x1fe)](_0x4deb7e(0x264),_0x53d929);}_0x5e88a5[_0x4deb7e(0x22d)](_0x4deb7e(0x2b8))[_0x4deb7e(0x23d)](),_0x5e88a5[_0x4deb7e(0x27f)](_0x4deb7e(0x2c6));});}function _0x4212bb(_0x4d82eb){const _0x4790d=_0xd1a634,_0x1ebf32={'baseUrl':_0x4d82eb[_0x4790d(0x231)][_0x4790d(0x210)],'endpointNode':typeof _0x4d82eb['options'][_0x4790d(0x1cd)]===_0x4790d(0x2d8)?_0x4d82eb['options']['endpointNode']():_0x4d82eb[_0x4790d(0x231)][_0x4790d(0x1cd)],'endpoint':typeof _0x4d82eb['options'][_0x4790d(0x2e2)]===_0x4790d(0x2d8)?_0x4d82eb['options'][_0x4790d(0x2e2)]():_0x4d82eb['options'][_0x4790d(0x2e2)]};return _0x1ebf32;}function _0x4cc02f(_0x3c1a7c,_0x2b23c4){return _0x4e13de(this,void 0x0,void 0x0,function*(){const _0x458c01=_0x5067;if(_0x2b23c4[_0x458c01(0x2bf)](_0x458c01(0x1f5))){_0x2b23c4[_0x458c01(0x27f)](_0x458c01(0x294))[_0x458c01(0x1ef)](_0x458c01(0x1e7)),_0x2b23c4[_0x458c01(0x1da)]('ul')['toggle']();return;}const _0x1dc43e=_0x4212bb(_0x3c1a7c),_0xb60c13=!_0x3c1a7c[_0x458c01(0x231)][_0x458c01(0x1ee)]?_0x3056b9:_0x58ea18;try{yield _0x101671(_0x3c1a7c,_0x2b23c4,_0xb60c13,_0x1dc43e),_0x2b23c4[_0x458c01(0x27f)]('expandable')['addClass'](_0x458c01(0x1e7));}catch(_0x38417d){_0x2b23c4[_0x458c01(0x27f)](_0x458c01(0x294))[_0x458c01(0x1ef)](_0x458c01(0x1e7)),console[_0x458c01(0x1fe)](_0x458c01(0x284),_0x38417d);}});}const _0x4507fa={'browseName':{'namespaceIndex':0x0,'name':_0xd1a634(0x2b5)},'nodeClass':_0xd1a634(0x24c),'nodeId':_0xd1a634(0x221),'displayName':{'text':_0xd1a634(0x2b5)},'typeDefinition':_0xa38508},_0x4e7d4f=()=>{const _0x254e08=_0xd1a634;$[_0x254e08(0x21f)](_0x254e08(0x277),{'options':{'endpointNode':()=>({'endpoint':_0x254e08(0x296)}),'endpoint':()=>undefined,'parentNode':()=>_0x4507fa,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x4e13de(this,void 0x0,void 0x0,function*(){const _0x53fb83=_0x5067,_0x37b744=this;if(_0x37b744[_0x53fb83(0x2ba)]==undefined){const _0x5eea2d=typeof _0x37b744[_0x53fb83(0x231)][_0x53fb83(0x204)]===_0x53fb83(0x2d8)?_0x37b744['options'][_0x53fb83(0x204)][_0x53fb83(0x2ab)](_0x37b744):_0x37b744[_0x53fb83(0x231)]['parentNode'];if(_0x5eea2d instanceof Promise){const _0x2d4400=yield _0x5eea2d;_0x37b744[_0x53fb83(0x2ba)]=_0x2d4400;}else _0x37b744[_0x53fb83(0x2ba)]=_0x5eea2d;}return _0x37b744[_0x53fb83(0x2ba)]||_0x4507fa;});},'reset'(){return _0x4e13de(this,void 0x0,void 0x0,function*(){const _0x2b6040=_0x5067,_0x164e09=this,_0x1c5492=_0x164e09;_0x1c5492[_0x2b6040(0x2ba)]=undefined,_0x164e09[_0x2b6040(0x1ff)][_0x2b6040(0x29d)]();const _0x3329f5=yield this['resolveParentNode'](),_0x79eb51=_0xb45d99(_0x3329f5);_0x164e09['$tree'][_0x2b6040(0x244)](_0x79eb51),_0x164e09[_0x2b6040(0x222)]=_0x3329f5;});},'verify'(_0x3c722c){const _0x52aa26=_0x254e08,_0x28ea78=this,_0x5165f2=_0x4212bb(_0x28ea78);_0xd2807d(_0x5165f2,_0x3c722c,_0x28ea78['$input'],_0x28ea78[_0x52aa26(0x229)])[_0x52aa26(0x203)](_0x569ecb=>{const _0xba4ef3=_0x52aa26;!_0x569ecb?_0x28ea78[_0xba4ef3(0x2ae)]['addClass'](_0xba4ef3(0x1d9)):_0x28ea78[_0xba4ef3(0x2ae)]['removeClass'](_0xba4ef3(0x1d9));});},'_hideMenu'(_0x178700){const _0x2ecadb=_0x254e08,_0x40d986=this;$(document)['off'](_0x2ecadb(0x227)),_0x178700['hide'](),_0x178700['css']({'height':'auto'});if(_0x178700['opts'][_0x2ecadb(0x208)]){var _0x6b2ffa=[];_0x178700[_0x2ecadb(0x22d)](_0x2ecadb(0x20d))[_0x2ecadb(0x2dc)](function(){const _0x36f840=_0x2ecadb;$(this)[_0x36f840(0x262)](_0x36f840(0x2aa))&&_0x6b2ffa[_0x36f840(0x266)]($(this)[_0x36f840(0x2b6)](_0x36f840(0x2a3)));}),_0x178700['callback'](_0x6b2ffa);}_0x40d986[_0x2ecadb(0x2e1)]['is'](_0x2ecadb(0x1d8))?_0x40d986[_0x2ecadb(0x1c6)]['trigger'](_0x2ecadb(0x24f)):_0x40d986[_0x2ecadb(0x25e)][_0x2ecadb(0x28e)](_0x2ecadb(0x24f));},'_createMenu'(_0x4bbd0b,_0x5b2345,_0x1164af){const _0x2fd90c=_0x254e08;var _0x4fc092=this;const _0x1d2b2b=$(_0x2fd90c(0x2c1))[_0x2fd90c(0x1ef)](_0x2fd90c(0x2c2));return _0x1d2b2b[_0x2fd90c(0x249)]=_0x5b2345,_0x1d2b2b[_0x2fd90c(0x2b0)]=_0x1164af,_0x4bbd0b[_0x2fd90c(0x240)](_0x4a2d46=>{const _0x56c464=_0x2fd90c;typeof _0x4a2d46===_0x56c464(0x21a)&&(_0x4a2d46={'value':_0x4a2d46,'label':_0x4a2d46});var _0x4fb928=$('<a\x20href=\x22#\x22></a>')[_0x56c464(0x237)]('value',_0x4a2d46[_0x56c464(0x2a3)])['appendTo'](_0x1d2b2b);_0x4a2d46[_0x56c464(0x2c8)]&&_0x4fb928['text'](_0x4a2d46[_0x56c464(0x2c8)]);_0x4a2d46[_0x56c464(0x267)]&&_0x4fb928['prop'](_0x56c464(0x267),_0x4a2d46[_0x56c464(0x267)]);if(_0x4a2d46[_0x56c464(0x1e1)]){if(_0x4a2d46[_0x56c464(0x1e1)][_0x56c464(0x226)]('<')===0x0)$(_0x4a2d46[_0x56c464(0x1e1)])[_0x56c464(0x26e)](_0x4fb928);else _0x4a2d46['icon'][_0x56c464(0x226)]('/')!==-0x1?$(_0x56c464(0x29c),{'class':_0x56c464(0x200),'style':'mask-image:\x20url('+_0x4a2d46[_0x56c464(0x1e1)]+_0x56c464(0x1e3)+_0x4a2d46[_0x56c464(0x1e1)]+');'})[_0x56c464(0x26e)](_0x4fb928):$(_0x56c464(0x29c),{'class':_0x56c464(0x25c)+_0x4a2d46[_0x56c464(0x1e1)]})[_0x56c464(0x26e)](_0x4fb928);}else _0x4fb928[_0x56c464(0x2df)]({'paddingLeft':_0x56c464(0x276)});!_0x4a2d46[_0x56c464(0x1e1)]&&!_0x4a2d46[_0x56c464(0x2c8)]&&_0x4fb928['text'](_0x4a2d46[_0x56c464(0x2a3)]);var _0x50065b;_0x5b2345[_0x56c464(0x208)]&&(_0x50065b=$(_0x56c464(0x292))['css'](_0x56c464(0x1dd),_0x56c464(0x1d2))[_0x56c464(0x2b6)](_0x56c464(0x2a3),_0x4a2d46['value'])['prependTo'](_0x4fb928)['on'](_0x56c464(0x1fb),function(_0x39a65d){const _0x515b00=_0x56c464;_0x39a65d[_0x515b00(0x201)]();})),_0x4fb928['on'](_0x56c464(0x281),function(_0x37a308){const _0x4ec7b9=_0x56c464;_0x37a308[_0x4ec7b9(0x201)](),_0x37a308[_0x4ec7b9(0x21d)](),!_0x5b2345['multiple']?(_0x1164af(_0x4a2d46[_0x4ec7b9(0x2a3)]),_0x4fc092[_0x4ec7b9(0x1f9)](_0x1d2b2b)):_0x50065b[_0x4ec7b9(0x262)](_0x4ec7b9(0x2aa),!_0x50065b[_0x4ec7b9(0x262)](_0x4ec7b9(0x2aa)));});}),_0x1d2b2b[_0x2fd90c(0x2df)]({'display':'none'}),_0x1d2b2b['on'](_0x2fd90c(0x253),function(_0x2e8112){const _0x40894c=_0x2fd90c;if(_0x2e8112[_0x40894c(0x1dc)]===0x28)_0x2e8112['preventDefault'](),$(this)[_0x40894c(0x1da)](':focus')[_0x40894c(0x29b)]()['trigger'](_0x40894c(0x24f));else{if(_0x2e8112[_0x40894c(0x1dc)]===0x26)_0x2e8112[_0x40894c(0x201)](),$(this)[_0x40894c(0x1da)](_0x40894c(0x256))['prev']()[_0x40894c(0x28e)](_0x40894c(0x24f));else _0x2e8112[_0x40894c(0x1dc)]===0x1b&&(_0x2e8112['preventDefault'](),_0x4fc092[_0x40894c(0x1f9)](_0x1d2b2b));}_0x2e8112[_0x40894c(0x21d)]();}),_0x1d2b2b;},'disarmClick':![],'_showMenu'(_0x4ca9f8,_0x24451b){const _0x13130e=_0x254e08;if(this[_0x13130e(0x24e)]){this[_0x13130e(0x24e)]=![];return;}var _0x158662=this,_0x33d39f=_0x24451b['offset'](),_0x196c93=_0x24451b['height'](),_0x20eedf=_0x4ca9f8[_0x13130e(0x2a1)](),_0x15e032=_0x196c93+_0x33d39f[_0x13130e(0x1c0)];_0x15e032+_0x20eedf-$(document)[_0x13130e(0x230)]()>$(window)[_0x13130e(0x2a1)]()&&(_0x15e032-=_0x15e032+_0x20eedf-$(window)[_0x13130e(0x2a1)]()+0x5),_0x15e032<0x0&&(_0x4ca9f8[_0x13130e(0x2a1)](_0x20eedf+_0x15e032),_0x15e032=0x0),_0x4ca9f8[_0x13130e(0x2df)]({'top':_0x15e032+'px','left':_0x33d39f[_0x13130e(0x2b4)]+'px'}),_0x4ca9f8[_0x13130e(0x1f1)](0x64),this[_0x13130e(0x2a7)](function(){const _0x1ae297=_0x13130e;_0x158662[_0x1ae297(0x1db)][_0x1ae297(0x1ef)](_0x1ae297(0x257)),$(document)['on'](_0x1ae297(0x227),function(_0x30271e){const _0x39e0d8=_0x1ae297;!$(_0x30271e['target'])[_0x39e0d8(0x1c9)](_0x4ca9f8)[_0x39e0d8(0x28f)]&&_0x158662['_hideMenu'](_0x4ca9f8),$(_0x30271e[_0x39e0d8(0x1f2)])['closest'](_0x24451b)[_0x39e0d8(0x28f)]&&(_0x158662[_0x39e0d8(0x24e)]=!![],_0x30271e[_0x39e0d8(0x201)]());});});},'_showTypeMenu'(){const _0x2d453b=_0x254e08,_0x43b1b8=this;this[_0x2d453b(0x278)](_0x43b1b8[_0x2d453b(0x1de)],_0x43b1b8[_0x2d453b(0x2ae)]),_0x43b1b8[_0x2d453b(0x2e3)]['hide']();const _0x390ad7=_0x43b1b8[_0x2d453b(0x1eb)];var _0x302415=_0x43b1b8[_0x2d453b(0x1de)][_0x2d453b(0x22d)](_0x2d453b(0x1e2)+_0x390ad7+'\x27');setTimeout(function(){const _0x9107e4=_0x2d453b;_0x302415[_0x9107e4(0x28e)](_0x9107e4(0x24f));},0x78);},'_initMenu'(){const _0x45cb0c=_0x254e08,_0x141baa=this;_0x141baa['$selectTrigger'][_0x45cb0c(0x237)]('tabindex',-0x1),_0x141baa[_0x45cb0c(0x25e)]['on'](_0x45cb0c(0x288),function(_0x18fd67){const _0x54fab1=_0x45cb0c;_0x18fd67[_0x54fab1(0x201)]();});_0x141baa[_0x45cb0c(0x1de)]&&_0x141baa[_0x45cb0c(0x1de)]['remove']();const _0x31833f=[{'label':_0x45cb0c(0x215),'value':'t','title':_0x45cb0c(0x217),'icon':_0x45cb0c(0x270)},{'label':_0x45cb0c(0x279),'value':'msg','title':'node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','icon':_0x45cb0c(0x1cf)},{'label':_0x45cb0c(0x2a0),'value':'n','icon':'<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20'},{'label':'Aliased\x20NodeId','value':'na','icon':_0x45cb0c(0x2e0)},{'label':_0x45cb0c(0x2ac),'value':_0x45cb0c(0x26d),'icon':_0x45cb0c(0x261)},{'label':_0x45cb0c(0x29f),'value':'b','icon':_0x45cb0c(0x273)},{'label':_0x45cb0c(0x2ca),'value':'ab','icon':'<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> '}],_0x243b65=_0x995465(_0x141baa[_0x45cb0c(0x1c6)][_0x45cb0c(0x2a2)]()),_0x5dcd01=_0x31833f[_0x45cb0c(0x22d)](_0x566deb=>_0x566deb[_0x45cb0c(0x2a3)]===_0x243b65);_0x141baa[_0x45cb0c(0x2a5)]['empty']()[_0x45cb0c(0x244)](_0x45cb0c(0x27b)+((_0x5dcd01===null||_0x5dcd01===void 0x0?void 0x0:_0x5dcd01[_0x45cb0c(0x267)])||'')+_0x45cb0c(0x28d)+((_0x5dcd01===null||_0x5dcd01===void 0x0?void 0x0:_0x5dcd01['icon'])||'')+_0x45cb0c(0x2b1)),_0x141baa['selectedMenuItem']=_0x243b65;const _0xe419c6=this;_0x141baa['$menu']=this[_0x45cb0c(0x250)](_0x31833f,{},_0x3397=>{const _0x177c24=_0x45cb0c,_0x5d8f38=_0x3187ed(_0x3397);_0x5d8f38&&_0xe419c6[_0x177c24(0x2d6)](_0x5d8f38);const _0x2dd0ad=_0x31833f['find'](_0x26726d=>_0x26726d[_0x177c24(0x2a3)]===_0x3397);_0x141baa[_0x177c24(0x1eb)]=_0x3397,_0x141baa[_0x177c24(0x2a5)]['empty']()[_0x177c24(0x244)](_0x177c24(0x27b)+((_0x2dd0ad===null||_0x2dd0ad===void 0x0?void 0x0:_0x2dd0ad[_0x177c24(0x267)])||'')+_0x177c24(0x28d)+((_0x2dd0ad===null||_0x2dd0ad===void 0x0?void 0x0:_0x2dd0ad[_0x177c24(0x1e1)])||'')+_0x177c24(0x2b1));}),_0x141baa[_0x45cb0c(0x1de)][_0x45cb0c(0x22e)](document['body']),_0x141baa[_0x45cb0c(0x1de)][_0x45cb0c(0x218)](),_0x141baa['$selectTrigger'][_0x45cb0c(0x2bd)]();},'mode'(){const _0x2e1b9b=_0x254e08,_0x28e6d4=this;return _0x3187ed(_0x28e6d4[_0x2e1b9b(0x1eb)]);},'setMode'(_0x408130){const _0x371be6=this,_0x2c95aa=_0x220a1d(_0x408130);_0x371be6['selectedMenuItem']=_0x2c95aa;},'_create'(){const _0x23559f=_0x254e08,_0x27ee04=this;_0x27ee04[_0x23559f(0x1c6)]=this['element'],_0x27ee04[_0x23559f(0x1c6)][_0x23559f(0x2df)]('border',_0x23559f(0x1d2)),_0x27ee04['$elementDiv']=_0x27ee04[_0x23559f(0x1c6)]['wrap'](_0x23559f(0x2c1))[_0x23559f(0x1fa)]()[_0x23559f(0x1ef)]('main-wrapper'),_0x27ee04[_0x23559f(0x2ae)]=$('<div/>'),_0x27ee04[_0x23559f(0x2ae)][_0x23559f(0x1ef)](_0x23559f(0x2c3)),_0x27ee04[_0x23559f(0x1c6)][_0x23559f(0x216)](_0x27ee04['$combo']),_0x27ee04[_0x23559f(0x251)]=$(_0x23559f(0x20c))[_0x23559f(0x1ef)]('sterfive-input-group'),_0x27ee04[_0x23559f(0x2ae)][_0x23559f(0x244)](_0x27ee04[_0x23559f(0x251)]),_0x27ee04['$inputGroup'][_0x23559f(0x244)](_0x27ee04['$input']),_0x27ee04[_0x23559f(0x252)]=$(_0x23559f(0x239)),_0x27ee04['$input'][_0x23559f(0x25f)](_0x27ee04[_0x23559f(0x252)]),_0x27ee04[_0x23559f(0x252)]['on'](_0x23559f(0x281),function(){return _0x4e13de(this,void 0x0,void 0x0,function*(){const _0x40624a=_0x5067;var _0x254844;let _0xf9f1f9=![],_0x480d28;!_0x27ee04['$dropdown']['is'](':visible')&&(_0x27ee04['$info'][_0x40624a(0x218)](),_0x480d28=yield _0x27ee04[_0x40624a(0x2e4)](),(_0x480d28!==_0x27ee04['currentParent']||((_0x254844=_0x27ee04['currentParent'])===null||_0x254844===void 0x0?void 0x0:_0x254844['nodeId'])!==_0x480d28[_0x40624a(0x1c8)])&&(yield _0x27ee04[_0x40624a(0x2be)]()),_0xf9f1f9=!![]),_0x27ee04['$dropdown'][_0x40624a(0x243)](),_0xf9f1f9&&(yield _0x469ee7(_0x27ee04,_0x480d28));});}),_0x27ee04[_0x23559f(0x285)]=$('<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>'),_0x27ee04[_0x23559f(0x1c6)][_0x23559f(0x25f)](_0x27ee04[_0x23559f(0x285)]),_0x27ee04[_0x23559f(0x285)]['on'](_0x23559f(0x281),()=>{const _0x51a09e=_0x23559f,_0x134894=_0x27ee04['mode']();if(!_0x134894)return;this[_0x51a09e(0x2d6)](_0x134894);});const _0x110355=_0x1e8c39=>_0x4e13de(this,void 0x0,void 0x0,function*(){const _0x29d432=_0x23559f,_0x2d434d=this;let _0xf16d5=_0x2d434d[_0x29d432(0x28c)]();if(!_0xf16d5)return;const _0x295d05=_0x4212bb(_0x2d434d),{data:_0x240e14,json:_0x59c29d}=yield _0x19e811(_0x295d05,_0x1e8c39);if(_0x240e14['status']!==0xc8)return;if(_0x59c29d[_0x29d432(0x1f4)][_0x29d432(0x213)](/Good/)){const _0x4a7591=_0x459f47(_0x59c29d,_0xf16d5);_0x2d434d[_0x29d432(0x1c6)]['val'](_0x4a7591),_0x2d434d['$input'][_0x29d432(0x28e)]('change');}});{_0x27ee04['$uiSelect']=$('<div>'),_0x27ee04[_0x23559f(0x1c6)][_0x23559f(0x27e)](_0x27ee04['$uiSelect']),_0x27ee04[_0x23559f(0x25e)]=$(_0x23559f(0x232))[_0x23559f(0x26e)](_0x27ee04['$uiSelect']),$(_0x23559f(0x1ea))[_0x23559f(0x243)](!![])[_0x23559f(0x22e)](_0x27ee04[_0x23559f(0x25e)]),_0x27ee04['$selectTrigger']['on'](_0x23559f(0x281),function(_0x48bcd6){const _0xdc6077=_0x23559f;_0x48bcd6[_0xdc6077(0x201)](),_0x48bcd6[_0xdc6077(0x21d)](),_0x27ee04[_0xdc6077(0x2a8)]();}),_0x27ee04['$selectTrigger']['on'](_0x23559f(0x253),function(_0x53e9d3){const _0x99fd25=_0x23559f;_0x53e9d3['keyCode']===0x28&&_0x27ee04['_showTypeMenu'](),_0x53e9d3[_0x99fd25(0x21d)]();})['on'](_0x23559f(0x24f),function(){const _0x21f8d5=_0x23559f;_0x27ee04[_0x21f8d5(0x1db)][_0x21f8d5(0x1ef)](_0x21f8d5(0x257));})['on'](_0x23559f(0x242),function(){const _0x5deb44=_0x23559f;_0x27ee04[_0x5deb44(0x1db)][_0x5deb44(0x27f)](_0x5deb44(0x257));}),_0x27ee04[_0x23559f(0x2a5)]=$('<span\x20class=\x22red-ui-typedInput-type-label\x22></span>')[_0x23559f(0x22e)](_0x27ee04[_0x23559f(0x25e)]);}this[_0x23559f(0x1c3)]();!_0x27ee04[_0x23559f(0x1c6)][_0x23559f(0x237)](_0x23559f(0x1ed))&&_0x27ee04[_0x23559f(0x1c6)][_0x23559f(0x237)]('placeholder','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20');_0x27ee04[_0x23559f(0x229)]=$(_0x23559f(0x25d)),_0x27ee04[_0x23559f(0x229)][_0x23559f(0x218)](),_0x27ee04[_0x23559f(0x2ae)][_0x23559f(0x244)](_0x27ee04[_0x23559f(0x229)]),_0x27ee04[_0x23559f(0x2e3)]=$(_0x23559f(0x20c))['addClass'](_0x23559f(0x20f))[_0x23559f(0x218)]()[_0x23559f(0x22e)](_0x27ee04[_0x23559f(0x2ae)]),_0x27ee04[_0x23559f(0x1ff)]=$(_0x23559f(0x20b))['appendTo'](_0x27ee04[_0x23559f(0x2e3)]),this[_0x23559f(0x2be)]();const _0xcf8184=(_0x59606e,_0x936747)=>{const _0x2ac9ac=_0x23559f,_0x1027b5=0x14,_0x149d2d=0x14,_0x2e329d=_0x59606e['offset'](),_0xe47118=_0x936747;if(_0xe47118[_0x2ac9ac(0x1ce)]>=_0x2e329d['left']&&_0xe47118[_0x2ac9ac(0x1ce)]<=_0x2e329d[_0x2ac9ac(0x2b4)]+_0x1027b5&&_0xe47118[_0x2ac9ac(0x2d1)]>=_0x2e329d[_0x2ac9ac(0x1c0)]&&_0xe47118['pageY']<=_0x2e329d['top']+_0x149d2d)return!![];return![];},_0x473021=_0x5d067a=>_0x4e13de(this,void 0x0,void 0x0,function*(){const _0x13d5e9=_0x23559f;if(_0x5d067a[_0x13d5e9(0x2bf)]('expandable'))_0x4cc02f(_0x27ee04,_0x5d067a);else{if(_0x5d067a[_0x13d5e9(0x2bf)](_0x13d5e9(0x1e7)))_0x5d067a[_0x13d5e9(0x1da)]('ul')[_0x13d5e9(0x243)](),_0x5d067a['toggleClass'](_0x13d5e9(0x233));else{if(_0x5d067a['children']('ul')[_0x13d5e9(0x1da)]()[_0x13d5e9(0x28f)]>0x0)_0x5d067a[_0x13d5e9(0x1da)]('ul')[_0x13d5e9(0x243)](),_0x5d067a[_0x13d5e9(0x1d4)](_0x13d5e9(0x233));else;}}});_0x27ee04[_0x23559f(0x1ff)]['on'](_0x23559f(0x286),'li',function(_0x325fdf){const _0x9dea58=_0x23559f;var _0x413884,_0x569b87;_0x325fdf['stopPropagation']();let _0xb199d7=$(this);if(_0xcf8184(_0xb199d7,_0x325fdf))_0x473021(_0xb199d7);else{const _0x48d99c=_0xb199d7[_0x9dea58(0x2b6)](_0x9dea58(0x2a3)),_0xf3f30a=_0xb199d7['data'](_0x9dea58(0x1d3));if(_0x27ee04['options'][_0x9dea58(0x23c)]&&!_0x27ee04[_0x9dea58(0x231)][_0x9dea58(0x23c)](_0xf3f30a))return;_0x27ee04['$input'][_0x9dea58(0x2b6)](_0x9dea58(0x1d3),_0xf3f30a),((_0x413884=_0xf3f30a[_0x9dea58(0x1cc)])===null||_0x413884===void 0x0?void 0x0:_0x413884[_0x9dea58(0x215)])||((_0x569b87=_0xf3f30a[_0x9dea58(0x2d9)])===null||_0x569b87===void 0x0?void 0x0:_0x569b87[_0x9dea58(0x2c4)])||_0xf3f30a['nodeId']['toString']();let _0x926873=_0x27ee04[_0x9dea58(0x28c)]();!_0x926873&&(_0x926873='nodeId',_0x27ee04[_0x9dea58(0x1ec)](_0x926873)),_0x110355(_0x48d99c)['then'](()=>{const _0x5fe27a=_0x9dea58;_0x27ee04[_0x5fe27a(0x2e3)]['hide']();})['catch'](_0x430a3a=>{const _0x4d5a6b=_0x9dea58;_0x27ee04[_0x4d5a6b(0x2e3)][_0x4d5a6b(0x218)]();});}}),_0x27ee04[_0x23559f(0x1ff)]['on'](_0x23559f(0x281),'li',function(_0x49902a){const _0x17b203=_0x23559f;_0x49902a[_0x17b203(0x21d)]();let _0x4fcb18=$(this);_0xcf8184(_0x4fcb18,_0x49902a)&&_0x473021(_0x4fcb18),_0x15f606(_0x27ee04,_0x4fcb18);}),$(document)['on'](_0x23559f(0x281),function(_0x23d8a2){const _0x57ee0f=_0x23559f;!$(_0x23d8a2[_0x57ee0f(0x1f2)])[_0x57ee0f(0x1c9)](_0x27ee04['$combo'])[_0x57ee0f(0x28f)]&&_0x27ee04[_0x57ee0f(0x2e3)][_0x57ee0f(0x218)]();});}});};function _0x3757ee(_0x27f832,_0x2845ce){const _0x4ba566=_0xd1a634,_0x4f509f=$(_0x4ba566(0x23f)),_0x1ab402=$(_0x4ba566(0x235)),_0xb17039=()=>{const _0x7f98eb=_0x4ba566,_0x1c8fe5=_0x27f832['nodes'][_0x7f98eb(0x291)](_0x4f509f[_0x7f98eb(0x2a2)]());_0x1ab402['empty']();if(!_0x1c8fe5||!_0x1c8fe5[_0x7f98eb(0x1d1)])return;for(const _0x300a10 of _0x1c8fe5[_0x7f98eb(0x1d1)]){const _0x4b20c1=_0x300a10[_0x7f98eb(0x2c4)]||_0x300a10['id'];$(_0x7f98eb(0x2bc),{'value':_0x300a10['id'],'label':_0x4b20c1,'selected':_0x300a10['id']===_0x2845ce[_0x7f98eb(0x2b3)]})[_0x7f98eb(0x215)](_0x4b20c1)[_0x7f98eb(0x22e)](_0x1ab402);}};_0xb17039(),_0x1ab402['on'](_0x4ba566(0x22a),()=>{const _0xf0e368=_0x4ba566;_0x2845ce[_0xf0e368(0x2b3)]=_0x1ab402[_0xf0e368(0x2a2)]();}),_0x4f509f['on'](_0x4ba566(0x22a),()=>{_0xb17039();});}const _0x537a75=()=>{const _0x1d5b2d=_0xd1a634,_0x607d96=$(_0x1d5b2d(0x23f)),_0x28f237=_0x607d96[_0x1d5b2d(0x2a2)](),_0x308293=RED[_0x1d5b2d(0x28b)][_0x1d5b2d(0x291)](_0x28f237);if(!_0x308293)return undefined;const {endpoint:_0x14b74b,securityMode:_0x530c29,securityPolicy:_0x3e9fc1,userIdentityType:_0x42e0b5,credentials:_0x33e9d4,namespaceAliases:_0x3cd6a6}=_0x308293,_0x1d894e={'endpoint':_0x14b74b,'securityMode':_0x530c29,'securityPolicy':_0x3e9fc1,'userIdentityType':_0x42e0b5,'credentials':_0x33e9d4,'namespaceAliases':_0x3cd6a6};return _0x1d894e;},_0x2e13b8=()=>{const _0x36f15c=_0xd1a634,_0x5759ea=$(_0x36f15c(0x23f)),_0x13acf4=_0x5759ea[_0x36f15c(0x2a2)](),_0x1efda6=_0x537a75();if(!_0x1efda6)return undefined;const _0x28fe33=_0x1efda6['namespaceAliases'];return Object[_0x36f15c(0x1d0)]({'namespaceAliases':_0x28fe33,'id':_0x13acf4},_0x1efda6);},_0x1340a7=()=>{return{'endpointNode':_0x2e13b8};},_0x1fce5d=()=>{const _0x2703ce=_0xd1a634,_0x2ce64f=$(_0x2703ce(0x26f));if(_0x2ce64f['length']){const _0x567645=$('<iframe></iframe>',{'src':'/opcua-for-node-red/support-frame.html','scrolling':'no','style':'background-color:transparent;overflow:hidden;border:3px','allowtransparency':_0x2703ce(0x2cd),'width':_0x2703ce(0x27c),'height':_0x2703ce(0x28a)});_0x2ce64f[_0x2703ce(0x244)](_0x567645),_0x567645[_0x2703ce(0x2df)]({'position':'absolute','right':_0x2703ce(0x207),'bottom':'16px'});}};RED[_0xd1a634(0x28b)][_0xd1a634(0x241)](_0xd1a634(0x1be),{'category':'opcua','color':'#C0DEED','align':_0xd1a634(0x29a),'icon':_0xd1a634(0x254),'paletteLabel':_0xd1a634(0x223),'defaults':{'inputs':{'value':0x1},'output':{'value':0x2},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':'OpcUa-Endpoint2'},'subscription':{'value':'','required':!![],'validate':_0x240d50=>{if(_0x240d50==='')return![];return!![];}},'startImmediately':{'value':!![],'required':!![]},'nodeId':{'value':_0xd1a634(0x2ad),'required':![],'validate':()=>!![]},'samplingInterval':{'value':0x3e8,'required':!![]},'discardOldest':{'value':!![],'required':!![]},'queueSize':{'value':0xa,'required':!![]}},'outputs':0x1,'label'(){const _0x3519ab=_0xd1a634;return this[_0x3519ab(0x2c4)]||_0x3519ab(0x1df);},'labelStyle'(){const _0x103312=_0xd1a634;return this[_0x103312(0x2c4)]?_0x103312(0x2c0):'';},'oneditprepare'(){const _0xb7a469=_0xd1a634,_0x4cd78b=this;_0x4e7d4f(),_0x1fce5d();const _0x4963d6=_0x4cd78b[_0xb7a469(0x298)];_0x4cd78b[_0xb7a469(0x27a)]=_0x4963d6?0x0:0x1,_0x3757ee(RED,this),$(_0xb7a469(0x27d))['on']('change',()=>{const _0x475c73=_0xb7a469,_0x4b203e=$(_0x475c73(0x1e5))[_0x475c73(0x262)](_0x475c73(0x2aa));_0x4b203e?$(_0x475c73(0x248))[_0x475c73(0x2a2)](0x0):$(_0x475c73(0x248))[_0x475c73(0x2a2)](0x1);});const _0x586a87=$('#node-input-nodeId');_0x586a87['nodeBrowser'](Object[_0xb7a469(0x1d0)](Object[_0xb7a469(0x1d0)]({},_0x1340a7()),{'filter'(_0x11e774){const _0x25b53a=_0xb7a469;return _0x11e774[_0x25b53a(0x282)]==='Variable'||_0x11e774['nodeClass']==='Object';},'isSelectable'(_0x17542a){const _0x132aa5=_0xb7a469;return _0x17542a[_0x132aa5(0x282)]===_0x132aa5(0x259);}}));},'oneditsave'(){const _0x12d9ff=_0xd1a634,_0x15554f=$('#node-input-startImmediately')[_0x12d9ff(0x262)]('checked');_0x15554f?($('#node-input-startImmediately')[_0x12d9ff(0x2a2)](_0x15554f?0x0:0x1),this[_0x12d9ff(0x27a)]=_0x15554f?0x0:0x1):($('#node-input-startImmediately')[_0x12d9ff(0x2a2)](0x1),this[_0x12d9ff(0x27a)]=0x1);}});}()));
|
9
8
|
</script>
|
10
9
|
<script type="text/x-red" data-template-name="OpcUa-Client2-Monitor">
|
11
10
|
<style>
|