@opcua/for-node-red 3.9.0 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,8 +4,7 @@
4
4
  </style>
5
5
 
6
6
  <script type="text/javascript">
7
- function _0x1abf(){const _0x100dc5=['opts','stringify',';\x22></i>\x20','appendTo','VariableType','attr','target','referenceTypeId','<div>','171966czEjut','background-color:transparent;overflow:hidden;border:3px',');\x20-webkit-mask-image:\x20url(','element','NodeId\x20with\x20namespace\x20Urn','css','already\x20fetched','Good','grey','each','err','Aliased\x20Browse\x20Path','statusText','before','blur','rgba(61,\x2060,\x204,\x200.525)','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','off','json','append','$tree','height','16px','relativePath','</span>','assign','<iframe></iframe>','typeDefinition','disarmClick','$info','border','expandable\x20expanded','HasSubtype','5138525COVJjZ','offset','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','Value\x20is\x20not\x20verified','displayName','bp_aliased','DisplayName','preventDefault','none','nodeBrowser','<div\x20class=\x22sterfive-info-text\x22></div>','length','suppressed','ReferenceType','_createMenu','Aliased\x20NodeId','after','failure','keyCode','scrollTop','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','$uiSelect','nsu','val','reset','fetching\x20failed\x20with\x20error','180px','!!failure!!','Objects','661437tHBZmd','<div/>','parent','click','Both','node\x20class:\x20','DataType','body','toggleClass','trigger','TypeDefinition','Object','ObjectType','bp_indexed','status','namespaceAliases','>&nbsp;\x20','$elementDiv','<li>error\x20','i=0','apply','aliasedNodeId','nodeId','hasClass','animate','$combo','msg.','376vPOooP','toggle','hide','nodeClass','title','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','Invalid','.tree-text:first','/checkNodeId','pageY','opcua','reference','Variable','30px','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','<ul\x20class=\x22sterfive-tree\x22></ul>','expanded','checked','OpcUa-Endpoint2','fetched','elements','</span><ul></ul></li>','left','sterfive-combo-box','_showMenu','setMode','SeaGreen','Inverse','function','i=61','6171sIIUbN','NodeClass','Forward','loading','slideDown','<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20','options','isSelectable','#node-input-dataType','expandable','true','_showTypeMenu','ns=0;i=47','parentNode','closest','isTypeRef','../../icons/opcuanodeLogo.png','absolute','sterfive-typedInput-options\x20sterfive-online-menu','push','string','<input\x20type=\x22checkbox\x22>','join','placeholder','done','prependTo','/opcua-for-node-red/support-frame.html','mode','$menu','_hideMenu','$dropdown','data','then','toString','value','empty','i=22','change',':first','widget','multiple','sterfive.nodeBrowser','ns=0;i=61','statusCode:\x20','/opcua-for-node-red','resolveParentNode','extension\x20object','log',':focus','replaceWith','sterfive-input-group','endpointNode','removeClass','node','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','already\x20loading','$input','icon','catch','sterfive-input-error','CadetBlue','keydown','BrowsePath','currentParent','/browse','right','OPCUA\x20Client\x20Extension\x20Object','fa-question','fa-object-group','installFeedbackWidget\x20','464769pBuAFR','.spinner','mask-image:\x20url(','$selectTrigger','mousedown','fa-folder','tabindex','\x22\x20style=\x22color:','72DDGAMI','endpoint','label','input[type=\x22checkbox\x22]','prev','remove','next','selected','browsePath','pageX','fa-cog','$inputGroup','fa-list-alt','red-ui-typedInput-focus','.red-ui-tray-body','application/json','$toggleTreeBtn','Organizes','nsuNodeID','verify','mousedown.red-ui-typedInput-close-property-select','opc.tcp://opcuademo.sterfive.com:26543','prop','stopPropagation','<a\x20href=\x22#\x22></a>','browseResult','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','Structure','top','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','IsForward','children','position','ns=0;i=85','references','NodeId','$selectLabel','aliasedBrowsePath','call','100PhjgDH','18px','Unspecified','7544720gfLecW','baseUrl','ns=0;i=45','fa-sliders','localeCompare','Method','error','DarkOrange','node_label_italic','text','nodeIds','nodeId_nsu','match','name','__parentNode','aliased\x20browsePath:\x20','$verifyBtn','wrap','addClass','selectedMenuItem','mousedown.red-ui-typedInput-focus-block','20px','message','browseName','View','focus','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','\x22}><span\x20class=\x22tree-text\x22\x20title=','auto','nodeId_aliased','BrowseName','16636OglWhA','sort','filter','statusCode','nodes','OpcUa-Client2-ExtensionObject','find','red-ui-typedInput-icon','callback','browse\x20path:\x20'];_0x1abf=function(){return _0x100dc5;};return _0x1abf();}function _0xcc6e(_0x28280a,_0x5cd6fb){const _0x1abfce=_0x1abf();return _0xcc6e=function(_0xcc6edc,_0x2f9508){_0xcc6edc=_0xcc6edc-0x114;let _0x4f1f18=_0x1abfce[_0xcc6edc];return _0x4f1f18;},_0xcc6e(_0x28280a,_0x5cd6fb);}(function(_0x52456c,_0x3b69a9){const _0x3d2f0d=_0xcc6e,_0x190c26=_0x52456c();while(!![]){try{const _0x5aaff1=-parseInt(_0x3d2f0d(0x14b))/0x1+-parseInt(_0x3d2f0d(0x20a))/0x2*(parseInt(_0x3d2f0d(0x228))/0x3)+-parseInt(_0x3d2f0d(0x19c))/0x4+parseInt(_0x3d2f0d(0x17a))/0x5*(parseInt(_0x3d2f0d(0x1af))/0x6)+-parseInt(_0x3d2f0d(0x1d2))/0x7+-parseInt(_0x3d2f0d(0x153))/0x8*(-parseInt(_0x3d2f0d(0x1ef))/0x9)+parseInt(_0x3d2f0d(0x17d))/0xa;if(_0x5aaff1===_0x3b69a9)break;else _0x190c26['push'](_0x190c26['shift']());}catch(_0x4f08ed){_0x190c26['push'](_0x190c26['shift']());}}}(_0x1abf,0x61832),(function(){'use strict';const _0x2d4fc5=_0xcc6e;function _0x516d94(_0x1a6798,_0x55144e,_0x1c7d51,_0x546cf6){function _0x43ce8a(_0x11ccc8){return _0x11ccc8 instanceof _0x1c7d51?_0x11ccc8:new _0x1c7d51(function(_0x342be7){_0x342be7(_0x11ccc8);});}return new(_0x1c7d51||(_0x1c7d51=Promise))(function(_0x136675,_0x25d680){const _0x326392=_0xcc6e;function _0x5046ee(_0x415794){const _0x1cf253=_0xcc6e;try{_0x1b5726(_0x546cf6[_0x1cf253(0x159)](_0x415794));}catch(_0x2aa73d){_0x25d680(_0x2aa73d);}}function _0x2cb803(_0x9f2950){try{_0x1b5726(_0x546cf6['throw'](_0x9f2950));}catch(_0x3087fc){_0x25d680(_0x3087fc);}}function _0x1b5726(_0x1fbfec){const _0x180396=_0xcc6e;_0x1fbfec[_0x180396(0x11d)]?_0x136675(_0x1fbfec[_0x180396(0x127)]):_0x43ce8a(_0x1fbfec[_0x180396(0x127)])[_0x180396(0x125)](_0x5046ee,_0x2cb803);}_0x1b5726((_0x546cf6=_0x546cf6[_0x326392(0x203)](_0x1a6798,_0x55144e||[]))[_0x326392(0x159)]());});}typeof SuppressedError===_0x2d4fc5(0x226)?SuppressedError:function(_0x472d8d,_0xd1772a,_0x123dc9){const _0x1f8590=_0x2d4fc5;var _0x4fcd4e=new Error(_0x123dc9);return _0x4fcd4e[_0x1f8590(0x18a)]='SuppressedError',_0x4fcd4e[_0x1f8590(0x183)]=_0x472d8d,_0x4fcd4e[_0x1f8590(0x1de)]=_0xd1772a,_0x4fcd4e;};const _0x289f7d='ns=0;i=35',_0xfe0e13=_0x2d4fc5(0x12f),_0x212ae1=_0x2d4fc5(0x234),_0x853bc9='ns=0;i=46',_0xa74b38='ns=0;i=34',_0xd555cd=_0x2d4fc5(0x17f),_0x3dfd03='ns=0;i=40';var _0x2aac4d;(function(_0x139bd2){const _0x50b170=_0x2d4fc5;_0x139bd2[_0x139bd2[_0x50b170(0x22a)]=0x0]=_0x50b170(0x22a),_0x139bd2[_0x139bd2[_0x50b170(0x225)]=0x1]=_0x50b170(0x225),_0x139bd2[_0x139bd2['Both']=0x2]=_0x50b170(0x1f3),_0x139bd2[_0x139bd2[_0x50b170(0x210)]=0x3]=_0x50b170(0x210);}(_0x2aac4d||(_0x2aac4d={})));var _0x31b78b;(function(_0x4c8a94){const _0x1cc690=_0x2d4fc5;_0x4c8a94[_0x4c8a94[_0x1cc690(0x17c)]=0x0]=_0x1cc690(0x17c),_0x4c8a94[_0x4c8a94['Object']=0x1]='Object',_0x4c8a94[_0x4c8a94[_0x1cc690(0x216)]=0x2]='Variable',_0x4c8a94[_0x4c8a94[_0x1cc690(0x182)]=0x4]='Method',_0x4c8a94[_0x4c8a94['ObjectType']=0x8]='ObjectType',_0x4c8a94[_0x4c8a94['VariableType']=0x10]=_0x1cc690(0x1aa),_0x4c8a94[_0x4c8a94['ReferenceType']=0x20]=_0x1cc690(0x1df),_0x4c8a94[_0x4c8a94[_0x1cc690(0x1f5)]=0x40]=_0x1cc690(0x1f5),_0x4c8a94[_0x4c8a94[_0x1cc690(0x195)]=0x80]='View';}(_0x31b78b||(_0x31b78b={})));var _0x638fa1;(function(_0x45dc7e){const _0x503308=_0x2d4fc5;_0x45dc7e[_0x45dc7e[_0x503308(0x1fa)]=0x1]=_0x503308(0x1fa),_0x45dc7e[_0x45dc7e['Variable']=0x2]=_0x503308(0x216),_0x45dc7e[_0x45dc7e['Method']=0x4]=_0x503308(0x182),_0x45dc7e[_0x45dc7e[_0x503308(0x1fb)]=0x8]=_0x503308(0x1fb),_0x45dc7e[_0x45dc7e[_0x503308(0x1aa)]=0x10]=_0x503308(0x1aa),_0x45dc7e[_0x45dc7e[_0x503308(0x1df)]=0x20]=_0x503308(0x1df),_0x45dc7e[_0x45dc7e[_0x503308(0x1f5)]=0x40]='DataType',_0x45dc7e[_0x45dc7e[_0x503308(0x195)]=0x80]=_0x503308(0x195);}(_0x638fa1||(_0x638fa1={})));var _0x2c9775;(function(_0x500ba3){const _0x2337a2=_0x2d4fc5;_0x500ba3[_0x500ba3[_0x2337a2(0x1df)]=0x1]=_0x2337a2(0x1df),_0x500ba3[_0x500ba3[_0x2337a2(0x171)]=0x2]='IsForward',_0x500ba3[_0x500ba3[_0x2337a2(0x229)]=0x4]=_0x2337a2(0x229),_0x500ba3[_0x500ba3[_0x2337a2(0x19b)]=0x8]='BrowseName',_0x500ba3[_0x500ba3[_0x2337a2(0x1d8)]=0x10]=_0x2337a2(0x1d8),_0x500ba3[_0x500ba3[_0x2337a2(0x1f9)]=0x20]=_0x2337a2(0x1f9);}(_0x2c9775||(_0x2c9775={})));function _0x1e1767(_0x29abad){const _0x2ac98b=_0x2d4fc5;switch(_0x29abad){case _0x2ac98b(0x164):return _0x289f7d;case'HasProperty':return _0x853bc9;case'HasComponent':return _0x212ae1;case'HasChild':return _0xa74b38;case _0x2ac98b(0x1d1):return _0xd555cd;case'HasTypeDefinition':return _0x3dfd03;}}const _0x6bb92a=_0x56e662=>{const _0xf85bde=_0x2d4fc5;switch(_0x56e662[_0xf85bde(0x20d)]){case'Object':if(_0x56e662[_0xf85bde(0x1ad)]===_0x289f7d);if(_0x56e662[_0xf85bde(0x1cc)]===_0xfe0e13||_0x56e662[_0xf85bde(0x1ad)]===_0xf85bde(0x227))return{'icon':_0xf85bde(0x150),'color':_0xf85bde(0x1be)};return{'icon':_0xf85bde(0x149),'color':_0xf85bde(0x224)};case _0xf85bde(0x216):if(_0x56e662[_0xf85bde(0x1ad)]===_0x212ae1)return{'icon':_0xf85bde(0x15f),'color':'SteelBlue'};else return _0x56e662[_0xf85bde(0x1ad)]===_0x853bc9?{'icon':_0xf85bde(0x15f),'color':'DodgerBlue'}:{'icon':'fa-list-alt','color':_0xf85bde(0x141)};case'Method':return{'icon':_0xf85bde(0x15d),'color':'SandyBrown'};case'ObjectType':return{'icon':_0xf85bde(0x149),'color':_0xf85bde(0x184)};case'VariableType':return{'icon':_0xf85bde(0x180),'color':_0xf85bde(0x184)};case _0xf85bde(0x1f5):return{'icon':'fa-text-width','color':_0xf85bde(0x141)};}return{'icon':_0xf85bde(0x148),'color':_0xf85bde(0x1b7)};},_0x3686ff=(_0x221774,_0x1b0cec,_0x57fca1)=>_0x516d94(void 0x0,[_0x221774,_0x1b0cec,_0x57fca1],void 0x0,function*({endpointNode:_0x49573c,endpoint:_0x56a25f,baseUrl:_0x957e3e},_0x14593c,_0x5d590a){const _0x26a7c1=_0x2d4fc5,_0x2fbc08=_0x957e3e+_0x26a7c1(0x131),_0x4675b1=_0x2fbc08+_0x26a7c1(0x145),_0x419c53=Object[_0x26a7c1(0x1ca)](Object[_0x26a7c1(0x1ca)]({},_0x5d590a),{'nodeId':_0x14593c,'resultMask':0x3f}),_0x94c807=yield fetch(_0x4675b1,{'method':'POST','body':JSON[_0x26a7c1(0x1a7)]({'endpointNode':_0x49573c,'endpoint':_0x56a25f,'browseDescription':_0x419c53}),'headers':{'Content-Type':_0x26a7c1(0x162)}});if(_0x94c807['status']!==0xc8)return console[_0x26a7c1(0x134)](_0x26a7c1(0x1eb),_0x94c807[_0x26a7c1(0x1fd)],_0x94c807[_0x26a7c1(0x1bb)]),{'references':[]};const _0x54d93e=yield _0x94c807[_0x26a7c1(0x1c3)](),_0x14d9c9=_0x54d93e[_0x26a7c1(0x16c)][_0x26a7c1(0x175)]||[];return{'references':_0x14d9c9};}),_0x24a017={'referenceTypeId':_0x1e1767('HasChild'),'includeSubtypes':!![],'browseDirection':_0x2aac4d[_0x2d4fc5(0x22a)],'nodeClassMask':_0x31b78b[_0x2d4fc5(0x216)]|_0x31b78b['Object']|_0x31b78b[_0x2d4fc5(0x182)],'resultMask':0x3f},_0x40a3ae={'referenceTypeId':_0x1e1767(_0x2d4fc5(0x164)),'includeSubtypes':!![],'browseDirection':_0x2aac4d[_0x2d4fc5(0x22a)],'nodeClassMask':_0x31b78b[_0x2d4fc5(0x216)]|_0x31b78b[_0x2d4fc5(0x1fa)]|_0x31b78b[_0x2d4fc5(0x182)],'resultMask':0x3f},_0x32a482=(_0x428396,_0x166cf4)=>_0x516d94(void 0x0,[_0x428396,_0x166cf4],void 0x0,function*({endpointNode:_0x2cfb64,endpoint:_0x212eb8,baseUrl:_0x67c1a},{nodeId:_0x39f504,rootNodeId:_0x536601,isType:_0x525793}){const _0xaa274d=_0x2d4fc5,_0xef78da=_0x67c1a+_0xaa274d(0x131),_0x175685=_0xef78da+'/walk-backward',_0x12b0a0=yield fetch(_0x175685,{'method':'POST','body':JSON[_0xaa274d(0x1a7)]({'endpointNode':_0x2cfb64,'endpoint':_0x212eb8,'nodeId':_0x39f504,'rootNodeId':_0x536601,'isType':_0x525793}),'headers':{'Content-Type':'application/json'}});if(_0x12b0a0[_0xaa274d(0x1fd)]!==0xc8)return null;const _0x352d7f=yield _0x12b0a0[_0xaa274d(0x1c3)]();return _0x352d7f[_0xaa274d(0x15b)];}),_0x232945=(_0x547a91,_0x5d8185)=>{const _0x203380=_0x2d4fc5;if(_0x547a91['statusCode']!==_0x203380(0x1b6))return _0x547a91['requestedNodeId'];switch(_0x5d8185){case'browsePath':return _0x547a91[_0x203380(0x1fc)];case _0x203380(0x178):return _0x547a91[_0x203380(0x1d7)]||_0x547a91[_0x203380(0x1fc)];case _0x203380(0x204):return _0x547a91[_0x203380(0x19a)]||_0x547a91[_0x203380(0x188)];case _0x203380(0x165):return _0x547a91[_0x203380(0x188)];default:case _0x203380(0x205):return _0x547a91[_0x203380(0x205)];}},_0x33fdd3=_0x25e636=>{const _0x5532a5=_0x2d4fc5;if(_0x25e636[_0x5532a5(0x19f)]!==_0x5532a5(0x1b6))return _0x5532a5(0x130)+_0x25e636[_0x5532a5(0x19f)];else{let _0x175481=[];return _0x175481['push']('nodeId:\x20'+_0x25e636[_0x5532a5(0x205)]),_0x175481['push'](_0x5532a5(0x1a5)+_0x25e636[_0x5532a5(0x1fc)]),_0x175481[_0x5532a5(0x118)](_0x5532a5(0x1f4)+_0x31b78b[_0x25e636[_0x5532a5(0x20d)]]),_0x25e636['nodeId_nsu']&&_0x175481[_0x5532a5(0x118)]('nsu\x20nodeId:\x20'+_0x25e636['nodeId_nsu']),_0x25e636[_0x5532a5(0x19a)]&&_0x175481['push']('aliased\x20NodeId:\x20'+_0x25e636[_0x5532a5(0x19a)]),_0x25e636[_0x5532a5(0x1fc)]&&_0x175481[_0x5532a5(0x118)](_0x5532a5(0x18c)+_0x25e636[_0x5532a5(0x1d7)]),_0x175481[_0x5532a5(0x11b)]('\x0a');}};function _0xe38be7(_0x3a3273){const _0x5ddc3a=_0x2d4fc5;if(_0x3a3273[_0x5ddc3a(0x189)](/^nsu=/))return'nsuNodeID';if(_0x3a3273[_0x5ddc3a(0x189)](/^(ns=.*;)?(i|b|s|g)=/))return _0x5ddc3a(0x205);if(_0x3a3273[_0x5ddc3a(0x189)](/^nsa=/))return'aliasedNodeId';if(_0x3a3273['match'](/^(\/|\.)[0-9]+:/))return _0x5ddc3a(0x15b);if(_0x3a3273[_0x5ddc3a(0x189)](/^(\/|\.).*:/))return'browsePath';}function _0x18b8db(_0x340aee){const _0x20e1b1=_0x2d4fc5,_0x1a5464=_0xe38be7(_0x340aee);switch(_0x1a5464){case'nodeId':return'n';case _0x20e1b1(0x204):return'na';case _0x20e1b1(0x165):return _0x20e1b1(0x1e8);case _0x20e1b1(0x15b):return'b';case _0x20e1b1(0x178):return'ab';default:return't';}}function _0xab78dd(_0x1a6dc2){const _0x290f7d=_0x2d4fc5;let _0x499bfa;switch(_0x1a6dc2){case'n':_0x499bfa=_0x290f7d(0x205);break;case'na':_0x499bfa=_0x290f7d(0x204);break;case _0x290f7d(0x1e8):_0x499bfa=_0x290f7d(0x165);break;case'b':_0x499bfa=_0x290f7d(0x15b);break;case'ab':_0x499bfa='aliasedBrowsePath';break;}return _0x499bfa;}function _0x4561cd(_0x39d9c4){const _0x2928bf=_0x2d4fc5;switch(_0x39d9c4){case _0x2928bf(0x205):return'n';case _0x2928bf(0x204):return'na';case _0x2928bf(0x165):return _0x2928bf(0x1e8);case _0x2928bf(0x15b):return'b';case _0x2928bf(0x178):return'ab';default:return't';}}const _0x1f41eb=(_0x433a98,_0x25b088)=>_0x516d94(void 0x0,[_0x433a98,_0x25b088],void 0x0,function*({endpointNode:_0x455415,endpoint:_0x2121a6,baseUrl:_0x31d38b},_0x1e387a){const _0x300add=_0x2d4fc5,_0x2215fd=_0x31d38b+_0x300add(0x131),_0x49ae02=_0x2215fd+_0x300add(0x212),_0x8a2e46=_0x455415['id'],_0x21f5d4=RED[_0x300add(0x1a0)][_0x300add(0x13a)](_0x8a2e46);console['log'](_0x21f5d4[_0x300add(0x1fe)]),_0x21f5d4[_0x300add(0x1fe)];const _0xfe2b87=_0x455415[_0x300add(0x1fe)],_0x99c5a=yield fetch(_0x49ae02,{'method':'POST','body':JSON['stringify']({'endpointNode':_0x455415,'endpoint':_0x2121a6,'nodeId':_0x1e387a,'namespaceAliases':_0xfe2b87}),'headers':{'Content-Type':'application/json'}}),_0x38f84e=yield _0x99c5a['json']();return{'json':_0x38f84e,'data':_0x99c5a};}),_0xd674ff=(_0x368cd4,_0x12c656,_0x30e30d,_0x1b2bba)=>_0x516d94(void 0x0,[_0x368cd4,_0x12c656,_0x30e30d,_0x1b2bba],void 0x0,function*({endpointNode:_0x4bb048,endpoint:_0x3a2750,baseUrl:_0xc8fe0f},_0x4b6129,_0x4f66ba,_0x26c871){const _0x455728=_0x2d4fc5,_0x48708f=_0x4f66ba[_0x455728(0x1e9)](),{json:_0x4760ae,data:_0xbc04ed}=yield _0x1f41eb({'endpointNode':_0x4bb048,'endpoint':_0x3a2750,'baseUrl':_0xc8fe0f},_0x48708f),_0x52ae7f=(_0x5bef07,_0x33f70e)=>{const _0x2fafbe=_0x455728;_0x26c871[_0x2fafbe(0x186)](_0x5bef07)[_0x2fafbe(0x18f)]('sterfive-info')[_0x2fafbe(0x18f)](_0x33f70e),_0x26c871['show'](),setTimeout(()=>{const _0x40878f=_0x2fafbe;_0x26c871[_0x40878f(0x139)](_0x33f70e),_0x26c871[_0x40878f(0x20c)]();},0xbb8);};if(_0xbc04ed['status']!==0xc8)return _0x52ae7f(_0x455728(0x1ed)+_0x48708f,_0x455728(0x1e3)),![];else{if(_0x4760ae[_0x455728(0x19f)][_0x455728(0x189)](/Good/)){const _0x18072e=_0x33fdd3(_0x4760ae);_0x4f66ba[_0x455728(0x1ab)](_0x455728(0x20e),_0x18072e);const _0x59dc76=_0x232945(_0x4760ae,_0x4b6129);return _0x4f66ba[_0x455728(0x1e9)](_0x59dc76),_0x4f66ba[_0x455728(0x1f8)](_0x455728(0x12a)),_0x52ae7f(_0x455728(0x1b6),'ok'),!![];}else return _0x4f66ba[_0x455728(0x1e9)](''+_0x48708f),_0x52ae7f(_0x4760ae[_0x455728(0x19f)]+'\x20'+_0xbc04ed[_0x455728(0x1bb)],_0x455728(0x1e3)),![];}});function _0x2741f2(_0x34edf7,_0x32f283){return _0x516d94(this,void 0x0,void 0x0,function*(){const _0x21739f=_0xcc6e,_0x5cbb0b=_0x34edf7[_0x21739f(0x124)]('value'),_0x5b3392=yield _0x3686ff(_0x32f283,_0x5cbb0b,_0x24a017),_0x23a819=yield _0x3686ff(_0x32f283,_0x5cbb0b,_0x40a3ae);return{'references':[..._0x5b3392[_0x21739f(0x175)],..._0x23a819[_0x21739f(0x175)]]};});}const _0x48cc93={'referenceTypeId':_0x1e1767(_0x2d4fc5(0x1d1)),'includeSubtypes':!![],'browseDirection':_0x2aac4d[_0x2d4fc5(0x22a)],'nodeClassMask':_0x31b78b[_0x2d4fc5(0x1df)]|_0x31b78b[_0x2d4fc5(0x1fb)]|_0x31b78b['DataType']|_0x31b78b[_0x2d4fc5(0x1aa)],'resultMask':0x3f};function _0x1ce6f4(_0x2ef021,_0x24f8ef){return _0x516d94(this,void 0x0,void 0x0,function*(){const _0x21f0d0=_0xcc6e,_0x353f3c=_0x2ef021[_0x21f0d0(0x124)]('value'),_0x1d5263=yield _0x3686ff(_0x24f8ef,_0x353f3c,_0x48cc93);return _0x1d5263;});}const _0xebc74a=_0x575a25=>{const _0x2ae750=_0x2d4fc5;var _0x15243a,_0x2d4065,_0x58086d,_0x4df3b8;if(!_0x575a25||!_0x575a25['nodeId']){const _0x4daeb3=$('<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>');return _0x4daeb3;}const _0x5ab42d=_0x575a25['nodeId'][_0x2ae750(0x126)](),_0x3c2acd=((_0x15243a=_0x575a25[_0x2ae750(0x1d6)])===null||_0x15243a===void 0x0?void 0x0:_0x15243a[_0x2ae750(0x186)])||((_0x2d4065=_0x575a25['browseName'])===null||_0x2d4065===void 0x0?void 0x0:_0x2d4065[_0x2ae750(0x18a)])||_0x575a25[_0x2ae750(0x205)]['toString'](),{icon:_0x56a961,color:_0x17d1ed}=_0x6bb92a(_0x575a25),_0x5152ed='('+_0x575a25[_0x2ae750(0x205)][_0x2ae750(0x126)]()+')\x20'+(((_0x58086d=_0x575a25[_0x2ae750(0x194)])===null||_0x58086d===void 0x0?void 0x0:_0x58086d['name'])||((_0x4df3b8=_0x575a25['displayName'])===null||_0x4df3b8===void 0x0?void 0x0:_0x4df3b8[_0x2ae750(0x186)])||''),_0x3ec5ba=$('<li\x20key=\x22'+_0x575a25[_0x2ae750(0x205)]['toString']()+_0x2ae750(0x198)+_0x5152ed+'><i\x20class=\x22fa\x20'+_0x56a961+_0x2ae750(0x152)+_0x17d1ed+_0x2ae750(0x1a8)+_0x3c2acd+_0x2ae750(0x21f));return _0x3ec5ba[_0x2ae750(0x18f)](_0x2ae750(0x231)),_0x3ec5ba[_0x2ae750(0x124)](_0x2ae750(0x127),_0x5ab42d),_0x3ec5ba['data'](_0x2ae750(0x215),_0x575a25),_0x3ec5ba;},_0x53f75f=(_0x56813c,_0xa294ee)=>{return _0xa294ee['find']('li[key=\x22'+_0x56813c+'\x22]');},_0x5bd8c9=(_0x5985fe,_0xfe23d4)=>{const _0x1d8717=_0x2d4fc5;_0x5985fe['$tree'][_0x1d8717(0x1a2)]('li\x20>\x20.tree-text')['removeClass']('selected'),_0xfe23d4[_0x1d8717(0x1a2)](_0x1d8717(0x211))[_0x1d8717(0x18f)](_0x1d8717(0x15a));},_0x32e05b=(_0x59bf17,_0xd3df6b,_0x543954)=>_0x516d94(void 0x0,void 0x0,void 0x0,function*(){const _0x1cef76=_0x2d4fc5;let _0x7d6a78=_0x543954[_0x1cef76(0x172)](_0x1cef76(0x12b));_0xd3df6b[_0x1cef76(0x1c8)][_0x1cef76(0x21e)]||[];const _0x5524b9=_0xd3df6b[_0x1cef76(0x187)]||[];if(_0x5524b9['length']===0x0)return;for(const _0x8e5e42 of _0x5524b9){_0x7d6a78['hasClass'](_0x1cef76(0x231))&&(yield _0x147aab(_0x59bf17,_0x7d6a78));const _0x4be6d6=_0x53f75f(_0x8e5e42,_0x7d6a78);if(_0x4be6d6['length']===0x0)return;_0x7d6a78=_0x4be6d6;}_0x5bd8c9(_0x59bf17,_0x7d6a78),_0x255f37(_0x59bf17[_0x1cef76(0x123)],_0x7d6a78);});function _0x255f37(_0x43acbc,_0x5850a8){const _0x20ad9f=_0x2d4fc5,_0x176f1f=_0x5850a8[_0x20ad9f(0x173)]()[_0x20ad9f(0x16f)],_0x4c65f2=_0x43acbc['scrollTop']();if(_0x4c65f2==undefined)return;const _0x498076=_0x4c65f2+_0x176f1f-_0x43acbc[_0x20ad9f(0x1c6)]()/0x2+_0x5850a8[_0x20ad9f(0x1c6)]()/0x2;_0x43acbc[_0x20ad9f(0x207)]({'scrollTop':_0x498076},0x1f4);}const _0x5bcae7=(_0x37b83e,_0x196766)=>_0x516d94(void 0x0,void 0x0,void 0x0,function*(){const _0x290732=_0x2d4fc5,_0x50c0b8=_0x37b83e[_0x290732(0x13d)][_0x290732(0x1e9)](),_0x3da982={'nodeId':_0x50c0b8,'rootNodeId':_0x196766['nodeId'],'isType':_0x37b83e[_0x290732(0x22e)]['isTypeRef']||![]},_0x6eb429=_0x32cbd6(_0x37b83e),_0x2657c4=yield _0x32a482(_0x6eb429,_0x3da982);if(!_0x2657c4)return;yield _0x32e05b(_0x37b83e,_0x2657c4,_0x37b83e['$tree']);});function _0x19f513(_0x3ef0bd,_0x349b72,_0x1e0162,_0x3b5f7f){return _0x516d94(this,void 0x0,void 0x0,function*(){const _0x137c1e=_0xcc6e;if(_0x349b72['hasClass'](_0x137c1e(0x21d))){console['log'](_0x137c1e(0x1b5));return;}if(_0x349b72['hasClass'](_0x137c1e(0x22b))){console[_0x137c1e(0x134)](_0x137c1e(0x13c));return;}_0x349b72[_0x137c1e(0x18f)]('loading'),_0x349b72['append']('<div\x20class=\x22spinner\x22></div>');try{_0x349b72[_0x137c1e(0x172)]('ul')[_0x137c1e(0x128)]();const {references:_0x3fb26f}=yield _0x1e0162(_0x349b72,_0x3b5f7f);_0x3fb26f[_0x137c1e(0x19d)]((_0x53f787,_0x2dbc90)=>{const _0x29bd38=_0x137c1e;var _0x5d36f7,_0x4a171e;return(((_0x5d36f7=_0x53f787[_0x29bd38(0x194)])===null||_0x5d36f7===void 0x0?void 0x0:_0x5d36f7[_0x29bd38(0x18a)])||'')[_0x29bd38(0x181)](((_0x4a171e=_0x2dbc90[_0x29bd38(0x194)])===null||_0x4a171e===void 0x0?void 0x0:_0x4a171e[_0x29bd38(0x18a)])||'');});for(const _0x31c20 of _0x3fb26f){if(_0x3ef0bd['options'][_0x137c1e(0x19e)]&&!_0x3ef0bd[_0x137c1e(0x22e)]['filter'](_0x31c20))continue;const _0x1c312a=_0xebc74a(_0x31c20);_0x349b72[_0x137c1e(0x172)]('ul')[_0x137c1e(0x1c4)](_0x1c312a);}_0x349b72[_0x137c1e(0x18f)](_0x137c1e(0x21d));}catch(_0x231739){_0x349b72[_0x137c1e(0x172)]('ul')[_0x137c1e(0x1c4)](_0x137c1e(0x201)+_0x231739[_0x137c1e(0x193)]+'</li>'),console[_0x137c1e(0x134)](_0x137c1e(0x1b9),_0x231739);}_0x349b72[_0x137c1e(0x1a2)](_0x137c1e(0x14c))['remove'](),_0x349b72['removeClass']('loading');});}function _0x32cbd6(_0x30b7bf){const _0x3d83a4=_0x2d4fc5,_0xa242d4={'baseUrl':_0x30b7bf[_0x3d83a4(0x22e)][_0x3d83a4(0x17e)],'endpointNode':typeof _0x30b7bf[_0x3d83a4(0x22e)][_0x3d83a4(0x138)]===_0x3d83a4(0x226)?_0x30b7bf[_0x3d83a4(0x22e)][_0x3d83a4(0x138)]():_0x30b7bf['options'][_0x3d83a4(0x138)],'endpoint':typeof _0x30b7bf[_0x3d83a4(0x22e)][_0x3d83a4(0x154)]===_0x3d83a4(0x226)?_0x30b7bf['options'][_0x3d83a4(0x154)]():_0x30b7bf[_0x3d83a4(0x22e)][_0x3d83a4(0x154)]};return _0xa242d4;}function _0x147aab(_0x2e4e64,_0x52bdc7){return _0x516d94(this,void 0x0,void 0x0,function*(){const _0x1029fa=_0xcc6e;if(_0x52bdc7[_0x1029fa(0x206)](_0x1029fa(0x21d))){_0x52bdc7['removeClass'](_0x1029fa(0x231))[_0x1029fa(0x18f)](_0x1029fa(0x21a)),_0x52bdc7[_0x1029fa(0x172)]('ul')['toggle']();return;}const _0x2e2819=_0x32cbd6(_0x2e4e64),_0x3fefdb=!_0x2e4e64[_0x1029fa(0x22e)][_0x1029fa(0x114)]?_0x2741f2:_0x1ce6f4;try{yield _0x19f513(_0x2e4e64,_0x52bdc7,_0x3fefdb,_0x2e2819),_0x52bdc7['removeClass']('expandable')[_0x1029fa(0x18f)](_0x1029fa(0x21a));}catch(_0x538207){_0x52bdc7['removeClass'](_0x1029fa(0x231))[_0x1029fa(0x18f)](_0x1029fa(0x21a)),console[_0x1029fa(0x134)](_0x1029fa(0x183),_0x538207);}});}const _0x3c846c={'browseName':{'namespaceIndex':0x0,'name':_0x2d4fc5(0x1ee)},'nodeClass':_0x2d4fc5(0x1fa),'nodeId':_0x2d4fc5(0x174),'displayName':{'text':_0x2d4fc5(0x1ee)},'typeDefinition':_0xfe0e13},_0x24c9df=()=>{const _0x4a1358=_0x2d4fc5;$[_0x4a1358(0x12c)](_0x4a1358(0x12e),{'options':{'endpointNode':()=>({'endpoint':_0x4a1358(0x168)}),'endpoint':()=>undefined,'parentNode':()=>_0x3c846c,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x516d94(this,void 0x0,void 0x0,function*(){const _0x13693d=_0xcc6e,_0xf1fe9c=this;if(_0xf1fe9c[_0x13693d(0x18b)]==undefined){const _0x238a29=typeof _0xf1fe9c['options'][_0x13693d(0x235)]==='function'?_0xf1fe9c[_0x13693d(0x22e)][_0x13693d(0x235)][_0x13693d(0x179)](_0xf1fe9c):_0xf1fe9c[_0x13693d(0x22e)][_0x13693d(0x235)];if(_0x238a29 instanceof Promise){const _0x2f655b=yield _0x238a29;_0xf1fe9c[_0x13693d(0x18b)]=_0x2f655b;}else _0xf1fe9c[_0x13693d(0x18b)]=_0x238a29;}return _0xf1fe9c[_0x13693d(0x18b)]||_0x3c846c;});},'reset'(){return _0x516d94(this,void 0x0,void 0x0,function*(){const _0x1d7318=_0xcc6e,_0x495083=this,_0x1ee559=_0x495083;_0x1ee559['__parentNode']=undefined,_0x495083['$tree'][_0x1d7318(0x128)]();const _0x3baf60=yield this[_0x1d7318(0x132)](),_0x4a1930=_0xebc74a(_0x3baf60);_0x495083['$tree'][_0x1d7318(0x1c4)](_0x4a1930),_0x495083[_0x1d7318(0x144)]=_0x3baf60;});},'verify'(_0x236c55){const _0x1bee04=_0x4a1358,_0x16e1b5=this,_0x4e79f6=_0x32cbd6(_0x16e1b5);_0xd674ff(_0x4e79f6,_0x236c55,_0x16e1b5[_0x1bee04(0x13d)],_0x16e1b5['$info'])[_0x1bee04(0x125)](_0xee4c9e=>{const _0xbdc352=_0x1bee04;!_0xee4c9e?_0x16e1b5[_0xbdc352(0x208)][_0xbdc352(0x18f)](_0xbdc352(0x140)):_0x16e1b5[_0xbdc352(0x208)][_0xbdc352(0x139)](_0xbdc352(0x140));});},'_hideMenu'(_0x465287){const _0x28121a=_0x4a1358,_0x3ca4aa=this;$(document)[_0x28121a(0x1c2)]('mousedown.red-ui-typedInput-close-property-select'),_0x465287[_0x28121a(0x20c)](),_0x465287[_0x28121a(0x1b4)]({'height':_0x28121a(0x199)});if(_0x465287[_0x28121a(0x1a6)][_0x28121a(0x12d)]){var _0x47e8f5=[];_0x465287[_0x28121a(0x1a2)](_0x28121a(0x156))[_0x28121a(0x1b8)](function(){const _0x13f2b5=_0x28121a;$(this)[_0x13f2b5(0x169)]('checked')&&_0x47e8f5[_0x13f2b5(0x118)]($(this)[_0x13f2b5(0x124)](_0x13f2b5(0x127)));}),_0x465287[_0x28121a(0x1a4)](_0x47e8f5);}_0x3ca4aa['$elementDiv']['is'](':visible')?_0x3ca4aa[_0x28121a(0x13d)][_0x28121a(0x1f8)](_0x28121a(0x196)):_0x3ca4aa['$selectTrigger'][_0x28121a(0x1f8)](_0x28121a(0x196));},'_createMenu'(_0x2da8e0,_0x5adc52,_0x5d22cf){const _0x6c439=_0x4a1358;var _0x23de45=this;const _0x407c8a=$(_0x6c439(0x1ae))['addClass'](_0x6c439(0x117));return _0x407c8a[_0x6c439(0x1a6)]=_0x5adc52,_0x407c8a[_0x6c439(0x1a4)]=_0x5d22cf,_0x2da8e0['forEach'](_0x5ec597=>{const _0x5e3809=_0x6c439;typeof _0x5ec597===_0x5e3809(0x119)&&(_0x5ec597={'value':_0x5ec597,'label':_0x5ec597});var _0x2f6225=$(_0x5e3809(0x16b))[_0x5e3809(0x1ab)](_0x5e3809(0x127),_0x5ec597['value'])['appendTo'](_0x407c8a);_0x5ec597['label']&&_0x2f6225[_0x5e3809(0x186)](_0x5ec597[_0x5e3809(0x155)]);_0x5ec597[_0x5e3809(0x20e)]&&_0x2f6225[_0x5e3809(0x169)]('title',_0x5ec597[_0x5e3809(0x20e)]);if(_0x5ec597[_0x5e3809(0x13e)]){if(_0x5ec597[_0x5e3809(0x13e)]['indexOf']('<')===0x0)$(_0x5ec597[_0x5e3809(0x13e)])['prependTo'](_0x2f6225);else _0x5ec597[_0x5e3809(0x13e)]['indexOf']('/')!==-0x1?$('<i>',{'class':_0x5e3809(0x1a3),'style':_0x5e3809(0x14d)+_0x5ec597['icon']+_0x5e3809(0x1b1)+_0x5ec597[_0x5e3809(0x13e)]+');'})['prependTo'](_0x2f6225):$('<i>',{'class':'red-ui-typedInput-icon\x20'+_0x5ec597[_0x5e3809(0x13e)]})[_0x5e3809(0x11e)](_0x2f6225);}else _0x2f6225[_0x5e3809(0x1b4)]({'paddingLeft':_0x5e3809(0x17b)});!_0x5ec597[_0x5e3809(0x13e)]&&!_0x5ec597['label']&&_0x2f6225[_0x5e3809(0x186)](_0x5ec597[_0x5e3809(0x127)]);var _0xb64291;_0x5adc52['multiple']&&(_0xb64291=$(_0x5e3809(0x11a))[_0x5e3809(0x1b4)]('pointer-events','none')['data']('value',_0x5ec597[_0x5e3809(0x127)])[_0x5e3809(0x11e)](_0x2f6225)['on'](_0x5e3809(0x14f),function(_0x5b7aa3){const _0x38fc76=_0x5e3809;_0x5b7aa3[_0x38fc76(0x1d9)]();})),_0x2f6225['on'](_0x5e3809(0x1f2),function(_0x428631){const _0x25d7cf=_0x5e3809;_0x428631['preventDefault'](),_0x428631['stopPropagation'](),!_0x5adc52[_0x25d7cf(0x12d)]?(_0x5d22cf(_0x5ec597[_0x25d7cf(0x127)]),_0x23de45[_0x25d7cf(0x122)](_0x407c8a)):_0xb64291[_0x25d7cf(0x169)]('checked',!_0xb64291['prop'](_0x25d7cf(0x21b)));});}),_0x407c8a[_0x6c439(0x1b4)]({'display':'none'}),_0x407c8a['on'](_0x6c439(0x142),function(_0x580b99){const _0x5241e0=_0x6c439;if(_0x580b99[_0x5241e0(0x1e4)]===0x28)_0x580b99[_0x5241e0(0x1d9)](),$(this)[_0x5241e0(0x172)](_0x5241e0(0x135))['next']()['trigger'](_0x5241e0(0x196));else{if(_0x580b99[_0x5241e0(0x1e4)]===0x26)_0x580b99['preventDefault'](),$(this)['children'](_0x5241e0(0x135))[_0x5241e0(0x157)]()[_0x5241e0(0x1f8)](_0x5241e0(0x196));else _0x580b99[_0x5241e0(0x1e4)]===0x1b&&(_0x580b99[_0x5241e0(0x1d9)](),_0x23de45[_0x5241e0(0x122)](_0x407c8a));}_0x580b99[_0x5241e0(0x16a)]();}),_0x407c8a;},'disarmClick':![],'_showMenu'(_0xe6a845,_0x3d62a8){const _0x14f4a0=_0x4a1358;if(this[_0x14f4a0(0x1cd)]){this[_0x14f4a0(0x1cd)]=![];return;}var _0x2dd602=this,_0x19f14f=_0x3d62a8[_0x14f4a0(0x1d3)](),_0x7fec58=_0x3d62a8[_0x14f4a0(0x1c6)](),_0x299eaf=_0xe6a845[_0x14f4a0(0x1c6)](),_0x31e18e=_0x7fec58+_0x19f14f[_0x14f4a0(0x16f)];_0x31e18e+_0x299eaf-$(document)[_0x14f4a0(0x1e5)]()>$(window)[_0x14f4a0(0x1c6)]()&&(_0x31e18e-=_0x31e18e+_0x299eaf-$(window)['height']()+0x5),_0x31e18e<0x0&&(_0xe6a845[_0x14f4a0(0x1c6)](_0x299eaf+_0x31e18e),_0x31e18e=0x0),_0xe6a845[_0x14f4a0(0x1b4)]({'top':_0x31e18e+'px','left':_0x19f14f[_0x14f4a0(0x220)]+'px'}),_0xe6a845[_0x14f4a0(0x22c)](0x64),this['_delay'](function(){const _0x4047d6=_0x14f4a0;_0x2dd602['$uiSelect'][_0x4047d6(0x18f)](_0x4047d6(0x160)),$(document)['on'](_0x4047d6(0x167),function(_0x314380){const _0x3e2492=_0x4047d6;!$(_0x314380[_0x3e2492(0x1ac)])['closest'](_0xe6a845)[_0x3e2492(0x1dd)]&&_0x2dd602[_0x3e2492(0x122)](_0xe6a845),$(_0x314380[_0x3e2492(0x1ac)])['closest'](_0x3d62a8)[_0x3e2492(0x1dd)]&&(_0x2dd602[_0x3e2492(0x1cd)]=!![],_0x314380[_0x3e2492(0x1d9)]());});});},'_showTypeMenu'(){const _0x3fcdd8=_0x4a1358,_0xce07ab=this;this[_0x3fcdd8(0x222)](_0xce07ab[_0x3fcdd8(0x121)],_0xce07ab[_0x3fcdd8(0x208)]),_0xce07ab[_0x3fcdd8(0x123)][_0x3fcdd8(0x20c)]();const _0x197367=_0xce07ab['selectedMenuItem'];var _0x2cf413=_0xce07ab[_0x3fcdd8(0x121)]['find']('[value=\x27'+_0x197367+'\x27');setTimeout(function(){const _0x31aa02=_0x3fcdd8;_0x2cf413[_0x31aa02(0x1f8)]('focus');},0x78);},'_initMenu'(){const _0x213901=_0x4a1358,_0x138e65=this;_0x138e65['$selectTrigger'][_0x213901(0x1ab)](_0x213901(0x151),-0x1),_0x138e65[_0x213901(0x14e)]['on'](_0x213901(0x191),function(_0x10c662){_0x10c662['preventDefault']();});_0x138e65[_0x213901(0x121)]&&_0x138e65['$menu'][_0x213901(0x158)]();const _0x148195=[{'label':_0x213901(0x186),'value':'t','title':_0x213901(0x1d5),'icon':_0x213901(0x170)},{'label':_0x213901(0x209),'value':'msg','title':_0x213901(0x1c1),'icon':'<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>'},{'label':_0x213901(0x176),'value':'n','icon':'<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20'},{'label':_0x213901(0x1e1),'value':'na','icon':_0x213901(0x22d)},{'label':_0x213901(0x1b3),'value':_0x213901(0x1e8),'icon':_0x213901(0x1c0)},{'label':_0x213901(0x143),'value':'b','icon':_0x213901(0x1d4)},{'label':_0x213901(0x1ba),'value':'ab','icon':_0x213901(0x13b)}],_0x4ea8ad=_0x18b8db(_0x138e65[_0x213901(0x13d)]['val']()),_0x3f8d4c=_0x148195[_0x213901(0x1a2)](_0x46d402=>_0x46d402[_0x213901(0x127)]===_0x4ea8ad);_0x138e65[_0x213901(0x177)]['empty']()[_0x213901(0x1c4)]('<span\x20title='+((_0x3f8d4c===null||_0x3f8d4c===void 0x0?void 0x0:_0x3f8d4c[_0x213901(0x20e)])||'')+_0x213901(0x1ff)+((_0x3f8d4c===null||_0x3f8d4c===void 0x0?void 0x0:_0x3f8d4c[_0x213901(0x13e)])||'')+_0x213901(0x1c9)),_0x138e65[_0x213901(0x190)]=_0x4ea8ad;const _0x537481=this;_0x138e65['$menu']=this[_0x213901(0x1e0)](_0x148195,{},_0xb9a009=>{const _0x103a56=_0x213901,_0x476af4=_0xab78dd(_0xb9a009);_0x476af4&&_0x537481['verify'](_0x476af4);const _0x2a0a1c=_0x148195[_0x103a56(0x1a2)](_0x53b953=>_0x53b953[_0x103a56(0x127)]===_0xb9a009);_0x138e65[_0x103a56(0x190)]=_0xb9a009,_0x138e65[_0x103a56(0x177)][_0x103a56(0x128)]()[_0x103a56(0x1c4)]('<span\x20title='+((_0x2a0a1c===null||_0x2a0a1c===void 0x0?void 0x0:_0x2a0a1c['title'])||'')+_0x103a56(0x1ff)+((_0x2a0a1c===null||_0x2a0a1c===void 0x0?void 0x0:_0x2a0a1c[_0x103a56(0x13e)])||'')+_0x103a56(0x1c9));}),_0x138e65['$menu'][_0x213901(0x1a9)](document[_0x213901(0x1f6)]),_0x138e65['$menu'][_0x213901(0x20c)](),_0x138e65[_0x213901(0x14e)]['show']();},'mode'(){const _0x39d292=_0x4a1358,_0x2eb7ce=this;return _0xab78dd(_0x2eb7ce[_0x39d292(0x190)]);},'setMode'(_0x1609fa){const _0x11dd0b=_0x4a1358,_0x24937=this,_0x3a4ab0=_0x4561cd(_0x1609fa);_0x24937[_0x11dd0b(0x190)]=_0x3a4ab0;},'_create'(){const _0xd03d4f=_0x4a1358,_0x5e7f4a=this;_0x5e7f4a['$input']=this[_0xd03d4f(0x1b2)],_0x5e7f4a['$input'][_0xd03d4f(0x1b4)](_0xd03d4f(0x1cf),_0xd03d4f(0x1da)),_0x5e7f4a[_0xd03d4f(0x200)]=_0x5e7f4a['$input'][_0xd03d4f(0x18e)](_0xd03d4f(0x1ae))[_0xd03d4f(0x1f1)]()[_0xd03d4f(0x18f)]('main-wrapper'),_0x5e7f4a[_0xd03d4f(0x208)]=$('<div/>'),_0x5e7f4a[_0xd03d4f(0x208)][_0xd03d4f(0x18f)](_0xd03d4f(0x221)),_0x5e7f4a['$input'][_0xd03d4f(0x136)](_0x5e7f4a[_0xd03d4f(0x208)]),_0x5e7f4a[_0xd03d4f(0x15e)]=$(_0xd03d4f(0x1f0))['addClass'](_0xd03d4f(0x137)),_0x5e7f4a[_0xd03d4f(0x208)][_0xd03d4f(0x1c4)](_0x5e7f4a[_0xd03d4f(0x15e)]),_0x5e7f4a[_0xd03d4f(0x15e)][_0xd03d4f(0x1c4)](_0x5e7f4a[_0xd03d4f(0x13d)]),_0x5e7f4a[_0xd03d4f(0x163)]=$(_0xd03d4f(0x20f)),_0x5e7f4a[_0xd03d4f(0x13d)][_0xd03d4f(0x1e2)](_0x5e7f4a[_0xd03d4f(0x163)]),_0x5e7f4a[_0xd03d4f(0x163)]['on'](_0xd03d4f(0x1f2),function(){return _0x516d94(this,void 0x0,void 0x0,function*(){const _0x51529f=_0xcc6e;var _0x4edc5f;let _0x450484=![],_0x4a3ce0;!_0x5e7f4a[_0x51529f(0x123)]['is'](':visible')&&(_0x5e7f4a[_0x51529f(0x1ce)]['hide'](),_0x4a3ce0=yield _0x5e7f4a[_0x51529f(0x132)](),(_0x4a3ce0!==_0x5e7f4a[_0x51529f(0x144)]||((_0x4edc5f=_0x5e7f4a['currentParent'])===null||_0x4edc5f===void 0x0?void 0x0:_0x4edc5f['nodeId'])!==_0x4a3ce0[_0x51529f(0x205)])&&(yield _0x5e7f4a[_0x51529f(0x1ea)]()),_0x450484=!![]),_0x5e7f4a[_0x51529f(0x123)][_0x51529f(0x20b)](),_0x450484&&(yield _0x5bcae7(_0x5e7f4a,_0x4a3ce0));});}),_0x5e7f4a[_0xd03d4f(0x18d)]=$(_0xd03d4f(0x1bf)),_0x5e7f4a[_0xd03d4f(0x13d)][_0xd03d4f(0x1e2)](_0x5e7f4a[_0xd03d4f(0x18d)]),_0x5e7f4a[_0xd03d4f(0x18d)]['on'](_0xd03d4f(0x1f2),()=>{const _0x23a436=_0xd03d4f,_0x27b602=_0x5e7f4a[_0x23a436(0x120)]();if(!_0x27b602)return;this[_0x23a436(0x166)](_0x27b602);});const _0x1070fa=_0x2f4fde=>_0x516d94(this,void 0x0,void 0x0,function*(){const _0x513a0a=_0xd03d4f,_0x4fa2f4=this;let _0x553929=_0x4fa2f4[_0x513a0a(0x120)]();if(!_0x553929)return;const _0x16e63d=_0x32cbd6(_0x4fa2f4),{data:_0x117b6a,json:_0x5b6fbf}=yield _0x1f41eb(_0x16e63d,_0x2f4fde);if(_0x117b6a['status']!==0xc8)return;if(_0x5b6fbf['statusCode'][_0x513a0a(0x189)](/Good/)){const _0x1aa9f2=_0x232945(_0x5b6fbf,_0x553929);_0x4fa2f4[_0x513a0a(0x13d)][_0x513a0a(0x1e9)](_0x1aa9f2),_0x4fa2f4[_0x513a0a(0x13d)][_0x513a0a(0x1f8)](_0x513a0a(0x12a));}});{_0x5e7f4a['$uiSelect']=$(_0xd03d4f(0x1ae)),_0x5e7f4a[_0xd03d4f(0x13d)][_0xd03d4f(0x1bc)](_0x5e7f4a[_0xd03d4f(0x1e7)]),_0x5e7f4a['$selectTrigger']=$(_0xd03d4f(0x1e6))[_0xd03d4f(0x11e)](_0x5e7f4a[_0xd03d4f(0x1e7)]),$(_0xd03d4f(0x16d))['toggle'](!![])[_0xd03d4f(0x1a9)](_0x5e7f4a['$selectTrigger']),_0x5e7f4a[_0xd03d4f(0x14e)]['on'](_0xd03d4f(0x1f2),function(_0x2ecb24){const _0x22806f=_0xd03d4f;_0x2ecb24[_0x22806f(0x1d9)](),_0x2ecb24[_0x22806f(0x16a)](),_0x5e7f4a[_0x22806f(0x233)]();}),_0x5e7f4a[_0xd03d4f(0x14e)]['on'](_0xd03d4f(0x142),function(_0x586c15){const _0x5a6459=_0xd03d4f;_0x586c15[_0x5a6459(0x1e4)]===0x28&&_0x5e7f4a[_0x5a6459(0x233)](),_0x586c15['stopPropagation']();})['on'](_0xd03d4f(0x196),function(){const _0x27e124=_0xd03d4f;_0x5e7f4a['$uiSelect'][_0x27e124(0x18f)](_0x27e124(0x160));})['on'](_0xd03d4f(0x1bd),function(){const _0x59723e=_0xd03d4f;_0x5e7f4a[_0x59723e(0x1e7)][_0x59723e(0x139)](_0x59723e(0x160));}),_0x5e7f4a[_0xd03d4f(0x177)]=$(_0xd03d4f(0x197))[_0xd03d4f(0x1a9)](_0x5e7f4a[_0xd03d4f(0x14e)]);}this['_initMenu']();!_0x5e7f4a[_0xd03d4f(0x13d)][_0xd03d4f(0x1ab)](_0xd03d4f(0x11c))&&_0x5e7f4a[_0xd03d4f(0x13d)]['attr'](_0xd03d4f(0x11c),_0xd03d4f(0x218));_0x5e7f4a['$info']=$(_0xd03d4f(0x1dc)),_0x5e7f4a[_0xd03d4f(0x1ce)][_0xd03d4f(0x20c)](),_0x5e7f4a[_0xd03d4f(0x208)][_0xd03d4f(0x1c4)](_0x5e7f4a[_0xd03d4f(0x1ce)]),_0x5e7f4a[_0xd03d4f(0x123)]=$('<div/>')[_0xd03d4f(0x18f)]('sterfive-dropdown')[_0xd03d4f(0x20c)]()[_0xd03d4f(0x1a9)](_0x5e7f4a[_0xd03d4f(0x208)]),_0x5e7f4a[_0xd03d4f(0x1c5)]=$(_0xd03d4f(0x219))[_0xd03d4f(0x1a9)](_0x5e7f4a[_0xd03d4f(0x123)]),this['reset']();const _0x5e2c5a=(_0x2d8acc,_0x37ba9e)=>{const _0x576b54=_0xd03d4f,_0x578cdd=0x14,_0x5604c0=0x14,_0x5c41a3=_0x2d8acc['offset'](),_0x3c9c1f=_0x37ba9e;if(_0x3c9c1f[_0x576b54(0x15c)]>=_0x5c41a3[_0x576b54(0x220)]&&_0x3c9c1f['pageX']<=_0x5c41a3[_0x576b54(0x220)]+_0x578cdd&&_0x3c9c1f['pageY']>=_0x5c41a3['top']&&_0x3c9c1f[_0x576b54(0x213)]<=_0x5c41a3['top']+_0x5604c0)return!![];return![];},_0x5aee27=_0x4b342b=>_0x516d94(this,void 0x0,void 0x0,function*(){const _0xba13d1=_0xd03d4f;if(_0x4b342b[_0xba13d1(0x206)](_0xba13d1(0x231)))_0x147aab(_0x5e7f4a,_0x4b342b);else{if(_0x4b342b[_0xba13d1(0x206)]('expanded'))_0x4b342b[_0xba13d1(0x172)]('ul')['toggle'](),_0x4b342b[_0xba13d1(0x1f7)](_0xba13d1(0x1d0));else{if(_0x4b342b[_0xba13d1(0x172)]('ul')['children']()[_0xba13d1(0x1dd)]>0x0)_0x4b342b[_0xba13d1(0x172)]('ul')[_0xba13d1(0x20b)](),_0x4b342b[_0xba13d1(0x1f7)](_0xba13d1(0x1d0));else;}}});_0x5e7f4a[_0xd03d4f(0x1c5)]['on']('dblclick','li',function(_0x1fa5a){const _0x4a42b3=_0xd03d4f;var _0x5445bf,_0x1b8a9d;_0x1fa5a[_0x4a42b3(0x16a)]();let _0x210ab8=$(this);if(_0x5e2c5a(_0x210ab8,_0x1fa5a))_0x5aee27(_0x210ab8);else{const _0x1ab9fe=_0x210ab8['data'](_0x4a42b3(0x127)),_0x16b8f8=_0x210ab8[_0x4a42b3(0x124)]('reference');if(_0x5e7f4a[_0x4a42b3(0x22e)][_0x4a42b3(0x22f)]&&!_0x5e7f4a[_0x4a42b3(0x22e)]['isSelectable'](_0x16b8f8))return;_0x5e7f4a['$input']['data'](_0x4a42b3(0x215),_0x16b8f8),((_0x5445bf=_0x16b8f8['displayName'])===null||_0x5445bf===void 0x0?void 0x0:_0x5445bf['text'])||((_0x1b8a9d=_0x16b8f8[_0x4a42b3(0x194)])===null||_0x1b8a9d===void 0x0?void 0x0:_0x1b8a9d[_0x4a42b3(0x18a)])||_0x16b8f8[_0x4a42b3(0x205)][_0x4a42b3(0x126)]();let _0x43c1e5=_0x5e7f4a['mode']();!_0x43c1e5&&(_0x43c1e5='nodeId',_0x5e7f4a[_0x4a42b3(0x223)](_0x43c1e5)),_0x1070fa(_0x1ab9fe)[_0x4a42b3(0x125)](()=>{const _0x3c263a=_0x4a42b3;_0x5e7f4a[_0x3c263a(0x123)]['hide']();})[_0x4a42b3(0x13f)](_0x4c7d4d=>{const _0x496b86=_0x4a42b3;_0x5e7f4a[_0x496b86(0x123)][_0x496b86(0x20c)]();});}}),_0x5e7f4a['$tree']['on']('click','li',function(_0x2141d2){const _0x3da1ca=_0xd03d4f;_0x2141d2[_0x3da1ca(0x16a)]();let _0x25d05e=$(this);_0x5e2c5a(_0x25d05e,_0x2141d2)&&_0x5aee27(_0x25d05e),_0x5bd8c9(_0x5e7f4a,_0x25d05e);}),$(document)['on'](_0xd03d4f(0x1f2),function(_0x48a0fa){const _0x465b01=_0xd03d4f;!$(_0x48a0fa[_0x465b01(0x1ac)])[_0x465b01(0x236)](_0x5e7f4a[_0x465b01(0x208)])[_0x465b01(0x1dd)]&&_0x5e7f4a[_0x465b01(0x123)][_0x465b01(0x20c)]();});}});},_0x36521a=()=>{const _0x2f227a=_0x2d4fc5,_0xaaf55b=$('#node-input-endpoint'),_0x15c107=_0xaaf55b[_0x2f227a(0x1e9)](),_0x24647f=RED[_0x2f227a(0x1a0)][_0x2f227a(0x13a)](_0x15c107);if(!_0x24647f)return undefined;const {endpoint:_0x567a76,securityMode:_0x297f41,securityPolicy:_0x58eed9,userIdentityType:_0x46512f,credentials:_0x564447,namespaceAliases:_0x39cb8f}=_0x24647f,_0x420146={'endpoint':_0x567a76,'securityMode':_0x297f41,'securityPolicy':_0x58eed9,'userIdentityType':_0x46512f,'credentials':_0x564447,'namespaceAliases':_0x39cb8f};return _0x420146;},_0x53ad1d=()=>{const _0x181021=_0x2d4fc5,_0x183a58=$('#node-input-endpoint'),_0x3cd66a=_0x183a58[_0x181021(0x1e9)](),_0x4bc36a=_0x36521a();if(!_0x4bc36a)return undefined;const _0x14597a=_0x4bc36a[_0x181021(0x1fe)];return Object[_0x181021(0x1ca)]({'namespaceAliases':_0x14597a,'id':_0x3cd66a},_0x4bc36a);},_0x5c1539=()=>{return{'endpointNode':_0x53ad1d};},_0x52a9f0=()=>{const _0xdf04f4=_0x2d4fc5,_0x57669d=$(_0xdf04f4(0x161));console[_0xdf04f4(0x134)](_0xdf04f4(0x14a),_0x57669d['length']);if(_0x57669d[_0xdf04f4(0x1dd)]){console[_0xdf04f4(0x134)]('installing\x20iframe');const _0x3dc35a=$(_0xdf04f4(0x1cb),{'src':_0xdf04f4(0x11f),'scrolling':'no','style':_0xdf04f4(0x1b0),'allowtransparency':_0xdf04f4(0x232),'width':_0xdf04f4(0x1ec),'height':_0xdf04f4(0x217)});_0x57669d[_0xdf04f4(0x1c4)](_0x3dc35a),_0x3dc35a[_0xdf04f4(0x1b4)]({'position':_0xdf04f4(0x116),'right':_0xdf04f4(0x192),'bottom':_0xdf04f4(0x1c7)});}};RED['nodes']['registerType'](_0x2d4fc5(0x1a1),{'category':_0x2d4fc5(0x214),'color':'#C0DEED','align':_0x2d4fc5(0x146),'icon':_0x2d4fc5(0x115),'paletteLabel':_0x2d4fc5(0x133),'defaults':{'inputs':{'value':0x1},'output':{'value':0x1},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x2d4fc5(0x21c)},'dataType':{'value':'','required':!![]}},'inputs':0x1,'outputs':0x1,'label'(){const _0x4a0c0a=_0x2d4fc5;return this[_0x4a0c0a(0x18a)]||_0x4a0c0a(0x147);},'labelStyle'(){const _0x17e667=_0x2d4fc5;return this[_0x17e667(0x18a)]?_0x17e667(0x185):'';},'oneditprepare'(){const _0x5f1d84=_0x2d4fc5,_0x379ab6=this;_0x24c9df(),_0x52a9f0(),_0x379ab6['inputs']=0x1;const _0x41c170=$(_0x5f1d84(0x230)),_0x2e9747={'nodeId':_0x5f1d84(0x129),'referenceTypeId':'','browseName':{'namespaceIndex':0x0,'name':_0x5f1d84(0x16e)},'displayName':{'text':'Structure'},'nodeClass':_0x5f1d84(0x1f5),'typeDefinition':_0x5f1d84(0x202)};_0x41c170[_0x5f1d84(0x1db)](Object[_0x5f1d84(0x1ca)](Object[_0x5f1d84(0x1ca)]({},_0x5c1539()),{'parentNode':()=>_0x2e9747,'isSelectable'(_0x266aef){const _0x284a2e=_0x5f1d84;return _0x266aef[_0x284a2e(0x20d)]===_0x284a2e(0x1f5);},'isTypeRef':!![]}));},'oneditsave'(){}});}()));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg1MTZkOTQiLCJfMHgxYTY3OTgiLCJfMHg1NTE0NGUiLCJfMHgxYzdkNTEiLCJfMHg1NDZjZjYiLCJfMHg0M2NlOGEiLCJfMHgxMWNjYzgiLCJfMHgzNDJiZTciLCJQcm9taXNlIiwiXzB4MTM2Njc1IiwiXzB4MjVkNjgwIiwiXzB4NTA0NmVlIiwiXzB4NDE1Nzk0IiwiXzB4MWI1NzI2IiwiXzB4MmFhNzNkIiwiXzB4MmNiODAzIiwiXzB4OWYyOTUwIiwiXzB4MzA4N2ZjIiwiXzB4MWZiZmVjIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NDcyZDhkIiwiXzB4ZDE3NzJhIiwiXzB4MTIzZGM5IiwiXzB4NGZjZDRlIiwiRXJyb3IiLCJfMHgyODlmN2QiLCJfMHhmZTBlMTMiLCJfMHgyMTJhZTEiLCJfMHg4NTNiYzkiLCJfMHhhNzRiMzgiLCJfMHhkNTU1Y2QiLCJfMHgzZGZkMDMiLCJfMHgyYWFjNGQiLCJfMHgxMzliZDIiLCJfMHgzMWI3OGIiLCJfMHg0YzhhOTQiLCJfMHg2MzhmYTEiLCJfMHg0NWRjN2UiLCJfMHgyYzk3NzUiLCJfMHg1MDBiYTMiLCJfMHgxZTE3NjciLCJfMHgyOWFiYWQiLCJfMHg2YmI5MmEiLCJfMHg1NmU2NjIiLCJfMHgzNjg2ZmYiLCJfMHgyMjE3NzQiLCJfMHgxYjBjZWMiLCJfMHg1N2ZjYTEiLCJlbmRwb2ludE5vZGUiLCJfMHg0OTU3M2MiLCJlbmRwb2ludCIsIl8weDU2YTI1ZiIsImJhc2VVcmwiLCJfMHg5NTdlM2UiLCJfMHgxNDU5M2MiLCJfMHg1ZDU5MGEiLCJfMHgyZmJjMDgiLCJfMHg0Njc1YjEiLCJfMHg0MTljNTMiLCJPYmplY3QiLCJfMHg5NGM4MDciLCJmZXRjaCIsIkpTT04iLCJjb25zb2xlIiwiXzB4NTRkOTNlIiwiXzB4MTRkOWM5IiwiXzB4MjRhMDE3IiwiXzB4NDBhM2FlIiwiXzB4MzJhNDgyIiwiXzB4NDI4Mzk2IiwiXzB4MTY2Y2Y0IiwiXzB4MmNmYjY0IiwiXzB4MjEyZWI4IiwiXzB4NjdjMWEiLCJub2RlSWQiLCJfMHgzOWY1MDQiLCJyb290Tm9kZUlkIiwiXzB4NTM2NjAxIiwiaXNUeXBlIiwiXzB4NTI1NzkzIiwiXzB4ZWY3OGRhIiwiXzB4MTc1Njg1IiwiXzB4MTJiMGEwIiwiXzB4MzUyZDdmIiwiXzB4MjMyOTQ1IiwiXzB4NTQ3YTkxIiwiXzB4NWQ4MTg1IiwiXzB4MzNmZGQzIiwiXzB4MjVlNjM2IiwiXzB4MTc1NDgxIiwiXzB4ZTM4YmU3IiwiXzB4M2EzMjczIiwiXzB4MThiOGRiIiwiXzB4MzQwYWVlIiwiXzB4MWE1NDY0IiwiXzB4YWI3OGRkIiwiXzB4MWE2ZGMyIiwiXzB4NDk5YmZhIiwiXzB4NDU2MWNkIiwiXzB4MzlkOWM0IiwiXzB4MWY0MWViIiwiXzB4NDMzYTk4IiwiXzB4MjViMDg4IiwiXzB4NDU1NDE1IiwiXzB4MjEyMWE2IiwiXzB4MzFkMzhiIiwiXzB4MWUzODdhIiwiXzB4MjIxNWZkIiwiXzB4NDlhZTAyIiwiXzB4OGEyZTQ2IiwiXzB4MjFmNWQ0IiwiUkVEIiwiXzB4ZmUyYjg3IiwiXzB4OTljNWEiLCJfMHgzOGY4NGUiLCJfMHhkNjc0ZmYiLCJfMHgzNjhjZDQiLCJfMHgxMmM2NTYiLCJfMHgzMGUzMGQiLCJfMHgxYjJiYmEiLCJfMHg0YmIwNDgiLCJfMHgzYTI3NTAiLCJfMHhjOGZlMGYiLCJfMHg0YjYxMjkiLCJfMHg0ZjY2YmEiLCJfMHgyNmM4NzEiLCJfMHg0ODcwOGYiLCJqc29uIiwiXzB4NDc2MGFlIiwiZGF0YSIsIl8weGJjMDRlZCIsIl8weDUyYWU3ZiIsIl8weDViZWYwNyIsIl8weDMzZjcwZSIsInNldFRpbWVvdXQiLCJfMHgxODA3MmUiLCJfMHg1OWRjNzYiLCJfMHgyNzQxZjIiLCJfMHgzNGVkZjciLCJfMHgzMmYyODMiLCJfMHg1Y2JiMGIiLCJfMHg1YjMzOTIiLCJfMHgyM2E4MTkiLCJfMHg0OGNjOTMiLCJfMHgxY2U2ZjQiLCJfMHgyZWYwMjEiLCJfMHgyNGY4ZWYiLCJfMHgzNTNmM2MiLCJfMHgxZDUyNjMiLCJfMHhlYmM3NGEiLCJfMHg1NzVhMjUiLCJfMHgxNTI0M2EiLCJfMHgyZDQwNjUiLCJfMHg1ODA4NmQiLCJfMHg0ZGYzYjgiLCJfMHg0ZGFlYjMiLCIkIiwiXzB4NWFiNDJkIiwiXzB4M2MyYWNkIiwiaWNvbiIsIl8weDU2YTk2MSIsImNvbG9yIiwiXzB4MTdkMWVkIiwiXzB4NTE1MmVkIiwiXzB4M2VjNWJhIiwiXzB4NTNmNzVmIiwiXzB4NTY4MTNjIiwiXzB4YTI5NGVlIiwiXzB4NWJkOGM5IiwiXzB4NTk4NWZlIiwiXzB4ZmUyM2Q0IiwiXzB4MzJlMDViIiwiXzB4NTliZjE3IiwiXzB4ZDNkZjZiIiwiXzB4NTQzOTU0IiwiXzB4N2Q2YTc4IiwiXzB4NTUyNGI5IiwiXzB4OGU1ZTQyIiwiXzB4MTQ3YWFiIiwiXzB4NGJlNmQ2IiwiXzB4MjU1ZjM3IiwiXzB4NDNhY2JjIiwiXzB4NTg1MGE4IiwiXzB4MTc2ZjFmIiwiXzB4NGM2NWYyIiwidW5kZWZpbmVkIiwiXzB4NDk4MDc2IiwiXzB4NWJjYWU3IiwiXzB4MzdiODNlIiwiXzB4MTk2NzY2IiwiXzB4NTBjMGI4IiwiXzB4M2RhOTgyIiwiXzB4NmViNDI5IiwiXzB4MzJjYmQ2IiwiXzB4MjY1N2M0IiwiXzB4MTlmNTEzIiwiXzB4M2VmMGJkIiwiXzB4MzQ5YjcyIiwiXzB4MWUwMTYyIiwiXzB4M2I1ZjdmIiwicmVmZXJlbmNlcyIsIl8weDNmYjI2ZiIsIl8weDUzZjc4NyIsIl8weDJkYmM5MCIsIl8weDVkMzZmNyIsIl8weDRhMTcxZSIsIl8weDMxYzIwIiwiXzB4MWMzMTJhIiwiXzB4MjMxNzM5IiwiXzB4MzBiN2JmIiwiXzB4YTI0MmQ0IiwiXzB4MmU0ZTY0IiwiXzB4NTJiZGM3IiwiXzB4MmUyODE5IiwiXzB4M2ZlZmRiIiwiXzB4NTM4MjA3IiwiXzB4M2M4NDZjIiwiXzB4MjRjOWRmIiwiXzB4ZjFmZTljIiwiXzB4MjM4YTI5IiwiXzB4MmY2NTViIiwiXzB4NDk1MDgzIiwiXzB4MWVlNTU5IiwiXzB4M2JhZjYwIiwiXzB4NGExOTMwIiwiXzB4MjM2YzU1IiwiXzB4MTZlMWI1IiwiXzB4NGU3OWY2IiwiXzB4ZWU0YzllIiwiXzB4NDY1Mjg3IiwiXzB4M2NhNGFhIiwiZG9jdW1lbnQiLCJfMHg0N2U4ZjUiLCJfMHgyZGE4ZTAiLCJfMHg1YWRjNTIiLCJfMHg1ZDIyY2YiLCJfMHgyM2RlNDUiLCJfMHg0MDdjOGEiLCJfMHg1ZWM1OTciLCJfMHgyZjYyMjUiLCJfMHhiNjQyOTEiLCJfMHg1YjdhYTMiLCJfMHg0Mjg2MzEiLCJfMHg1ODBiOTkiLCJfMHhlNmE4NDUiLCJfMHgzZDYyYTgiLCJfMHgyZGQ2MDIiLCJfMHgxOWYxNGYiLCJfMHg3ZmVjNTgiLCJfMHgyOTllYWYiLCJfMHgzMWUxOGUiLCJ3aW5kb3ciLCJfMHgzMTQzODAiLCJfMHhjZTA3YWIiLCJfMHgxOTczNjciLCJfMHgyY2Y0MTMiLCJfMHgxMzhlNjUiLCJfMHgxMGM2NjIiLCJfMHgxNDgxOTUiLCJfMHg0ZWE4YWQiLCJfMHgzZjhkNGMiLCJfMHg0NmQ0MDIiLCJfMHg1Mzc0ODEiLCJfMHhiOWEwMDkiLCJfMHg0NzZhZjQiLCJfMHgyYTBhMWMiLCJfMHg1M2I5NTMiLCJfMHgyZWI3Y2UiLCJfMHgxNjA5ZmEiLCJfMHgyNDkzNyIsIl8weDNhNGFiMCIsIl8weDVlN2Y0YSIsIl8weDRlZGM1ZiIsIl8weDQ1MDQ4NCIsIl8weDRhM2NlMCIsIl8weDI3YjYwMiIsIl8weDEwNzBmYSIsIl8weDJmNGZkZSIsIl8weDRmYTJmNCIsIl8weDU1MzkyOSIsIl8weDE2ZTYzZCIsIl8weDExN2I2YSIsIl8weDViNmZiZiIsIl8weDFhYTlmMiIsIl8weDJlY2IyNCIsIl8weDU4NmMxNSIsIl8weDVlMmM1YSIsIl8weDJkOGFjYyIsIl8weDM3YmE5ZSIsIl8weDU3OGNkZCIsIl8weDU2MDRjMCIsIl8weDVjNDFhMyIsIl8weDNjOWMxZiIsIl8weDVhZWUyNyIsIl8weDRiMzQyYiIsIl8weDFmYTVhIiwiXzB4NTQ0NWJmIiwiXzB4MWI4YTlkIiwiXzB4MjEwYWI4IiwiXzB4MWFiOWZlIiwiXzB4MTZiOGY4IiwiXzB4NDNjMWU1IiwiXzB4NGM3ZDRkIiwiXzB4MjE0MWQyIiwiXzB4MjVkMDVlIiwiXzB4NDhhMGZhIiwiXzB4MzY1MjFhIiwiXzB4YWFmNTViIiwiXzB4MTVjMTA3IiwiXzB4MjQ2NDdmIiwiXzB4NTY3YTc2Iiwic2VjdXJpdHlNb2RlIiwiXzB4Mjk3ZjQxIiwic2VjdXJpdHlQb2xpY3kiLCJfMHg1OGVlZDkiLCJ1c2VySWRlbnRpdHlUeXBlIiwiXzB4NDY1MTJmIiwiY3JlZGVudGlhbHMiLCJfMHg1NjQ0NDciLCJuYW1lc3BhY2VBbGlhc2VzIiwiXzB4MzljYjhmIiwiXzB4NDIwMTQ2IiwiXzB4NTNhZDFkIiwiXzB4MTgzYTU4IiwiXzB4M2NkNjZhIiwiXzB4NGJjMzZhIiwiXzB4MTQ1OTdhIiwiXzB4NWMxNTM5IiwiXzB4NTJhOWYwIiwiXzB4NTc2NjlkIiwiXzB4M2RjMzVhIiwiXzB4Mzc5YWI2IiwiXzB4NDFjMTcwIiwiXzB4MmU5NzQ3IiwiXzB4MjY2YWVmIl0sIm1hcHBpbmdzIjoicW1MQUFBLENBQUMsVSxDQUNHLGEsd0JBbUJBLFNBQVNBLFNBQVQsQ0FBbUJDLFNBQW5CLENBQTRCQyxTQUE1QixDQUF3Q0MsU0FBeEMsQ0FBMkNDLFNBQTNDLEMsQ0FDSSxTQUFTQyxTQUFULENBQWVDLFNBQWYsQyxRQUErQkEsU0FBQSxZQUFpQkgsU0FBakIsQ0FBcUJHLFNBQXJCLENBQTZCLElBQUlILFNBQUosQ0FBTSxTQUFVSSxTQUFWLEMsQ0FBcUJBLFNBQUEsQ0FBUUQsU0FBUixDLEVBQTNCLEMsU0FDckQsR0FBSyxDQUFBSCxTQUFBLEVBQU0sQ0FBQUEsU0FBQSxDQUFJSyxPQUFKLENBQU4sQ0FBTCxDQUF5QixTQUFVQyxTQUFWLENBQW1CQyxTQUFuQixDLHlCQUM1QixTQUFTQyxTQUFULENBQW1CQyxTQUFuQixDLHlCQUE0QixHLENBQU1DLFNBQUEsQ0FBS1QsU0FBQSxDLGdCQUFBLEVBQWVRLFNBQWYsQ0FBTCxDLEVBQStCLE1BQU9FLFNBQVAsQyxDQUFZSixTQUFBLENBQU9JLFNBQVAsQyxHQUM3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TUMsU0FBQSxDQUFZaEwsQ0FBQSxDLGdCQUFBLENBQWxCLENBQ01pTCxTQUFBLENBQXFCLEMsUUFDdkIsQyxnQkFEdUIsQyxpQkFFdkIsQyxFQUZ1QixDLFlBR3ZCLENBQVksQyxnQkFBRSxDLEdBQUYsQyxNQUFxQixDLGdCQUFyQixDQUhXLEMsYUFJdkIsQ0FBYSxDLE1BQUUsQyxXQUFGLENBSlUsQyxXQUt2QixDLGdCQUx1QixDLGdCQU12QixDLGdCQU51QixDQUQzQixDQVNBRCxTQUFBLEMsZ0JBQUEsRUFBc0JqUixNQUFBLEMsZ0JBQUEsRUFBY0EsTUFBQSxDLGdCQUFBLEVBQWMsRUFBZCxDQUFrQjRRLFNBQUEsRUFBbEIsQ0FBZCxDQUFpRSxDLFlBQUUsQ0FBWSxJQUFNTSxTQUFwQixDLGNBQXdDLENBQWFDLFNBQWIsQyxrQ0FDaEhBLFNBQUEsQyxnQkFBQSxJLGtCQUR3RSxDLFdBRWhGLEMsSUFGZ0YsQ0FBakUsQ0FBdEIsQyxFQXBDZ0QsQyxZQXdDcEQsRSxFQXhDb0QsQ0FBeEQsQyxFQTlpQ0osRyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAoKSB7XG4gICAgJ3VzZSBzdHJpY3QnO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG4gICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG4gICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG4gICAgUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbiAgICBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuICAgIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcbiAgICBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuICAgIC8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlLCBTdXBwcmVzc2VkRXJyb3IsIFN5bWJvbCwgSXRlcmF0b3IgKi9cclxuXHJcblxyXG4gICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XHJcbiAgICAgICAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcclxuICAgIH07XG5cbiAgICBjb25zdCBPcmdhbml6ZXNSZWZOb2RlSWQgPSBcIm5zPTA7aT0zNVwiO1xuICAgIGNvbnN0IEZvbGRlclR5cGUgPSBcIm5zPTA7aT02MVwiO1xuICAgIGNvbnN0IEhhc0NvbXBvbmVudFJlZk5vZGVJZCA9IFwibnM9MDtpPTQ3XCI7XG4gICAgY29uc3QgSGFzUHJvcGVydHlSZWZOb2RlSWQgPSBcIm5zPTA7aT00NlwiO1xuICAgIGNvbnN0IEhhc0NoaWxkUmVmTm9kZUlkID0gXCJucz0wO2k9MzRcIjtcbiAgICBjb25zdCBIYXNTdWJ0eXBlUmVmTm9kZUlkID0gXCJucz0wO2k9NDVcIjtcbiAgICBjb25zdCBIYXNUeXBlRGVmaW5pdGlvblJlZk5vZGVJZCA9IFwibnM9MDtpPTQwXCI7XG5cbiAgICB2YXIgQnJvd3NlRGlyZWN0aW9uO1xuICAgIChmdW5jdGlvbiAoQnJvd3NlRGlyZWN0aW9uKSB7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJGb3J3YXJkXCJdID0gMF0gPSBcIkZvcndhcmRcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkludmVyc2VcIl0gPSAxXSA9IFwiSW52ZXJzZVwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiQm90aFwiXSA9IDJdID0gXCJCb3RoXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJJbnZhbGlkXCJdID0gM10gPSBcIkludmFsaWRcIjtcbiAgICB9KShCcm93c2VEaXJlY3Rpb24gfHwgKEJyb3dzZURpcmVjdGlvbiA9IHt9KSk7XG4gICAgdmFyIE5vZGVDbGFzcztcbiAgICAoZnVuY3Rpb24gKE5vZGVDbGFzcykge1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVW5zcGVjaWZpZWRcIl0gPSAwXSA9IFwiVW5zcGVjaWZpZWRcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk9iamVjdFwiXSA9IDFdID0gXCJPYmplY3RcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlZhcmlhYmxlXCJdID0gMl0gPSBcIlZhcmlhYmxlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJNZXRob2RcIl0gPSA0XSA9IFwiTWV0aG9kXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJPYmplY3RUeXBlXCJdID0gOF0gPSBcIk9iamVjdFR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlZhcmlhYmxlVHlwZVwiXSA9IDE2XSA9IFwiVmFyaWFibGVUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJSZWZlcmVuY2VUeXBlXCJdID0gMzJdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJEYXRhVHlwZVwiXSA9IDY0XSA9IFwiRGF0YVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlZpZXdcIl0gPSAxMjhdID0gXCJWaWV3XCI7XG4gICAgfSkoTm9kZUNsYXNzIHx8IChOb2RlQ2xhc3MgPSB7fSkpO1xuICAgIHZhciBOb2RlQ2xhc3NNYXNrO1xuICAgIChmdW5jdGlvbiAoTm9kZUNsYXNzTWFzaykge1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJPYmplY3RcIl0gPSAxXSA9IFwiT2JqZWN0XCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlZhcmlhYmxlXCJdID0gMl0gPSBcIlZhcmlhYmxlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk1ldGhvZFwiXSA9IDRdID0gXCJNZXRob2RcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiT2JqZWN0VHlwZVwiXSA9IDhdID0gXCJPYmplY3RUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlZhcmlhYmxlVHlwZVwiXSA9IDE2XSA9IFwiVmFyaWFibGVUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAzMl0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiRGF0YVR5cGVcIl0gPSA2NF0gPSBcIkRhdGFUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlZpZXdcIl0gPSAxMjhdID0gXCJWaWV3XCI7XG4gICAgfSkoTm9kZUNsYXNzTWFzayB8fCAoTm9kZUNsYXNzTWFzayA9IHt9KSk7XG4gICAgdmFyIFJlc3VsdE1hc2s7XG4gICAgKGZ1bmN0aW9uIChSZXN1bHRNYXNrKSB7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAxXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJJc0ZvcndhcmRcIl0gPSAyXSA9IFwiSXNGb3J3YXJkXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIk5vZGVDbGFzc1wiXSA9IDRdID0gXCJOb2RlQ2xhc3NcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiQnJvd3NlTmFtZVwiXSA9IDhdID0gXCJCcm93c2VOYW1lXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIkRpc3BsYXlOYW1lXCJdID0gMTZdID0gXCJEaXNwbGF5TmFtZVwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJUeXBlRGVmaW5pdGlvblwiXSA9IDMyXSA9IFwiVHlwZURlZmluaXRpb25cIjtcbiAgICB9KShSZXN1bHRNYXNrIHx8IChSZXN1bHRNYXNrID0ge30pKTtcbiAgICAvLyAgY29uc3QgcSA9IFJlZmVyZW5jZVR5cGVJZHMuT3JnYW5pemVzO1xuICAgIGZ1bmN0aW9uIHJlc29sdmVOb2RlSWQobm9kZUlkTGlrZSkge1xuICAgICAgICBzd2l0Y2ggKG5vZGVJZExpa2UpIHtcbiAgICAgICAgICAgIGNhc2UgXCJPcmdhbml6ZXNcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gT3JnYW5pemVzUmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc1Byb3BlcnR5XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1Byb3BlcnR5UmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc0NvbXBvbmVudFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNDb21wb25lbnRSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzQ2hpbGRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzQ2hpbGRSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzU3VidHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNTdWJ0eXBlUmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc1R5cGVEZWZpbml0aW9uXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1R5cGVEZWZpbml0aW9uUmVmTm9kZUlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZ2V0SWNvbiA9IChyZWZlcmVuY2UpID0+IHtcbiAgICAgICAgc3dpdGNoIChyZWZlcmVuY2Uubm9kZUNsYXNzKSB7XG4gICAgICAgICAgICBjYXNlIFwiT2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IE9yZ2FuaXplc1JlZk5vZGVJZCkgO1xuICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UudHlwZURlZmluaXRpb24gPT09IEZvbGRlclR5cGUgfHwgcmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gXCJpPTYxXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1mb2xkZXJcIiwgY29sb3I6IFwicmdiYSg2MSwgNjAsIDQsIDAuNTI1KVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtb2JqZWN0LWdyb3VwXCIsIGNvbG9yOiBcIlNlYUdyZWVuXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJWYXJpYWJsZVwiOlxuICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBIYXNDb21wb25lbnRSZWZOb2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1saXN0LWFsdFwiLCBjb2xvcjogXCJTdGVlbEJsdWVcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBIYXNQcm9wZXJ0eVJlZk5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIkRvZGdlckJsdWVcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1saXN0LWFsdFwiLCBjb2xvcjogXCJDYWRldEJsdWVcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJNZXRob2RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWNvZ1wiLCBjb2xvcjogXCJTYW5keUJyb3duXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJPYmplY3RUeXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1vYmplY3QtZ3JvdXBcIiwgY29sb3I6IFwiRGFya09yYW5nZVwiIH07XG4gICAgICAgICAgICBjYXNlIFwiVmFyaWFibGVUeXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1zbGlkZXJzXCIsIGNvbG9yOiBcIkRhcmtPcmFuZ2VcIiB9O1xuICAgICAgICAgICAgY2FzZSBcIkRhdGFUeXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS10ZXh0LXdpZHRoXCIsIGNvbG9yOiBcIkNhZGV0Qmx1ZVwiIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1xdWVzdGlvblwiLCBjb2xvcjogXCJncmV5XCIgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgYnJvd3NlID0gKF9hLCBub2RlSWRfMSwgdGVtcGxhdGVfMSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBub2RlSWRfMSwgdGVtcGxhdGVfMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgbm9kZUlkLCB0ZW1wbGF0ZSkge1xuICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZm9yLW5vZGUtcmVkYDtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vYnJvd3NlYDtcbiAgICAgICAgY29uc3QgYnJvd3NlRGVzY3JpcHRpb24gPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRlbXBsYXRlKSwgeyBub2RlSWQsIHJlc3VsdE1hc2s6IDYzIH0pO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBicm93c2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2hpbmcgZmFpbGVkIHdpdGggZXJyb3JcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgICAgICByZXR1cm4geyByZWZlcmVuY2VzOiBbXSB9O1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiYnJvd3NlIGZldGNoZWQgOiBcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0geWllbGQgZGF0YS5qc29uKCk7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSByZXNwb25zZS5icm93c2VSZXN1bHQucmVmZXJlbmNlcyB8fCBbXTtcbiAgICAgICAgcmV0dXJuIHsgcmVmZXJlbmNlcyB9O1xuICAgIH0pO1xuXG4gICAgY29uc3QgdGVtcGxhdGUxID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJIYXNDaGlsZFwiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuVmFyaWFibGUgfCBOb2RlQ2xhc3MuT2JqZWN0IHwgTm9kZUNsYXNzLk1ldGhvZCxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5PYmplY3RUeXBlIHxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5WYXJpYWJsZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5EYXRhVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5WaWV3LFxuICAgICAgICByZXN1bHRNYXNrOiA2MyxcbiAgICB9O1xuICAgIGNvbnN0IHRlbXBsYXRlMiA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiT3JnYW5pemVzXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5WYXJpYWJsZSB8IE5vZGVDbGFzcy5PYmplY3QgfCBOb2RlQ2xhc3MuTWV0aG9kLFxuICAgICAgICAvLyAgTm9kZUNsYXNzLk9iamVjdFR5cGUgfFxuICAgICAgICAvLyAgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLkRhdGFUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlZpZXcsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgY29uc3Qgd2Fsa0JhY2t3YXJkID0gKF9hLCBfYikgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBfYl0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgeyBub2RlSWQsIHJvb3ROb2RlSWQsIGlzVHlwZSB9KSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS93YWxrLWJhY2t3YXJkYDtcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgICAgIHJvb3ROb2RlSWQsXG4gICAgICAgICAgICAgICAgaXNUeXBlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbiA9ICh5aWVsZCBkYXRhLmpzb24oKSk7XG4gICAgICAgIHJldHVybiBqc29uLmJyb3dzZVBhdGg7XG4gICAgfSk7XG4gICAgY29uc3QgY2hvb3NlTm9kZUlkID0gKGRhdGEsIG1vZGUpID0+IHtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzQ29kZSAhPT0gXCJHb29kXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhLnJlcXVlc3RlZE5vZGVJZDtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuYnBfaW5kZXhlZDtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkQnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLmJwX2FsaWFzZWQgfHwgZGF0YS5icF9pbmRleGVkO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWROb2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWRfYWxpYXNlZCB8fCBkYXRhLm5vZGVJZF9uc3U7XG4gICAgICAgICAgICBjYXNlIFwibnN1Tm9kZUlEXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEubm9kZUlkX25zdTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjYXNlIFwibm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEubm9kZUlkO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBtYWtlVG9vbHRpcCA9IChkYXRhKSA9PiB7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1c0NvZGUgIT09IFwiR29vZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gYHN0YXR1c0NvZGU6ICR7ZGF0YS5zdGF0dXNDb2RlfWA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsZXQgc3RyID0gW107XG4gICAgICAgICAgICBzdHIucHVzaChgbm9kZUlkOiAke2RhdGEubm9kZUlkfWApO1xuICAgICAgICAgICAgc3RyLnB1c2goYGJyb3dzZSBwYXRoOiAke2RhdGEuYnBfaW5kZXhlZH1gKTtcbiAgICAgICAgICAgIHN0ci5wdXNoKGBub2RlIGNsYXNzOiAke05vZGVDbGFzc1tkYXRhLm5vZGVDbGFzc119YCk7XG4gICAgICAgICAgICBpZiAoZGF0YS5ub2RlSWRfbnN1KSB7XG4gICAgICAgICAgICAgICAgc3RyLnB1c2goYG5zdSBub2RlSWQ6ICR7ZGF0YS5ub2RlSWRfbnN1fWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGEubm9kZUlkX2FsaWFzZWQpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgYWxpYXNlZCBOb2RlSWQ6ICR7ZGF0YS5ub2RlSWRfYWxpYXNlZH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRhLmJwX2luZGV4ZWQpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgYWxpYXNlZCBicm93c2VQYXRoOiAke2RhdGEuYnBfYWxpYXNlZH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHIuam9pbihcIlxcblwiKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZnVuY3Rpb24gZmlndXJlT3V0TW9kZShlbmhhbmNlZE5vZGVJZCkge1xuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL15uc3U9LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcIm5zdU5vZGVJRFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXihucz0uKjspPyhpfGJ8c3xnKT0vKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwibm9kZUlkXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9ebnNhPS8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJhbGlhc2VkTm9kZUlkXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKFxcL3xcXC4pWzAtOV0rOi8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJicm93c2VQYXRoXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKFxcL3xcXC4pLio6LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBmaWd1cmVPdXRNZW5VSXRlbVZhbHVlKHN0cikge1xuICAgICAgICBjb25zdCBtb2RlID0gZmlndXJlT3V0TW9kZShzdHIpO1xuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJub2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZE5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5hXCI7XG4gICAgICAgICAgICBjYXNlIFwibnN1Tm9kZUlEXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibnN1XCI7XG4gICAgICAgICAgICBjYXNlIFwiYnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImJcIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkQnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImFiXCI7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBcInRcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiB0b01vZGUodikge1xuICAgICAgICBsZXQgbW9kZTtcbiAgICAgICAgc3dpdGNoICh2KSB7XG4gICAgICAgICAgICBjYXNlIFwiblwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5vZGVJZFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIm5hXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwiYWxpYXNlZE5vZGVJZFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIm5zdVwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5zdU5vZGVJRFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImJcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJicm93c2VQYXRoXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiYWJcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJhbGlhc2VkQnJvd3NlUGF0aFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtb2RlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmcm9tTW9kZShtb2RlKSB7XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcIm5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkTm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibmFcIjtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuc3VcIjtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYlwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYWJcIjtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwidFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IF9jYWxsQ2hlY2tOb2RlSWQgPSAoX2EsIG5vZGVJZF8xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG5vZGVJZF8xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBub2RlSWQpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2NoZWNrTm9kZUlkYDtcbiAgICAgICAgY29uc3QgZUlkID0gZW5kcG9pbnROb2RlLmlkO1xuICAgICAgICBjb25zdCBuID0gUkVELm5vZGVzLm5vZGUoZUlkKTtcbiAgICAgICAgY29uc29sZS5sb2cobi5uYW1lc3BhY2VBbGlhc2VzKTtcbiAgICAgICAgbi5uYW1lc3BhY2VBbGlhc2VzO1xuICAgICAgICBjb25zdCBuYW1lc3BhY2VBbGlhc2VzID0gZW5kcG9pbnROb2RlLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgICAgICBuYW1lc3BhY2VBbGlhc2VzLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBqc29uID0gKHlpZWxkIGRhdGEuanNvbigpKTtcbiAgICAgICAgcmV0dXJuIHsganNvbiwgZGF0YSB9O1xuICAgIH0pO1xuICAgIGNvbnN0IGludGVybmFsVmVyaWZ5ID0gKF9hLCBtb2RlXzEsICRpbnB1dEVsZW1lbnRfMSwgJGluZm9fMSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBtb2RlXzEsICRpbnB1dEVsZW1lbnRfMSwgJGluZm9fMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgbW9kZSwgJGlucHV0RWxlbWVudCwgJGluZm8pIHtcbiAgICAgICAgY29uc3QgZW5oYW5jZWROb2RlSWQgPSAkaW5wdXRFbGVtZW50LnZhbCgpO1xuICAgICAgICBjb25zdCB7IGpzb24sIGRhdGEgfSA9IHlpZWxkIF9jYWxsQ2hlY2tOb2RlSWQoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIGVuaGFuY2VkTm9kZUlkKTtcbiAgICAgICAgY29uc3Qgc2V0Tm90aWZpY2F0aW9uID0gKHRleHQsIGNsYXNzTmFtZSkgPT4ge1xuICAgICAgICAgICAgJGluZm8udGV4dCh0ZXh0KS5hZGRDbGFzcyhcInN0ZXJmaXZlLWluZm9cIikuYWRkQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICRpbmZvLnNob3coKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICRpbmZvLnJlbW92ZUNsYXNzKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgJGluZm8uaGlkZSgpO1xuICAgICAgICAgICAgfSwgMzAwMCk7XG4gICAgICAgIH07XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICAvLyBkbyBzb21ldGhpbmc7XG4gICAgICAgICAgICBzZXROb3RpZmljYXRpb24oXCIhIWZhaWx1cmUhIVwiICsgZW5oYW5jZWROb2RlSWQsIFwiZmFpbHVyZVwiKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChqc29uLnN0YXR1c0NvZGUubWF0Y2goL0dvb2QvKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvb2x0aXAgPSBtYWtlVG9vbHRpcChqc29uKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LmF0dHIoXCJ0aXRsZVwiLCB0b29sdGlwKTtcbiAgICAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmdcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVJZCA9IGNob29zZU5vZGVJZChqc29uLCBtb2RlKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnZhbChzZWxlY3RlZE5vZGVJZCk7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihcIkdvb2RcIiwgXCJva1wiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQudmFsKGAke2VuaGFuY2VkTm9kZUlkfWApO1xuICAgICAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihgJHtqc29uLnN0YXR1c0NvZGV9ICR7ZGF0YS5zdGF0dXNUZXh0fWAsIFwiZmFpbHVyZVwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBmdW5jdGlvbiBmZXRjaENoaWxkcmVuKCRub2RlLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlSWQgPSAkbm9kZS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQxID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGUxKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDIgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZTIpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbLi4uYnJvd3NlUmVzdWx0MS5yZWZlcmVuY2VzLCAuLi5icm93c2VSZXN1bHQyLnJlZmVyZW5jZXNdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHRlbXBsYXRlU1QgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIkhhc1N1YnR5cGVcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfCBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8IE5vZGVDbGFzcy5EYXRhVHlwZSB8IE5vZGVDbGFzcy5WYXJpYWJsZVR5cGUsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgZnVuY3Rpb24gZmV0Y2hTdWJ0eXBlcygkbm9kZSwgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZUlkID0gJG5vZGUuZGF0YShcInZhbHVlXCIpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MSA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlU1QpO1xuICAgICAgICAgICAgcmV0dXJuIGJyb3dzZVJlc3VsdDE7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBtYWtlRWxlbWVudCA9IChyZWZlcmVuY2UpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICAgICAgICBpZiAoIXJlZmVyZW5jZSB8fCAhcmVmZXJlbmNlLm5vZGVJZCkge1xuICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSAkKGA8bGk+PGkgY2xhc3M9XCJmYSBmYS1lcnJvclwiIHN0eWxlPVwiY29sb3I6cmVkO1wiPjwvaT5ubyByZWZlcmVuY2UgITx1bD48L3VsPjwvbGk+YCk7XG4gICAgICAgICAgICByZXR1cm4gJGVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbiA9IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgdCA9ICgoX2EgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50ZXh0KSB8fCAoKF9iID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHsgaWNvbiwgY29sb3IgfSA9IGdldEljb24ocmVmZXJlbmNlKTtcbiAgICAgICAgY29uc3QgdGl0bGUgPSBgKCR7cmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpfSkgJHsoKF9jID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5uYW1lKSB8fCAoKF9kID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QudGV4dCkgfHwgXCJcIn1gO1xuICAgICAgICBjb25zdCAkZWxlbWVudCA9ICQoYDxsaSBrZXk9XCIke3JlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKX1cIn0+PHNwYW4gY2xhc3M9XCJ0cmVlLXRleHRcIiB0aXRsZT0ke3RpdGxlfT48aSBjbGFzcz1cImZhICR7aWNvbn1cIiBzdHlsZT1cImNvbG9yOiR7Y29sb3J9O1wiPjwvaT4gJHt0fTwvc3Bhbj48dWw+PC91bD48L2xpPmApO1xuICAgICAgICAkZWxlbWVudC5hZGRDbGFzcyhcImV4cGFuZGFibGVcIik7XG4gICAgICAgICRlbGVtZW50LmRhdGEoXCJ2YWx1ZVwiLCBuKTtcbiAgICAgICAgJGVsZW1lbnQuZGF0YShcInJlZmVyZW5jZVwiLCByZWZlcmVuY2UpO1xuICAgICAgICByZXR1cm4gJGVsZW1lbnQ7XG4gICAgfTtcbiAgICBjb25zdCBmaW5kRWxlbWVudCA9IChub2RlSWQsICR0cmVlKSA9PiB7XG4gICAgICAgIHJldHVybiAkdHJlZS5maW5kKGBsaVtrZXk9XCIke25vZGVJZH1cIl1gKTtcbiAgICB9O1xuICAgIGNvbnN0IHNlbGVjdFNpbmdsZSA9ICh0aGF0LCAkbGkpID0+IHtcbiAgICAgICAgdGhhdC4kdHJlZS5maW5kKFwibGkgPiAudHJlZS10ZXh0XCIpLnJlbW92ZUNsYXNzKFwic2VsZWN0ZWRcIik7XG4gICAgICAgIC8vIGNsZWFyIGFsbCBzZWxlY3RlZCBpdGVtc1xuICAgICAgICAkbGkuZmluZChcIi50cmVlLXRleHQ6Zmlyc3RcIikuYWRkQ2xhc3MoXCJzZWxlY3RlZFwiKTtcbiAgICB9O1xuICAgIGNvbnN0IGF1dG9FeHBhbmQgPSAodGhhdCwgYnJvd3NlUGF0aCwgJHRyZWUpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAvLyBleHBhbmQgdGhlIHRyZWUgdG8gc2hvdyB0aGUgbm9kZUlkXG4gICAgICAgIGxldCAkY3VycmVudCA9ICR0cmVlLmNoaWxkcmVuKFwiOmZpcnN0XCIpO1xuICAgICAgICBicm93c2VQYXRoLnJlbGF0aXZlUGF0aC5lbGVtZW50cyB8fCBbXTtcbiAgICAgICAgY29uc3Qgbm9kZUlkcyA9IGJyb3dzZVBhdGgubm9kZUlkcyB8fCBbXTtcbiAgICAgICAgaWYgKG5vZGVJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBuIG9mIG5vZGVJZHMpIHtcbiAgICAgICAgICAgIGlmICgkY3VycmVudC5oYXNDbGFzcyhcImV4cGFuZGFibGVcIikpIHtcbiAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIGV4cGFuZCBhbmQgc2VsZWN0IHRoZSByaWdodCBlbGVtZW50XG4gICAgICAgICAgICAgICAgeWllbGQgX2V4cGFuZExpKHRoYXQsICRjdXJyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gZmluZEVsZW1lbnQobiwgJGN1cnJlbnQpO1xuICAgICAgICAgICAgaWYgKCRlbGVtZW50Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRjdXJyZW50ID0gJGVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgc2VsZWN0U2luZ2xlKHRoYXQsICRjdXJyZW50KTtcbiAgICAgICAgc2Nyb2xsVG9MaSh0aGF0LiRkcm9wZG93biwgJGN1cnJlbnQpO1xuICAgIH0pO1xuICAgIGZ1bmN0aW9uIHNjcm9sbFRvTGkoJGNvbnRhaW5lciwgJHRhcmdldExpKSB7XG4gICAgICAgIC8vIEdldCB0aGUgcG9zaXRpb24gb2YgdGhlIHRhcmdldCBpdGVtIHJlbGF0aXZlIHRvIGl0cyBjb250YWluZXJcbiAgICAgICAgY29uc3QgbGlQb3MgPSAkdGFyZ2V0TGkucG9zaXRpb24oKS50b3A7XG4gICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBzY3JvbGwgcG9zaXRpb24gb2YgdGhlIGNvbnRhaW5lclxuICAgICAgICBjb25zdCBjb250YWluZXJTY3JvbGxUb3AgPSAkY29udGFpbmVyLnNjcm9sbFRvcCgpO1xuICAgICAgICBpZiAoY29udGFpbmVyU2Nyb2xsVG9wID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgcG9zaXRpb24gdG8gc2Nyb2xsIHRvIChjdXJyZW50IHNjcm9sbCArIGl0ZW0ncyBwb3NpdGlvbilcbiAgICAgICAgLy8gQWRqdXN0IHRoaXMgY2FsY3VsYXRpb24gYmFzZWQgb24geW91ciBuZWVkc1xuICAgICAgICBjb25zdCBzY3JvbGxUbyA9IGNvbnRhaW5lclNjcm9sbFRvcCArIGxpUG9zIC0gJGNvbnRhaW5lci5oZWlnaHQoKSAvIDIgKyAkdGFyZ2V0TGkuaGVpZ2h0KCkgLyAyO1xuICAgICAgICAvLyBTY3JvbGwgdGhlIGNvbnRhaW5lciB0byBlbnN1cmUgdGhlIGl0ZW0gaXMgdmlzaWJsZVxuICAgICAgICAkY29udGFpbmVyLmFuaW1hdGUoe1xuICAgICAgICAgICAgc2Nyb2xsVG9wOiBzY3JvbGxUbyxcbiAgICAgICAgfSwgNTAwKTsgLy8gQWRqdXN0IHRoZSBkdXJhdGlvbiAoNTAwbXMpIGFzIG5lZWRlZFxuICAgIH1cbiAgICBjb25zdCByZWFjaFNlbGVjdGlvbiA9ICh0aGF0LCBwYXJlbnROb2RlKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgY29uc3Qgbm9kZUlkID0gdGhhdC4kaW5wdXQudmFsKCk7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICByb290Tm9kZUlkOiBwYXJlbnROb2RlLm5vZGVJZCxcbiAgICAgICAgICAgIGlzVHlwZTogdGhhdC5vcHRpb25zLmlzVHlwZVJlZiB8fCBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICBjb25zdCBicm93c2VQYXRoID0geWllbGQgd2Fsa0JhY2t3YXJkKGRhdGEsIG9wdGlvbnMpO1xuICAgICAgICBpZiAoIWJyb3dzZVBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB5aWVsZCBhdXRvRXhwYW5kKHRoYXQsIGJyb3dzZVBhdGgsIHRoYXQuJHRyZWUpO1xuICAgIH0pO1xuICAgIGZ1bmN0aW9uIF9mZXRjaERhdGFGb3JOb2RlKHRoYXQsICRub2RlLCBmZXRjaEZ1bmMsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGlmICgkbm9kZS5oYXNDbGFzcyhcImZldGNoZWRcIikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImFscmVhZHkgZmV0Y2hlZFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoJG5vZGUuaGFzQ2xhc3MoXCJsb2FkaW5nXCIpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJhbHJlYWR5IGxvYWRpbmdcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJG5vZGUuYWRkQ2xhc3MoXCJsb2FkaW5nXCIpO1xuICAgICAgICAgICAgJG5vZGUuYXBwZW5kKCc8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPjwvZGl2PicpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAkbm9kZS5jaGlsZHJlbihcInVsXCIpLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgeyByZWZlcmVuY2VzIH0gPSB5aWVsZCBmZXRjaEZ1bmMoJG5vZGUsIGRhdGEpO1xuICAgICAgICAgICAgICAgIC8vIHNvcnQgcmVmZXJlbmNlICAgYnkgYnJvd3NlTmFtZVxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXMuc29ydCgoYSwgYikgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKCgoX2EgPSBhLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5uYW1lKSB8fCBcIlwiKS5sb2NhbGVDb21wYXJlKCgoX2IgPSBiLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCBcIlwiKTsgfSk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCByZWZlcmVuY2Ugb2YgcmVmZXJlbmNlcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5vcHRpb25zLmZpbHRlciAmJiAhdGhhdC5vcHRpb25zLmZpbHRlcihyZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IG1ha2VFbGVtZW50KHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJG5vZGUuYWRkQ2xhc3MoXCJmZXRjaGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKGA8bGk+ZXJyb3IgJHtlcnIubWVzc2FnZX08L2xpPmApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5maW5kKFwiLnNwaW5uZXJcIikucmVtb3ZlKCk7XG4gICAgICAgICAgICAkbm9kZS5yZW1vdmVDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBtYWtlQ29ubmVjdGlvbih0aGF0KSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICBiYXNlVXJsOiB0aGF0Lm9wdGlvbnMuYmFzZVVybCxcbiAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUoKSA6IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUsXG4gICAgICAgICAgICBlbmRwb2ludDogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludCA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLmVuZHBvaW50KCkgOiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICBmdW5jdGlvbiBfZXhwYW5kTGkodGhhdCwgJGxpKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoJGxpLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICBjb25zdCBmID0gIXRoYXQub3B0aW9ucy5pc1R5cGVSZWYgPyBmZXRjaENoaWxkcmVuIDogZmV0Y2hTdWJ0eXBlcztcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgeWllbGQgX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJGxpLCBmLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAvLyBtYXJrIGFzIGV4cGFuZGVkXG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0UGFyZW50Tm9kZSA9IHtcbiAgICAgICAgYnJvd3NlTmFtZTogeyBuYW1lc3BhY2VJbmRleDogMCwgbmFtZTogXCJPYmplY3RzXCIgfSxcbiAgICAgICAgbm9kZUNsYXNzOiBcIk9iamVjdFwiLFxuICAgICAgICBub2RlSWQ6IFwibnM9MDtpPTg1XCIsXG4gICAgICAgIGRpc3BsYXlOYW1lOiB7IHRleHQ6IFwiT2JqZWN0c1wiIH0sXG4gICAgICAgIHR5cGVEZWZpbml0aW9uOiBGb2xkZXJUeXBlLFxuICAgIH07XG4gICAgY29uc3QgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogWyBUZW1wZXJhdHVyZSAgXVxuICAgICAgICAgKiAgICggdG9vbHRpcCA6ICgvT2JqZWN0cy9NeVNlbnNvcikgKG5zPTE7cz1UZW1wZXJhdHVyZSkpXG4gICAgICAgICAqIFsgKyBbRm9sZGVyXSBPYmplY3RzXVxuICAgICAgICAgKiBbICAgICBbT2JqZWN0XSBNeVNlbnNvcl1cbiAgICAgICAgICogWyAgICAgKCApIFtWYXJpYWJsZV0gVGVtcGVyYXR1cmVdXG4gICAgICAgICAqL1xuICAgICAgICAkLndpZGdldChcInN0ZXJmaXZlLm5vZGVCcm93c2VyXCIsIHtcbiAgICAgICAgICAgIC8qIGRlZmF1bHQgb3B0aW9ucyAqL1xuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogKCkgPT4gKHsgZW5kcG9pbnQ6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDNcIiB9KSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludDogKCkgPT4gdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHBhcmVudE5vZGU6ICgpID0+IGRlZmF1bHRQYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgICAgIGlzVHlwZVJlZjogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzb2x2ZVBhcmVudE5vZGUoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Ll9fcGFyZW50Tm9kZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB0eXBlb2YgdGhhdC5vcHRpb25zLnBhcmVudE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5wYXJlbnROb2RlLmNhbGwodGhhdCkgOiB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlc2MgPSB5aWVsZCBhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gZGVzYztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhhdC5fX3BhcmVudE5vZGUgfHwgZGVmYXVsdFBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzZXQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFsc28gcmVzZXQgcGFyZW50IG5vZGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IHRoYXQ7XG4gICAgICAgICAgICAgICAgICAgIGEuX19wYXJlbnROb2RlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSB5aWVsZCB0aGlzLnJlc29sdmVQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gbWFrZUVsZW1lbnQocGFyZW50Tm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5jdXJyZW50UGFyZW50ID0gcGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2ZXJpZnkobW9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIC8vIEZldGNoIG5ldyBkYXRhIGZvciB0aGlzIG5vZGVcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICAgICAgaW50ZXJuYWxWZXJpZnkoZGF0YSwgbW9kZSwgdGhhdC4kaW5wdXQsIHRoYXQuJGluZm8pLnRoZW4oKHN1Y2Nlc3MpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hZGRDbGFzcyhcInN0ZXJmaXZlLWlucHV0LWVycm9yXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kY29tYm8ucmVtb3ZlQ2xhc3MoXCJzdGVyZml2ZS1pbnB1dC1lcnJvclwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9oaWRlTWVudShtZW51KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgJChkb2N1bWVudCkub2ZmKFwibW91c2Vkb3duLnJlZC11aS10eXBlZElucHV0LWNsb3NlLXByb3BlcnR5LXNlbGVjdFwiKTtcbiAgICAgICAgICAgICAgICBtZW51LmhpZGUoKTtcbiAgICAgICAgICAgICAgICBtZW51LmNzcyh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCJhdXRvXCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKG1lbnUub3B0cy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWQgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgbWVudS5maW5kKCdpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0nKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnByb3AoXCJjaGVja2VkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQucHVzaCgkKHRoaXMpLmRhdGEoXCJ2YWx1ZVwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBtZW51LmNhbGxiYWNrKHNlbGVjdGVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoYXQuJGVsZW1lbnREaXYuaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIC8veHggfSBlbHNlIGlmICh0aGlzLiRvcHRpb25TZWxlY3RUcmlnZ2VyLmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgLy94eCAgICAgdGhhdC4kb3B0aW9uU2VsZWN0VHJpZ2dlci50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZU1lbnUobWVudU9wdGlvbnMsIG9wdHMsIGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lbnUgPSAkKFwiPGRpdj5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS10eXBlZElucHV0LW9wdGlvbnMgc3RlcmZpdmUtb25saW5lLW1lbnVcIik7XG4gICAgICAgICAgICAgICAgbWVudS5vcHRzID0gb3B0cztcbiAgICAgICAgICAgICAgICBtZW51LmNhbGxiYWNrID0gY2FsbGJhY2s7XG4gICAgICAgICAgICAgICAgbWVudU9wdGlvbnMuZm9yRWFjaCgob3B0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHQgPSB7IHZhbHVlOiBvcHQsIGxhYmVsOiBvcHQgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YXIgb3AgPSAkKCc8YSBocmVmPVwiI1wiPjwvYT4nKS5hdHRyKFwidmFsdWVcIiwgb3B0LnZhbHVlKS5hcHBlbmRUbyhtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AudGV4dChvcHQubGFiZWwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHQudGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLnByb3AoXCJ0aXRsZVwiLCBvcHQudGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHQuaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5pY29uLmluZGV4T2YoXCI8XCIpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChvcHQuaWNvbikucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKG9wdC5pY29uLmluZGV4T2YoXCIvXCIpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCI8aT5cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogXCJyZWQtdWktdHlwZWRJbnB1dC1pY29uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBcIm1hc2staW1hZ2U6IHVybChcIiArIG9wdC5pY29uICsgXCIpOyAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIiArIG9wdC5pY29uICsgXCIpO1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLnByZXBlbmRUbyhvcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiPGk+XCIsIHsgY2xhc3M6IFwicmVkLXVpLXR5cGVkSW5wdXQtaWNvbiBcIiArIG9wdC5pY29uIH0pLnByZXBlbmRUbyhvcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC5jc3MoeyBwYWRkaW5nTGVmdDogXCIxOHB4XCIgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHQuaWNvbiAmJiAhb3B0LmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC50ZXh0KG9wdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFyIGNiO1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2IgPSAkKCc8aW5wdXQgdHlwZT1cImNoZWNrYm94XCI+JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY3NzKFwicG9pbnRlci1ldmVudHNcIiwgXCJub25lXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRhdGEoXCJ2YWx1ZVwiLCBvcHQudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByZXBlbmRUbyhvcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAub24oXCJtb3VzZWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgb3Aub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0cy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKG9wdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5faGlkZU1lbnUobWVudSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYi5wcm9wKFwiY2hlY2tlZFwiLCAhY2IucHJvcChcImNoZWNrZWRcIikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtZW51LmNzcyh7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUub24oXCJrZXlkb3duXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2dC5rZXlDb2RlID09PSA0MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBET1dOXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmNoaWxkcmVuKFwiOmZvY3VzXCIpLm5leHQoKS50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZXZ0LmtleUNvZGUgPT09IDM4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVQXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmNoaWxkcmVuKFwiOmZvY3VzXCIpLnByZXYoKS50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZXZ0LmtleUNvZGUgPT09IDI3KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFU0NBUEVcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5faGlkZU1lbnUobWVudSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBtZW51O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRpc2FybUNsaWNrOiBmYWxzZSxcbiAgICAgICAgICAgIF9zaG93TWVudShtZW51LCByZWxhdGl2ZVRvKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzYXJtQ2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhcm1DbGljayA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB2YXIgcG9zID0gcmVsYXRpdmVUby5vZmZzZXQoKTtcbiAgICAgICAgICAgICAgICB2YXIgaGVpZ2h0ID0gcmVsYXRpdmVUby5oZWlnaHQoKTtcbiAgICAgICAgICAgICAgICB2YXIgbWVudUhlaWdodCA9IG1lbnUuaGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgdmFyIHRvcCA9IGhlaWdodCArIHBvcy50b3A7XG4gICAgICAgICAgICAgICAgaWYgKHRvcCArIG1lbnVIZWlnaHQgLSAkKGRvY3VtZW50KS5zY3JvbGxUb3AoKSA+ICQod2luZG93KS5oZWlnaHQoKSkge1xuICAgICAgICAgICAgICAgICAgICB0b3AgLT0gdG9wICsgbWVudUhlaWdodCAtICQod2luZG93KS5oZWlnaHQoKSArIDU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0b3AgPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lbnUuaGVpZ2h0KG1lbnVIZWlnaHQgKyB0b3ApO1xuICAgICAgICAgICAgICAgICAgICB0b3AgPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtZW51LmNzcyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogdG9wICsgXCJweFwiLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBwb3MubGVmdCArIFwicHhcIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtZW51LnNsaWRlRG93bigxMDApO1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlbGF5KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QuYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1mb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtY2xvc2UtcHJvcGVydHktc2VsZWN0XCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGV2ZW50LnRhcmdldCkuY2xvc2VzdChtZW51KS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKGV2ZW50LnRhcmdldCkuY2xvc2VzdChyZWxhdGl2ZVRvKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LmRpc2FybUNsaWNrID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfc2hvd1R5cGVNZW51KCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dNZW51KHRoYXQuJG1lbnUsIHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IHRoYXQuc2VsZWN0ZWRNZW51SXRlbTtcbiAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWQgPSB0aGF0LiRtZW51LmZpbmQoXCJbdmFsdWU9J1wiICsgdHlwZSArIFwiJ1wiKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgIH0sIDEyMCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2luaXRNZW51KCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIuYXR0cihcInRhYmluZGV4XCIsIC0xKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLm9uKFwibW91c2Vkb3duLnJlZC11aS10eXBlZElucHV0LWZvY3VzLWJsb2NrXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoYXQuJG1lbnUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kbWVudS5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gZmEtaWQtY2FyZFxuICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVMaXN0ID0gW1xuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcInRleHRcIiwgdmFsdWU6IFwidFwiLCB0aXRsZTogXCJWYWx1ZSBpcyBub3QgdmVyaWZpZWRcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtZm9udFwiL2k+ICcgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwibXNnLlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwibXNnXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCJub2RlIGlkIG9yICBicm93c2UgcGF0aCBjb21lcyBmcm9tIGluamVjdGVkIG1zZyBwYXJhbWV0ZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWVudmVsb3BlLW9wZW4tb1wiLz4nLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIk5vZGVJZFwiLCB2YWx1ZTogXCJuXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLXRhZ1wiLz4xICZuYnNwOyAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiQWxpYXNlZCBOb2RlSWRcIiwgdmFsdWU6IFwibmFcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtYm9va21hcmtcIi8+Jm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJOb2RlSWQgd2l0aCBuYW1lc3BhY2UgVXJuXCIsIHZhbHVlOiBcIm5zdVwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1pZC1jYXJkXCIvPiZuYnNwOyAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiQnJvd3NlUGF0aFwiLCB2YWx1ZTogXCJiXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLXRhZ1wiLz48aSBjbGFzcz1cImZhIGZhLWZpZ2h0ZXItamV0XCIvPiZuYnNwOycgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiQWxpYXNlZCBCcm93c2UgUGF0aFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiYWJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWJvb2ttYXJrXCIvPjxpIGNsYXNzPVwiZmEgZmEtZmlnaHRlci1qZXRcIi8+Jm5ic3A7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSBmaWd1cmVPdXRNZW5VSXRlbVZhbHVlKHRoYXQuJGlucHV0LnZhbCgpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBlID0gdHlwZUxpc3QuZmluZCgoeCkgPT4geC52YWx1ZSA9PT0gYSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwuZW1wdHkoKS5hcHBlbmQoYDxzcGFuIHRpdGxlPSR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50aXRsZSkgfHwgXCJcIn0+Jm5ic3A7ICR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS5pY29uKSB8fCBcIlwifTwvc3Bhbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LnNlbGVjdGVkTWVudUl0ZW0gPSBhO1xuICAgICAgICAgICAgICAgIGNvbnN0IHR0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51ID0gdGhpcy5fY3JlYXRlTWVudSh0eXBlTGlzdCwge30sICh2KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vZGUgPSB0b01vZGUodik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvbiBNZW51IHNlbGVjdGVkICFcbiAgICAgICAgICAgICAgICAgICAgICAgIHR0LnZlcmlmeShtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlID0gdHlwZUxpc3QuZmluZCgoeCkgPT4geC52YWx1ZSA9PT0gdik7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuc2VsZWN0ZWRNZW51SXRlbSA9IHY7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdExhYmVsLmVtcHR5KCkuYXBwZW5kKGA8c3BhbiB0aXRsZT0keyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUudGl0bGUpIHx8IFwiXCJ9PiZuYnNwOyAkeyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUuaWNvbikgfHwgXCJcIn08L3NwYW4+YCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kbWVudS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KTtcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51LmhpZGUoKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLnNob3coKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtb2RlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHJldHVybiB0b01vZGUodGhhdC5zZWxlY3RlZE1lbnVJdGVtKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXRNb2RlKG1vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICBjb25zdCBzID0gZnJvbU1vZGUobW9kZSk7XG4gICAgICAgICAgICAgICAgdGhhdC5zZWxlY3RlZE1lbnVJdGVtID0gcztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0ID0gdGhpcy5lbGVtZW50O1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmNzcyhcImJvcmRlclwiLCBcIm5vbmVcIik7XG4gICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQuYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRlbGVtZW50RGl2ID0gdGhhdC4kaW5wdXQud3JhcChcIjxkaXY+XCIpLnBhcmVudCgpLmFkZENsYXNzKFwibWFpbi13cmFwcGVyXCIpO1xuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gQ29tYm8gYnJvd3NlclxuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvID0gJChcIjxkaXYvPlwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hZGRDbGFzcyhcInN0ZXJmaXZlLWNvbWJvLWJveFwiKTtcbiAgICAgICAgICAgICAgICAvLyB0aGF0LiRjb21iby5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWlucHV0LXdyYXBcIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQucmVwbGFjZVdpdGgodGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAgPSAkKFwiPGRpdi8+XCIpLmFkZENsYXNzKFwic3RlcmZpdmUtaW5wdXQtZ3JvdXBcIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGlucHV0R3JvdXApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAuYXBwZW5kKHRoYXQuJGlucHV0KTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiBhZGQgYnV0dG9uIG9uIHRoZSByaWdodCBzaWRlXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiB0b2dnbGVUcmVlQnRuXG4gICAgICAgICAgICAgICAgdGhhdC4kdG9nZ2xlVHJlZUJ0biA9ICQoYDxidXR0b24gdGl0bGU9XCJvcGVuIE9QQ1VBIEFkZHJlc3NTcGFjZSBCcm93c2VyXCI+PGkgY2xhc3M9XCJmYSBmYS1zaXRlbWFwXCI+PC9pPjwvYnV0dG9uPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmFmdGVyKHRoYXQuJHRvZ2dsZVRyZWVCdG4pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRvZ2dsZVRyZWVCdG4ub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmVlZFRvUmVhY2hTZWxlY3Rpb24gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGF0LiRkcm9wZG93bi5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5mby5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJlZSB3aWRnZXQgaXMgZ29pbmcgdG8gYmVjb21lIHZpc2libGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnROb2RlID0geWllbGQgdGhhdC5yZXNvbHZlUGFyZW50Tm9kZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnROb2RlICE9PSB0aGF0LmN1cnJlbnRQYXJlbnQgfHwgKChfYSA9IHRoYXQuY3VycmVudFBhcmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm5vZGVJZCkgIT09IHBhcmVudE5vZGUubm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHRoYXQucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZFRvUmVhY2hTZWxlY3Rpb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24udG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZWVkVG9SZWFjaFNlbGVjdGlvbiAmJiAoeWllbGQgcmVhY2hTZWxlY3Rpb24odGhhdCwgcGFyZW50Tm9kZSkpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiB2ZXJpZnlCdG5cbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4gPSAkKGA8YnV0dG9uIHRpdGxlPVwidmVyaWZ5IG5vZGVJZCBvciBicm93c2VQYXRoXCI+PGkgY2xhc3M9XCJmYSBmYS1yZWZyZXNoXCI+PC9pPjwvYnV0dG9uPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmFmdGVyKHRoYXQuJHZlcmlmeUJ0bik7XG4gICAgICAgICAgICAgICAgdGhhdC4kdmVyaWZ5QnRuLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2RlID0gdGhhdC5tb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5KG1vZGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplSW5wdXQgPSAoaW5wdXQpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtb2RlID0gdGhhdC5tb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIEZldGNoIG5ldyBkYXRhIGZvciB0aGlzIG5vZGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29ubmVjdGlvbkRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBkYXRhLCBqc29uIH0gPSB5aWVsZCBfY2FsbENoZWNrTm9kZUlkKGNvbm5lY3Rpb25EYXRhLCBpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGpzb24uc3RhdHVzQ29kZS5tYXRjaCgvR29vZC8pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVJZCA9IGNob29zZU5vZGVJZChqc29uLCBtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnZhbChzZWxlY3RlZE5vZGVJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gY3JlYXRlIHRoZSBwcmVwZW5kZWQgYnV0dG9uXG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdCA9ICQoXCI8ZGl2PlwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYmVmb3JlKHRoYXQuJHVpU2VsZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlciA9ICQoJzxidXR0b24gdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPjwvYnV0dG9uPicpLnByZXBlbmRUbyh0aGF0LiR1aVNlbGVjdCk7XG4gICAgICAgICAgICAgICAgICAgICQoJzxpIGNsYXNzPVwicmVkLXVpLXR5cGVkSW5wdXQtaWNvbiBmYSBmYS1jYXJldC1kb3duXCI+PC9pPicpLnRvZ2dsZSh0cnVlKS5hcHBlbmRUbyh0aGF0LiRzZWxlY3RUcmlnZ2VyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fc2hvd1R5cGVNZW51KCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJrZXlkb3duXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldnQua2V5Q29kZSA9PT0gNDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fc2hvd1R5cGVNZW51KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJmb2N1c1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwiYmx1clwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB2YXIgb3B0ID0gdGhhdC50eXBlTWFwW3RoYXQucHJvcGVydHlUeXBlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIChvcHQuaGFzVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5yZW1vdmVDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwgPSAkKCc8c3BhbiBjbGFzcz1cInJlZC11aS10eXBlZElucHV0LXR5cGUtbGFiZWxcIj48L3NwYW4+JykuYXBwZW5kVG8odGhhdC4kc2VsZWN0VHJpZ2dlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuX2luaXRNZW51KCk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGF0LiRpbnB1dC5hdHRyKFwicGxhY2Vob2xkZXJcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYXR0cihcInBsYWNlaG9sZGVyXCIsIFwiZW50ZXIgYSBub2RlSWQgb3IgYSBicm93c2VQYXRoIFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiB0ZW1wb3JhdHkgaW5mbyBwYW5lbFxuICAgICAgICAgICAgICAgIHRoYXQuJGluZm8gPSAkKGA8ZGl2IGNsYXNzPVwic3RlcmZpdmUtaW5mby10ZXh0XCI+PC9kaXY+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5mby5oaWRlKCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGluZm8pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIGRyb3AgZG93biB0cmVlXG4gICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24gPSAkKFwiPGRpdi8+XCIpLmFkZENsYXNzKFwic3RlcmZpdmUtZHJvcGRvd25cIikuaGlkZSgpLmFwcGVuZFRvKHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlID0gJChgPHVsIGNsYXNzPVwic3RlcmZpdmUtdHJlZVwiPjwvdWw+YCkuYXBwZW5kVG8odGhhdC4kZHJvcGRvd24pO1xuICAgICAgICAgICAgICAgIC8vIHRoYXQuJGRyb3Bkb3duLnNob3coKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIGNvbnN0IGlzT25MZWZ0U2l6ZSA9ICgkbGksIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZVdpZHRoID0gMjA7IC8vIFNldCB3aWR0aCBvZiB0aGUgOjpiZWZvcmUgY29udGVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVIZWlnaHQgPSAyMDsgLy8gU2V0IGhlaWdodCBvZiB0aGUgOjpiZWZvcmUgY29udGVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50UG9zID0gJGxpLm9mZnNldCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlLnBhZ2VYID49IGVsZW1lbnRQb3MubGVmdCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZS5wYWdlWCA8PSBlbGVtZW50UG9zLmxlZnQgKyBiZWZvcmVXaWR0aCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZS5wYWdlWSA+PSBlbGVtZW50UG9zLnRvcCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZS5wYWdlWSA8PSBlbGVtZW50UG9zLnRvcCArIGJlZm9yZUhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgdG9nZ2xlRXhwYW5zaW9uID0gKCRsaSkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoJGxpLmhhc0NsYXNzKFwiZXhwYW5kYWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgX2V4cGFuZExpKHRoYXQsICRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoJGxpLmhhc0NsYXNzKFwiZXhwYW5kZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRvZ2dsZSBpdHMgZXhwYW5kZWQvY29sbGFwc2VkIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN3YXAgZXhwYW5kYWJsZSBhbmQgZXhwYW5kZWQgY2xhc3Nlc1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLnRvZ2dsZUNsYXNzKFwiZXhwYW5kYWJsZSBleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkbGkuY2hpbGRyZW4oXCJ1bFwiKS5jaGlsZHJlbigpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dhcCBleHBhbmRhYmxlIGFuZCBleHBhbmRlZCBjbGFzc2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoXCJleHBhbmRhYmxlIGV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJkYmxjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09uTGVmdFNpemUoJGxpLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuc2lvbigkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAkbGkuZGF0YShcInZhbHVlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gJGxpLmRhdGEoXCJyZWZlcmVuY2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5vcHRpb25zLmlzU2VsZWN0YWJsZSAmJiAhdGhhdC5vcHRpb25zLmlzU2VsZWN0YWJsZShyZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuZGF0YShcInJlZmVyZW5jZVwiLCByZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgKChfYSA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRleHQpIHx8ICgoX2IgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnN0IGlucHV0ID0gYFske2Rpc3BsYXlOYW1lfV0oJHt2YWx1ZX0pYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtb2RlID0gdGhhdC5tb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlID0gXCJub2RlSWRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LnNldE1vZGUobW9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVJbnB1dCh2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudmFsKGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC52YWwoaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLm9uKFwiY2xpY2tcIiwgXCJsaVwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCAkbGkgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPbkxlZnRTaXplKCRsaSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFeHBhbnNpb24oJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RTaW5nbGUodGhhdCwgJGxpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBjbGlja2luZyBvdXRzaWRlIHRoZSBwYWdlIHdpbGwgaGlkZSB0aGUgZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGV2ZW50LnRhcmdldCkuY2xvc2VzdCh0aGF0LiRjb21ibykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHRoZSBlbmRwb2ludCBhdHRyaWJ1dGVzIGNvbnRhaW5pbmc6XG4gICAgICogIC0gdGhlIGVuZHBvaW50LCBzZWN1cml0eU1vZGUsIHNlY3VyaXR5UG9saWN5LFxuICAgICAqICAtIHVzZXJJZGVudGl0eVR5cGUsXG4gICAgICogIC0gY3JlZGVudGlhbHNcbiAgICAgKiAgLSBuYW1lc3BhY2VBbGlhc2VzXG4gICAgICpcbiAgICAgKiBleHRyYWN0ZWQgZnJvbSB0aGUgdWkgd2lkZ2V0ICNub2RlLWlucHV0LWVuZHBvaW50XG4gICAgICovXG4gICAgY29uc3QgZ2V0RW5kUG9pbnRBdHRyaWJ1dGVzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCAkZW5kcG9pbnQgPSAkKFwiI25vZGUtaW5wdXQtZW5kcG9pbnRcIik7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50SWQgPSAkZW5kcG9pbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IHJlZE5vZGUgPSBSRUQubm9kZXMubm9kZShlbmRwb2ludElkKTtcbiAgICAgICAgaWYgKCFyZWROb2RlKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgLy8gY29uc3QgY3JlZGVudGlhbHMgPSBSRUQuKGVuZHBvaW50SWQpO1xuICAgICAgICAvLyB3ZSBuZWVkIHRvIHNhbml0aXplIGFuZCBleHRyYWN0IHRoZSBlbmRwb2ludCBhdHRyaWJ1dGVzIG9ubHkgKCBub3QgdGhlIG5vZGUtcmVkIHN0dWZmKVxuICAgICAgICBjb25zdCB7IGVuZHBvaW50LCBzZWN1cml0eU1vZGUsIHNlY3VyaXR5UG9saWN5LCB1c2VySWRlbnRpdHlUeXBlLCBjcmVkZW50aWFscywgbmFtZXNwYWNlQWxpYXNlcyB9ID0gcmVkTm9kZTtcbiAgICAgICAgY29uc3QgcmV0VmFsdWUgPSB7XG4gICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5LFxuICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSxcbiAgICAgICAgICAgIGNyZWRlbnRpYWxzLFxuICAgICAgICAgICAgbmFtZXNwYWNlQWxpYXNlcyxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHJldFZhbHVlO1xuICAgIH07XG4gICAgY29uc3QgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCAkZW5kcG9pbnQgPSAkKFwiI25vZGUtaW5wdXQtZW5kcG9pbnRcIik7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50SWQgPSAkZW5kcG9pbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50TnIgPSBnZXRFbmRQb2ludEF0dHJpYnV0ZXMoKTtcbiAgICAgICAgaWYgKCFlbmRwb2ludE5yKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZUFsaWFzZXMgPSBlbmRwb2ludE5yLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgbmFtZXNwYWNlQWxpYXNlcywgaWQ6IGVuZHBvaW50SWQgfSwgZW5kcG9pbnROcik7XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW5kcG9pbnROb2RlOiBnZXRFbmRwb2ludFBhcmFtZXRlcnMsXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGluc3RhbGxGZWVkYmFja1dpZGdldCA9ICgpID0+IHtcbiAgICAgICAgLy8gcmV0dXJuO1xuICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgY29uc3QgdHJheUNvbnRlbnQgPSAkKFwiLnJlZC11aS10cmF5LWJvZHlcIik7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsbEZlZWRiYWNrV2lkZ2V0IFwiLCB0cmF5Q29udGVudC5sZW5ndGgpO1xuICAgICAgICBpZiAodHJheUNvbnRlbnQubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImluc3RhbGxpbmcgaWZyYW1lXCIpO1xuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBpZnJhbWUgZWxlbWVudFxuICAgICAgICAgICAgY29uc3QgaWZyYW1lID0gJChcIjxpZnJhbWU+PC9pZnJhbWU+XCIsIHtcbiAgICAgICAgICAgICAgICBzcmM6IFwiL29wY3VhLWZvci1ub2RlLXJlZC9zdXBwb3J0LWZyYW1lLmh0bWxcIixcbiAgICAgICAgICAgICAgICBzY3JvbGxpbmc6IFwibm9cIixcbiAgICAgICAgICAgICAgICBzdHlsZTogXCJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O292ZXJmbG93OmhpZGRlbjtib3JkZXI6M3B4XCIsXG4gICAgICAgICAgICAgICAgYWxsb3d0cmFuc3BhcmVuY3k6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgIHdpZHRoOiBcIjE4MHB4XCIsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjMwcHhcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gQXBwZW5kIHRoZSBpZnJhbWUgdG8gdGhlIGZlZWRiYWNrIGVsZW1lbnRcbiAgICAgICAgICAgIHRyYXlDb250ZW50LmFwcGVuZChpZnJhbWUpO1xuICAgICAgICAgICAgLy8gUG9zaXRpb24gdGhlIGZlZWRiYWNrIGVsZW1lbnQgYXQgdGhlIGJvdHRvbSByaWdodCBvZiB0aGUgdHJheSBjb250ZW50XG4gICAgICAgICAgICBpZnJhbWUuY3NzKHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICBib3R0b206IFwiMTZweFwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUNsaWVudDItRXh0ZW5zaW9uT2JqZWN0XCIsIHtcbiAgICAgICAgY2F0ZWdvcnk6IFwib3BjdWFcIixcbiAgICAgICAgY29sb3I6IFwiI0MwREVFRFwiLFxuICAgICAgICBhbGlnbjogXCJyaWdodFwiLFxuICAgICAgICBpY29uOiBcIi4uLy4uL2ljb25zL29wY3Vhbm9kZUxvZ28ucG5nXCIsXG4gICAgICAgIHBhbGV0dGVMYWJlbDogXCJleHRlbnNpb24gb2JqZWN0XCIsXG4gICAgICAgIGRlZmF1bHRzOiB7XG4gICAgICAgICAgICBpbnB1dHM6IHsgdmFsdWU6IDEgfSxcbiAgICAgICAgICAgIG91dHB1dDogeyB2YWx1ZTogMSB9LFxuICAgICAgICAgICAgLy8gQ29tbW9uXG4gICAgICAgICAgICBuYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBlbmRwb2ludDogeyB2YWx1ZTogXCJcIiwgcmVxdWlyZWQ6IHRydWUsIHR5cGU6IFwiT3BjVWEtRW5kcG9pbnQyXCIgfSxcbiAgICAgICAgICAgIGRhdGFUeXBlOiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICB9LFxuICAgICAgICBpbnB1dHM6IDEsXG4gICAgICAgIG91dHB1dHM6IDEsXG4gICAgICAgIGxhYmVsKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCBcIk9QQ1VBIENsaWVudCBFeHRlbnNpb24gT2JqZWN0XCI7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lID8gXCJub2RlX2xhYmVsX2l0YWxpY1wiIDogXCJcIjtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0cHJlcGFyZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzO1xuICAgICAgICAgICAgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0KCk7XG4gICAgICAgICAgICBpbnN0YWxsRmVlZGJhY2tXaWRnZXQoKTtcbiAgICAgICAgICAgIG5vZGUuaW5wdXRzID0gMTtcbiAgICAgICAgICAgIGNvbnN0ICRkYXRhVHlwZSA9ICQoXCIjbm9kZS1pbnB1dC1kYXRhVHlwZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZXNOb2RlRGVzYyA9IHtcbiAgICAgICAgICAgICAgICBub2RlSWQ6IFwiaT0yMlwiLFxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZVR5cGVJZDogXCJcIixcbiAgICAgICAgICAgICAgICBicm93c2VOYW1lOiB7IG5hbWVzcGFjZUluZGV4OiAwLCBuYW1lOiBcIlN0cnVjdHVyZVwiIH0sXG4gICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6IHsgdGV4dDogXCJTdHJ1Y3R1cmVcIiB9LFxuICAgICAgICAgICAgICAgIG5vZGVDbGFzczogXCJEYXRhVHlwZVwiLFxuICAgICAgICAgICAgICAgIHR5cGVEZWZpbml0aW9uOiBcImk9MFwiLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICRkYXRhVHlwZS5ub2RlQnJvd3NlcihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGdldEVuZHBvaW50UGFyYW1ldGVyc0hhbmRsZXIoKSksIHsgcGFyZW50Tm9kZTogKCkgPT4gcmVmZXJlbmNlc05vZGVEZXNjLCBpc1NlbGVjdGFibGUobm9kZURlc2MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVEZXNjLm5vZGVDbGFzcyA9PT0gXCJEYXRhVHlwZVwiO1xuICAgICAgICAgICAgICAgIH0sIGlzVHlwZVJlZjogdHJ1ZSB9KSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7IH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
7
+ (function(_0x594bd9,_0x1b4972){const _0x45f920=_0x5e0d,_0x339338=_0x594bd9();while(!![]){try{const _0x81ef8d=-parseInt(_0x45f920(0x1f7))/0x1+parseInt(_0x45f920(0x20b))/0x2+-parseInt(_0x45f920(0x248))/0x3+parseInt(_0x45f920(0x14e))/0x4+parseInt(_0x45f920(0x18d))/0x5+-parseInt(_0x45f920(0x137))/0x6*(parseInt(_0x45f920(0x1f5))/0x7)+parseInt(_0x45f920(0x172))/0x8;if(_0x81ef8d===_0x1b4972)break;else _0x339338['push'](_0x339338['shift']());}catch(_0x276b21){_0x339338['push'](_0x339338['shift']());}}}(_0x9763,0x43b0d),(function(){'use strict';const _0x24fe39=_0x5e0d;function _0x323568(_0x85270c,_0x3d8988,_0x4aa08f,_0x34371d){function _0x4db1e8(_0x54a1e0){return _0x54a1e0 instanceof _0x4aa08f?_0x54a1e0:new _0x4aa08f(function(_0x3ddff9){_0x3ddff9(_0x54a1e0);});}return new(_0x4aa08f||(_0x4aa08f=Promise))(function(_0x39625f,_0x3fe606){const _0x50643b=_0x5e0d;function _0x2d3ee5(_0x1f91e2){const _0x31ecf8=_0x5e0d;try{_0x3fcde6(_0x34371d[_0x31ecf8(0x1ac)](_0x1f91e2));}catch(_0x2fd612){_0x3fe606(_0x2fd612);}}function _0x38c745(_0x1d156d){const _0x3fbdf0=_0x5e0d;try{_0x3fcde6(_0x34371d[_0x3fbdf0(0x202)](_0x1d156d));}catch(_0x32f672){_0x3fe606(_0x32f672);}}function _0x3fcde6(_0x4f5fda){const _0x4f675b=_0x5e0d;_0x4f5fda[_0x4f675b(0x203)]?_0x39625f(_0x4f5fda[_0x4f675b(0x14a)]):_0x4db1e8(_0x4f5fda['value'])[_0x4f675b(0x148)](_0x2d3ee5,_0x38c745);}_0x3fcde6((_0x34371d=_0x34371d[_0x50643b(0x1d5)](_0x85270c,_0x3d8988||[]))[_0x50643b(0x1ac)]());});}typeof SuppressedError==='function'?SuppressedError:function(_0x440ca0,_0x1bd2aa,_0x53bf9a){const _0x28a3d0=_0x5e0d;var _0x2360f9=new Error(_0x53bf9a);return _0x2360f9[_0x28a3d0(0x23d)]=_0x28a3d0(0x15b),_0x2360f9[_0x28a3d0(0x180)]=_0x440ca0,_0x2360f9['suppressed']=_0x1bd2aa,_0x2360f9;};const _0x17c8c1=_0x24fe39(0x241),_0x55a7cf=_0x24fe39(0x12a),_0x557fd9=_0x24fe39(0x1ba),_0x304828=_0x24fe39(0x181),_0x4771cb='ns=0;i=34',_0x361d6b=_0x24fe39(0x153),_0x8cec7d='ns=0;i=40';var _0x308d0d;(function(_0x50d385){const _0x479e67=_0x24fe39;_0x50d385[_0x50d385[_0x479e67(0x1ee)]=0x0]=_0x479e67(0x1ee),_0x50d385[_0x50d385[_0x479e67(0x161)]=0x1]=_0x479e67(0x161),_0x50d385[_0x50d385[_0x479e67(0x1cf)]=0x2]='Both',_0x50d385[_0x50d385[_0x479e67(0x21b)]=0x3]=_0x479e67(0x21b);}(_0x308d0d||(_0x308d0d={})));var _0x52ea2a;(function(_0x4c09c8){const _0x16d527=_0x24fe39;_0x4c09c8[_0x4c09c8[_0x16d527(0x18b)]=0x0]=_0x16d527(0x18b),_0x4c09c8[_0x4c09c8[_0x16d527(0x13f)]=0x1]='Object',_0x4c09c8[_0x4c09c8[_0x16d527(0x127)]=0x2]=_0x16d527(0x127),_0x4c09c8[_0x4c09c8['Method']=0x4]=_0x16d527(0x1cd),_0x4c09c8[_0x4c09c8['ObjectType']=0x8]=_0x16d527(0x1e2),_0x4c09c8[_0x4c09c8[_0x16d527(0x1d0)]=0x10]='VariableType',_0x4c09c8[_0x4c09c8['ReferenceType']=0x20]=_0x16d527(0x174),_0x4c09c8[_0x4c09c8[_0x16d527(0x17c)]=0x40]=_0x16d527(0x17c),_0x4c09c8[_0x4c09c8[_0x16d527(0x22f)]=0x80]='View';}(_0x52ea2a||(_0x52ea2a={})));var _0x15ea0d;(function(_0xdb4323){const _0x254a82=_0x24fe39;_0xdb4323[_0xdb4323[_0x254a82(0x13f)]=0x1]=_0x254a82(0x13f),_0xdb4323[_0xdb4323[_0x254a82(0x127)]=0x2]=_0x254a82(0x127),_0xdb4323[_0xdb4323['Method']=0x4]='Method',_0xdb4323[_0xdb4323[_0x254a82(0x1e2)]=0x8]=_0x254a82(0x1e2),_0xdb4323[_0xdb4323[_0x254a82(0x1d0)]=0x10]=_0x254a82(0x1d0),_0xdb4323[_0xdb4323['ReferenceType']=0x20]='ReferenceType',_0xdb4323[_0xdb4323[_0x254a82(0x17c)]=0x40]=_0x254a82(0x17c),_0xdb4323[_0xdb4323[_0x254a82(0x22f)]=0x80]=_0x254a82(0x22f);}(_0x15ea0d||(_0x15ea0d={})));var _0x42e0a2;(function(_0x3d69c6){const _0x5dc2bc=_0x24fe39;_0x3d69c6[_0x3d69c6[_0x5dc2bc(0x174)]=0x1]=_0x5dc2bc(0x174),_0x3d69c6[_0x3d69c6[_0x5dc2bc(0x162)]=0x2]=_0x5dc2bc(0x162),_0x3d69c6[_0x3d69c6['NodeClass']=0x4]=_0x5dc2bc(0x213),_0x3d69c6[_0x3d69c6[_0x5dc2bc(0x1e0)]=0x8]=_0x5dc2bc(0x1e0),_0x3d69c6[_0x3d69c6[_0x5dc2bc(0x1a4)]=0x10]=_0x5dc2bc(0x1a4),_0x3d69c6[_0x3d69c6[_0x5dc2bc(0x1c9)]=0x20]=_0x5dc2bc(0x1c9);}(_0x42e0a2||(_0x42e0a2={})));function _0xd9f479(_0xe7fae2){const _0x3bfea9=_0x24fe39;switch(_0xe7fae2){case _0x3bfea9(0x1f3):return _0x17c8c1;case _0x3bfea9(0x21e):return _0x304828;case _0x3bfea9(0x177):return _0x557fd9;case _0x3bfea9(0x15f):return _0x4771cb;case _0x3bfea9(0x1be):return _0x361d6b;case _0x3bfea9(0x145):return _0x8cec7d;}}const _0x329861=_0x30be58=>{const _0x4d62fd=_0x24fe39;switch(_0x30be58['nodeClass']){case _0x4d62fd(0x13f):if(_0x30be58[_0x4d62fd(0x143)]===_0x17c8c1);if(_0x30be58[_0x4d62fd(0x18e)]===_0x55a7cf||_0x30be58[_0x4d62fd(0x143)]===_0x4d62fd(0x23f))return{'icon':_0x4d62fd(0x244),'color':_0x4d62fd(0x20a)};return{'icon':_0x4d62fd(0x1c0),'color':_0x4d62fd(0x139)};case _0x4d62fd(0x127):if(_0x30be58[_0x4d62fd(0x143)]===_0x557fd9)return{'icon':_0x4d62fd(0x1d1),'color':_0x4d62fd(0x126)};else return _0x30be58[_0x4d62fd(0x143)]===_0x304828?{'icon':_0x4d62fd(0x1d1),'color':'DodgerBlue'}:{'icon':_0x4d62fd(0x1d1),'color':_0x4d62fd(0x233)};case _0x4d62fd(0x1cd):return{'icon':_0x4d62fd(0x168),'color':_0x4d62fd(0x1bc)};case _0x4d62fd(0x1e2):return{'icon':'fa-object-group','color':_0x4d62fd(0x1e4)};case _0x4d62fd(0x1d0):return{'icon':'fa-sliders','color':_0x4d62fd(0x1e4)};case _0x4d62fd(0x17c):return{'icon':'fa-text-width','color':'CadetBlue'};}return{'icon':_0x4d62fd(0x247),'color':_0x4d62fd(0x128)};},_0x380867=(_0x2f5e5f,_0x186943,_0x5b95f0)=>_0x323568(void 0x0,[_0x2f5e5f,_0x186943,_0x5b95f0],void 0x0,function*({endpointNode:_0x148843,endpoint:_0x26b8d8,baseUrl:_0x513005},_0x2240aa,_0x1c3103){const _0x8524ea=_0x24fe39,_0x268347=_0x513005+'/opcua-for-node-red',_0x35a62b=_0x268347+'/browse',_0x321ab7=Object[_0x8524ea(0x211)](Object['assign']({},_0x1c3103),{'nodeId':_0x2240aa,'resultMask':0x3f}),_0x21cef7=yield fetch(_0x35a62b,{'method':'POST','body':JSON[_0x8524ea(0x131)]({'endpointNode':_0x148843,'endpoint':_0x26b8d8,'browseDescription':_0x321ab7}),'headers':{'Content-Type':_0x8524ea(0x1dc)}});if(_0x21cef7['status']!==0xc8)return console[_0x8524ea(0x16d)](_0x8524ea(0x192),_0x21cef7[_0x8524ea(0x20f)],_0x21cef7[_0x8524ea(0x21c)]),{'references':[]};const _0x317c6d=yield _0x21cef7[_0x8524ea(0x239)](),_0x1d0e39=_0x317c6d[_0x8524ea(0x17e)][_0x8524ea(0x13c)]||[];return{'references':_0x1d0e39};}),_0x2368a={'referenceTypeId':_0xd9f479(_0x24fe39(0x15f)),'includeSubtypes':!![],'browseDirection':_0x308d0d[_0x24fe39(0x1ee)],'nodeClassMask':_0x52ea2a['Variable']|_0x52ea2a[_0x24fe39(0x13f)]|_0x52ea2a['Method'],'resultMask':0x3f},_0x230662={'referenceTypeId':_0xd9f479('Organizes'),'includeSubtypes':!![],'browseDirection':_0x308d0d['Forward'],'nodeClassMask':_0x52ea2a[_0x24fe39(0x127)]|_0x52ea2a['Object']|_0x52ea2a[_0x24fe39(0x1cd)],'resultMask':0x3f},_0x4bc5d2=(_0x48ef58,_0x247c3b)=>_0x323568(void 0x0,[_0x48ef58,_0x247c3b],void 0x0,function*({endpointNode:_0x25dc68,endpoint:_0x2ba366,baseUrl:_0x500b41},{nodeId:_0x223c64,rootNodeId:_0x4c5e35,isType:_0x49689a}){const _0x48caf8=_0x24fe39,_0x1a5249=_0x500b41+_0x48caf8(0x1c8),_0x40f044=_0x1a5249+'/walk-backward',_0x2d7f1e=yield fetch(_0x40f044,{'method':'POST','body':JSON['stringify']({'endpointNode':_0x25dc68,'endpoint':_0x2ba366,'nodeId':_0x223c64,'rootNodeId':_0x4c5e35,'isType':_0x49689a}),'headers':{'Content-Type':_0x48caf8(0x1dc)}});if(_0x2d7f1e[_0x48caf8(0x20f)]!==0xc8)return null;const _0x7f62d4=yield _0x2d7f1e[_0x48caf8(0x239)]();return _0x7f62d4[_0x48caf8(0x1a0)];}),_0x1ef331=(_0x46be38,_0x1bfc41)=>{const _0xa515a5=_0x24fe39;if(_0x46be38[_0xa515a5(0x1bb)]!==_0xa515a5(0x195))return _0x46be38['requestedNodeId'];switch(_0x1bfc41){case _0xa515a5(0x1a0):return _0x46be38[_0xa515a5(0x165)];case _0xa515a5(0x130):return _0x46be38[_0xa515a5(0x1d2)]||_0x46be38['bp_indexed'];case _0xa515a5(0x122):return _0x46be38[_0xa515a5(0x234)]||_0x46be38[_0xa515a5(0x22e)];case'nsuNodeID':return _0x46be38[_0xa515a5(0x22e)];default:case _0xa515a5(0x224):return _0x46be38[_0xa515a5(0x224)];}},_0x531ccf=_0x3d85b5=>{const _0x38b6db=_0x24fe39;if(_0x3d85b5[_0x38b6db(0x1bb)]!==_0x38b6db(0x195))return _0x38b6db(0x23e)+_0x3d85b5[_0x38b6db(0x1bb)];else{let _0x434682=[];return _0x434682[_0x38b6db(0x141)](_0x38b6db(0x18f)+_0x3d85b5[_0x38b6db(0x224)]),_0x434682[_0x38b6db(0x141)](_0x38b6db(0x1eb)+_0x3d85b5[_0x38b6db(0x165)]),_0x434682[_0x38b6db(0x141)](_0x38b6db(0x217)+_0x52ea2a[_0x3d85b5[_0x38b6db(0x149)]]),_0x3d85b5[_0x38b6db(0x22e)]&&_0x434682[_0x38b6db(0x141)](_0x38b6db(0x210)+_0x3d85b5[_0x38b6db(0x22e)]),_0x3d85b5[_0x38b6db(0x234)]&&_0x434682[_0x38b6db(0x141)](_0x38b6db(0x237)+_0x3d85b5['nodeId_aliased']),_0x3d85b5[_0x38b6db(0x165)]&&_0x434682[_0x38b6db(0x141)]('aliased\x20browsePath:\x20'+_0x3d85b5[_0x38b6db(0x1d2)]),_0x434682['join']('\x0a');}};function _0x4969c9(_0x3ee864){const _0x3b295b=_0x24fe39;if(_0x3ee864[_0x3b295b(0x21f)](/^nsu=/))return _0x3b295b(0x228);if(_0x3ee864[_0x3b295b(0x21f)](/^(ns=.*;)?(i|b|s|g)=/))return _0x3b295b(0x224);if(_0x3ee864[_0x3b295b(0x21f)](/^nsa=/))return _0x3b295b(0x122);if(_0x3ee864[_0x3b295b(0x21f)](/^(\/|\.)[0-9]+:/))return _0x3b295b(0x1a0);if(_0x3ee864[_0x3b295b(0x21f)](/^(\/|\.).*:/))return _0x3b295b(0x1a0);}function _0x46b362(_0x3acaad){const _0x50820f=_0x24fe39,_0x2c11ee=_0x4969c9(_0x3acaad);switch(_0x2c11ee){case _0x50820f(0x224):return'n';case'aliasedNodeId':return'na';case _0x50820f(0x228):return _0x50820f(0x173);case'browsePath':return'b';case _0x50820f(0x130):return'ab';default:return't';}}function _0x49a531(_0x5befbc){const _0x5e3780=_0x24fe39;let _0x558444;switch(_0x5befbc){case'n':_0x558444=_0x5e3780(0x224);break;case'na':_0x558444=_0x5e3780(0x122);break;case _0x5e3780(0x173):_0x558444=_0x5e3780(0x228);break;case'b':_0x558444=_0x5e3780(0x1a0);break;case'ab':_0x558444=_0x5e3780(0x130);break;}return _0x558444;}function _0x36797a(_0x6f36ea){const _0x305db5=_0x24fe39;switch(_0x6f36ea){case _0x305db5(0x224):return'n';case _0x305db5(0x122):return'na';case'nsuNodeID':return'nsu';case _0x305db5(0x1a0):return'b';case'aliasedBrowsePath':return'ab';default:return't';}}const _0x5d2976=(_0x422c86,_0x654c)=>_0x323568(void 0x0,[_0x422c86,_0x654c],void 0x0,function*({endpointNode:_0xd6e0a0,endpoint:_0x3db9d9,baseUrl:_0x3bdf14},_0x5f5cfd){const _0x46798f=_0x24fe39,_0x8e42a6=_0x3bdf14+_0x46798f(0x1c8),_0x171ec0=_0x8e42a6+_0x46798f(0x1db),_0xba5ace=_0xd6e0a0['id'],_0x336e93=RED[_0x46798f(0x164)][_0x46798f(0x1fa)](_0xba5ace);console[_0x46798f(0x16d)](_0x336e93['namespaceAliases']),_0x336e93[_0x46798f(0x1b6)];const _0x30cd69=_0xd6e0a0[_0x46798f(0x1b6)],_0x487b71=yield fetch(_0x171ec0,{'method':_0x46798f(0x190),'body':JSON[_0x46798f(0x131)]({'endpointNode':_0xd6e0a0,'endpoint':_0x3db9d9,'nodeId':_0x5f5cfd,'namespaceAliases':_0x30cd69}),'headers':{'Content-Type':_0x46798f(0x1dc)}}),_0x297fba=yield _0x487b71[_0x46798f(0x239)]();return{'json':_0x297fba,'data':_0x487b71};}),_0x132808=(_0x4894e6,_0x13bd22,_0x2bd35a,_0x43e72d)=>_0x323568(void 0x0,[_0x4894e6,_0x13bd22,_0x2bd35a,_0x43e72d],void 0x0,function*({endpointNode:_0x169118,endpoint:_0x24acb3,baseUrl:_0x216a68},_0x189675,_0xc61ffe,_0x4f2021){const _0x145f17=_0x24fe39,_0x3b5a1b=_0xc61ffe[_0x145f17(0x23c)](),{json:_0x78bddc,data:_0x27231a}=yield _0x5d2976({'endpointNode':_0x169118,'endpoint':_0x24acb3,'baseUrl':_0x216a68},_0x3b5a1b),_0x14de28=(_0x2e64b0,_0x176a92)=>{const _0x5b4062=_0x145f17;_0x4f2021[_0x5b4062(0x18c)](_0x2e64b0)[_0x5b4062(0x132)](_0x5b4062(0x13e))[_0x5b4062(0x132)](_0x176a92),_0x4f2021[_0x5b4062(0x1ad)](),setTimeout(()=>{const _0x1e7eb2=_0x5b4062;_0x4f2021[_0x1e7eb2(0x19d)](_0x176a92),_0x4f2021[_0x1e7eb2(0x24e)]();},0xbb8);};if(_0x27231a[_0x145f17(0x20f)]!==0xc8)return _0x14de28(_0x145f17(0x19f)+_0x3b5a1b,_0x145f17(0x17b)),![];else{if(_0x78bddc[_0x145f17(0x1bb)]['match'](/Good/)){const _0x342b2a=_0x531ccf(_0x78bddc);_0xc61ffe[_0x145f17(0x24c)](_0x145f17(0x1f8),_0x342b2a);const _0xf532c4=_0x1ef331(_0x78bddc,_0x189675);return _0xc61ffe[_0x145f17(0x23c)](_0xf532c4),_0xc61ffe[_0x145f17(0x1e6)]('change'),_0x14de28(_0x145f17(0x195),'ok'),!![];}else return _0xc61ffe[_0x145f17(0x23c)](''+_0x3b5a1b),_0x14de28(_0x78bddc[_0x145f17(0x1bb)]+'\x20'+_0x27231a[_0x145f17(0x21c)],_0x145f17(0x17b)),![];}});function _0x471644(_0x8d67d6,_0x3cde39){return _0x323568(this,void 0x0,void 0x0,function*(){const _0x59a093=_0x5e0d,_0x28b1a5=_0x8d67d6[_0x59a093(0x176)](_0x59a093(0x14a)),_0x4b9e93=yield _0x380867(_0x3cde39,_0x28b1a5,_0x2368a),_0x4b664e=yield _0x380867(_0x3cde39,_0x28b1a5,_0x230662);return{'references':[..._0x4b9e93[_0x59a093(0x13c)],..._0x4b664e['references']]};});}const _0x3e1174={'referenceTypeId':_0xd9f479(_0x24fe39(0x1be)),'includeSubtypes':!![],'browseDirection':_0x308d0d[_0x24fe39(0x1ee)],'nodeClassMask':_0x52ea2a['ReferenceType']|_0x52ea2a['ObjectType']|_0x52ea2a[_0x24fe39(0x17c)]|_0x52ea2a['VariableType'],'resultMask':0x3f};function _0x55b5e9(_0x24ef64,_0x63a123){return _0x323568(this,void 0x0,void 0x0,function*(){const _0x24955a=_0x24ef64['data']('value'),_0x174566=yield _0x380867(_0x63a123,_0x24955a,_0x3e1174);return _0x174566;});}const _0x1b17aa=_0x58eda1=>{const _0x399663=_0x24fe39;var _0x5c17d9,_0x172558,_0x3a85bd,_0x2557be;if(!_0x58eda1||!_0x58eda1[_0x399663(0x224)]){const _0x456c6c=$(_0x399663(0x226));return _0x456c6c;}const _0x4a592f=_0x58eda1[_0x399663(0x224)][_0x399663(0x205)](),_0xf7d5e3=((_0x5c17d9=_0x58eda1['displayName'])===null||_0x5c17d9===void 0x0?void 0x0:_0x5c17d9[_0x399663(0x18c)])||((_0x172558=_0x58eda1['browseName'])===null||_0x172558===void 0x0?void 0x0:_0x172558[_0x399663(0x23d)])||_0x58eda1['nodeId'][_0x399663(0x205)](),{icon:_0x28216a,color:_0x4514bf}=_0x329861(_0x58eda1),_0x4b6c1c='('+_0x58eda1[_0x399663(0x224)]['toString']()+')\x20'+(((_0x3a85bd=_0x58eda1[_0x399663(0x1cc)])===null||_0x3a85bd===void 0x0?void 0x0:_0x3a85bd[_0x399663(0x23d)])||((_0x2557be=_0x58eda1[_0x399663(0x1fc)])===null||_0x2557be===void 0x0?void 0x0:_0x2557be[_0x399663(0x18c)])||''),_0x1afcaf=$('<li\x20key=\x22'+_0x58eda1['nodeId'][_0x399663(0x205)]()+_0x399663(0x232)+_0x4b6c1c+_0x399663(0x1c4)+_0x28216a+'\x22\x20style=\x22color:'+_0x4514bf+_0x399663(0x179)+_0xf7d5e3+_0x399663(0x22a));return _0x1afcaf[_0x399663(0x132)](_0x399663(0x16e)),_0x1afcaf[_0x399663(0x176)]('value',_0x4a592f),_0x1afcaf[_0x399663(0x176)](_0x399663(0x21d),_0x58eda1),_0x1afcaf;},_0x5f177a=(_0x10137c,_0x391abb)=>{return _0x391abb['find']('li[key=\x22'+_0x10137c+'\x22]');},_0x1758e6=(_0x29b463,_0x13522e)=>{const _0x12fa12=_0x24fe39;_0x29b463[_0x12fa12(0x150)][_0x12fa12(0x214)](_0x12fa12(0x1fd))[_0x12fa12(0x19d)](_0x12fa12(0x1a7)),_0x13522e[_0x12fa12(0x214)](_0x12fa12(0x204))[_0x12fa12(0x132)]('selected');},_0x157049=(_0x229e0f,_0x3bf823,_0x236336)=>_0x323568(void 0x0,void 0x0,void 0x0,function*(){const _0x100fd7=_0x24fe39;let _0x136279=_0x236336[_0x100fd7(0x209)](_0x100fd7(0x199));_0x3bf823['relativePath'][_0x100fd7(0x1cb)]||[];const _0xa4303b=_0x3bf823['nodeIds']||[];if(_0xa4303b[_0x100fd7(0x20c)]===0x0)return;for(const _0xf9f919 of _0xa4303b){_0x136279[_0x100fd7(0x12e)]('expandable')&&(yield _0x576170(_0x229e0f,_0x136279));const _0x40d401=_0x5f177a(_0xf9f919,_0x136279);if(_0x40d401[_0x100fd7(0x20c)]===0x0)return;_0x136279=_0x40d401;}_0x1758e6(_0x229e0f,_0x136279),_0x33531c(_0x229e0f['$dropdown'],_0x136279);});function _0x33531c(_0x286cb0,_0x1b5a68){const _0x4883a9=_0x24fe39,_0x5dcaf9=_0x1b5a68[_0x4883a9(0x1f0)]()['top'],_0x2c2d13=_0x286cb0[_0x4883a9(0x16c)]();if(_0x2c2d13==undefined)return;const _0x49c184=_0x2c2d13+_0x5dcaf9-_0x286cb0['height']()/0x2+_0x1b5a68[_0x4883a9(0x1b9)]()/0x2;_0x286cb0[_0x4883a9(0x221)]({'scrollTop':_0x49c184},0x1f4);}const _0x316377=(_0x2980b5,_0x736bc)=>_0x323568(void 0x0,void 0x0,void 0x0,function*(){const _0x370a53=_0x24fe39,_0x2827af=_0x2980b5['$input'][_0x370a53(0x23c)](),_0x457706={'nodeId':_0x2827af,'rootNodeId':_0x736bc[_0x370a53(0x224)],'isType':_0x2980b5['options'][_0x370a53(0x235)]||![]},_0x4d0471=_0x3bead8(_0x2980b5),_0x4ff171=yield _0x4bc5d2(_0x4d0471,_0x457706);if(!_0x4ff171)return;yield _0x157049(_0x2980b5,_0x4ff171,_0x2980b5[_0x370a53(0x150)]);});function _0x757b2e(_0x4d6a44,_0x4aae3c,_0x58c566,_0x272515){return _0x323568(this,void 0x0,void 0x0,function*(){const _0x16a285=_0x5e0d;if(_0x4aae3c[_0x16a285(0x12e)](_0x16a285(0x15d))){console[_0x16a285(0x16d)](_0x16a285(0x17f));return;}if(_0x4aae3c[_0x16a285(0x12e)](_0x16a285(0x1ae))){console['log'](_0x16a285(0x1f1));return;}_0x4aae3c[_0x16a285(0x132)](_0x16a285(0x1ae)),_0x4aae3c[_0x16a285(0x152)](_0x16a285(0x178));try{_0x4aae3c['children']('ul')[_0x16a285(0x147)]();const {references:_0x451a80}=yield _0x58c566(_0x4aae3c,_0x272515);_0x451a80[_0x16a285(0x17a)]((_0x2e69f5,_0x16d26e)=>{const _0x18f433=_0x16a285;var _0x11b104,_0x37f0ed;return(((_0x11b104=_0x2e69f5['browseName'])===null||_0x11b104===void 0x0?void 0x0:_0x11b104[_0x18f433(0x23d)])||'')[_0x18f433(0x1e7)](((_0x37f0ed=_0x16d26e[_0x18f433(0x1cc)])===null||_0x37f0ed===void 0x0?void 0x0:_0x37f0ed[_0x18f433(0x23d)])||'');});for(const _0x4f4104 of _0x451a80){if(_0x4d6a44[_0x16a285(0x18a)][_0x16a285(0x163)]&&!_0x4d6a44[_0x16a285(0x18a)]['filter'](_0x4f4104))continue;const _0x6ae16c=_0x1b17aa(_0x4f4104);_0x4aae3c[_0x16a285(0x209)]('ul')[_0x16a285(0x152)](_0x6ae16c);}_0x4aae3c['addClass'](_0x16a285(0x15d));}catch(_0x2c4aed){_0x4aae3c[_0x16a285(0x209)]('ul')[_0x16a285(0x152)]('<li>error\x20'+_0x2c4aed[_0x16a285(0x183)]+_0x16a285(0x144)),console['log'](_0x16a285(0x1bf),_0x2c4aed);}_0x4aae3c[_0x16a285(0x214)](_0x16a285(0x129))[_0x16a285(0x1bd)](),_0x4aae3c[_0x16a285(0x19d)]('loading');});}function _0x3bead8(_0x294c0e){const _0x3d6f55=_0x24fe39,_0x45a2cf={'baseUrl':_0x294c0e[_0x3d6f55(0x18a)][_0x3d6f55(0x231)],'endpointNode':typeof _0x294c0e[_0x3d6f55(0x18a)][_0x3d6f55(0x20d)]===_0x3d6f55(0x21a)?_0x294c0e[_0x3d6f55(0x18a)][_0x3d6f55(0x20d)]():_0x294c0e['options'][_0x3d6f55(0x20d)],'endpoint':typeof _0x294c0e[_0x3d6f55(0x18a)][_0x3d6f55(0x16b)]===_0x3d6f55(0x21a)?_0x294c0e[_0x3d6f55(0x18a)][_0x3d6f55(0x16b)]():_0x294c0e[_0x3d6f55(0x18a)][_0x3d6f55(0x16b)]};return _0x45a2cf;}function _0x576170(_0x262761,_0x1918af){return _0x323568(this,void 0x0,void 0x0,function*(){const _0x2afafa=_0x5e0d;if(_0x1918af['hasClass'](_0x2afafa(0x15d))){_0x1918af['removeClass'](_0x2afafa(0x16e))[_0x2afafa(0x132)]('expanded'),_0x1918af['children']('ul')[_0x2afafa(0x1b1)]();return;}const _0x40169f=_0x3bead8(_0x262761),_0x4e1ff3=!_0x262761[_0x2afafa(0x18a)][_0x2afafa(0x235)]?_0x471644:_0x55b5e9;try{yield _0x757b2e(_0x262761,_0x1918af,_0x4e1ff3,_0x40169f),_0x1918af[_0x2afafa(0x19d)]('expandable')['addClass'](_0x2afafa(0x1d7));}catch(_0x48ddfd){_0x1918af[_0x2afafa(0x19d)](_0x2afafa(0x16e))[_0x2afafa(0x132)]('expanded'),console[_0x2afafa(0x16d)](_0x2afafa(0x180),_0x48ddfd);}});}const _0x446bd2={'browseName':{'namespaceIndex':0x0,'name':_0x24fe39(0x1f2)},'nodeClass':'Object','nodeId':'ns=0;i=85','displayName':{'text':_0x24fe39(0x1f2)},'typeDefinition':_0x55a7cf},_0xe7ac02=()=>{const _0x5c7c69=_0x24fe39;$[_0x5c7c69(0x220)](_0x5c7c69(0x246),{'options':{'endpointNode':()=>({'endpoint':_0x5c7c69(0x166)}),'endpoint':()=>undefined,'parentNode':()=>_0x446bd2,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x323568(this,void 0x0,void 0x0,function*(){const _0x4b5b27=_0x5e0d,_0x2bbd5b=this;if(_0x2bbd5b[_0x4b5b27(0x24d)]==undefined){const _0x5802a1=typeof _0x2bbd5b['options'][_0x4b5b27(0x212)]===_0x4b5b27(0x21a)?_0x2bbd5b[_0x4b5b27(0x18a)][_0x4b5b27(0x212)][_0x4b5b27(0x14f)](_0x2bbd5b):_0x2bbd5b['options'][_0x4b5b27(0x212)];if(_0x5802a1 instanceof Promise){const _0x48e8b8=yield _0x5802a1;_0x2bbd5b[_0x4b5b27(0x24d)]=_0x48e8b8;}else _0x2bbd5b[_0x4b5b27(0x24d)]=_0x5802a1;}return _0x2bbd5b[_0x4b5b27(0x24d)]||_0x446bd2;});},'reset'(){return _0x323568(this,void 0x0,void 0x0,function*(){const _0xde1d77=_0x5e0d,_0x4baf28=this,_0x1c4b90=_0x4baf28;_0x1c4b90['__parentNode']=undefined,_0x4baf28[_0xde1d77(0x150)][_0xde1d77(0x147)]();const _0x1c593f=yield this['resolveParentNode'](),_0x172293=_0x1b17aa(_0x1c593f);_0x4baf28[_0xde1d77(0x150)]['append'](_0x172293),_0x4baf28[_0xde1d77(0x16f)]=_0x1c593f;});},'verify'(_0x5ec8ba){const _0x234141=_0x5c7c69,_0x1b809c=this,_0x384827=_0x3bead8(_0x1b809c);_0x132808(_0x384827,_0x5ec8ba,_0x1b809c[_0x234141(0x12d)],_0x1b809c[_0x234141(0x200)])[_0x234141(0x148)](_0x265a19=>{const _0x378c91=_0x234141;!_0x265a19?_0x1b809c['$combo']['addClass'](_0x378c91(0x146)):_0x1b809c[_0x378c91(0x154)][_0x378c91(0x19d)](_0x378c91(0x146));});},'_hideMenu'(_0x11fd95){const _0x2727e0=_0x5c7c69,_0x4fdb8f=this;$(document)[_0x2727e0(0x134)](_0x2727e0(0x1b2)),_0x11fd95[_0x2727e0(0x24e)](),_0x11fd95[_0x2727e0(0x191)]({'height':_0x2727e0(0x136)});if(_0x11fd95['opts'][_0x2727e0(0x1c7)]){var _0x501387=[];_0x11fd95[_0x2727e0(0x214)](_0x2727e0(0x1de))[_0x2727e0(0x206)](function(){const _0x478b46=_0x2727e0;$(this)[_0x478b46(0x19b)](_0x478b46(0x158))&&_0x501387[_0x478b46(0x141)]($(this)['data'](_0x478b46(0x14a)));}),_0x11fd95[_0x2727e0(0x133)](_0x501387);}_0x4fdb8f['$elementDiv']['is'](':visible')?_0x4fdb8f['$input'][_0x2727e0(0x1e6)]('focus'):_0x4fdb8f[_0x2727e0(0x1ca)][_0x2727e0(0x1e6)]('focus');},'_createMenu'(_0x210f31,_0x158448,_0x24a40e){const _0x5439a7=_0x5c7c69;var _0x25ef19=this;const _0x376471=$(_0x5439a7(0x184))[_0x5439a7(0x132)](_0x5439a7(0x1d3));return _0x376471[_0x5439a7(0x208)]=_0x158448,_0x376471['callback']=_0x24a40e,_0x210f31[_0x5439a7(0x14c)](_0x332602=>{const _0xb480bf=_0x5439a7;typeof _0x332602==='string'&&(_0x332602={'value':_0x332602,'label':_0x332602});var _0x200918=$('<a\x20href=\x22#\x22></a>')[_0xb480bf(0x24c)]('value',_0x332602['value'])[_0xb480bf(0x1f4)](_0x376471);_0x332602[_0xb480bf(0x1fe)]&&_0x200918['text'](_0x332602[_0xb480bf(0x1fe)]);_0x332602[_0xb480bf(0x1f8)]&&_0x200918[_0xb480bf(0x19b)](_0xb480bf(0x1f8),_0x332602['title']);if(_0x332602[_0xb480bf(0x125)]){if(_0x332602[_0xb480bf(0x125)][_0xb480bf(0x1b4)]('<')===0x0)$(_0x332602[_0xb480bf(0x125)])[_0xb480bf(0x196)](_0x200918);else _0x332602[_0xb480bf(0x125)][_0xb480bf(0x1b4)]('/')!==-0x1?$(_0xb480bf(0x14b),{'class':_0xb480bf(0x138),'style':_0xb480bf(0x12b)+_0x332602[_0xb480bf(0x125)]+_0xb480bf(0x1c5)+_0x332602[_0xb480bf(0x125)]+');'})['prependTo'](_0x200918):$(_0xb480bf(0x14b),{'class':_0xb480bf(0x188)+_0x332602[_0xb480bf(0x125)]})[_0xb480bf(0x196)](_0x200918);}else _0x200918[_0xb480bf(0x191)]({'paddingLeft':_0xb480bf(0x215)});!_0x332602[_0xb480bf(0x125)]&&!_0x332602[_0xb480bf(0x1fe)]&&_0x200918[_0xb480bf(0x18c)](_0x332602[_0xb480bf(0x14a)]);var _0x37199b;_0x158448[_0xb480bf(0x1c7)]&&(_0x37199b=$(_0xb480bf(0x1c6))[_0xb480bf(0x191)](_0xb480bf(0x216),'none')[_0xb480bf(0x176)](_0xb480bf(0x14a),_0x332602[_0xb480bf(0x14a)])[_0xb480bf(0x196)](_0x200918)['on']('mousedown',function(_0x2f1d06){const _0x43601c=_0xb480bf;_0x2f1d06[_0x43601c(0x223)]();})),_0x200918['on']('click',function(_0x159271){const _0x10bf4c=_0xb480bf;_0x159271[_0x10bf4c(0x223)](),_0x159271[_0x10bf4c(0x142)](),!_0x158448['multiple']?(_0x24a40e(_0x332602['value']),_0x25ef19['_hideMenu'](_0x376471)):_0x37199b[_0x10bf4c(0x19b)]('checked',!_0x37199b[_0x10bf4c(0x19b)](_0x10bf4c(0x158)));});}),_0x376471[_0x5439a7(0x191)]({'display':'none'}),_0x376471['on']('keydown',function(_0x1a8ae8){const _0x3f445f=_0x5439a7;if(_0x1a8ae8[_0x3f445f(0x240)]===0x28)_0x1a8ae8[_0x3f445f(0x223)](),$(this)[_0x3f445f(0x209)](_0x3f445f(0x24b))[_0x3f445f(0x1ac)]()[_0x3f445f(0x1e6)]('focus');else{if(_0x1a8ae8[_0x3f445f(0x240)]===0x26)_0x1a8ae8['preventDefault'](),$(this)[_0x3f445f(0x209)](':focus')[_0x3f445f(0x1d6)]()[_0x3f445f(0x1e6)]('focus');else _0x1a8ae8['keyCode']===0x1b&&(_0x1a8ae8[_0x3f445f(0x223)](),_0x25ef19[_0x3f445f(0x160)](_0x376471));}_0x1a8ae8['stopPropagation']();}),_0x376471;},'disarmClick':![],'_showMenu'(_0x55a6e7,_0x8d616f){const _0x148577=_0x5c7c69;if(this[_0x148577(0x1fb)]){this[_0x148577(0x1fb)]=![];return;}var _0xf18878=this,_0x1636ef=_0x8d616f[_0x148577(0x1f6)](),_0x3f38a0=_0x8d616f['height'](),_0x2b8ef3=_0x55a6e7['height'](),_0x40bbc1=_0x3f38a0+_0x1636ef[_0x148577(0x1b8)];_0x40bbc1+_0x2b8ef3-$(document)['scrollTop']()>$(window)['height']()&&(_0x40bbc1-=_0x40bbc1+_0x2b8ef3-$(window)['height']()+0x5),_0x40bbc1<0x0&&(_0x55a6e7[_0x148577(0x1b9)](_0x2b8ef3+_0x40bbc1),_0x40bbc1=0x0),_0x55a6e7[_0x148577(0x191)]({'top':_0x40bbc1+'px','left':_0x1636ef[_0x148577(0x13d)]+'px'}),_0x55a6e7[_0x148577(0x22b)](0x64),this[_0x148577(0x15e)](function(){const _0x5e064c=_0x148577;_0xf18878[_0x5e064c(0x1b5)][_0x5e064c(0x132)]('red-ui-typedInput-focus'),$(document)['on'](_0x5e064c(0x1b2),function(_0x43ebc4){const _0x2d9211=_0x5e064c;!$(_0x43ebc4['target'])[_0x2d9211(0x1af)](_0x55a6e7)[_0x2d9211(0x20c)]&&_0xf18878[_0x2d9211(0x160)](_0x55a6e7),$(_0x43ebc4[_0x2d9211(0x1dd)])[_0x2d9211(0x1af)](_0x8d616f)['length']&&(_0xf18878[_0x2d9211(0x1fb)]=!![],_0x43ebc4[_0x2d9211(0x223)]());});});},'_showTypeMenu'(){const _0x2ce902=_0x5c7c69,_0x3a1bfb=this;this[_0x2ce902(0x19e)](_0x3a1bfb[_0x2ce902(0x1a2)],_0x3a1bfb[_0x2ce902(0x154)]),_0x3a1bfb[_0x2ce902(0x1ef)][_0x2ce902(0x24e)]();const _0x18e9bc=_0x3a1bfb['selectedMenuItem'];var _0x3462f1=_0x3a1bfb[_0x2ce902(0x1a2)][_0x2ce902(0x214)]('[value=\x27'+_0x18e9bc+'\x27');setTimeout(function(){const _0x2a34a7=_0x2ce902;_0x3462f1['trigger'](_0x2a34a7(0x12c));},0x78);},'_initMenu'(){const _0x2d0431=_0x5c7c69,_0x28bb5e=this;_0x28bb5e[_0x2d0431(0x1ca)][_0x2d0431(0x24c)]('tabindex',-0x1),_0x28bb5e[_0x2d0431(0x1ca)]['on'](_0x2d0431(0x1d9),function(_0x58a62f){const _0x13b0b7=_0x2d0431;_0x58a62f[_0x13b0b7(0x223)]();});_0x28bb5e['$menu']&&_0x28bb5e['$menu'][_0x2d0431(0x1bd)]();const _0x3e4444=[{'label':'text','value':'t','title':_0x2d0431(0x245),'icon':_0x2d0431(0x12f)},{'label':_0x2d0431(0x1aa),'value':_0x2d0431(0x156),'title':'node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','icon':'<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>'},{'label':_0x2d0431(0x1e9),'value':'n','icon':_0x2d0431(0x186)},{'label':'Aliased\x20NodeId','value':'na','icon':_0x2d0431(0x238)},{'label':'NodeId\x20with\x20namespace\x20Urn','value':_0x2d0431(0x173),'icon':_0x2d0431(0x182)},{'label':'BrowsePath','value':'b','icon':_0x2d0431(0x1f9)},{'label':'Aliased\x20Browse\x20Path','value':'ab','icon':_0x2d0431(0x167)}],_0x2510a7=_0x46b362(_0x28bb5e[_0x2d0431(0x12d)]['val']()),_0x1ebef0=_0x3e4444[_0x2d0431(0x214)](_0x145f88=>_0x145f88[_0x2d0431(0x14a)]===_0x2510a7);_0x28bb5e[_0x2d0431(0x1a3)]['empty']()[_0x2d0431(0x152)]('<span\x20title='+((_0x1ebef0===null||_0x1ebef0===void 0x0?void 0x0:_0x1ebef0[_0x2d0431(0x1f8)])||'')+_0x2d0431(0x171)+((_0x1ebef0===null||_0x1ebef0===void 0x0?void 0x0:_0x1ebef0[_0x2d0431(0x125)])||'')+_0x2d0431(0x193)),_0x28bb5e[_0x2d0431(0x135)]=_0x2510a7;const _0x1d7413=this;_0x28bb5e[_0x2d0431(0x1a2)]=this[_0x2d0431(0x1c2)](_0x3e4444,{},_0x17893b=>{const _0x1f3af1=_0x2d0431,_0x2d4ded=_0x49a531(_0x17893b);_0x2d4ded&&_0x1d7413[_0x1f3af1(0x229)](_0x2d4ded);const _0x346262=_0x3e4444['find'](_0x2fe06f=>_0x2fe06f[_0x1f3af1(0x14a)]===_0x17893b);_0x28bb5e[_0x1f3af1(0x135)]=_0x17893b,_0x28bb5e[_0x1f3af1(0x1a3)][_0x1f3af1(0x147)]()[_0x1f3af1(0x152)](_0x1f3af1(0x222)+((_0x346262===null||_0x346262===void 0x0?void 0x0:_0x346262[_0x1f3af1(0x1f8)])||'')+'>&nbsp;\x20'+((_0x346262===null||_0x346262===void 0x0?void 0x0:_0x346262[_0x1f3af1(0x125)])||'')+_0x1f3af1(0x193));}),_0x28bb5e['$menu'][_0x2d0431(0x1f4)](document[_0x2d0431(0x1b0)]),_0x28bb5e[_0x2d0431(0x1a2)][_0x2d0431(0x24e)](),_0x28bb5e[_0x2d0431(0x1ca)][_0x2d0431(0x1ad)]();},'mode'(){const _0x356d99=_0x5c7c69,_0xde816a=this;return _0x49a531(_0xde816a[_0x356d99(0x135)]);},'setMode'(_0x5b34a1){const _0x532085=_0x5c7c69,_0x2ae722=this,_0x2bbe69=_0x36797a(_0x5b34a1);_0x2ae722[_0x532085(0x135)]=_0x2bbe69;},'_create'(){const _0x4c81af=_0x5c7c69,_0x555a25=this;_0x555a25[_0x4c81af(0x12d)]=this[_0x4c81af(0x1a9)],_0x555a25[_0x4c81af(0x12d)][_0x4c81af(0x191)]('border',_0x4c81af(0x242)),_0x555a25[_0x4c81af(0x124)]=_0x555a25[_0x4c81af(0x12d)][_0x4c81af(0x170)]('<div>')[_0x4c81af(0x175)]()['addClass'](_0x4c81af(0x1df)),_0x555a25['$combo']=$('<div/>'),_0x555a25['$combo'][_0x4c81af(0x132)](_0x4c81af(0x187)),_0x555a25[_0x4c81af(0x12d)][_0x4c81af(0x1a1)](_0x555a25[_0x4c81af(0x154)]),_0x555a25[_0x4c81af(0x1a5)]=$(_0x4c81af(0x249))['addClass'](_0x4c81af(0x207)),_0x555a25[_0x4c81af(0x154)][_0x4c81af(0x152)](_0x555a25[_0x4c81af(0x1a5)]),_0x555a25['$inputGroup'][_0x4c81af(0x152)](_0x555a25[_0x4c81af(0x12d)]),_0x555a25['$toggleTreeBtn']=$(_0x4c81af(0x1da)),_0x555a25[_0x4c81af(0x12d)][_0x4c81af(0x151)](_0x555a25['$toggleTreeBtn']),_0x555a25[_0x4c81af(0x1d4)]['on']('click',function(){return _0x323568(this,void 0x0,void 0x0,function*(){const _0x276db9=_0x5e0d;var _0x5da11c;let _0xd4b71e=![],_0x4a5292;!_0x555a25[_0x276db9(0x1ef)]['is'](_0x276db9(0x243))&&(_0x555a25[_0x276db9(0x200)]['hide'](),_0x4a5292=yield _0x555a25[_0x276db9(0x1e3)](),(_0x4a5292!==_0x555a25[_0x276db9(0x16f)]||((_0x5da11c=_0x555a25['currentParent'])===null||_0x5da11c===void 0x0?void 0x0:_0x5da11c[_0x276db9(0x224)])!==_0x4a5292[_0x276db9(0x224)])&&(yield _0x555a25[_0x276db9(0x13a)]()),_0xd4b71e=!![]),_0x555a25[_0x276db9(0x1ef)][_0x276db9(0x1b1)](),_0xd4b71e&&(yield _0x316377(_0x555a25,_0x4a5292));});}),_0x555a25[_0x4c81af(0x22c)]=$(_0x4c81af(0x1b7)),_0x555a25[_0x4c81af(0x12d)][_0x4c81af(0x151)](_0x555a25[_0x4c81af(0x22c)]),_0x555a25[_0x4c81af(0x22c)]['on']('click',()=>{const _0x533e54=_0x4c81af,_0x5bc914=_0x555a25[_0x533e54(0x155)]();if(!_0x5bc914)return;this[_0x533e54(0x229)](_0x5bc914);});const _0x5020f3=_0x43ed3c=>_0x323568(this,void 0x0,void 0x0,function*(){const _0x56510c=_0x4c81af,_0x2e8b47=this;let _0x4bec97=_0x2e8b47[_0x56510c(0x155)]();if(!_0x4bec97)return;const _0x483626=_0x3bead8(_0x2e8b47),{data:_0x3bf69b,json:_0x102594}=yield _0x5d2976(_0x483626,_0x43ed3c);if(_0x3bf69b[_0x56510c(0x20f)]!==0xc8)return;if(_0x102594['statusCode'][_0x56510c(0x21f)](/Good/)){const _0x491459=_0x1ef331(_0x102594,_0x4bec97);_0x2e8b47[_0x56510c(0x12d)][_0x56510c(0x23c)](_0x491459),_0x2e8b47[_0x56510c(0x12d)]['trigger'](_0x56510c(0x19a));}});{_0x555a25['$uiSelect']=$(_0x4c81af(0x184)),_0x555a25['$input'][_0x4c81af(0x1b3)](_0x555a25[_0x4c81af(0x1b5)]),_0x555a25[_0x4c81af(0x1ca)]=$(_0x4c81af(0x197))['prependTo'](_0x555a25[_0x4c81af(0x1b5)]),$(_0x4c81af(0x19c))[_0x4c81af(0x1b1)](!![])['appendTo'](_0x555a25[_0x4c81af(0x1ca)]),_0x555a25[_0x4c81af(0x1ca)]['on'](_0x4c81af(0x1a8),function(_0x376751){const _0x207927=_0x4c81af;_0x376751[_0x207927(0x223)](),_0x376751[_0x207927(0x142)](),_0x555a25['_showTypeMenu']();}),_0x555a25['$selectTrigger']['on'](_0x4c81af(0x227),function(_0x34c398){const _0x3b4a9f=_0x4c81af;_0x34c398[_0x3b4a9f(0x240)]===0x28&&_0x555a25['_showTypeMenu'](),_0x34c398[_0x3b4a9f(0x142)]();})['on'](_0x4c81af(0x12c),function(){const _0x496bb4=_0x4c81af;_0x555a25[_0x496bb4(0x1b5)][_0x496bb4(0x132)]('red-ui-typedInput-focus');})['on'](_0x4c81af(0x20e),function(){const _0x588315=_0x4c81af;_0x555a25[_0x588315(0x1b5)]['removeClass']('red-ui-typedInput-focus');}),_0x555a25[_0x4c81af(0x1a3)]=$(_0x4c81af(0x194))[_0x4c81af(0x1f4)](_0x555a25[_0x4c81af(0x1ca)]);}this[_0x4c81af(0x17d)]();!_0x555a25[_0x4c81af(0x12d)][_0x4c81af(0x24c)](_0x4c81af(0x1ab))&&_0x555a25['$input'][_0x4c81af(0x24c)](_0x4c81af(0x1ab),_0x4c81af(0x15c));_0x555a25[_0x4c81af(0x200)]=$(_0x4c81af(0x159)),_0x555a25['$info'][_0x4c81af(0x24e)](),_0x555a25['$combo'][_0x4c81af(0x152)](_0x555a25[_0x4c81af(0x200)]),_0x555a25[_0x4c81af(0x1ef)]=$(_0x4c81af(0x249))[_0x4c81af(0x132)](_0x4c81af(0x1ea))[_0x4c81af(0x24e)]()[_0x4c81af(0x1f4)](_0x555a25['$combo']),_0x555a25[_0x4c81af(0x150)]=$(_0x4c81af(0x1e5))[_0x4c81af(0x1f4)](_0x555a25['$dropdown']),this[_0x4c81af(0x13a)]();const _0x584dd3=(_0x10373f,_0x234a40)=>{const _0x141e00=_0x4c81af,_0x20008b=0x14,_0x1adbab=0x14,_0x4e8158=_0x10373f['offset'](),_0x468750=_0x234a40;if(_0x468750[_0x141e00(0x1d8)]>=_0x4e8158[_0x141e00(0x13d)]&&_0x468750[_0x141e00(0x1d8)]<=_0x4e8158['left']+_0x20008b&&_0x468750[_0x141e00(0x14d)]>=_0x4e8158[_0x141e00(0x1b8)]&&_0x468750[_0x141e00(0x14d)]<=_0x4e8158[_0x141e00(0x1b8)]+_0x1adbab)return!![];return![];},_0x5abd04=_0x1ddf04=>_0x323568(this,void 0x0,void 0x0,function*(){const _0x72d8ab=_0x4c81af;if(_0x1ddf04[_0x72d8ab(0x12e)]('expandable'))_0x576170(_0x555a25,_0x1ddf04);else{if(_0x1ddf04[_0x72d8ab(0x12e)](_0x72d8ab(0x1d7)))_0x1ddf04[_0x72d8ab(0x209)]('ul')[_0x72d8ab(0x1b1)](),_0x1ddf04[_0x72d8ab(0x1c3)](_0x72d8ab(0x1ff));else{if(_0x1ddf04[_0x72d8ab(0x209)]('ul')['children']()[_0x72d8ab(0x20c)]>0x0)_0x1ddf04[_0x72d8ab(0x209)]('ul')[_0x72d8ab(0x1b1)](),_0x1ddf04[_0x72d8ab(0x1c3)](_0x72d8ab(0x1ff));else;}}});_0x555a25[_0x4c81af(0x150)]['on'](_0x4c81af(0x169),'li',function(_0x1a4e64){const _0x4b5825=_0x4c81af;var _0x6a4825,_0x14558e;_0x1a4e64[_0x4b5825(0x142)]();let _0xd2a8f1=$(this);if(_0x584dd3(_0xd2a8f1,_0x1a4e64))_0x5abd04(_0xd2a8f1);else{const _0x31ebed=_0xd2a8f1['data'](_0x4b5825(0x14a)),_0x2bb4e8=_0xd2a8f1[_0x4b5825(0x176)]('reference');if(_0x555a25[_0x4b5825(0x18a)][_0x4b5825(0x236)]&&!_0x555a25['options'][_0x4b5825(0x236)](_0x2bb4e8))return;_0x555a25[_0x4b5825(0x12d)][_0x4b5825(0x176)](_0x4b5825(0x21d),_0x2bb4e8),((_0x6a4825=_0x2bb4e8[_0x4b5825(0x1fc)])===null||_0x6a4825===void 0x0?void 0x0:_0x6a4825[_0x4b5825(0x18c)])||((_0x14558e=_0x2bb4e8[_0x4b5825(0x1cc)])===null||_0x14558e===void 0x0?void 0x0:_0x14558e[_0x4b5825(0x23d)])||_0x2bb4e8[_0x4b5825(0x224)][_0x4b5825(0x205)]();let _0x488207=_0x555a25[_0x4b5825(0x155)]();!_0x488207&&(_0x488207='nodeId',_0x555a25['setMode'](_0x488207)),_0x5020f3(_0x31ebed)[_0x4b5825(0x148)](()=>{const _0x4c7b1e=_0x4b5825;_0x555a25[_0x4c7b1e(0x1ef)][_0x4c7b1e(0x24e)]();})[_0x4b5825(0x1e1)](_0x1f0f37=>{const _0x488061=_0x4b5825;_0x555a25[_0x488061(0x1ef)]['hide']();});}}),_0x555a25[_0x4c81af(0x150)]['on'](_0x4c81af(0x1a8),'li',function(_0x356456){const _0x1a9054=_0x4c81af;_0x356456[_0x1a9054(0x142)]();let _0x1600ce=$(this);_0x584dd3(_0x1600ce,_0x356456)&&_0x5abd04(_0x1600ce),_0x1758e6(_0x555a25,_0x1600ce);}),$(document)['on']('click',function(_0x20f8fd){const _0x54e82e=_0x4c81af;!$(_0x20f8fd[_0x54e82e(0x1dd)])[_0x54e82e(0x1af)](_0x555a25[_0x54e82e(0x154)])[_0x54e82e(0x20c)]&&_0x555a25['$dropdown'][_0x54e82e(0x24e)]();});}});},_0x4e6cbf=()=>{const _0x48d488=_0x24fe39,_0x4be1ca=$('#node-input-endpoint'),_0x594c1c=_0x4be1ca[_0x48d488(0x23c)](),_0x299970=RED[_0x48d488(0x164)]['node'](_0x594c1c);if(!_0x299970)return undefined;const {endpoint:_0x19286c,securityMode:_0x571bec,securityPolicy:_0x441e1a,userIdentityType:_0x3139a8,credentials:_0x270705,namespaceAliases:_0x4de33f}=_0x299970,_0x3247c3={'endpoint':_0x19286c,'securityMode':_0x571bec,'securityPolicy':_0x441e1a,'userIdentityType':_0x3139a8,'credentials':_0x270705,'namespaceAliases':_0x4de33f};return _0x3247c3;},_0x38f2c8=()=>{const _0x321c88=_0x24fe39,_0x30716c=$(_0x321c88(0x219)),_0x263b43=_0x30716c[_0x321c88(0x23c)](),_0x3859e2=_0x4e6cbf();if(!_0x3859e2)return undefined;const _0x579246=_0x3859e2['namespaceAliases'];return Object['assign']({'namespaceAliases':_0x579246,'id':_0x263b43},_0x3859e2);},_0x365b04=()=>{return{'endpointNode':_0x38f2c8};},_0x2174d3=()=>{const _0x3b755b=_0x24fe39,_0x58755f=$(_0x3b755b(0x23b));if(_0x58755f[_0x3b755b(0x20c)]){const _0x94e478=$('<iframe></iframe>',{'src':_0x3b755b(0x185),'scrolling':'no','style':_0x3b755b(0x1ec),'allowtransparency':_0x3b755b(0x1a6),'width':_0x3b755b(0x157),'height':_0x3b755b(0x23a)});_0x58755f['append'](_0x94e478),_0x94e478['css']({'position':_0x3b755b(0x1ce),'right':_0x3b755b(0x189),'bottom':_0x3b755b(0x13b)});}};RED[_0x24fe39(0x164)][_0x24fe39(0x16a)](_0x24fe39(0x218),{'category':_0x24fe39(0x123),'color':_0x24fe39(0x1c1),'align':'right','icon':_0x24fe39(0x15a),'paletteLabel':_0x24fe39(0x22d),'defaults':{'inputs':{'value':0x1},'output':{'value':0x1},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x24fe39(0x230)},'dataType':{'value':'','required':!![]}},'inputs':0x1,'outputs':0x1,'label'(){const _0x359c5e=_0x24fe39;return this['name']||_0x359c5e(0x198);},'labelStyle'(){const _0x4a86d3=_0x24fe39;return this[_0x4a86d3(0x23d)]?'node_label_italic':'';},'oneditprepare'(){const _0x234e7a=_0x24fe39,_0xb8353e=this;_0xe7ac02(),_0x2174d3(),_0xb8353e[_0x234e7a(0x1e8)]=0x1;const _0x213698=$(_0x234e7a(0x1ed)),_0x39c55c={'nodeId':_0x234e7a(0x201),'referenceTypeId':'','browseName':{'namespaceIndex':0x0,'name':_0x234e7a(0x225)},'displayName':{'text':_0x234e7a(0x225)},'nodeClass':_0x234e7a(0x17c),'typeDefinition':_0x234e7a(0x140)};_0x213698[_0x234e7a(0x24a)](Object[_0x234e7a(0x211)](Object[_0x234e7a(0x211)]({},_0x365b04()),{'parentNode':()=>_0x39c55c,'isSelectable'(_0x3b88c4){const _0x1775ee=_0x234e7a;return _0x3b88c4[_0x1775ee(0x149)]===_0x1775ee(0x17c);},'isTypeRef':!![]}));},'oneditsave'(){}});}()));function _0x5e0d(_0x4c8c0d,_0x52ea26){const _0x97637a=_0x9763();return _0x5e0d=function(_0x5e0d2b,_0x28316e){_0x5e0d2b=_0x5e0d2b-0x122;let _0x56c87f=_0x97637a[_0x5e0d2b];return _0x56c87f;},_0x5e0d(_0x4c8c0d,_0x52ea26);}function _0x9763(){const _0x2af8bc=['addClass','callback','off','selectedMenuItem','auto','6FwFvXd','red-ui-typedInput-icon','SeaGreen','reset','16px','references','left','sterfive-info','Object','i=0','push','stopPropagation','referenceTypeId','</li>','HasTypeDefinition','sterfive-input-error','empty','then','nodeClass','value','<i>','forEach','pageY','2086140mmYuCb','call','$tree','after','append','ns=0;i=45','$combo','mode','msg','180px','checked','<div\x20class=\x22sterfive-info-text\x22></div>','../../icons/opcuanodeLogo.png','SuppressedError','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','fetched','_delay','HasChild','_hideMenu','Inverse','IsForward','filter','nodes','bp_indexed','opc.tcp://opcuademo.sterfive.com:26543','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','fa-cog','dblclick','registerType','endpoint','scrollTop','log','expandable','currentParent','wrap','>&nbsp;\x20','4641072lIdmLG','nsu','ReferenceType','parent','data','HasComponent','<div\x20class=\x22spinner\x22></div>',';\x22></i>\x20','sort','failure','DataType','_initMenu','browseResult','already\x20fetched','error','ns=0;i=46','<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20','message','<div>','/opcua-for-node-red/support-frame.html','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20','sterfive-combo-box','red-ui-typedInput-icon\x20','20px','options','Unspecified','text','1241335VfZsEg','typeDefinition','nodeId:\x20','POST','css','fetching\x20failed\x20with\x20error','</span>','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','Good','prependTo','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','OPCUA\x20Client\x20Extension\x20Object',':first','change','prop','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','removeClass','_showMenu','!!failure!!','browsePath','replaceWith','$menu','$selectLabel','DisplayName','$inputGroup','true','selected','click','element','msg.','placeholder','next','show','loading','closest','body','toggle','mousedown.red-ui-typedInput-close-property-select','before','indexOf','$uiSelect','namespaceAliases','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','top','height','ns=0;i=47','statusCode','SandyBrown','remove','HasSubtype','err','fa-object-group','#C0DEED','_createMenu','toggleClass','><i\x20class=\x22fa\x20',');\x20-webkit-mask-image:\x20url(','<input\x20type=\x22checkbox\x22>','multiple','/opcua-for-node-red','TypeDefinition','$selectTrigger','elements','browseName','Method','absolute','Both','VariableType','fa-list-alt','bp_aliased','sterfive-typedInput-options\x20sterfive-online-menu','$toggleTreeBtn','apply','prev','expanded','pageX','mousedown.red-ui-typedInput-focus-block','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','/checkNodeId','application/json','target','input[type=\x22checkbox\x22]','main-wrapper','BrowseName','catch','ObjectType','resolveParentNode','DarkOrange','<ul\x20class=\x22sterfive-tree\x22></ul>','trigger','localeCompare','inputs','NodeId','sterfive-dropdown','browse\x20path:\x20','background-color:transparent;overflow:hidden;border:3px','#node-input-dataType','Forward','$dropdown','position','already\x20loading','Objects','Organizes','appendTo','3877930zRxyhu','offset','552781BpPNwP','title','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','node','disarmClick','displayName','li\x20>\x20.tree-text','label','expandable\x20expanded','$info','i=22','throw','done','.tree-text:first','toString','each','sterfive-input-group','opts','children','rgba(61,\x2060,\x204,\x200.525)','861854URhpId','length','endpointNode','blur','status','nsu\x20nodeId:\x20','assign','parentNode','NodeClass','find','18px','pointer-events','node\x20class:\x20','OpcUa-Client2-ExtensionObject','#node-input-endpoint','function','Invalid','statusText','reference','HasProperty','match','widget','animate','<span\x20title=','preventDefault','nodeId','Structure','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','keydown','nsuNodeID','verify','</span><ul></ul></li>','slideDown','$verifyBtn','extension\x20object','nodeId_nsu','View','OpcUa-Endpoint2','baseUrl','\x22}><span\x20class=\x22tree-text\x22\x20title=','CadetBlue','nodeId_aliased','isTypeRef','isSelectable','aliased\x20NodeId:\x20','<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20','json','30px','.red-ui-tray-body','val','name','statusCode:\x20','i=61','keyCode','ns=0;i=35','none',':visible','fa-folder','Value\x20is\x20not\x20verified','sterfive.nodeBrowser','fa-question','1190493ofLDdD','<div/>','nodeBrowser',':focus','attr','__parentNode','hide','aliasedNodeId','opcua','$elementDiv','icon','SteelBlue','Variable','grey','.spinner','ns=0;i=61','mask-image:\x20url(','focus','$input','hasClass','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','aliasedBrowsePath','stringify'];_0x9763=function(){return _0x2af8bc;};return _0x9763();}
9
8
  </script>
