@opcua/for-node-red 3.8.0 → 3.10.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.
@@ -4,8 +4,7 @@
4
4
  </style>
5
5
 
6
6
  <script type="text/javascript">
7
- function _0x17c7(_0x3185e7,_0x2f9dda){const _0x3d2407=_0x3d24();return _0x17c7=function(_0x17c7a7,_0x19693f){_0x17c7a7=_0x17c7a7-0x1ca;let _0x1d0a17=_0x3d2407[_0x17c7a7];return _0x1d0a17;},_0x17c7(_0x3185e7,_0x2f9dda);}(function(_0x531bc9,_0x2427a7){const _0xaa343=_0x17c7,_0x3211a2=_0x531bc9();while(!![]){try{const _0x1b1a1a=-parseInt(_0xaa343(0x26b))/0x1+parseInt(_0xaa343(0x255))/0x2+-parseInt(_0xaa343(0x2db))/0x3+-parseInt(_0xaa343(0x2b0))/0x4+-parseInt(_0xaa343(0x294))/0x5*(-parseInt(_0xaa343(0x28a))/0x6)+parseInt(_0xaa343(0x269))/0x7*(parseInt(_0xaa343(0x2b3))/0x8)+parseInt(_0xaa343(0x1e3))/0x9;if(_0x1b1a1a===_0x2427a7)break;else _0x3211a2['push'](_0x3211a2['shift']());}catch(_0x545b2d){_0x3211a2['push'](_0x3211a2['shift']());}}}(_0x3d24,0xbfdc4),(function(){'use strict';const _0x343d25=_0x17c7;function _0x374dc5(_0xc1d2cf,_0x2f7813,_0x561a0a,_0x559a16){function _0x5cb957(_0x261bbd){return _0x261bbd instanceof _0x561a0a?_0x261bbd:new _0x561a0a(function(_0x30643c){_0x30643c(_0x261bbd);});}return new(_0x561a0a||(_0x561a0a=Promise))(function(_0x524f94,_0x274642){const _0x3e4ba3=_0x17c7;function _0x1b979b(_0x305c97){const _0x5ca4f8=_0x17c7;try{_0xdfed5(_0x559a16[_0x5ca4f8(0x28c)](_0x305c97));}catch(_0x2ca5b9){_0x274642(_0x2ca5b9);}}function _0x3759fa(_0x2123c8){const _0x4e1e7d=_0x17c7;try{_0xdfed5(_0x559a16[_0x4e1e7d(0x20d)](_0x2123c8));}catch(_0x56559b){_0x274642(_0x56559b);}}function _0xdfed5(_0x33bcec){const _0x10ec3d=_0x17c7;_0x33bcec['done']?_0x524f94(_0x33bcec['value']):_0x5cb957(_0x33bcec[_0x10ec3d(0x26d)])[_0x10ec3d(0x29f)](_0x1b979b,_0x3759fa);}_0xdfed5((_0x559a16=_0x559a16[_0x3e4ba3(0x268)](_0xc1d2cf,_0x2f7813||[]))[_0x3e4ba3(0x28c)]());});}typeof SuppressedError==='function'?SuppressedError:function(_0x563381,_0xd16a2f,_0x5ca3d1){const _0x55b810=_0x17c7;var _0x38b57b=new Error(_0x5ca3d1);return _0x38b57b['name']=_0x55b810(0x1de),_0x38b57b[_0x55b810(0x2c9)]=_0x563381,_0x38b57b[_0x55b810(0x287)]=_0xd16a2f,_0x38b57b;};const _0x1db598=_0x343d25(0x1f2),_0x122ba7='ns=0;i=61',_0x244bd8=_0x343d25(0x1d3),_0x89aff1=_0x343d25(0x24a),_0x1a2343='ns=0;i=34',_0x166bf3='ns=0;i=45',_0x3511be=_0x343d25(0x1d5);var _0x184a55;(function(_0x6cc810){const _0x201fd9=_0x343d25;_0x6cc810[_0x6cc810['Forward']=0x0]=_0x201fd9(0x25d),_0x6cc810[_0x6cc810['Inverse']=0x1]=_0x201fd9(0x22f),_0x6cc810[_0x6cc810[_0x201fd9(0x2cb)]=0x2]=_0x201fd9(0x2cb),_0x6cc810[_0x6cc810[_0x201fd9(0x27d)]=0x3]=_0x201fd9(0x27d);}(_0x184a55||(_0x184a55={})));var _0xe06ac;(function(_0x4eb71c){const _0x34cfbf=_0x343d25;_0x4eb71c[_0x4eb71c[_0x34cfbf(0x1ea)]=0x0]='Unspecified',_0x4eb71c[_0x4eb71c[_0x34cfbf(0x272)]=0x1]=_0x34cfbf(0x272),_0x4eb71c[_0x4eb71c[_0x34cfbf(0x23e)]=0x2]=_0x34cfbf(0x23e),_0x4eb71c[_0x4eb71c[_0x34cfbf(0x1f7)]=0x4]=_0x34cfbf(0x1f7),_0x4eb71c[_0x4eb71c['ObjectType']=0x8]=_0x34cfbf(0x2c5),_0x4eb71c[_0x4eb71c[_0x34cfbf(0x28e)]=0x10]=_0x34cfbf(0x28e),_0x4eb71c[_0x4eb71c[_0x34cfbf(0x233)]=0x20]='ReferenceType',_0x4eb71c[_0x4eb71c['DataType']=0x40]=_0x34cfbf(0x296),_0x4eb71c[_0x4eb71c[_0x34cfbf(0x1dc)]=0x80]=_0x34cfbf(0x1dc);}(_0xe06ac||(_0xe06ac={})));var _0x33b07b;(function(_0x686c1a){const _0x2b7929=_0x343d25;_0x686c1a[_0x686c1a[_0x2b7929(0x272)]=0x1]=_0x2b7929(0x272),_0x686c1a[_0x686c1a[_0x2b7929(0x23e)]=0x2]=_0x2b7929(0x23e),_0x686c1a[_0x686c1a[_0x2b7929(0x1f7)]=0x4]=_0x2b7929(0x1f7),_0x686c1a[_0x686c1a[_0x2b7929(0x2c5)]=0x8]=_0x2b7929(0x2c5),_0x686c1a[_0x686c1a[_0x2b7929(0x28e)]=0x10]='VariableType',_0x686c1a[_0x686c1a[_0x2b7929(0x233)]=0x20]=_0x2b7929(0x233),_0x686c1a[_0x686c1a[_0x2b7929(0x296)]=0x40]=_0x2b7929(0x296),_0x686c1a[_0x686c1a[_0x2b7929(0x1dc)]=0x80]='View';}(_0x33b07b||(_0x33b07b={})));var _0x1b426b;(function(_0x4801e2){const _0x34f3ce=_0x343d25;_0x4801e2[_0x4801e2[_0x34f3ce(0x233)]=0x1]=_0x34f3ce(0x233),_0x4801e2[_0x4801e2[_0x34f3ce(0x223)]=0x2]='IsForward',_0x4801e2[_0x4801e2[_0x34f3ce(0x2d2)]=0x4]=_0x34f3ce(0x2d2),_0x4801e2[_0x4801e2[_0x34f3ce(0x23f)]=0x8]='BrowseName',_0x4801e2[_0x4801e2['DisplayName']=0x10]='DisplayName',_0x4801e2[_0x4801e2[_0x34f3ce(0x280)]=0x20]=_0x34f3ce(0x280);}(_0x1b426b||(_0x1b426b={})));function _0x25d60e(_0x30360){const _0x2afbea=_0x343d25;switch(_0x30360){case _0x2afbea(0x1e2):return _0x1db598;case _0x2afbea(0x290):return _0x89aff1;case _0x2afbea(0x2ce):return _0x244bd8;case _0x2afbea(0x1f9):return _0x1a2343;case'HasSubtype':return _0x166bf3;case _0x2afbea(0x29b):return _0x3511be;}}const _0x13e537=_0x17c9fa=>{const _0x46d82a=_0x343d25;switch(_0x17c9fa[_0x46d82a(0x22b)]){case _0x46d82a(0x272):if(_0x17c9fa['referenceTypeId']===_0x1db598);if(_0x17c9fa[_0x46d82a(0x251)]===_0x122ba7||_0x17c9fa[_0x46d82a(0x279)]===_0x46d82a(0x240))return{'icon':'fa-folder','color':'rgba(61,\x2060,\x204,\x200.525)'};return{'icon':_0x46d82a(0x1d1),'color':_0x46d82a(0x2a5)};case'Variable':if(_0x17c9fa[_0x46d82a(0x279)]===_0x244bd8)return{'icon':_0x46d82a(0x1e9),'color':_0x46d82a(0x2cc)};else return _0x17c9fa[_0x46d82a(0x279)]===_0x89aff1?{'icon':_0x46d82a(0x1e9),'color':'DodgerBlue'}:{'icon':_0x46d82a(0x1e9),'color':_0x46d82a(0x247)};case _0x46d82a(0x1f7):return{'icon':_0x46d82a(0x208),'color':_0x46d82a(0x265)};case'ObjectType':return{'icon':_0x46d82a(0x1d1),'color':_0x46d82a(0x29e)};case'VariableType':return{'icon':'fa-sliders','color':_0x46d82a(0x29e)};case _0x46d82a(0x296):return{'icon':_0x46d82a(0x2aa),'color':_0x46d82a(0x247)};}return{'icon':'fa-question','color':_0x46d82a(0x2a4)};},_0x344ca0=(_0x1a127d,_0x89dc9c,_0x31166c)=>_0x374dc5(void 0x0,[_0x1a127d,_0x89dc9c,_0x31166c],void 0x0,function*({endpointNode:_0x574d22,endpoint:_0x4b53b2,baseUrl:_0xbd6f99},_0x2a2018,_0x4e6a64){const _0x2d5841=_0x343d25,_0x26e081=_0xbd6f99+_0x2d5841(0x1d8),_0x21d9bf=_0x26e081+_0x2d5841(0x26c),_0x49a66b=Object[_0x2d5841(0x2ca)](Object[_0x2d5841(0x2ca)]({},_0x4e6a64),{'nodeId':_0x2a2018,'resultMask':0x3f}),_0x3faeb0=yield fetch(_0x21d9bf,{'method':_0x2d5841(0x234),'body':JSON[_0x2d5841(0x273)]({'endpointNode':_0x574d22,'endpoint':_0x4b53b2,'browseDescription':_0x49a66b}),'headers':{'Content-Type':_0x2d5841(0x2bd)}});if(_0x3faeb0[_0x2d5841(0x215)]!==0xc8)return console[_0x2d5841(0x20c)]('fetching\x20failed\x20with\x20error',_0x3faeb0[_0x2d5841(0x215)],_0x3faeb0[_0x2d5841(0x244)]),{'references':[]};const _0x28785e=yield _0x3faeb0[_0x2d5841(0x292)](),_0x332f45=_0x28785e['browseResult'][_0x2d5841(0x25c)]||[];return{'references':_0x332f45};}),_0x241484={'referenceTypeId':_0x25d60e(_0x343d25(0x1f9)),'includeSubtypes':!![],'browseDirection':_0x184a55['Forward'],'nodeClassMask':_0xe06ac[_0x343d25(0x23e)]|_0xe06ac[_0x343d25(0x272)]|_0xe06ac[_0x343d25(0x1f7)],'resultMask':0x3f},_0x14dafe={'referenceTypeId':_0x25d60e(_0x343d25(0x1e2)),'includeSubtypes':!![],'browseDirection':_0x184a55[_0x343d25(0x25d)],'nodeClassMask':_0xe06ac[_0x343d25(0x23e)]|_0xe06ac[_0x343d25(0x272)]|_0xe06ac[_0x343d25(0x1f7)],'resultMask':0x3f},_0x32a7d2=(_0x13c60f,_0x2db72a)=>_0x374dc5(void 0x0,[_0x13c60f,_0x2db72a],void 0x0,function*({endpointNode:_0x2ca607,endpoint:_0x18b444,baseUrl:_0x2fac30},{nodeId:_0xfc74bf,rootNodeId:_0x2804f6,isType:_0x5d14e0}){const _0x32a6bf=_0x343d25,_0x58cc2e=_0x2fac30+_0x32a6bf(0x1d8),_0x485578=_0x58cc2e+'/walk-backward',_0x2e2400=yield fetch(_0x485578,{'method':_0x32a6bf(0x234),'body':JSON[_0x32a6bf(0x273)]({'endpointNode':_0x2ca607,'endpoint':_0x18b444,'nodeId':_0xfc74bf,'rootNodeId':_0x2804f6,'isType':_0x5d14e0}),'headers':{'Content-Type':_0x32a6bf(0x2bd)}});if(_0x2e2400[_0x32a6bf(0x215)]!==0xc8)return null;const _0x39ae7a=yield _0x2e2400[_0x32a6bf(0x292)]();return _0x39ae7a['browsePath'];}),_0x319a97=(_0x2caaf,_0x1eb9d3)=>{const _0x3fd8bc=_0x343d25;if(_0x2caaf[_0x3fd8bc(0x24c)]!==_0x3fd8bc(0x256))return _0x2caaf['requestedNodeId'];switch(_0x1eb9d3){case _0x3fd8bc(0x2a3):return _0x2caaf[_0x3fd8bc(0x2bf)];case _0x3fd8bc(0x2c0):return _0x2caaf['bp_aliased']||_0x2caaf[_0x3fd8bc(0x2bf)];case _0x3fd8bc(0x25a):return _0x2caaf['nodeId_aliased']||_0x2caaf[_0x3fd8bc(0x214)];case _0x3fd8bc(0x231):return _0x2caaf[_0x3fd8bc(0x214)];default:case'nodeId':return _0x2caaf[_0x3fd8bc(0x26a)];}},_0xc805e8=_0x5b2419=>{const _0x672487=_0x343d25;if(_0x5b2419[_0x672487(0x24c)]!==_0x672487(0x256))return _0x672487(0x2e1)+_0x5b2419[_0x672487(0x24c)];else{let _0x27356b=[];return _0x27356b['push'](_0x672487(0x261)+_0x5b2419[_0x672487(0x26a)]),_0x27356b['push']('browse\x20path:\x20'+_0x5b2419['bp_indexed']),_0x27356b[_0x672487(0x2cd)](_0x672487(0x218)+_0xe06ac[_0x5b2419[_0x672487(0x22b)]]),_0x5b2419['nodeId_nsu']&&_0x27356b['push'](_0x672487(0x275)+_0x5b2419[_0x672487(0x214)]),_0x5b2419[_0x672487(0x22e)]&&_0x27356b[_0x672487(0x2cd)](_0x672487(0x2cf)+_0x5b2419[_0x672487(0x22e)]),_0x5b2419[_0x672487(0x2bf)]&&_0x27356b[_0x672487(0x2cd)](_0x672487(0x2c3)+_0x5b2419[_0x672487(0x264)]),_0x27356b['join']('\x0a');}};function _0x32823c(_0x48e2bd){const _0x2d7d39=_0x343d25;if(_0x48e2bd[_0x2d7d39(0x206)](/^nsu=/))return _0x2d7d39(0x231);if(_0x48e2bd[_0x2d7d39(0x206)](/^(ns=.*;)?(i|b|s|g)=/))return'nodeId';if(_0x48e2bd[_0x2d7d39(0x206)](/^nsa=/))return _0x2d7d39(0x25a);if(_0x48e2bd[_0x2d7d39(0x206)](/^(\/|\.)[0-9]+:/))return _0x2d7d39(0x2a3);if(_0x48e2bd['match'](/^(\/|\.).*:/))return _0x2d7d39(0x2a3);}function _0x28e71f(_0x333428){const _0xcb83c0=_0x343d25,_0x31d9f7=_0x32823c(_0x333428);switch(_0x31d9f7){case _0xcb83c0(0x26a):return'n';case _0xcb83c0(0x25a):return'na';case _0xcb83c0(0x231):return _0xcb83c0(0x1d4);case _0xcb83c0(0x2a3):return'b';case _0xcb83c0(0x2c0):return'ab';default:return't';}}function _0x1f2525(_0x2b23f1){const _0x3d6d52=_0x343d25;let _0x40b357;switch(_0x2b23f1){case'n':_0x40b357=_0x3d6d52(0x26a);break;case'na':_0x40b357=_0x3d6d52(0x25a);break;case _0x3d6d52(0x1d4):_0x40b357=_0x3d6d52(0x231);break;case'b':_0x40b357=_0x3d6d52(0x2a3);break;case'ab':_0x40b357='aliasedBrowsePath';break;}return _0x40b357;}function _0x5ade0b(_0xdae418){const _0x19f795=_0x343d25;switch(_0xdae418){case _0x19f795(0x26a):return'n';case'aliasedNodeId':return'na';case _0x19f795(0x231):return _0x19f795(0x1d4);case'browsePath':return'b';case _0x19f795(0x2c0):return'ab';default:return't';}}const _0x9686a0=(_0x4c1415,_0x3bbeab)=>_0x374dc5(void 0x0,[_0x4c1415,_0x3bbeab],void 0x0,function*({endpointNode:_0x121d97,endpoint:_0x556032,baseUrl:_0x1b5113},_0x313d54){const _0x4a226b=_0x343d25,_0x2121a8=_0x1b5113+_0x4a226b(0x1d8),_0x529a66=_0x2121a8+'/checkNodeId',_0x49ef32=_0x121d97['id'],_0x36db10=RED[_0x4a226b(0x209)][_0x4a226b(0x23a)](_0x49ef32);console[_0x4a226b(0x20c)](_0x36db10[_0x4a226b(0x259)]),_0x36db10[_0x4a226b(0x259)];const _0x4c42d3=_0x121d97[_0x4a226b(0x259)],_0x25406a=yield fetch(_0x529a66,{'method':_0x4a226b(0x234),'body':JSON['stringify']({'endpointNode':_0x121d97,'endpoint':_0x556032,'nodeId':_0x313d54,'namespaceAliases':_0x4c42d3}),'headers':{'Content-Type':_0x4a226b(0x2bd)}}),_0x43613d=yield _0x25406a[_0x4a226b(0x292)]();return{'json':_0x43613d,'data':_0x25406a};}),_0x26d30c=(_0xcf1a4c,_0x532a30,_0x3c69e4,_0x57afa3)=>_0x374dc5(void 0x0,[_0xcf1a4c,_0x532a30,_0x3c69e4,_0x57afa3],void 0x0,function*({endpointNode:_0x3617ea,endpoint:_0x2ef0bb,baseUrl:_0x41c14c},_0x454ae8,_0x3a23ca,_0x3c8ee3){const _0x1fe6e5=_0x343d25,_0x208b22=_0x3a23ca['val'](),{json:_0x2d7357,data:_0x5f2f94}=yield _0x9686a0({'endpointNode':_0x3617ea,'endpoint':_0x2ef0bb,'baseUrl':_0x41c14c},_0x208b22),_0x12a1aa=(_0x32b349,_0xb62c0b)=>{const _0x4ccce8=_0x17c7;_0x3c8ee3[_0x4ccce8(0x2ab)](_0x32b349)[_0x4ccce8(0x21e)]('sterfive-info')['addClass'](_0xb62c0b),_0x3c8ee3[_0x4ccce8(0x1f1)](),setTimeout(()=>{const _0x269627=_0x4ccce8;_0x3c8ee3[_0x269627(0x25f)](_0xb62c0b),_0x3c8ee3[_0x269627(0x2d7)]();},0xbb8);};if(_0x5f2f94[_0x1fe6e5(0x215)]!==0xc8)return _0x12a1aa(_0x1fe6e5(0x1f6)+_0x208b22,_0x1fe6e5(0x1e0)),![];else{if(_0x2d7357['statusCode'][_0x1fe6e5(0x206)](/Good/)){const _0x3131df=_0xc805e8(_0x2d7357);_0x3a23ca[_0x1fe6e5(0x235)](_0x1fe6e5(0x246),_0x3131df);const _0x5ee32e=_0x319a97(_0x2d7357,_0x454ae8);return _0x3a23ca[_0x1fe6e5(0x267)](_0x5ee32e),_0x3a23ca[_0x1fe6e5(0x2b9)](_0x1fe6e5(0x227)),_0x12a1aa(_0x1fe6e5(0x256),'ok'),!![];}else return _0x3a23ca[_0x1fe6e5(0x267)](''+_0x208b22),_0x12a1aa(_0x2d7357['statusCode']+'\x20'+_0x5f2f94[_0x1fe6e5(0x244)],_0x1fe6e5(0x1e0)),![];}});function _0x189042(_0x30bffa,_0x37f467){return _0x374dc5(this,void 0x0,void 0x0,function*(){const _0x1f2dee=_0x17c7,_0x5a90f0=_0x30bffa[_0x1f2dee(0x263)](_0x1f2dee(0x26d)),_0x4cee5f=yield _0x344ca0(_0x37f467,_0x5a90f0,_0x241484),_0x5ec205=yield _0x344ca0(_0x37f467,_0x5a90f0,_0x14dafe);return{'references':[..._0x4cee5f[_0x1f2dee(0x25c)],..._0x5ec205['references']]};});}const _0x115a1a={'referenceTypeId':_0x25d60e(_0x343d25(0x230)),'includeSubtypes':!![],'browseDirection':_0x184a55['Forward'],'nodeClassMask':_0xe06ac[_0x343d25(0x233)]|_0xe06ac[_0x343d25(0x2c5)]|_0xe06ac[_0x343d25(0x296)]|_0xe06ac['VariableType'],'resultMask':0x3f};function _0x20eb37(_0x261544,_0x5196c2){return _0x374dc5(this,void 0x0,void 0x0,function*(){const _0x111d00=_0x17c7,_0x26c174=_0x261544[_0x111d00(0x263)](_0x111d00(0x26d)),_0x209c9a=yield _0x344ca0(_0x5196c2,_0x26c174,_0x115a1a);return _0x209c9a;});}const _0x5cc1ab=_0x29eabe=>{const _0x47a36d=_0x343d25;var _0xe36b9d,_0x2fdc16,_0x254c83,_0x34aae0;if(!_0x29eabe||!_0x29eabe[_0x47a36d(0x26a)]){const _0x247ec3=$(_0x47a36d(0x205));return _0x247ec3;}const _0x4633d0=_0x29eabe[_0x47a36d(0x26a)][_0x47a36d(0x260)](),_0x3ad11b=((_0xe36b9d=_0x29eabe[_0x47a36d(0x2a8)])===null||_0xe36b9d===void 0x0?void 0x0:_0xe36b9d[_0x47a36d(0x2ab)])||((_0x2fdc16=_0x29eabe[_0x47a36d(0x23c)])===null||_0x2fdc16===void 0x0?void 0x0:_0x2fdc16['name'])||_0x29eabe['nodeId']['toString'](),{icon:_0x592356,color:_0x3bf79d}=_0x13e537(_0x29eabe),_0x4618a2='('+_0x29eabe[_0x47a36d(0x26a)][_0x47a36d(0x260)]()+')\x20'+(((_0x254c83=_0x29eabe['browseName'])===null||_0x254c83===void 0x0?void 0x0:_0x254c83['name'])||((_0x34aae0=_0x29eabe[_0x47a36d(0x2a8)])===null||_0x34aae0===void 0x0?void 0x0:_0x34aae0[_0x47a36d(0x2ab)])||''),_0x5e2e53=$(_0x47a36d(0x288)+_0x29eabe[_0x47a36d(0x26a)]['toString']()+_0x47a36d(0x229)+_0x4618a2+_0x47a36d(0x204)+_0x592356+_0x47a36d(0x1e8)+_0x3bf79d+_0x47a36d(0x2da)+_0x3ad11b+_0x47a36d(0x1cb));return _0x5e2e53[_0x47a36d(0x21e)](_0x47a36d(0x2dd)),_0x5e2e53[_0x47a36d(0x263)](_0x47a36d(0x26d),_0x4633d0),_0x5e2e53[_0x47a36d(0x263)](_0x47a36d(0x282),_0x29eabe),_0x5e2e53;},_0x384be4=(_0x2134c0,_0x23ba16)=>{const _0x1a20eb=_0x343d25;return _0x23ba16[_0x1a20eb(0x266)](_0x1a20eb(0x236)+_0x2134c0+'\x22]');},_0x512d98=(_0x4b5b83,_0x708834)=>{const _0x3e906e=_0x343d25;_0x4b5b83[_0x3e906e(0x24e)]['find'](_0x3e906e(0x2a6))[_0x3e906e(0x25f)]('selected'),_0x708834['find'](_0x3e906e(0x2df))[_0x3e906e(0x21e)](_0x3e906e(0x207));},_0x3f11b3=(_0x47e5f2,_0x12c4d8,_0x336810)=>_0x374dc5(void 0x0,void 0x0,void 0x0,function*(){const _0x372fc6=_0x343d25;let _0x3d050e=_0x336810[_0x372fc6(0x1e1)](':first');_0x12c4d8[_0x372fc6(0x2b6)]['elements']||[];const _0x3f0201=_0x12c4d8[_0x372fc6(0x291)]||[];if(_0x3f0201[_0x372fc6(0x25b)]===0x0)return;for(const _0xb4b8ad of _0x3f0201){_0x3d050e[_0x372fc6(0x298)](_0x372fc6(0x2dd))&&(yield _0x28784a(_0x47e5f2,_0x3d050e));const _0x1c37fa=_0x384be4(_0xb4b8ad,_0x3d050e);if(_0x1c37fa['length']===0x0)return;_0x3d050e=_0x1c37fa;}_0x512d98(_0x47e5f2,_0x3d050e),_0x3f3333(_0x47e5f2[_0x372fc6(0x289)],_0x3d050e);});function _0x3f3333(_0x40b538,_0x3d3375){const _0x9144e4=_0x343d25,_0x1d8f5f=_0x3d3375[_0x9144e4(0x1f3)]()[_0x9144e4(0x222)],_0x5d08e3=_0x40b538['scrollTop']();if(_0x5d08e3==undefined)return;const _0x2d5720=_0x5d08e3+_0x1d8f5f-_0x40b538[_0x9144e4(0x2c4)]()/0x2+_0x3d3375[_0x9144e4(0x2c4)]()/0x2;_0x40b538[_0x9144e4(0x1e5)]({'scrollTop':_0x2d5720},0x1f4);}const _0x929210=(_0x19d0b1,_0x205b63)=>_0x374dc5(void 0x0,void 0x0,void 0x0,function*(){const _0xf918e8=_0x343d25,_0x24cffa=_0x19d0b1[_0xf918e8(0x224)][_0xf918e8(0x267)](),_0x11a41d={'nodeId':_0x24cffa,'rootNodeId':_0x205b63[_0xf918e8(0x26a)],'isType':_0x19d0b1['options']['isTypeRef']||![]},_0x1e8508=_0x5db9c5(_0x19d0b1),_0x5e2140=yield _0x32a7d2(_0x1e8508,_0x11a41d);if(!_0x5e2140)return;yield _0x3f11b3(_0x19d0b1,_0x5e2140,_0x19d0b1[_0xf918e8(0x24e)]);});function _0x29f16d(_0x2601ec,_0x2bf92b,_0x2b40b3,_0x28795d){return _0x374dc5(this,void 0x0,void 0x0,function*(){const _0x41ee34=_0x17c7;if(_0x2bf92b['hasClass'](_0x41ee34(0x28b))){console[_0x41ee34(0x20c)](_0x41ee34(0x23b));return;}if(_0x2bf92b[_0x41ee34(0x298)](_0x41ee34(0x1e4))){console[_0x41ee34(0x20c)](_0x41ee34(0x249));return;}_0x2bf92b['addClass'](_0x41ee34(0x1e4)),_0x2bf92b[_0x41ee34(0x21a)](_0x41ee34(0x1fb));try{_0x2bf92b['children']('ul')[_0x41ee34(0x1cf)]();const {references:_0x3948cd}=yield _0x2b40b3(_0x2bf92b,_0x28795d);_0x3948cd[_0x41ee34(0x1ca)]((_0xb90051,_0xab4826)=>{const _0x1f7b2e=_0x41ee34;var _0x16c89a,_0x49ba64;return(((_0x16c89a=_0xb90051['browseName'])===null||_0x16c89a===void 0x0?void 0x0:_0x16c89a[_0x1f7b2e(0x21f)])||'')[_0x1f7b2e(0x2e0)](((_0x49ba64=_0xab4826['browseName'])===null||_0x49ba64===void 0x0?void 0x0:_0x49ba64[_0x1f7b2e(0x21f)])||'');});for(const _0xc5671c of _0x3948cd){if(_0x2601ec[_0x41ee34(0x232)]['filter']&&!_0x2601ec['options'][_0x41ee34(0x25e)](_0xc5671c))continue;const _0x1b93a9=_0x5cc1ab(_0xc5671c);_0x2bf92b['children']('ul')['append'](_0x1b93a9);}_0x2bf92b[_0x41ee34(0x21e)]('fetched');}catch(_0x2d3222){_0x2bf92b[_0x41ee34(0x1e1)]('ul')[_0x41ee34(0x21a)](_0x41ee34(0x1e7)+_0x2d3222['message']+'</li>'),console['log'](_0x41ee34(0x27c),_0x2d3222);}_0x2bf92b[_0x41ee34(0x266)]('.spinner')[_0x41ee34(0x1f0)](),_0x2bf92b[_0x41ee34(0x25f)](_0x41ee34(0x1e4));});}function _0x5db9c5(_0x19dc19){const _0x5c5fc6=_0x343d25,_0x59e3e1={'baseUrl':_0x19dc19[_0x5c5fc6(0x232)]['baseUrl'],'endpointNode':typeof _0x19dc19[_0x5c5fc6(0x232)][_0x5c5fc6(0x22c)]===_0x5c5fc6(0x271)?_0x19dc19[_0x5c5fc6(0x232)][_0x5c5fc6(0x22c)]():_0x19dc19['options']['endpointNode'],'endpoint':typeof _0x19dc19[_0x5c5fc6(0x232)][_0x5c5fc6(0x1d2)]===_0x5c5fc6(0x271)?_0x19dc19[_0x5c5fc6(0x232)][_0x5c5fc6(0x1d2)]():_0x19dc19[_0x5c5fc6(0x232)][_0x5c5fc6(0x1d2)]};return _0x59e3e1;}function _0x28784a(_0x21c56d,_0x351176){return _0x374dc5(this,void 0x0,void 0x0,function*(){const _0x826c34=_0x17c7;if(_0x351176['hasClass'](_0x826c34(0x28b))){_0x351176[_0x826c34(0x25f)](_0x826c34(0x2dd))['addClass'](_0x826c34(0x21b)),_0x351176[_0x826c34(0x1e1)]('ul')['toggle']();return;}const _0x52ad42=_0x5db9c5(_0x21c56d),_0x176ec8=!_0x21c56d[_0x826c34(0x232)][_0x826c34(0x2c7)]?_0x189042:_0x20eb37;try{yield _0x29f16d(_0x21c56d,_0x351176,_0x176ec8,_0x52ad42),_0x351176[_0x826c34(0x25f)](_0x826c34(0x2dd))['addClass'](_0x826c34(0x21b));}catch(_0x46fd49){_0x351176[_0x826c34(0x25f)]('expandable')[_0x826c34(0x21e)](_0x826c34(0x21b)),console[_0x826c34(0x20c)](_0x826c34(0x2c9),_0x46fd49);}});}const _0x2ebf33={'browseName':{'namespaceIndex':0x0,'name':_0x343d25(0x213)},'nodeClass':'Object','nodeId':'ns=0;i=85','displayName':{'text':_0x343d25(0x213)},'typeDefinition':_0x122ba7},_0x4fd707=()=>{const _0x5d9f35=_0x343d25;$[_0x5d9f35(0x278)](_0x5d9f35(0x2be),{'options':{'endpointNode':()=>({'endpoint':_0x5d9f35(0x2c1)}),'endpoint':()=>undefined,'parentNode':()=>_0x2ebf33,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x374dc5(this,void 0x0,void 0x0,function*(){const _0x514d4c=_0x17c7,_0x59c5c7=this;if(_0x59c5c7['__parentNode']==undefined){const _0x239d7b=typeof _0x59c5c7[_0x514d4c(0x232)][_0x514d4c(0x29d)]==='function'?_0x59c5c7[_0x514d4c(0x232)][_0x514d4c(0x29d)][_0x514d4c(0x27f)](_0x59c5c7):_0x59c5c7['options'][_0x514d4c(0x29d)];if(_0x239d7b instanceof Promise){const _0x529088=yield _0x239d7b;_0x59c5c7['__parentNode']=_0x529088;}else _0x59c5c7[_0x514d4c(0x297)]=_0x239d7b;}return _0x59c5c7[_0x514d4c(0x297)]||_0x2ebf33;});},'reset'(){return _0x374dc5(this,void 0x0,void 0x0,function*(){const _0x4e06fa=_0x17c7,_0x1dbcf3=this,_0x28a8a4=_0x1dbcf3;_0x28a8a4[_0x4e06fa(0x297)]=undefined,_0x1dbcf3[_0x4e06fa(0x24e)][_0x4e06fa(0x1cf)]();const _0x2a4b8e=yield this['resolveParentNode'](),_0x24e2f1=_0x5cc1ab(_0x2a4b8e);_0x1dbcf3['$tree'][_0x4e06fa(0x21a)](_0x24e2f1),_0x1dbcf3[_0x4e06fa(0x270)]=_0x2a4b8e;});},'verify'(_0x7174e0){const _0x3c8f08=_0x5d9f35,_0x55805c=this,_0x451dd4=_0x5db9c5(_0x55805c);_0x26d30c(_0x451dd4,_0x7174e0,_0x55805c[_0x3c8f08(0x224)],_0x55805c['$info'])[_0x3c8f08(0x29f)](_0xa61e75=>{const _0x25e0ee=_0x3c8f08;!_0xa61e75?_0x55805c[_0x25e0ee(0x285)]['addClass'](_0x25e0ee(0x1d7)):_0x55805c['$combo'][_0x25e0ee(0x25f)]('sterfive-input-error');});},'_hideMenu'(_0x24e91f){const _0x455943=_0x5d9f35,_0x271a4f=this;$(document)[_0x455943(0x2c6)](_0x455943(0x2b5)),_0x24e91f['hide'](),_0x24e91f[_0x455943(0x29a)]({'height':_0x455943(0x2ac)});if(_0x24e91f[_0x455943(0x1cd)][_0x455943(0x1fc)]){var _0x2d304f=[];_0x24e91f[_0x455943(0x266)]('input[type=\x22checkbox\x22]')[_0x455943(0x29c)](function(){const _0x2cf6cf=_0x455943;$(this)[_0x2cf6cf(0x2a7)]('checked')&&_0x2d304f['push']($(this)[_0x2cf6cf(0x263)]('value'));}),_0x24e91f['callback'](_0x2d304f);}_0x271a4f[_0x455943(0x21d)]['is'](_0x455943(0x1dd))?_0x271a4f[_0x455943(0x224)][_0x455943(0x2b9)]('focus'):_0x271a4f[_0x455943(0x1d9)][_0x455943(0x2b9)](_0x455943(0x27e));},'_createMenu'(_0x33c2b0,_0x362d1c,_0x230ac0){const _0xa12eb0=_0x5d9f35;var _0x54b5b6=this;const _0x51529a=$(_0xa12eb0(0x2e3))[_0xa12eb0(0x21e)](_0xa12eb0(0x250));return _0x51529a[_0xa12eb0(0x1cd)]=_0x362d1c,_0x51529a['callback']=_0x230ac0,_0x33c2b0[_0xa12eb0(0x276)](_0x1aabc1=>{const _0x7f673e=_0xa12eb0;typeof _0x1aabc1===_0x7f673e(0x1f5)&&(_0x1aabc1={'value':_0x1aabc1,'label':_0x1aabc1});var _0xac6101=$('<a\x20href=\x22#\x22></a>')['attr'](_0x7f673e(0x26d),_0x1aabc1[_0x7f673e(0x26d)])[_0x7f673e(0x237)](_0x51529a);_0x1aabc1['label']&&_0xac6101['text'](_0x1aabc1[_0x7f673e(0x210)]);_0x1aabc1[_0x7f673e(0x246)]&&_0xac6101['prop']('title',_0x1aabc1[_0x7f673e(0x246)]);if(_0x1aabc1[_0x7f673e(0x24f)]){if(_0x1aabc1[_0x7f673e(0x24f)][_0x7f673e(0x2d5)]('<')===0x0)$(_0x1aabc1[_0x7f673e(0x24f)])[_0x7f673e(0x1cc)](_0xac6101);else _0x1aabc1[_0x7f673e(0x24f)]['indexOf']('/')!==-0x1?$(_0x7f673e(0x1ec),{'class':_0x7f673e(0x295),'style':_0x7f673e(0x293)+_0x1aabc1[_0x7f673e(0x24f)]+_0x7f673e(0x2b7)+_0x1aabc1[_0x7f673e(0x24f)]+');'})[_0x7f673e(0x1cc)](_0xac6101):$(_0x7f673e(0x1ec),{'class':_0x7f673e(0x22d)+_0x1aabc1[_0x7f673e(0x24f)]})[_0x7f673e(0x1cc)](_0xac6101);}else _0xac6101[_0x7f673e(0x29a)]({'paddingLeft':'18px'});!_0x1aabc1[_0x7f673e(0x24f)]&&!_0x1aabc1['label']&&_0xac6101[_0x7f673e(0x2ab)](_0x1aabc1[_0x7f673e(0x26d)]);var _0x2037f1;_0x362d1c[_0x7f673e(0x1fc)]&&(_0x2037f1=$(_0x7f673e(0x1ce))[_0x7f673e(0x29a)](_0x7f673e(0x299),_0x7f673e(0x1ff))[_0x7f673e(0x263)](_0x7f673e(0x26d),_0x1aabc1['value'])[_0x7f673e(0x1cc)](_0xac6101)['on'](_0x7f673e(0x283),function(_0x2c416f){_0x2c416f['preventDefault']();})),_0xac6101['on'](_0x7f673e(0x28f),function(_0x1c802c){const _0x4c540a=_0x7f673e;_0x1c802c['preventDefault'](),_0x1c802c[_0x4c540a(0x243)](),!_0x362d1c['multiple']?(_0x230ac0(_0x1aabc1[_0x4c540a(0x26d)]),_0x54b5b6[_0x4c540a(0x1eb)](_0x51529a)):_0x2037f1['prop'](_0x4c540a(0x1e6),!_0x2037f1['prop'](_0x4c540a(0x1e6)));});}),_0x51529a[_0xa12eb0(0x29a)]({'display':_0xa12eb0(0x1ff)}),_0x51529a['on']('keydown',function(_0x4adbc0){const _0x37e444=_0xa12eb0;if(_0x4adbc0[_0x37e444(0x203)]===0x28)_0x4adbc0[_0x37e444(0x248)](),$(this)[_0x37e444(0x1e1)](_0x37e444(0x28d))[_0x37e444(0x28c)]()[_0x37e444(0x2b9)]('focus');else{if(_0x4adbc0['keyCode']===0x26)_0x4adbc0[_0x37e444(0x248)](),$(this)[_0x37e444(0x1e1)](_0x37e444(0x28d))[_0x37e444(0x2c2)]()[_0x37e444(0x2b9)](_0x37e444(0x27e));else _0x4adbc0[_0x37e444(0x203)]===0x1b&&(_0x4adbc0['preventDefault'](),_0x54b5b6[_0x37e444(0x1eb)](_0x51529a));}_0x4adbc0[_0x37e444(0x243)]();}),_0x51529a;},'disarmClick':![],'_showMenu'(_0xaa97f,_0x2c128c){const _0x4178d3=_0x5d9f35;if(this[_0x4178d3(0x2bc)]){this['disarmClick']=![];return;}var _0x40c85f=this,_0x888bbc=_0x2c128c[_0x4178d3(0x211)](),_0x495dd5=_0x2c128c[_0x4178d3(0x2c4)](),_0xc0e6e4=_0xaa97f[_0x4178d3(0x2c4)](),_0x1f8e91=_0x495dd5+_0x888bbc[_0x4178d3(0x222)];_0x1f8e91+_0xc0e6e4-$(document)['scrollTop']()>$(window)[_0x4178d3(0x2c4)]()&&(_0x1f8e91-=_0x1f8e91+_0xc0e6e4-$(window)['height']()+0x5),_0x1f8e91<0x0&&(_0xaa97f[_0x4178d3(0x2c4)](_0xc0e6e4+_0x1f8e91),_0x1f8e91=0x0),_0xaa97f[_0x4178d3(0x29a)]({'top':_0x1f8e91+'px','left':_0x888bbc[_0x4178d3(0x216)]+'px'}),_0xaa97f['slideDown'](0x64),this[_0x4178d3(0x20e)](function(){const _0xda6cf=_0x4178d3;_0x40c85f[_0xda6cf(0x212)]['addClass'](_0xda6cf(0x2d3)),$(document)['on'](_0xda6cf(0x2b5),function(_0x2c6e21){const _0x53906e=_0xda6cf;!$(_0x2c6e21[_0x53906e(0x22a)])[_0x53906e(0x2bb)](_0xaa97f)[_0x53906e(0x25b)]&&_0x40c85f[_0x53906e(0x1eb)](_0xaa97f),$(_0x2c6e21[_0x53906e(0x22a)])[_0x53906e(0x2bb)](_0x2c128c)[_0x53906e(0x25b)]&&(_0x40c85f[_0x53906e(0x2bc)]=!![],_0x2c6e21['preventDefault']());});});},'_showTypeMenu'(){const _0x125ff9=_0x5d9f35,_0xcda165=this;this['_showMenu'](_0xcda165['$menu'],_0xcda165[_0x125ff9(0x285)]),_0xcda165[_0x125ff9(0x289)][_0x125ff9(0x2d7)]();const _0x54424d=_0xcda165['selectedMenuItem'];var _0x52479f=_0xcda165[_0x125ff9(0x241)][_0x125ff9(0x266)]('[value=\x27'+_0x54424d+'\x27');setTimeout(function(){const _0x498e51=_0x125ff9;_0x52479f[_0x498e51(0x2b9)](_0x498e51(0x27e));},0x78);},'_initMenu'(){const _0x10e3a1=_0x5d9f35,_0x4066ee=this;_0x4066ee['$selectTrigger'][_0x10e3a1(0x235)](_0x10e3a1(0x24d),-0x1),_0x4066ee[_0x10e3a1(0x1d9)]['on']('mousedown.red-ui-typedInput-focus-block',function(_0x1a19ee){const _0xae46aa=_0x10e3a1;_0x1a19ee[_0xae46aa(0x248)]();});_0x4066ee[_0x10e3a1(0x241)]&&_0x4066ee['$menu'][_0x10e3a1(0x1f0)]();const _0x952231=[{'label':_0x10e3a1(0x2ab),'value':'t','title':_0x10e3a1(0x1df),'icon':'<i\x20class=\x22fa\x20fa-font\x22/i>\x20'},{'label':'msg.','value':'msg','title':_0x10e3a1(0x2c8),'icon':'<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>'},{'label':_0x10e3a1(0x2b2),'value':'n','icon':_0x10e3a1(0x2b4)},{'label':'Aliased\x20NodeId','value':'na','icon':_0x10e3a1(0x277)},{'label':_0x10e3a1(0x2d0),'value':'nsu','icon':_0x10e3a1(0x245)},{'label':_0x10e3a1(0x2d8),'value':'b','icon':_0x10e3a1(0x281)},{'label':_0x10e3a1(0x284),'value':'ab','icon':_0x10e3a1(0x252)}],_0x2e81b7=_0x28e71f(_0x4066ee[_0x10e3a1(0x224)][_0x10e3a1(0x267)]()),_0xbba9ec=_0x952231[_0x10e3a1(0x266)](_0x4a96bf=>_0x4a96bf[_0x10e3a1(0x26d)]===_0x2e81b7);_0x4066ee[_0x10e3a1(0x2de)][_0x10e3a1(0x1cf)]()[_0x10e3a1(0x21a)]('<span\x20title='+((_0xbba9ec===null||_0xbba9ec===void 0x0?void 0x0:_0xbba9ec[_0x10e3a1(0x246)])||'')+_0x10e3a1(0x2a1)+((_0xbba9ec===null||_0xbba9ec===void 0x0?void 0x0:_0xbba9ec[_0x10e3a1(0x24f)])||'')+_0x10e3a1(0x2af)),_0x4066ee[_0x10e3a1(0x2d1)]=_0x2e81b7;const _0x243649=this;_0x4066ee['$menu']=this[_0x10e3a1(0x21c)](_0x952231,{},_0x55f887=>{const _0x2739fd=_0x10e3a1,_0x25cb42=_0x1f2525(_0x55f887);_0x25cb42&&_0x243649['verify'](_0x25cb42);const _0x1ca222=_0x952231[_0x2739fd(0x266)](_0x1f0081=>_0x1f0081[_0x2739fd(0x26d)]===_0x55f887);_0x4066ee['selectedMenuItem']=_0x55f887,_0x4066ee[_0x2739fd(0x2de)][_0x2739fd(0x1cf)]()[_0x2739fd(0x21a)](_0x2739fd(0x286)+((_0x1ca222===null||_0x1ca222===void 0x0?void 0x0:_0x1ca222[_0x2739fd(0x246)])||'')+_0x2739fd(0x2a1)+((_0x1ca222===null||_0x1ca222===void 0x0?void 0x0:_0x1ca222[_0x2739fd(0x24f)])||'')+'</span>');}),_0x4066ee[_0x10e3a1(0x241)][_0x10e3a1(0x237)](document[_0x10e3a1(0x202)]),_0x4066ee[_0x10e3a1(0x241)][_0x10e3a1(0x2d7)](),_0x4066ee[_0x10e3a1(0x1d9)][_0x10e3a1(0x1f1)]();},'mode'(){const _0x2edc58=_0x5d9f35,_0x39097a=this;return _0x1f2525(_0x39097a[_0x2edc58(0x2d1)]);},'setMode'(_0x2c2048){const _0x352eb4=_0x5d9f35,_0x4ca02d=this,_0x2da3a0=_0x5ade0b(_0x2c2048);_0x4ca02d[_0x352eb4(0x2d1)]=_0x2da3a0;},'_create'(){const _0x976f76=_0x5d9f35,_0x306b9b=this;_0x306b9b[_0x976f76(0x224)]=this[_0x976f76(0x257)],_0x306b9b[_0x976f76(0x224)]['css'](_0x976f76(0x1da),_0x976f76(0x1ff)),_0x306b9b[_0x976f76(0x21d)]=_0x306b9b[_0x976f76(0x224)]['wrap'](_0x976f76(0x2e3))['parent']()[_0x976f76(0x21e)](_0x976f76(0x2d9)),_0x306b9b[_0x976f76(0x285)]=$(_0x976f76(0x217)),_0x306b9b[_0x976f76(0x285)]['addClass'](_0x976f76(0x1d6)),_0x306b9b[_0x976f76(0x224)][_0x976f76(0x1f8)](_0x306b9b['$combo']),_0x306b9b['$inputGroup']=$(_0x976f76(0x217))['addClass'](_0x976f76(0x1db)),_0x306b9b[_0x976f76(0x285)]['append'](_0x306b9b['$inputGroup']),_0x306b9b[_0x976f76(0x201)][_0x976f76(0x21a)](_0x306b9b[_0x976f76(0x224)]),_0x306b9b['$toggleTreeBtn']=$(_0x976f76(0x1ed)),_0x306b9b[_0x976f76(0x224)][_0x976f76(0x219)](_0x306b9b[_0x976f76(0x2a2)]),_0x306b9b[_0x976f76(0x2a2)]['on'](_0x976f76(0x28f),function(){return _0x374dc5(this,void 0x0,void 0x0,function*(){const _0x315113=_0x17c7;var _0x4d9bb7;let _0x15374e=![],_0x3faaea;!_0x306b9b[_0x315113(0x289)]['is'](':visible')&&(_0x306b9b['$info'][_0x315113(0x2d7)](),_0x3faaea=yield _0x306b9b[_0x315113(0x2ad)](),(_0x3faaea!==_0x306b9b['currentParent']||((_0x4d9bb7=_0x306b9b[_0x315113(0x270)])===null||_0x4d9bb7===void 0x0?void 0x0:_0x4d9bb7[_0x315113(0x26a)])!==_0x3faaea['nodeId'])&&(yield _0x306b9b[_0x315113(0x26e)]()),_0x15374e=!![]),_0x306b9b['$dropdown'][_0x315113(0x27b)](),_0x15374e&&(yield _0x929210(_0x306b9b,_0x3faaea));});}),_0x306b9b[_0x976f76(0x2d6)]=$(_0x976f76(0x2a0)),_0x306b9b['$input'][_0x976f76(0x219)](_0x306b9b['$verifyBtn']),_0x306b9b[_0x976f76(0x2d6)]['on'](_0x976f76(0x28f),()=>{const _0x2d64b6=_0x976f76,_0x1735e1=_0x306b9b['mode']();if(!_0x1735e1)return;this[_0x2d64b6(0x239)](_0x1735e1);});const _0x360425=_0x328c58=>_0x374dc5(this,void 0x0,void 0x0,function*(){const _0xf6aa9b=_0x976f76,_0x5a5a36=this;let _0x408d56=_0x5a5a36['mode']();if(!_0x408d56)return;const _0x42f0ca=_0x5db9c5(_0x5a5a36),{data:_0x562243,json:_0x49b605}=yield _0x9686a0(_0x42f0ca,_0x328c58);if(_0x562243['status']!==0xc8)return;if(_0x49b605[_0xf6aa9b(0x24c)][_0xf6aa9b(0x206)](/Good/)){const _0x3542af=_0x319a97(_0x49b605,_0x408d56);_0x5a5a36[_0xf6aa9b(0x224)][_0xf6aa9b(0x267)](_0x3542af),_0x5a5a36[_0xf6aa9b(0x224)][_0xf6aa9b(0x2b9)](_0xf6aa9b(0x227));}});{_0x306b9b[_0x976f76(0x212)]=$(_0x976f76(0x2e3)),_0x306b9b[_0x976f76(0x224)][_0x976f76(0x1d0)](_0x306b9b[_0x976f76(0x212)]),_0x306b9b[_0x976f76(0x1d9)]=$('<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>')[_0x976f76(0x1cc)](_0x306b9b[_0x976f76(0x212)]),$('<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>')[_0x976f76(0x27b)](!![])[_0x976f76(0x237)](_0x306b9b['$selectTrigger']),_0x306b9b[_0x976f76(0x1d9)]['on'](_0x976f76(0x28f),function(_0x2a9d92){const _0xfe1239=_0x976f76;_0x2a9d92['preventDefault'](),_0x2a9d92['stopPropagation'](),_0x306b9b[_0xfe1239(0x23d)]();}),_0x306b9b[_0x976f76(0x1d9)]['on'](_0x976f76(0x1fa),function(_0x53c170){const _0x1378d2=_0x976f76;_0x53c170['keyCode']===0x28&&_0x306b9b[_0x1378d2(0x23d)](),_0x53c170[_0x1378d2(0x243)]();})['on'](_0x976f76(0x27e),function(){const _0x5cfc2e=_0x976f76;_0x306b9b['$uiSelect'][_0x5cfc2e(0x21e)](_0x5cfc2e(0x2d3));})['on'](_0x976f76(0x1fd),function(){const _0x380ae5=_0x976f76;_0x306b9b[_0x380ae5(0x212)][_0x380ae5(0x25f)]('red-ui-typedInput-focus');}),_0x306b9b[_0x976f76(0x2de)]=$(_0x976f76(0x2dc))[_0x976f76(0x237)](_0x306b9b[_0x976f76(0x1d9)]);}this[_0x976f76(0x2d4)]();!_0x306b9b[_0x976f76(0x224)][_0x976f76(0x235)]('placeholder')&&_0x306b9b[_0x976f76(0x224)][_0x976f76(0x235)](_0x976f76(0x2ba),'enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20');_0x306b9b[_0x976f76(0x221)]=$(_0x976f76(0x27a)),_0x306b9b[_0x976f76(0x221)][_0x976f76(0x2d7)](),_0x306b9b['$combo'][_0x976f76(0x21a)](_0x306b9b[_0x976f76(0x221)]),_0x306b9b[_0x976f76(0x289)]=$(_0x976f76(0x217))[_0x976f76(0x21e)](_0x976f76(0x254))['hide']()[_0x976f76(0x237)](_0x306b9b[_0x976f76(0x285)]),_0x306b9b[_0x976f76(0x24e)]=$('<ul\x20class=\x22sterfive-tree\x22></ul>')[_0x976f76(0x237)](_0x306b9b[_0x976f76(0x289)]),this[_0x976f76(0x26e)]();const _0x2ea9d2=(_0x49b711,_0x357ddc)=>{const _0x4a0be5=_0x976f76,_0x3f421a=0x14,_0x24cb5f=0x14,_0x95812=_0x49b711[_0x4a0be5(0x211)](),_0x5b792b=_0x357ddc;if(_0x5b792b[_0x4a0be5(0x20f)]>=_0x95812[_0x4a0be5(0x216)]&&_0x5b792b[_0x4a0be5(0x20f)]<=_0x95812[_0x4a0be5(0x216)]+_0x3f421a&&_0x5b792b[_0x4a0be5(0x225)]>=_0x95812[_0x4a0be5(0x222)]&&_0x5b792b[_0x4a0be5(0x225)]<=_0x95812['top']+_0x24cb5f)return!![];return![];},_0x343051=_0x361a9f=>_0x374dc5(this,void 0x0,void 0x0,function*(){const _0x1fd468=_0x976f76;if(_0x361a9f[_0x1fd468(0x298)](_0x1fd468(0x2dd)))_0x28784a(_0x306b9b,_0x361a9f);else{if(_0x361a9f['hasClass'](_0x1fd468(0x21b)))_0x361a9f[_0x1fd468(0x1e1)]('ul')['toggle'](),_0x361a9f[_0x1fd468(0x200)](_0x1fd468(0x2b8));else{if(_0x361a9f[_0x1fd468(0x1e1)]('ul')[_0x1fd468(0x1e1)]()[_0x1fd468(0x25b)]>0x0)_0x361a9f['children']('ul')[_0x1fd468(0x27b)](),_0x361a9f[_0x1fd468(0x200)]('expandable\x20expanded');else;}}});_0x306b9b[_0x976f76(0x24e)]['on'](_0x976f76(0x228),'li',function(_0x236b90){const _0x3b6aba=_0x976f76;var _0x526237,_0x5d625c;_0x236b90[_0x3b6aba(0x243)]();let _0x482ec7=$(this);if(_0x2ea9d2(_0x482ec7,_0x236b90))_0x343051(_0x482ec7);else{const _0xbc7ba4=_0x482ec7['data']('value'),_0x248af7=_0x482ec7['data'](_0x3b6aba(0x282));if(_0x306b9b[_0x3b6aba(0x232)][_0x3b6aba(0x2ae)]&&!_0x306b9b[_0x3b6aba(0x232)][_0x3b6aba(0x2ae)](_0x248af7))return;_0x306b9b['$input']['data'](_0x3b6aba(0x282),_0x248af7),((_0x526237=_0x248af7['displayName'])===null||_0x526237===void 0x0?void 0x0:_0x526237[_0x3b6aba(0x2ab)])||((_0x5d625c=_0x248af7[_0x3b6aba(0x23c)])===null||_0x5d625c===void 0x0?void 0x0:_0x5d625c[_0x3b6aba(0x21f)])||_0x248af7[_0x3b6aba(0x26a)][_0x3b6aba(0x260)]();let _0x5ab815=_0x306b9b['mode']();!_0x5ab815&&(_0x5ab815=_0x3b6aba(0x26a),_0x306b9b[_0x3b6aba(0x262)](_0x5ab815)),_0x360425(_0xbc7ba4)['then'](()=>{const _0x262be9=_0x3b6aba;_0x306b9b[_0x262be9(0x289)][_0x262be9(0x2d7)]();})[_0x3b6aba(0x226)](_0x217bf1=>{const _0x1c1201=_0x3b6aba;_0x306b9b[_0x1c1201(0x289)]['hide']();});}}),_0x306b9b['$tree']['on'](_0x976f76(0x28f),'li',function(_0xd8f85a){const _0x214819=_0x976f76;_0xd8f85a[_0x214819(0x243)]();let _0x5801fa=$(this);_0x2ea9d2(_0x5801fa,_0xd8f85a)&&_0x343051(_0x5801fa),_0x512d98(_0x306b9b,_0x5801fa);}),$(document)['on'](_0x976f76(0x28f),function(_0x37fe7a){const _0x484a7b=_0x976f76;!$(_0x37fe7a[_0x484a7b(0x22a)])[_0x484a7b(0x2bb)](_0x306b9b['$combo'])[_0x484a7b(0x25b)]&&_0x306b9b[_0x484a7b(0x289)][_0x484a7b(0x2d7)]();});}});},_0x5c10a0=()=>{const _0x1df4a0=_0x343d25,_0x1e5ac4=$(_0x1df4a0(0x258)),_0xcdb068=_0x1e5ac4[_0x1df4a0(0x267)](),_0x18572d=RED[_0x1df4a0(0x209)][_0x1df4a0(0x23a)](_0xcdb068);if(!_0x18572d)return undefined;const {endpoint:_0x198ff3,securityMode:_0x16cfca,securityPolicy:_0x53366b,userIdentityType:_0x19360e,credentials:_0x98938,namespaceAliases:_0x454327}=_0x18572d,_0x55d16e={'endpoint':_0x198ff3,'securityMode':_0x16cfca,'securityPolicy':_0x53366b,'userIdentityType':_0x19360e,'credentials':_0x98938,'namespaceAliases':_0x454327};return _0x55d16e;},_0x156042=()=>{const _0x468147=_0x343d25,_0x4c94cc=$(_0x468147(0x258)),_0x465a68=_0x4c94cc[_0x468147(0x267)](),_0x2c9c2e=_0x5c10a0();if(!_0x2c9c2e)return undefined;const _0x12b97b=_0x2c9c2e['namespaceAliases'];return Object[_0x468147(0x2ca)]({'namespaceAliases':_0x12b97b,'id':_0x465a68},_0x2c9c2e);},_0x2ea153=()=>{return{'endpointNode':_0x156042};},_0x24274d=()=>{const _0xd36426=_0x343d25,_0x5750f5=$('.red-ui-tray-body');console[_0xd36426(0x20c)](_0xd36426(0x253),_0x5750f5['length']);if(_0x5750f5[_0xd36426(0x25b)]){console[_0xd36426(0x20c)](_0xd36426(0x220));const _0x5a301f=$(_0xd36426(0x2b1),{'src':'/opcua-for-node-red/support-frame.html','scrolling':'no','style':'background-color:transparent;overflow:hidden;border:3px','allowtransparency':_0xd36426(0x274),'width':_0xd36426(0x2e4),'height':_0xd36426(0x1f4)});_0x5750f5[_0xd36426(0x21a)](_0x5a301f),_0x5a301f[_0xd36426(0x29a)]({'position':'absolute','right':'20px','bottom':_0xd36426(0x1ee)});}};RED[_0x343d25(0x209)]['registerType']('OpcUa-Client2-Explore',{'category':_0x343d25(0x20a),'color':_0x343d25(0x2e2),'align':_0x343d25(0x242),'icon':'../../icons/opcuanodeLogo.png','paletteLabel':'explore','defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x343d25(0x2a9)},'nodeId':{'value':'','required':![]},'outputType':{'value':_0x343d25(0x1ef),'required':!![]},'excludeEmpty':{'value':![]},'followOrganizes':{'value':![]}},'outputs':0x1,'label'(){const _0x49dda7=_0x343d25;return this[_0x49dda7(0x21f)]||_0x49dda7(0x24b);},'labelStyle'(){const _0x3a060b=_0x343d25;return this[_0x3a060b(0x21f)]?_0x3a060b(0x26f):'';},'oneditprepare'(){const _0x5f1b0d=_0x343d25,_0x4f7706=this;_0x4fd707(),_0x24274d(),_0x4f7706[_0x5f1b0d(0x238)]=0x1;const _0x449130=$(_0x5f1b0d(0x20b));_0x449130[_0x5f1b0d(0x1fe)](Object[_0x5f1b0d(0x2ca)](Object[_0x5f1b0d(0x2ca)]({},_0x2ea153()),{'isSelectable'(_0x3b2664){const _0x37c393=_0x5f1b0d;return _0x3b2664[_0x37c393(0x22b)]===_0x37c393(0x23e)||_0x3b2664[_0x37c393(0x22b)]===_0x37c393(0x272);}}));},'oneditsave'(){}});}()));function _0x3d24(){const _0x24af37=['_createMenu','$elementDiv','addClass','name','installing\x20iframe','$info','top','IsForward','$input','pageY','catch','change','dblclick','\x22}><span\x20class=\x22tree-text\x22\x20title=','target','nodeClass','endpointNode','red-ui-typedInput-icon\x20','nodeId_aliased','Inverse','HasSubtype','nsuNodeID','options','ReferenceType','POST','attr','li[key=\x22','appendTo','inputs','verify','node','already\x20fetched','browseName','_showTypeMenu','Variable','BrowseName','i=61','$menu','right','stopPropagation','statusText','<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20','title','CadetBlue','preventDefault','already\x20loading','ns=0;i=46','OPCUA\x20Explore','statusCode','tabindex','$tree','icon','sterfive-typedInput-options\x20sterfive-online-menu','typeDefinition','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','installFeedbackWidget\x20','sterfive-dropdown','784530IGqEwQ','Good','element','#node-input-endpoint','namespaceAliases','aliasedNodeId','length','references','Forward','filter','removeClass','toString','nodeId:\x20','setMode','data','bp_aliased','SandyBrown','find','val','apply','406rKtSOV','nodeId','645677VDQssi','/browse','value','reset','node_label_italic','currentParent','function','Object','stringify','true','nsu\x20nodeId:\x20','forEach','<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20','widget','referenceTypeId','<div\x20class=\x22sterfive-info-text\x22></div>','toggle','err','Invalid','focus','call','TypeDefinition','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','reference','mousedown','Aliased\x20Browse\x20Path','$combo','<span\x20title=','suppressed','<li\x20key=\x22','$dropdown','1895094llDYmH','fetched','next',':focus','VariableType','click','HasProperty','nodeIds','json','mask-image:\x20url(','20ZGVygb','red-ui-typedInput-icon','DataType','__parentNode','hasClass','pointer-events','css','HasTypeDefinition','each','parentNode','DarkOrange','then','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','>&nbsp;\x20','$toggleTreeBtn','browsePath','grey','SeaGreen','li\x20>\x20.tree-text','prop','displayName','OpcUa-Endpoint2','fa-text-width','text','auto','resolveParentNode','isSelectable','</span>','648128SdldcE','<iframe></iframe>','NodeId','101800nwJGOX','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20','mousedown.red-ui-typedInput-close-property-select','relativePath',');\x20-webkit-mask-image:\x20url(','expandable\x20expanded','trigger','placeholder','closest','disarmClick','application/json','sterfive.nodeBrowser','bp_indexed','aliasedBrowsePath','opc.tcp://opcuademo.sterfive.com:26543','prev','aliased\x20browsePath:\x20','height','ObjectType','off','isTypeRef','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','error','assign','Both','SteelBlue','push','HasComponent','aliased\x20NodeId:\x20','NodeId\x20with\x20namespace\x20Urn','selectedMenuItem','NodeClass','red-ui-typedInput-focus','_initMenu','indexOf','$verifyBtn','hide','BrowsePath','main-wrapper',';\x22></i>\x20','4098582rHvTNZ','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','expandable','$selectLabel','.tree-text:first','localeCompare','statusCode:\x20','#C0DEED','<div>','180px','sort','</span><ul></ul></li>','prependTo','opts','<input\x20type=\x22checkbox\x22>','empty','before','fa-object-group','endpoint','ns=0;i=47','nsu','ns=0;i=40','sterfive-combo-box','sterfive-input-error','/opcua-for-node-red','$selectTrigger','border','sterfive-input-group','View',':visible','SuppressedError','Value\x20is\x20not\x20verified','failure','children','Organizes','5094468DFQjSk','loading','animate','checked','<li>error\x20','\x22\x20style=\x22color:','fa-list-alt','Unspecified','_hideMenu','<i>','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','16px','Value','remove','show','ns=0;i=35','position','30px','string','!!failure!!','Method','replaceWith','HasChild','keydown','<div\x20class=\x22spinner\x22></div>','multiple','blur','nodeBrowser','none','toggleClass','$inputGroup','body','keyCode','><i\x20class=\x22fa\x20','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','match','selected','fa-cog','nodes','opcua','#node-input-nodeId','log','throw','_delay','pageX','label','offset','$uiSelect','Objects','nodeId_nsu','status','left','<div/>','node\x20class:\x20','after','append','expanded'];_0x3d24=function(){return _0x24af37;};return _0x3d24();}
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgzNzRkYzUiLCJfMHhjMWQyY2YiLCJfMHgyZjc4MTMiLCJfMHg1NjFhMGEiLCJfMHg1NTlhMTYiLCJfMHg1Y2I5NTciLCJfMHgyNjFiYmQiLCJfMHgzMDY0M2MiLCJQcm9taXNlIiwiXzB4NTI0Zjk0IiwiXzB4Mjc0NjQyIiwiXzB4MWI5NzliIiwiXzB4MzA1Yzk3IiwiXzB4ZGZlZDUiLCJfMHgyY2E1YjkiLCJfMHgzNzU5ZmEiLCJfMHgyMTIzYzgiLCJfMHg1NjU1OWIiLCJfMHgzM2JjZWMiLCJTdXBwcmVzc2VkRXJyb3IiLCJfMHg1NjMzODEiLCJfMHhkMTZhMmYiLCJfMHg1Y2EzZDEiLCJfMHgzOGI1N2IiLCJFcnJvciIsIl8weDFkYjU5OCIsIl8weDEyMmJhNyIsIl8weDI0NGJkOCIsIl8weDg5YWZmMSIsIl8weDFhMjM0MyIsIl8weDE2NmJmMyIsIl8weDM1MTFiZSIsIl8weDE4NGE1NSIsIl8weDZjYzgxMCIsIl8weGUwNmFjIiwiXzB4NGViNzFjIiwiXzB4MzNiMDdiIiwiXzB4Njg2YzFhIiwiXzB4MWI0MjZiIiwiXzB4NDgwMWUyIiwiXzB4MjVkNjBlIiwiXzB4MzAzNjAiLCJfMHgxM2U1MzciLCJfMHgxN2M5ZmEiLCJfMHgzNDRjYTAiLCJfMHgxYTEyN2QiLCJfMHg4OWRjOWMiLCJfMHgzMTE2NmMiLCJlbmRwb2ludE5vZGUiLCJfMHg1NzRkMjIiLCJlbmRwb2ludCIsIl8weDRiNTNiMiIsImJhc2VVcmwiLCJfMHhiZDZmOTkiLCJfMHgyYTIwMTgiLCJfMHg0ZTZhNjQiLCJfMHgyNmUwODEiLCJfMHgyMWQ5YmYiLCJfMHg0OWE2NmIiLCJPYmplY3QiLCJfMHgzZmFlYjAiLCJmZXRjaCIsIkpTT04iLCJjb25zb2xlIiwiXzB4Mjg3ODVlIiwiXzB4MzMyZjQ1IiwiXzB4MjQxNDg0IiwiXzB4MTRkYWZlIiwiXzB4MzJhN2QyIiwiXzB4MTNjNjBmIiwiXzB4MmRiNzJhIiwiXzB4MmNhNjA3IiwiXzB4MThiNDQ0IiwiXzB4MmZhYzMwIiwibm9kZUlkIiwiXzB4ZmM3NGJmIiwicm9vdE5vZGVJZCIsIl8weDI4MDRmNiIsImlzVHlwZSIsIl8weDVkMTRlMCIsIl8weDU4Y2MyZSIsIl8weDQ4NTU3OCIsIl8weDJlMjQwMCIsIl8weDM5YWU3YSIsIl8weDMxOWE5NyIsIl8weDJjYWFmIiwiXzB4MWViOWQzIiwiXzB4YzgwNWU4IiwiXzB4NWIyNDE5IiwiXzB4MjczNTZiIiwiXzB4MzI4MjNjIiwiXzB4NDhlMmJkIiwiXzB4MjhlNzFmIiwiXzB4MzMzNDI4IiwiXzB4MzFkOWY3IiwiXzB4MWYyNTI1IiwiXzB4MmIyM2YxIiwiXzB4NDBiMzU3IiwiXzB4NWFkZTBiIiwiXzB4ZGFlNDE4IiwiXzB4OTY4NmEwIiwiXzB4NGMxNDE1IiwiXzB4M2JiZWFiIiwiXzB4MTIxZDk3IiwiXzB4NTU2MDMyIiwiXzB4MWI1MTEzIiwiXzB4MzEzZDU0IiwiXzB4MjEyMWE4IiwiXzB4NTI5YTY2IiwiXzB4NDllZjMyIiwiXzB4MzZkYjEwIiwiUkVEIiwiXzB4NGM0MmQzIiwiXzB4MjU0MDZhIiwiXzB4NDM2MTNkIiwiXzB4MjZkMzBjIiwiXzB4Y2YxYTRjIiwiXzB4NTMyYTMwIiwiXzB4M2M2OWU0IiwiXzB4NTdhZmEzIiwiXzB4MzYxN2VhIiwiXzB4MmVmMGJiIiwiXzB4NDFjMTRjIiwiXzB4NDU0YWU4IiwiXzB4M2EyM2NhIiwiXzB4M2M4ZWUzIiwiXzB4MjA4YjIyIiwianNvbiIsIl8weDJkNzM1NyIsImRhdGEiLCJfMHg1ZjJmOTQiLCJfMHgxMmExYWEiLCJfMHgzMmIzNDkiLCJfMHhiNjJjMGIiLCJzZXRUaW1lb3V0IiwiXzB4MzEzMWRmIiwiXzB4NWVlMzJlIiwiXzB4MTg5MDQyIiwiXzB4MzBiZmZhIiwiXzB4MzdmNDY3IiwiXzB4NWE5MGYwIiwiXzB4NGNlZTVmIiwiXzB4NWVjMjA1IiwiXzB4MTE1YTFhIiwiXzB4MjBlYjM3IiwiXzB4MjYxNTQ0IiwiXzB4NTE5NmMyIiwiXzB4MjZjMTc0IiwiXzB4MjA5YzlhIiwiXzB4NWNjMWFiIiwiXzB4MjllYWJlIiwiXzB4ZTM2YjlkIiwiXzB4MmZkYzE2IiwiXzB4MjU0YzgzIiwiXzB4MzRhYWUwIiwiXzB4MjQ3ZWMzIiwiJCIsIl8weDQ2MzNkMCIsIl8weDNhZDExYiIsImljb24iLCJfMHg1OTIzNTYiLCJjb2xvciIsIl8weDNiZjc5ZCIsIl8weDQ2MThhMiIsIl8weDVlMmU1MyIsIl8weDM4NGJlNCIsIl8weDIxMzRjMCIsIl8weDIzYmExNiIsIl8weDUxMmQ5OCIsIl8weDRiNWI4MyIsIl8weDcwODgzNCIsIl8weDNmMTFiMyIsIl8weDQ3ZTVmMiIsIl8weDEyYzRkOCIsIl8weDMzNjgxMCIsIl8weDNkMDUwZSIsIl8weDNmMDIwMSIsIl8weGI0YjhhZCIsIl8weDI4Nzg0YSIsIl8weDFjMzdmYSIsIl8weDNmMzMzMyIsIl8weDQwYjUzOCIsIl8weDNkMzM3NSIsIl8weDFkOGY1ZiIsIl8weDVkMDhlMyIsInVuZGVmaW5lZCIsIl8weDJkNTcyMCIsIl8weDkyOTIxMCIsIl8weDE5ZDBiMSIsIl8weDIwNWI2MyIsIl8weDI0Y2ZmYSIsIl8weDExYTQxZCIsIl8weDFlODUwOCIsIl8weDVkYjljNSIsIl8weDVlMjE0MCIsIl8weDI5ZjE2ZCIsIl8weDI2MDFlYyIsIl8weDJiZjkyYiIsIl8weDJiNDBiMyIsIl8weDI4Nzk1ZCIsInJlZmVyZW5jZXMiLCJfMHgzOTQ4Y2QiLCJfMHhiOTAwNTEiLCJfMHhhYjQ4MjYiLCJfMHgxNmM4OWEiLCJfMHg0OWJhNjQiLCJfMHhjNTY3MWMiLCJfMHgxYjkzYTkiLCJfMHgyZDMyMjIiLCJfMHgxOWRjMTkiLCJfMHg1OWUzZTEiLCJfMHgyMWM1NmQiLCJfMHgzNTExNzYiLCJfMHg1MmFkNDIiLCJfMHgxNzZlYzgiLCJfMHg0NmZkNDkiLCJfMHgyZWJmMzMiLCJfMHg0ZmQ3MDciLCJfMHg1OWM1YzciLCJfMHgyMzlkN2IiLCJfMHg1MjkwODgiLCJfMHgxZGJjZjMiLCJfMHgyOGE4YTQiLCJfMHgyYTRiOGUiLCJfMHgyNGUyZjEiLCJfMHg3MTc0ZTAiLCJfMHg1NTgwNWMiLCJfMHg0NTFkZDQiLCJfMHhhNjFlNzUiLCJfMHgyNGU5MWYiLCJfMHgyNzFhNGYiLCJkb2N1bWVudCIsIl8weDJkMzA0ZiIsIl8weDMzYzJiMCIsIl8weDM2MmQxYyIsIl8weDIzMGFjMCIsIl8weDU0YjViNiIsIl8weDUxNTI5YSIsIl8weDFhYWJjMSIsIl8weGFjNjEwMSIsIl8weDIwMzdmMSIsIl8weDJjNDE2ZiIsIl8weDFjODAyYyIsIl8weDRhZGJjMCIsIl8weGFhOTdmIiwiXzB4MmMxMjhjIiwiXzB4NDBjODVmIiwiXzB4ODg4YmJjIiwiXzB4NDk1ZGQ1IiwiXzB4YzBlNmU0IiwiXzB4MWY4ZTkxIiwid2luZG93IiwiXzB4MmM2ZTIxIiwiXzB4Y2RhMTY1IiwiXzB4NTQ0MjRkIiwiXzB4NTI0NzlmIiwiXzB4NDA2NmVlIiwiXzB4MWExOWVlIiwiXzB4OTUyMjMxIiwiXzB4MmU4MWI3IiwiXzB4YmJhOWVjIiwiXzB4NGE5NmJmIiwiXzB4MjQzNjQ5IiwiXzB4NTVmODg3IiwiXzB4MjVjYjQyIiwiXzB4MWNhMjIyIiwiXzB4MWYwMDgxIiwiXzB4MzkwOTdhIiwiXzB4MmMyMDQ4IiwiXzB4NGNhMDJkIiwiXzB4MmRhM2EwIiwiXzB4MzA2YjliIiwiXzB4NGQ5YmI3IiwiXzB4MTUzNzRlIiwiXzB4M2ZhYWVhIiwiXzB4MTczNWUxIiwiXzB4MzYwNDI1IiwiXzB4MzI4YzU4IiwiXzB4NWE1YTM2IiwiXzB4NDA4ZDU2IiwiXzB4NDJmMGNhIiwiXzB4NTYyMjQzIiwiXzB4NDliNjA1IiwiXzB4MzU0MmFmIiwiXzB4MmE5ZDkyIiwiXzB4NTNjMTcwIiwiXzB4MmVhOWQyIiwiXzB4NDliNzExIiwiXzB4MzU3ZGRjIiwiXzB4M2Y0MjFhIiwiXzB4MjRjYjVmIiwiXzB4OTU4MTIiLCJfMHg1Yjc5MmIiLCJfMHgzNDMwNTEiLCJfMHgzNjFhOWYiLCJfMHgyMzZiOTAiLCJfMHg1MjYyMzciLCJfMHg1ZDYyNWMiLCJfMHg0ODJlYzciLCJfMHhiYzdiYTQiLCJfMHgyNDhhZjciLCJfMHg1YWI4MTUiLCJfMHgyMTdiZjEiLCJfMHhkOGY4NWEiLCJfMHg1ODAxZmEiLCJfMHgzN2ZlN2EiLCJfMHg1YzEwYTAiLCJfMHgxZTVhYzQiLCJfMHhjZGIwNjgiLCJfMHgxODU3MmQiLCJfMHgxOThmZjMiLCJzZWN1cml0eU1vZGUiLCJfMHgxNmNmY2EiLCJzZWN1cml0eVBvbGljeSIsIl8weDUzMzY2YiIsInVzZXJJZGVudGl0eVR5cGUiLCJfMHgxOTM2MGUiLCJjcmVkZW50aWFscyIsIl8weDk4OTM4IiwibmFtZXNwYWNlQWxpYXNlcyIsIl8weDQ1NDMyNyIsIl8weDU1ZDE2ZSIsIl8weDE1NjA0MiIsIl8weDRjOTRjYyIsIl8weDQ2NWE2OCIsIl8weDJjOWMyZSIsIl8weDEyYjk3YiIsIl8weDJlYTE1MyIsIl8weDI0Mjc0ZCIsIl8weDU3NTBmNSIsIl8weDVhMzAxZiIsIl8weDRmNzcwNiIsIl8weDQ0OTEzMCIsIl8weDNiMjY2NCJdLCJtYXBwaW5ncyI6Inl2QkFBQSxDQUFDLFUsQ0FDRyxhLHdCQW1CQSxTQUFTQSxTQUFULENBQW1CQyxTQUFuQixDQUE0QkMsU0FBNUIsQ0FBd0NDLFNBQXhDLENBQTJDQyxTQUEzQyxDLENBQ0ksU0FBU0MsU0FBVCxDQUFlQyxTQUFmLEMsUUFBK0JBLFNBQUEsWUFBaUJILFNBQWpCLENBQXFCRyxTQUFyQixDQUE2QixJQUFJSCxTQUFKLENBQU0sU0FBVUksU0FBVixDLENBQXFCQSxTQUFBLENBQVFELFNBQVIsQyxFQUEzQixDLFNBQ3JELEdBQUssQ0FBQUgsU0FBQSxFQUFNLENBQUFBLFNBQUEsQ0FBSUssT0FBSixDQUFOLENBQUwsQ0FBeUIsU0FBVUMsU0FBVixDQUFtQkMsU0FBbkIsQyx5QkFDNUIsU0FBU0MsU0FBVCxDQUFtQkMsU0FBbkIsQyx5QkFBNEIsRyxDQUFNQyxRQUFBLENBQUtULFNBQUEsQyxnQkFBQSxFQUFlUSxTQUFmLENBQUwsQyxFQUErQixNQUFPRSxTQUFQLEMsQ0FBWUosU0FBQSxDQUFPSSxTQUFQLEMsR0FDN0UsU0FBU0MsU0FBVCxD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QUEsQyxJQXhCaUMsQyxlQTBCNUMsRSwyQkFDVTROLFNBQUEsQ0FBTyxJLENBQ2JsSCxTQUFBLEUsQ0FDQStHLFNBQUEsRSxDQUNBRyxTQUFBLEMsZ0JBQUEsRSxHQUZBLENBR0EsTUFBTUMsU0FBQSxDQUFVaEwsQ0FBQSxDLGdCQUFBLENBQWhCLENBQ0FnTCxTQUFBLEMsZ0JBQUEsRUFBb0JqUixNQUFBLEMsZ0JBQUEsRUFBY0EsTUFBQSxDLGdCQUFBLEVBQWMsRUFBZCxDQUFrQjRRLFNBQUEsRUFBbEIsQ0FBZCxDQUFpRSxDLGNBQUUsQ0FBYU0sU0FBYixDLGtDQUN4RUEsU0FBQSxDLGdCQUFBLEksZ0JBQUEsRUFBcUNBLFNBQUEsQyxnQkFBQSxJLGtCQURpQyxDQUFqRSxDQUFwQixDLEVBaEN3QyxDLFlBb0M1QyxFLEVBcEM0QyxDQUFoRCxDLEVBOWlDSixHIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcbiAgICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxuICAgIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcbiAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcbiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG4gICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sLCBJdGVyYXRvciAqL1xyXG5cclxuXHJcbiAgICBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHtcclxuICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICByZXR1cm4gZS5uYW1lID0gXCJTdXBwcmVzc2VkRXJyb3JcIiwgZS5lcnJvciA9IGVycm9yLCBlLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkLCBlO1xyXG4gICAgfTtcblxuICAgIGNvbnN0IE9yZ2FuaXplc1JlZk5vZGVJZCA9IFwibnM9MDtpPTM1XCI7XG4gICAgY29uc3QgRm9sZGVyVHlwZSA9IFwibnM9MDtpPTYxXCI7XG4gICAgY29uc3QgSGFzQ29tcG9uZW50UmVmTm9kZUlkID0gXCJucz0wO2k9NDdcIjtcbiAgICBjb25zdCBIYXNQcm9wZXJ0eVJlZk5vZGVJZCA9IFwibnM9MDtpPTQ2XCI7XG4gICAgY29uc3QgSGFzQ2hpbGRSZWZOb2RlSWQgPSBcIm5zPTA7aT0zNFwiO1xuICAgIGNvbnN0IEhhc1N1YnR5cGVSZWZOb2RlSWQgPSBcIm5zPTA7aT00NVwiO1xuICAgIGNvbnN0IEhhc1R5cGVEZWZpbml0aW9uUmVmTm9kZUlkID0gXCJucz0wO2k9NDBcIjtcblxuICAgIHZhciBCcm93c2VEaXJlY3Rpb247XG4gICAgKGZ1bmN0aW9uIChCcm93c2VEaXJlY3Rpb24pIHtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkZvcndhcmRcIl0gPSAwXSA9IFwiRm9yd2FyZFwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiSW52ZXJzZVwiXSA9IDFdID0gXCJJbnZlcnNlXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJCb3RoXCJdID0gMl0gPSBcIkJvdGhcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkludmFsaWRcIl0gPSAzXSA9IFwiSW52YWxpZFwiO1xuICAgIH0pKEJyb3dzZURpcmVjdGlvbiB8fCAoQnJvd3NlRGlyZWN0aW9uID0ge30pKTtcbiAgICB2YXIgTm9kZUNsYXNzO1xuICAgIChmdW5jdGlvbiAoTm9kZUNsYXNzKSB7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJVbnNwZWNpZmllZFwiXSA9IDBdID0gXCJVbnNwZWNpZmllZFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiT2JqZWN0XCJdID0gMV0gPSBcIk9iamVjdFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk1ldGhvZFwiXSA9IDRdID0gXCJNZXRob2RcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk9iamVjdFR5cGVcIl0gPSA4XSA9IFwiT2JqZWN0VHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAzMl0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIkRhdGFUeXBlXCJdID0gNjRdID0gXCJEYXRhVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3MgfHwgKE5vZGVDbGFzcyA9IHt9KSk7XG4gICAgdmFyIE5vZGVDbGFzc01hc2s7XG4gICAgKGZ1bmN0aW9uIChOb2RlQ2xhc3NNYXNrKSB7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk9iamVjdFwiXSA9IDFdID0gXCJPYmplY3RcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiTWV0aG9kXCJdID0gNF0gPSBcIk1ldGhvZFwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJPYmplY3RUeXBlXCJdID0gOF0gPSBcIk9iamVjdFR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDMyXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJEYXRhVHlwZVwiXSA9IDY0XSA9IFwiRGF0YVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3NNYXNrIHx8IChOb2RlQ2xhc3NNYXNrID0ge30pKTtcbiAgICB2YXIgUmVzdWx0TWFzaztcbiAgICAoZnVuY3Rpb24gKFJlc3VsdE1hc2spIHtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDFdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIklzRm9yd2FyZFwiXSA9IDJdID0gXCJJc0ZvcndhcmRcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiTm9kZUNsYXNzXCJdID0gNF0gPSBcIk5vZGVDbGFzc1wiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJCcm93c2VOYW1lXCJdID0gOF0gPSBcIkJyb3dzZU5hbWVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiRGlzcGxheU5hbWVcIl0gPSAxNl0gPSBcIkRpc3BsYXlOYW1lXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIlR5cGVEZWZpbml0aW9uXCJdID0gMzJdID0gXCJUeXBlRGVmaW5pdGlvblwiO1xuICAgIH0pKFJlc3VsdE1hc2sgfHwgKFJlc3VsdE1hc2sgPSB7fSkpO1xuICAgIC8vICBjb25zdCBxID0gUmVmZXJlbmNlVHlwZUlkcy5Pcmdhbml6ZXM7XG4gICAgZnVuY3Rpb24gcmVzb2x2ZU5vZGVJZChub2RlSWRMaWtlKSB7XG4gICAgICAgIHN3aXRjaCAobm9kZUlkTGlrZSkge1xuICAgICAgICAgICAgY2FzZSBcIk9yZ2FuaXplc1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBPcmdhbml6ZXNSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzUHJvcGVydHlcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzUHJvcGVydHlSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzQ29tcG9uZW50XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc0NvbXBvbmVudFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNDaGlsZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNDaGlsZFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNTdWJ0eXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1N1YnR5cGVSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzVHlwZURlZmluaXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzVHlwZURlZmluaXRpb25SZWZOb2RlSWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBnZXRJY29uID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHJlZmVyZW5jZS5ub2RlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNhc2UgXCJPYmplY3RcIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gT3JnYW5pemVzUmVmTm9kZUlkKSA7XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS50eXBlRGVmaW5pdGlvbiA9PT0gRm9sZGVyVHlwZSB8fCByZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBcImk9NjFcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWZvbGRlclwiLCBjb2xvcjogXCJyZ2JhKDYxLCA2MCwgNCwgMC41MjUpXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1vYmplY3QtZ3JvdXBcIiwgY29sb3I6IFwiU2VhR3JlZW5cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIlZhcmlhYmxlXCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc0NvbXBvbmVudFJlZk5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIlN0ZWVsQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc1Byb3BlcnR5UmVmTm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiRG9kZ2VyQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIkNhZGV0Qmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcIk1ldGhvZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtY29nXCIsIGNvbG9yOiBcIlNhbmR5QnJvd25cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIk9iamVjdFR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLW9iamVjdC1ncm91cFwiLCBjb2xvcjogXCJEYXJrT3JhbmdlXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJWYXJpYWJsZVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXNsaWRlcnNcIiwgY29sb3I6IFwiRGFya09yYW5nZVwiIH07XG4gICAgICAgICAgICBjYXNlIFwiRGF0YVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXRleHQtd2lkdGhcIiwgY29sb3I6IFwiQ2FkZXRCbHVlXCIgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXF1ZXN0aW9uXCIsIGNvbG9yOiBcImdyZXlcIiB9O1xuICAgIH07XG5cbiAgICBjb25zdCBicm93c2UgPSAoX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBub2RlSWQsIHRlbXBsYXRlKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9icm93c2VgO1xuICAgICAgICBjb25zdCBicm93c2VEZXNjcmlwdGlvbiA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdGVtcGxhdGUpLCB7IG5vZGVJZCwgcmVzdWx0TWFzazogNjMgfSk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIGJyb3dzZURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJmZXRjaGluZyBmYWlsZWQgd2l0aCBlcnJvclwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgICAgIHJldHVybiB7IHJlZmVyZW5jZXM6IFtdIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJicm93c2UgZmV0Y2hlZCA6IFwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IHJlc3BvbnNlLmJyb3dzZVJlc3VsdC5yZWZlcmVuY2VzIHx8IFtdO1xuICAgICAgICByZXR1cm4geyByZWZlcmVuY2VzIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZTEgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIkhhc0NoaWxkXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5WYXJpYWJsZSB8IE5vZGVDbGFzcy5PYmplY3QgfCBOb2RlQ2xhc3MuTWV0aG9kLFxuICAgICAgICAvLyAgTm9kZUNsYXNzLk9iamVjdFR5cGUgfFxuICAgICAgICAvLyAgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLkRhdGFUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlZpZXcsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgY29uc3QgdGVtcGxhdGUyID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJPcmdhbml6ZXNcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlZhcmlhYmxlIHwgTm9kZUNsYXNzLk9iamVjdCB8IE5vZGVDbGFzcy5NZXRob2QsXG4gICAgICAgIC8vICBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8XG4gICAgICAgIC8vICBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuRGF0YVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuVmlldyxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBjb25zdCB3YWxrQmFja3dhcmQgPSAoX2EsIF9iKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIF9iXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCB7IG5vZGVJZCwgcm9vdE5vZGVJZCwgaXNUeXBlIH0pIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L3dhbGstYmFja3dhcmRgO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICAgICAgcm9vdE5vZGVJZCxcbiAgICAgICAgICAgICAgICBpc1R5cGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBqc29uID0gKHlpZWxkIGRhdGEuanNvbigpKTtcbiAgICAgICAgcmV0dXJuIGpzb24uYnJvd3NlUGF0aDtcbiAgICB9KTtcbiAgICBjb25zdCBjaG9vc2VOb2RlSWQgPSAoZGF0YSwgbW9kZSkgPT4ge1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXNDb2RlICE9PSBcIkdvb2RcIikge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGEucmVxdWVzdGVkTm9kZUlkO1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5icF9pbmRleGVkO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuYnBfYWxpYXNlZCB8fCBkYXRhLmJwX2luZGV4ZWQ7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZE5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm5vZGVJZF9hbGlhc2VkIHx8IGRhdGEubm9kZUlkX25zdTtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWRfbnN1O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNhc2UgXCJub2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWQ7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG1ha2VUb29sdGlwID0gKGRhdGEpID0+IHtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzQ29kZSAhPT0gXCJHb29kXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBgc3RhdHVzQ29kZTogJHtkYXRhLnN0YXR1c0NvZGV9YDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxldCBzdHIgPSBbXTtcbiAgICAgICAgICAgIHN0ci5wdXNoKGBub2RlSWQ6ICR7ZGF0YS5ub2RlSWR9YCk7XG4gICAgICAgICAgICBzdHIucHVzaChgYnJvd3NlIHBhdGg6ICR7ZGF0YS5icF9pbmRleGVkfWApO1xuICAgICAgICAgICAgc3RyLnB1c2goYG5vZGUgY2xhc3M6ICR7Tm9kZUNsYXNzW2RhdGEubm9kZUNsYXNzXX1gKTtcbiAgICAgICAgICAgIGlmIChkYXRhLm5vZGVJZF9uc3UpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgbnN1IG5vZGVJZDogJHtkYXRhLm5vZGVJZF9uc3V9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGF0YS5ub2RlSWRfYWxpYXNlZCkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBhbGlhc2VkIE5vZGVJZDogJHtkYXRhLm5vZGVJZF9hbGlhc2VkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGEuYnBfaW5kZXhlZCkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBhbGlhc2VkIGJyb3dzZVBhdGg6ICR7ZGF0YS5icF9hbGlhc2VkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHN0ci5qb2luKFwiXFxuXCIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBmdW5jdGlvbiBmaWd1cmVPdXRNb2RlKGVuaGFuY2VkTm9kZUlkKSB7XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXm5zdT0vKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwibnN1Tm9kZUlEXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKG5zPS4qOyk/KGl8YnxzfGcpPS8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJub2RlSWRcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL15uc2E9LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImFsaWFzZWROb2RlSWRcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14oXFwvfFxcLilbMC05XSs6LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14oXFwvfFxcLikuKjovKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYnJvd3NlUGF0aFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZpZ3VyZU91dE1lblVJdGVtVmFsdWUoc3RyKSB7XG4gICAgICAgIGNvbnN0IG1vZGUgPSBmaWd1cmVPdXRNb2RlKHN0cik7XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcIm5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkTm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibmFcIjtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuc3VcIjtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYlwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYWJcIjtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwidFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHRvTW9kZSh2KSB7XG4gICAgICAgIGxldCBtb2RlO1xuICAgICAgICBzd2l0Y2ggKHYpIHtcbiAgICAgICAgICAgIGNhc2UgXCJuXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwibm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibmFcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJhbGlhc2VkTm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibnN1XCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwibnN1Tm9kZUlEXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiYlwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJhYlwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImFsaWFzZWRCcm93c2VQYXRoXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1vZGU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZyb21Nb2RlKG1vZGUpIHtcbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwibm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiblwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWROb2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuYVwiO1xuICAgICAgICAgICAgY2FzZSBcIm5zdU5vZGVJRFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5zdVwiO1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJiXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZEJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJhYlwiO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJ0XCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgX2NhbGxDaGVja05vZGVJZCA9IChfYSwgbm9kZUlkXzEpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgbm9kZUlkXzFdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIG5vZGVJZCkge1xuICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZm9yLW5vZGUtcmVkYDtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vY2hlY2tOb2RlSWRgO1xuICAgICAgICBjb25zdCBlSWQgPSBlbmRwb2ludE5vZGUuaWQ7XG4gICAgICAgIGNvbnN0IG4gPSBSRUQubm9kZXMubm9kZShlSWQpO1xuICAgICAgICBjb25zb2xlLmxvZyhuLm5hbWVzcGFjZUFsaWFzZXMpO1xuICAgICAgICBuLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZUFsaWFzZXMgPSBlbmRwb2ludE5vZGUubmFtZXNwYWNlQWxpYXNlcztcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgICAgIG5hbWVzcGFjZUFsaWFzZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGpzb24gPSAoeWllbGQgZGF0YS5qc29uKCkpO1xuICAgICAgICByZXR1cm4geyBqc29uLCBkYXRhIH07XG4gICAgfSk7XG4gICAgY29uc3QgaW50ZXJuYWxWZXJpZnkgPSAoX2EsIG1vZGVfMSwgJGlucHV0RWxlbWVudF8xLCAkaW5mb18xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG1vZGVfMSwgJGlucHV0RWxlbWVudF8xLCAkaW5mb18xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBtb2RlLCAkaW5wdXRFbGVtZW50LCAkaW5mbykge1xuICAgICAgICBjb25zdCBlbmhhbmNlZE5vZGVJZCA9ICRpbnB1dEVsZW1lbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IHsganNvbiwgZGF0YSB9ID0geWllbGQgX2NhbGxDaGVja05vZGVJZCh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgZW5oYW5jZWROb2RlSWQpO1xuICAgICAgICBjb25zdCBzZXROb3RpZmljYXRpb24gPSAodGV4dCwgY2xhc3NOYW1lKSA9PiB7XG4gICAgICAgICAgICAkaW5mby50ZXh0KHRleHQpLmFkZENsYXNzKFwic3RlcmZpdmUtaW5mb1wiKS5hZGRDbGFzcyhjbGFzc05hbWUpO1xuICAgICAgICAgICAgJGluZm8uc2hvdygpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgJGluZm8ucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICAkaW5mby5oaWRlKCk7XG4gICAgICAgICAgICB9LCAzMDAwKTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZztcbiAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihcIiEhZmFpbHVyZSEhXCIgKyBlbmhhbmNlZE5vZGVJZCwgXCJmYWlsdXJlXCIpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGpzb24uc3RhdHVzQ29kZS5tYXRjaCgvR29vZC8pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9vbHRpcCA9IG1ha2VUb29sdGlwKGpzb24pO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQuYXR0cihcInRpdGxlXCIsIHRvb2x0aXApO1xuICAgICAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZ1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZUlkID0gY2hvb3NlTm9kZUlkKGpzb24sIG1vZGUpO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQudmFsKHNlbGVjdGVkTm9kZUlkKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKFwiR29vZFwiLCBcIm9rXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC52YWwoYCR7ZW5oYW5jZWROb2RlSWR9YCk7XG4gICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKGAke2pzb24uc3RhdHVzQ29kZX0gJHtkYXRhLnN0YXR1c1RleHR9YCwgXCJmYWlsdXJlXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGZ1bmN0aW9uIGZldGNoQ2hpbGRyZW4oJG5vZGUsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVJZCA9ICRub2RlLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDEgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZTEpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MiA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlMik7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFsuLi5icm93c2VSZXN1bHQxLnJlZmVyZW5jZXMsIC4uLmJyb3dzZVJlc3VsdDIucmVmZXJlbmNlc10sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgdGVtcGxhdGVTVCA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiSGFzU3VidHlwZVwiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8IE5vZGVDbGFzcy5PYmplY3RUeXBlIHwgTm9kZUNsYXNzLkRhdGFUeXBlIHwgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBmdW5jdGlvbiBmZXRjaFN1YnR5cGVzKCRub2RlLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlSWQgPSAkbm9kZS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQxID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGVTVCk7XG4gICAgICAgICAgICByZXR1cm4gYnJvd3NlUmVzdWx0MTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IG1ha2VFbGVtZW50ID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgICAgIGlmICghcmVmZXJlbmNlIHx8ICFyZWZlcmVuY2Uubm9kZUlkKSB7XG4gICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9ICQoYDxsaT48aSBjbGFzcz1cImZhIGZhLWVycm9yXCIgc3R5bGU9XCJjb2xvcjpyZWQ7XCI+PC9pPm5vIHJlZmVyZW5jZSAhPHVsPjwvdWw+PC9saT5gKTtcbiAgICAgICAgICAgIHJldHVybiAkZWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuID0gcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB0ID0gKChfYSA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRleHQpIHx8ICgoX2IgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgeyBpY29uLCBjb2xvciB9ID0gZ2V0SWNvbihyZWZlcmVuY2UpO1xuICAgICAgICBjb25zdCB0aXRsZSA9IGAoJHtyZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCl9KSAkeygoX2MgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLm5hbWUpIHx8ICgoX2QgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC50ZXh0KSB8fCBcIlwifWA7XG4gICAgICAgIGNvbnN0ICRlbGVtZW50ID0gJChgPGxpIGtleT1cIiR7cmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpfVwifT48c3BhbiBjbGFzcz1cInRyZWUtdGV4dFwiIHRpdGxlPSR7dGl0bGV9PjxpIGNsYXNzPVwiZmEgJHtpY29ufVwiIHN0eWxlPVwiY29sb3I6JHtjb2xvcn07XCI+PC9pPiAke3R9PC9zcGFuPjx1bD48L3VsPjwvbGk+YCk7XG4gICAgICAgICRlbGVtZW50LmFkZENsYXNzKFwiZXhwYW5kYWJsZVwiKTtcbiAgICAgICAgJGVsZW1lbnQuZGF0YShcInZhbHVlXCIsIG4pO1xuICAgICAgICAkZWxlbWVudC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgIHJldHVybiAkZWxlbWVudDtcbiAgICB9O1xuICAgIGNvbnN0IGZpbmRFbGVtZW50ID0gKG5vZGVJZCwgJHRyZWUpID0+IHtcbiAgICAgICAgcmV0dXJuICR0cmVlLmZpbmQoYGxpW2tleT1cIiR7bm9kZUlkfVwiXWApO1xuICAgIH07XG4gICAgY29uc3Qgc2VsZWN0U2luZ2xlID0gKHRoYXQsICRsaSkgPT4ge1xuICAgICAgICB0aGF0LiR0cmVlLmZpbmQoXCJsaSA+IC50cmVlLXRleHRcIikucmVtb3ZlQ2xhc3MoXCJzZWxlY3RlZFwiKTtcbiAgICAgICAgLy8gY2xlYXIgYWxsIHNlbGVjdGVkIGl0ZW1zXG4gICAgICAgICRsaS5maW5kKFwiLnRyZWUtdGV4dDpmaXJzdFwiKS5hZGRDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgIH07XG4gICAgY29uc3QgYXV0b0V4cGFuZCA9ICh0aGF0LCBicm93c2VQYXRoLCAkdHJlZSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIC8vIGV4cGFuZCB0aGUgdHJlZSB0byBzaG93IHRoZSBub2RlSWRcbiAgICAgICAgbGV0ICRjdXJyZW50ID0gJHRyZWUuY2hpbGRyZW4oXCI6Zmlyc3RcIik7XG4gICAgICAgIGJyb3dzZVBhdGgucmVsYXRpdmVQYXRoLmVsZW1lbnRzIHx8IFtdO1xuICAgICAgICBjb25zdCBub2RlSWRzID0gYnJvd3NlUGF0aC5ub2RlSWRzIHx8IFtdO1xuICAgICAgICBpZiAobm9kZUlkcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG4gb2Ygbm9kZUlkcykge1xuICAgICAgICAgICAgaWYgKCRjdXJyZW50Lmhhc0NsYXNzKFwiZXhwYW5kYWJsZVwiKSkge1xuICAgICAgICAgICAgICAgIC8vIG5lZWQgdG8gZXhwYW5kIGFuZCBzZWxlY3QgdGhlIHJpZ2h0IGVsZW1lbnRcbiAgICAgICAgICAgICAgICB5aWVsZCBfZXhwYW5kTGkodGhhdCwgJGN1cnJlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBmaW5kRWxlbWVudChuLCAkY3VycmVudCk7XG4gICAgICAgICAgICBpZiAoJGVsZW1lbnQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGN1cnJlbnQgPSAkZWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBzZWxlY3RTaW5nbGUodGhhdCwgJGN1cnJlbnQpO1xuICAgICAgICBzY3JvbGxUb0xpKHRoYXQuJGRyb3Bkb3duLCAkY3VycmVudCk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gc2Nyb2xsVG9MaSgkY29udGFpbmVyLCAkdGFyZ2V0TGkpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgdGFyZ2V0IGl0ZW0gcmVsYXRpdmUgdG8gaXRzIGNvbnRhaW5lclxuICAgICAgICBjb25zdCBsaVBvcyA9ICR0YXJnZXRMaS5wb3NpdGlvbigpLnRvcDtcbiAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgY29udGFpbmVyXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclNjcm9sbFRvcCA9ICRjb250YWluZXIuc2Nyb2xsVG9wKCk7XG4gICAgICAgIGlmIChjb250YWluZXJTY3JvbGxUb3AgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBwb3NpdGlvbiB0byBzY3JvbGwgdG8gKGN1cnJlbnQgc2Nyb2xsICsgaXRlbSdzIHBvc2l0aW9uKVxuICAgICAgICAvLyBBZGp1c3QgdGhpcyBjYWxjdWxhdGlvbiBiYXNlZCBvbiB5b3VyIG5lZWRzXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvID0gY29udGFpbmVyU2Nyb2xsVG9wICsgbGlQb3MgLSAkY29udGFpbmVyLmhlaWdodCgpIC8gMiArICR0YXJnZXRMaS5oZWlnaHQoKSAvIDI7XG4gICAgICAgIC8vIFNjcm9sbCB0aGUgY29udGFpbmVyIHRvIGVuc3VyZSB0aGUgaXRlbSBpcyB2aXNpYmxlXG4gICAgICAgICRjb250YWluZXIuYW5pbWF0ZSh7XG4gICAgICAgICAgICBzY3JvbGxUb3A6IHNjcm9sbFRvLFxuICAgICAgICB9LCA1MDApOyAvLyBBZGp1c3QgdGhlIGR1cmF0aW9uICg1MDBtcykgYXMgbmVlZGVkXG4gICAgfVxuICAgIGNvbnN0IHJlYWNoU2VsZWN0aW9uID0gKHRoYXQsIHBhcmVudE5vZGUpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCBub2RlSWQgPSB0aGF0LiRpbnB1dC52YWwoKTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgIHJvb3ROb2RlSWQ6IHBhcmVudE5vZGUubm9kZUlkLFxuICAgICAgICAgICAgaXNUeXBlOiB0aGF0Lm9wdGlvbnMuaXNUeXBlUmVmIHx8IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgIGNvbnN0IGJyb3dzZVBhdGggPSB5aWVsZCB3YWxrQmFja3dhcmQoZGF0YSwgb3B0aW9ucyk7XG4gICAgICAgIGlmICghYnJvd3NlUGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHlpZWxkIGF1dG9FeHBhbmQodGhhdCwgYnJvd3NlUGF0aCwgdGhhdC4kdHJlZSk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJG5vZGUsIGZldGNoRnVuYywgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgaWYgKCRub2RlLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYWxyZWFkeSBmZXRjaGVkXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgkbm9kZS5oYXNDbGFzcyhcImxvYWRpbmdcIikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImFscmVhZHkgbG9hZGluZ1wiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5hZGRDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgICAgICAkbm9kZS5hcHBlbmQoJzxkaXYgY2xhc3M9XCJzcGlubmVyXCI+PC9kaXY+Jyk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuZW1wdHkoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHJlZmVyZW5jZXMgfSA9IHlpZWxkIGZldGNoRnVuYygkbm9kZSwgZGF0YSk7XG4gICAgICAgICAgICAgICAgLy8gc29ydCByZWZlcmVuY2UgICBieSBicm93c2VOYW1lXG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlcy5zb3J0KChhLCBiKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoKChfYSA9IGEuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm5hbWUpIHx8IFwiXCIpLmxvY2FsZUNvbXBhcmUoKChfYiA9IGIuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IFwiXCIpOyB9KTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHJlZmVyZW5jZSBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Lm9wdGlvbnMuZmlsdGVyICYmICF0aGF0Lm9wdGlvbnMuZmlsdGVyKHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gbWFrZUVsZW1lbnQocmVmZXJlbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgJG5vZGUuY2hpbGRyZW4oXCJ1bFwiKS5hcHBlbmQoJGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkbm9kZS5hZGRDbGFzcyhcImZldGNoZWRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgJG5vZGUuY2hpbGRyZW4oXCJ1bFwiKS5hcHBlbmQoYDxsaT5lcnJvciAke2Vyci5tZXNzYWdlfTwvbGk+YCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJcIiwgZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRub2RlLmZpbmQoXCIuc3Bpbm5lclwiKS5yZW1vdmUoKTtcbiAgICAgICAgICAgICRub2RlLnJlbW92ZUNsYXNzKFwibG9hZGluZ1wiKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG1ha2VDb25uZWN0aW9uKHRoYXQpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIGJhc2VVcmw6IHRoYXQub3B0aW9ucy5iYXNlVXJsLFxuICAgICAgICAgICAgZW5kcG9pbnROb2RlOiB0eXBlb2YgdGhhdC5vcHRpb25zLmVuZHBvaW50Tm9kZSA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLmVuZHBvaW50Tm9kZSgpIDogdGhhdC5vcHRpb25zLmVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB0eXBlb2YgdGhhdC5vcHRpb25zLmVuZHBvaW50ID09PSBcImZ1bmN0aW9uXCIgPyB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQoKSA6IHRoYXQub3B0aW9ucy5lbmRwb2ludCxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICAgIGZ1bmN0aW9uIF9leHBhbmRMaSh0aGF0LCAkbGkpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGlmICgkbGkuaGFzQ2xhc3MoXCJmZXRjaGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZldGNoIG5ldyBkYXRhIGZvciB0aGlzIG5vZGVcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgIGNvbnN0IGYgPSAhdGhhdC5vcHRpb25zLmlzVHlwZVJlZiA/IGZldGNoQ2hpbGRyZW4gOiBmZXRjaFN1YnR5cGVzO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB5aWVsZCBfZmV0Y2hEYXRhRm9yTm9kZSh0aGF0LCAkbGksIGYsIGRhdGEpO1xuICAgICAgICAgICAgICAgIC8vIG1hcmsgYXMgZXhwYW5kZWRcbiAgICAgICAgICAgICAgICAkbGkucmVtb3ZlQ2xhc3MoXCJleHBhbmRhYmxlXCIpLmFkZENsYXNzKFwiZXhwYW5kZWRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGRlZmF1bHRQYXJlbnROb2RlID0ge1xuICAgICAgICBicm93c2VOYW1lOiB7IG5hbWVzcGFjZUluZGV4OiAwLCBuYW1lOiBcIk9iamVjdHNcIiB9LFxuICAgICAgICBub2RlQ2xhc3M6IFwiT2JqZWN0XCIsXG4gICAgICAgIG5vZGVJZDogXCJucz0wO2k9ODVcIixcbiAgICAgICAgZGlzcGxheU5hbWU6IHsgdGV4dDogXCJPYmplY3RzXCIgfSxcbiAgICAgICAgdHlwZURlZmluaXRpb246IEZvbGRlclR5cGUsXG4gICAgfTtcbiAgICBjb25zdCBkZWNsYXJlTm9kZUJyb3dzZXJXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBbIFRlbXBlcmF0dXJlICBdXG4gICAgICAgICAqICAgKCB0b29sdGlwIDogKC9PYmplY3RzL015U2Vuc29yKSAobnM9MTtzPVRlbXBlcmF0dXJlKSlcbiAgICAgICAgICogWyArIFtGb2xkZXJdIE9iamVjdHNdXG4gICAgICAgICAqIFsgICAgIFtPYmplY3RdIE15U2Vuc29yXVxuICAgICAgICAgKiBbICAgICAoICkgW1ZhcmlhYmxlXSBUZW1wZXJhdHVyZV1cbiAgICAgICAgICovXG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubm9kZUJyb3dzZXJcIiwge1xuICAgICAgICAgICAgLyogZGVmYXVsdCBvcHRpb25zICovXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiAoKSA9PiAoeyBlbmRwb2ludDogXCJvcGMudGNwOi8vb3BjdWFkZW1vLnN0ZXJmaXZlLmNvbToyNjU0M1wiIH0pLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50OiAoKSA9PiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgcGFyZW50Tm9kZTogKCkgPT4gZGVmYXVsdFBhcmVudE5vZGUsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICAgICAgaXNUeXBlUmVmOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNvbHZlUGFyZW50Tm9kZSgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQuX19wYXJlbnROb2RlID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IHR5cGVvZiB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZSA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLnBhcmVudE5vZGUuY2FsbCh0aGF0KSA6IHRoYXQub3B0aW9ucy5wYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGEgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVzYyA9IHlpZWxkIGE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fX3BhcmVudE5vZGUgPSBkZXNjO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fX3BhcmVudE5vZGUgPSBhO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGF0Ll9fcGFyZW50Tm9kZSB8fCBkZWZhdWx0UGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNldCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgLy8gYWxzbyByZXNldCBwYXJlbnQgbm9kZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gdGhhdDtcbiAgICAgICAgICAgICAgICAgICAgYS5fX3BhcmVudE5vZGUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUuZW1wdHkoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IHlpZWxkIHRoaXMucmVzb2x2ZVBhcmVudE5vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBtYWtlRWxlbWVudChwYXJlbnROb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5hcHBlbmQoJGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LmN1cnJlbnRQYXJlbnQgPSBwYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZlcmlmeShtb2RlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgICAgICBpbnRlcm5hbFZlcmlmeShkYXRhLCBtb2RlLCB0aGF0LiRpbnB1dCwgdGhhdC4kaW5mbykudGhlbigoc3VjY2VzcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwic3RlcmZpdmUtaW5wdXQtZXJyb3JcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5yZW1vdmVDbGFzcyhcInN0ZXJmaXZlLWlucHV0LWVycm9yXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2hpZGVNZW51KG1lbnUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtY2xvc2UtcHJvcGVydHktc2VsZWN0XCIpO1xuICAgICAgICAgICAgICAgIG1lbnUuaGlkZSgpO1xuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcImF1dG9cIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAobWVudS5vcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBtZW51LmZpbmQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXScpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZC5wdXNoKCQodGhpcykuZGF0YShcInZhbHVlXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIG1lbnUuY2FsbGJhY2soc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhhdC4kZWxlbWVudERpdi5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgLy94eCB9IGVsc2UgaWYgKHRoaXMuJG9wdGlvblNlbGVjdFRyaWdnZXIuaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAvL3h4ICAgICB0aGF0LiRvcHRpb25TZWxlY3RUcmlnZ2VyLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlTWVudShtZW51T3B0aW9ucywgb3B0cywgY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVudSA9ICQoXCI8ZGl2PlwiKS5hZGRDbGFzcyhcInN0ZXJmaXZlLXR5cGVkSW5wdXQtb3B0aW9ucyBzdGVyZml2ZS1vbmxpbmUtbWVudVwiKTtcbiAgICAgICAgICAgICAgICBtZW51Lm9wdHMgPSBvcHRzO1xuICAgICAgICAgICAgICAgIG1lbnUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICAgICAgICAgICAgICBtZW51T3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdCA9IHsgdmFsdWU6IG9wdCwgbGFiZWw6IG9wdCB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZhciBvcCA9ICQoJzxhIGhyZWY9XCIjXCI+PC9hPicpLmF0dHIoXCJ2YWx1ZVwiLCBvcHQudmFsdWUpLmFwcGVuZFRvKG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0LmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC50ZXh0KG9wdC5sYWJlbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AucHJvcChcInRpdGxlXCIsIG9wdC50aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0Lmljb24uaW5kZXhPZihcIjxcIikgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKG9wdC5pY29uKS5wcmVwZW5kVG8ob3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAob3B0Lmljb24uaW5kZXhPZihcIi9cIikgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIjxpPlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiBcInJlZC11aS10eXBlZElucHV0LWljb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IFwibWFzay1pbWFnZTogdXJsKFwiICsgb3B0Lmljb24gKyBcIik7IC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiICsgb3B0Lmljb24gKyBcIik7XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCI8aT5cIiwgeyBjbGFzczogXCJyZWQtdWktdHlwZWRJbnB1dC1pY29uIFwiICsgb3B0Lmljb24gfSkucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLmNzcyh7IHBhZGRpbmdMZWZ0OiBcIjE4cHhcIiB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdC5pY29uICYmICFvcHQubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLnRleHQob3B0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YXIgY2I7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYiA9ICQoJzxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIj4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jc3MoXCJwb2ludGVyLWV2ZW50c1wiLCBcIm5vbmVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGF0YShcInZhbHVlXCIsIG9wdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJlcGVuZFRvKG9wKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcIm1vdXNlZG93blwiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvcC5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sob3B0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiLnByb3AoXCJjaGVja2VkXCIsICFjYi5wcm9wKFwiY2hlY2tlZFwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbWVudS5vbihcImtleWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXZ0LmtleUNvZGUgPT09IDQwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERPV05cbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuY2hpbGRyZW4oXCI6Zm9jdXNcIikubmV4dCgpLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldnQua2V5Q29kZSA9PT0gMzgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVVBcbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuY2hpbGRyZW4oXCI6Zm9jdXNcIikucHJldigpLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldnQua2V5Q29kZSA9PT0gMjcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVTQ0FQRVxuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lbnU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGlzYXJtQ2xpY2s6IGZhbHNlLFxuICAgICAgICAgICAgX3Nob3dNZW51KG1lbnUsIHJlbGF0aXZlVG8pIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNhcm1DbGljaykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FybUNsaWNrID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHZhciBwb3MgPSByZWxhdGl2ZVRvLm9mZnNldCgpO1xuICAgICAgICAgICAgICAgIHZhciBoZWlnaHQgPSByZWxhdGl2ZVRvLmhlaWdodCgpO1xuICAgICAgICAgICAgICAgIHZhciBtZW51SGVpZ2h0ID0gbWVudS5oZWlnaHQoKTtcbiAgICAgICAgICAgICAgICB2YXIgdG9wID0gaGVpZ2h0ICsgcG9zLnRvcDtcbiAgICAgICAgICAgICAgICBpZiAodG9wICsgbWVudUhlaWdodCAtICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpID4gJCh3aW5kb3cpLmhlaWdodCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcCAtPSB0b3AgKyBtZW51SGVpZ2h0IC0gJCh3aW5kb3cpLmhlaWdodCgpICsgNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRvcCA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbWVudS5oZWlnaHQobWVudUhlaWdodCArIHRvcCk7XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB0b3AgKyBcInB4XCIsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHBvcy5sZWZ0ICsgXCJweFwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUuc2xpZGVEb3duKDEwMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVsYXkoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcIm1vdXNlZG93bi5yZWQtdWktdHlwZWRJbnB1dC1jbG9zZS1wcm9wZXJ0eS1zZWxlY3RcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KG1lbnUpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2hpZGVNZW51KG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHJlbGF0aXZlVG8pLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuZGlzYXJtQ2xpY2sgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9zaG93VHlwZU1lbnUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd01lbnUodGhhdC4kbWVudSwgdGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0eXBlID0gdGhhdC5zZWxlY3RlZE1lbnVJdGVtO1xuICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZCA9IHRoYXQuJG1lbnUuZmluZChcIlt2YWx1ZT0nXCIgKyB0eXBlICsgXCInXCIpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZC50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgfSwgMTIwKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfaW5pdE1lbnUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5hdHRyKFwidGFiaW5kZXhcIiwgLTEpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIub24oXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtZm9jdXMtYmxvY2tcIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAodGhhdC4kbWVudSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRtZW51LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBmYS1pZC1jYXJkXG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZUxpc3QgPSBbXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwidGV4dFwiLCB2YWx1ZTogXCJ0XCIsIHRpdGxlOiBcIlZhbHVlIGlzIG5vdCB2ZXJpZmllZFwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1mb250XCIvaT4gJyB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJtc2cuXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJtc2dcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIm5vZGUgaWQgb3IgIGJyb3dzZSBwYXRoIGNvbWVzIGZyb20gaW5qZWN0ZWQgbXNnIHBhcmFtZXRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtZW52ZWxvcGUtb3Blbi1vXCIvPicsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiTm9kZUlkXCIsIHZhbHVlOiBcIm5cIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtdGFnXCIvPjEgJm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJBbGlhc2VkIE5vZGVJZFwiLCB2YWx1ZTogXCJuYVwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1ib29rbWFya1wiLz4mbmJzcDsgJyB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIk5vZGVJZCB3aXRoIG5hbWVzcGFjZSBVcm5cIiwgdmFsdWU6IFwibnN1XCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWlkLWNhcmRcIi8+Jm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJCcm93c2VQYXRoXCIsIHZhbHVlOiBcImJcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtdGFnXCIvPjxpIGNsYXNzPVwiZmEgZmEtZmlnaHRlci1qZXRcIi8+Jm5ic3A7JyB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJBbGlhc2VkIEJyb3dzZSBQYXRoXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJhYlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtYm9va21hcmtcIi8+PGkgY2xhc3M9XCJmYSBmYS1maWdodGVyLWpldFwiLz4mbmJzcDsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgY29uc3QgYSA9IGZpZ3VyZU91dE1lblVJdGVtVmFsdWUodGhhdC4kaW5wdXQudmFsKCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSB0eXBlTGlzdC5maW5kKCh4KSA9PiB4LnZhbHVlID09PSBhKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbC5lbXB0eSgpLmFwcGVuZChgPHNwYW4gdGl0bGU9JHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRpdGxlKSB8fCBcIlwifT4mbmJzcDsgJHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLmljb24pIHx8IFwiXCJ9PC9zcGFuPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuc2VsZWN0ZWRNZW51SXRlbSA9IGE7XG4gICAgICAgICAgICAgICAgY29uc3QgdHQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUgPSB0aGlzLl9jcmVhdGVNZW51KHR5cGVMaXN0LCB7fSwgKHYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9kZSA9IHRvTW9kZSh2KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9uIE1lbnUgc2VsZWN0ZWQgIVxuICAgICAgICAgICAgICAgICAgICAgICAgdHQudmVyaWZ5KG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGUgPSB0eXBlTGlzdC5maW5kKCh4KSA9PiB4LnZhbHVlID09PSB2KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5zZWxlY3RlZE1lbnVJdGVtID0gdjtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwuZW1wdHkoKS5hcHBlbmQoYDxzcGFuIHRpdGxlPSR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50aXRsZSkgfHwgXCJcIn0+Jm5ic3A7ICR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS5pY29uKSB8fCBcIlwifTwvc3Bhbj5gKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51LmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUuaGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIuc2hvdygpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1vZGUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRvTW9kZSh0aGF0LnNlbGVjdGVkTWVudUl0ZW0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldE1vZGUobW9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IHMgPSBmcm9tTW9kZShtb2RlKTtcbiAgICAgICAgICAgICAgICB0aGF0LnNlbGVjdGVkTWVudUl0ZW0gPSBzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9jcmVhdGUoKSB7XG4gICAgICAgICAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQgPSB0aGlzLmVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuY3NzKFwiYm9yZGVyXCIsIFwibm9uZVwiKTtcbiAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0XCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGVsZW1lbnREaXYgPSB0aGF0LiRpbnB1dC53cmFwKFwiPGRpdj5cIikucGFyZW50KCkuYWRkQ2xhc3MoXCJtYWluLXdyYXBwZXJcIik7XG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiBDb21ibyBicm93c2VyXG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8gPSAkKFwiPGRpdi8+XCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwic3RlcmZpdmUtY29tYm8tYm94XCIpO1xuICAgICAgICAgICAgICAgIC8vIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtaW5wdXQtd3JhcFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5yZXBsYWNlV2l0aCh0aGF0LiRjb21ibyk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cCA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS1pbnB1dC1ncm91cFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hcHBlbmQodGhhdC4kaW5wdXRHcm91cCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cC5hcHBlbmQodGhhdC4kaW5wdXQpO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIGFkZCBidXR0b24gb24gdGhlIHJpZ2h0IHNpZGVcbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHRvZ2dsZVRyZWVCdG5cbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuID0gJChgPGJ1dHRvbiB0aXRsZT1cIm9wZW4gT1BDVUEgQWRkcmVzc1NwYWNlIEJyb3dzZXJcIj48aSBjbGFzcz1cImZhIGZhLXNpdGVtYXBcIj48L2k+PC9idXR0b24+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYWZ0ZXIodGhhdC4kdG9nZ2xlVHJlZUJ0bik7XG4gICAgICAgICAgICAgICAgdGhhdC4kdG9nZ2xlVHJlZUJ0bi5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZWVkVG9SZWFjaFNlbGVjdGlvbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoYXQuJGRyb3Bkb3duLmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmVlIHdpZGdldCBpcyBnb2luZyB0byBiZWNvbWUgdmlzaWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE5vZGUgPSB5aWVsZCB0aGF0LnJlc29sdmVQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmVudE5vZGUgIT09IHRoYXQuY3VycmVudFBhcmVudCB8fCAoKF9hID0gdGhhdC5jdXJyZW50UGFyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Eubm9kZUlkKSAhPT0gcGFyZW50Tm9kZS5ub2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgdGhhdC5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkVG9SZWFjaFNlbGVjdGlvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRUb1JlYWNoU2VsZWN0aW9uICYmICh5aWVsZCByZWFjaFNlbGVjdGlvbih0aGF0LCBwYXJlbnROb2RlKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHZlcmlmeUJ0blxuICAgICAgICAgICAgICAgIHRoYXQuJHZlcmlmeUJ0biA9ICQoYDxidXR0b24gdGl0bGU9XCJ2ZXJpZnkgbm9kZUlkIG9yIGJyb3dzZVBhdGhcIj48aSBjbGFzcz1cImZhIGZhLXJlZnJlc2hcIj48L2k+PC9idXR0b24+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYWZ0ZXIodGhhdC4kdmVyaWZ5QnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnkobW9kZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICBjb25zdCBub3JtYWxpemVJbnB1dCA9IChpbnB1dCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb25uZWN0aW9uRGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGEsIGpzb24gfSA9IHlpZWxkIF9jYWxsQ2hlY2tOb2RlSWQoY29ubmVjdGlvbkRhdGEsIGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoanNvbi5zdGF0dXNDb2RlLm1hdGNoKC9Hb29kLykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZUlkID0gY2hvb3NlTm9kZUlkKGpzb24sIG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudmFsKHNlbGVjdGVkTm9kZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAvLyBjcmVhdGUgdGhlIHByZXBlbmRlZCBidXR0b25cbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0ID0gJChcIjxkaXY+XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5iZWZvcmUodGhhdC4kdWlTZWxlY3QpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyID0gJCgnPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCI+PC9idXR0b24+JykucHJlcGVuZFRvKHRoYXQuJHVpU2VsZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgJCgnPGkgY2xhc3M9XCJyZWQtdWktdHlwZWRJbnB1dC1pY29uIGZhIGZhLWNhcmV0LWRvd25cIj48L2k+JykudG9nZ2xlKHRydWUpLmFwcGVuZFRvKHRoYXQuJHNlbGVjdFRyaWdnZXIpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9zaG93VHlwZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImtleWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2dC5rZXlDb2RlID09PSA0MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvd25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9zaG93VHlwZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImZvY3VzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJibHVyXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhciBvcHQgPSB0aGF0LnR5cGVNYXBbdGhhdC5wcm9wZXJ0eVR5cGVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgKG9wdC5oYXNWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LnJlbW92ZUNsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbCA9ICQoJzxzcGFuIGNsYXNzPVwicmVkLXVpLXR5cGVkSW5wdXQtdHlwZS1sYWJlbFwiPjwvc3Bhbj4nKS5hcHBlbmRUbyh0aGF0LiRzZWxlY3RUcmlnZ2VyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5faW5pdE1lbnUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoYXQuJGlucHV0LmF0dHIoXCJwbGFjZWhvbGRlclwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5hdHRyKFwicGxhY2Vob2xkZXJcIiwgXCJlbnRlciBhIG5vZGVJZCBvciBhIGJyb3dzZVBhdGggXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHRlbXBvcmF0eSBpbmZvIHBhbmVsXG4gICAgICAgICAgICAgICAgdGhhdC4kaW5mbyA9ICQoYDxkaXYgY2xhc3M9XCJzdGVyZml2ZS1pbmZvLXRleHRcIj48L2Rpdj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hcHBlbmQodGhhdC4kaW5mbyk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gZHJvcCBkb3duIHRyZWVcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93biA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS1kcm9wZG93blwiKS5oaWRlKCkuYXBwZW5kVG8odGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUgPSAkKGA8dWwgY2xhc3M9XCJzdGVyZml2ZS10cmVlXCI+PC91bD5gKS5hcHBlbmRUbyh0aGF0LiRkcm9wZG93bik7XG4gICAgICAgICAgICAgICAgLy8gdGhhdC4kZHJvcGRvd24uc2hvdygpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgY29uc3QgaXNPbkxlZnRTaXplID0gKCRsaSwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlV2lkdGggPSAyMDsgLy8gU2V0IHdpZHRoIG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZUhlaWdodCA9IDIwOyAvLyBTZXQgaGVpZ2h0IG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRQb3MgPSAkbGkub2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGUgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUucGFnZVggPj0gZWxlbWVudFBvcy5sZWZ0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VYIDw9IGVsZW1lbnRQb3MubGVmdCArIGJlZm9yZVdpZHRoICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZID49IGVsZW1lbnRQb3MudG9wICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZIDw9IGVsZW1lbnRQb3MudG9wICsgYmVmb3JlSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b2dnbGVFeHBhbnNpb24gPSAoJGxpKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRhYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfZXhwYW5kTGkodGhhdCwgJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVG9nZ2xlIGl0cyBleHBhbmRlZC9jb2xsYXBzZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dhcCBleHBhbmRhYmxlIGFuZCBleHBhbmRlZCBjbGFzc2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoXCJleHBhbmRhYmxlIGV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRsaS5jaGlsZHJlbihcInVsXCIpLmNoaWxkcmVuKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2FwIGV4cGFuZGFibGUgYW5kIGV4cGFuZGVkIGNsYXNzZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS50b2dnbGVDbGFzcyhcImV4cGFuZGFibGUgZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5vbihcImRibGNsaWNrXCIsIFwibGlcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgJGxpID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT25MZWZ0U2l6ZSgkbGksIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRXhwYW5zaW9uKCRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICRsaS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWZlcmVuY2UgPSAkbGkuZGF0YShcInJlZmVyZW5jZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlICYmICF0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlKHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAoKF9hID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudGV4dCkgfHwgKChfYiA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc3QgaW5wdXQgPSBgWyR7ZGlzcGxheU5hbWV9XSgke3ZhbHVlfSlgO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5vZGVJZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuc2V0TW9kZShtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZUlucHV0KHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC52YWwoaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnZhbChpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09uTGVmdFNpemUoJGxpLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuc2lvbigkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdFNpbmdsZSh0aGF0LCAkbGkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNsaWNraW5nIG91dHNpZGUgdGhlIHBhZ2Ugd2lsbCBoaWRlIHRoZSBkcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHRoYXQuJGNvbWJvKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHJldHVybnMgdGhlIGVuZHBvaW50IGF0dHJpYnV0ZXMgY29udGFpbmluZzpcbiAgICAgKiAgLSB0aGUgZW5kcG9pbnQsIHNlY3VyaXR5TW9kZSwgc2VjdXJpdHlQb2xpY3ksXG4gICAgICogIC0gdXNlcklkZW50aXR5VHlwZSxcbiAgICAgKiAgLSBjcmVkZW50aWFsc1xuICAgICAqICAtIG5hbWVzcGFjZUFsaWFzZXNcbiAgICAgKlxuICAgICAqIGV4dHJhY3RlZCBmcm9tIHRoZSB1aSB3aWRnZXQgI25vZGUtaW5wdXQtZW5kcG9pbnRcbiAgICAgKi9cbiAgICBjb25zdCBnZXRFbmRQb2ludEF0dHJpYnV0ZXMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnRJZCA9ICRlbmRwb2ludC52YWwoKTtcbiAgICAgICAgY29uc3QgcmVkTm9kZSA9IFJFRC5ub2Rlcy5ub2RlKGVuZHBvaW50SWQpO1xuICAgICAgICBpZiAoIXJlZE5vZGUpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAvLyBjb25zdCBjcmVkZW50aWFscyA9IFJFRC4oZW5kcG9pbnRJZCk7XG4gICAgICAgIC8vIHdlIG5lZWQgdG8gc2FuaXRpemUgYW5kIGV4dHJhY3QgdGhlIGVuZHBvaW50IGF0dHJpYnV0ZXMgb25seSAoIG5vdCB0aGUgbm9kZS1yZWQgc3R1ZmYpXG4gICAgICAgIGNvbnN0IHsgZW5kcG9pbnQsIHNlY3VyaXR5TW9kZSwgc2VjdXJpdHlQb2xpY3ksIHVzZXJJZGVudGl0eVR5cGUsIGNyZWRlbnRpYWxzLCBuYW1lc3BhY2VBbGlhc2VzIH0gPSByZWROb2RlO1xuICAgICAgICBjb25zdCByZXRWYWx1ZSA9IHtcbiAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgc2VjdXJpdHlNb2RlLFxuICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3ksXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlLFxuICAgICAgICAgICAgY3JlZGVudGlhbHMsXG4gICAgICAgICAgICBuYW1lc3BhY2VBbGlhc2VzLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcmV0VmFsdWU7XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnRJZCA9ICRlbmRwb2ludC52YWwoKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnROciA9IGdldEVuZFBvaW50QXR0cmlidXRlcygpO1xuICAgICAgICBpZiAoIWVuZHBvaW50TnIpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmFtZXNwYWNlQWxpYXNlcyA9IGVuZHBvaW50TnIubmFtZXNwYWNlQWxpYXNlcztcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oeyBuYW1lc3BhY2VBbGlhc2VzLCBpZDogZW5kcG9pbnRJZCB9LCBlbmRwb2ludE5yKTtcbiAgICB9O1xuICAgIGNvbnN0IGdldEVuZHBvaW50UGFyYW1ldGVyc0hhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlbmRwb2ludE5vZGU6IGdldEVuZHBvaW50UGFyYW1ldGVycyxcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgaW5zdGFsbEZlZWRiYWNrV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAvLyByZXR1cm47XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBjb25zdCB0cmF5Q29udGVudCA9ICQoXCIucmVkLXVpLXRyYXktYm9keVwiKTtcbiAgICAgICAgY29uc29sZS5sb2coXCJpbnN0YWxsRmVlZGJhY2tXaWRnZXQgXCIsIHRyYXlDb250ZW50Lmxlbmd0aCk7XG4gICAgICAgIGlmICh0cmF5Q29udGVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsbGluZyBpZnJhbWVcIik7XG4gICAgICAgICAgICAvLyBDcmVhdGUgdGhlIGlmcmFtZSBlbGVtZW50XG4gICAgICAgICAgICBjb25zdCBpZnJhbWUgPSAkKFwiPGlmcmFtZT48L2lmcmFtZT5cIiwge1xuICAgICAgICAgICAgICAgIHNyYzogXCIvb3BjdWEtZm9yLW5vZGUtcmVkL3N1cHBvcnQtZnJhbWUuaHRtbFwiLFxuICAgICAgICAgICAgICAgIHNjcm9sbGluZzogXCJub1wiLFxuICAgICAgICAgICAgICAgIHN0eWxlOiBcImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjozcHhcIixcbiAgICAgICAgICAgICAgICBhbGxvd3RyYW5zcGFyZW5jeTogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgd2lkdGg6IFwiMTgwcHhcIixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMzBweFwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBBcHBlbmQgdGhlIGlmcmFtZSB0byB0aGUgZmVlZGJhY2sgZWxlbWVudFxuICAgICAgICAgICAgdHJheUNvbnRlbnQuYXBwZW5kKGlmcmFtZSk7XG4gICAgICAgICAgICAvLyBQb3NpdGlvbiB0aGUgZmVlZGJhY2sgZWxlbWVudCBhdCB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSB0cmF5IGNvbnRlbnRcbiAgICAgICAgICAgIGlmcmFtZS5jc3Moe1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgICAgICAgcmlnaHQ6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogXCIxNnB4XCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBSRUQubm9kZXMucmVnaXN0ZXJUeXBlKFwiT3BjVWEtQ2xpZW50Mi1FeHBsb3JlXCIsIHtcbiAgICAgICAgY2F0ZWdvcnk6IFwib3BjdWFcIixcbiAgICAgICAgY29sb3I6IFwiI0MwREVFRFwiLFxuICAgICAgICBhbGlnbjogXCJyaWdodFwiLFxuICAgICAgICBpY29uOiBcIi4uLy4uL2ljb25zL29wY3Vhbm9kZUxvZ28ucG5nXCIsXG4gICAgICAgIHBhbGV0dGVMYWJlbDogXCJleHBsb3JlXCIsXG4gICAgICAgIGRlZmF1bHRzOiB7XG4gICAgICAgICAgICBpbnB1dHM6IHsgdmFsdWU6IDEgfSxcbiAgICAgICAgICAgIG91dHB1dDogeyB2YWx1ZTogNCB9LFxuICAgICAgICAgICAgLy8gQ29tbW9uXG4gICAgICAgICAgICBuYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBlbmRwb2ludDogeyB2YWx1ZTogXCJcIiwgcmVxdWlyZWQ6IHRydWUsIHR5cGU6IFwiT3BjVWEtRW5kcG9pbnQyXCIgfSxcbiAgICAgICAgICAgIC8vIGZvciBhY3Rpb24gZXhwbG9yZVxuICAgICAgICAgICAgbm9kZUlkOiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG91dHB1dFR5cGU6IHsgdmFsdWU6IFwiVmFsdWVcIiwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIGV4Y2x1ZGVFbXB0eTogeyB2YWx1ZTogZmFsc2UgfSxcbiAgICAgICAgICAgIC8vIHJvb3ROb2RlOiB7IHZhbHVlOiBcIkBPYmplY3RGb2xkZXJcIiB9LFxuICAgICAgICAgICAgZm9sbG93T3JnYW5pemVzOiB7IHZhbHVlOiBmYWxzZSB9LFxuICAgICAgICB9LFxuICAgICAgICBvdXRwdXRzOiAxLFxuICAgICAgICBsYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgfHwgXCJPUENVQSBFeHBsb3JlXCI7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lID8gXCJub2RlX2xhYmVsX2l0YWxpY1wiIDogXCJcIjtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0cHJlcGFyZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzO1xuICAgICAgICAgICAgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0KCk7XG4gICAgICAgICAgICBpbnN0YWxsRmVlZGJhY2tXaWRnZXQoKTtcbiAgICAgICAgICAgIG5vZGUuaW5wdXRzID0gMTtcbiAgICAgICAgICAgIGNvbnN0ICRub2RlSWQgPSAkKFwiI25vZGUtaW5wdXQtbm9kZUlkXCIpO1xuICAgICAgICAgICAgJG5vZGVJZC5ub2RlQnJvd3NlcihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGdldEVuZHBvaW50UGFyYW1ldGVyc0hhbmRsZXIoKSksIHsgaXNTZWxlY3RhYmxlKG5vZGVEZXNjKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiVmFyaWFibGVcIiB8fCBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiT2JqZWN0XCI7XG4gICAgICAgICAgICAgICAgfSB9KSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7IH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
7
+ function _0x1086(_0x20f7f2,_0x4a07ee){const _0x236a94=_0x236a();return _0x1086=function(_0x108693,_0x31a6a4){_0x108693=_0x108693-0x13f;let _0x5832ba=_0x236a94[_0x108693];return _0x5832ba;},_0x1086(_0x20f7f2,_0x4a07ee);}(function(_0x152eb8,_0x4c7fc8){const _0x475659=_0x1086,_0x2284d0=_0x152eb8();while(!![]){try{const _0x5c8a77=parseInt(_0x475659(0x24a))/0x1+parseInt(_0x475659(0x254))/0x2+parseInt(_0x475659(0x1b5))/0x3*(-parseInt(_0x475659(0x25e))/0x4)+parseInt(_0x475659(0x1e0))/0x5*(-parseInt(_0x475659(0x144))/0x6)+-parseInt(_0x475659(0x214))/0x7*(parseInt(_0x475659(0x23a))/0x8)+parseInt(_0x475659(0x267))/0x9+parseInt(_0x475659(0x1f7))/0xa;if(_0x5c8a77===_0x4c7fc8)break;else _0x2284d0['push'](_0x2284d0['shift']());}catch(_0x518cbb){_0x2284d0['push'](_0x2284d0['shift']());}}}(_0x236a,0xcbf2d),(function(){'use strict';const _0x3e359e=_0x1086;function _0x38f029(_0x1db3ee,_0xff79f9,_0x5a0e6,_0x3fe75c){function _0x5b7838(_0x3a60d){return _0x3a60d instanceof _0x5a0e6?_0x3a60d:new _0x5a0e6(function(_0x40b040){_0x40b040(_0x3a60d);});}return new(_0x5a0e6||(_0x5a0e6=Promise))(function(_0x4971a0,_0x3d5d44){const _0x3b4df9=_0x1086;function _0x5ceee9(_0x5bd4f8){const _0x37211c=_0x1086;try{_0x544a74(_0x3fe75c[_0x37211c(0x1a9)](_0x5bd4f8));}catch(_0x890a0c){_0x3d5d44(_0x890a0c);}}function _0x2f2e12(_0xf32423){const _0x5b335d=_0x1086;try{_0x544a74(_0x3fe75c[_0x5b335d(0x15c)](_0xf32423));}catch(_0x2b4c61){_0x3d5d44(_0x2b4c61);}}function _0x544a74(_0x847559){const _0x571e53=_0x1086;_0x847559[_0x571e53(0x19a)]?_0x4971a0(_0x847559[_0x571e53(0x1c8)]):_0x5b7838(_0x847559[_0x571e53(0x1c8)])[_0x571e53(0x23b)](_0x5ceee9,_0x2f2e12);}_0x544a74((_0x3fe75c=_0x3fe75c[_0x3b4df9(0x140)](_0x1db3ee,_0xff79f9||[]))[_0x3b4df9(0x1a9)]());});}typeof SuppressedError===_0x3e359e(0x1b7)?SuppressedError:function(_0x246604,_0xd5e563,_0x105453){const _0x5c29ca=_0x3e359e;var _0x2367bf=new Error(_0x105453);return _0x2367bf[_0x5c29ca(0x253)]='SuppressedError',_0x2367bf[_0x5c29ca(0x1b4)]=_0x246604,_0x2367bf[_0x5c29ca(0x251)]=_0xd5e563,_0x2367bf;};const _0x18ecfa=_0x3e359e(0x262),_0x4bfe69=_0x3e359e(0x178),_0x3eb9a0=_0x3e359e(0x142),_0x4474d2=_0x3e359e(0x1bc),_0x17e548=_0x3e359e(0x212),_0x562e60=_0x3e359e(0x22f),_0x44f957='ns=0;i=40';var _0x426ea9;(function(_0x4cb66a){const _0x3854f9=_0x3e359e;_0x4cb66a[_0x4cb66a[_0x3854f9(0x23e)]=0x0]=_0x3854f9(0x23e),_0x4cb66a[_0x4cb66a[_0x3854f9(0x216)]=0x1]=_0x3854f9(0x216),_0x4cb66a[_0x4cb66a[_0x3854f9(0x158)]=0x2]=_0x3854f9(0x158),_0x4cb66a[_0x4cb66a[_0x3854f9(0x175)]=0x3]=_0x3854f9(0x175);}(_0x426ea9||(_0x426ea9={})));var _0x4bea2e;(function(_0xf4b231){const _0x2e89cf=_0x3e359e;_0xf4b231[_0xf4b231[_0x2e89cf(0x1b2)]=0x0]=_0x2e89cf(0x1b2),_0xf4b231[_0xf4b231[_0x2e89cf(0x1db)]=0x1]=_0x2e89cf(0x1db),_0xf4b231[_0xf4b231[_0x2e89cf(0x16f)]=0x2]=_0x2e89cf(0x16f),_0xf4b231[_0xf4b231[_0x2e89cf(0x1fe)]=0x4]=_0x2e89cf(0x1fe),_0xf4b231[_0xf4b231[_0x2e89cf(0x20c)]=0x8]=_0x2e89cf(0x20c),_0xf4b231[_0xf4b231[_0x2e89cf(0x15a)]=0x10]=_0x2e89cf(0x15a),_0xf4b231[_0xf4b231[_0x2e89cf(0x239)]=0x20]=_0x2e89cf(0x239),_0xf4b231[_0xf4b231[_0x2e89cf(0x20a)]=0x40]=_0x2e89cf(0x20a),_0xf4b231[_0xf4b231[_0x2e89cf(0x209)]=0x80]=_0x2e89cf(0x209);}(_0x4bea2e||(_0x4bea2e={})));var _0x4c795c;(function(_0x59c602){const _0x320318=_0x3e359e;_0x59c602[_0x59c602[_0x320318(0x1db)]=0x1]='Object',_0x59c602[_0x59c602[_0x320318(0x16f)]=0x2]='Variable',_0x59c602[_0x59c602['Method']=0x4]='Method',_0x59c602[_0x59c602[_0x320318(0x20c)]=0x8]='ObjectType',_0x59c602[_0x59c602[_0x320318(0x15a)]=0x10]='VariableType',_0x59c602[_0x59c602[_0x320318(0x239)]=0x20]=_0x320318(0x239),_0x59c602[_0x59c602[_0x320318(0x20a)]=0x40]=_0x320318(0x20a),_0x59c602[_0x59c602[_0x320318(0x209)]=0x80]=_0x320318(0x209);}(_0x4c795c||(_0x4c795c={})));var _0x1bd7eb;(function(_0x211b64){const _0x32f85a=_0x3e359e;_0x211b64[_0x211b64[_0x32f85a(0x239)]=0x1]='ReferenceType',_0x211b64[_0x211b64[_0x32f85a(0x17c)]=0x2]=_0x32f85a(0x17c),_0x211b64[_0x211b64[_0x32f85a(0x1e4)]=0x4]=_0x32f85a(0x1e4),_0x211b64[_0x211b64['BrowseName']=0x8]=_0x32f85a(0x18e),_0x211b64[_0x211b64[_0x32f85a(0x22a)]=0x10]=_0x32f85a(0x22a),_0x211b64[_0x211b64[_0x32f85a(0x14f)]=0x20]=_0x32f85a(0x14f);}(_0x1bd7eb||(_0x1bd7eb={})));function _0xaba5f5(_0x5aa59a){const _0xf6e274=_0x3e359e;switch(_0x5aa59a){case _0xf6e274(0x1b9):return _0x18ecfa;case _0xf6e274(0x188):return _0x4474d2;case _0xf6e274(0x1e9):return _0x3eb9a0;case _0xf6e274(0x1f6):return _0x17e548;case'HasSubtype':return _0x562e60;case _0xf6e274(0x235):return _0x44f957;}}const _0x432f20=_0x5ce06=>{const _0x478f02=_0x3e359e;switch(_0x5ce06[_0x478f02(0x240)]){case _0x478f02(0x1db):if(_0x5ce06[_0x478f02(0x245)]===_0x18ecfa);if(_0x5ce06[_0x478f02(0x203)]===_0x4bfe69||_0x5ce06[_0x478f02(0x245)]===_0x478f02(0x236))return{'icon':'fa-folder','color':_0x478f02(0x1d7)};return{'icon':_0x478f02(0x1bb),'color':_0x478f02(0x14e)};case _0x478f02(0x16f):if(_0x5ce06[_0x478f02(0x245)]===_0x3eb9a0)return{'icon':_0x478f02(0x1d9),'color':_0x478f02(0x1f0)};else return _0x5ce06[_0x478f02(0x245)]===_0x4474d2?{'icon':_0x478f02(0x1d9),'color':'DodgerBlue'}:{'icon':_0x478f02(0x1d9),'color':'CadetBlue'};case _0x478f02(0x1fe):return{'icon':_0x478f02(0x1a5),'color':_0x478f02(0x194)};case'ObjectType':return{'icon':'fa-object-group','color':_0x478f02(0x1c4)};case _0x478f02(0x15a):return{'icon':_0x478f02(0x161),'color':_0x478f02(0x1c4)};case _0x478f02(0x20a):return{'icon':_0x478f02(0x1e8),'color':'CadetBlue'};}return{'icon':_0x478f02(0x234),'color':_0x478f02(0x1ae)};},_0x3ae90a=(_0x3f32d5,_0x4adef2,_0x1258d3)=>_0x38f029(void 0x0,[_0x3f32d5,_0x4adef2,_0x1258d3],void 0x0,function*({endpointNode:_0x71cca7,endpoint:_0x56a58a,baseUrl:_0x3e48f1},_0x1d705a,_0x4779e1){const _0x11b95c=_0x3e359e,_0x10df0d=_0x3e48f1+_0x11b95c(0x171),_0x4686a1=_0x10df0d+_0x11b95c(0x1a8),_0x3ff8ec=Object[_0x11b95c(0x266)](Object[_0x11b95c(0x266)]({},_0x4779e1),{'nodeId':_0x1d705a,'resultMask':0x3f}),_0x2aef7d=yield fetch(_0x4686a1,{'method':_0x11b95c(0x148),'body':JSON['stringify']({'endpointNode':_0x71cca7,'endpoint':_0x56a58a,'browseDescription':_0x3ff8ec}),'headers':{'Content-Type':_0x11b95c(0x1e5)}});if(_0x2aef7d['status']!==0xc8)return console['log']('fetching\x20failed\x20with\x20error',_0x2aef7d[_0x11b95c(0x1d2)],_0x2aef7d[_0x11b95c(0x1ef)]),{'references':[]};const _0x593e59=yield _0x2aef7d[_0x11b95c(0x222)](),_0x1c8d38=_0x593e59[_0x11b95c(0x1de)][_0x11b95c(0x227)]||[];return{'references':_0x1c8d38};}),_0x57eb53={'referenceTypeId':_0xaba5f5(_0x3e359e(0x1f6)),'includeSubtypes':!![],'browseDirection':_0x426ea9['Forward'],'nodeClassMask':_0x4bea2e[_0x3e359e(0x16f)]|_0x4bea2e[_0x3e359e(0x1db)]|_0x4bea2e[_0x3e359e(0x1fe)],'resultMask':0x3f},_0x4380f3={'referenceTypeId':_0xaba5f5(_0x3e359e(0x1b9)),'includeSubtypes':!![],'browseDirection':_0x426ea9['Forward'],'nodeClassMask':_0x4bea2e[_0x3e359e(0x16f)]|_0x4bea2e['Object']|_0x4bea2e[_0x3e359e(0x1fe)],'resultMask':0x3f},_0x143e6c=(_0x1d59e9,_0x27d680)=>_0x38f029(void 0x0,[_0x1d59e9,_0x27d680],void 0x0,function*({endpointNode:_0x5ee5e7,endpoint:_0x1abd6e,baseUrl:_0x2fe25f},{nodeId:_0xfc1e74,rootNodeId:_0x5de067,isType:_0x13b602}){const _0x348701=_0x3e359e,_0x42a728=_0x2fe25f+_0x348701(0x171),_0x1eb4e4=_0x42a728+_0x348701(0x179),_0x3df705=yield fetch(_0x1eb4e4,{'method':_0x348701(0x148),'body':JSON[_0x348701(0x243)]({'endpointNode':_0x5ee5e7,'endpoint':_0x1abd6e,'nodeId':_0xfc1e74,'rootNodeId':_0x5de067,'isType':_0x13b602}),'headers':{'Content-Type':_0x348701(0x1e5)}});if(_0x3df705[_0x348701(0x1d2)]!==0xc8)return null;const _0x2e670d=yield _0x3df705[_0x348701(0x222)]();return _0x2e670d[_0x348701(0x1f5)];}),_0x5dcdee=(_0xfd1fd2,_0x2481ca)=>{const _0xce625e=_0x3e359e;if(_0xfd1fd2[_0xce625e(0x14c)]!=='Good')return _0xfd1fd2[_0xce625e(0x17b)];switch(_0x2481ca){case _0xce625e(0x1f5):return _0xfd1fd2[_0xce625e(0x1cc)];case'aliasedBrowsePath':return _0xfd1fd2[_0xce625e(0x180)]||_0xfd1fd2[_0xce625e(0x1cc)];case _0xce625e(0x249):return _0xfd1fd2[_0xce625e(0x246)]||_0xfd1fd2[_0xce625e(0x260)];case _0xce625e(0x17e):return _0xfd1fd2['nodeId_nsu'];default:case _0xce625e(0x170):return _0xfd1fd2[_0xce625e(0x170)];}},_0x31ae8d=_0x2a6637=>{const _0x3baf24=_0x3e359e;if(_0x2a6637['statusCode']!=='Good')return'statusCode:\x20'+_0x2a6637[_0x3baf24(0x14c)];else{let _0x5906e9=[];return _0x5906e9[_0x3baf24(0x1f4)]('nodeId:\x20'+_0x2a6637[_0x3baf24(0x170)]),_0x5906e9[_0x3baf24(0x1f4)](_0x3baf24(0x1f2)+_0x2a6637['bp_indexed']),_0x5906e9[_0x3baf24(0x1f4)]('node\x20class:\x20'+_0x4bea2e[_0x2a6637[_0x3baf24(0x240)]]),_0x2a6637['nodeId_nsu']&&_0x5906e9[_0x3baf24(0x1f4)](_0x3baf24(0x1c6)+_0x2a6637['nodeId_nsu']),_0x2a6637[_0x3baf24(0x246)]&&_0x5906e9[_0x3baf24(0x1f4)](_0x3baf24(0x241)+_0x2a6637[_0x3baf24(0x246)]),_0x2a6637[_0x3baf24(0x1cc)]&&_0x5906e9[_0x3baf24(0x1f4)](_0x3baf24(0x193)+_0x2a6637['bp_aliased']),_0x5906e9[_0x3baf24(0x157)]('\x0a');}};function _0x174cd2(_0x150e48){const _0x4a01c9=_0x3e359e;if(_0x150e48[_0x4a01c9(0x1b3)](/^nsu=/))return _0x4a01c9(0x17e);if(_0x150e48[_0x4a01c9(0x1b3)](/^(ns=.*;)?(i|b|s|g)=/))return _0x4a01c9(0x170);if(_0x150e48[_0x4a01c9(0x1b3)](/^nsa=/))return'aliasedNodeId';if(_0x150e48[_0x4a01c9(0x1b3)](/^(\/|\.)[0-9]+:/))return'browsePath';if(_0x150e48['match'](/^(\/|\.).*:/))return _0x4a01c9(0x1f5);}function _0x4f04da(_0x396865){const _0x3b3e8b=_0x3e359e,_0x4d028c=_0x174cd2(_0x396865);switch(_0x4d028c){case _0x3b3e8b(0x170):return'n';case _0x3b3e8b(0x249):return'na';case _0x3b3e8b(0x17e):return _0x3b3e8b(0x1ea);case _0x3b3e8b(0x1f5):return'b';case'aliasedBrowsePath':return'ab';default:return't';}}function _0x3c87ef(_0x387894){const _0x45e82d=_0x3e359e;let _0x103e3b;switch(_0x387894){case'n':_0x103e3b=_0x45e82d(0x170);break;case'na':_0x103e3b=_0x45e82d(0x249);break;case _0x45e82d(0x1ea):_0x103e3b=_0x45e82d(0x17e);break;case'b':_0x103e3b=_0x45e82d(0x1f5);break;case'ab':_0x103e3b='aliasedBrowsePath';break;}return _0x103e3b;}function _0xd1c8bc(_0x37a750){const _0x1aec9f=_0x3e359e;switch(_0x37a750){case _0x1aec9f(0x170):return'n';case _0x1aec9f(0x249):return'na';case _0x1aec9f(0x17e):return'nsu';case'browsePath':return'b';case _0x1aec9f(0x20b):return'ab';default:return't';}}const _0x5084b5=(_0x4033e8,_0x3d8a6b)=>_0x38f029(void 0x0,[_0x4033e8,_0x3d8a6b],void 0x0,function*({endpointNode:_0x57b723,endpoint:_0x4c6087,baseUrl:_0x3ab81d},_0x64e661){const _0x2f2595=_0x3e359e,_0x4c92ff=_0x3ab81d+_0x2f2595(0x171),_0x42af24=_0x4c92ff+_0x2f2595(0x24f),_0x544c7f=_0x57b723['id'],_0x1fe546=RED[_0x2f2595(0x1a4)][_0x2f2595(0x19f)](_0x544c7f);console['log'](_0x1fe546[_0x2f2595(0x150)]),_0x1fe546['namespaceAliases'];const _0x1dac06=_0x57b723[_0x2f2595(0x150)],_0x426766=yield fetch(_0x42af24,{'method':_0x2f2595(0x148),'body':JSON[_0x2f2595(0x243)]({'endpointNode':_0x57b723,'endpoint':_0x4c6087,'nodeId':_0x64e661,'namespaceAliases':_0x1dac06}),'headers':{'Content-Type':_0x2f2595(0x1e5)}}),_0x16c7fa=yield _0x426766[_0x2f2595(0x222)]();return{'json':_0x16c7fa,'data':_0x426766};}),_0x4723b5=(_0x3a76ca,_0x40f7ac,_0x451da4,_0x2794f3)=>_0x38f029(void 0x0,[_0x3a76ca,_0x40f7ac,_0x451da4,_0x2794f3],void 0x0,function*({endpointNode:_0x21fe8d,endpoint:_0x46c7d8,baseUrl:_0x2def9d},_0x967c36,_0xac79dd,_0x2143e9){const _0x1219fb=_0x3e359e,_0x343009=_0xac79dd[_0x1219fb(0x1ed)](),{json:_0x3b7aa3,data:_0x4bc459}=yield _0x5084b5({'endpointNode':_0x21fe8d,'endpoint':_0x46c7d8,'baseUrl':_0x2def9d},_0x343009),_0x4e170e=(_0x573698,_0x2189a2)=>{const _0x1914ab=_0x1219fb;_0x2143e9[_0x1914ab(0x1dd)](_0x573698)[_0x1914ab(0x218)]('sterfive-info')[_0x1914ab(0x218)](_0x2189a2),_0x2143e9[_0x1914ab(0x166)](),setTimeout(()=>{const _0xaea3b8=_0x1914ab;_0x2143e9[_0xaea3b8(0x21c)](_0x2189a2),_0x2143e9[_0xaea3b8(0x183)]();},0xbb8);};if(_0x4bc459[_0x1219fb(0x1d2)]!==0xc8)return _0x4e170e('!!failure!!'+_0x343009,_0x1219fb(0x1d5)),![];else{if(_0x3b7aa3[_0x1219fb(0x14c)][_0x1219fb(0x1b3)](/Good/)){const _0x42afec=_0x31ae8d(_0x3b7aa3);_0xac79dd[_0x1219fb(0x264)]('title',_0x42afec);const _0x47c702=_0x5dcdee(_0x3b7aa3,_0x967c36);return _0xac79dd['val'](_0x47c702),_0xac79dd[_0x1219fb(0x1ab)]('change'),_0x4e170e(_0x1219fb(0x224),'ok'),!![];}else return _0xac79dd[_0x1219fb(0x1ed)](''+_0x343009),_0x4e170e(_0x3b7aa3[_0x1219fb(0x14c)]+'\x20'+_0x4bc459[_0x1219fb(0x1ef)],'failure'),![];}});function _0x3789b1(_0x578d74,_0x171ae2){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x3c65e3=_0x1086,_0x4f08a1=_0x578d74[_0x3c65e3(0x21e)](_0x3c65e3(0x1c8)),_0x355cca=yield _0x3ae90a(_0x171ae2,_0x4f08a1,_0x57eb53),_0x3ace4d=yield _0x3ae90a(_0x171ae2,_0x4f08a1,_0x4380f3);return{'references':[..._0x355cca[_0x3c65e3(0x227)],..._0x3ace4d[_0x3c65e3(0x227)]]};});}const _0x446b68={'referenceTypeId':_0xaba5f5(_0x3e359e(0x1a3)),'includeSubtypes':!![],'browseDirection':_0x426ea9[_0x3e359e(0x23e)],'nodeClassMask':_0x4bea2e[_0x3e359e(0x239)]|_0x4bea2e[_0x3e359e(0x20c)]|_0x4bea2e[_0x3e359e(0x20a)]|_0x4bea2e[_0x3e359e(0x15a)],'resultMask':0x3f};function _0x4ed933(_0x94025,_0x3bb4dd){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x3ebb5d=_0x1086,_0x92bfe2=_0x94025[_0x3ebb5d(0x21e)](_0x3ebb5d(0x1c8)),_0x23234f=yield _0x3ae90a(_0x3bb4dd,_0x92bfe2,_0x446b68);return _0x23234f;});}const _0x144197=_0x169999=>{const _0x42c97d=_0x3e359e;var _0x477e67,_0x191599,_0x35f3dd,_0x4510b0;if(!_0x169999||!_0x169999[_0x42c97d(0x170)]){const _0x1bc5c2=$(_0x42c97d(0x1ce));return _0x1bc5c2;}const _0xa836d0=_0x169999[_0x42c97d(0x170)][_0x42c97d(0x21b)](),_0x590b33=((_0x477e67=_0x169999[_0x42c97d(0x16e)])===null||_0x477e67===void 0x0?void 0x0:_0x477e67[_0x42c97d(0x1dd)])||((_0x191599=_0x169999[_0x42c97d(0x259)])===null||_0x191599===void 0x0?void 0x0:_0x191599['name'])||_0x169999['nodeId'][_0x42c97d(0x21b)](),{icon:_0xcffdee,color:_0x4b4787}=_0x432f20(_0x169999),_0x408cfe='('+_0x169999[_0x42c97d(0x170)]['toString']()+')\x20'+(((_0x35f3dd=_0x169999[_0x42c97d(0x259)])===null||_0x35f3dd===void 0x0?void 0x0:_0x35f3dd['name'])||((_0x4510b0=_0x169999['displayName'])===null||_0x4510b0===void 0x0?void 0x0:_0x4510b0[_0x42c97d(0x1dd)])||''),_0x4cb2be=$(_0x42c97d(0x153)+_0x169999[_0x42c97d(0x170)][_0x42c97d(0x21b)]()+_0x42c97d(0x1d1)+_0x408cfe+_0x42c97d(0x1e2)+_0xcffdee+'\x22\x20style=\x22color:'+_0x4b4787+_0x42c97d(0x20d)+_0x590b33+'</span><ul></ul></li>');return _0x4cb2be[_0x42c97d(0x218)](_0x42c97d(0x1f8)),_0x4cb2be[_0x42c97d(0x21e)](_0x42c97d(0x1c8),_0xa836d0),_0x4cb2be[_0x42c97d(0x21e)](_0x42c97d(0x22c),_0x169999),_0x4cb2be;},_0x3c8562=(_0x55b78f,_0x32cdc5)=>{const _0x268e59=_0x3e359e;return _0x32cdc5[_0x268e59(0x1af)](_0x268e59(0x1fa)+_0x55b78f+'\x22]');},_0x592652=(_0x1e3734,_0x13418e)=>{const _0x520b5e=_0x3e359e;_0x1e3734['$tree']['find']('li\x20>\x20.tree-text')[_0x520b5e(0x21c)](_0x520b5e(0x1ad)),_0x13418e[_0x520b5e(0x1af)](_0x520b5e(0x24d))['addClass'](_0x520b5e(0x1ad));},_0x5d365d=(_0x578aed,_0x2c7ac2,_0x43b08b)=>_0x38f029(void 0x0,void 0x0,void 0x0,function*(){const _0x4f0d42=_0x3e359e;let _0x1a8baa=_0x43b08b[_0x4f0d42(0x1d3)](_0x4f0d42(0x1f3));_0x2c7ac2[_0x4f0d42(0x163)][_0x4f0d42(0x242)]||[];const _0xb7bc11=_0x2c7ac2[_0x4f0d42(0x265)]||[];if(_0xb7bc11[_0x4f0d42(0x202)]===0x0)return;for(const _0x6abd52 of _0xb7bc11){_0x1a8baa[_0x4f0d42(0x145)](_0x4f0d42(0x1f8))&&(yield _0x240b48(_0x578aed,_0x1a8baa));const _0x1d7002=_0x3c8562(_0x6abd52,_0x1a8baa);if(_0x1d7002['length']===0x0)return;_0x1a8baa=_0x1d7002;}_0x592652(_0x578aed,_0x1a8baa),_0x2c0de7(_0x578aed[_0x4f0d42(0x186)],_0x1a8baa);});function _0x2c0de7(_0x216b84,_0x2347e5){const _0x576227=_0x3e359e,_0x509784=_0x2347e5['position']()[_0x576227(0x1ba)],_0x24fbe0=_0x216b84[_0x576227(0x187)]();if(_0x24fbe0==undefined)return;const _0x54caf4=_0x24fbe0+_0x509784-_0x216b84['height']()/0x2+_0x2347e5['height']()/0x2;_0x216b84[_0x576227(0x172)]({'scrollTop':_0x54caf4},0x1f4);}const _0x487486=(_0x450965,_0x4c7e7b)=>_0x38f029(void 0x0,void 0x0,void 0x0,function*(){const _0x3f71ed=_0x3e359e,_0x3c8ee1=_0x450965['$input'][_0x3f71ed(0x1ed)](),_0x1a0636={'nodeId':_0x3c8ee1,'rootNodeId':_0x4c7e7b[_0x3f71ed(0x170)],'isType':_0x450965[_0x3f71ed(0x1b6)]['isTypeRef']||![]},_0x35b647=_0xf24131(_0x450965),_0x16f932=yield _0x143e6c(_0x35b647,_0x1a0636);if(!_0x16f932)return;yield _0x5d365d(_0x450965,_0x16f932,_0x450965[_0x3f71ed(0x17a)]);});function _0x591a67(_0x390ad8,_0x593949,_0x54726b,_0x5d1d55){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x4c7245=_0x1086;if(_0x593949[_0x4c7245(0x145)]('fetched')){console[_0x4c7245(0x181)]('already\x20fetched');return;}if(_0x593949[_0x4c7245(0x145)](_0x4c7245(0x1a7))){console[_0x4c7245(0x181)](_0x4c7245(0x1be));return;}_0x593949[_0x4c7245(0x218)](_0x4c7245(0x1a7)),_0x593949['append'](_0x4c7245(0x141));try{_0x593949['children']('ul')[_0x4c7245(0x182)]();const {references:_0x32b4e4}=yield _0x54726b(_0x593949,_0x5d1d55);_0x32b4e4[_0x4c7245(0x160)]((_0x28f987,_0x1e9d19)=>{const _0x160d49=_0x4c7245;var _0x18df67,_0x213dfc;return(((_0x18df67=_0x28f987['browseName'])===null||_0x18df67===void 0x0?void 0x0:_0x18df67['name'])||'')[_0x160d49(0x19e)](((_0x213dfc=_0x1e9d19[_0x160d49(0x259)])===null||_0x213dfc===void 0x0?void 0x0:_0x213dfc[_0x160d49(0x253)])||'');});for(const _0x5828f6 of _0x32b4e4){if(_0x390ad8[_0x4c7245(0x1b6)]['filter']&&!_0x390ad8[_0x4c7245(0x1b6)][_0x4c7245(0x1ff)](_0x5828f6))continue;const _0x4c29bc=_0x144197(_0x5828f6);_0x593949[_0x4c7245(0x1d3)]('ul')[_0x4c7245(0x173)](_0x4c29bc);}_0x593949[_0x4c7245(0x218)](_0x4c7245(0x1c2));}catch(_0x5294d8){_0x593949[_0x4c7245(0x1d3)]('ul')[_0x4c7245(0x173)]('<li>error\x20'+_0x5294d8[_0x4c7245(0x220)]+_0x4c7245(0x225)),console[_0x4c7245(0x181)](_0x4c7245(0x13f),_0x5294d8);}_0x593949[_0x4c7245(0x1af)](_0x4c7245(0x185))['remove'](),_0x593949[_0x4c7245(0x21c)](_0x4c7245(0x1a7));});}function _0xf24131(_0x11beef){const _0x185cc3=_0x3e359e,_0x4c017a={'baseUrl':_0x11beef[_0x185cc3(0x1b6)][_0x185cc3(0x238)],'endpointNode':typeof _0x11beef[_0x185cc3(0x1b6)][_0x185cc3(0x1fc)]===_0x185cc3(0x1b7)?_0x11beef[_0x185cc3(0x1b6)][_0x185cc3(0x1fc)]():_0x11beef[_0x185cc3(0x1b6)][_0x185cc3(0x1fc)],'endpoint':typeof _0x11beef[_0x185cc3(0x1b6)]['endpoint']===_0x185cc3(0x1b7)?_0x11beef[_0x185cc3(0x1b6)][_0x185cc3(0x22e)]():_0x11beef['options']['endpoint']};return _0x4c017a;}function _0x240b48(_0x33d1c2,_0x4bb8f1){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x4787d6=_0x1086;if(_0x4bb8f1[_0x4787d6(0x145)]('fetched')){_0x4bb8f1['removeClass'](_0x4787d6(0x1f8))[_0x4787d6(0x218)](_0x4787d6(0x1c7)),_0x4bb8f1['children']('ul')[_0x4787d6(0x204)]();return;}const _0x5c1368=_0xf24131(_0x33d1c2),_0x26023c=!_0x33d1c2[_0x4787d6(0x1b6)][_0x4787d6(0x15d)]?_0x3789b1:_0x4ed933;try{yield _0x591a67(_0x33d1c2,_0x4bb8f1,_0x26023c,_0x5c1368),_0x4bb8f1[_0x4787d6(0x21c)](_0x4787d6(0x1f8))[_0x4787d6(0x218)](_0x4787d6(0x1c7));}catch(_0x387f91){_0x4bb8f1[_0x4787d6(0x21c)](_0x4787d6(0x1f8))[_0x4787d6(0x218)](_0x4787d6(0x1c7)),console['log'](_0x4787d6(0x1b4),_0x387f91);}});}const _0x536fc3={'browseName':{'namespaceIndex':0x0,'name':_0x3e359e(0x14d)},'nodeClass':'Object','nodeId':_0x3e359e(0x1a6),'displayName':{'text':_0x3e359e(0x14d)},'typeDefinition':_0x4bfe69},_0x3dd1c5=()=>{const _0x596ede=_0x3e359e;$[_0x596ede(0x215)](_0x596ede(0x258),{'options':{'endpointNode':()=>({'endpoint':_0x596ede(0x1c1)}),'endpoint':()=>undefined,'parentNode':()=>_0x536fc3,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x3cdb50=_0x1086,_0x3d643b=this;if(_0x3d643b[_0x3cdb50(0x155)]==undefined){const _0x918f9a=typeof _0x3d643b['options'][_0x3cdb50(0x1f1)]===_0x3cdb50(0x1b7)?_0x3d643b[_0x3cdb50(0x1b6)][_0x3cdb50(0x1f1)][_0x3cdb50(0x199)](_0x3d643b):_0x3d643b[_0x3cdb50(0x1b6)]['parentNode'];if(_0x918f9a instanceof Promise){const _0x15fa43=yield _0x918f9a;_0x3d643b[_0x3cdb50(0x155)]=_0x15fa43;}else _0x3d643b['__parentNode']=_0x918f9a;}return _0x3d643b['__parentNode']||_0x536fc3;});},'reset'(){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x424b9c=_0x1086,_0x38eba9=this,_0x5214d7=_0x38eba9;_0x5214d7['__parentNode']=undefined,_0x38eba9[_0x424b9c(0x17a)][_0x424b9c(0x182)]();const _0x20100a=yield this['resolveParentNode'](),_0x36110b=_0x144197(_0x20100a);_0x38eba9[_0x424b9c(0x17a)][_0x424b9c(0x173)](_0x36110b),_0x38eba9[_0x424b9c(0x14b)]=_0x20100a;});},'verify'(_0xe85d50){const _0xec669f=_0x596ede,_0x464d27=this,_0x2c0621=_0xf24131(_0x464d27);_0x4723b5(_0x2c0621,_0xe85d50,_0x464d27[_0xec669f(0x244)],_0x464d27[_0xec669f(0x1d6)])[_0xec669f(0x23b)](_0x374ba9=>{const _0x1cacae=_0xec669f;!_0x374ba9?_0x464d27[_0x1cacae(0x174)]['addClass'](_0x1cacae(0x17d)):_0x464d27[_0x1cacae(0x174)][_0x1cacae(0x21c)](_0x1cacae(0x17d));});},'_hideMenu'(_0x2d50cc){const _0x3b889a=_0x596ede,_0xbf423f=this;$(document)[_0x3b889a(0x184)]('mousedown.red-ui-typedInput-close-property-select'),_0x2d50cc[_0x3b889a(0x183)](),_0x2d50cc[_0x3b889a(0x201)]({'height':'auto'});if(_0x2d50cc[_0x3b889a(0x223)][_0x3b889a(0x1b1)]){var _0x408343=[];_0x2d50cc[_0x3b889a(0x1af)]('input[type=\x22checkbox\x22]')['each'](function(){const _0x4d70f4=_0x3b889a;$(this)[_0x4d70f4(0x1c9)]('checked')&&_0x408343[_0x4d70f4(0x1f4)]($(this)[_0x4d70f4(0x21e)]('value'));}),_0x2d50cc[_0x3b889a(0x1bf)](_0x408343);}_0xbf423f[_0x3b889a(0x1e1)]['is'](':visible')?_0xbf423f[_0x3b889a(0x244)]['trigger'](_0x3b889a(0x177)):_0xbf423f[_0x3b889a(0x205)][_0x3b889a(0x1ab)](_0x3b889a(0x177));},'_createMenu'(_0x3a869e,_0x360684,_0xae0344){const _0x39096f=_0x596ede;var _0x236d67=this;const _0x5d91c4=$(_0x39096f(0x25b))[_0x39096f(0x218)](_0x39096f(0x1e6));return _0x5d91c4[_0x39096f(0x223)]=_0x360684,_0x5d91c4[_0x39096f(0x1bf)]=_0xae0344,_0x3a869e[_0x39096f(0x25d)](_0x14846d=>{const _0x5398ee=_0x39096f;typeof _0x14846d===_0x5398ee(0x195)&&(_0x14846d={'value':_0x14846d,'label':_0x14846d});var _0x356954=$(_0x5398ee(0x247))[_0x5398ee(0x264)](_0x5398ee(0x1c8),_0x14846d[_0x5398ee(0x1c8)])['appendTo'](_0x5d91c4);_0x14846d[_0x5398ee(0x168)]&&_0x356954['text'](_0x14846d[_0x5398ee(0x168)]);_0x14846d[_0x5398ee(0x16b)]&&_0x356954[_0x5398ee(0x1c9)](_0x5398ee(0x16b),_0x14846d[_0x5398ee(0x16b)]);if(_0x14846d['icon']){if(_0x14846d[_0x5398ee(0x1d8)][_0x5398ee(0x147)]('<')===0x0)$(_0x14846d['icon'])[_0x5398ee(0x156)](_0x356954);else _0x14846d[_0x5398ee(0x1d8)][_0x5398ee(0x147)]('/')!==-0x1?$(_0x5398ee(0x1eb),{'class':_0x5398ee(0x207),'style':_0x5398ee(0x154)+_0x14846d['icon']+_0x5398ee(0x1ca)+_0x14846d['icon']+');'})['prependTo'](_0x356954):$(_0x5398ee(0x1eb),{'class':_0x5398ee(0x1ee)+_0x14846d['icon']})[_0x5398ee(0x156)](_0x356954);}else _0x356954['css']({'paddingLeft':_0x5398ee(0x18b)});!_0x14846d['icon']&&!_0x14846d['label']&&_0x356954[_0x5398ee(0x1dd)](_0x14846d[_0x5398ee(0x1c8)]);var _0x874061;_0x360684[_0x5398ee(0x1b1)]&&(_0x874061=$('<input\x20type=\x22checkbox\x22>')['css'](_0x5398ee(0x25f),_0x5398ee(0x1bd))[_0x5398ee(0x21e)]('value',_0x14846d[_0x5398ee(0x1c8)])[_0x5398ee(0x156)](_0x356954)['on'](_0x5398ee(0x18a),function(_0x351146){const _0x4524e9=_0x5398ee;_0x351146[_0x4524e9(0x24e)]();})),_0x356954['on'](_0x5398ee(0x190),function(_0x1f1af3){const _0x5046cc=_0x5398ee;_0x1f1af3['preventDefault'](),_0x1f1af3['stopPropagation'](),!_0x360684[_0x5046cc(0x1b1)]?(_0xae0344(_0x14846d[_0x5046cc(0x1c8)]),_0x236d67[_0x5046cc(0x197)](_0x5d91c4)):_0x874061[_0x5046cc(0x1c9)]('checked',!_0x874061['prop']('checked'));});}),_0x5d91c4[_0x39096f(0x201)]({'display':_0x39096f(0x1bd)}),_0x5d91c4['on'](_0x39096f(0x1c5),function(_0x19598b){const _0x2e0313=_0x39096f;if(_0x19598b[_0x2e0313(0x162)]===0x28)_0x19598b['preventDefault'](),$(this)[_0x2e0313(0x1d3)](_0x2e0313(0x21d))[_0x2e0313(0x1a9)]()['trigger'](_0x2e0313(0x177));else{if(_0x19598b[_0x2e0313(0x162)]===0x26)_0x19598b['preventDefault'](),$(this)['children'](_0x2e0313(0x21d))[_0x2e0313(0x232)]()[_0x2e0313(0x1ab)]('focus');else _0x19598b[_0x2e0313(0x162)]===0x1b&&(_0x19598b['preventDefault'](),_0x236d67[_0x2e0313(0x197)](_0x5d91c4));}_0x19598b[_0x2e0313(0x1b0)]();}),_0x5d91c4;},'disarmClick':![],'_showMenu'(_0x19f8f7,_0x3f8e78){const _0x96d152=_0x596ede;if(this[_0x96d152(0x208)]){this[_0x96d152(0x208)]=![];return;}var _0x3cfcec=this,_0x1aeefe=_0x3f8e78[_0x96d152(0x221)](),_0x338239=_0x3f8e78[_0x96d152(0x229)](),_0x2f56c1=_0x19f8f7[_0x96d152(0x229)](),_0x51e051=_0x338239+_0x1aeefe['top'];_0x51e051+_0x2f56c1-$(document)[_0x96d152(0x187)]()>$(window)[_0x96d152(0x229)]()&&(_0x51e051-=_0x51e051+_0x2f56c1-$(window)[_0x96d152(0x229)]()+0x5),_0x51e051<0x0&&(_0x19f8f7['height'](_0x2f56c1+_0x51e051),_0x51e051=0x0),_0x19f8f7[_0x96d152(0x201)]({'top':_0x51e051+'px','left':_0x1aeefe['left']+'px'}),_0x19f8f7[_0x96d152(0x198)](0x64),this[_0x96d152(0x1aa)](function(){const _0xae1f32=_0x96d152;_0x3cfcec[_0xae1f32(0x211)][_0xae1f32(0x218)](_0xae1f32(0x24c)),$(document)['on'](_0xae1f32(0x1c0),function(_0xf6151f){const _0x348741=_0xae1f32;!$(_0xf6151f[_0x348741(0x18f)])[_0x348741(0x22d)](_0x19f8f7)['length']&&_0x3cfcec[_0x348741(0x197)](_0x19f8f7),$(_0xf6151f[_0x348741(0x18f)])[_0x348741(0x22d)](_0x3f8e78)['length']&&(_0x3cfcec[_0x348741(0x208)]=!![],_0xf6151f[_0x348741(0x24e)]());});});},'_showTypeMenu'(){const _0x16535c=_0x596ede,_0x18cca=this;this[_0x16535c(0x23c)](_0x18cca[_0x16535c(0x263)],_0x18cca['$combo']),_0x18cca[_0x16535c(0x186)][_0x16535c(0x183)]();const _0x1eb636=_0x18cca[_0x16535c(0x210)];var _0x444992=_0x18cca['$menu'][_0x16535c(0x1af)](_0x16535c(0x1a0)+_0x1eb636+'\x27');setTimeout(function(){const _0x22ac7b=_0x16535c;_0x444992['trigger'](_0x22ac7b(0x177));},0x78);},'_initMenu'(){const _0x2c63f6=_0x596ede,_0x3de117=this;_0x3de117[_0x2c63f6(0x205)]['attr'](_0x2c63f6(0x20f),-0x1),_0x3de117[_0x2c63f6(0x205)]['on'](_0x2c63f6(0x176),function(_0x2bb18a){_0x2bb18a['preventDefault']();});_0x3de117['$menu']&&_0x3de117[_0x2c63f6(0x263)][_0x2c63f6(0x1d4)]();const _0x290a75=[{'label':_0x2c63f6(0x1dd),'value':'t','title':_0x2c63f6(0x19b),'icon':_0x2c63f6(0x196)},{'label':'msg.','value':_0x2c63f6(0x23f),'title':_0x2c63f6(0x15e),'icon':_0x2c63f6(0x165)},{'label':_0x2c63f6(0x206),'value':'n','icon':_0x2c63f6(0x257)},{'label':_0x2c63f6(0x169),'value':'na','icon':'<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20'},{'label':_0x2c63f6(0x217),'value':_0x2c63f6(0x1ea),'icon':'<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20'},{'label':_0x2c63f6(0x1ac),'value':'b','icon':_0x2c63f6(0x1dc)},{'label':_0x2c63f6(0x237),'value':'ab','icon':'<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;'}],_0xed0be4=_0x4f04da(_0x3de117['$input'][_0x2c63f6(0x1ed)]()),_0x111750=_0x290a75['find'](_0x5805c5=>_0x5805c5[_0x2c63f6(0x1c8)]===_0xed0be4);_0x3de117['$selectLabel'][_0x2c63f6(0x182)]()[_0x2c63f6(0x173)](_0x2c63f6(0x167)+((_0x111750===null||_0x111750===void 0x0?void 0x0:_0x111750[_0x2c63f6(0x16b)])||'')+'>&nbsp;\x20'+((_0x111750===null||_0x111750===void 0x0?void 0x0:_0x111750[_0x2c63f6(0x1d8)])||'')+_0x2c63f6(0x228)),_0x3de117[_0x2c63f6(0x210)]=_0xed0be4;const _0x2b6a7a=this;_0x3de117[_0x2c63f6(0x263)]=this['_createMenu'](_0x290a75,{},_0x119ad9=>{const _0x50766c=_0x2c63f6,_0x8a97cd=_0x3c87ef(_0x119ad9);_0x8a97cd&&_0x2b6a7a[_0x50766c(0x164)](_0x8a97cd);const _0x82ffe1=_0x290a75[_0x50766c(0x1af)](_0x28ab7f=>_0x28ab7f['value']===_0x119ad9);_0x3de117['selectedMenuItem']=_0x119ad9,_0x3de117[_0x50766c(0x1fd)][_0x50766c(0x182)]()[_0x50766c(0x173)]('<span\x20title='+((_0x82ffe1===null||_0x82ffe1===void 0x0?void 0x0:_0x82ffe1[_0x50766c(0x16b)])||'')+_0x50766c(0x255)+((_0x82ffe1===null||_0x82ffe1===void 0x0?void 0x0:_0x82ffe1[_0x50766c(0x1d8)])||'')+'</span>');}),_0x3de117[_0x2c63f6(0x263)][_0x2c63f6(0x149)](document[_0x2c63f6(0x1e7)]),_0x3de117['$menu'][_0x2c63f6(0x183)](),_0x3de117[_0x2c63f6(0x205)][_0x2c63f6(0x166)]();},'mode'(){const _0x9fbfe2=_0x596ede,_0x3a6507=this;return _0x3c87ef(_0x3a6507[_0x9fbfe2(0x210)]);},'setMode'(_0x1683e0){const _0xbc684e=_0x596ede,_0x4df6d4=this,_0x441574=_0xd1c8bc(_0x1683e0);_0x4df6d4[_0xbc684e(0x210)]=_0x441574;},'_create'(){const _0x3ed666=_0x596ede,_0x46614e=this;_0x46614e[_0x3ed666(0x244)]=this[_0x3ed666(0x25c)],_0x46614e[_0x3ed666(0x244)]['css']('border','none'),_0x46614e['$elementDiv']=_0x46614e[_0x3ed666(0x244)][_0x3ed666(0x14a)](_0x3ed666(0x25b))[_0x3ed666(0x1cf)]()['addClass'](_0x3ed666(0x248)),_0x46614e[_0x3ed666(0x174)]=$('<div/>'),_0x46614e[_0x3ed666(0x174)][_0x3ed666(0x218)]('sterfive-combo-box'),_0x46614e[_0x3ed666(0x244)][_0x3ed666(0x143)](_0x46614e[_0x3ed666(0x174)]),_0x46614e[_0x3ed666(0x21a)]=$(_0x3ed666(0x18d))['addClass'](_0x3ed666(0x25a)),_0x46614e[_0x3ed666(0x174)]['append'](_0x46614e['$inputGroup']),_0x46614e[_0x3ed666(0x21a)]['append'](_0x46614e['$input']),_0x46614e[_0x3ed666(0x1da)]=$('<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>'),_0x46614e[_0x3ed666(0x244)][_0x3ed666(0x151)](_0x46614e[_0x3ed666(0x1da)]),_0x46614e['$toggleTreeBtn']['on'](_0x3ed666(0x190),function(){return _0x38f029(this,void 0x0,void 0x0,function*(){const _0x556d15=_0x1086;var _0x4f4323;let _0x38ce79=![],_0x9e322e;!_0x46614e[_0x556d15(0x186)]['is'](_0x556d15(0x18c))&&(_0x46614e[_0x556d15(0x1d6)][_0x556d15(0x183)](),_0x9e322e=yield _0x46614e[_0x556d15(0x1e3)](),(_0x9e322e!==_0x46614e[_0x556d15(0x14b)]||((_0x4f4323=_0x46614e[_0x556d15(0x14b)])===null||_0x4f4323===void 0x0?void 0x0:_0x4f4323['nodeId'])!==_0x9e322e[_0x556d15(0x170)])&&(yield _0x46614e[_0x556d15(0x256)]()),_0x38ce79=!![]),_0x46614e[_0x556d15(0x186)][_0x556d15(0x204)](),_0x38ce79&&(yield _0x487486(_0x46614e,_0x9e322e));});}),_0x46614e[_0x3ed666(0x250)]=$(_0x3ed666(0x233)),_0x46614e[_0x3ed666(0x244)][_0x3ed666(0x151)](_0x46614e['$verifyBtn']),_0x46614e[_0x3ed666(0x250)]['on']('click',()=>{const _0x1fa7a3=_0x3ed666,_0x67a817=_0x46614e['mode']();if(!_0x67a817)return;this[_0x1fa7a3(0x164)](_0x67a817);});const _0x2faffb=_0x41ba2c=>_0x38f029(this,void 0x0,void 0x0,function*(){const _0xb51c7c=_0x3ed666,_0x2be248=this;let _0x472df6=_0x2be248['mode']();if(!_0x472df6)return;const _0xcff810=_0xf24131(_0x2be248),{data:_0x45a00a,json:_0x2a48ef}=yield _0x5084b5(_0xcff810,_0x41ba2c);if(_0x45a00a['status']!==0xc8)return;if(_0x2a48ef[_0xb51c7c(0x14c)]['match'](/Good/)){const _0x1d7c61=_0x5dcdee(_0x2a48ef,_0x472df6);_0x2be248[_0xb51c7c(0x244)][_0xb51c7c(0x1ed)](_0x1d7c61),_0x2be248['$input'][_0xb51c7c(0x1ab)](_0xb51c7c(0x16c));}});{_0x46614e[_0x3ed666(0x211)]=$(_0x3ed666(0x25b)),_0x46614e['$input'][_0x3ed666(0x1cd)](_0x46614e[_0x3ed666(0x211)]),_0x46614e[_0x3ed666(0x205)]=$(_0x3ed666(0x191))[_0x3ed666(0x156)](_0x46614e[_0x3ed666(0x211)]),$('<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>')[_0x3ed666(0x204)](!![])[_0x3ed666(0x149)](_0x46614e[_0x3ed666(0x205)]),_0x46614e['$selectTrigger']['on'](_0x3ed666(0x190),function(_0x1e2b84){const _0x2b10ab=_0x3ed666;_0x1e2b84[_0x2b10ab(0x24e)](),_0x1e2b84[_0x2b10ab(0x1b0)](),_0x46614e[_0x2b10ab(0x15b)]();}),_0x46614e[_0x3ed666(0x205)]['on'](_0x3ed666(0x1c5),function(_0x168485){const _0x38a7d5=_0x3ed666;_0x168485[_0x38a7d5(0x162)]===0x28&&_0x46614e['_showTypeMenu'](),_0x168485[_0x38a7d5(0x1b0)]();})['on'](_0x3ed666(0x177),function(){const _0x36b884=_0x3ed666;_0x46614e[_0x36b884(0x211)][_0x36b884(0x218)](_0x36b884(0x24c));})['on'](_0x3ed666(0x226),function(){const _0x20054a=_0x3ed666;_0x46614e[_0x20054a(0x211)][_0x20054a(0x21c)]('red-ui-typedInput-focus');}),_0x46614e[_0x3ed666(0x1fd)]=$('<span\x20class=\x22red-ui-typedInput-type-label\x22></span>')[_0x3ed666(0x149)](_0x46614e['$selectTrigger']);}this[_0x3ed666(0x231)]();!_0x46614e[_0x3ed666(0x244)]['attr'](_0x3ed666(0x1f9))&&_0x46614e[_0x3ed666(0x244)]['attr']('placeholder','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20');_0x46614e[_0x3ed666(0x1d6)]=$(_0x3ed666(0x16d)),_0x46614e[_0x3ed666(0x1d6)][_0x3ed666(0x183)](),_0x46614e['$combo']['append'](_0x46614e[_0x3ed666(0x1d6)]),_0x46614e['$dropdown']=$('<div/>')[_0x3ed666(0x218)](_0x3ed666(0x1fb))[_0x3ed666(0x183)]()[_0x3ed666(0x149)](_0x46614e['$combo']),_0x46614e[_0x3ed666(0x17a)]=$(_0x3ed666(0x1c3))['appendTo'](_0x46614e[_0x3ed666(0x186)]),this[_0x3ed666(0x256)]();const _0x58f0ea=(_0x5a9408,_0x32bea5)=>{const _0x2b0b14=_0x3ed666,_0x1ae120=0x14,_0x2a21e2=0x14,_0x4f8590=_0x5a9408['offset'](),_0x1ceb58=_0x32bea5;if(_0x1ceb58['pageX']>=_0x4f8590['left']&&_0x1ceb58[_0x2b0b14(0x192)]<=_0x4f8590['left']+_0x1ae120&&_0x1ceb58[_0x2b0b14(0x1d0)]>=_0x4f8590['top']&&_0x1ceb58[_0x2b0b14(0x1d0)]<=_0x4f8590[_0x2b0b14(0x1ba)]+_0x2a21e2)return!![];return![];},_0x439c9a=_0x3aeb89=>_0x38f029(this,void 0x0,void 0x0,function*(){const _0x46702a=_0x3ed666;if(_0x3aeb89[_0x46702a(0x145)](_0x46702a(0x1f8)))_0x240b48(_0x46614e,_0x3aeb89);else{if(_0x3aeb89['hasClass'](_0x46702a(0x1c7)))_0x3aeb89[_0x46702a(0x1d3)]('ul')[_0x46702a(0x204)](),_0x3aeb89[_0x46702a(0x152)](_0x46702a(0x230));else{if(_0x3aeb89['children']('ul')[_0x46702a(0x1d3)]()[_0x46702a(0x202)]>0x0)_0x3aeb89[_0x46702a(0x1d3)]('ul')[_0x46702a(0x204)](),_0x3aeb89[_0x46702a(0x152)](_0x46702a(0x230));else;}}});_0x46614e['$tree']['on'](_0x3ed666(0x23d),'li',function(_0x4f845b){const _0x28c128=_0x3ed666;var _0x33bbdd,_0xdabca;_0x4f845b[_0x28c128(0x1b0)]();let _0x419b3f=$(this);if(_0x58f0ea(_0x419b3f,_0x4f845b))_0x439c9a(_0x419b3f);else{const _0x333c66=_0x419b3f[_0x28c128(0x21e)](_0x28c128(0x1c8)),_0x4455bd=_0x419b3f[_0x28c128(0x21e)](_0x28c128(0x22c));if(_0x46614e['options']['isSelectable']&&!_0x46614e[_0x28c128(0x1b6)][_0x28c128(0x24b)](_0x4455bd))return;_0x46614e[_0x28c128(0x244)][_0x28c128(0x21e)](_0x28c128(0x22c),_0x4455bd),((_0x33bbdd=_0x4455bd['displayName'])===null||_0x33bbdd===void 0x0?void 0x0:_0x33bbdd[_0x28c128(0x1dd)])||((_0xdabca=_0x4455bd[_0x28c128(0x259)])===null||_0xdabca===void 0x0?void 0x0:_0xdabca[_0x28c128(0x253)])||_0x4455bd['nodeId']['toString']();let _0x2b62ea=_0x46614e['mode']();!_0x2b62ea&&(_0x2b62ea=_0x28c128(0x170),_0x46614e['setMode'](_0x2b62ea)),_0x2faffb(_0x333c66)[_0x28c128(0x23b)](()=>{_0x46614e['$dropdown']['hide']();})[_0x28c128(0x159)](_0x1e9a35=>{_0x46614e['$dropdown']['hide']();});}}),_0x46614e[_0x3ed666(0x17a)]['on'](_0x3ed666(0x190),'li',function(_0x2f9287){const _0xbd9a91=_0x3ed666;_0x2f9287[_0xbd9a91(0x1b0)]();let _0x5c4014=$(this);_0x58f0ea(_0x5c4014,_0x2f9287)&&_0x439c9a(_0x5c4014),_0x592652(_0x46614e,_0x5c4014);}),$(document)['on']('click',function(_0x18a158){const _0x4c065b=_0x3ed666;!$(_0x18a158[_0x4c065b(0x18f)])[_0x4c065b(0x22d)](_0x46614e[_0x4c065b(0x174)])['length']&&_0x46614e['$dropdown']['hide']();});}});},_0x137287=()=>{const _0x56d0a2=_0x3e359e,_0x3a5424=$(_0x56d0a2(0x21f)),_0x5277d0=_0x3a5424[_0x56d0a2(0x1ed)](),_0x223d3c=RED[_0x56d0a2(0x1a4)][_0x56d0a2(0x19f)](_0x5277d0);if(!_0x223d3c)return undefined;const {endpoint:_0x51dbe5,securityMode:_0x239f94,securityPolicy:_0x4636ee,userIdentityType:_0x12f19a,credentials:_0x58b347,namespaceAliases:_0x313706}=_0x223d3c,_0x4a87a1={'endpoint':_0x51dbe5,'securityMode':_0x239f94,'securityPolicy':_0x4636ee,'userIdentityType':_0x12f19a,'credentials':_0x58b347,'namespaceAliases':_0x313706};return _0x4a87a1;},_0x2a4d3d=()=>{const _0x52ec88=_0x3e359e,_0x16440b=$(_0x52ec88(0x21f)),_0x5f1f42=_0x16440b[_0x52ec88(0x1ed)](),_0x3917d2=_0x137287();if(!_0x3917d2)return undefined;const _0x51140f=_0x3917d2[_0x52ec88(0x150)];return Object[_0x52ec88(0x266)]({'namespaceAliases':_0x51140f,'id':_0x5f1f42},_0x3917d2);},_0x41aa91=()=>{return{'endpointNode':_0x2a4d3d};},_0x4b524f=()=>{const _0x1d1d4a=_0x3e359e,_0x49693c=$(_0x1d1d4a(0x146));if(_0x49693c[_0x1d1d4a(0x202)]){const _0x1474e7=$(_0x1d1d4a(0x200),{'src':'/opcua-for-node-red/support-frame.html','scrolling':'no','style':_0x1d1d4a(0x1ec),'allowtransparency':'true','width':_0x1d1d4a(0x1a1),'height':_0x1d1d4a(0x1a2)});_0x49693c[_0x1d1d4a(0x173)](_0x1474e7),_0x1474e7[_0x1d1d4a(0x201)]({'position':_0x1d1d4a(0x22b),'right':_0x1d1d4a(0x17f),'bottom':_0x1d1d4a(0x1b8)});}};RED[_0x3e359e(0x1a4)][_0x3e359e(0x20e)](_0x3e359e(0x252),{'category':_0x3e359e(0x15f),'color':_0x3e359e(0x219),'align':_0x3e359e(0x189),'icon':_0x3e359e(0x19c),'paletteLabel':_0x3e359e(0x19d),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x3e359e(0x213)},'nodeId':{'value':'','required':![]},'outputType':{'value':_0x3e359e(0x16a),'required':!![]},'excludeEmpty':{'value':![]},'followOrganizes':{'value':![]}},'outputs':0x1,'label'(){const _0x1cd8d5=_0x3e359e;return this[_0x1cd8d5(0x253)]||'OPCUA\x20Explore';},'labelStyle'(){const _0x6e1a6b=_0x3e359e;return this[_0x6e1a6b(0x253)]?_0x6e1a6b(0x1cb):'';},'oneditprepare'(){const _0x3a596b=_0x3e359e,_0x254cdb=this;_0x3dd1c5(),_0x4b524f(),_0x254cdb['inputs']=0x1;const _0x20083d=$(_0x3a596b(0x1df));_0x20083d[_0x3a596b(0x261)](Object[_0x3a596b(0x266)](Object[_0x3a596b(0x266)]({},_0x41aa91()),{'isSelectable'(_0x1c0af8){const _0x72f580=_0x3a596b;return _0x1c0af8['nodeClass']===_0x72f580(0x16f)||_0x1c0af8[_0x72f580(0x240)]===_0x72f580(0x1db);}}));},'oneditsave'(){}});}()));function _0x236a(){const _0x234fab=['$dropdown','scrollTop','HasProperty','right','mousedown','18px',':visible','<div/>','BrowseName','target','click','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','pageX','aliased\x20browsePath:\x20','SandyBrown','string','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','_hideMenu','slideDown','call','done','Value\x20is\x20not\x20verified','../../icons/opcuanodeLogo.png','explore','localeCompare','node','[value=\x27','180px','30px','HasSubtype','nodes','fa-cog','ns=0;i=85','loading','/browse','next','_delay','trigger','BrowsePath','selected','grey','find','stopPropagation','multiple','Unspecified','match','error','3362367tGWcdd','options','function','16px','Organizes','top','fa-object-group','ns=0;i=46','none','already\x20loading','callback','mousedown.red-ui-typedInput-close-property-select','opc.tcp://opcuademo.sterfive.com:26543','fetched','<ul\x20class=\x22sterfive-tree\x22></ul>','DarkOrange','keydown','nsu\x20nodeId:\x20','expanded','value','prop',');\x20-webkit-mask-image:\x20url(','node_label_italic','bp_indexed','before','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','parent','pageY','\x22}><span\x20class=\x22tree-text\x22\x20title=','status','children','remove','failure','$info','rgba(61,\x2060,\x204,\x200.525)','icon','fa-list-alt','$toggleTreeBtn','Object','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','text','browseResult','#node-input-nodeId','273775AuXeir','$elementDiv','><i\x20class=\x22fa\x20','resolveParentNode','NodeClass','application/json','sterfive-typedInput-options\x20sterfive-online-menu','body','fa-text-width','HasComponent','nsu','<i>','background-color:transparent;overflow:hidden;border:3px','val','red-ui-typedInput-icon\x20','statusText','SteelBlue','parentNode','browse\x20path:\x20',':first','push','browsePath','HasChild','2844780YheKSt','expandable','placeholder','li[key=\x22','sterfive-dropdown','endpointNode','$selectLabel','Method','filter','<iframe></iframe>','css','length','typeDefinition','toggle','$selectTrigger','NodeId','red-ui-typedInput-icon','disarmClick','View','DataType','aliasedBrowsePath','ObjectType',';\x22></i>\x20','registerType','tabindex','selectedMenuItem','$uiSelect','ns=0;i=34','OpcUa-Endpoint2','7LzPGWx','widget','Inverse','NodeId\x20with\x20namespace\x20Urn','addClass','#C0DEED','$inputGroup','toString','removeClass',':focus','data','#node-input-endpoint','message','offset','json','opts','Good','</li>','blur','references','</span>','height','DisplayName','absolute','reference','closest','endpoint','ns=0;i=45','expandable\x20expanded','_initMenu','prev','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','fa-question','HasTypeDefinition','i=61','Aliased\x20Browse\x20Path','baseUrl','ReferenceType','4141520QPXMob','then','_showMenu','dblclick','Forward','msg','nodeClass','aliased\x20NodeId:\x20','elements','stringify','$input','referenceTypeId','nodeId_aliased','<a\x20href=\x22#\x22></a>','main-wrapper','aliasedNodeId','1569914YkmxqE','isSelectable','red-ui-typedInput-focus','.tree-text:first','preventDefault','/checkNodeId','$verifyBtn','suppressed','OpcUa-Client2-Explore','name','104594uwgOLh','>&nbsp;\x20','reset','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20','sterfive.nodeBrowser','browseName','sterfive-input-group','<div>','element','forEach','4EOEonK','pointer-events','nodeId_nsu','nodeBrowser','ns=0;i=35','$menu','attr','nodeIds','assign','7568442WoMaQm','err','apply','<div\x20class=\x22spinner\x22></div>','ns=0;i=47','replaceWith','30gKRhyk','hasClass','.red-ui-tray-body','indexOf','POST','appendTo','wrap','currentParent','statusCode','Objects','SeaGreen','TypeDefinition','namespaceAliases','after','toggleClass','<li\x20key=\x22','mask-image:\x20url(','__parentNode','prependTo','join','Both','catch','VariableType','_showTypeMenu','throw','isTypeRef','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','opcua','sort','fa-sliders','keyCode','relativePath','verify','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','show','<span\x20title=','label','Aliased\x20NodeId','Value','title','change','<div\x20class=\x22sterfive-info-text\x22></div>','displayName','Variable','nodeId','/opcua-for-node-red','animate','append','$combo','Invalid','mousedown.red-ui-typedInput-focus-block','focus','ns=0;i=61','/walk-backward','$tree','requestedNodeId','IsForward','sterfive-input-error','nsuNodeID','20px','bp_aliased','log','empty','hide','off','.spinner'];_0x236a=function(){return _0x234fab;};return _0x236a();}
9
8
  </script>
10
9
  <script type="text/x-red" data-template-name="OpcUa-Client2-Explore">
11
10
  <style>