@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(_0x2e99eb,_0x2040c5){const _0x46c7de=_0x5ad4,_0x3b1b27=_0x2e99eb();while(!![]){try{const _0x38ca16=-parseInt(_0x46c7de(0x1d0))/0x1+parseInt(_0x46c7de(0x289))/0x2+-parseInt(_0x46c7de(0x257))/0x3*(-parseInt(_0x46c7de(0x1e4))/0x4)+parseInt(_0x46c7de(0x2ed))/0x5+parseInt(_0x46c7de(0x26e))/0x6*(parseInt(_0x46c7de(0x2eb))/0x7)+parseInt(_0x46c7de(0x255))/0x8+parseInt(_0x46c7de(0x206))/0x9*(-parseInt(_0x46c7de(0x1f4))/0xa);if(_0x38ca16===_0x2040c5)break;else _0x3b1b27['push'](_0x3b1b27['shift']());}catch(_0x5b89df){_0x3b1b27['push'](_0x3b1b27['shift']());}}}(_0x14e2,0xa3723),(function(){'use strict';const _0x36fdab=_0x5ad4;function _0x27bbcb(_0x421dba,_0x591ff0,_0x4cad89,_0x7946b){function _0x4c3277(_0x3decf1){return _0x3decf1 instanceof _0x4cad89?_0x3decf1:new _0x4cad89(function(_0xa091b4){_0xa091b4(_0x3decf1);});}return new(_0x4cad89||(_0x4cad89=Promise))(function(_0x466c5b,_0x1dddc4){const _0x40658a=_0x5ad4;function _0x429d20(_0x20cf42){const _0x2fca6d=_0x5ad4;try{_0x325d32(_0x7946b[_0x2fca6d(0x1f5)](_0x20cf42));}catch(_0x444754){_0x1dddc4(_0x444754);}}function _0x4b365f(_0x3bac6c){const _0x3eba64=_0x5ad4;try{_0x325d32(_0x7946b[_0x3eba64(0x2b9)](_0x3bac6c));}catch(_0x50dd63){_0x1dddc4(_0x50dd63);}}function _0x325d32(_0x56c227){const _0x39f09f=_0x5ad4;_0x56c227[_0x39f09f(0x237)]?_0x466c5b(_0x56c227[_0x39f09f(0x1fc)]):_0x4c3277(_0x56c227['value'])[_0x39f09f(0x2c4)](_0x429d20,_0x4b365f);}_0x325d32((_0x7946b=_0x7946b[_0x40658a(0x28e)](_0x421dba,_0x591ff0||[]))[_0x40658a(0x1f5)]());});}typeof SuppressedError===_0x36fdab(0x229)?SuppressedError:function(_0x582ccf,_0x4ba579,_0x39c14f){const _0x2b0af7=_0x36fdab;var _0x1642cd=new Error(_0x39c14f);return _0x1642cd[_0x2b0af7(0x208)]=_0x2b0af7(0x1be),_0x1642cd[_0x2b0af7(0x1df)]=_0x582ccf,_0x1642cd[_0x2b0af7(0x1d4)]=_0x4ba579,_0x1642cd;};const _0x458811='ns=0;i=35',_0x303694=_0x36fdab(0x2de),_0x26d365=_0x36fdab(0x1dd),_0x40e374=_0x36fdab(0x2b2),_0x4c9bbd=_0x36fdab(0x1e5),_0x14fa55=_0x36fdab(0x1f7),_0x557806=_0x36fdab(0x223);var _0x12ac56;(function(_0x5ef929){const _0x1047aa=_0x36fdab;_0x5ef929[_0x5ef929[_0x1047aa(0x20d)]=0x0]=_0x1047aa(0x20d),_0x5ef929[_0x5ef929[_0x1047aa(0x1d1)]=0x1]=_0x1047aa(0x1d1),_0x5ef929[_0x5ef929[_0x1047aa(0x253)]=0x2]=_0x1047aa(0x253),_0x5ef929[_0x5ef929[_0x1047aa(0x211)]=0x3]=_0x1047aa(0x211);}(_0x12ac56||(_0x12ac56={})));var _0x335cdf;(function(_0x508c7d){const _0x994a48=_0x36fdab;_0x508c7d[_0x508c7d[_0x994a48(0x283)]=0x0]=_0x994a48(0x283),_0x508c7d[_0x508c7d[_0x994a48(0x1fa)]=0x1]=_0x994a48(0x1fa),_0x508c7d[_0x508c7d[_0x994a48(0x2c8)]=0x2]=_0x994a48(0x2c8),_0x508c7d[_0x508c7d[_0x994a48(0x280)]=0x4]=_0x994a48(0x280),_0x508c7d[_0x508c7d[_0x994a48(0x2e0)]=0x8]=_0x994a48(0x2e0),_0x508c7d[_0x508c7d['VariableType']=0x10]=_0x994a48(0x2e6),_0x508c7d[_0x508c7d['ReferenceType']=0x20]=_0x994a48(0x225),_0x508c7d[_0x508c7d[_0x994a48(0x23b)]=0x40]='DataType',_0x508c7d[_0x508c7d['View']=0x80]=_0x994a48(0x1d5);}(_0x335cdf||(_0x335cdf={})));var _0x3bb77b;(function(_0x43f688){const _0x22ce09=_0x36fdab;_0x43f688[_0x43f688[_0x22ce09(0x1fa)]=0x1]=_0x22ce09(0x1fa),_0x43f688[_0x43f688['Variable']=0x2]=_0x22ce09(0x2c8),_0x43f688[_0x43f688['Method']=0x4]=_0x22ce09(0x280),_0x43f688[_0x43f688[_0x22ce09(0x2e0)]=0x8]='ObjectType',_0x43f688[_0x43f688[_0x22ce09(0x2e6)]=0x10]='VariableType',_0x43f688[_0x43f688[_0x22ce09(0x225)]=0x20]='ReferenceType',_0x43f688[_0x43f688[_0x22ce09(0x23b)]=0x40]=_0x22ce09(0x23b),_0x43f688[_0x43f688[_0x22ce09(0x1d5)]=0x80]='View';}(_0x3bb77b||(_0x3bb77b={})));var _0x4a15f8;(function(_0x5abd9a){const _0x1e9aca=_0x36fdab;_0x5abd9a[_0x5abd9a['ReferenceType']=0x1]=_0x1e9aca(0x225),_0x5abd9a[_0x5abd9a[_0x1e9aca(0x22c)]=0x2]=_0x1e9aca(0x22c),_0x5abd9a[_0x5abd9a[_0x1e9aca(0x236)]=0x4]='NodeClass',_0x5abd9a[_0x5abd9a[_0x1e9aca(0x2b8)]=0x8]=_0x1e9aca(0x2b8),_0x5abd9a[_0x5abd9a[_0x1e9aca(0x2f4)]=0x10]=_0x1e9aca(0x2f4),_0x5abd9a[_0x5abd9a[_0x1e9aca(0x1bc)]=0x20]=_0x1e9aca(0x1bc);}(_0x4a15f8||(_0x4a15f8={})));function _0x442612(_0x5787ff){const _0x364514=_0x36fdab;switch(_0x5787ff){case _0x364514(0x1e9):return _0x458811;case _0x364514(0x2cb):return _0x40e374;case _0x364514(0x215):return _0x26d365;case _0x364514(0x292):return _0x4c9bbd;case'HasSubtype':return _0x14fa55;case _0x364514(0x28b):return _0x557806;}}const _0x13780b=_0xe680ef=>{const _0x2a4ada=_0x36fdab;switch(_0xe680ef[_0x2a4ada(0x25d)]){case _0x2a4ada(0x1fa):if(_0xe680ef[_0x2a4ada(0x275)]===_0x458811);if(_0xe680ef[_0x2a4ada(0x2df)]===_0x303694||_0xe680ef['referenceTypeId']==='i=61')return{'icon':_0x2a4ada(0x29d),'color':_0x2a4ada(0x284)};return{'icon':'fa-object-group','color':'SeaGreen'};case _0x2a4ada(0x2c8):if(_0xe680ef['referenceTypeId']===_0x26d365)return{'icon':'fa-list-alt','color':_0x2a4ada(0x1b2)};else return _0xe680ef[_0x2a4ada(0x275)]===_0x40e374?{'icon':'fa-list-alt','color':'DodgerBlue'}:{'icon':'fa-list-alt','color':'CadetBlue'};case _0x2a4ada(0x280):return{'icon':'fa-cog','color':'SandyBrown'};case _0x2a4ada(0x2e0):return{'icon':_0x2a4ada(0x205),'color':'DarkOrange'};case _0x2a4ada(0x2e6):return{'icon':_0x2a4ada(0x1c7),'color':'DarkOrange'};case _0x2a4ada(0x23b):return{'icon':_0x2a4ada(0x200),'color':'CadetBlue'};}return{'icon':_0x2a4ada(0x2a3),'color':_0x2a4ada(0x26f)};},_0x54600d=(_0x746f0a,_0x198910,_0x1bee54)=>_0x27bbcb(void 0x0,[_0x746f0a,_0x198910,_0x1bee54],void 0x0,function*({endpointNode:_0x3625b8,endpoint:_0x23e3c9,baseUrl:_0x49e43c},_0x14f06e,_0x3f77d4){const _0x2a6ea1=_0x36fdab,_0x100bac=_0x49e43c+_0x2a6ea1(0x1c5),_0x5e5b68=_0x100bac+_0x2a6ea1(0x23d),_0xf89f62=Object[_0x2a6ea1(0x2c9)](Object[_0x2a6ea1(0x2c9)]({},_0x3f77d4),{'nodeId':_0x14f06e,'resultMask':0x3f}),_0x3d358d=yield fetch(_0x5e5b68,{'method':_0x2a6ea1(0x2d7),'body':JSON['stringify']({'endpointNode':_0x3625b8,'endpoint':_0x23e3c9,'browseDescription':_0xf89f62}),'headers':{'Content-Type':'application/json'}});if(_0x3d358d[_0x2a6ea1(0x21d)]!==0xc8)return console[_0x2a6ea1(0x252)](_0x2a6ea1(0x1f8),_0x3d358d[_0x2a6ea1(0x21d)],_0x3d358d[_0x2a6ea1(0x267)]),{'references':[]};const _0x127543=yield _0x3d358d[_0x2a6ea1(0x1b1)](),_0x2a2e57=_0x127543[_0x2a6ea1(0x1c0)][_0x2a6ea1(0x1ea)]||[];return{'references':_0x2a2e57};}),_0x48add6={'referenceTypeId':_0x442612(_0x36fdab(0x292)),'includeSubtypes':!![],'browseDirection':_0x12ac56[_0x36fdab(0x20d)],'nodeClassMask':_0x335cdf['Variable']|_0x335cdf['Object']|_0x335cdf[_0x36fdab(0x280)],'resultMask':0x3f},_0x29e39b={'referenceTypeId':_0x442612(_0x36fdab(0x1e9)),'includeSubtypes':!![],'browseDirection':_0x12ac56['Forward'],'nodeClassMask':_0x335cdf[_0x36fdab(0x2c8)]|_0x335cdf[_0x36fdab(0x1fa)]|_0x335cdf[_0x36fdab(0x280)],'resultMask':0x3f},_0x4af0bd=(_0x1cdbbe,_0x186774)=>_0x27bbcb(void 0x0,[_0x1cdbbe,_0x186774],void 0x0,function*({endpointNode:_0x14b56b,endpoint:_0x3af230,baseUrl:_0x2dd97c},{nodeId:_0x183cff,rootNodeId:_0x3fc506,isType:_0x447577}){const _0x12ffe=_0x36fdab,_0x2d5454=_0x2dd97c+_0x12ffe(0x1c5),_0x4354e4=_0x2d5454+_0x12ffe(0x286),_0x2c4fd2=yield fetch(_0x4354e4,{'method':_0x12ffe(0x2d7),'body':JSON[_0x12ffe(0x1d2)]({'endpointNode':_0x14b56b,'endpoint':_0x3af230,'nodeId':_0x183cff,'rootNodeId':_0x3fc506,'isType':_0x447577}),'headers':{'Content-Type':_0x12ffe(0x2d6)}});if(_0x2c4fd2[_0x12ffe(0x21d)]!==0xc8)return null;const _0x3ba226=yield _0x2c4fd2['json']();return _0x3ba226['browsePath'];}),_0x1f66ce=(_0x134ff4,_0x30af39)=>{const _0x238074=_0x36fdab;if(_0x134ff4['statusCode']!==_0x238074(0x273))return _0x134ff4[_0x238074(0x1e7)];switch(_0x30af39){case'browsePath':return _0x134ff4[_0x238074(0x1b9)];case _0x238074(0x27e):return _0x134ff4[_0x238074(0x1dc)]||_0x134ff4['bp_indexed'];case _0x238074(0x1af):return _0x134ff4['nodeId_aliased']||_0x134ff4[_0x238074(0x2c2)];case _0x238074(0x240):return _0x134ff4['nodeId_nsu'];default:case _0x238074(0x26a):return _0x134ff4[_0x238074(0x26a)];}},_0x435dd4=_0x51e37d=>{const _0x4b1be6=_0x36fdab;if(_0x51e37d['statusCode']!==_0x4b1be6(0x273))return _0x4b1be6(0x279)+_0x51e37d[_0x4b1be6(0x2c3)];else{let _0x5cc34e=[];return _0x5cc34e[_0x4b1be6(0x210)](_0x4b1be6(0x239)+_0x51e37d[_0x4b1be6(0x26a)]),_0x5cc34e[_0x4b1be6(0x210)](_0x4b1be6(0x266)+_0x51e37d[_0x4b1be6(0x1b9)]),_0x5cc34e['push']('node\x20class:\x20'+_0x335cdf[_0x51e37d[_0x4b1be6(0x25d)]]),_0x51e37d[_0x4b1be6(0x2c2)]&&_0x5cc34e['push']('nsu\x20nodeId:\x20'+_0x51e37d[_0x4b1be6(0x2c2)]),_0x51e37d[_0x4b1be6(0x2d2)]&&_0x5cc34e['push']('aliased\x20NodeId:\x20'+_0x51e37d['nodeId_aliased']),_0x51e37d['bp_indexed']&&_0x5cc34e[_0x4b1be6(0x210)](_0x4b1be6(0x235)+_0x51e37d[_0x4b1be6(0x1dc)]),_0x5cc34e['join']('\x0a');}};function _0x457166(_0x399a76){const _0x57932d=_0x36fdab;if(_0x399a76['match'](/^nsu=/))return _0x57932d(0x240);if(_0x399a76[_0x57932d(0x1c9)](/^(ns=.*;)?(i|b|s|g)=/))return _0x57932d(0x26a);if(_0x399a76[_0x57932d(0x1c9)](/^nsa=/))return _0x57932d(0x1af);if(_0x399a76[_0x57932d(0x1c9)](/^(\/|\.)[0-9]+:/))return _0x57932d(0x1f3);if(_0x399a76[_0x57932d(0x1c9)](/^(\/|\.).*:/))return _0x57932d(0x1f3);}function _0xbeb75c(_0x1edf36){const _0x204df2=_0x36fdab,_0x62443=_0x457166(_0x1edf36);switch(_0x62443){case _0x204df2(0x26a):return'n';case _0x204df2(0x1af):return'na';case _0x204df2(0x240):return _0x204df2(0x2d5);case _0x204df2(0x1f3):return'b';case _0x204df2(0x27e):return'ab';default:return't';}}function _0x357c88(_0x9fdb57){const _0x3bd298=_0x36fdab;let _0x25956b;switch(_0x9fdb57){case'n':_0x25956b='nodeId';break;case'na':_0x25956b=_0x3bd298(0x1af);break;case _0x3bd298(0x2d5):_0x25956b=_0x3bd298(0x240);break;case'b':_0x25956b=_0x3bd298(0x1f3);break;case'ab':_0x25956b='aliasedBrowsePath';break;}return _0x25956b;}function _0x523413(_0x1607fa){const _0x2bba40=_0x36fdab;switch(_0x1607fa){case _0x2bba40(0x26a):return'n';case'aliasedNodeId':return'na';case _0x2bba40(0x240):return _0x2bba40(0x2d5);case _0x2bba40(0x1f3):return'b';case'aliasedBrowsePath':return'ab';default:return't';}}const _0x5f20e7=(_0x52f48c,_0x5ea620)=>_0x27bbcb(void 0x0,[_0x52f48c,_0x5ea620],void 0x0,function*({endpointNode:_0x22e68a,endpoint:_0x1cb58c,baseUrl:_0x37c5d1},_0x1996b5){const _0x31979e=_0x36fdab,_0x4fe087=_0x37c5d1+_0x31979e(0x1c5),_0x108e67=_0x4fe087+'/checkNodeId',_0x4b1da9=_0x22e68a['id'],_0x4772b3=RED[_0x31979e(0x2a0)][_0x31979e(0x1f2)](_0x4b1da9);console[_0x31979e(0x252)](_0x4772b3[_0x31979e(0x2d0)]),_0x4772b3[_0x31979e(0x2d0)];const _0x47e93b=_0x22e68a[_0x31979e(0x2d0)],_0x39c619=yield fetch(_0x108e67,{'method':_0x31979e(0x2d7),'body':JSON[_0x31979e(0x1d2)]({'endpointNode':_0x22e68a,'endpoint':_0x1cb58c,'nodeId':_0x1996b5,'namespaceAliases':_0x47e93b}),'headers':{'Content-Type':'application/json'}}),_0xc5aaa7=yield _0x39c619[_0x31979e(0x1b1)]();return{'json':_0xc5aaa7,'data':_0x39c619};}),_0x24a4d2=(_0x5b68fe,_0x42e642,_0x1eef2b,_0x2632d4)=>_0x27bbcb(void 0x0,[_0x5b68fe,_0x42e642,_0x1eef2b,_0x2632d4],void 0x0,function*({endpointNode:_0x5aaee9,endpoint:_0x3b578c,baseUrl:_0x27ca8a},_0x9cf2ae,_0xc85713,_0x18706c){const _0x33223f=_0x36fdab,_0x49bee3=_0xc85713['val'](),{json:_0xcbb099,data:_0x236626}=yield _0x5f20e7({'endpointNode':_0x5aaee9,'endpoint':_0x3b578c,'baseUrl':_0x27ca8a},_0x49bee3),_0x29c315=(_0x5d4616,_0x3c98ba)=>{const _0x11da22=_0x5ad4;_0x18706c['text'](_0x5d4616)[_0x11da22(0x207)](_0x11da22(0x2ca))[_0x11da22(0x207)](_0x3c98ba),_0x18706c['show'](),setTimeout(()=>{const _0x427630=_0x11da22;_0x18706c[_0x427630(0x2db)](_0x3c98ba),_0x18706c[_0x427630(0x222)]();},0xbb8);};if(_0x236626[_0x33223f(0x21d)]!==0xc8)return _0x29c315(_0x33223f(0x20e)+_0x49bee3,'failure'),![];else{if(_0xcbb099['statusCode']['match'](/Good/)){const _0x53c7ac=_0x435dd4(_0xcbb099);_0xc85713[_0x33223f(0x21b)](_0x33223f(0x232),_0x53c7ac);const _0x1ebc3d=_0x1f66ce(_0xcbb099,_0x9cf2ae);return _0xc85713[_0x33223f(0x2f5)](_0x1ebc3d),_0xc85713[_0x33223f(0x1f9)](_0x33223f(0x293)),_0x29c315(_0x33223f(0x273),'ok'),!![];}else return _0xc85713['val'](''+_0x49bee3),_0x29c315(_0xcbb099[_0x33223f(0x2c3)]+'\x20'+_0x236626['statusText'],_0x33223f(0x298)),![];}});function _0x29c0e0(_0x204796,_0x3b388f){return _0x27bbcb(this,void 0x0,void 0x0,function*(){const _0x182a4d=_0x5ad4,_0x5057ca=_0x204796['data']('value'),_0x46029c=yield _0x54600d(_0x3b388f,_0x5057ca,_0x48add6),_0xb11ae2=yield _0x54600d(_0x3b388f,_0x5057ca,_0x29e39b);return{'references':[..._0x46029c[_0x182a4d(0x1ea)],..._0xb11ae2['references']]};});}const _0x1c7637={'referenceTypeId':_0x442612(_0x36fdab(0x294)),'includeSubtypes':!![],'browseDirection':_0x12ac56[_0x36fdab(0x20d)],'nodeClassMask':_0x335cdf['ReferenceType']|_0x335cdf[_0x36fdab(0x2e0)]|_0x335cdf[_0x36fdab(0x23b)]|_0x335cdf['VariableType'],'resultMask':0x3f};function _0x385261(_0x1a675a,_0x4fe4eb){return _0x27bbcb(this,void 0x0,void 0x0,function*(){const _0x61bf12=_0x5ad4,_0x807d43=_0x1a675a[_0x61bf12(0x2c1)](_0x61bf12(0x1fc)),_0x474d38=yield _0x54600d(_0x4fe4eb,_0x807d43,_0x1c7637);return _0x474d38;});}const _0x3839bf=_0x2024be=>{const _0x5454ee=_0x36fdab;var _0x820560,_0x21fd15,_0x7fb342,_0x225c2b;if(!_0x2024be||!_0x2024be[_0x5454ee(0x26a)]){const _0x43757f=$('<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>');return _0x43757f;}const _0x276a6d=_0x2024be[_0x5454ee(0x26a)][_0x5454ee(0x1b5)](),_0x40801f=((_0x820560=_0x2024be[_0x5454ee(0x251)])===null||_0x820560===void 0x0?void 0x0:_0x820560[_0x5454ee(0x1e8)])||((_0x21fd15=_0x2024be[_0x5454ee(0x2a8)])===null||_0x21fd15===void 0x0?void 0x0:_0x21fd15[_0x5454ee(0x208)])||_0x2024be['nodeId'][_0x5454ee(0x1b5)](),{icon:_0x3fb194,color:_0x4a85aa}=_0x13780b(_0x2024be),_0x12e626='('+_0x2024be['nodeId'][_0x5454ee(0x1b5)]()+')\x20'+(((_0x7fb342=_0x2024be[_0x5454ee(0x2a8)])===null||_0x7fb342===void 0x0?void 0x0:_0x7fb342[_0x5454ee(0x208)])||((_0x225c2b=_0x2024be[_0x5454ee(0x251)])===null||_0x225c2b===void 0x0?void 0x0:_0x225c2b[_0x5454ee(0x1e8)])||''),_0x4f8c3e=$(_0x5454ee(0x1ed)+_0x2024be['nodeId'][_0x5454ee(0x1b5)]()+_0x5454ee(0x2ef)+_0x12e626+'><i\x20class=\x22fa\x20'+_0x3fb194+_0x5454ee(0x1c1)+_0x4a85aa+_0x5454ee(0x2ec)+_0x40801f+'</span><ul></ul></li>');return _0x4f8c3e['addClass'](_0x5454ee(0x2dc)),_0x4f8c3e[_0x5454ee(0x2c1)]('value',_0x276a6d),_0x4f8c3e[_0x5454ee(0x2c1)](_0x5454ee(0x2ae),_0x2024be),_0x4f8c3e;},_0x1804f5=(_0x5e1f5d,_0x51e49f)=>{const _0x2b98ea=_0x36fdab;return _0x51e49f[_0x2b98ea(0x1ff)]('li[key=\x22'+_0x5e1f5d+'\x22]');},_0x4b9220=(_0x1da259,_0x26e456)=>{const _0x5ebea2=_0x36fdab;_0x1da259[_0x5ebea2(0x217)][_0x5ebea2(0x1ff)](_0x5ebea2(0x1ba))[_0x5ebea2(0x2db)](_0x5ebea2(0x247)),_0x26e456[_0x5ebea2(0x1ff)]('.tree-text:first')[_0x5ebea2(0x207)](_0x5ebea2(0x247));},_0x527187=(_0x1050d7,_0x4016ab,_0x53b102)=>_0x27bbcb(void 0x0,void 0x0,void 0x0,function*(){const _0x5cd321=_0x36fdab;let _0x2cff0c=_0x53b102['children'](_0x5cd321(0x1bb));_0x4016ab[_0x5cd321(0x264)][_0x5cd321(0x2ea)]||[];const _0x15f0a8=_0x4016ab[_0x5cd321(0x231)]||[];if(_0x15f0a8[_0x5cd321(0x228)]===0x0)return;for(const _0x466502 of _0x15f0a8){_0x2cff0c['hasClass'](_0x5cd321(0x2dc))&&(yield _0x43808d(_0x1050d7,_0x2cff0c));const _0x13647e=_0x1804f5(_0x466502,_0x2cff0c);if(_0x13647e['length']===0x0)return;_0x2cff0c=_0x13647e;}_0x4b9220(_0x1050d7,_0x2cff0c),_0x4ae316(_0x1050d7[_0x5cd321(0x2f1)],_0x2cff0c);});function _0x4ae316(_0x1de8e3,_0x4092a0){const _0x482bbd=_0x36fdab,_0x264f85=_0x4092a0['position']()['top'],_0x19a773=_0x1de8e3['scrollTop']();if(_0x19a773==undefined)return;const _0x9dc980=_0x19a773+_0x264f85-_0x1de8e3['height']()/0x2+_0x4092a0[_0x482bbd(0x2af)]()/0x2;_0x1de8e3[_0x482bbd(0x2e1)]({'scrollTop':_0x9dc980},0x1f4);}const _0x285f4f=(_0x212f3c,_0x19ea7d)=>_0x27bbcb(void 0x0,void 0x0,void 0x0,function*(){const _0x7cd285=_0x36fdab,_0xac439b=_0x212f3c[_0x7cd285(0x22e)][_0x7cd285(0x2f5)](),_0x5300a6={'nodeId':_0xac439b,'rootNodeId':_0x19ea7d[_0x7cd285(0x26a)],'isType':_0x212f3c[_0x7cd285(0x25f)][_0x7cd285(0x23a)]||![]},_0x2dffe3=_0x5ae71e(_0x212f3c),_0xcf0bae=yield _0x4af0bd(_0x2dffe3,_0x5300a6);if(!_0xcf0bae)return;yield _0x527187(_0x212f3c,_0xcf0bae,_0x212f3c[_0x7cd285(0x217)]);});function _0x123298(_0x53667d,_0x38e048,_0x36c663,_0x19b076){return _0x27bbcb(this,void 0x0,void 0x0,function*(){const _0xdddcc3=_0x5ad4;if(_0x38e048['hasClass']('fetched')){console[_0xdddcc3(0x252)](_0xdddcc3(0x28c));return;}if(_0x38e048[_0xdddcc3(0x2c0)](_0xdddcc3(0x1cd))){console['log'](_0xdddcc3(0x28d));return;}_0x38e048[_0xdddcc3(0x207)](_0xdddcc3(0x1cd)),_0x38e048[_0xdddcc3(0x1e0)](_0xdddcc3(0x2bd));try{_0x38e048[_0xdddcc3(0x2ad)]('ul')[_0xdddcc3(0x2d8)]();const {references:_0x5ad6d8}=yield _0x36c663(_0x38e048,_0x19b076);_0x5ad6d8['sort']((_0xff0178,_0x3ab4ab)=>{const _0x44429a=_0xdddcc3;var _0x726c52,_0x28c6eb;return(((_0x726c52=_0xff0178[_0x44429a(0x2a8)])===null||_0x726c52===void 0x0?void 0x0:_0x726c52[_0x44429a(0x208)])||'')[_0x44429a(0x2d3)](((_0x28c6eb=_0x3ab4ab['browseName'])===null||_0x28c6eb===void 0x0?void 0x0:_0x28c6eb[_0x44429a(0x208)])||'');});for(const _0x4f5309 of _0x5ad6d8){if(_0x53667d[_0xdddcc3(0x25f)]['filter']&&!_0x53667d['options'][_0xdddcc3(0x1b4)](_0x4f5309))continue;const _0x5b64dd=_0x3839bf(_0x4f5309);_0x38e048['children']('ul')[_0xdddcc3(0x1e0)](_0x5b64dd);}_0x38e048['addClass']('fetched');}catch(_0x539606){_0x38e048[_0xdddcc3(0x2ad)]('ul')[_0xdddcc3(0x1e0)](_0xdddcc3(0x22d)+_0x539606[_0xdddcc3(0x27a)]+_0xdddcc3(0x248)),console[_0xdddcc3(0x252)]('err',_0x539606);}_0x38e048['find']('.spinner')[_0xdddcc3(0x1f6)](),_0x38e048[_0xdddcc3(0x2db)](_0xdddcc3(0x1cd));});}function _0x5ae71e(_0x3462d2){const _0x24aa4a=_0x36fdab,_0x29f556={'baseUrl':_0x3462d2['options'][_0x24aa4a(0x23f)],'endpointNode':typeof _0x3462d2[_0x24aa4a(0x25f)][_0x24aa4a(0x21c)]===_0x24aa4a(0x229)?_0x3462d2['options'][_0x24aa4a(0x21c)]():_0x3462d2[_0x24aa4a(0x25f)][_0x24aa4a(0x21c)],'endpoint':typeof _0x3462d2[_0x24aa4a(0x25f)][_0x24aa4a(0x245)]===_0x24aa4a(0x229)?_0x3462d2[_0x24aa4a(0x25f)]['endpoint']():_0x3462d2[_0x24aa4a(0x25f)][_0x24aa4a(0x245)]};return _0x29f556;}function _0x43808d(_0x5cfcd3,_0x8e7da2){return _0x27bbcb(this,void 0x0,void 0x0,function*(){const _0x36fbbe=_0x5ad4;if(_0x8e7da2[_0x36fbbe(0x2c0)](_0x36fbbe(0x2e3))){_0x8e7da2['removeClass']('expandable')[_0x36fbbe(0x207)](_0x36fbbe(0x2dd)),_0x8e7da2[_0x36fbbe(0x2ad)]('ul')[_0x36fbbe(0x1b6)]();return;}const _0x31d9cc=_0x5ae71e(_0x5cfcd3),_0x4e006d=!_0x5cfcd3['options'][_0x36fbbe(0x23a)]?_0x29c0e0:_0x385261;try{yield _0x123298(_0x5cfcd3,_0x8e7da2,_0x4e006d,_0x31d9cc),_0x8e7da2[_0x36fbbe(0x2db)](_0x36fbbe(0x2dc))[_0x36fbbe(0x207)](_0x36fbbe(0x2dd));}catch(_0x3f2e2a){_0x8e7da2[_0x36fbbe(0x2db)](_0x36fbbe(0x2dc))[_0x36fbbe(0x207)](_0x36fbbe(0x2dd)),console['log'](_0x36fbbe(0x1df),_0x3f2e2a);}});}const _0x13f87c={'browseName':{'namespaceIndex':0x0,'name':_0x36fdab(0x249)},'nodeClass':_0x36fdab(0x1fa),'nodeId':_0x36fdab(0x24c),'displayName':{'text':_0x36fdab(0x249)},'typeDefinition':_0x303694},_0x1de50b=()=>{const _0x5acdd0=_0x36fdab;$[_0x5acdd0(0x2aa)](_0x5acdd0(0x1d3),{'options':{'endpointNode':()=>({'endpoint':'opc.tcp://opcuademo.sterfive.com:26543'}),'endpoint':()=>undefined,'parentNode':()=>_0x13f87c,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x27bbcb(this,void 0x0,void 0x0,function*(){const _0x3f17b2=_0x5ad4,_0x14b360=this;if(_0x14b360[_0x3f17b2(0x241)]==undefined){const _0x13543d=typeof _0x14b360['options'][_0x3f17b2(0x22f)]===_0x3f17b2(0x229)?_0x14b360[_0x3f17b2(0x25f)][_0x3f17b2(0x22f)]['call'](_0x14b360):_0x14b360[_0x3f17b2(0x25f)][_0x3f17b2(0x22f)];if(_0x13543d instanceof Promise){const _0x36e9b6=yield _0x13543d;_0x14b360[_0x3f17b2(0x241)]=_0x36e9b6;}else _0x14b360['__parentNode']=_0x13543d;}return _0x14b360[_0x3f17b2(0x241)]||_0x13f87c;});},'reset'(){return _0x27bbcb(this,void 0x0,void 0x0,function*(){const _0x2e67e2=_0x5ad4,_0x717322=this,_0x1b32b1=_0x717322;_0x1b32b1[_0x2e67e2(0x241)]=undefined,_0x717322[_0x2e67e2(0x217)][_0x2e67e2(0x2d8)]();const _0x39883a=yield this[_0x2e67e2(0x20b)](),_0x4ce27c=_0x3839bf(_0x39883a);_0x717322['$tree'][_0x2e67e2(0x1e0)](_0x4ce27c),_0x717322[_0x2e67e2(0x24d)]=_0x39883a;});},'verify'(_0x2d3bed){const _0x106b91=_0x5acdd0,_0x3f0aef=this,_0xb16bdb=_0x5ae71e(_0x3f0aef);_0x24a4d2(_0xb16bdb,_0x2d3bed,_0x3f0aef[_0x106b91(0x22e)],_0x3f0aef[_0x106b91(0x20c)])[_0x106b91(0x2c4)](_0x3a0c0a=>{const _0x41ba46=_0x106b91;!_0x3a0c0a?_0x3f0aef[_0x41ba46(0x2a6)][_0x41ba46(0x207)]('sterfive-input-error'):_0x3f0aef[_0x41ba46(0x2a6)][_0x41ba46(0x2db)]('sterfive-input-error');});},'_hideMenu'(_0x233b65){const _0x7a5776=_0x5acdd0,_0xbc5aec=this;$(document)[_0x7a5776(0x1bd)](_0x7a5776(0x2cc)),_0x233b65['hide'](),_0x233b65[_0x7a5776(0x23c)]({'height':'auto'});if(_0x233b65[_0x7a5776(0x214)][_0x7a5776(0x244)]){var _0x4eca9b=[];_0x233b65[_0x7a5776(0x1ff)]('input[type=\x22checkbox\x22]')[_0x7a5776(0x1fb)](function(){const _0x102726=_0x7a5776;$(this)[_0x102726(0x272)](_0x102726(0x1b7))&&_0x4eca9b[_0x102726(0x210)]($(this)['data'](_0x102726(0x1fc)));}),_0x233b65['callback'](_0x4eca9b);}_0xbc5aec['$elementDiv']['is'](_0x7a5776(0x22a))?_0xbc5aec[_0x7a5776(0x22e)][_0x7a5776(0x1f9)](_0x7a5776(0x21e)):_0xbc5aec[_0x7a5776(0x268)]['trigger'](_0x7a5776(0x21e));},'_createMenu'(_0x529dba,_0x3feff6,_0x20ac27){const _0x1c8fdf=_0x5acdd0;var _0x4336ea=this;const _0x23f750=$(_0x1c8fdf(0x2cf))[_0x1c8fdf(0x207)](_0x1c8fdf(0x27f));return _0x23f750[_0x1c8fdf(0x214)]=_0x3feff6,_0x23f750[_0x1c8fdf(0x2e7)]=_0x20ac27,_0x529dba[_0x1c8fdf(0x2d4)](_0x1bce3b=>{const _0x4cc407=_0x1c8fdf;typeof _0x1bce3b===_0x4cc407(0x2c6)&&(_0x1bce3b={'value':_0x1bce3b,'label':_0x1bce3b});var _0xdf7af=$(_0x4cc407(0x201))[_0x4cc407(0x21b)]('value',_0x1bce3b[_0x4cc407(0x1fc)])['appendTo'](_0x23f750);_0x1bce3b[_0x4cc407(0x233)]&&_0xdf7af['text'](_0x1bce3b['label']);_0x1bce3b['title']&&_0xdf7af[_0x4cc407(0x272)](_0x4cc407(0x232),_0x1bce3b['title']);if(_0x1bce3b['icon']){if(_0x1bce3b[_0x4cc407(0x2ab)][_0x4cc407(0x2b6)]('<')===0x0)$(_0x1bce3b[_0x4cc407(0x2ab)])['prependTo'](_0xdf7af);else _0x1bce3b[_0x4cc407(0x2ab)][_0x4cc407(0x2b6)]('/')!==-0x1?$(_0x4cc407(0x1f0),{'class':_0x4cc407(0x24f),'style':_0x4cc407(0x2a1)+_0x1bce3b[_0x4cc407(0x2ab)]+_0x4cc407(0x1f1)+_0x1bce3b[_0x4cc407(0x2ab)]+');'})[_0x4cc407(0x287)](_0xdf7af):$(_0x4cc407(0x1f0),{'class':_0x4cc407(0x224)+_0x1bce3b['icon']})[_0x4cc407(0x287)](_0xdf7af);}else _0xdf7af[_0x4cc407(0x23c)]({'paddingLeft':_0x4cc407(0x20f)});!_0x1bce3b[_0x4cc407(0x2ab)]&&!_0x1bce3b['label']&&_0xdf7af[_0x4cc407(0x1e8)](_0x1bce3b[_0x4cc407(0x1fc)]);var _0x253212;_0x3feff6[_0x4cc407(0x244)]&&(_0x253212=$(_0x4cc407(0x25e))[_0x4cc407(0x23c)](_0x4cc407(0x1da),_0x4cc407(0x238))[_0x4cc407(0x2c1)](_0x4cc407(0x1fc),_0x1bce3b[_0x4cc407(0x1fc)])[_0x4cc407(0x287)](_0xdf7af)['on'](_0x4cc407(0x2ba),function(_0x41b877){_0x41b877['preventDefault']();})),_0xdf7af['on'](_0x4cc407(0x263),function(_0x40530b){const _0x425386=_0x4cc407;_0x40530b['preventDefault'](),_0x40530b[_0x425386(0x2c7)](),!_0x3feff6[_0x425386(0x244)]?(_0x20ac27(_0x1bce3b[_0x425386(0x1fc)]),_0x4336ea['_hideMenu'](_0x23f750)):_0x253212[_0x425386(0x272)]('checked',!_0x253212['prop'](_0x425386(0x1b7)));});}),_0x23f750[_0x1c8fdf(0x23c)]({'display':_0x1c8fdf(0x238)}),_0x23f750['on'](_0x1c8fdf(0x29c),function(_0x719324){const _0x35c49d=_0x1c8fdf;if(_0x719324[_0x35c49d(0x282)]===0x28)_0x719324[_0x35c49d(0x250)](),$(this)[_0x35c49d(0x2ad)](_0x35c49d(0x2da))[_0x35c49d(0x1f5)]()['trigger'](_0x35c49d(0x21e));else{if(_0x719324['keyCode']===0x26)_0x719324[_0x35c49d(0x250)](),$(this)['children'](_0x35c49d(0x2da))[_0x35c49d(0x2ac)]()[_0x35c49d(0x1f9)](_0x35c49d(0x21e));else _0x719324[_0x35c49d(0x282)]===0x1b&&(_0x719324['preventDefault'](),_0x4336ea[_0x35c49d(0x2cd)](_0x23f750));}_0x719324['stopPropagation']();}),_0x23f750;},'disarmClick':![],'_showMenu'(_0x567314,_0x278869){const _0x513212=_0x5acdd0;if(this[_0x513212(0x2e9)]){this['disarmClick']=![];return;}var _0x136341=this,_0x2fc399=_0x278869[_0x513212(0x2a7)](),_0x55df51=_0x278869[_0x513212(0x2af)](),_0x55f519=_0x567314[_0x513212(0x2af)](),_0x27dba1=_0x55df51+_0x2fc399[_0x513212(0x27c)];_0x27dba1+_0x55f519-$(document)[_0x513212(0x2b1)]()>$(window)[_0x513212(0x2af)]()&&(_0x27dba1-=_0x27dba1+_0x55f519-$(window)[_0x513212(0x2af)]()+0x5),_0x27dba1<0x0&&(_0x567314['height'](_0x55f519+_0x27dba1),_0x27dba1=0x0),_0x567314[_0x513212(0x23c)]({'top':_0x27dba1+'px','left':_0x2fc399[_0x513212(0x1d6)]+'px'}),_0x567314['slideDown'](0x64),this[_0x513212(0x26b)](function(){const _0x2aee88=_0x513212;_0x136341[_0x2aee88(0x265)][_0x2aee88(0x207)](_0x2aee88(0x276)),$(document)['on'](_0x2aee88(0x2cc),function(_0x397912){const _0x2cbc98=_0x2aee88;!$(_0x397912['target'])[_0x2cbc98(0x1cf)](_0x567314)[_0x2cbc98(0x228)]&&_0x136341[_0x2cbc98(0x2cd)](_0x567314),$(_0x397912[_0x2cbc98(0x2e8)])[_0x2cbc98(0x1cf)](_0x278869)[_0x2cbc98(0x228)]&&(_0x136341[_0x2cbc98(0x2e9)]=!![],_0x397912['preventDefault']());});});},'_showTypeMenu'(){const _0x53c54e=_0x5acdd0,_0x247c38=this;this[_0x53c54e(0x2e5)](_0x247c38[_0x53c54e(0x20a)],_0x247c38[_0x53c54e(0x2a6)]),_0x247c38[_0x53c54e(0x2f1)][_0x53c54e(0x222)]();const _0x31d6af=_0x247c38['selectedMenuItem'];var _0x5b1abf=_0x247c38['$menu'][_0x53c54e(0x1ff)](_0x53c54e(0x218)+_0x31d6af+'\x27');setTimeout(function(){const _0x1992bd=_0x53c54e;_0x5b1abf['trigger'](_0x1992bd(0x21e));},0x78);},'_initMenu'(){const _0x5a664c=_0x5acdd0,_0x3b6cf6=this;_0x3b6cf6[_0x5a664c(0x268)][_0x5a664c(0x21b)]('tabindex',-0x1),_0x3b6cf6[_0x5a664c(0x268)]['on'](_0x5a664c(0x291),function(_0x230cbd){_0x230cbd['preventDefault']();});_0x3b6cf6[_0x5a664c(0x20a)]&&_0x3b6cf6['$menu']['remove']();const _0x3c7e5c=[{'label':_0x5a664c(0x1e8),'value':'t','title':'Value\x20is\x20not\x20verified','icon':'<i\x20class=\x22fa\x20fa-font\x22/i>\x20'},{'label':_0x5a664c(0x290),'value':_0x5a664c(0x285),'title':_0x5a664c(0x254),'icon':_0x5a664c(0x212)},{'label':_0x5a664c(0x256),'value':'n','icon':_0x5a664c(0x246)},{'label':_0x5a664c(0x213),'value':'na','icon':_0x5a664c(0x2b4)},{'label':_0x5a664c(0x25a),'value':_0x5a664c(0x2d5),'icon':_0x5a664c(0x2e4)},{'label':_0x5a664c(0x1ec),'value':'b','icon':_0x5a664c(0x29e)},{'label':_0x5a664c(0x226),'value':'ab','icon':'<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> '}],_0x364961=_0xbeb75c(_0x3b6cf6['$input'][_0x5a664c(0x2f5)]()),_0x43a719=_0x3c7e5c[_0x5a664c(0x1ff)](_0x4b74f1=>_0x4b74f1['value']===_0x364961);_0x3b6cf6['$selectLabel'][_0x5a664c(0x2d8)]()[_0x5a664c(0x1e0)](_0x5a664c(0x24b)+((_0x43a719===null||_0x43a719===void 0x0?void 0x0:_0x43a719[_0x5a664c(0x232)])||'')+_0x5a664c(0x1e6)+((_0x43a719===null||_0x43a719===void 0x0?void 0x0:_0x43a719[_0x5a664c(0x2ab)])||'')+_0x5a664c(0x21f)),_0x3b6cf6['selectedMenuItem']=_0x364961;const _0x383051=this;_0x3b6cf6[_0x5a664c(0x20a)]=this[_0x5a664c(0x2be)](_0x3c7e5c,{},_0x5ea472=>{const _0x32aeca=_0x5a664c,_0x220996=_0x357c88(_0x5ea472);_0x220996&&_0x383051[_0x32aeca(0x288)](_0x220996);const _0x29892b=_0x3c7e5c['find'](_0x21c433=>_0x21c433[_0x32aeca(0x1fc)]===_0x5ea472);_0x3b6cf6[_0x32aeca(0x277)]=_0x5ea472,_0x3b6cf6[_0x32aeca(0x2b5)][_0x32aeca(0x2d8)]()[_0x32aeca(0x1e0)](_0x32aeca(0x24b)+((_0x29892b===null||_0x29892b===void 0x0?void 0x0:_0x29892b['title'])||'')+'> \x20'+((_0x29892b===null||_0x29892b===void 0x0?void 0x0:_0x29892b[_0x32aeca(0x2ab)])||'')+_0x32aeca(0x21f));}),_0x3b6cf6[_0x5a664c(0x20a)]['appendTo'](document['body']),_0x3b6cf6[_0x5a664c(0x20a)]['hide'](),_0x3b6cf6['$selectTrigger'][_0x5a664c(0x1cb)]();},'mode'(){const _0x27b5e3=this;return _0x357c88(_0x27b5e3['selectedMenuItem']);},'setMode'(_0x47649b){const _0x59666d=_0x5acdd0,_0x3f3afc=this,_0x46b9d6=_0x523413(_0x47649b);_0x3f3afc[_0x59666d(0x277)]=_0x46b9d6;},'_create'(){const _0x388bb4=_0x5acdd0,_0xc1e00b=this;_0xc1e00b['$input']=this[_0x388bb4(0x299)],_0xc1e00b[_0x388bb4(0x22e)]['css']('border',_0x388bb4(0x238)),_0xc1e00b[_0x388bb4(0x1fd)]=_0xc1e00b[_0x388bb4(0x22e)][_0x388bb4(0x2bf)](_0x388bb4(0x2cf))['parent']()['addClass']('main-wrapper'),_0xc1e00b[_0x388bb4(0x2a6)]=$(_0x388bb4(0x297)),_0xc1e00b['$combo'][_0x388bb4(0x207)]('sterfive-combo-box'),_0xc1e00b['$input'][_0x388bb4(0x29f)](_0xc1e00b['$combo']),_0xc1e00b[_0x388bb4(0x259)]=$(_0x388bb4(0x297))[_0x388bb4(0x207)](_0x388bb4(0x219)),_0xc1e00b[_0x388bb4(0x2a6)][_0x388bb4(0x1e0)](_0xc1e00b['$inputGroup']),_0xc1e00b['$inputGroup'][_0x388bb4(0x1e0)](_0xc1e00b[_0x388bb4(0x22e)]),_0xc1e00b[_0x388bb4(0x269)]=$(_0x388bb4(0x2f0)),_0xc1e00b[_0x388bb4(0x22e)][_0x388bb4(0x230)](_0xc1e00b[_0x388bb4(0x269)]),_0xc1e00b[_0x388bb4(0x269)]['on'](_0x388bb4(0x263),function(){return _0x27bbcb(this,void 0x0,void 0x0,function*(){const _0x5ba35a=_0x5ad4;var _0x1c4bea;let _0x24eb81=![],_0x355802;!_0xc1e00b[_0x5ba35a(0x2f1)]['is'](_0x5ba35a(0x22a))&&(_0xc1e00b['$info'][_0x5ba35a(0x222)](),_0x355802=yield _0xc1e00b[_0x5ba35a(0x20b)](),(_0x355802!==_0xc1e00b[_0x5ba35a(0x24d)]||((_0x1c4bea=_0xc1e00b[_0x5ba35a(0x24d)])===null||_0x1c4bea===void 0x0?void 0x0:_0x1c4bea[_0x5ba35a(0x26a)])!==_0x355802[_0x5ba35a(0x26a)])&&(yield _0xc1e00b[_0x5ba35a(0x227)]()),_0x24eb81=!![]),_0xc1e00b[_0x5ba35a(0x2f1)][_0x5ba35a(0x1b6)](),_0x24eb81&&(yield _0x285f4f(_0xc1e00b,_0x355802));});}),_0xc1e00b['$verifyBtn']=$(_0x388bb4(0x21a)),_0xc1e00b[_0x388bb4(0x22e)][_0x388bb4(0x230)](_0xc1e00b[_0x388bb4(0x2ce)]),_0xc1e00b[_0x388bb4(0x2ce)]['on']('click',()=>{const _0x2e9a3e=_0x388bb4,_0x3d4654=_0xc1e00b[_0x2e9a3e(0x1d9)]();if(!_0x3d4654)return;this['verify'](_0x3d4654);});const _0x4e434e=_0x2e0bd5=>_0x27bbcb(this,void 0x0,void 0x0,function*(){const _0x16c5f1=_0x388bb4,_0x1bb9ef=this;let _0x51a89a=_0x1bb9ef[_0x16c5f1(0x1d9)]();if(!_0x51a89a)return;const _0x9e8aa8=_0x5ae71e(_0x1bb9ef),{data:_0x1b18a6,json:_0x5ea77e}=yield _0x5f20e7(_0x9e8aa8,_0x2e0bd5);if(_0x1b18a6[_0x16c5f1(0x21d)]!==0xc8)return;if(_0x5ea77e[_0x16c5f1(0x2c3)][_0x16c5f1(0x1c9)](/Good/)){const _0x13b622=_0x1f66ce(_0x5ea77e,_0x51a89a);_0x1bb9ef[_0x16c5f1(0x22e)]['val'](_0x13b622),_0x1bb9ef[_0x16c5f1(0x22e)][_0x16c5f1(0x1f9)](_0x16c5f1(0x293));}});{_0xc1e00b[_0x388bb4(0x265)]=$(_0x388bb4(0x2cf)),_0xc1e00b[_0x388bb4(0x22e)]['before'](_0xc1e00b[_0x388bb4(0x265)]),_0xc1e00b[_0x388bb4(0x268)]=$(_0x388bb4(0x1cc))[_0x388bb4(0x287)](_0xc1e00b['$uiSelect']),$(_0x388bb4(0x220))['toggle'](!![])[_0x388bb4(0x2b7)](_0xc1e00b['$selectTrigger']),_0xc1e00b['$selectTrigger']['on'](_0x388bb4(0x263),function(_0x3fb11e){const _0x326ae7=_0x388bb4;_0x3fb11e['preventDefault'](),_0x3fb11e[_0x326ae7(0x2c7)](),_0xc1e00b[_0x326ae7(0x2e2)]();}),_0xc1e00b['$selectTrigger']['on'](_0x388bb4(0x29c),function(_0x480f8a){const _0x1e13b0=_0x388bb4;_0x480f8a[_0x1e13b0(0x282)]===0x28&&_0xc1e00b[_0x1e13b0(0x2e2)](),_0x480f8a[_0x1e13b0(0x2c7)]();})['on']('focus',function(){const _0x1b7741=_0x388bb4;_0xc1e00b[_0x1b7741(0x265)]['addClass']('red-ui-typedInput-focus');})['on'](_0x388bb4(0x1b8),function(){const _0x4e2450=_0x388bb4;_0xc1e00b[_0x4e2450(0x265)][_0x4e2450(0x2db)](_0x4e2450(0x276));}),_0xc1e00b[_0x388bb4(0x2b5)]=$('<span\x20class=\x22red-ui-typedInput-type-label\x22></span>')[_0x388bb4(0x2b7)](_0xc1e00b[_0x388bb4(0x268)]);}this[_0x388bb4(0x28f)]();!_0xc1e00b[_0x388bb4(0x22e)]['attr'](_0x388bb4(0x2a4))&&_0xc1e00b['$input'][_0x388bb4(0x21b)](_0x388bb4(0x2a4),'enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20');_0xc1e00b[_0x388bb4(0x20c)]=$(_0x388bb4(0x295)),_0xc1e00b[_0x388bb4(0x20c)]['hide'](),_0xc1e00b['$combo'][_0x388bb4(0x1e0)](_0xc1e00b[_0x388bb4(0x20c)]),_0xc1e00b[_0x388bb4(0x2f1)]=$(_0x388bb4(0x297))['addClass'](_0x388bb4(0x281))[_0x388bb4(0x222)]()[_0x388bb4(0x2b7)](_0xc1e00b[_0x388bb4(0x2a6)]),_0xc1e00b['$tree']=$(_0x388bb4(0x270))[_0x388bb4(0x2b7)](_0xc1e00b[_0x388bb4(0x2f1)]),this['reset']();const _0x272c1e=(_0x530846,_0x403e23)=>{const _0x57a107=_0x388bb4,_0x3103cc=0x14,_0x1c2ac0=0x14,_0x59d2c6=_0x530846[_0x57a107(0x2a7)](),_0x1ab517=_0x403e23;if(_0x1ab517[_0x57a107(0x2a2)]>=_0x59d2c6[_0x57a107(0x1d6)]&&_0x1ab517[_0x57a107(0x2a2)]<=_0x59d2c6[_0x57a107(0x1d6)]+_0x3103cc&&_0x1ab517[_0x57a107(0x296)]>=_0x59d2c6['top']&&_0x1ab517['pageY']<=_0x59d2c6['top']+_0x1c2ac0)return!![];return![];},_0x237b16=_0x1116e5=>_0x27bbcb(this,void 0x0,void 0x0,function*(){const _0x2b0cc2=_0x388bb4;if(_0x1116e5[_0x2b0cc2(0x2c0)](_0x2b0cc2(0x2dc)))_0x43808d(_0xc1e00b,_0x1116e5);else{if(_0x1116e5[_0x2b0cc2(0x2c0)](_0x2b0cc2(0x2dd)))_0x1116e5['children']('ul')[_0x2b0cc2(0x1b6)](),_0x1116e5['toggleClass'](_0x2b0cc2(0x271));else{if(_0x1116e5[_0x2b0cc2(0x2ad)]('ul')[_0x2b0cc2(0x2ad)]()[_0x2b0cc2(0x228)]>0x0)_0x1116e5[_0x2b0cc2(0x2ad)]('ul')[_0x2b0cc2(0x1b6)](),_0x1116e5[_0x2b0cc2(0x1de)](_0x2b0cc2(0x271));else;}}});_0xc1e00b['$tree']['on'](_0x388bb4(0x2c5),'li',function(_0x25918d){const _0x273223=_0x388bb4;var _0x41ab1c,_0x2ed837;_0x25918d[_0x273223(0x2c7)]();let _0x501cd7=$(this);if(_0x272c1e(_0x501cd7,_0x25918d))_0x237b16(_0x501cd7);else{const _0x5f3e03=_0x501cd7[_0x273223(0x2c1)](_0x273223(0x1fc)),_0x247fae=_0x501cd7[_0x273223(0x2c1)](_0x273223(0x2ae));if(_0xc1e00b['options'][_0x273223(0x25c)]&&!_0xc1e00b[_0x273223(0x25f)][_0x273223(0x25c)](_0x247fae))return;_0xc1e00b[_0x273223(0x22e)][_0x273223(0x2c1)](_0x273223(0x2ae),_0x247fae),((_0x41ab1c=_0x247fae[_0x273223(0x251)])===null||_0x41ab1c===void 0x0?void 0x0:_0x41ab1c[_0x273223(0x1e8)])||((_0x2ed837=_0x247fae[_0x273223(0x2a8)])===null||_0x2ed837===void 0x0?void 0x0:_0x2ed837[_0x273223(0x208)])||_0x247fae[_0x273223(0x26a)][_0x273223(0x1b5)]();let _0x2cd107=_0xc1e00b[_0x273223(0x1d9)]();!_0x2cd107&&(_0x2cd107=_0x273223(0x26a),_0xc1e00b[_0x273223(0x202)](_0x2cd107)),_0x4e434e(_0x5f3e03)['then'](()=>{const _0x50f452=_0x273223;_0xc1e00b[_0x50f452(0x2f1)][_0x50f452(0x222)]();})[_0x273223(0x2bb)](_0x95b52a=>{const _0xb9d4e=_0x273223;_0xc1e00b[_0xb9d4e(0x2f1)][_0xb9d4e(0x222)]();});}}),_0xc1e00b[_0x388bb4(0x217)]['on'](_0x388bb4(0x263),'li',function(_0xc2dab7){const _0xb038b4=_0x388bb4;_0xc2dab7[_0xb038b4(0x2c7)]();let _0x29fa3d=$(this);_0x272c1e(_0x29fa3d,_0xc2dab7)&&_0x237b16(_0x29fa3d),_0x4b9220(_0xc1e00b,_0x29fa3d);}),$(document)['on'](_0x388bb4(0x263),function(_0x27198a){const _0x4bd259=_0x388bb4;!$(_0x27198a[_0x4bd259(0x2e8)])[_0x4bd259(0x1cf)](_0xc1e00b[_0x4bd259(0x2a6)])[_0x4bd259(0x228)]&&_0xc1e00b[_0x4bd259(0x2f1)][_0x4bd259(0x222)]();});}});},_0x54ff30=()=>{const _0x4f7717=_0x36fdab,_0x234311=$(_0x4f7717(0x1c8)),_0x5e2a6c=_0x234311[_0x4f7717(0x2f5)](),_0x357ffb=RED[_0x4f7717(0x2a0)][_0x4f7717(0x1f2)](_0x5e2a6c);if(!_0x357ffb)return undefined;const {endpoint:_0xcdd7f1,securityMode:_0x5d98be,securityPolicy:_0x59dd1a,userIdentityType:_0xe90a8,credentials:_0x5165a4,namespaceAliases:_0x339469}=_0x357ffb,_0x47ebe7={'endpoint':_0xcdd7f1,'securityMode':_0x5d98be,'securityPolicy':_0x59dd1a,'userIdentityType':_0xe90a8,'credentials':_0x5165a4,'namespaceAliases':_0x339469};return _0x47ebe7;},_0x67c1c2=()=>{const _0x1e946e=_0x36fdab,_0xb1fd93=$('#node-input-endpoint'),_0x1c8969=_0xb1fd93[_0x1e946e(0x2f5)](),_0x556492=_0x54ff30();if(!_0x556492)return undefined;const _0x3bff84=_0x556492[_0x1e946e(0x2d0)];return Object[_0x1e946e(0x2c9)]({'namespaceAliases':_0x3bff84,'id':_0x1c8969},_0x556492);},_0x1e9a44=()=>{return{'endpointNode':_0x67c1c2};},_0x5e78bc=()=>{const _0x24ba47=_0x36fdab,_0x2450cb=$('.red-ui-tray-body');console[_0x24ba47(0x252)]('installFeedbackWidget\x20',_0x2450cb[_0x24ba47(0x228)]);if(_0x2450cb[_0x24ba47(0x228)]){console['log'](_0x24ba47(0x2f2));const _0x29cda4=$(_0x24ba47(0x2ee),{'src':_0x24ba47(0x2d1),'scrolling':'no','style':'background-color:transparent;overflow:hidden;border:3px','allowtransparency':_0x24ba47(0x258),'width':'180px','height':_0x24ba47(0x29b)});_0x2450cb[_0x24ba47(0x1e0)](_0x29cda4),_0x29cda4[_0x24ba47(0x23c)]({'position':_0x24ba47(0x1c4),'right':_0x24ba47(0x1ac),'bottom':_0x24ba47(0x27d)});}};RED[_0x36fdab(0x2a0)][_0x36fdab(0x24a)](_0x36fdab(0x2a9),{'category':_0x36fdab(0x203),'color':'#C0DEED','align':_0x36fdab(0x1d8),'icon':_0x36fdab(0x1ca),'paletteLabel':_0x36fdab(0x26c),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x36fdab(0x274)},'historyReadParam':{'value':{'type':'raw','endTime':_0x36fdab(0x242),'startTime':_0x36fdab(0x262),'numValuesPerNode':0x64,'returnBounds':!![]},'required':!![],'validate':_0x2bc0c7=>{if(_0x2bc0c7==='')return![];return!![];}},'nodeId':{'value':'','required':![]},'outputType':{'value':_0x36fdab(0x26d),'required':!![]}},'outputs':0x2,'label'(){const _0x1017b1=_0x36fdab;return this['name']||_0x1017b1(0x261);},'labelStyle'(){const _0x501831=_0x36fdab;return this[_0x501831(0x208)]?_0x501831(0x221):'';},'oneditprepare'(){const _0x3590de=_0x36fdab,_0x2f28e0=this;_0x1de50b(),_0x5e78bc(),_0x2f28e0['inputs']=0x1;const _0x129ca9=$(_0x3590de(0x1bf));_0x129ca9['nodeBrowser'](Object[_0x3590de(0x2c9)](Object[_0x3590de(0x2c9)]({},_0x1e9a44()),{'isSelectable'(_0x5afcae){const _0x3af9f8=_0x3590de;return _0x5afcae[_0x3af9f8(0x25d)]===_0x3af9f8(0x2c8);}})),$('#select-history-type')[_0x3590de(0x2f5)](_0x2f28e0['historyReadParam'][_0x3590de(0x29a)]);switch(_0x2f28e0[_0x3590de(0x216)][_0x3590de(0x29a)]){case'raw':$(_0x3590de(0x1b0))[_0x3590de(0x2f5)](_0x2f28e0['historyReadParam']['startTime']),$(_0x3590de(0x243))[_0x3590de(0x2f5)](_0x2f28e0[_0x3590de(0x216)]['endTime']),$(_0x3590de(0x2bc))['val'](_0x2f28e0['historyReadParam']['numValuesPerNode']),$(_0x3590de(0x1e1))['prop'](_0x3590de(0x1b7),_0x2f28e0[_0x3590de(0x216)][_0x3590de(0x1c3)]);break;case _0x3590de(0x1ad):$(_0x3590de(0x1b3))[_0x3590de(0x2f5)](_0x2f28e0[_0x3590de(0x216)]['startTime']),$('#node-input-modified-endTime')[_0x3590de(0x2f5)](_0x2f28e0['historyReadParam'][_0x3590de(0x2b0)]),$(_0x3590de(0x1ce))['val'](_0x2f28e0[_0x3590de(0x216)][_0x3590de(0x2b3)]),$(_0x3590de(0x1e3))[_0x3590de(0x272)]('checked',_0x2f28e0[_0x3590de(0x216)][_0x3590de(0x1c3)]);break;case _0x3590de(0x1e2):_0x2f28e0[_0x3590de(0x216)]['aggregateConfiguration']=_0x2f28e0[_0x3590de(0x216)][_0x3590de(0x260)]||{},$(_0x3590de(0x204))[_0x3590de(0x2f5)](_0x2f28e0[_0x3590de(0x216)][_0x3590de(0x23e)]),$('#node-input-processed-details-endTime')[_0x3590de(0x2f5)](_0x2f28e0[_0x3590de(0x216)]['endTime']),$('#node-input-processed-details-processingInterval')['val'](_0x2f28e0[_0x3590de(0x216)]['processingInterval']),$(_0x3590de(0x24e))['val'](_0x2f28e0[_0x3590de(0x216)]['aggregateType']),$(_0x3590de(0x1ae))[_0x3590de(0x272)](_0x3590de(0x1b7),_0x2f28e0[_0x3590de(0x216)][_0x3590de(0x260)]['useServerCapabilitiesDefaults']),$(_0x3590de(0x1ee))['prop'](_0x3590de(0x1b7),_0x2f28e0[_0x3590de(0x216)][_0x3590de(0x260)]['treatUncertainAsBad']),$(_0x3590de(0x234))[_0x3590de(0x2f5)](_0x2f28e0[_0x3590de(0x216)][_0x3590de(0x260)][_0x3590de(0x27b)]),$(_0x3590de(0x1db))[_0x3590de(0x2f5)](_0x2f28e0[_0x3590de(0x216)][_0x3590de(0x260)][_0x3590de(0x28a)]),$(_0x3590de(0x1c6))['prop'](_0x3590de(0x1b7),_0x2f28e0['historyReadParam'][_0x3590de(0x260)][_0x3590de(0x2f3)]);break;}{function _0x2a3873(){const _0x18378f=_0x3590de;$(_0x18378f(0x2d9))[_0x18378f(0x222)](),$(_0x18378f(0x1c2))[_0x18378f(0x222)](),$(_0x18378f(0x209))[_0x18378f(0x222)](),$(_0x18378f(0x1fe))[_0x18378f(0x222)](),$(_0x18378f(0x22b))[_0x18378f(0x222)](),$(_0x18378f(0x278))[_0x18378f(0x222)]();}function _0x41e586(){const _0x4f82d9=_0x3590de;_0x2a3873();var _0x2f3d4f=$(_0x4f82d9(0x25b))[_0x4f82d9(0x2f5)]();$('#section-'+_0x2f3d4f)[_0x4f82d9(0x1cb)]();}$(_0x3590de(0x25b))['on'](_0x3590de(0x293),_0x41e586),_0x41e586();}},'oneditsave'(){const _0x5475d9=_0x36fdab,_0x2110d5=_0x5278ad=>_0x5278ad['val']()==undefined?'':_0x5278ad[_0x5475d9(0x2f5)]()[_0x5475d9(0x1b5)](),_0x2915a9=_0x1b75bf=>_0x1b75bf['val']()==undefined?0x0:_0x1b75bf[_0x5475d9(0x2f5)](),_0x2529c8=$('#select-history-type')[_0x5475d9(0x2f5)]();switch(_0x2529c8){case _0x5475d9(0x1d7):this[_0x5475d9(0x216)]={'type':_0x5475d9(0x1d7),'startTime':_0x2110d5($('#node-input-raw-startTime')),'endTime':_0x2110d5($(_0x5475d9(0x243))),'numValuesPerNode':_0x2915a9($(_0x5475d9(0x2bc))),'returnBounds':$('#node-input-returnBounds')['prop'](_0x5475d9(0x1b7))};break;case _0x5475d9(0x1ad):this[_0x5475d9(0x216)]={'type':_0x5475d9(0x1ad),'startTime':_0x2110d5($(_0x5475d9(0x1b3))),'endTime':_0x2110d5($(_0x5475d9(0x1ef))),'numValuesPerNode':_0x2915a9($('#node-input-modified-numValuesPerNode')),'returnBounds':$('#node-input-modified-returnBounds')[_0x5475d9(0x272)](_0x5475d9(0x1b7))};break;case'processed-details':this[_0x5475d9(0x216)]={'type':_0x5475d9(0x1e2),'startTime':_0x2110d5($(_0x5475d9(0x204))),'endTime':_0x2110d5($(_0x5475d9(0x2a5))),'processingInterval':_0x2915a9($(_0x5475d9(0x1eb))),'aggregateType':_0x2110d5($(_0x5475d9(0x24e))),'aggregateConfiguration':{'useServerCapabilitiesDefaults':$('#node-input-processed-details-aggregateConfiguration-useServerCapabilitiesDefaults')[_0x5475d9(0x272)]('checked'),'treatUncertainAsBad':$(_0x5475d9(0x1ee))['prop']('checked'),'percentDataBad':_0x2915a9($('#node-input-processed-details-aggregateConfiguration-percentDataBad')),'percentDataGood':_0x2915a9($('#node-input-processed-details-aggregateConfiguration-percentDataGood')),'useSlopedExtrapolation':$(_0x5475d9(0x1c6))['prop']('checked')}};break;}}});}()));function _0x5ad4(_0x5bc885,_0x30a2a6){const _0x14e288=_0x14e2();return _0x5ad4=function(_0x5ad45b,_0x56154f){_0x5ad45b=_0x5ad45b-0x1ac;let _0x258719=_0x14e288[_0x5ad45b];return _0x258719;},_0x5ad4(_0x5bc885,_0x30a2a6);}function _0x14e2(){const _0x5a92c=['OpcUa-Endpoint2','referenceTypeId','red-ui-typedInput-focus','selectedMenuItem','#section-event','statusCode:\x20','message','percentDataBad','top','16px','aliasedBrowsePath','sterfive-typedInput-options\x20sterfive-online-menu','Method','sterfive-dropdown','keyCode','Unspecified','rgba(61,\x2060,\x204,\x200.525)','msg','/walk-backward','prependTo','verify','10236QqUTMD','percentDataGood','HasTypeDefinition','already\x20fetched','already\x20loading','apply','_initMenu','msg.','mousedown.red-ui-typedInput-focus-block','HasChild','change','HasSubtype','<div\x20class=\x22sterfive-info-text\x22></div>','pageY','<div/>','failure','element','type','30px','keydown','fa-folder','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','replaceWith','nodes','mask-image:\x20url(','pageX','fa-question','placeholder','#node-input-processed-details-endTime','$combo','offset','browseName','OpcUa-Client2-HistoryRead','widget','icon','prev','children','reference','height','endTime','scrollTop','ns=0;i=46','numValuesPerNode','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','$selectLabel','indexOf','appendTo','BrowseName','throw','mousedown','catch','#node-input-raw-numValuesPerNode','<div\x20class=\x22spinner\x22></div>','_createMenu','wrap','hasClass','data','nodeId_nsu','statusCode','then','dblclick','string','stopPropagation','Variable','assign','sterfive-info','HasProperty','mousedown.red-ui-typedInput-close-property-select','_hideMenu','$verifyBtn','<div>','namespaceAliases','/opcua-for-node-red/support-frame.html','nodeId_aliased','localeCompare','forEach','nsu','application/json','POST','empty','#section-raw',':focus','removeClass','expandable','expanded','ns=0;i=61','typeDefinition','ObjectType','animate','_showTypeMenu','fetched','<i\x20class=\x22fa\x20fa-id-card\x22/> \x20','_showMenu','VariableType','callback','target','disarmClick','elements','7raxqic',';\x22></i>\x20','6416395ygWWLS','<iframe></iframe>','\x22}><span\x20class=\x22tree-text\x22\x20title=','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','$dropdown','installing\x20iframe','useSlopedExtrapolation','DisplayName','val','20px','modified','#node-input-processed-details-aggregateConfiguration-useServerCapabilitiesDefaults','aliasedNodeId','#node-input-raw-startTime','json','SteelBlue','#node-input-modified-startTime','filter','toString','toggle','checked','blur','bp_indexed','li\x20>\x20.tree-text',':first','TypeDefinition','off','SuppressedError','#node-input-nodeId','browseResult','\x22\x20style=\x22color:','#section-modified','returnBounds','absolute','/opcua-for-node-red','#node-input-processed-details-aggregateConfiguration-useSlopedExtrapolation','fa-sliders','#node-input-endpoint','match','../../icons/opcuanodeLogo.png','show','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','loading','#node-input-modified-numValuesPerNode','closest','977742xRImnO','Inverse','stringify','sterfive.nodeBrowser','suppressed','View','left','raw','right','mode','pointer-events','#node-input-processed-details-aggregateConfiguration-percentDataGood','bp_aliased','ns=0;i=47','toggleClass','error','append','#node-input-returnBounds','processed-details','#node-input-modified-returnBounds','124wkImLm','ns=0;i=34','> \x20','requestedNodeId','text','Organizes','references','#node-input-processed-details-processingInterval','BrowsePath','<li\x20key=\x22','#node-input-processed-details-aggregateConfiguration-treatUncertainAsBad','#node-input-modified-endTime','<i>',');\x20-webkit-mask-image:\x20url(','node','browsePath','2709890ECqODr','next','remove','ns=0;i=45','fetching\x20failed\x20with\x20error','trigger','Object','each','value','$elementDiv','#section-at-time','find','fa-text-width','<a\x20href=\x22#\x22></a>','setMode','opcua','#node-input-processed-details-startTime','fa-object-group','27GmIQtq','addClass','name','#section-processed-details','$menu','resolveParentNode','$info','Forward','!!failure!!','18px','push','Invalid','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','Aliased\x20NodeId','opts','HasComponent','historyReadParam','$tree','[value=\x27','sterfive-input-group','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','attr','endpointNode','status','focus','</span>','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','node_label_italic','hide','ns=0;i=40','red-ui-typedInput-icon\x20','ReferenceType','Aliased\x20Browse\x20Path','reset','length','function',':visible','#section-annotation-data','IsForward','<li>error\x20','$input','parentNode','after','nodeIds','title','label','#node-input-processed-details-aggregateConfiguration-percentDataBad','aliased\x20browsePath:\x20','NodeClass','done','none','nodeId:\x20','isTypeRef','DataType','css','/browse','startTime','baseUrl','nsuNodeID','__parentNode','1m\x20ago','#node-input-raw-endTime','multiple','endpoint','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20','selected','</li>','Objects','registerType','<span\x20title=','ns=0;i=85','currentParent','#node-input-processed-details-aggregateType','red-ui-typedInput-icon','preventDefault','displayName','log','Both','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','2581496ltPWXg','NodeId','74589ThENvP','true','$inputGroup','NodeId\x20with\x20namespace\x20Urn','#select-history-type','isSelectable','nodeClass','<input\x20type=\x22checkbox\x22>','options','aggregateConfiguration','OPCUA\x20Client\x20HistoryRead','11m\x20ago','click','relativePath','$uiSelect','browse\x20path:\x20','statusText','$selectTrigger','$toggleTreeBtn','nodeId','_delay','read-history','Value','470082BbGOPY','grey','<ul\x20class=\x22sterfive-tree\x22></ul>','expandable\x20expanded','prop','Good'];_0x14e2=function(){return _0x5a92c;};return _0x14e2();}
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgyN2JiY2IiLCJfMHg0MjFkYmEiLCJfMHg1OTFmZjAiLCJfMHg0Y2FkODkiLCJfMHg3OTQ2YiIsIl8weDRjMzI3NyIsIl8weDNkZWNmMSIsIl8weGEwOTFiNCIsIlByb21pc2UiLCJfMHg0NjZjNWIiLCJfMHgxZGRkYzQiLCJfMHg0MjlkMjAiLCJfMHgyMGNmNDIiLCJfMHgzMjVkMzIiLCJfMHg0NDQ3NTQiLCJfMHg0YjM2NWYiLCJfMHgzYmFjNmMiLCJfMHg1MGRkNjMiLCJfMHg1NmMyMjciLCJTdXBwcmVzc2VkRXJyb3IiLCJfMHg1ODJjY2YiLCJfMHg0YmE1NzkiLCJfMHgzOWMxNGYiLCJfMHgxNjQyY2QiLCJFcnJvciIsIl8weDQ1ODgxMSIsIl8weDMwMzY5NCIsIl8weDI2ZDM2NSIsIl8weDQwZTM3NCIsIl8weDRjOWJiZCIsIl8weDE0ZmE1NSIsIl8weDU1NzgwNiIsIl8weDEyYWM1NiIsIl8weDVlZjkyOSIsIl8weDMzNWNkZiIsIl8weDUwOGM3ZCIsIl8weDNiYjc3YiIsIl8weDQzZjY4OCIsIl8weDRhMTVmOCIsIl8weDVhYmQ5YSIsIl8weDQ0MjYxMiIsIl8weDU3ODdmZiIsIl8weDEzNzgwYiIsIl8weGU2ODBlZiIsIl8weDU0NjAwZCIsIl8weDc0NmYwYSIsIl8weDE5ODkxMCIsIl8weDFiZWU1NCIsImVuZHBvaW50Tm9kZSIsIl8weDM2MjViOCIsImVuZHBvaW50IiwiXzB4MjNlM2M5IiwiYmFzZVVybCIsIl8weDQ5ZTQzYyIsIl8weDE0ZjA2ZSIsIl8weDNmNzdkNCIsIl8weDEwMGJhYyIsIl8weDVlNWI2OCIsIl8weGY4OWY2MiIsIk9iamVjdCIsIl8weDNkMzU4ZCIsImZldGNoIiwiSlNPTiIsImNvbnNvbGUiLCJfMHgxMjc1NDMiLCJfMHgyYTJlNTciLCJfMHg0OGFkZDYiLCJfMHgyOWUzOWIiLCJfMHg0YWYwYmQiLCJfMHgxY2RiYmUiLCJfMHgxODY3NzQiLCJfMHgxNGI1NmIiLCJfMHgzYWYyMzAiLCJfMHgyZGQ5N2MiLCJub2RlSWQiLCJfMHgxODNjZmYiLCJyb290Tm9kZUlkIiwiXzB4M2ZjNTA2IiwiaXNUeXBlIiwiXzB4NDQ3NTc3IiwiXzB4MmQ1NDU0IiwiXzB4NDM1NGU0IiwiXzB4MmM0ZmQyIiwiXzB4M2JhMjI2IiwiXzB4MWY2NmNlIiwiXzB4MTM0ZmY0IiwiXzB4MzBhZjM5IiwiXzB4NDM1ZGQ0IiwiXzB4NTFlMzdkIiwiXzB4NWNjMzRlIiwiXzB4NDU3MTY2IiwiXzB4Mzk5YTc2IiwiXzB4YmViNzVjIiwiXzB4MWVkZjM2IiwiXzB4NjI0NDMiLCJfMHgzNTdjODgiLCJfMHg5ZmRiNTciLCJfMHgyNTk1NmIiLCJfMHg1MjM0MTMiLCJfMHgxNjA3ZmEiLCJfMHg1ZjIwZTciLCJfMHg1MmY0OGMiLCJfMHg1ZWE2MjAiLCJfMHgyMmU2OGEiLCJfMHgxY2I1OGMiLCJfMHgzN2M1ZDEiLCJfMHgxOTk2YjUiLCJfMHg0ZmUwODciLCJfMHgxMDhlNjciLCJfMHg0YjFkYTkiLCJfMHg0NzcyYjMiLCJSRUQiLCJfMHg0N2U5M2IiLCJfMHgzOWM2MTkiLCJfMHhjNWFhYTciLCJfMHgyNGE0ZDIiLCJfMHg1YjY4ZmUiLCJfMHg0MmU2NDIiLCJfMHgxZWVmMmIiLCJfMHgyNjMyZDQiLCJfMHg1YWFlZTkiLCJfMHgzYjU3OGMiLCJfMHgyN2NhOGEiLCJfMHg5Y2YyYWUiLCJfMHhjODU3MTMiLCJfMHgxODcwNmMiLCJfMHg0OWJlZTMiLCJqc29uIiwiXzB4Y2JiMDk5IiwiZGF0YSIsIl8weDIzNjYyNiIsIl8weDI5YzMxNSIsIl8weDVkNDYxNiIsIl8weDNjOThiYSIsInNldFRpbWVvdXQiLCJfMHg1M2M3YWMiLCJfMHgxZWJjM2QiLCJfMHgyOWMwZTAiLCJfMHgyMDQ3OTYiLCJfMHgzYjM4OGYiLCJfMHg1MDU3Y2EiLCJfMHg0NjAyOWMiLCJfMHhiMTFhZTIiLCJfMHgxYzc2MzciLCJfMHgzODUyNjEiLCJfMHgxYTY3NWEiLCJfMHg0ZmU0ZWIiLCJfMHg4MDdkNDMiLCJfMHg0NzRkMzgiLCJfMHgzODM5YmYiLCJfMHgyMDI0YmUiLCJfMHg4MjA1NjAiLCJfMHgyMWZkMTUiLCJfMHg3ZmIzNDIiLCJfMHgyMjVjMmIiLCJfMHg0Mzc1N2YiLCIkIiwiXzB4Mjc2YTZkIiwiXzB4NDA4MDFmIiwiaWNvbiIsIl8weDNmYjE5NCIsImNvbG9yIiwiXzB4NGE4NWFhIiwiXzB4MTJlNjI2IiwiXzB4NGY4YzNlIiwiXzB4MTgwNGY1IiwiXzB4NWUxZjVkIiwiXzB4NTFlNDlmIiwiXzB4NGI5MjIwIiwiXzB4MWRhMjU5IiwiXzB4MjZlNDU2IiwiXzB4NTI3MTg3IiwiXzB4MTA1MGQ3IiwiXzB4NDAxNmFiIiwiXzB4NTNiMTAyIiwiXzB4MmNmZjBjIiwiXzB4MTVmMGE4IiwiXzB4NDY2NTAyIiwiXzB4NDM4MDhkIiwiXzB4MTM2NDdlIiwiXzB4NGFlMzE2IiwiXzB4MWRlOGUzIiwiXzB4NDA5MmEwIiwiXzB4MjY0Zjg1IiwiXzB4MTlhNzczIiwidW5kZWZpbmVkIiwiXzB4OWRjOTgwIiwiXzB4Mjg1ZjRmIiwiXzB4MjEyZjNjIiwiXzB4MTllYTdkIiwiXzB4YWM0MzliIiwiXzB4NTMwMGE2IiwiXzB4MmRmZmUzIiwiXzB4NWFlNzFlIiwiXzB4Y2YwYmFlIiwiXzB4MTIzMjk4IiwiXzB4NTM2NjdkIiwiXzB4MzhlMDQ4IiwiXzB4MzZjNjYzIiwiXzB4MTliMDc2IiwicmVmZXJlbmNlcyIsIl8weDVhZDZkOCIsIl8weGZmMDE3OCIsIl8weDNhYjRhYiIsIl8weDcyNmM1MiIsIl8weDI4YzZlYiIsIl8weDRmNTMwOSIsIl8weDViNjRkZCIsIl8weDUzOTYwNiIsIl8weDM0NjJkMiIsIl8weDI5ZjU1NiIsIl8weDVjZmNkMyIsIl8weDhlN2RhMiIsIl8weDMxZDljYyIsIl8weDRlMDA2ZCIsIl8weDNmMmUyYSIsIl8weDEzZjg3YyIsIl8weDFkZTUwYiIsIl8weDE0YjM2MCIsIl8weDEzNTQzZCIsIl8weDM2ZTliNiIsIl8weDcxNzMyMiIsIl8weDFiMzJiMSIsIl8weDM5ODgzYSIsIl8weDRjZTI3YyIsIl8weDJkM2JlZCIsIl8weDNmMGFlZiIsIl8weGIxNmJkYiIsIl8weDNhMGMwYSIsIl8weDIzM2I2NSIsIl8weGJjNWFlYyIsImRvY3VtZW50IiwiXzB4NGVjYTliIiwiXzB4NTI5ZGJhIiwiXzB4M2ZlZmY2IiwiXzB4MjBhYzI3IiwiXzB4NDMzNmVhIiwiXzB4MjNmNzUwIiwiXzB4MWJjZTNiIiwiXzB4ZGY3YWYiLCJfMHgyNTMyMTIiLCJfMHg0MWI4NzciLCJfMHg0MDUzMGIiLCJfMHg3MTkzMjQiLCJfMHg1NjczMTQiLCJfMHgyNzg4NjkiLCJfMHgxMzYzNDEiLCJfMHgyZmMzOTkiLCJfMHg1NWRmNTEiLCJfMHg1NWY1MTkiLCJfMHgyN2RiYTEiLCJ3aW5kb3ciLCJfMHgzOTc5MTIiLCJfMHgyNDdjMzgiLCJfMHgzMWQ2YWYiLCJfMHg1YjFhYmYiLCJfMHgzYjZjZjYiLCJfMHgyMzBjYmQiLCJfMHgzYzdlNWMiLCJfMHgzNjQ5NjEiLCJfMHg0M2E3MTkiLCJfMHg0Yjc0ZjEiLCJfMHgzODMwNTEiLCJfMHg1ZWE0NzIiLCJfMHgyMjA5OTYiLCJfMHgyOTg5MmIiLCJfMHgyMWM0MzMiLCJfMHgyN2I1ZTMiLCJfMHg0NzY0OWIiLCJfMHgzZjNhZmMiLCJfMHg0NmI5ZDYiLCJfMHhjMWUwMGIiLCJfMHgxYzRiZWEiLCJfMHgyNGViODEiLCJfMHgzNTU4MDIiLCJfMHgzZDQ2NTQiLCJfMHg0ZTQzNGUiLCJfMHgyZTBiZDUiLCJfMHgxYmI5ZWYiLCJfMHg1MWE4OWEiLCJfMHg5ZThhYTgiLCJfMHgxYjE4YTYiLCJfMHg1ZWE3N2UiLCJfMHgxM2I2MjIiLCJfMHgzZmIxMWUiLCJfMHg0ODBmOGEiLCJfMHgyNzJjMWUiLCJfMHg1MzA4NDYiLCJfMHg0MDNlMjMiLCJfMHgzMTAzY2MiLCJfMHgxYzJhYzAiLCJfMHg1OWQyYzYiLCJfMHgxYWI1MTciLCJfMHgyMzdiMTYiLCJfMHgxMTE2ZTUiLCJfMHgyNTkxOGQiLCJfMHg0MWFiMWMiLCJfMHgyZWQ4MzciLCJfMHg1MDFjZDciLCJfMHg1ZjNlMDMiLCJfMHgyNDdmYWUiLCJfMHgyY2QxMDciLCJfMHg5NWI1MmEiLCJfMHhjMmRhYjciLCJfMHgyOWZhM2QiLCJfMHgyNzE5OGEiLCJfMHg1NGZmMzAiLCJfMHgyMzQzMTEiLCJfMHg1ZTJhNmMiLCJfMHgzNTdmZmIiLCJfMHhjZGQ3ZjEiLCJzZWN1cml0eU1vZGUiLCJfMHg1ZDk4YmUiLCJzZWN1cml0eVBvbGljeSIsIl8weDU5ZGQxYSIsInVzZXJJZGVudGl0eVR5cGUiLCJfMHhlOTBhOCIsImNyZWRlbnRpYWxzIiwiXzB4NTE2NWE0IiwibmFtZXNwYWNlQWxpYXNlcyIsIl8weDMzOTQ2OSIsIl8weDQ3ZWJlNyIsIl8weDY3YzFjMiIsIl8weGIxZmQ5MyIsIl8weDFjODk2OSIsIl8weDU1NjQ5MiIsIl8weDNiZmY4NCIsIl8weDFlOWE0NCIsIl8weDVlNzhiYyIsIl8weDI0NTBjYiIsIl8weDI5Y2RhNCIsIl8weDJiYzBjNyIsIl8weDJmMjhlMCIsIl8weDEyOWNhOSIsIl8weDVhZmNhZSIsIl8weDJhMzg3MyIsIl8weDQxZTU4NiIsIl8weDJmM2Q0ZiIsIl8weDIxMTBkNSIsIl8weDUyNzhhZCIsIl8weDI5MTVhOSIsIl8weDFiNzViZiIsIl8weDI1MjljOCJdLCJtYXBwaW5ncyI6IndrQkFBQSxDQUFDLFUsQ0FDRyxhLHdCQW1CQSxTQUFTQSxTQUFULENBQW1CQyxTQUFuQixDQUE0QkMsU0FBNUIsQ0FBd0NDLFNBQXhDLENBQTJDQyxRQUEzQyxDLENBQ0ksU0FBU0MsU0FBVCxDQUFlQyxTQUFmLEMsUUFBK0JBLFNBQUEsWUFBaUJILFNBQWpCLENBQXFCRyxTQUFyQixDQUE2QixJQUFJSCxTQUFKLENBQU0sU0FBVUksU0FBVixDLENBQXFCQSxTQUFBLENBQVFELFNBQVIsQyxFQUEzQixDLFNBQ3JELEdBQUssQ0FBQUgsU0FBQSxFQUFNLENBQUFBLFNBQUEsQ0FBSUssT0FBSixDQUFOLENBQUwsQ0FBeUIsU0FBVUMsU0FBVixDQUFtQkMsU0FBbkIsQyx5QkFDNUIsU0FBU0MsU0FBVCxDQUFtQkMsU0FBbkIsQyx5QkFBNEIsRyxDQUFNQyxTQUFBLENBQUtULFFBQUEsQyxnQkFBQSxFQUFlUSxTQUFmLENBQUwsQyxFQUErQixNQUFPRSxTQUFQLEMsQ0FBWUosU0FBQSxDQUFPSSxTQUFQLEMsR0FDN0UsU0FBU0MsU0FBVCxDQUFrQkMsU0FBbEIsQyx5QkFBMkIsRyxDQUFNSCxTQUFBLENBQUtULFFBQUEsQyxnQkFBQSxFQUFtQlksU0FBbkIsQ0FBTCxDLEVBQW1DLE1BQU9DLFNBQVAsQyxDQUFZUCxTQUFBLENBQU9PLFNBQVAsQyxHQUNoRixTQUFTSixTQUFULENBQWNLLFNBQWQsQyx5QkFBd0JBLFNBQUEsQyxnQkFBQSxFQUFjVCxTQUFBLENBQVFTLFNBQUEsQyxnQkFBQSxDQUFSLENBQWQsQ0FBc0NiLFNBQUEsQ0FBTWEsU0FBQSxDLE9BQUEsQ0FBTixFLGdCQUFBLEVBQXlCUCxTQUF6QixDQUFvQ0ksU0FBcEMsQyxFQUM5REYsU0FBQSxDQUFNLENBQUFULFFBQUEsQ0FBWUEsUUFBQSxDLGdCQUFBLEVBQWdCSCxTQUFoQixDQUF5QkMsU0FBQSxFQUFjLEVBQXZDLENBQVosQ0FBRCxDLGdCQUFBLEdBQUwsQyxFQUpHLEMsRUFRWCxPQUFPaUIsZUFBUCxHLGdCQUFBLENBQXdDQSxlQUF4QyxDQUEwRCxTQUFVQyxTQUFWLENBQWlCQyxTQUFqQixDQUE2QkMsU0FBN0IsQywyQkFDdEQsSUFBSUMsU0FBQSxDQUFJLElBQUlDLEtBQUosQ0FBVUYsU0FBVixDQUFSLEMsT0FDT0MsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQ0FBNEJBLFNBQUEsQyxnQkFBQSxFQUFVSCxTQUF0QyxDQUE2Q0csU0FBQSxDLGdCQUFBLEVBQWVGLFNBQTVELENBQXdFRSxTLEVBRm5GLENBS0EsTUFBTUUsU0FBQSxDLFdBQU4sQ0FDTUMsU0FBQSxDLGdCQUROLENBRU1DLFNBQUEsQyxnQkFGTixDQUdNQyxTQUFBLEMsZ0JBSE4sQ0FJTUMsU0FBQSxDLGdCQUpOLENBS01DLFNBQUEsQyxnQkFMTixDQU1NQyxTQUFBLEMsZ0JBTk4sQ0FRQSxJQUFJQyxTQUFKLENBQ0EsQ0FBQyxTQUFVQyxTQUFWLEMsMkJBQ0dBLFNBQUEsQ0FBZ0JBLFNBQUEsQyxnQkFBQSxFLEdBQWhCLEUsaUJBQ0FBLFNBQUEsQ0FBZ0JBLFNBQUEsQyxnQkFBQSxFLEdBQWhCLEUsaUJBQ0FBLFNBQUEsQ0FBZ0JBLFNBQUEsQyxnQkFBQSxFLEdBQWhCLEUsaUJBQ0FBLFNBQUEsQ0FBZ0JBLFNBQUEsQyxnQkFBQSxFLEdBQWhCLEUsa0JBSkosQ0FLR0QsU0FBQSxFQUFvQixDQUFBQSxTQUFBLENBQWtCLEVBQWxCLENBTHZCLEdBTUEsSUFBSUUsU0FBSixDQUNBLENBQUMsU0FBVUMsU0FBVixDLDJCQUNHQSxTQUFBLENBQVVBLFNBQUEsQyxnQkFBQSxFLEdBQVYsRSxpQkFDQUEsU0FBQSxDQUFVQSxTQUFBLEMsZ0JBQUEsRSxHQUFWLEUsaUJBQ0FBLFNBQUEsQ0FBVUEsU0FBQSxDLGdCQUFBLEUsR0FBVixFLGlCQUNBQSxTQUFBLENBQVVBLFNBQUEsQyxnQkFBQSxFLEdBQVYsRSxpQkFDQUEsU0FBQSxDQUFVQSxTQUFBLEMsZ0JBQUEsRSxHQUFWLEUsaUJBQ0FBLFNBQUEsQ0FBVUEsU0FBQSxDLGNBQUEsRSxJQUFWLEUsaUJBQ0FBLFNBQUEsQ0FBVUEsU0FBQSxDLGVBQUEsRSxJQUFWLEUsaUJBQ0FBLFNBQUEsQ0FBVUEsU0FBQSxDLGdCQUFBLEUsSUFBVixFLFdBQ0FBLFNBQUEsQ0FBVUEsU0FBQSxDLE1BQUEsRSxJQUFWLEUsa0JBVEosQ0FVR0QsU0FBQSxFQUFjLENBQUFBLFNBQUEsQ0FBWSxFQUFaLENBVmpCLEdBV0EsSUFBSUUsU0FBSixDQUNBLENBQUMsU0FBVUMsU0FBVixDLDJCQUNHQSxTQUFBLENBQWNBLFNBQUEsQyxnQkFBQSxFLEdBQWQsRSxpQkFDQUEsU0FBQSxDQUFjQSxTQUFBLEMsVUFBQSxFLEdBQWQsRSxpQkFDQUEsU0FBQSxDQUFjQSxTQUFBLEMsUUFBQSxFLEdBQWQsRSxpQkFDQUEsU0FBQSxDQUFjQSxTQUFBLEMsZ0JBQUEsRSxHQUFkLEUsYUFDQUEsU0FBQSxDQUFjQSxT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RSxTQUFBLENBTEosQ0FOSixDQUF4QixDQWNBLE1BbENSLEMsQ0FyRzRDLENBQXBELEMsRUE5aUNKLEciLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKCkge1xuICAgICd1c2Ugc3RyaWN0JztcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG4gICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG4gICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG4gICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG4gICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG4gICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAvKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wsIEl0ZXJhdG9yICovXHJcblxyXG5cclxuICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgICAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xyXG4gICAgICAgIHZhciBlID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybiBlLm5hbWUgPSBcIlN1cHByZXNzZWRFcnJvclwiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7XHJcbiAgICB9O1xuXG4gICAgY29uc3QgT3JnYW5pemVzUmVmTm9kZUlkID0gXCJucz0wO2k9MzVcIjtcbiAgICBjb25zdCBGb2xkZXJUeXBlID0gXCJucz0wO2k9NjFcIjtcbiAgICBjb25zdCBIYXNDb21wb25lbnRSZWZOb2RlSWQgPSBcIm5zPTA7aT00N1wiO1xuICAgIGNvbnN0IEhhc1Byb3BlcnR5UmVmTm9kZUlkID0gXCJucz0wO2k9NDZcIjtcbiAgICBjb25zdCBIYXNDaGlsZFJlZk5vZGVJZCA9IFwibnM9MDtpPTM0XCI7XG4gICAgY29uc3QgSGFzU3VidHlwZVJlZk5vZGVJZCA9IFwibnM9MDtpPTQ1XCI7XG4gICAgY29uc3QgSGFzVHlwZURlZmluaXRpb25SZWZOb2RlSWQgPSBcIm5zPTA7aT00MFwiO1xuXG4gICAgdmFyIEJyb3dzZURpcmVjdGlvbjtcbiAgICAoZnVuY3Rpb24gKEJyb3dzZURpcmVjdGlvbikge1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiRm9yd2FyZFwiXSA9IDBdID0gXCJGb3J3YXJkXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJJbnZlcnNlXCJdID0gMV0gPSBcIkludmVyc2VcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkJvdGhcIl0gPSAyXSA9IFwiQm90aFwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiSW52YWxpZFwiXSA9IDNdID0gXCJJbnZhbGlkXCI7XG4gICAgfSkoQnJvd3NlRGlyZWN0aW9uIHx8IChCcm93c2VEaXJlY3Rpb24gPSB7fSkpO1xuICAgIHZhciBOb2RlQ2xhc3M7XG4gICAgKGZ1bmN0aW9uIChOb2RlQ2xhc3MpIHtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlVuc3BlY2lmaWVkXCJdID0gMF0gPSBcIlVuc3BlY2lmaWVkXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJPYmplY3RcIl0gPSAxXSA9IFwiT2JqZWN0XCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJWYXJpYWJsZVwiXSA9IDJdID0gXCJWYXJpYWJsZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiTWV0aG9kXCJdID0gNF0gPSBcIk1ldGhvZFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiT2JqZWN0VHlwZVwiXSA9IDhdID0gXCJPYmplY3RUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJWYXJpYWJsZVR5cGVcIl0gPSAxNl0gPSBcIlZhcmlhYmxlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDMyXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiRGF0YVR5cGVcIl0gPSA2NF0gPSBcIkRhdGFUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJWaWV3XCJdID0gMTI4XSA9IFwiVmlld1wiO1xuICAgIH0pKE5vZGVDbGFzcyB8fCAoTm9kZUNsYXNzID0ge30pKTtcbiAgICB2YXIgTm9kZUNsYXNzTWFzaztcbiAgICAoZnVuY3Rpb24gKE5vZGVDbGFzc01hc2spIHtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiT2JqZWN0XCJdID0gMV0gPSBcIk9iamVjdFwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJWYXJpYWJsZVwiXSA9IDJdID0gXCJWYXJpYWJsZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJNZXRob2RcIl0gPSA0XSA9IFwiTWV0aG9kXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk9iamVjdFR5cGVcIl0gPSA4XSA9IFwiT2JqZWN0VHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJWYXJpYWJsZVR5cGVcIl0gPSAxNl0gPSBcIlZhcmlhYmxlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJSZWZlcmVuY2VUeXBlXCJdID0gMzJdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIkRhdGFUeXBlXCJdID0gNjRdID0gXCJEYXRhVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJWaWV3XCJdID0gMTI4XSA9IFwiVmlld1wiO1xuICAgIH0pKE5vZGVDbGFzc01hc2sgfHwgKE5vZGVDbGFzc01hc2sgPSB7fSkpO1xuICAgIHZhciBSZXN1bHRNYXNrO1xuICAgIChmdW5jdGlvbiAoUmVzdWx0TWFzaykge1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJSZWZlcmVuY2VUeXBlXCJdID0gMV0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiSXNGb3J3YXJkXCJdID0gMl0gPSBcIklzRm9yd2FyZFwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJOb2RlQ2xhc3NcIl0gPSA0XSA9IFwiTm9kZUNsYXNzXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIkJyb3dzZU5hbWVcIl0gPSA4XSA9IFwiQnJvd3NlTmFtZVwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJEaXNwbGF5TmFtZVwiXSA9IDE2XSA9IFwiRGlzcGxheU5hbWVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiVHlwZURlZmluaXRpb25cIl0gPSAzMl0gPSBcIlR5cGVEZWZpbml0aW9uXCI7XG4gICAgfSkoUmVzdWx0TWFzayB8fCAoUmVzdWx0TWFzayA9IHt9KSk7XG4gICAgLy8gIGNvbnN0IHEgPSBSZWZlcmVuY2VUeXBlSWRzLk9yZ2FuaXplcztcbiAgICBmdW5jdGlvbiByZXNvbHZlTm9kZUlkKG5vZGVJZExpa2UpIHtcbiAgICAgICAgc3dpdGNoIChub2RlSWRMaWtlKSB7XG4gICAgICAgICAgICBjYXNlIFwiT3JnYW5pemVzXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9yZ2FuaXplc1JlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNQcm9wZXJ0eVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNQcm9wZXJ0eVJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNDb21wb25lbnRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzQ29tcG9uZW50UmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc0NoaWxkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc0NoaWxkUmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc1N1YnR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzU3VidHlwZVJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNUeXBlRGVmaW5pdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNUeXBlRGVmaW5pdGlvblJlZk5vZGVJZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGdldEljb24gPSAocmVmZXJlbmNlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAocmVmZXJlbmNlLm5vZGVDbGFzcykge1xuICAgICAgICAgICAgY2FzZSBcIk9iamVjdFwiOlxuICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBPcmdhbml6ZXNSZWZOb2RlSWQpIDtcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnR5cGVEZWZpbml0aW9uID09PSBGb2xkZXJUeXBlIHx8IHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IFwiaT02MVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtZm9sZGVyXCIsIGNvbG9yOiBcInJnYmEoNjEsIDYwLCA0LCAwLjUyNSlcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLW9iamVjdC1ncm91cFwiLCBjb2xvcjogXCJTZWFHcmVlblwiIH07XG4gICAgICAgICAgICBjYXNlIFwiVmFyaWFibGVcIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gSGFzQ29tcG9uZW50UmVmTm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiU3RlZWxCbHVlXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gSGFzUHJvcGVydHlSZWZOb2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1saXN0LWFsdFwiLCBjb2xvcjogXCJEb2RnZXJCbHVlXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiQ2FkZXRCbHVlXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiTWV0aG9kXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1jb2dcIiwgY29sb3I6IFwiU2FuZHlCcm93blwiIH07XG4gICAgICAgICAgICBjYXNlIFwiT2JqZWN0VHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtb2JqZWN0LWdyb3VwXCIsIGNvbG9yOiBcIkRhcmtPcmFuZ2VcIiB9O1xuICAgICAgICAgICAgY2FzZSBcIlZhcmlhYmxlVHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtc2xpZGVyc1wiLCBjb2xvcjogXCJEYXJrT3JhbmdlXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJEYXRhVHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtdGV4dC13aWR0aFwiLCBjb2xvcjogXCJDYWRldEJsdWVcIiB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGljb246IFwiZmEtcXVlc3Rpb25cIiwgY29sb3I6IFwiZ3JleVwiIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGJyb3dzZSA9IChfYSwgbm9kZUlkXzEsIHRlbXBsYXRlXzEpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgbm9kZUlkXzEsIHRlbXBsYXRlXzFdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIG5vZGVJZCwgdGVtcGxhdGUpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2Jyb3dzZWA7XG4gICAgICAgIGNvbnN0IGJyb3dzZURlc2NyaXB0aW9uID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB0ZW1wbGF0ZSksIHsgbm9kZUlkLCByZXN1bHRNYXNrOiA2MyB9KTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgYnJvd3NlRGVzY3JpcHRpb24sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImZldGNoaW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgcmV0dXJuIHsgcmVmZXJlbmNlczogW10gfTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcImJyb3dzZSBmZXRjaGVkIDogXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICBjb25zdCByZWZlcmVuY2VzID0gcmVzcG9uc2UuYnJvd3NlUmVzdWx0LnJlZmVyZW5jZXMgfHwgW107XG4gICAgICAgIHJldHVybiB7IHJlZmVyZW5jZXMgfTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHRlbXBsYXRlMSA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiSGFzQ2hpbGRcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlZhcmlhYmxlIHwgTm9kZUNsYXNzLk9iamVjdCB8IE5vZGVDbGFzcy5NZXRob2QsXG4gICAgICAgIC8vICBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8XG4gICAgICAgIC8vICBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuRGF0YVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuVmlldyxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBjb25zdCB0ZW1wbGF0ZTIgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIk9yZ2FuaXplc1wiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuVmFyaWFibGUgfCBOb2RlQ2xhc3MuT2JqZWN0IHwgTm9kZUNsYXNzLk1ldGhvZCxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5PYmplY3RUeXBlIHxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5WYXJpYWJsZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5EYXRhVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5WaWV3LFxuICAgICAgICByZXN1bHRNYXNrOiA2MyxcbiAgICB9O1xuICAgIGNvbnN0IHdhbGtCYWNrd2FyZCA9IChfYSwgX2IpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgX2JdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIHsgbm9kZUlkLCByb290Tm9kZUlkLCBpc1R5cGUgfSkge1xuICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZm9yLW5vZGUtcmVkYDtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vd2Fsay1iYWNrd2FyZGA7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgICAgICByb290Tm9kZUlkLFxuICAgICAgICAgICAgICAgIGlzVHlwZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGpzb24gPSAoeWllbGQgZGF0YS5qc29uKCkpO1xuICAgICAgICByZXR1cm4ganNvbi5icm93c2VQYXRoO1xuICAgIH0pO1xuICAgIGNvbnN0IGNob29zZU5vZGVJZCA9IChkYXRhLCBtb2RlKSA9PiB7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1c0NvZGUgIT09IFwiR29vZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YS5yZXF1ZXN0ZWROb2RlSWQ7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLmJwX2luZGV4ZWQ7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZEJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5icF9hbGlhc2VkIHx8IGRhdGEuYnBfaW5kZXhlZDtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkTm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEubm9kZUlkX2FsaWFzZWQgfHwgZGF0YS5ub2RlSWRfbnN1O1xuICAgICAgICAgICAgY2FzZSBcIm5zdU5vZGVJRFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm5vZGVJZF9uc3U7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgY2FzZSBcIm5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm5vZGVJZDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgbWFrZVRvb2x0aXAgPSAoZGF0YSkgPT4ge1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXNDb2RlICE9PSBcIkdvb2RcIikge1xuICAgICAgICAgICAgcmV0dXJuIGBzdGF0dXNDb2RlOiAke2RhdGEuc3RhdHVzQ29kZX1gO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGV0IHN0ciA9IFtdO1xuICAgICAgICAgICAgc3RyLnB1c2goYG5vZGVJZDogJHtkYXRhLm5vZGVJZH1gKTtcbiAgICAgICAgICAgIHN0ci5wdXNoKGBicm93c2UgcGF0aDogJHtkYXRhLmJwX2luZGV4ZWR9YCk7XG4gICAgICAgICAgICBzdHIucHVzaChgbm9kZSBjbGFzczogJHtOb2RlQ2xhc3NbZGF0YS5ub2RlQ2xhc3NdfWApO1xuICAgICAgICAgICAgaWYgKGRhdGEubm9kZUlkX25zdSkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBuc3Ugbm9kZUlkOiAke2RhdGEubm9kZUlkX25zdX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRhLm5vZGVJZF9hbGlhc2VkKSB7XG4gICAgICAgICAgICAgICAgc3RyLnB1c2goYGFsaWFzZWQgTm9kZUlkOiAke2RhdGEubm9kZUlkX2FsaWFzZWR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGF0YS5icF9pbmRleGVkKSB7XG4gICAgICAgICAgICAgICAgc3RyLnB1c2goYGFsaWFzZWQgYnJvd3NlUGF0aDogJHtkYXRhLmJwX2FsaWFzZWR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3RyLmpvaW4oXCJcXG5cIik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGZ1bmN0aW9uIGZpZ3VyZU91dE1vZGUoZW5oYW5jZWROb2RlSWQpIHtcbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9ebnN1PS8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJuc3VOb2RlSURcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14obnM9Lio7KT8oaXxifHN8Zyk9LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcIm5vZGVJZFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXm5zYT0vKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYWxpYXNlZE5vZGVJZFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXihcXC98XFwuKVswLTldKzovKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYnJvd3NlUGF0aFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXihcXC98XFwuKS4qOi8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJicm93c2VQYXRoXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gZmlndXJlT3V0TWVuVUl0ZW1WYWx1ZShzdHIpIHtcbiAgICAgICAgY29uc3QgbW9kZSA9IGZpZ3VyZU91dE1vZGUoc3RyKTtcbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwibm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiblwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWROb2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuYVwiO1xuICAgICAgICAgICAgY2FzZSBcIm5zdU5vZGVJRFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5zdVwiO1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJiXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZEJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJhYlwiO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJ0XCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gdG9Nb2RlKHYpIHtcbiAgICAgICAgbGV0IG1vZGU7XG4gICAgICAgIHN3aXRjaCAodikge1xuICAgICAgICAgICAgY2FzZSBcIm5cIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJub2RlSWRcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJuYVwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImFsaWFzZWROb2RlSWRcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJuc3VcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJuc3VOb2RlSURcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJiXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwiYnJvd3NlUGF0aFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImFiXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwiYWxpYXNlZEJyb3dzZVBhdGhcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbW9kZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZnJvbU1vZGUobW9kZSkge1xuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJub2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZE5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5hXCI7XG4gICAgICAgICAgICBjYXNlIFwibnN1Tm9kZUlEXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibnN1XCI7XG4gICAgICAgICAgICBjYXNlIFwiYnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImJcIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkQnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImFiXCI7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBcInRcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBfY2FsbENoZWNrTm9kZUlkID0gKF9hLCBub2RlSWRfMSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBub2RlSWRfMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgbm9kZUlkKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9jaGVja05vZGVJZGA7XG4gICAgICAgIGNvbnN0IGVJZCA9IGVuZHBvaW50Tm9kZS5pZDtcbiAgICAgICAgY29uc3QgbiA9IFJFRC5ub2Rlcy5ub2RlKGVJZCk7XG4gICAgICAgIGNvbnNvbGUubG9nKG4ubmFtZXNwYWNlQWxpYXNlcyk7XG4gICAgICAgIG4ubmFtZXNwYWNlQWxpYXNlcztcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlQWxpYXNlcyA9IGVuZHBvaW50Tm9kZS5uYW1lc3BhY2VBbGlhc2VzO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICAgICAgbmFtZXNwYWNlQWxpYXNlcyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QganNvbiA9ICh5aWVsZCBkYXRhLmpzb24oKSk7XG4gICAgICAgIHJldHVybiB7IGpzb24sIGRhdGEgfTtcbiAgICB9KTtcbiAgICBjb25zdCBpbnRlcm5hbFZlcmlmeSA9IChfYSwgbW9kZV8xLCAkaW5wdXRFbGVtZW50XzEsICRpbmZvXzEpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgbW9kZV8xLCAkaW5wdXRFbGVtZW50XzEsICRpbmZvXzFdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIG1vZGUsICRpbnB1dEVsZW1lbnQsICRpbmZvKSB7XG4gICAgICAgIGNvbnN0IGVuaGFuY2VkTm9kZUlkID0gJGlucHV0RWxlbWVudC52YWwoKTtcbiAgICAgICAgY29uc3QgeyBqc29uLCBkYXRhIH0gPSB5aWVsZCBfY2FsbENoZWNrTm9kZUlkKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBlbmhhbmNlZE5vZGVJZCk7XG4gICAgICAgIGNvbnN0IHNldE5vdGlmaWNhdGlvbiA9ICh0ZXh0LCBjbGFzc05hbWUpID0+IHtcbiAgICAgICAgICAgICRpbmZvLnRleHQodGV4dCkuYWRkQ2xhc3MoXCJzdGVyZml2ZS1pbmZvXCIpLmFkZENsYXNzKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICAkaW5mby5zaG93KCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAkaW5mby5yZW1vdmVDbGFzcyhjbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgICRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgIH0sIDMwMDApO1xuICAgICAgICB9O1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgLy8gZG8gc29tZXRoaW5nO1xuICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKFwiISFmYWlsdXJlISFcIiArIGVuaGFuY2VkTm9kZUlkLCBcImZhaWx1cmVcIik7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoanNvbi5zdGF0dXNDb2RlLm1hdGNoKC9Hb29kLykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0b29sdGlwID0gbWFrZVRvb2x0aXAoanNvbik7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC5hdHRyKFwidGl0bGVcIiwgdG9vbHRpcCk7XG4gICAgICAgICAgICAgICAgLy8gZG8gc29tZXRoaW5nXG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWQgPSBjaG9vc2VOb2RlSWQoanNvbiwgbW9kZSk7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC52YWwoc2VsZWN0ZWROb2RlSWQpO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICBzZXROb3RpZmljYXRpb24oXCJHb29kXCIsIFwib2tcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnZhbChgJHtlbmhhbmNlZE5vZGVJZH1gKTtcbiAgICAgICAgICAgICAgICBzZXROb3RpZmljYXRpb24oYCR7anNvbi5zdGF0dXNDb2RlfSAke2RhdGEuc3RhdHVzVGV4dH1gLCBcImZhaWx1cmVcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gZmV0Y2hDaGlsZHJlbigkbm9kZSwgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZUlkID0gJG5vZGUuZGF0YShcInZhbHVlXCIpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MSA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlMSk7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQyID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGUyKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlczogWy4uLmJyb3dzZVJlc3VsdDEucmVmZXJlbmNlcywgLi4uYnJvd3NlUmVzdWx0Mi5yZWZlcmVuY2VzXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCB0ZW1wbGF0ZVNUID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJIYXNTdWJ0eXBlXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHwgTm9kZUNsYXNzLk9iamVjdFR5cGUgfCBOb2RlQ2xhc3MuRGF0YVR5cGUgfCBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlLFxuICAgICAgICByZXN1bHRNYXNrOiA2MyxcbiAgICB9O1xuICAgIGZ1bmN0aW9uIGZldGNoU3VidHlwZXMoJG5vZGUsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVJZCA9ICRub2RlLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDEgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZVNUKTtcbiAgICAgICAgICAgIHJldHVybiBicm93c2VSZXN1bHQxO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgbWFrZUVsZW1lbnQgPSAocmVmZXJlbmNlKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAgICAgaWYgKCFyZWZlcmVuY2UgfHwgIXJlZmVyZW5jZS5ub2RlSWQpIHtcbiAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gJChgPGxpPjxpIGNsYXNzPVwiZmEgZmEtZXJyb3JcIiBzdHlsZT1cImNvbG9yOnJlZDtcIj48L2k+bm8gcmVmZXJlbmNlICE8dWw+PC91bD48L2xpPmApO1xuICAgICAgICAgICAgcmV0dXJuICRlbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG4gPSByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHQgPSAoKF9hID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudGV4dCkgfHwgKChfYiA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB7IGljb24sIGNvbG9yIH0gPSBnZXRJY29uKHJlZmVyZW5jZSk7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gYCgke3JlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKX0pICR7KChfYyA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MubmFtZSkgfHwgKChfZCA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9kLnRleHQpIHx8IFwiXCJ9YDtcbiAgICAgICAgY29uc3QgJGVsZW1lbnQgPSAkKGA8bGkga2V5PVwiJHtyZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCl9XCJ9PjxzcGFuIGNsYXNzPVwidHJlZS10ZXh0XCIgdGl0bGU9JHt0aXRsZX0+PGkgY2xhc3M9XCJmYSAke2ljb259XCIgc3R5bGU9XCJjb2xvcjoke2NvbG9yfTtcIj48L2k+ICR7dH08L3NwYW4+PHVsPjwvdWw+PC9saT5gKTtcbiAgICAgICAgJGVsZW1lbnQuYWRkQ2xhc3MoXCJleHBhbmRhYmxlXCIpO1xuICAgICAgICAkZWxlbWVudC5kYXRhKFwidmFsdWVcIiwgbik7XG4gICAgICAgICRlbGVtZW50LmRhdGEoXCJyZWZlcmVuY2VcIiwgcmVmZXJlbmNlKTtcbiAgICAgICAgcmV0dXJuICRlbGVtZW50O1xuICAgIH07XG4gICAgY29uc3QgZmluZEVsZW1lbnQgPSAobm9kZUlkLCAkdHJlZSkgPT4ge1xuICAgICAgICByZXR1cm4gJHRyZWUuZmluZChgbGlba2V5PVwiJHtub2RlSWR9XCJdYCk7XG4gICAgfTtcbiAgICBjb25zdCBzZWxlY3RTaW5nbGUgPSAodGhhdCwgJGxpKSA9PiB7XG4gICAgICAgIHRoYXQuJHRyZWUuZmluZChcImxpID4gLnRyZWUtdGV4dFwiKS5yZW1vdmVDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgICAgICAvLyBjbGVhciBhbGwgc2VsZWN0ZWQgaXRlbXNcbiAgICAgICAgJGxpLmZpbmQoXCIudHJlZS10ZXh0OmZpcnN0XCIpLmFkZENsYXNzKFwic2VsZWN0ZWRcIik7XG4gICAgfTtcbiAgICBjb25zdCBhdXRvRXhwYW5kID0gKHRoYXQsIGJyb3dzZVBhdGgsICR0cmVlKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgLy8gZXhwYW5kIHRoZSB0cmVlIHRvIHNob3cgdGhlIG5vZGVJZFxuICAgICAgICBsZXQgJGN1cnJlbnQgPSAkdHJlZS5jaGlsZHJlbihcIjpmaXJzdFwiKTtcbiAgICAgICAgYnJvd3NlUGF0aC5yZWxhdGl2ZVBhdGguZWxlbWVudHMgfHwgW107XG4gICAgICAgIGNvbnN0IG5vZGVJZHMgPSBicm93c2VQYXRoLm5vZGVJZHMgfHwgW107XG4gICAgICAgIGlmIChub2RlSWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgbiBvZiBub2RlSWRzKSB7XG4gICAgICAgICAgICBpZiAoJGN1cnJlbnQuaGFzQ2xhc3MoXCJleHBhbmRhYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgLy8gbmVlZCB0byBleHBhbmQgYW5kIHNlbGVjdCB0aGUgcmlnaHQgZWxlbWVudFxuICAgICAgICAgICAgICAgIHlpZWxkIF9leHBhbmRMaSh0aGF0LCAkY3VycmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IGZpbmRFbGVtZW50KG4sICRjdXJyZW50KTtcbiAgICAgICAgICAgIGlmICgkZWxlbWVudC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkY3VycmVudCA9ICRlbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIHNlbGVjdFNpbmdsZSh0aGF0LCAkY3VycmVudCk7XG4gICAgICAgIHNjcm9sbFRvTGkodGhhdC4kZHJvcGRvd24sICRjdXJyZW50KTtcbiAgICB9KTtcbiAgICBmdW5jdGlvbiBzY3JvbGxUb0xpKCRjb250YWluZXIsICR0YXJnZXRMaSkge1xuICAgICAgICAvLyBHZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSB0YXJnZXQgaXRlbSByZWxhdGl2ZSB0byBpdHMgY29udGFpbmVyXG4gICAgICAgIGNvbnN0IGxpUG9zID0gJHRhcmdldExpLnBvc2l0aW9uKCkudG9wO1xuICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIG9mIHRoZSBjb250YWluZXJcbiAgICAgICAgY29uc3QgY29udGFpbmVyU2Nyb2xsVG9wID0gJGNvbnRhaW5lci5zY3JvbGxUb3AoKTtcbiAgICAgICAgaWYgKGNvbnRhaW5lclNjcm9sbFRvcCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHBvc2l0aW9uIHRvIHNjcm9sbCB0byAoY3VycmVudCBzY3JvbGwgKyBpdGVtJ3MgcG9zaXRpb24pXG4gICAgICAgIC8vIEFkanVzdCB0aGlzIGNhbGN1bGF0aW9uIGJhc2VkIG9uIHlvdXIgbmVlZHNcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG8gPSBjb250YWluZXJTY3JvbGxUb3AgKyBsaVBvcyAtICRjb250YWluZXIuaGVpZ2h0KCkgLyAyICsgJHRhcmdldExpLmhlaWdodCgpIC8gMjtcbiAgICAgICAgLy8gU2Nyb2xsIHRoZSBjb250YWluZXIgdG8gZW5zdXJlIHRoZSBpdGVtIGlzIHZpc2libGVcbiAgICAgICAgJGNvbnRhaW5lci5hbmltYXRlKHtcbiAgICAgICAgICAgIHNjcm9sbFRvcDogc2Nyb2xsVG8sXG4gICAgICAgIH0sIDUwMCk7IC8vIEFkanVzdCB0aGUgZHVyYXRpb24gKDUwMG1zKSBhcyBuZWVkZWRcbiAgICB9XG4gICAgY29uc3QgcmVhY2hTZWxlY3Rpb24gPSAodGhhdCwgcGFyZW50Tm9kZSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IG5vZGVJZCA9IHRoYXQuJGlucHV0LnZhbCgpO1xuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgcm9vdE5vZGVJZDogcGFyZW50Tm9kZS5ub2RlSWQsXG4gICAgICAgICAgICBpc1R5cGU6IHRoYXQub3B0aW9ucy5pc1R5cGVSZWYgfHwgZmFsc2UsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgY29uc3QgYnJvd3NlUGF0aCA9IHlpZWxkIHdhbGtCYWNrd2FyZChkYXRhLCBvcHRpb25zKTtcbiAgICAgICAgaWYgKCFicm93c2VQYXRoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgeWllbGQgYXV0b0V4cGFuZCh0aGF0LCBicm93c2VQYXRoLCB0aGF0LiR0cmVlKTtcbiAgICB9KTtcbiAgICBmdW5jdGlvbiBfZmV0Y2hEYXRhRm9yTm9kZSh0aGF0LCAkbm9kZSwgZmV0Y2hGdW5jLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoJG5vZGUuaGFzQ2xhc3MoXCJmZXRjaGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJhbHJlYWR5IGZldGNoZWRcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCRub2RlLmhhc0NsYXNzKFwibG9hZGluZ1wiKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYWxyZWFkeSBsb2FkaW5nXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRub2RlLmFkZENsYXNzKFwibG9hZGluZ1wiKTtcbiAgICAgICAgICAgICRub2RlLmFwcGVuZCgnPGRpdiBjbGFzcz1cInNwaW5uZXJcIj48L2Rpdj4nKTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgJG5vZGUuY2hpbGRyZW4oXCJ1bFwiKS5lbXB0eSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgcmVmZXJlbmNlcyB9ID0geWllbGQgZmV0Y2hGdW5jKCRub2RlLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAvLyBzb3J0IHJlZmVyZW5jZSAgIGJ5IGJyb3dzZU5hbWVcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzLnNvcnQoKGEsIGIpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuICgoKF9hID0gYS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubmFtZSkgfHwgXCJcIikubG9jYWxlQ29tcGFyZSgoKF9iID0gYi5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgXCJcIik7IH0pO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcmVmZXJlbmNlIG9mIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQub3B0aW9ucy5maWx0ZXIgJiYgIXRoYXQub3B0aW9ucy5maWx0ZXIocmVmZXJlbmNlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBtYWtlRWxlbWVudChyZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgICAkbm9kZS5jaGlsZHJlbihcInVsXCIpLmFwcGVuZCgkZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICRub2RlLmFkZENsYXNzKFwiZmV0Y2hlZFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAkbm9kZS5jaGlsZHJlbihcInVsXCIpLmFwcGVuZChgPGxpPmVycm9yICR7ZXJyLm1lc3NhZ2V9PC9saT5gKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVyclwiLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJG5vZGUuZmluZChcIi5zcGlubmVyXCIpLnJlbW92ZSgpO1xuICAgICAgICAgICAgJG5vZGUucmVtb3ZlQ2xhc3MoXCJsb2FkaW5nXCIpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gbWFrZUNvbm5lY3Rpb24odGhhdCkge1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgYmFzZVVybDogdGhhdC5vcHRpb25zLmJhc2VVcmwsXG4gICAgICAgICAgICBlbmRwb2ludE5vZGU6IHR5cGVvZiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnROb2RlID09PSBcImZ1bmN0aW9uXCIgPyB0aGF0Lm9wdGlvbnMuZW5kcG9pbnROb2RlKCkgOiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgZW5kcG9pbnQ6IHR5cGVvZiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5lbmRwb2ludCgpIDogdGhhdC5vcHRpb25zLmVuZHBvaW50LFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gICAgZnVuY3Rpb24gX2V4cGFuZExpKHRoYXQsICRsaSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgaWYgKCRsaS5oYXNDbGFzcyhcImZldGNoZWRcIikpIHtcbiAgICAgICAgICAgICAgICAkbGkucmVtb3ZlQ2xhc3MoXCJleHBhbmRhYmxlXCIpLmFkZENsYXNzKFwiZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICAgICAgY29uc3QgZiA9ICF0aGF0Lm9wdGlvbnMuaXNUeXBlUmVmID8gZmV0Y2hDaGlsZHJlbiA6IGZldGNoU3VidHlwZXM7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHlpZWxkIF9mZXRjaERhdGFGb3JOb2RlKHRoYXQsICRsaSwgZiwgZGF0YSk7XG4gICAgICAgICAgICAgICAgLy8gbWFyayBhcyBleHBhbmRlZFxuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAkbGkucmVtb3ZlQ2xhc3MoXCJleHBhbmRhYmxlXCIpLmFkZENsYXNzKFwiZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdFBhcmVudE5vZGUgPSB7XG4gICAgICAgIGJyb3dzZU5hbWU6IHsgbmFtZXNwYWNlSW5kZXg6IDAsIG5hbWU6IFwiT2JqZWN0c1wiIH0sXG4gICAgICAgIG5vZGVDbGFzczogXCJPYmplY3RcIixcbiAgICAgICAgbm9kZUlkOiBcIm5zPTA7aT04NVwiLFxuICAgICAgICBkaXNwbGF5TmFtZTogeyB0ZXh0OiBcIk9iamVjdHNcIiB9LFxuICAgICAgICB0eXBlRGVmaW5pdGlvbjogRm9sZGVyVHlwZSxcbiAgICB9O1xuICAgIGNvbnN0IGRlY2xhcmVOb2RlQnJvd3NlcldpZGdldCA9ICgpID0+IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFsgVGVtcGVyYXR1cmUgIF1cbiAgICAgICAgICogICAoIHRvb2x0aXAgOiAoL09iamVjdHMvTXlTZW5zb3IpIChucz0xO3M9VGVtcGVyYXR1cmUpKVxuICAgICAgICAgKiBbICsgW0ZvbGRlcl0gT2JqZWN0c11cbiAgICAgICAgICogWyAgICAgW09iamVjdF0gTXlTZW5zb3JdXG4gICAgICAgICAqIFsgICAgICggKSBbVmFyaWFibGVdIFRlbXBlcmF0dXJlXVxuICAgICAgICAgKi9cbiAgICAgICAgJC53aWRnZXQoXCJzdGVyZml2ZS5ub2RlQnJvd3NlclwiLCB7XG4gICAgICAgICAgICAvKiBkZWZhdWx0IG9wdGlvbnMgKi9cbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGU6ICgpID0+ICh7IGVuZHBvaW50OiBcIm9wYy50Y3A6Ly9vcGN1YWRlbW8uc3RlcmZpdmUuY29tOjI2NTQzXCIgfSksXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQ6ICgpID0+IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlOiAoKSA9PiBkZWZhdWx0UGFyZW50Tm9kZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6ICgpID0+IHRydWUsXG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgICAgICBpc1R5cGVSZWY6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlc29sdmVQYXJlbnROb2RlKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5fX3BhcmVudE5vZGUgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gdHlwZW9mIHRoYXQub3B0aW9ucy5wYXJlbnROb2RlID09PSBcImZ1bmN0aW9uXCIgPyB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZS5jYWxsKHRoYXQpIDogdGhhdC5vcHRpb25zLnBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZXNjID0geWllbGQgYTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9fcGFyZW50Tm9kZSA9IGRlc2M7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9fcGFyZW50Tm9kZSA9IGE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoYXQuX19wYXJlbnROb2RlIHx8IGRlZmF1bHRQYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlc2V0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICAgICAvLyBhbHNvIHJlc2V0IHBhcmVudCBub2RlXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB0aGF0O1xuICAgICAgICAgICAgICAgICAgICBhLl9fcGFyZW50Tm9kZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5lbXB0eSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0geWllbGQgdGhpcy5yZXNvbHZlUGFyZW50Tm9kZSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IG1ha2VFbGVtZW50KHBhcmVudE5vZGUpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLmFwcGVuZCgkZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuY3VycmVudFBhcmVudCA9IHBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdmVyaWZ5KG1vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICAgICAgICAgIGludGVybmFsVmVyaWZ5KGRhdGEsIG1vZGUsIHRoYXQuJGlucHV0LCB0aGF0LiRpbmZvKS50aGVuKChzdWNjZXNzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYWRkQ2xhc3MoXCJzdGVyZml2ZS1pbnB1dC1lcnJvclwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLnJlbW92ZUNsYXNzKFwic3RlcmZpdmUtaW5wdXQtZXJyb3JcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfaGlkZU1lbnUobWVudSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9mZihcIm1vdXNlZG93bi5yZWQtdWktdHlwZWRJbnB1dC1jbG9zZS1wcm9wZXJ0eS1zZWxlY3RcIik7XG4gICAgICAgICAgICAgICAgbWVudS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgbWVudS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiYXV0b1wiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChtZW51Lm9wdHMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkID0gW107XG4gICAgICAgICAgICAgICAgICAgIG1lbnUuZmluZCgnaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5wcm9wKFwiY2hlY2tlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkLnB1c2goJCh0aGlzKS5kYXRhKFwidmFsdWVcIikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgbWVudS5jYWxsYmFjayhzZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGF0LiRlbGVtZW50RGl2LmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICAvL3h4IH0gZWxzZSBpZiAodGhpcy4kb3B0aW9uU2VsZWN0VHJpZ2dlci5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8veHggICAgIHRoYXQuJG9wdGlvblNlbGVjdFRyaWdnZXIudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9jcmVhdGVNZW51KG1lbnVPcHRpb25zLCBvcHRzLCBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICBjb25zdCBtZW51ID0gJChcIjxkaXY+XCIpLmFkZENsYXNzKFwic3RlcmZpdmUtdHlwZWRJbnB1dC1vcHRpb25zIHN0ZXJmaXZlLW9ubGluZS1tZW51XCIpO1xuICAgICAgICAgICAgICAgIG1lbnUub3B0cyA9IG9wdHM7XG4gICAgICAgICAgICAgICAgbWVudS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgICAgICAgICAgICAgIG1lbnVPcHRpb25zLmZvckVhY2goKG9wdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG9wdCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3B0ID0geyB2YWx1ZTogb3B0LCBsYWJlbDogb3B0IH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFyIG9wID0gJCgnPGEgaHJlZj1cIiNcIj48L2E+JykuYXR0cihcInZhbHVlXCIsIG9wdC52YWx1ZSkuYXBwZW5kVG8obWVudSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHQubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLnRleHQob3B0LmxhYmVsKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0LnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC5wcm9wKFwidGl0bGVcIiwgb3B0LnRpdGxlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0Lmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHQuaWNvbi5pbmRleE9mKFwiPFwiKSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQob3B0Lmljb24pLnByZXBlbmRUbyhvcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChvcHQuaWNvbi5pbmRleE9mKFwiL1wiKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiPGk+XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IFwicmVkLXVpLXR5cGVkSW5wdXQtaWNvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogXCJtYXNrLWltYWdlOiB1cmwoXCIgKyBvcHQuaWNvbiArIFwiKTsgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIgKyBvcHQuaWNvbiArIFwiKTtcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5wcmVwZW5kVG8ob3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIjxpPlwiLCB7IGNsYXNzOiBcInJlZC11aS10eXBlZElucHV0LWljb24gXCIgKyBvcHQuaWNvbiB9KS5wcmVwZW5kVG8ob3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AuY3NzKHsgcGFkZGluZ0xlZnQ6IFwiMThweFwiIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0Lmljb24gJiYgIW9wdC5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AudGV4dChvcHQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZhciBjYjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNiID0gJCgnPGlucHV0IHR5cGU9XCJjaGVja2JveFwiPicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNzcyhcInBvaW50ZXItZXZlbnRzXCIsIFwibm9uZVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kYXRhKFwidmFsdWVcIiwgb3B0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmVwZW5kVG8ob3ApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwibW91c2Vkb3duXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9wLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdHMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhvcHQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2hpZGVNZW51KG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2IucHJvcChcImNoZWNrZWRcIiwgIWNiLnByb3AoXCJjaGVja2VkXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbWVudS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtZW51Lm9uKFwia2V5ZG93blwiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChldnQua2V5Q29kZSA9PT0gNDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRE9XTlxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jaGlsZHJlbihcIjpmb2N1c1wiKS5uZXh0KCkudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2dC5rZXlDb2RlID09PSAzOCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBVUFxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jaGlsZHJlbihcIjpmb2N1c1wiKS5wcmV2KCkudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2dC5rZXlDb2RlID09PSAyNykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRVNDQVBFXG4gICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2hpZGVNZW51KG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWVudTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkaXNhcm1DbGljazogZmFsc2UsXG4gICAgICAgICAgICBfc2hvd01lbnUobWVudSwgcmVsYXRpdmVUbykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRpc2FybUNsaWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYXJtQ2xpY2sgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdmFyIHBvcyA9IHJlbGF0aXZlVG8ub2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgdmFyIGhlaWdodCA9IHJlbGF0aXZlVG8uaGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgdmFyIG1lbnVIZWlnaHQgPSBtZW51LmhlaWdodCgpO1xuICAgICAgICAgICAgICAgIHZhciB0b3AgPSBoZWlnaHQgKyBwb3MudG9wO1xuICAgICAgICAgICAgICAgIGlmICh0b3AgKyBtZW51SGVpZ2h0IC0gJChkb2N1bWVudCkuc2Nyb2xsVG9wKCkgPiAkKHdpbmRvdykuaGVpZ2h0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wIC09IHRvcCArIG1lbnVIZWlnaHQgLSAkKHdpbmRvdykuaGVpZ2h0KCkgKyA1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodG9wIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICBtZW51LmhlaWdodChtZW51SGVpZ2h0ICsgdG9wKTtcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbWVudS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHRvcCArIFwicHhcIixcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogcG9zLmxlZnQgKyBcInB4XCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbWVudS5zbGlkZURvd24oMTAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZWxheShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwibW91c2Vkb3duLnJlZC11aS10eXBlZElucHV0LWNsb3NlLXByb3BlcnR5LXNlbGVjdFwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghJChldmVudC50YXJnZXQpLmNsb3Nlc3QobWVudSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5faGlkZU1lbnUobWVudSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJChldmVudC50YXJnZXQpLmNsb3Nlc3QocmVsYXRpdmVUbykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5kaXNhcm1DbGljayA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3Nob3dUeXBlTWVudSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGlzLl9zaG93TWVudSh0aGF0LiRtZW51LCB0aGF0LiRjb21ibyk7XG4gICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSB0aGF0LnNlbGVjdGVkTWVudUl0ZW07XG4gICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkID0gdGhhdC4kbWVudS5maW5kKFwiW3ZhbHVlPSdcIiArIHR5cGUgKyBcIidcIik7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICB9LCAxMjApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9pbml0TWVudSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLmF0dHIoXCJ0YWJpbmRleFwiLCAtMSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5vbihcIm1vdXNlZG93bi5yZWQtdWktdHlwZWRJbnB1dC1mb2N1cy1ibG9ja1wiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmICh0aGF0LiRtZW51KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGZhLWlkLWNhcmRcbiAgICAgICAgICAgICAgICBjb25zdCB0eXBlTGlzdCA9IFtcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJ0ZXh0XCIsIHZhbHVlOiBcInRcIiwgdGl0bGU6IFwiVmFsdWUgaXMgbm90IHZlcmlmaWVkXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWZvbnRcIi9pPiAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIm1zZy5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIm1zZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwibm9kZSBpZCBvciAgYnJvd3NlIHBhdGggY29tZXMgZnJvbSBpbmplY3RlZCBtc2cgcGFyYW1ldGVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1lbnZlbG9wZS1vcGVuLW9cIi8+JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJOb2RlSWRcIiwgdmFsdWU6IFwiblwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS10YWdcIi8+MSAmbmJzcDsgJyB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIkFsaWFzZWQgTm9kZUlkXCIsIHZhbHVlOiBcIm5hXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWJvb2ttYXJrXCIvPiZuYnNwOyAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiTm9kZUlkIHdpdGggbmFtZXNwYWNlIFVyblwiLCB2YWx1ZTogXCJuc3VcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtaWQtY2FyZFwiLz4mbmJzcDsgJyB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIkJyb3dzZVBhdGhcIiwgdmFsdWU6IFwiYlwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS10YWdcIi8+PGkgY2xhc3M9XCJmYSBmYS1maWdodGVyLWpldFwiLz4mbmJzcDsnIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIkFsaWFzZWQgQnJvd3NlIFBhdGhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcImFiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1ib29rbWFya1wiLz48aSBjbGFzcz1cImZhIGZhLWZpZ2h0ZXItamV0XCIvPiZuYnNwOycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICBjb25zdCBhID0gZmlndXJlT3V0TWVuVUl0ZW1WYWx1ZSh0aGF0LiRpbnB1dC52YWwoKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZSA9IHR5cGVMaXN0LmZpbmQoKHgpID0+IHgudmFsdWUgPT09IGEpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdExhYmVsLmVtcHR5KCkuYXBwZW5kKGA8c3BhbiB0aXRsZT0keyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUudGl0bGUpIHx8IFwiXCJ9PiZuYnNwOyAkeyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUuaWNvbikgfHwgXCJcIn08L3NwYW4+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC5zZWxlY3RlZE1lbnVJdGVtID0gYTtcbiAgICAgICAgICAgICAgICBjb25zdCB0dCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kbWVudSA9IHRoaXMuX2NyZWF0ZU1lbnUodHlwZUxpc3QsIHt9LCAodikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2RlID0gdG9Nb2RlKHYpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb24gTWVudSBzZWxlY3RlZCAhXG4gICAgICAgICAgICAgICAgICAgICAgICB0dC52ZXJpZnkobW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZSA9IHR5cGVMaXN0LmZpbmQoKHgpID0+IHgudmFsdWUgPT09IHYpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LnNlbGVjdGVkTWVudUl0ZW0gPSB2O1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbC5lbXB0eSgpLmFwcGVuZChgPHNwYW4gdGl0bGU9JHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRpdGxlKSB8fCBcIlwifT4mbmJzcDsgJHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLmljb24pIHx8IFwiXCJ9PC9zcGFuPmApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kbWVudS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5zaG93KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbW9kZSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICByZXR1cm4gdG9Nb2RlKHRoYXQuc2VsZWN0ZWRNZW51SXRlbSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0TW9kZShtb2RlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgY29uc3QgcyA9IGZyb21Nb2RlKG1vZGUpO1xuICAgICAgICAgICAgICAgIHRoYXQuc2VsZWN0ZWRNZW51SXRlbSA9IHM7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZSgpIHtcbiAgICAgICAgICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dCA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5jc3MoXCJib3JkZXJcIiwgXCJub25lXCIpO1xuICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXRcIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kZWxlbWVudERpdiA9IHRoYXQuJGlucHV0LndyYXAoXCI8ZGl2PlwiKS5wYXJlbnQoKS5hZGRDbGFzcyhcIm1haW4td3JhcHBlclwiKTtcbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIENvbWJvIGJyb3dzZXJcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21ibyA9ICQoXCI8ZGl2Lz5cIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYWRkQ2xhc3MoXCJzdGVyZml2ZS1jb21iby1ib3hcIik7XG4gICAgICAgICAgICAgICAgLy8gdGhhdC4kY29tYm8uYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1pbnB1dC13cmFwXCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnJlcGxhY2VXaXRoKHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwID0gJChcIjxkaXYvPlwiKS5hZGRDbGFzcyhcInN0ZXJmaXZlLWlucHV0LWdyb3VwXCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRpbnB1dEdyb3VwKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwLmFwcGVuZCh0aGF0LiRpbnB1dCk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gYWRkIGJ1dHRvbiBvbiB0aGUgcmlnaHQgc2lkZVxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gdG9nZ2xlVHJlZUJ0blxuICAgICAgICAgICAgICAgIHRoYXQuJHRvZ2dsZVRyZWVCdG4gPSAkKGA8YnV0dG9uIHRpdGxlPVwib3BlbiBPUENVQSBBZGRyZXNzU3BhY2UgQnJvd3NlclwiPjxpIGNsYXNzPVwiZmEgZmEtc2l0ZW1hcFwiPjwvaT48L2J1dHRvbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5hZnRlcih0aGF0LiR0b2dnbGVUcmVlQnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5lZWRUb1JlYWNoU2VsZWN0aW9uID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhhdC4kZHJvcGRvd24uaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGluZm8uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRyZWUgd2lkZ2V0IGlzIGdvaW5nIHRvIGJlY29tZSB2aXNpYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50Tm9kZSA9IHlpZWxkIHRoYXQucmVzb2x2ZVBhcmVudE5vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyZW50Tm9kZSAhPT0gdGhhdC5jdXJyZW50UGFyZW50IHx8ICgoX2EgPSB0aGF0LmN1cnJlbnRQYXJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5ub2RlSWQpICE9PSBwYXJlbnROb2RlLm5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCB0aGF0LnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRUb1JlYWNoU2VsZWN0aW9uID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmVlZFRvUmVhY2hTZWxlY3Rpb24gJiYgKHlpZWxkIHJlYWNoU2VsZWN0aW9uKHRoYXQsIHBhcmVudE5vZGUpKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gdmVyaWZ5QnRuXG4gICAgICAgICAgICAgICAgdGhhdC4kdmVyaWZ5QnRuID0gJChgPGJ1dHRvbiB0aXRsZT1cInZlcmlmeSBub2RlSWQgb3IgYnJvd3NlUGF0aFwiPjxpIGNsYXNzPVwiZmEgZmEtcmVmcmVzaFwiPjwvaT48L2J1dHRvbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5hZnRlcih0aGF0LiR2ZXJpZnlCdG4pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHZlcmlmeUJ0bi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9kZSA9IHRoYXQubW9kZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZlcmlmeShtb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZUlucHV0ID0gKGlucHV0KSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbW9kZSA9IHRoYXQubW9kZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbm5lY3Rpb25EYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZGF0YSwganNvbiB9ID0geWllbGQgX2NhbGxDaGVja05vZGVJZChjb25uZWN0aW9uRGF0YSwgaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChqc29uLnN0YXR1c0NvZGUubWF0Y2goL0dvb2QvKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWQgPSBjaG9vc2VOb2RlSWQoanNvbiwgbW9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC52YWwoc2VsZWN0ZWROb2RlSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSB0aGUgcHJlcGVuZGVkIGJ1dHRvblxuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QgPSAkKFwiPGRpdj5cIik7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmJlZm9yZSh0aGF0LiR1aVNlbGVjdCk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIgPSAkKCc8YnV0dG9uIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj48L2J1dHRvbj4nKS5wcmVwZW5kVG8odGhhdC4kdWlTZWxlY3QpO1xuICAgICAgICAgICAgICAgICAgICAkKCc8aSBjbGFzcz1cInJlZC11aS10eXBlZElucHV0LWljb24gZmEgZmEtY2FyZXQtZG93blwiPjwvaT4nKS50b2dnbGUodHJ1ZSkuYXBwZW5kVG8odGhhdC4kc2VsZWN0VHJpZ2dlcik7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3Nob3dUeXBlTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlclxuICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwia2V5ZG93blwiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZ0LmtleUNvZGUgPT09IDQwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRG93blxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3Nob3dUeXBlTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwiZm9jdXNcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QuYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1mb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImJsdXJcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFyIG9wdCA9IHRoYXQudHlwZU1hcFt0aGF0LnByb3BlcnR5VHlwZV07XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiAob3B0Lmhhc1ZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QucmVtb3ZlQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1mb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdExhYmVsID0gJCgnPHNwYW4gY2xhc3M9XCJyZWQtdWktdHlwZWRJbnB1dC10eXBlLWxhYmVsXCI+PC9zcGFuPicpLmFwcGVuZFRvKHRoYXQuJHNlbGVjdFRyaWdnZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9pbml0TWVudSgpO1xuICAgICAgICAgICAgICAgIGlmICghdGhhdC4kaW5wdXQuYXR0cihcInBsYWNlaG9sZGVyXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmF0dHIoXCJwbGFjZWhvbGRlclwiLCBcImVudGVyIGEgbm9kZUlkIG9yIGEgYnJvd3NlUGF0aCBcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gdGVtcG9yYXR5IGluZm8gcGFuZWxcbiAgICAgICAgICAgICAgICB0aGF0LiRpbmZvID0gJChgPGRpdiBjbGFzcz1cInN0ZXJmaXZlLWluZm8tdGV4dFwiPjwvZGl2PmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGluZm8uaGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRpbmZvKTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiBkcm9wIGRvd24gdHJlZVxuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duID0gJChcIjxkaXYvPlwiKS5hZGRDbGFzcyhcInN0ZXJmaXZlLWRyb3Bkb3duXCIpLmhpZGUoKS5hcHBlbmRUbyh0aGF0LiRjb21ibyk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZSA9ICQoYDx1bCBjbGFzcz1cInN0ZXJmaXZlLXRyZWVcIj48L3VsPmApLmFwcGVuZFRvKHRoYXQuJGRyb3Bkb3duKTtcbiAgICAgICAgICAgICAgICAvLyB0aGF0LiRkcm9wZG93bi5zaG93KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICBjb25zdCBpc09uTGVmdFNpemUgPSAoJGxpLCBldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVXaWR0aCA9IDIwOyAvLyBTZXQgd2lkdGggb2YgdGhlIDo6YmVmb3JlIGNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlSGVpZ2h0ID0gMjA7IC8vIFNldCBoZWlnaHQgb2YgdGhlIDo6YmVmb3JlIGNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFBvcyA9ICRsaS5vZmZzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZSA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICBpZiAoZS5wYWdlWCA+PSBlbGVtZW50UG9zLmxlZnQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucGFnZVggPD0gZWxlbWVudFBvcy5sZWZ0ICsgYmVmb3JlV2lkdGggJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucGFnZVkgPj0gZWxlbWVudFBvcy50b3AgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucGFnZVkgPD0gZWxlbWVudFBvcy50b3AgKyBiZWZvcmVIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvZ2dsZUV4cGFuc2lvbiA9ICgkbGkpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCRsaS5oYXNDbGFzcyhcImV4cGFuZGFibGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9leHBhbmRMaSh0aGF0LCAkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRsaS5oYXNDbGFzcyhcImV4cGFuZGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUb2dnbGUgaXRzIGV4cGFuZGVkL2NvbGxhcHNlZCBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2FwIGV4cGFuZGFibGUgYW5kIGV4cGFuZGVkIGNsYXNzZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS50b2dnbGVDbGFzcyhcImV4cGFuZGFibGUgZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoJGxpLmNoaWxkcmVuKFwidWxcIikuY2hpbGRyZW4oKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN3YXAgZXhwYW5kYWJsZSBhbmQgZXhwYW5kZWQgY2xhc3Nlc1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLnRvZ2dsZUNsYXNzKFwiZXhwYW5kYWJsZSBleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLm9uKFwiZGJsY2xpY2tcIiwgXCJsaVwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCAkbGkgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPbkxlZnRTaXplKCRsaSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFeHBhbnNpb24oJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gJGxpLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9ICRsaS5kYXRhKFwicmVmZXJlbmNlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQub3B0aW9ucy5pc1NlbGVjdGFibGUgJiYgIXRoYXQub3B0aW9ucy5pc1NlbGVjdGFibGUocmVmZXJlbmNlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmRhdGEoXCJyZWZlcmVuY2VcIiwgcmVmZXJlbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICgoX2EgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50ZXh0KSB8fCAoKF9iID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zdCBpbnB1dCA9IGBbJHtkaXNwbGF5TmFtZX1dKCR7dmFsdWV9KWA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbW9kZSA9IHRoYXQubW9kZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSA9IFwibm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5zZXRNb2RlKG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplSW5wdXQodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnZhbChpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudmFsKGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5vbihcImNsaWNrXCIsIFwibGlcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgJGxpID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT25MZWZ0U2l6ZSgkbGksIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRXhwYW5zaW9uKCRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0U2luZ2xlKHRoYXQsICRsaSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2xpY2tpbmcgb3V0c2lkZSB0aGUgcGFnZSB3aWxsIGhpZGUgdGhlIGRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgIGlmICghJChldmVudC50YXJnZXQpLmNsb3Nlc3QodGhhdC4kY29tYm8pLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0aGUgZW5kcG9pbnQgYXR0cmlidXRlcyBjb250YWluaW5nOlxuICAgICAqICAtIHRoZSBlbmRwb2ludCwgc2VjdXJpdHlNb2RlLCBzZWN1cml0eVBvbGljeSxcbiAgICAgKiAgLSB1c2VySWRlbnRpdHlUeXBlLFxuICAgICAqICAtIGNyZWRlbnRpYWxzXG4gICAgICogIC0gbmFtZXNwYWNlQWxpYXNlc1xuICAgICAqXG4gICAgICogZXh0cmFjdGVkIGZyb20gdGhlIHVpIHdpZGdldCAjbm9kZS1pbnB1dC1lbmRwb2ludFxuICAgICAqL1xuICAgIGNvbnN0IGdldEVuZFBvaW50QXR0cmlidXRlcyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgJGVuZHBvaW50ID0gJChcIiNub2RlLWlucHV0LWVuZHBvaW50XCIpO1xuICAgICAgICBjb25zdCBlbmRwb2ludElkID0gJGVuZHBvaW50LnZhbCgpO1xuICAgICAgICBjb25zdCByZWROb2RlID0gUkVELm5vZGVzLm5vZGUoZW5kcG9pbnRJZCk7XG4gICAgICAgIGlmICghcmVkTm9kZSlcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIC8vIGNvbnN0IGNyZWRlbnRpYWxzID0gUkVELihlbmRwb2ludElkKTtcbiAgICAgICAgLy8gd2UgbmVlZCB0byBzYW5pdGl6ZSBhbmQgZXh0cmFjdCB0aGUgZW5kcG9pbnQgYXR0cmlidXRlcyBvbmx5ICggbm90IHRoZSBub2RlLXJlZCBzdHVmZilcbiAgICAgICAgY29uc3QgeyBlbmRwb2ludCwgc2VjdXJpdHlNb2RlLCBzZWN1cml0eVBvbGljeSwgdXNlcklkZW50aXR5VHlwZSwgY3JlZGVudGlhbHMsIG5hbWVzcGFjZUFsaWFzZXMgfSA9IHJlZE5vZGU7XG4gICAgICAgIGNvbnN0IHJldFZhbHVlID0ge1xuICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICBzZWN1cml0eU1vZGUsXG4gICAgICAgICAgICBzZWN1cml0eVBvbGljeSxcbiAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGUsXG4gICAgICAgICAgICBjcmVkZW50aWFscyxcbiAgICAgICAgICAgIG5hbWVzcGFjZUFsaWFzZXMsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiByZXRWYWx1ZTtcbiAgICB9O1xuICAgIGNvbnN0IGdldEVuZHBvaW50UGFyYW1ldGVycyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgJGVuZHBvaW50ID0gJChcIiNub2RlLWlucHV0LWVuZHBvaW50XCIpO1xuICAgICAgICBjb25zdCBlbmRwb2ludElkID0gJGVuZHBvaW50LnZhbCgpO1xuICAgICAgICBjb25zdCBlbmRwb2ludE5yID0gZ2V0RW5kUG9pbnRBdHRyaWJ1dGVzKCk7XG4gICAgICAgIGlmICghZW5kcG9pbnROcikge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuYW1lc3BhY2VBbGlhc2VzID0gZW5kcG9pbnROci5uYW1lc3BhY2VBbGlhc2VzO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7IG5hbWVzcGFjZUFsaWFzZXMsIGlkOiBlbmRwb2ludElkIH0sIGVuZHBvaW50TnIpO1xuICAgIH07XG4gICAgY29uc3QgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzLFxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBjb25zdCBpbnN0YWxsRmVlZGJhY2tXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgIC8vIHJldHVybjtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIGNvbnN0IHRyYXlDb250ZW50ID0gJChcIi5yZWQtdWktdHJheS1ib2R5XCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhcImluc3RhbGxGZWVkYmFja1dpZGdldCBcIiwgdHJheUNvbnRlbnQubGVuZ3RoKTtcbiAgICAgICAgaWYgKHRyYXlDb250ZW50Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnN0YWxsaW5nIGlmcmFtZVwiKTtcbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgaWZyYW1lIGVsZW1lbnRcbiAgICAgICAgICAgIGNvbnN0IGlmcmFtZSA9ICQoXCI8aWZyYW1lPjwvaWZyYW1lPlwiLCB7XG4gICAgICAgICAgICAgICAgc3JjOiBcIi9vcGN1YS1mb3Itbm9kZS1yZWQvc3VwcG9ydC1mcmFtZS5odG1sXCIsXG4gICAgICAgICAgICAgICAgc2Nyb2xsaW5nOiBcIm5vXCIsXG4gICAgICAgICAgICAgICAgc3R5bGU6IFwiYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjNweFwiLFxuICAgICAgICAgICAgICAgIGFsbG93dHJhbnNwYXJlbmN5OiBcInRydWVcIixcbiAgICAgICAgICAgICAgICB3aWR0aDogXCIxODBweFwiLFxuICAgICAgICAgICAgICAgIGhlaWdodDogXCIzMHB4XCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgaWZyYW1lIHRvIHRoZSBmZWVkYmFjayBlbGVtZW50XG4gICAgICAgICAgICB0cmF5Q29udGVudC5hcHBlbmQoaWZyYW1lKTtcbiAgICAgICAgICAgIC8vIFBvc2l0aW9uIHRoZSBmZWVkYmFjayBlbGVtZW50IGF0IHRoZSBib3R0b20gcmlnaHQgb2YgdGhlIHRyYXkgY29udGVudFxuICAgICAgICAgICAgaWZyYW1lLmNzcyh7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICByaWdodDogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgYm90dG9tOiBcIjE2cHhcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIFJFRC5ub2Rlcy5yZWdpc3RlclR5cGUoXCJPcGNVYS1DbGllbnQyLUhpc3RvcnlSZWFkXCIsIHtcbiAgICAgICAgY2F0ZWdvcnk6IFwib3BjdWFcIixcbiAgICAgICAgY29sb3I6IFwiI0MwREVFRFwiLFxuICAgICAgICBhbGlnbjogXCJyaWdodFwiLFxuICAgICAgICBpY29uOiBcIi4uLy4uL2ljb25zL29wY3Vhbm9kZUxvZ28ucG5nXCIsXG4gICAgICAgIHBhbGV0dGVMYWJlbDogXCJyZWFkLWhpc3RvcnlcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIGlucHV0czogeyB2YWx1ZTogMSB9LFxuICAgICAgICAgICAgb3V0cHV0OiB7IHZhbHVlOiA0IH0sXG4gICAgICAgICAgICAvLyBDb21tb25cbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogdHJ1ZSwgdHlwZTogXCJPcGNVYS1FbmRwb2ludDJcIiB9LFxuICAgICAgICAgICAgaGlzdG9yeVJlYWRQYXJhbToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwicmF3XCIsXG4gICAgICAgICAgICAgICAgICAgIGVuZFRpbWU6IFwiMW0gYWdvXCIsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogXCIxMW0gYWdvXCIsXG4gICAgICAgICAgICAgICAgICAgIG51bVZhbHVlc1Blck5vZGU6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuQm91bmRzOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6ICh2YWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbCA9PT0gXCJcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyBmb3IgYWN0aW9uIHJlYWQgSGlzdG9yeVxuICAgICAgICAgICAgbm9kZUlkOiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG91dHB1dFR5cGU6IHsgdmFsdWU6IFwiVmFsdWVcIiwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gaW5wdXRzOixcbiAgICAgICAgb3V0cHV0czogMiwgLy8gMiBvdXRwdXQsIHNlY29uZCBmb3IgcmF3IG5vZGUtb3BjdWEgZGlhZ25vc3RpY3Mgb3IgbW9yZSBjb21wbGV0ZSBtZXNzYWdlXG4gICAgICAgIGxhYmVsKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCBcIk9QQ1VBIENsaWVudCBIaXN0b3J5UmVhZFwiO1xuICAgICAgICB9LFxuICAgICAgICBsYWJlbFN0eWxlKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSA/IFwibm9kZV9sYWJlbF9pdGFsaWNcIiA6IFwiXCI7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHByZXBhcmUoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGhpcztcbiAgICAgICAgICAgIGRlY2xhcmVOb2RlQnJvd3NlcldpZGdldCgpO1xuICAgICAgICAgICAgaW5zdGFsbEZlZWRiYWNrV2lkZ2V0KCk7XG4gICAgICAgICAgICBub2RlLmlucHV0cyA9IDE7XG4gICAgICAgICAgICBjb25zdCAkbm9kZUlkID0gJChcIiNub2RlLWlucHV0LW5vZGVJZFwiKTtcbiAgICAgICAgICAgICRub2RlSWQubm9kZUJyb3dzZXIoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyKCkpLCB7IGlzU2VsZWN0YWJsZShub2RlRGVzYykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9kZURlc2Mubm9kZUNsYXNzID09PSBcIlZhcmlhYmxlXCI7XG4gICAgICAgICAgICAgICAgfSB9KSk7XG4gICAgICAgICAgICAkKFwiI3NlbGVjdC1oaXN0b3J5LXR5cGVcIikudmFsKG5vZGUuaGlzdG9yeVJlYWRQYXJhbS50eXBlKTtcbiAgICAgICAgICAgIHN3aXRjaCAobm9kZS5oaXN0b3J5UmVhZFBhcmFtLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwicmF3XCI6XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1yYXctc3RhcnRUaW1lXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uc3RhcnRUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXJhdy1lbmRUaW1lXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uZW5kVGltZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1yYXctbnVtVmFsdWVzUGVyTm9kZVwiKS52YWwobm9kZS5oaXN0b3J5UmVhZFBhcmFtLm51bVZhbHVlc1Blck5vZGUpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtcmV0dXJuQm91bmRzXCIpLnByb3AoXCJjaGVja2VkXCIsIG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5yZXR1cm5Cb3VuZHMpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwibW9kaWZpZWRcIjpcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LW1vZGlmaWVkLXN0YXJ0VGltZVwiKS52YWwobm9kZS5oaXN0b3J5UmVhZFBhcmFtLnN0YXJ0VGltZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1tb2RpZmllZC1lbmRUaW1lXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uZW5kVGltZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1tb2RpZmllZC1udW1WYWx1ZXNQZXJOb2RlXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0ubnVtVmFsdWVzUGVyTm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1tb2RpZmllZC1yZXR1cm5Cb3VuZHNcIikucHJvcChcImNoZWNrZWRcIiwgbm9kZS5oaXN0b3J5UmVhZFBhcmFtLnJldHVybkJvdW5kcyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJwcm9jZXNzZWQtZGV0YWlsc1wiOlxuICAgICAgICAgICAgICAgICAgICBub2RlLmhpc3RvcnlSZWFkUGFyYW0uYWdncmVnYXRlQ29uZmlndXJhdGlvbiA9IG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5hZ2dyZWdhdGVDb25maWd1cmF0aW9uIHx8IHt9O1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtc3RhcnRUaW1lXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uc3RhcnRUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWVuZFRpbWVcIikudmFsKG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5lbmRUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLXByb2Nlc3NpbmdJbnRlcnZhbFwiKS52YWwobm9kZS5oaXN0b3J5UmVhZFBhcmFtLnByb2Nlc3NpbmdJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVUeXBlXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uYWdncmVnYXRlVHlwZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVDb25maWd1cmF0aW9uLXVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzXCIpLnByb3AoXCJjaGVja2VkXCIsIG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5hZ2dyZWdhdGVDb25maWd1cmF0aW9uLnVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24tdHJlYXRVbmNlcnRhaW5Bc0JhZFwiKS5wcm9wKFwiY2hlY2tlZFwiLCBub2RlLmhpc3RvcnlSZWFkUGFyYW0uYWdncmVnYXRlQ29uZmlndXJhdGlvbi50cmVhdFVuY2VydGFpbkFzQmFkKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24tcGVyY2VudERhdGFCYWRcIikudmFsKG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5hZ2dyZWdhdGVDb25maWd1cmF0aW9uLnBlcmNlbnREYXRhQmFkKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24tcGVyY2VudERhdGFHb29kXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uYWdncmVnYXRlQ29uZmlndXJhdGlvbi5wZXJjZW50RGF0YUdvb2QpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtYWdncmVnYXRlQ29uZmlndXJhdGlvbi11c2VTbG9wZWRFeHRyYXBvbGF0aW9uXCIpLnByb3AoXCJjaGVja2VkXCIsIG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5hZ2dyZWdhdGVDb25maWd1cmF0aW9uLnVzZVNsb3BlZEV4dHJhcG9sYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgYWR2YW5jZWQgY29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZnVuY3Rpb24gaGlkZUFsbFNlY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1yYXdcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tbW9kaWZpZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tcHJvY2Vzc2VkLWRldGFpbHNcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tYXQtdGltZVwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1hbm5vdGF0aW9uLWRhdGFcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tZXZlbnRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmdW5jdGlvbiB0b2dnbGVTZWN0aW9ucygpIHtcbiAgICAgICAgICAgICAgICAgICAgaGlkZUFsbFNlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkVmFsdWUgPSAkKFwiI3NlbGVjdC1oaXN0b3J5LXR5cGVcIikudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwidG9nZ2xlU2VjdGlvbnMgXCIgKyBzZWxlY3RlZFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLVwiICsgc2VsZWN0ZWRWYWx1ZSkuc2hvdygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkKFwiI3NlbGVjdC1oaXN0b3J5LXR5cGVcIikub24oXCJjaGFuZ2VcIiwgdG9nZ2xlU2VjdGlvbnMpO1xuICAgICAgICAgICAgICAgIHRvZ2dsZVNlY3Rpb25zKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZUFzVGV4dCA9IChhKSA9PiAoYS52YWwoKSA9PSB1bmRlZmluZWQgPyBcIlwiIDogYS52YWwoKS50b1N0cmluZygpKTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlQXNOdW1iZXIgPSAoYSkgPT4gKGEudmFsKCkgPT0gdW5kZWZpbmVkID8gMCA6IGEudmFsKCkpO1xuICAgICAgICAgICAgY29uc3QgdHlwZSA9ICQoXCIjc2VsZWN0LWhpc3RvcnktdHlwZVwiKS52YWwoKTtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgXCJyYXdcIjpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaXN0b3J5UmVhZFBhcmFtID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJyYXdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogdmFsdWVBc1RleHQoJChcIiNub2RlLWlucHV0LXJhdy1zdGFydFRpbWVcIikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kVGltZTogdmFsdWVBc1RleHQoJChcIiNub2RlLWlucHV0LXJhdy1lbmRUaW1lXCIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bVZhbHVlc1Blck5vZGU6IHZhbHVlQXNOdW1iZXIoJChcIiNub2RlLWlucHV0LXJhdy1udW1WYWx1ZXNQZXJOb2RlXCIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybkJvdW5kczogJChcIiNub2RlLWlucHV0LXJldHVybkJvdW5kc1wiKS5wcm9wKFwiY2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcIm1vZGlmaWVkXCI6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlzdG9yeVJlYWRQYXJhbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibW9kaWZpZWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogdmFsdWVBc1RleHQoJChcIiNub2RlLWlucHV0LW1vZGlmaWVkLXN0YXJ0VGltZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRUaW1lOiB2YWx1ZUFzVGV4dCgkKFwiI25vZGUtaW5wdXQtbW9kaWZpZWQtZW5kVGltZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBudW1WYWx1ZXNQZXJOb2RlOiB2YWx1ZUFzTnVtYmVyKCQoXCIjbm9kZS1pbnB1dC1tb2RpZmllZC1udW1WYWx1ZXNQZXJOb2RlXCIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybkJvdW5kczogJChcIiNub2RlLWlucHV0LW1vZGlmaWVkLXJldHVybkJvdW5kc1wiKS5wcm9wKFwiY2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcInByb2Nlc3NlZC1kZXRhaWxzXCI6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlzdG9yeVJlYWRQYXJhbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwicHJvY2Vzc2VkLWRldGFpbHNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogdmFsdWVBc1RleHQoJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLXN0YXJ0VGltZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRUaW1lOiB2YWx1ZUFzVGV4dCgkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtZW5kVGltZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nSW50ZXJ2YWw6IHZhbHVlQXNOdW1iZXIoJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLXByb2Nlc3NpbmdJbnRlcnZhbFwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVUeXBlOiB2YWx1ZUFzVGV4dCgkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtYWdncmVnYXRlVHlwZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVsdHM6ICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVDb25maWd1cmF0aW9uLXVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzXCIpLnByb3AoXCJjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWF0VW5jZXJ0YWluQXNCYWQ6ICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVDb25maWd1cmF0aW9uLXRyZWF0VW5jZXJ0YWluQXNCYWRcIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyY2VudERhdGFCYWQ6IHZhbHVlQXNOdW1iZXIoJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24tcGVyY2VudERhdGFCYWRcIikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmNlbnREYXRhR29vZDogdmFsdWVBc051bWJlcigkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtYWdncmVnYXRlQ29uZmlndXJhdGlvbi1wZXJjZW50RGF0YUdvb2RcIikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVNsb3BlZEV4dHJhcG9sYXRpb246ICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVDb25maWd1cmF0aW9uLXVzZVNsb3BlZEV4dHJhcG9sYXRpb25cIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
|
7
|
+
function _0x3133(_0x57cce8,_0x2bfab5){const _0x3e705e=_0x3e70();return _0x3133=function(_0x313304,_0x41fa26){_0x313304=_0x313304-0x191;let _0x123747=_0x3e705e[_0x313304];return _0x123747;},_0x3133(_0x57cce8,_0x2bfab5);}(function(_0x3588c1,_0x46ec94){const _0x101db3=_0x3133,_0x1eccf7=_0x3588c1();while(!![]){try{const _0x4fd465=parseInt(_0x101db3(0x2a4))/0x1+parseInt(_0x101db3(0x1dd))/0x2+-parseInt(_0x101db3(0x1d3))/0x3+parseInt(_0x101db3(0x217))/0x4*(parseInt(_0x101db3(0x2cc))/0x5)+-parseInt(_0x101db3(0x29e))/0x6+-parseInt(_0x101db3(0x2a8))/0x7*(-parseInt(_0x101db3(0x268))/0x8)+-parseInt(_0x101db3(0x290))/0x9*(parseInt(_0x101db3(0x1fb))/0xa);if(_0x4fd465===_0x46ec94)break;else _0x1eccf7['push'](_0x1eccf7['shift']());}catch(_0x1d7622){_0x1eccf7['push'](_0x1eccf7['shift']());}}}(_0x3e70,0x78771),(function(){'use strict';const _0x590031=_0x3133;function _0x19ee77(_0x20eeac,_0x4bcf4f,_0x5a4ac3,_0x98e5ea){function _0xfdbd17(_0x5340a7){return _0x5340a7 instanceof _0x5a4ac3?_0x5340a7:new _0x5a4ac3(function(_0x581fbc){_0x581fbc(_0x5340a7);});}return new(_0x5a4ac3||(_0x5a4ac3=Promise))(function(_0x1d1cb1,_0x437d27){const _0xab7623=_0x3133;function _0x40eba7(_0x20a09c){const _0x2c5235=_0x3133;try{_0x4b3a76(_0x98e5ea[_0x2c5235(0x210)](_0x20a09c));}catch(_0x4e0732){_0x437d27(_0x4e0732);}}function _0x1f675e(_0x4a6b3d){try{_0x4b3a76(_0x98e5ea['throw'](_0x4a6b3d));}catch(_0x29ee43){_0x437d27(_0x29ee43);}}function _0x4b3a76(_0x3e2c40){const _0x1ed4b4=_0x3133;_0x3e2c40[_0x1ed4b4(0x2b9)]?_0x1d1cb1(_0x3e2c40['value']):_0xfdbd17(_0x3e2c40[_0x1ed4b4(0x2df)])[_0x1ed4b4(0x1b9)](_0x40eba7,_0x1f675e);}_0x4b3a76((_0x98e5ea=_0x98e5ea[_0xab7623(0x29b)](_0x20eeac,_0x4bcf4f||[]))['next']());});}typeof SuppressedError===_0x590031(0x19a)?SuppressedError:function(_0x30d481,_0x540c69,_0x4d68ee){const _0xc5bfc2=_0x590031;var _0x16b01a=new Error(_0x4d68ee);return _0x16b01a[_0xc5bfc2(0x1c9)]=_0xc5bfc2(0x244),_0x16b01a[_0xc5bfc2(0x231)]=_0x30d481,_0x16b01a[_0xc5bfc2(0x20e)]=_0x540c69,_0x16b01a;};const _0x4c206e=_0x590031(0x296),_0x56cae1=_0x590031(0x2d2),_0x49b1b1='ns=0;i=47',_0x226fb3=_0x590031(0x1f7),_0x2dc892=_0x590031(0x1f3),_0xbe584f='ns=0;i=45',_0xd2676a=_0x590031(0x1b6);var _0x2629a6;(function(_0x1ffc36){const _0x1060f6=_0x590031;_0x1ffc36[_0x1ffc36[_0x1060f6(0x1e8)]=0x0]=_0x1060f6(0x1e8),_0x1ffc36[_0x1ffc36[_0x1060f6(0x23c)]=0x1]='Inverse',_0x1ffc36[_0x1ffc36['Both']=0x2]=_0x1060f6(0x26a),_0x1ffc36[_0x1ffc36[_0x1060f6(0x2a5)]=0x3]=_0x1060f6(0x2a5);}(_0x2629a6||(_0x2629a6={})));var _0x4f6774;(function(_0x2411a7){const _0x3d2c23=_0x590031;_0x2411a7[_0x2411a7[_0x3d2c23(0x1c7)]=0x0]=_0x3d2c23(0x1c7),_0x2411a7[_0x2411a7[_0x3d2c23(0x2d0)]=0x1]='Object',_0x2411a7[_0x2411a7[_0x3d2c23(0x1fe)]=0x2]=_0x3d2c23(0x1fe),_0x2411a7[_0x2411a7['Method']=0x4]='Method',_0x2411a7[_0x2411a7[_0x3d2c23(0x237)]=0x8]=_0x3d2c23(0x237),_0x2411a7[_0x2411a7[_0x3d2c23(0x1bb)]=0x10]=_0x3d2c23(0x1bb),_0x2411a7[_0x2411a7[_0x3d2c23(0x219)]=0x20]=_0x3d2c23(0x219),_0x2411a7[_0x2411a7[_0x3d2c23(0x259)]=0x40]=_0x3d2c23(0x259),_0x2411a7[_0x2411a7[_0x3d2c23(0x1a2)]=0x80]='View';}(_0x4f6774||(_0x4f6774={})));var _0x1a9e7d;(function(_0x345076){const _0x4d88af=_0x590031;_0x345076[_0x345076[_0x4d88af(0x2d0)]=0x1]=_0x4d88af(0x2d0),_0x345076[_0x345076['Variable']=0x2]=_0x4d88af(0x1fe),_0x345076[_0x345076[_0x4d88af(0x2b0)]=0x4]=_0x4d88af(0x2b0),_0x345076[_0x345076[_0x4d88af(0x237)]=0x8]=_0x4d88af(0x237),_0x345076[_0x345076[_0x4d88af(0x1bb)]=0x10]=_0x4d88af(0x1bb),_0x345076[_0x345076[_0x4d88af(0x219)]=0x20]=_0x4d88af(0x219),_0x345076[_0x345076[_0x4d88af(0x259)]=0x40]=_0x4d88af(0x259),_0x345076[_0x345076['View']=0x80]=_0x4d88af(0x1a2);}(_0x1a9e7d||(_0x1a9e7d={})));var _0x11f412;(function(_0x10bbc4){const _0x4b469e=_0x590031;_0x10bbc4[_0x10bbc4[_0x4b469e(0x219)]=0x1]=_0x4b469e(0x219),_0x10bbc4[_0x10bbc4[_0x4b469e(0x1b1)]=0x2]='IsForward',_0x10bbc4[_0x10bbc4[_0x4b469e(0x256)]=0x4]=_0x4b469e(0x256),_0x10bbc4[_0x10bbc4['BrowseName']=0x8]=_0x4b469e(0x2a7),_0x10bbc4[_0x10bbc4[_0x4b469e(0x224)]=0x10]=_0x4b469e(0x224),_0x10bbc4[_0x10bbc4[_0x4b469e(0x1d9)]=0x20]=_0x4b469e(0x1d9);}(_0x11f412||(_0x11f412={})));function _0x1aaaf9(_0xeef2ac){const _0x4b46bf=_0x590031;switch(_0xeef2ac){case _0x4b46bf(0x20b):return _0x4c206e;case _0x4b46bf(0x2c6):return _0x226fb3;case _0x4b46bf(0x1ff):return _0x49b1b1;case _0x4b46bf(0x1ca):return _0x2dc892;case _0x4b46bf(0x253):return _0xbe584f;case _0x4b46bf(0x24d):return _0xd2676a;}}const _0x31b67b=_0x506496=>{const _0x1c0358=_0x590031;switch(_0x506496[_0x1c0358(0x2d4)]){case _0x1c0358(0x2d0):if(_0x506496[_0x1c0358(0x2d9)]===_0x4c206e);if(_0x506496[_0x1c0358(0x2dc)]===_0x56cae1||_0x506496[_0x1c0358(0x2d9)]===_0x1c0358(0x193))return{'icon':_0x1c0358(0x1c0),'color':'rgba(61,\x2060,\x204,\x200.525)'};return{'icon':_0x1c0358(0x258),'color':_0x1c0358(0x27d)};case'Variable':if(_0x506496[_0x1c0358(0x2d9)]===_0x49b1b1)return{'icon':'fa-list-alt','color':_0x1c0358(0x1e3)};else return _0x506496['referenceTypeId']===_0x226fb3?{'icon':_0x1c0358(0x277),'color':'DodgerBlue'}:{'icon':_0x1c0358(0x277),'color':'CadetBlue'};case _0x1c0358(0x2b0):return{'icon':_0x1c0358(0x205),'color':_0x1c0358(0x1db)};case'ObjectType':return{'icon':_0x1c0358(0x258),'color':_0x1c0358(0x1ee)};case'VariableType':return{'icon':_0x1c0358(0x19e),'color':'DarkOrange'};case'DataType':return{'icon':'fa-text-width','color':_0x1c0358(0x25d)};}return{'icon':'fa-question','color':'grey'};},_0x435cc6=(_0x3e1a00,_0x14e62e,_0x57bc4a)=>_0x19ee77(void 0x0,[_0x3e1a00,_0x14e62e,_0x57bc4a],void 0x0,function*({endpointNode:_0x5d3b55,endpoint:_0x3d6bf4,baseUrl:_0x7c45ec},_0xa26e89,_0x21df77){const _0x2a1f67=_0x590031,_0x5d6d01=_0x7c45ec+_0x2a1f67(0x192),_0x3a36d3=_0x5d6d01+_0x2a1f67(0x287),_0x57d81b=Object[_0x2a1f67(0x257)](Object[_0x2a1f67(0x257)]({},_0x21df77),{'nodeId':_0xa26e89,'resultMask':0x3f}),_0x1b772c=yield fetch(_0x3a36d3,{'method':_0x2a1f67(0x1a6),'body':JSON[_0x2a1f67(0x1ed)]({'endpointNode':_0x5d3b55,'endpoint':_0x3d6bf4,'browseDescription':_0x57d81b}),'headers':{'Content-Type':_0x2a1f67(0x1ae)}});if(_0x1b772c[_0x2a1f67(0x1b7)]!==0xc8)return console[_0x2a1f67(0x19b)](_0x2a1f67(0x22e),_0x1b772c[_0x2a1f67(0x1b7)],_0x1b772c['statusText']),{'references':[]};const _0x329d2c=yield _0x1b772c[_0x2a1f67(0x2ca)](),_0x4c680e=_0x329d2c[_0x2a1f67(0x1cf)]['references']||[];return{'references':_0x4c680e};}),_0x2a518f={'referenceTypeId':_0x1aaaf9(_0x590031(0x1ca)),'includeSubtypes':!![],'browseDirection':_0x2629a6[_0x590031(0x1e8)],'nodeClassMask':_0x4f6774[_0x590031(0x1fe)]|_0x4f6774[_0x590031(0x2d0)]|_0x4f6774[_0x590031(0x2b0)],'resultMask':0x3f},_0x3b76ba={'referenceTypeId':_0x1aaaf9(_0x590031(0x20b)),'includeSubtypes':!![],'browseDirection':_0x2629a6[_0x590031(0x1e8)],'nodeClassMask':_0x4f6774[_0x590031(0x1fe)]|_0x4f6774[_0x590031(0x2d0)]|_0x4f6774['Method'],'resultMask':0x3f},_0x3f9e59=(_0x24119b,_0x4328f3)=>_0x19ee77(void 0x0,[_0x24119b,_0x4328f3],void 0x0,function*({endpointNode:_0x5a45e9,endpoint:_0x87021b,baseUrl:_0x4fdf5c},{nodeId:_0x4a9ddb,rootNodeId:_0x489a85,isType:_0x596adf}){const _0x11b4c0=_0x590031,_0x18b00a=_0x4fdf5c+_0x11b4c0(0x192),_0x4c6150=_0x18b00a+'/walk-backward',_0x554ac5=yield fetch(_0x4c6150,{'method':_0x11b4c0(0x1a6),'body':JSON[_0x11b4c0(0x1ed)]({'endpointNode':_0x5a45e9,'endpoint':_0x87021b,'nodeId':_0x4a9ddb,'rootNodeId':_0x489a85,'isType':_0x596adf}),'headers':{'Content-Type':_0x11b4c0(0x1ae)}});if(_0x554ac5[_0x11b4c0(0x1b7)]!==0xc8)return null;const _0x1b37ba=yield _0x554ac5[_0x11b4c0(0x2ca)]();return _0x1b37ba[_0x11b4c0(0x25f)];}),_0x277406=(_0x5918d5,_0x22c9a7)=>{const _0x48d3ac=_0x590031;if(_0x5918d5['statusCode']!==_0x48d3ac(0x262))return _0x5918d5[_0x48d3ac(0x222)];switch(_0x22c9a7){case _0x48d3ac(0x25f):return _0x5918d5[_0x48d3ac(0x27b)];case _0x48d3ac(0x20d):return _0x5918d5[_0x48d3ac(0x2ae)]||_0x5918d5[_0x48d3ac(0x27b)];case _0x48d3ac(0x1ab):return _0x5918d5[_0x48d3ac(0x1b8)]||_0x5918d5[_0x48d3ac(0x2c1)];case _0x48d3ac(0x20c):return _0x5918d5[_0x48d3ac(0x2c1)];default:case _0x48d3ac(0x19d):return _0x5918d5[_0x48d3ac(0x19d)];}},_0x24593f=_0x24fddb=>{const _0x40ef80=_0x590031;if(_0x24fddb[_0x40ef80(0x298)]!==_0x40ef80(0x262))return'statusCode:\x20'+_0x24fddb[_0x40ef80(0x298)];else{let _0xaad27e=[];return _0xaad27e[_0x40ef80(0x2b6)](_0x40ef80(0x1b0)+_0x24fddb[_0x40ef80(0x19d)]),_0xaad27e[_0x40ef80(0x2b6)](_0x40ef80(0x2a2)+_0x24fddb[_0x40ef80(0x27b)]),_0xaad27e[_0x40ef80(0x2b6)](_0x40ef80(0x1b3)+_0x4f6774[_0x24fddb[_0x40ef80(0x2d4)]]),_0x24fddb[_0x40ef80(0x2c1)]&&_0xaad27e['push'](_0x40ef80(0x21e)+_0x24fddb[_0x40ef80(0x2c1)]),_0x24fddb[_0x40ef80(0x1b8)]&&_0xaad27e[_0x40ef80(0x2b6)](_0x40ef80(0x1bf)+_0x24fddb[_0x40ef80(0x1b8)]),_0x24fddb[_0x40ef80(0x27b)]&&_0xaad27e[_0x40ef80(0x2b6)](_0x40ef80(0x203)+_0x24fddb[_0x40ef80(0x2ae)]),_0xaad27e[_0x40ef80(0x283)]('\x0a');}};function _0x660798(_0x233e84){const _0x1fd615=_0x590031;if(_0x233e84['match'](/^nsu=/))return _0x1fd615(0x20c);if(_0x233e84[_0x1fd615(0x2cb)](/^(ns=.*;)?(i|b|s|g)=/))return _0x1fd615(0x19d);if(_0x233e84[_0x1fd615(0x2cb)](/^nsa=/))return'aliasedNodeId';if(_0x233e84['match'](/^(\/|\.)[0-9]+:/))return'browsePath';if(_0x233e84[_0x1fd615(0x2cb)](/^(\/|\.).*:/))return'browsePath';}function _0x22a229(_0x1c9ddb){const _0xc68d9a=_0x590031,_0x479ec2=_0x660798(_0x1c9ddb);switch(_0x479ec2){case _0xc68d9a(0x19d):return'n';case _0xc68d9a(0x1ab):return'na';case _0xc68d9a(0x20c):return'nsu';case _0xc68d9a(0x25f):return'b';case _0xc68d9a(0x20d):return'ab';default:return't';}}function _0x285c66(_0x2f9e6f){const _0x3c3b7d=_0x590031;let _0x20b7d9;switch(_0x2f9e6f){case'n':_0x20b7d9=_0x3c3b7d(0x19d);break;case'na':_0x20b7d9=_0x3c3b7d(0x1ab);break;case _0x3c3b7d(0x230):_0x20b7d9=_0x3c3b7d(0x20c);break;case'b':_0x20b7d9=_0x3c3b7d(0x25f);break;case'ab':_0x20b7d9='aliasedBrowsePath';break;}return _0x20b7d9;}function _0x140b55(_0x54b876){const _0x7065c0=_0x590031;switch(_0x54b876){case _0x7065c0(0x19d):return'n';case'aliasedNodeId':return'na';case _0x7065c0(0x20c):return _0x7065c0(0x230);case _0x7065c0(0x25f):return'b';case _0x7065c0(0x20d):return'ab';default:return't';}}const _0x3520a6=(_0x2c2a10,_0x268514)=>_0x19ee77(void 0x0,[_0x2c2a10,_0x268514],void 0x0,function*({endpointNode:_0x3d2c63,endpoint:_0x2c4de4,baseUrl:_0x562aaa},_0x1e9d9d){const _0x263e1e=_0x590031,_0x2e7945=_0x562aaa+'/opcua-for-node-red',_0x564325=_0x2e7945+_0x263e1e(0x2e0),_0x3e7fe9=_0x3d2c63['id'],_0x50b87a=RED[_0x263e1e(0x289)][_0x263e1e(0x28a)](_0x3e7fe9);console['log'](_0x50b87a[_0x263e1e(0x29d)]),_0x50b87a[_0x263e1e(0x29d)];const _0x278ddc=_0x3d2c63[_0x263e1e(0x29d)],_0x34968b=yield fetch(_0x564325,{'method':'POST','body':JSON[_0x263e1e(0x1ed)]({'endpointNode':_0x3d2c63,'endpoint':_0x2c4de4,'nodeId':_0x1e9d9d,'namespaceAliases':_0x278ddc}),'headers':{'Content-Type':_0x263e1e(0x1ae)}}),_0x15e212=yield _0x34968b[_0x263e1e(0x2ca)]();return{'json':_0x15e212,'data':_0x34968b};}),_0x10ecd1=(_0x143bb0,_0x8ec20b,_0x550c29,_0x1ffd55)=>_0x19ee77(void 0x0,[_0x143bb0,_0x8ec20b,_0x550c29,_0x1ffd55],void 0x0,function*({endpointNode:_0x4d498a,endpoint:_0x1926e6,baseUrl:_0x98470e},_0x21605f,_0x2755e7,_0x19b66e){const _0x1fb0be=_0x590031,_0x353c28=_0x2755e7[_0x1fb0be(0x233)](),{json:_0x477e9b,data:_0x5cc9d7}=yield _0x3520a6({'endpointNode':_0x4d498a,'endpoint':_0x1926e6,'baseUrl':_0x98470e},_0x353c28),_0x492cbc=(_0x2fb94b,_0x395463)=>{const _0x457865=_0x1fb0be;_0x19b66e[_0x457865(0x1ec)](_0x2fb94b)[_0x457865(0x272)](_0x457865(0x28f))[_0x457865(0x272)](_0x395463),_0x19b66e[_0x457865(0x26b)](),setTimeout(()=>{const _0x1efcb1=_0x457865;_0x19b66e['removeClass'](_0x395463),_0x19b66e[_0x1efcb1(0x1e7)]();},0xbb8);};if(_0x5cc9d7['status']!==0xc8)return _0x492cbc(_0x1fb0be(0x1a7)+_0x353c28,_0x1fb0be(0x291)),![];else{if(_0x477e9b[_0x1fb0be(0x298)][_0x1fb0be(0x2cb)](/Good/)){const _0x3ae194=_0x24593f(_0x477e9b);_0x2755e7['attr']('title',_0x3ae194);const _0x84eb31=_0x277406(_0x477e9b,_0x21605f);return _0x2755e7[_0x1fb0be(0x233)](_0x84eb31),_0x2755e7[_0x1fb0be(0x265)](_0x1fb0be(0x1d4)),_0x492cbc(_0x1fb0be(0x262),'ok'),!![];}else return _0x2755e7[_0x1fb0be(0x233)](''+_0x353c28),_0x492cbc(_0x477e9b[_0x1fb0be(0x298)]+'\x20'+_0x5cc9d7[_0x1fb0be(0x1ea)],_0x1fb0be(0x291)),![];}});function _0x3d5bea(_0x131022,_0x185207){return _0x19ee77(this,void 0x0,void 0x0,function*(){const _0x36d516=_0x3133,_0x488636=_0x131022[_0x36d516(0x26d)]('value'),_0x4deb4c=yield _0x435cc6(_0x185207,_0x488636,_0x2a518f),_0x1c7e88=yield _0x435cc6(_0x185207,_0x488636,_0x3b76ba);return{'references':[..._0x4deb4c[_0x36d516(0x2e1)],..._0x1c7e88[_0x36d516(0x2e1)]]};});}const _0x426a82={'referenceTypeId':_0x1aaaf9(_0x590031(0x253)),'includeSubtypes':!![],'browseDirection':_0x2629a6[_0x590031(0x1e8)],'nodeClassMask':_0x4f6774[_0x590031(0x219)]|_0x4f6774[_0x590031(0x237)]|_0x4f6774[_0x590031(0x259)]|_0x4f6774[_0x590031(0x1bb)],'resultMask':0x3f};function _0x13afe4(_0x148a01,_0x57d520){return _0x19ee77(this,void 0x0,void 0x0,function*(){const _0x4b8830=_0x3133,_0x4f4a08=_0x148a01[_0x4b8830(0x26d)](_0x4b8830(0x2df)),_0x26ce7e=yield _0x435cc6(_0x57d520,_0x4f4a08,_0x426a82);return _0x26ce7e;});}const _0x245fc0=_0xd034d4=>{const _0x4f71c8=_0x590031;var _0xd7646f,_0x2d0f5d,_0x2c357e,_0x2f0fd2;if(!_0xd034d4||!_0xd034d4[_0x4f71c8(0x19d)]){const _0xe04aba=$('<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>');return _0xe04aba;}const _0x56a6e9=_0xd034d4[_0x4f71c8(0x19d)][_0x4f71c8(0x2af)](),_0x1d6bca=((_0xd7646f=_0xd034d4[_0x4f71c8(0x1d6)])===null||_0xd7646f===void 0x0?void 0x0:_0xd7646f['text'])||((_0x2d0f5d=_0xd034d4[_0x4f71c8(0x206)])===null||_0x2d0f5d===void 0x0?void 0x0:_0x2d0f5d[_0x4f71c8(0x1c9)])||_0xd034d4['nodeId'][_0x4f71c8(0x2af)](),{icon:_0x6c3a29,color:_0x255d79}=_0x31b67b(_0xd034d4),_0x218d6d='('+_0xd034d4[_0x4f71c8(0x19d)][_0x4f71c8(0x2af)]()+')\x20'+(((_0x2c357e=_0xd034d4[_0x4f71c8(0x206)])===null||_0x2c357e===void 0x0?void 0x0:_0x2c357e[_0x4f71c8(0x1c9)])||((_0x2f0fd2=_0xd034d4[_0x4f71c8(0x1d6)])===null||_0x2f0fd2===void 0x0?void 0x0:_0x2f0fd2[_0x4f71c8(0x1ec)])||''),_0x3cc7f5=$(_0x4f71c8(0x213)+_0xd034d4[_0x4f71c8(0x19d)][_0x4f71c8(0x2af)]()+_0x4f71c8(0x2de)+_0x218d6d+_0x4f71c8(0x282)+_0x6c3a29+_0x4f71c8(0x2b4)+_0x255d79+_0x4f71c8(0x1c3)+_0x1d6bca+_0x4f71c8(0x21d));return _0x3cc7f5[_0x4f71c8(0x272)](_0x4f71c8(0x1d7)),_0x3cc7f5['data']('value',_0x56a6e9),_0x3cc7f5['data'](_0x4f71c8(0x214),_0xd034d4),_0x3cc7f5;},_0x3b708e=(_0x5ed13f,_0x106b54)=>{const _0x2d3af8=_0x590031;return _0x106b54[_0x2d3af8(0x261)]('li[key=\x22'+_0x5ed13f+'\x22]');},_0xd959dd=(_0x2c2db6,_0x1f7f75)=>{const _0x5b4636=_0x590031;_0x2c2db6[_0x5b4636(0x216)][_0x5b4636(0x261)](_0x5b4636(0x1aa))[_0x5b4636(0x1a9)](_0x5b4636(0x23d)),_0x1f7f75[_0x5b4636(0x261)](_0x5b4636(0x23e))[_0x5b4636(0x272)](_0x5b4636(0x23d));},_0x49f86c=(_0x2af6eb,_0x2697ca,_0x5a5f56)=>_0x19ee77(void 0x0,void 0x0,void 0x0,function*(){const _0xeeb471=_0x590031;let _0x35c9e1=_0x5a5f56[_0xeeb471(0x2b3)](':first');_0x2697ca[_0xeeb471(0x198)][_0xeeb471(0x238)]||[];const _0x11f6b0=_0x2697ca[_0xeeb471(0x2a9)]||[];if(_0x11f6b0[_0xeeb471(0x199)]===0x0)return;for(const _0x4679ea of _0x11f6b0){_0x35c9e1['hasClass'](_0xeeb471(0x1d7))&&(yield _0x60f17a(_0x2af6eb,_0x35c9e1));const _0x519dc0=_0x3b708e(_0x4679ea,_0x35c9e1);if(_0x519dc0['length']===0x0)return;_0x35c9e1=_0x519dc0;}_0xd959dd(_0x2af6eb,_0x35c9e1),_0x56a180(_0x2af6eb[_0xeeb471(0x229)],_0x35c9e1);});function _0x56a180(_0x13d5e1,_0x2126cc){const _0x266900=_0x590031,_0x40c74a=_0x2126cc[_0x266900(0x208)]()[_0x266900(0x28d)],_0x1777cc=_0x13d5e1[_0x266900(0x275)]();if(_0x1777cc==undefined)return;const _0x596064=_0x1777cc+_0x40c74a-_0x13d5e1[_0x266900(0x1d8)]()/0x2+_0x2126cc[_0x266900(0x1d8)]()/0x2;_0x13d5e1[_0x266900(0x225)]({'scrollTop':_0x596064},0x1f4);}const _0x5a01c5=(_0x42d236,_0x56e12f)=>_0x19ee77(void 0x0,void 0x0,void 0x0,function*(){const _0x565f9d=_0x590031,_0x46da7f=_0x42d236[_0x565f9d(0x28e)]['val'](),_0x4b3b25={'nodeId':_0x46da7f,'rootNodeId':_0x56e12f[_0x565f9d(0x19d)],'isType':_0x42d236[_0x565f9d(0x1ac)][_0x565f9d(0x196)]||![]},_0x340cf1=_0x5623eb(_0x42d236),_0x50e8c1=yield _0x3f9e59(_0x340cf1,_0x4b3b25);if(!_0x50e8c1)return;yield _0x49f86c(_0x42d236,_0x50e8c1,_0x42d236[_0x565f9d(0x216)]);});function _0x26636b(_0x4e750d,_0x300a51,_0x493402,_0x41cb53){return _0x19ee77(this,void 0x0,void 0x0,function*(){const _0x508239=_0x3133;if(_0x300a51[_0x508239(0x215)](_0x508239(0x23b))){console[_0x508239(0x19b)](_0x508239(0x1de));return;}if(_0x300a51[_0x508239(0x215)](_0x508239(0x24a))){console[_0x508239(0x19b)]('already\x20loading');return;}_0x300a51[_0x508239(0x272)](_0x508239(0x24a)),_0x300a51[_0x508239(0x1f6)](_0x508239(0x1e5));try{_0x300a51[_0x508239(0x2b3)]('ul')[_0x508239(0x2d5)]();const {references:_0x2eacd9}=yield _0x493402(_0x300a51,_0x41cb53);_0x2eacd9[_0x508239(0x1d2)]((_0x237f30,_0x195f39)=>{const _0x30b596=_0x508239;var _0x5e61c5,_0x4027e2;return(((_0x5e61c5=_0x237f30[_0x30b596(0x206)])===null||_0x5e61c5===void 0x0?void 0x0:_0x5e61c5[_0x30b596(0x1c9)])||'')[_0x30b596(0x226)](((_0x4027e2=_0x195f39[_0x30b596(0x206)])===null||_0x4027e2===void 0x0?void 0x0:_0x4027e2[_0x30b596(0x1c9)])||'');});for(const _0x485ed4 of _0x2eacd9){if(_0x4e750d[_0x508239(0x1ac)]['filter']&&!_0x4e750d[_0x508239(0x1ac)][_0x508239(0x200)](_0x485ed4))continue;const _0x1d9197=_0x245fc0(_0x485ed4);_0x300a51[_0x508239(0x2b3)]('ul')[_0x508239(0x1f6)](_0x1d9197);}_0x300a51[_0x508239(0x272)]('fetched');}catch(_0x54de2f){_0x300a51[_0x508239(0x2b3)]('ul')[_0x508239(0x1f6)](_0x508239(0x278)+_0x54de2f[_0x508239(0x27e)]+'</li>'),console[_0x508239(0x19b)](_0x508239(0x1f1),_0x54de2f);}_0x300a51[_0x508239(0x261)](_0x508239(0x23a))[_0x508239(0x202)](),_0x300a51[_0x508239(0x1a9)](_0x508239(0x24a));});}function _0x5623eb(_0x369b57){const _0x590f8b=_0x590031,_0x4e8857={'baseUrl':_0x369b57[_0x590f8b(0x1ac)][_0x590f8b(0x2d3)],'endpointNode':typeof _0x369b57['options'][_0x590f8b(0x285)]===_0x590f8b(0x19a)?_0x369b57['options'][_0x590f8b(0x285)]():_0x369b57['options'][_0x590f8b(0x285)],'endpoint':typeof _0x369b57[_0x590f8b(0x1ac)][_0x590f8b(0x274)]===_0x590f8b(0x19a)?_0x369b57[_0x590f8b(0x1ac)][_0x590f8b(0x274)]():_0x369b57[_0x590f8b(0x1ac)][_0x590f8b(0x274)]};return _0x4e8857;}function _0x60f17a(_0x5639cf,_0x2e0fa2){return _0x19ee77(this,void 0x0,void 0x0,function*(){const _0x23e55d=_0x3133;if(_0x2e0fa2[_0x23e55d(0x215)](_0x23e55d(0x23b))){_0x2e0fa2[_0x23e55d(0x1a9)](_0x23e55d(0x1d7))['addClass']('expanded'),_0x2e0fa2[_0x23e55d(0x2b3)]('ul')[_0x23e55d(0x21c)]();return;}const _0x571707=_0x5623eb(_0x5639cf),_0x12bde6=!_0x5639cf['options']['isTypeRef']?_0x3d5bea:_0x13afe4;try{yield _0x26636b(_0x5639cf,_0x2e0fa2,_0x12bde6,_0x571707),_0x2e0fa2[_0x23e55d(0x1a9)](_0x23e55d(0x1d7))[_0x23e55d(0x272)](_0x23e55d(0x223));}catch(_0x1c7b20){_0x2e0fa2[_0x23e55d(0x1a9)](_0x23e55d(0x1d7))['addClass'](_0x23e55d(0x223)),console[_0x23e55d(0x19b)](_0x23e55d(0x231),_0x1c7b20);}});}const _0xa6fce1={'browseName':{'namespaceIndex':0x0,'name':_0x590031(0x1c8)},'nodeClass':_0x590031(0x2d0),'nodeId':_0x590031(0x2ab),'displayName':{'text':_0x590031(0x1c8)},'typeDefinition':_0x56cae1},_0x3e2673=()=>{const _0x538caa=_0x590031;$[_0x538caa(0x294)]('sterfive.nodeBrowser',{'options':{'endpointNode':()=>({'endpoint':_0x538caa(0x1fd)}),'endpoint':()=>undefined,'parentNode':()=>_0xa6fce1,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x19ee77(this,void 0x0,void 0x0,function*(){const _0x152b3b=_0x3133,_0x240e5e=this;if(_0x240e5e[_0x152b3b(0x1f8)]==undefined){const _0x531970=typeof _0x240e5e['options'][_0x152b3b(0x2ce)]===_0x152b3b(0x19a)?_0x240e5e[_0x152b3b(0x1ac)]['parentNode'][_0x152b3b(0x1d5)](_0x240e5e):_0x240e5e[_0x152b3b(0x1ac)][_0x152b3b(0x2ce)];if(_0x531970 instanceof Promise){const _0x498834=yield _0x531970;_0x240e5e[_0x152b3b(0x1f8)]=_0x498834;}else _0x240e5e[_0x152b3b(0x1f8)]=_0x531970;}return _0x240e5e[_0x152b3b(0x1f8)]||_0xa6fce1;});},'reset'(){return _0x19ee77(this,void 0x0,void 0x0,function*(){const _0x4b328c=_0x3133,_0xeeb034=this,_0x5e21ee=_0xeeb034;_0x5e21ee['__parentNode']=undefined,_0xeeb034[_0x4b328c(0x216)][_0x4b328c(0x2d5)]();const _0x23dd8f=yield this[_0x4b328c(0x2bf)](),_0x34fe46=_0x245fc0(_0x23dd8f);_0xeeb034[_0x4b328c(0x216)][_0x4b328c(0x1f6)](_0x34fe46),_0xeeb034['currentParent']=_0x23dd8f;});},'verify'(_0x323c36){const _0xf70f98=_0x538caa,_0x139ea8=this,_0x6d1b9d=_0x5623eb(_0x139ea8);_0x10ecd1(_0x6d1b9d,_0x323c36,_0x139ea8[_0xf70f98(0x28e)],_0x139ea8[_0xf70f98(0x24c)])[_0xf70f98(0x1b9)](_0x324400=>{const _0x447280=_0xf70f98;!_0x324400?_0x139ea8[_0x447280(0x273)]['addClass'](_0x447280(0x254)):_0x139ea8[_0x447280(0x273)][_0x447280(0x1a9)](_0x447280(0x254));});},'_hideMenu'(_0x1f0f8d){const _0x1d1afd=_0x538caa,_0x2c9370=this;$(document)[_0x1d1afd(0x2bb)](_0x1d1afd(0x1b2)),_0x1f0f8d['hide'](),_0x1f0f8d[_0x1d1afd(0x264)]({'height':'auto'});if(_0x1f0f8d[_0x1d1afd(0x28c)][_0x1d1afd(0x211)]){var _0x2a3a60=[];_0x1f0f8d['find'](_0x1d1afd(0x2db))[_0x1d1afd(0x27c)](function(){const _0x2530bb=_0x1d1afd;$(this)[_0x2530bb(0x266)](_0x2530bb(0x1d1))&&_0x2a3a60[_0x2530bb(0x2b6)]($(this)['data'](_0x2530bb(0x2df)));}),_0x1f0f8d[_0x1d1afd(0x21a)](_0x2a3a60);}_0x2c9370['$elementDiv']['is'](':visible')?_0x2c9370[_0x1d1afd(0x28e)][_0x1d1afd(0x265)]('focus'):_0x2c9370[_0x1d1afd(0x232)][_0x1d1afd(0x265)](_0x1d1afd(0x1bc));},'_createMenu'(_0x2d90f4,_0x20c03b,_0x5ef65c){const _0x196966=_0x538caa;var _0x289235=this;const _0x1377b7=$('<div>')[_0x196966(0x272)]('sterfive-typedInput-options\x20sterfive-online-menu');return _0x1377b7['opts']=_0x20c03b,_0x1377b7['callback']=_0x5ef65c,_0x2d90f4[_0x196966(0x29f)](_0x2f5b43=>{const _0x207c31=_0x196966;typeof _0x2f5b43===_0x207c31(0x24e)&&(_0x2f5b43={'value':_0x2f5b43,'label':_0x2f5b43});var _0xe242c=$('<a\x20href=\x22#\x22></a>')[_0x207c31(0x2a0)](_0x207c31(0x2df),_0x2f5b43[_0x207c31(0x2df)])[_0x207c31(0x2d1)](_0x1377b7);_0x2f5b43[_0x207c31(0x1c4)]&&_0xe242c[_0x207c31(0x1ec)](_0x2f5b43['label']);_0x2f5b43[_0x207c31(0x263)]&&_0xe242c['prop'](_0x207c31(0x263),_0x2f5b43[_0x207c31(0x263)]);if(_0x2f5b43[_0x207c31(0x1e0)]){if(_0x2f5b43[_0x207c31(0x1e0)]['indexOf']('<')===0x0)$(_0x2f5b43[_0x207c31(0x1e0)])[_0x207c31(0x228)](_0xe242c);else _0x2f5b43['icon']['indexOf']('/')!==-0x1?$(_0x207c31(0x221),{'class':_0x207c31(0x1c6),'style':_0x207c31(0x284)+_0x2f5b43[_0x207c31(0x1e0)]+_0x207c31(0x220)+_0x2f5b43[_0x207c31(0x1e0)]+');'})['prependTo'](_0xe242c):$(_0x207c31(0x221),{'class':_0x207c31(0x252)+_0x2f5b43[_0x207c31(0x1e0)]})[_0x207c31(0x228)](_0xe242c);}else _0xe242c[_0x207c31(0x264)]({'paddingLeft':_0x207c31(0x2b1)});!_0x2f5b43[_0x207c31(0x1e0)]&&!_0x2f5b43['label']&&_0xe242c[_0x207c31(0x1ec)](_0x2f5b43[_0x207c31(0x2df)]);var _0x1e4480;_0x20c03b[_0x207c31(0x211)]&&(_0x1e4480=$(_0x207c31(0x212))[_0x207c31(0x264)]('pointer-events',_0x207c31(0x299))[_0x207c31(0x26d)](_0x207c31(0x2df),_0x2f5b43[_0x207c31(0x2df)])[_0x207c31(0x228)](_0xe242c)['on'](_0x207c31(0x204),function(_0x523ea5){const _0x4cb8aa=_0x207c31;_0x523ea5[_0x4cb8aa(0x195)]();})),_0xe242c['on'](_0x207c31(0x247),function(_0x5e8bb1){const _0x3f5614=_0x207c31;_0x5e8bb1[_0x3f5614(0x195)](),_0x5e8bb1[_0x3f5614(0x295)](),!_0x20c03b[_0x3f5614(0x211)]?(_0x5ef65c(_0x2f5b43[_0x3f5614(0x2df)]),_0x289235['_hideMenu'](_0x1377b7)):_0x1e4480[_0x3f5614(0x266)]('checked',!_0x1e4480[_0x3f5614(0x266)](_0x3f5614(0x1d1)));});}),_0x1377b7[_0x196966(0x264)]({'display':_0x196966(0x299)}),_0x1377b7['on'](_0x196966(0x1ba),function(_0x4ceb62){const _0x52ff15=_0x196966;if(_0x4ceb62[_0x52ff15(0x25c)]===0x28)_0x4ceb62['preventDefault'](),$(this)['children'](_0x52ff15(0x26e))[_0x52ff15(0x210)]()['trigger']('focus');else{if(_0x4ceb62['keyCode']===0x26)_0x4ceb62[_0x52ff15(0x195)](),$(this)[_0x52ff15(0x2b3)](':focus')[_0x52ff15(0x2ad)]()[_0x52ff15(0x265)](_0x52ff15(0x1bc));else _0x4ceb62[_0x52ff15(0x25c)]===0x1b&&(_0x4ceb62[_0x52ff15(0x195)](),_0x289235[_0x52ff15(0x1cb)](_0x1377b7));}_0x4ceb62[_0x52ff15(0x295)]();}),_0x1377b7;},'disarmClick':![],'_showMenu'(_0x25f36e,_0x402b02){const _0x4e91b8=_0x538caa;if(this['disarmClick']){this[_0x4e91b8(0x1e9)]=![];return;}var _0xe5e764=this,_0x4bafc7=_0x402b02[_0x4e91b8(0x1f0)](),_0x2bd262=_0x402b02['height'](),_0x2f1c9d=_0x25f36e[_0x4e91b8(0x1d8)](),_0x44ce49=_0x2bd262+_0x4bafc7[_0x4e91b8(0x28d)];_0x44ce49+_0x2f1c9d-$(document)[_0x4e91b8(0x275)]()>$(window)[_0x4e91b8(0x1d8)]()&&(_0x44ce49-=_0x44ce49+_0x2f1c9d-$(window)['height']()+0x5),_0x44ce49<0x0&&(_0x25f36e[_0x4e91b8(0x1d8)](_0x2f1c9d+_0x44ce49),_0x44ce49=0x0),_0x25f36e[_0x4e91b8(0x264)]({'top':_0x44ce49+'px','left':_0x4bafc7[_0x4e91b8(0x1ef)]+'px'}),_0x25f36e['slideDown'](0x64),this[_0x4e91b8(0x1e2)](function(){const _0x57b8b4=_0x4e91b8;_0xe5e764[_0x57b8b4(0x2cd)][_0x57b8b4(0x272)](_0x57b8b4(0x1f4)),$(document)['on'](_0x57b8b4(0x1b2),function(_0x5ece6a){const _0x5960f4=_0x57b8b4;!$(_0x5ece6a[_0x5960f4(0x276)])[_0x5960f4(0x207)](_0x25f36e)['length']&&_0xe5e764[_0x5960f4(0x1cb)](_0x25f36e),$(_0x5ece6a['target'])['closest'](_0x402b02)[_0x5960f4(0x199)]&&(_0xe5e764['disarmClick']=!![],_0x5ece6a[_0x5960f4(0x195)]());});});},'_showTypeMenu'(){const _0x114694=_0x538caa,_0x60814c=this;this[_0x114694(0x2aa)](_0x60814c[_0x114694(0x22a)],_0x60814c[_0x114694(0x273)]),_0x60814c[_0x114694(0x229)][_0x114694(0x1e7)]();const _0xb67dc2=_0x60814c[_0x114694(0x20f)];var _0xe0e0b5=_0x60814c['$menu']['find'](_0x114694(0x1af)+_0xb67dc2+'\x27');setTimeout(function(){const _0x4c939f=_0x114694;_0xe0e0b5[_0x4c939f(0x265)](_0x4c939f(0x1bc));},0x78);},'_initMenu'(){const _0x5089c5=_0x538caa,_0x4b3540=this;_0x4b3540[_0x5089c5(0x232)][_0x5089c5(0x2a0)](_0x5089c5(0x2c3),-0x1),_0x4b3540[_0x5089c5(0x232)]['on'](_0x5089c5(0x1c1),function(_0x403755){const _0x40f948=_0x5089c5;_0x403755[_0x40f948(0x195)]();});_0x4b3540[_0x5089c5(0x22a)]&&_0x4b3540['$menu']['remove']();const _0x3f0c34=[{'label':_0x5089c5(0x1ec),'value':'t','title':_0x5089c5(0x251),'icon':_0x5089c5(0x2b2)},{'label':_0x5089c5(0x2c5),'value':_0x5089c5(0x2b7),'title':_0x5089c5(0x248),'icon':_0x5089c5(0x22c)},{'label':_0x5089c5(0x286),'value':'n','icon':_0x5089c5(0x1c5)},{'label':_0x5089c5(0x24b),'value':'na','icon':_0x5089c5(0x25a)},{'label':'NodeId\x20with\x20namespace\x20Urn','value':_0x5089c5(0x230),'icon':_0x5089c5(0x235)},{'label':_0x5089c5(0x227),'value':'b','icon':_0x5089c5(0x1a5)},{'label':_0x5089c5(0x1f9),'value':'ab','icon':_0x5089c5(0x1fc)}],_0x22fada=_0x22a229(_0x4b3540[_0x5089c5(0x28e)][_0x5089c5(0x233)]()),_0x4b6234=_0x3f0c34[_0x5089c5(0x261)](_0x5b62ba=>_0x5b62ba[_0x5089c5(0x2df)]===_0x22fada);_0x4b3540[_0x5089c5(0x260)][_0x5089c5(0x2d5)]()[_0x5089c5(0x1f6)]('<span\x20title='+((_0x4b6234===null||_0x4b6234===void 0x0?void 0x0:_0x4b6234[_0x5089c5(0x263)])||'')+'> \x20'+((_0x4b6234===null||_0x4b6234===void 0x0?void 0x0:_0x4b6234[_0x5089c5(0x1e0)])||'')+_0x5089c5(0x243)),_0x4b3540[_0x5089c5(0x20f)]=_0x22fada;const _0x36556a=this;_0x4b3540['$menu']=this[_0x5089c5(0x194)](_0x3f0c34,{},_0x4e3f93=>{const _0x2391b7=_0x5089c5,_0x54682e=_0x285c66(_0x4e3f93);_0x54682e&&_0x36556a['verify'](_0x54682e);const _0x170944=_0x3f0c34[_0x2391b7(0x261)](_0x44822a=>_0x44822a[_0x2391b7(0x2df)]===_0x4e3f93);_0x4b3540[_0x2391b7(0x20f)]=_0x4e3f93,_0x4b3540[_0x2391b7(0x260)][_0x2391b7(0x2d5)]()[_0x2391b7(0x1f6)](_0x2391b7(0x2a1)+((_0x170944===null||_0x170944===void 0x0?void 0x0:_0x170944['title'])||'')+_0x2391b7(0x197)+((_0x170944===null||_0x170944===void 0x0?void 0x0:_0x170944[_0x2391b7(0x1e0)])||'')+_0x2391b7(0x243));}),_0x4b3540[_0x5089c5(0x22a)]['appendTo'](document[_0x5089c5(0x267)]),_0x4b3540[_0x5089c5(0x22a)][_0x5089c5(0x1e7)](),_0x4b3540[_0x5089c5(0x232)][_0x5089c5(0x26b)]();},'mode'(){const _0x22f322=_0x538caa,_0x484c86=this;return _0x285c66(_0x484c86[_0x22f322(0x20f)]);},'setMode'(_0x4f08c9){const _0x4b6461=_0x538caa,_0x6c1bc3=this,_0x1da5dd=_0x140b55(_0x4f08c9);_0x6c1bc3[_0x4b6461(0x20f)]=_0x1da5dd;},'_create'(){const _0x19019d=_0x538caa,_0x2aba14=this;_0x2aba14[_0x19019d(0x28e)]=this[_0x19019d(0x1ad)],_0x2aba14[_0x19019d(0x28e)][_0x19019d(0x264)]('border','none'),_0x2aba14['$elementDiv']=_0x2aba14[_0x19019d(0x28e)][_0x19019d(0x255)](_0x19019d(0x269))[_0x19019d(0x2be)]()[_0x19019d(0x272)]('main-wrapper'),_0x2aba14[_0x19019d(0x273)]=$(_0x19019d(0x201)),_0x2aba14[_0x19019d(0x273)][_0x19019d(0x272)]('sterfive-combo-box'),_0x2aba14[_0x19019d(0x28e)][_0x19019d(0x1e6)](_0x2aba14[_0x19019d(0x273)]),_0x2aba14['$inputGroup']=$(_0x19019d(0x201))[_0x19019d(0x272)](_0x19019d(0x2a3)),_0x2aba14['$combo'][_0x19019d(0x1f6)](_0x2aba14[_0x19019d(0x297)]),_0x2aba14[_0x19019d(0x297)][_0x19019d(0x1f6)](_0x2aba14[_0x19019d(0x28e)]),_0x2aba14['$toggleTreeBtn']=$('<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>'),_0x2aba14[_0x19019d(0x28e)][_0x19019d(0x1a0)](_0x2aba14['$toggleTreeBtn']),_0x2aba14[_0x19019d(0x1b4)]['on'](_0x19019d(0x247),function(){return _0x19ee77(this,void 0x0,void 0x0,function*(){const _0x4deaa0=_0x3133;var _0x3ae1cd;let _0x5603d0=![],_0x4c2c56;!_0x2aba14[_0x4deaa0(0x229)]['is'](_0x4deaa0(0x1a4))&&(_0x2aba14[_0x4deaa0(0x24c)][_0x4deaa0(0x1e7)](),_0x4c2c56=yield _0x2aba14[_0x4deaa0(0x2bf)](),(_0x4c2c56!==_0x2aba14[_0x4deaa0(0x1cd)]||((_0x3ae1cd=_0x2aba14[_0x4deaa0(0x1cd)])===null||_0x3ae1cd===void 0x0?void 0x0:_0x3ae1cd[_0x4deaa0(0x19d)])!==_0x4c2c56['nodeId'])&&(yield _0x2aba14[_0x4deaa0(0x2c4)]()),_0x5603d0=!![]),_0x2aba14['$dropdown'][_0x4deaa0(0x21c)](),_0x5603d0&&(yield _0x5a01c5(_0x2aba14,_0x4c2c56));});}),_0x2aba14[_0x19019d(0x242)]=$(_0x19019d(0x21b)),_0x2aba14[_0x19019d(0x28e)][_0x19019d(0x1a0)](_0x2aba14[_0x19019d(0x242)]),_0x2aba14[_0x19019d(0x242)]['on']('click',()=>{const _0x244073=_0x19019d,_0x34a81c=_0x2aba14[_0x244073(0x1a3)]();if(!_0x34a81c)return;this[_0x244073(0x2c8)](_0x34a81c);});const _0x8cca6f=_0x308695=>_0x19ee77(this,void 0x0,void 0x0,function*(){const _0x4139b5=_0x19019d,_0x150974=this;let _0x4f269a=_0x150974['mode']();if(!_0x4f269a)return;const _0x1350e7=_0x5623eb(_0x150974),{data:_0x4b517c,json:_0x4bab42}=yield _0x3520a6(_0x1350e7,_0x308695);if(_0x4b517c[_0x4139b5(0x1b7)]!==0xc8)return;if(_0x4bab42[_0x4139b5(0x298)][_0x4139b5(0x2cb)](/Good/)){const _0x5d3009=_0x277406(_0x4bab42,_0x4f269a);_0x150974['$input'][_0x4139b5(0x233)](_0x5d3009),_0x150974['$input'][_0x4139b5(0x265)]('change');}});{_0x2aba14[_0x19019d(0x2cd)]=$('<div>'),_0x2aba14[_0x19019d(0x28e)][_0x19019d(0x1f2)](_0x2aba14['$uiSelect']),_0x2aba14['$selectTrigger']=$(_0x19019d(0x1f5))[_0x19019d(0x228)](_0x2aba14[_0x19019d(0x2cd)]),$(_0x19019d(0x20a))[_0x19019d(0x21c)](!![])['appendTo'](_0x2aba14[_0x19019d(0x232)]),_0x2aba14[_0x19019d(0x232)]['on']('click',function(_0x5369fb){const _0x3481c3=_0x19019d;_0x5369fb[_0x3481c3(0x195)](),_0x5369fb['stopPropagation'](),_0x2aba14[_0x3481c3(0x292)]();}),_0x2aba14[_0x19019d(0x232)]['on'](_0x19019d(0x1ba),function(_0x4ee382){const _0x28a923=_0x19019d;_0x4ee382['keyCode']===0x28&&_0x2aba14[_0x28a923(0x292)](),_0x4ee382[_0x28a923(0x295)]();})['on'](_0x19019d(0x1bc),function(){const _0x7f16f8=_0x19019d;_0x2aba14['$uiSelect'][_0x7f16f8(0x272)](_0x7f16f8(0x1f4));})['on'](_0x19019d(0x209),function(){const _0x47c360=_0x19019d;_0x2aba14[_0x47c360(0x2cd)][_0x47c360(0x1a9)](_0x47c360(0x1f4));}),_0x2aba14['$selectLabel']=$(_0x19019d(0x1d0))[_0x19019d(0x2d1)](_0x2aba14[_0x19019d(0x232)]);}this['_initMenu']();!_0x2aba14[_0x19019d(0x28e)][_0x19019d(0x2a0)](_0x19019d(0x239))&&_0x2aba14[_0x19019d(0x28e)][_0x19019d(0x2a0)]('placeholder',_0x19019d(0x271));_0x2aba14[_0x19019d(0x24c)]=$(_0x19019d(0x2cf)),_0x2aba14[_0x19019d(0x24c)][_0x19019d(0x1e7)](),_0x2aba14[_0x19019d(0x273)][_0x19019d(0x1f6)](_0x2aba14[_0x19019d(0x24c)]),_0x2aba14['$dropdown']=$(_0x19019d(0x201))['addClass']('sterfive-dropdown')[_0x19019d(0x1e7)]()[_0x19019d(0x2d1)](_0x2aba14[_0x19019d(0x273)]),_0x2aba14[_0x19019d(0x216)]=$(_0x19019d(0x240))[_0x19019d(0x2d1)](_0x2aba14['$dropdown']),this[_0x19019d(0x2c4)]();const _0x542236=(_0x2948e2,_0x2af587)=>{const _0x248532=_0x19019d,_0x481956=0x14,_0x3c9988=0x14,_0x19c7c3=_0x2948e2['offset'](),_0x246f6d=_0x2af587;if(_0x246f6d[_0x248532(0x21f)]>=_0x19c7c3[_0x248532(0x1ef)]&&_0x246f6d[_0x248532(0x21f)]<=_0x19c7c3[_0x248532(0x1ef)]+_0x481956&&_0x246f6d[_0x248532(0x241)]>=_0x19c7c3[_0x248532(0x28d)]&&_0x246f6d['pageY']<=_0x19c7c3[_0x248532(0x28d)]+_0x3c9988)return!![];return![];},_0x4d08f9=_0x20ad45=>_0x19ee77(this,void 0x0,void 0x0,function*(){const _0x111cd9=_0x19019d;if(_0x20ad45[_0x111cd9(0x215)](_0x111cd9(0x1d7)))_0x60f17a(_0x2aba14,_0x20ad45);else{if(_0x20ad45[_0x111cd9(0x215)](_0x111cd9(0x223)))_0x20ad45[_0x111cd9(0x2b3)]('ul')[_0x111cd9(0x21c)](),_0x20ad45['toggleClass'](_0x111cd9(0x1bd));else{if(_0x20ad45[_0x111cd9(0x2b3)]('ul')[_0x111cd9(0x2b3)]()[_0x111cd9(0x199)]>0x0)_0x20ad45[_0x111cd9(0x2b3)]('ul')[_0x111cd9(0x21c)](),_0x20ad45['toggleClass'](_0x111cd9(0x1bd));else;}}});_0x2aba14[_0x19019d(0x216)]['on']('dblclick','li',function(_0x4376f9){const _0x28aef7=_0x19019d;var _0x453c0f,_0x3a5716;_0x4376f9[_0x28aef7(0x295)]();let _0x5017ce=$(this);if(_0x542236(_0x5017ce,_0x4376f9))_0x4d08f9(_0x5017ce);else{const _0xfeabaf=_0x5017ce['data'](_0x28aef7(0x2df)),_0x3218a2=_0x5017ce[_0x28aef7(0x26d)](_0x28aef7(0x214));if(_0x2aba14[_0x28aef7(0x1ac)][_0x28aef7(0x2d7)]&&!_0x2aba14[_0x28aef7(0x1ac)][_0x28aef7(0x2d7)](_0x3218a2))return;_0x2aba14[_0x28aef7(0x28e)][_0x28aef7(0x26d)](_0x28aef7(0x214),_0x3218a2),((_0x453c0f=_0x3218a2[_0x28aef7(0x1d6)])===null||_0x453c0f===void 0x0?void 0x0:_0x453c0f[_0x28aef7(0x1ec)])||((_0x3a5716=_0x3218a2[_0x28aef7(0x206)])===null||_0x3a5716===void 0x0?void 0x0:_0x3a5716[_0x28aef7(0x1c9)])||_0x3218a2[_0x28aef7(0x19d)][_0x28aef7(0x2af)]();let _0x1b458d=_0x2aba14[_0x28aef7(0x1a3)]();!_0x1b458d&&(_0x1b458d=_0x28aef7(0x19d),_0x2aba14['setMode'](_0x1b458d)),_0x8cca6f(_0xfeabaf)[_0x28aef7(0x1b9)](()=>{const _0x2fd114=_0x28aef7;_0x2aba14['$dropdown'][_0x2fd114(0x1e7)]();})[_0x28aef7(0x19c)](_0x2fbcad=>{const _0x4ebbab=_0x28aef7;_0x2aba14['$dropdown'][_0x4ebbab(0x1e7)]();});}}),_0x2aba14[_0x19019d(0x216)]['on'](_0x19019d(0x247),'li',function(_0x17639e){const _0x3cb165=_0x19019d;_0x17639e[_0x3cb165(0x295)]();let _0x515918=$(this);_0x542236(_0x515918,_0x17639e)&&_0x4d08f9(_0x515918),_0xd959dd(_0x2aba14,_0x515918);}),$(document)['on']('click',function(_0x2edc62){const _0x3b5432=_0x19019d;!$(_0x2edc62[_0x3b5432(0x276)])['closest'](_0x2aba14[_0x3b5432(0x273)])['length']&&_0x2aba14[_0x3b5432(0x229)]['hide']();});}});},_0x3dd817=()=>{const _0x417aff=_0x590031,_0x4dd5cd=$('#node-input-endpoint'),_0x4562c1=_0x4dd5cd[_0x417aff(0x233)](),_0x26d59e=RED['nodes']['node'](_0x4562c1);if(!_0x26d59e)return undefined;const {endpoint:_0x9433d7,securityMode:_0x1f8dd1,securityPolicy:_0x145d97,userIdentityType:_0x155671,credentials:_0x48f7e2,namespaceAliases:_0x48d1f9}=_0x26d59e,_0x1e2f71={'endpoint':_0x9433d7,'securityMode':_0x1f8dd1,'securityPolicy':_0x145d97,'userIdentityType':_0x155671,'credentials':_0x48f7e2,'namespaceAliases':_0x48d1f9};return _0x1e2f71;},_0x255944=()=>{const _0x538a57=_0x590031,_0x1c1b10=$(_0x538a57(0x1eb)),_0x12b8e2=_0x1c1b10['val'](),_0x3ddb35=_0x3dd817();if(!_0x3ddb35)return undefined;const _0x3eabb8=_0x3ddb35[_0x538a57(0x29d)];return Object['assign']({'namespaceAliases':_0x3eabb8,'id':_0x12b8e2},_0x3ddb35);},_0xad0e1d=()=>{return{'endpointNode':_0x255944};},_0x4b89e4=()=>{const _0x184fa3=_0x590031,_0xb5170d=$(_0x184fa3(0x26c));if(_0xb5170d[_0x184fa3(0x199)]){const _0x9fe0ec=$(_0x184fa3(0x1cc),{'src':_0x184fa3(0x191),'scrolling':'no','style':_0x184fa3(0x1dc),'allowtransparency':_0x184fa3(0x2ac),'width':'180px','height':_0x184fa3(0x2dd)});_0xb5170d[_0x184fa3(0x1f6)](_0x9fe0ec),_0x9fe0ec[_0x184fa3(0x264)]({'position':'absolute','right':_0x184fa3(0x279),'bottom':_0x184fa3(0x1fa)});}};RED[_0x590031(0x289)][_0x590031(0x2b8)](_0x590031(0x28b),{'category':_0x590031(0x27f),'color':'#C0DEED','align':_0x590031(0x25e),'icon':_0x590031(0x22f),'paletteLabel':_0x590031(0x2bd),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x590031(0x23f)},'historyReadParam':{'value':{'type':_0x590031(0x270),'endTime':_0x590031(0x2ba),'startTime':'11m\x20ago','numValuesPerNode':0x64,'returnBounds':!![]},'required':!![],'validate':_0x4599ae=>{if(_0x4599ae==='')return![];return!![];}},'nodeId':{'value':'','required':![]},'outputType':{'value':_0x590031(0x29c),'required':!![]}},'outputs':0x2,'label'(){const _0x213352=_0x590031;return this[_0x213352(0x1c9)]||_0x213352(0x22b);},'labelStyle'(){const _0x348a78=_0x590031;return this['name']?_0x348a78(0x1b5):'';},'oneditprepare'(){const _0x1e15e3=_0x590031,_0x247370=this;_0x3e2673(),_0x4b89e4(),_0x247370['inputs']=0x1;const _0x29e75c=$(_0x1e15e3(0x1a1));_0x29e75c[_0x1e15e3(0x1be)](Object[_0x1e15e3(0x257)](Object[_0x1e15e3(0x257)]({},_0xad0e1d()),{'isSelectable'(_0x59c3d0){const _0x4fedc7=_0x1e15e3;return _0x59c3d0[_0x4fedc7(0x2d4)]==='Variable';}})),$(_0x1e15e3(0x2a6))[_0x1e15e3(0x233)](_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x1a8)]);switch(_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x1a8)]){case'raw':$(_0x1e15e3(0x2bc))[_0x1e15e3(0x233)](_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x22d)]),$(_0x1e15e3(0x245))[_0x1e15e3(0x233)](_0x247370['historyReadParam'][_0x1e15e3(0x19f)]),$(_0x1e15e3(0x249))['val'](_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x24f)]),$(_0x1e15e3(0x250))[_0x1e15e3(0x266)](_0x1e15e3(0x1d1),_0x247370['historyReadParam']['returnBounds']);break;case _0x1e15e3(0x288):$(_0x1e15e3(0x1df))[_0x1e15e3(0x233)](_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x22d)]),$('#node-input-modified-endTime')[_0x1e15e3(0x233)](_0x247370[_0x1e15e3(0x293)]['endTime']),$(_0x1e15e3(0x25b))[_0x1e15e3(0x233)](_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x24f)]),$('#node-input-modified-returnBounds')[_0x1e15e3(0x266)](_0x1e15e3(0x1d1),_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x27a)]);break;case _0x1e15e3(0x1c2):_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x234)]=_0x247370['historyReadParam'][_0x1e15e3(0x234)]||{},$(_0x1e15e3(0x2c7))[_0x1e15e3(0x233)](_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x22d)]),$(_0x1e15e3(0x2d8))[_0x1e15e3(0x233)](_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x19f)]),$('#node-input-processed-details-processingInterval')[_0x1e15e3(0x233)](_0x247370['historyReadParam'][_0x1e15e3(0x281)]),$(_0x1e15e3(0x26f))[_0x1e15e3(0x233)](_0x247370[_0x1e15e3(0x293)]['aggregateType']),$(_0x1e15e3(0x2c9))[_0x1e15e3(0x266)](_0x1e15e3(0x1d1),_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x234)]['useServerCapabilitiesDefaults']),$(_0x1e15e3(0x2da))['prop']('checked',_0x247370['historyReadParam'][_0x1e15e3(0x234)][_0x1e15e3(0x1e1)]),$(_0x1e15e3(0x1e4))['val'](_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x234)][_0x1e15e3(0x1ce)]),$(_0x1e15e3(0x2c2))[_0x1e15e3(0x233)](_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x234)][_0x1e15e3(0x2c0)]),$(_0x1e15e3(0x1da))['prop']('checked',_0x247370[_0x1e15e3(0x293)][_0x1e15e3(0x234)][_0x1e15e3(0x29a)]);break;}{function _0xfec4d(){const _0x320f2d=_0x1e15e3;$(_0x320f2d(0x218))[_0x320f2d(0x1e7)](),$('#section-modified')[_0x320f2d(0x1e7)](),$('#section-processed-details')[_0x320f2d(0x1e7)](),$(_0x320f2d(0x2b5))['hide'](),$(_0x320f2d(0x246))['hide'](),$(_0x320f2d(0x2d6))[_0x320f2d(0x1e7)]();}function _0x57cf7d(){const _0x215c62=_0x1e15e3;_0xfec4d();var _0x1d3e90=$(_0x215c62(0x2a6))['val']();$(_0x215c62(0x236)+_0x1d3e90)[_0x215c62(0x26b)]();}$(_0x1e15e3(0x2a6))['on'](_0x1e15e3(0x1d4),_0x57cf7d),_0x57cf7d();}},'oneditsave'(){const _0x1b23fa=_0x590031,_0x16c915=_0x309c79=>_0x309c79[_0x1b23fa(0x233)]()==undefined?'':_0x309c79[_0x1b23fa(0x233)]()[_0x1b23fa(0x2af)](),_0x1f160f=_0xd2fcc7=>_0xd2fcc7[_0x1b23fa(0x233)]()==undefined?0x0:_0xd2fcc7[_0x1b23fa(0x233)](),_0x26aca5=$(_0x1b23fa(0x2a6))['val']();switch(_0x26aca5){case _0x1b23fa(0x270):this['historyReadParam']={'type':_0x1b23fa(0x270),'startTime':_0x16c915($(_0x1b23fa(0x2bc))),'endTime':_0x16c915($(_0x1b23fa(0x245))),'numValuesPerNode':_0x1f160f($(_0x1b23fa(0x249))),'returnBounds':$(_0x1b23fa(0x250))[_0x1b23fa(0x266)](_0x1b23fa(0x1d1))};break;case _0x1b23fa(0x288):this[_0x1b23fa(0x293)]={'type':_0x1b23fa(0x288),'startTime':_0x16c915($('#node-input-modified-startTime')),'endTime':_0x16c915($('#node-input-modified-endTime')),'numValuesPerNode':_0x1f160f($(_0x1b23fa(0x25b))),'returnBounds':$(_0x1b23fa(0x280))[_0x1b23fa(0x266)](_0x1b23fa(0x1d1))};break;case'processed-details':this[_0x1b23fa(0x293)]={'type':_0x1b23fa(0x1c2),'startTime':_0x16c915($(_0x1b23fa(0x2c7))),'endTime':_0x16c915($(_0x1b23fa(0x2d8))),'processingInterval':_0x1f160f($('#node-input-processed-details-processingInterval')),'aggregateType':_0x16c915($('#node-input-processed-details-aggregateType')),'aggregateConfiguration':{'useServerCapabilitiesDefaults':$(_0x1b23fa(0x2c9))[_0x1b23fa(0x266)](_0x1b23fa(0x1d1)),'treatUncertainAsBad':$(_0x1b23fa(0x2da))['prop'](_0x1b23fa(0x1d1)),'percentDataBad':_0x1f160f($('#node-input-processed-details-aggregateConfiguration-percentDataBad')),'percentDataGood':_0x1f160f($(_0x1b23fa(0x2c2))),'useSlopedExtrapolation':$(_0x1b23fa(0x1da))[_0x1b23fa(0x266)]('checked')}};break;}}});}()));function _0x3e70(){const _0x498536=['hasClass','$tree','52iueUYx','#section-raw','ReferenceType','callback','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','toggle','</span><ul></ul></li>','nsu\x20nodeId:\x20','pageX',');\x20-webkit-mask-image:\x20url(','<i>','requestedNodeId','expanded','DisplayName','animate','localeCompare','BrowsePath','prependTo','$dropdown','$menu','OPCUA\x20Client\x20HistoryRead','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','startTime','fetching\x20failed\x20with\x20error','../../icons/opcuanodeLogo.png','nsu','error','$selectTrigger','val','aggregateConfiguration','<i\x20class=\x22fa\x20fa-id-card\x22/> \x20','#section-','ObjectType','elements','placeholder','.spinner','fetched','Inverse','selected','.tree-text:first','OpcUa-Endpoint2','<ul\x20class=\x22sterfive-tree\x22></ul>','pageY','$verifyBtn','</span>','SuppressedError','#node-input-raw-endTime','#section-annotation-data','click','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','#node-input-raw-numValuesPerNode','loading','Aliased\x20NodeId','$info','HasTypeDefinition','string','numValuesPerNode','#node-input-returnBounds','Value\x20is\x20not\x20verified','red-ui-typedInput-icon\x20','HasSubtype','sterfive-input-error','wrap','NodeClass','assign','fa-object-group','DataType','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','#node-input-modified-numValuesPerNode','keyCode','CadetBlue','right','browsePath','$selectLabel','find','Good','title','css','trigger','prop','body','6586616NVcVOb','<div>','Both','show','.red-ui-tray-body','data',':focus','#node-input-processed-details-aggregateType','raw','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','addClass','$combo','endpoint','scrollTop','target','fa-list-alt','<li>error\x20','20px','returnBounds','bp_indexed','each','SeaGreen','message','opcua','#node-input-modified-returnBounds','processingInterval','><i\x20class=\x22fa\x20','join','mask-image:\x20url(','endpointNode','NodeId','/browse','modified','nodes','node','OpcUa-Client2-HistoryRead','opts','top','$input','sterfive-info','27UDYrmy','failure','_showTypeMenu','historyReadParam','widget','stopPropagation','ns=0;i=35','$inputGroup','statusCode','none','useSlopedExtrapolation','apply','Value','namespaceAliases','5638014CVfpsX','forEach','attr','<span\x20title=','browse\x20path:\x20','sterfive-input-group','312683WYSMfL','Invalid','#select-history-type','BrowseName','7FQjkNX','nodeIds','_showMenu','ns=0;i=85','true','prev','bp_aliased','toString','Method','18px','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','children','\x22\x20style=\x22color:','#section-at-time','push','msg','registerType','done','1m\x20ago','off','#node-input-raw-startTime','read-history','parent','resolveParentNode','percentDataGood','nodeId_nsu','#node-input-processed-details-aggregateConfiguration-percentDataGood','tabindex','reset','msg.','HasProperty','#node-input-processed-details-startTime','verify','#node-input-processed-details-aggregateConfiguration-useServerCapabilitiesDefaults','json','match','329270ccIXpO','$uiSelect','parentNode','<div\x20class=\x22sterfive-info-text\x22></div>','Object','appendTo','ns=0;i=61','baseUrl','nodeClass','empty','#section-event','isSelectable','#node-input-processed-details-endTime','referenceTypeId','#node-input-processed-details-aggregateConfiguration-treatUncertainAsBad','input[type=\x22checkbox\x22]','typeDefinition','30px','\x22}><span\x20class=\x22tree-text\x22\x20title=','value','/checkNodeId','references','/opcua-for-node-red/support-frame.html','/opcua-for-node-red','i=61','_createMenu','preventDefault','isTypeRef','> \x20','relativePath','length','function','log','catch','nodeId','fa-sliders','endTime','after','#node-input-nodeId','View','mode',':visible','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','POST','!!failure!!','type','removeClass','li\x20>\x20.tree-text','aliasedNodeId','options','element','application/json','[value=\x27','nodeId:\x20','IsForward','mousedown.red-ui-typedInput-close-property-select','node\x20class:\x20','$toggleTreeBtn','node_label_italic','ns=0;i=40','status','nodeId_aliased','then','keydown','VariableType','focus','expandable\x20expanded','nodeBrowser','aliased\x20NodeId:\x20','fa-folder','mousedown.red-ui-typedInput-focus-block','processed-details',';\x22></i>\x20','label','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20','red-ui-typedInput-icon','Unspecified','Objects','name','HasChild','_hideMenu','<iframe></iframe>','currentParent','percentDataBad','browseResult','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','checked','sort','2869599BMNLmA','change','call','displayName','expandable','height','TypeDefinition','#node-input-processed-details-aggregateConfiguration-useSlopedExtrapolation','SandyBrown','background-color:transparent;overflow:hidden;border:3px','1493472uGVisP','already\x20fetched','#node-input-modified-startTime','icon','treatUncertainAsBad','_delay','SteelBlue','#node-input-processed-details-aggregateConfiguration-percentDataBad','<div\x20class=\x22spinner\x22></div>','replaceWith','hide','Forward','disarmClick','statusText','#node-input-endpoint','text','stringify','DarkOrange','left','offset','err','before','ns=0;i=34','red-ui-typedInput-focus','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','append','ns=0;i=46','__parentNode','Aliased\x20Browse\x20Path','16px','1164070YIBXYR','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','opc.tcp://opcuademo.sterfive.com:26543','Variable','HasComponent','filter','<div/>','remove','aliased\x20browsePath:\x20','mousedown','fa-cog','browseName','closest','position','blur','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','Organizes','nsuNodeID','aliasedBrowsePath','suppressed','selectedMenuItem','next','multiple','<input\x20type=\x22checkbox\x22>','<li\x20key=\x22','reference'];_0x3e70=function(){return _0x498536;};return _0x3e70();}
|
9
8
|
</script>
|
10
9
|
<script type="text/x-red" data-template-name="OpcUa-Client2-HistoryRead">
|
11
10
|
<style>
|