10
9
  <script type="text/x-red" data-template-name="OpcUa-Client2-ExtensionObject">
11
10
  <h3>OpcUa ExtensionObject</h3>
@@ -0,0 +1,2 @@
1
+ .sterfive-combo-box{position:relative;width:100%}.sterfive-online-menu{height:auto;position:fixed;width:auto}.sterfive-input-error{border-color:var(--red-ui-form-input-border-error-color)!important;border-style:solid;border-width:1px}.sterfive-typedInput-options{background:#fff;border-style:solid;border-width:1px;border:1px solid var(--red-ui-primary-border-color);box-sizing:border-box;max-height:350px;overflow-y:auto;position:absolute;white-space:nowrap;z-index:2000}.sterfive-typedInput-options a{align-items:center;border-bottom:1px solid;border-color:var(--red-ui-secondary-border-color);border-style:solid;border-width:1px;color:var(--red-ui-form-text-color);display:flex;font-size:13px;padding:6px 18px 6px 6px;text-decoration:none}.sterfive-typedInput-options a:hover{background:var(--red-ui-workspace-button-background-hover);text-decoration:none}.sterfive-typedInput-options a:focus{outline:none}.sterfive-typedInput-options a:active,.sterfive-typedInput-options a:focus{background:var(--red-ui-workspace-button-background-active);text-decoration:none}.sterfive-typedInput-options a input[type=checkbox]{margin:0 6px 0 0}.sterfive-typedInput-options .sterfive-typedInput-icon{margin-right:6px}.sterfive-typedInput-options .sterfive-typedInput-icon:not(.fa){background-color:var(--red-ui-primary-text-color);height:14px;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:cover;mask-size:cover;width:12px}.sterfive-combo-box .sterfive-dropdown{background-color:#fff;border:1px solid #ccc;display:none;left:0;max-height:400px;overflow-y:auto;position:absolute;top:100%;width:100%;z-index:1000}.sterfive-combo-box li:before{content:none}.sterfive-tree li.expandable:before,.sterfive-tree li.no-expandable:before{content:"\f0da";cursor:pointer;font-family:FontAwesome;font-size:12pt;font-weight:900;margin-right:5px}.sterfive-tree li.no-expandable:before{opacity:0}.sterfive-tree li.expanded:before{content:"\f0d7";cursor:pointer;font-family:FontAwesome;font-size:12pt;font-weight:900;margin-right:5px}.sterfive-tree li span.selected{border:.5px dotted #33f}.sterfive-tree .fa{color:#333;margin-right:10px}.sterfive-tree ul{list-style:none;padding-inline-start:2%!important}.sterfive-tree li{cursor:pointer;padding:5px}.sterfive-tree{list-style-type:none}.sterfive-tree,.sterfive-tree ol,.sterfive-tree ul{list-style-type:none;margin:0;padding:0}.sterfive-tree li:hover{background-color:#eee}.sterfive-tree li.loading:before{animation:fa-spin 1s linear infinite;content:"\f110";cursor:pointer;font-family:FontAwesome;font-weight:900;margin-right:5px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.sterfive-tree .spinner{animation:spin .7s linear infinite;border:2px solid transparent;border-radius:50%;border-top-color:#666;display:inline-block;height:16px;width:16px}.sterfive-info{background-color:#fafad2;border-radius:10px;border-style:groove;display:block;font-size:10pt;margin:5px 0;padding:5px}.sterfive-info .ok{color:green}.sterfive-info .warning{color:darkred}.input-wrapper{border:0 solid #ccc;border-radius:5px;padding:0}.sterfive-input-group{border:1px solid #ccc;border-radius:5px;display:flex;overflow:hidden}.sterfive-input-group button,.sterfive-input-group input{border:none;outline:none;padding:10px}.sterfive-input-group input{flex:1}.sterfive-input-group button{background-color:var(--red-ui-form-button-background);color:#7b7a7a;cursor:pointer}.sterfive-input-group button:hover{background-color:var(--red-ui-secondary-background-hover)}.sterfive-info-text{color:#777;font-size:12px;margin-left:10px;margin-top:5px}.custom-checkbox{cursor:pointer;display:inline-block;font-family:FontAwesome;font-size:16px;font-weight:900;margin-right:10px;text-align:center;width:1em}.custom-checkbox.unchecked:before{content:"\f096"}.custom-checkbox.checked:before{content:"\f046"}.validate-cancel-buttons{background-color:#fff;position:sticky;right:0;top:0;z-index:1001}.cancel-button,.validate-button{cursor:pointer;font-size:16px;margin:5px}.sterfive-combo-box .sterfive-dropdown{position:relative}.floating-buttons{position:fixed;z-index:1003}.mask-flag-dropdown .option-item{border:1px solid #ccc;cursor:pointer;display:inline-block;font-family:FontAwesome;font-size:16px;font-weight:900;margin-right:10px;padding:5px 10px;text-align:center;width:1em}.mask-flag-dropdown .option-item .checkbox{border:1px solid #ccc;content:"\f096";display:inline-block;height:20px;margin-right:5px;width:20px}.mask-flag-dropdown .option-item.selected .checkbox{content:"\f046"}.custom-select{background-color:#fff;border:1px solid #ccc;box-sizing:border-box;cursor:pointer;max-height:200px;overflow-y:auto;padding:5px;width:100%}.custom-select .custom-option{align-items:center;border-bottom:1px solid #eee;display:flex;padding:5px 10px}.custom-select .custom-option:last-child{border-bottom:none}.custom-select .custom-option .custom-checkbox{align-items:center;border:1px solid #ccc;display:flex;font-size:14px;height:20px;justify-content:center;margin-right:8px;width:20px}.custom-select .custom-option.selected .custom-checkbox{border-color:#007bff}.custom-select .custom-option .custom-checkbox:before{color:#007bff;content:"\f096";font-family:FontAwesome}.custom-select .custom-option.selected .custom-checkbox:before{content:"\f046"}
2
+ /*# sourceMappingURL=OpcUa-Client2-FileOperation.css.map */