@opcua/for-node-red 3.9.0 → 3.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/all.js +4 -150
- package/config-panel/assets/{index-Cbauh_EP.css → index-CxGeB_Tt.css} +1 -1
- package/config-panel/index.html +5 -3
- package/package.json +2 -1
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.html +3 -4
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.html +7 -2
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.html +1 -2
- package/source/OpcUa-Client2-ExtensionObject/OpcUa-Client2-ExtensionObject.html +1 -2
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.css +2 -0
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.html +75 -0
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.js +2 -0
- package/source/OpcUa-Client2-HistoryRead/OpcUa-Client2-HistoryRead.html +1 -2
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.html +1 -2
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.html +1 -2
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.html +1 -2
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.html +1 -2
- package/source/OpcUa-Endpoint2/OpcUa-Endpoint2.html +1 -2
- /package/config-panel/assets/{index-Dbq8sVaJ.js → index-DgIjB-ey.js} +0 -0
@@ -4,8 +4,7 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
function _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/> \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/> ','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','> \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/> \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/> ','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 \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 _0x1137(){const _0x229d5c=['$input','NodeId\x20with\x20namespace\x20Urn','push','log',':focus','expanded','removeClass','fetching\x20failed\x20with\x20error','aliasedNodeId','/opcua-for-node-red/support-frame.html','failure','</span>','IsForward','3206vUXHYk','714600DpqQgu','$inputGroup','DarkOrange','pageY','attr','browseResult','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','toggleClass','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','assign','li\x20>\x20.tree-text','length','nsu','CadetBlue','NodeClass','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','$elementDiv','css','preventDefault','Value\x20is\x20not\x20verified','SeaGreen','nodeId_aliased','opc.tcp://opcuademo.sterfive.com:26543','../../icons/opcuanodeLogo.png','Invalid','fa-question','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','application/json','<i\x20class=\x22fa\x20fa-id-card\x22/> \x20','children','main-wrapper','Both','loading','red-ui-typedInput-icon\x20','Method','none','elements','Forward','.red-ui-tray-body','red-ui-typedInput-focus','name','match','HasChild','SuppressedError','text','hasClass','message','nodes','nodeClass','suppressed','_initMenu','Aliased\x20Browse\x20Path','position','right','prependTo','indexOf','POST','multiple','pageX','$verifyBtn','nsu\x20nodeId:\x20','selected','isTypeRef','mask-image:\x20url(','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','show','remove','ns=0;i=46','fa-object-group','/walk-backward','top','expandable','<div/>','parent','statusCode:\x20','error','$info','json','requestedNodeId','$selectTrigger','_hideMenu','scrollTop','opts','verify','/checkNodeId','<div>','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20',';\x22></i>\x20','TypeDefinition','sterfive-typedInput-options\x20sterfive-online-menu','addClass','sterfive-combo-box','value','_showMenu','fa-folder','join','click','filter','aliasedBrowsePath','auto','options','namespaceAliases','\x22\x20style=\x22color:','> \x20','placeholder','tabindex','status','mousedown','DisplayName','prev','HasSubtype','<div\x20class=\x22spinner\x22></div>','nodeIds','absolute','stopPropagation','.spinner','val','i=0','ReferenceType','<span\x20title=','221522QzNnVn','before','DataType','next','11dSoOlg','disarmClick','referenceTypeId','endpointNode','statusText','bp_aliased','Organizes','573rlakMY','already\x20loading','hide','<li\x20key=\x22','call','<input\x20type=\x22checkbox\x22>','<li>error\x20','DodgerBlue','references','parentNode','</li>','ns=0;i=45','HasComponent','78BIMDUl','nsuNodeID','$dropdown','bp_indexed','registerType','body','left','string','function','localeCompare','then','stringify','after','Aliased\x20NodeId','node','BrowsePath','keyCode','node_label_italic','rgba(61,\x2060,\x204,\x200.525)','fetched','pointer-events','<div\x20class=\x22sterfive-info-text\x22></div>','height','err','selectedMenuItem','element','node\x20class:\x20','Structure','trigger','browseName','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20','icon','each','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','change','currentParent','setMode',':first','ns=0;i=61','__parentNode','i=61','prop','9jVhPxu','throw','msg.','sterfive-input-error','target','Good','reference','!!failure!!','_showTypeMenu','><i\x20class=\x22fa\x20','fa-text-width','nodeId:\x20','#node-input-endpoint','fa-list-alt','Object','msg','Inverse','1883405sIWVLi','animate','mode','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','isSelectable','wrap','VariableType','1696110fLQdwr','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','browsePath','typeDefinition','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','checked','ObjectType','Objects','aliased\x20NodeId:\x20','empty','/opcua-for-node-red','$uiSelect','fa-cog','inputs','View','title','border','aliased\x20browsePath:\x20','statusCode','Unspecified','$tree','180px',');\x20-webkit-mask-image:\x20url(','displayName','baseUrl','catch','Variable','extension\x20object','closest','toString','focus','HasProperty','.tree-text:first','data','forEach','endpoint','reset','blur','sterfive-input-group','done','slideDown','toggle','nodeId','63vwtXjl',':visible','sterfive-info','$toggleTreeBtn','BrowseName','append','red-ui-typedInput-icon','appendTo','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','relativePath','$menu','/browse','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','3725144NTmQMh','mousedown.red-ui-typedInput-close-property-select','30421392pXkJWH','offset','label','<i>','SteelBlue','$combo','replaceWith','$selectLabel','16px','callback','find','nodeId_nsu','ns=0;i=40','<iframe></iframe>','expandable\x20expanded'];_0x1137=function(){return _0x229d5c;};return _0x1137();}function _0x5519(_0x2ae616,_0x595db3){const _0x1137a3=_0x1137();return _0x5519=function(_0x551946,_0x34a954){_0x551946=_0x551946-0x71;let _0x33fd33=_0x1137a3[_0x551946];return _0x33fd33;},_0x5519(_0x2ae616,_0x595db3);}(function(_0x4fe31d,_0x58e19e){const _0x371860=_0x5519,_0x12fde2=_0x4fe31d();while(!![]){try{const _0x2e6ea0=-parseInt(_0x371860(0x179))/0x1*(-parseInt(_0x371860(0xf5))/0x2)+-parseInt(_0x371860(0x87))/0x3*(-parseInt(_0x371860(0xf6))/0x4)+-parseInt(_0x371860(0x98))/0x5+parseInt(_0x371860(0x186))/0x6*(parseInt(_0x371860(0x16e))/0x7)+parseInt(_0x371860(0xd7))/0x8+parseInt(_0x371860(0xca))/0x9*(parseInt(_0x371860(0x9f))/0xa)+-parseInt(_0x371860(0x172))/0xb*(parseInt(_0x371860(0xd9))/0xc);if(_0x2e6ea0===_0x58e19e)break;else _0x12fde2['push'](_0x12fde2['shift']());}catch(_0x37829f){_0x12fde2['push'](_0x12fde2['shift']());}}}(_0x1137,0x9430e),(function(){'use strict';const _0x1d1340=_0x5519;function _0x5b4b7a(_0x4b0142,_0x422361,_0x51d42,_0x4371d2){function _0x4241b1(_0x503d24){return _0x503d24 instanceof _0x51d42?_0x503d24:new _0x51d42(function(_0x57cd6f){_0x57cd6f(_0x503d24);});}return new(_0x51d42||(_0x51d42=Promise))(function(_0x4fad4c,_0x1178bb){function _0x4b82c(_0x20dbbd){const _0x5d738a=_0x5519;try{_0x11d471(_0x4371d2[_0x5d738a(0x171)](_0x20dbbd));}catch(_0x31e3ce){_0x1178bb(_0x31e3ce);}}function _0x8e62ee(_0x9e5d53){const _0x1c8ac1=_0x5519;try{_0x11d471(_0x4371d2[_0x1c8ac1(0x88)](_0x9e5d53));}catch(_0x1484aa){_0x1178bb(_0x1484aa);}}function _0x11d471(_0x88d871){const _0x3ad2a6=_0x5519;_0x88d871[_0x3ad2a6(0xc6)]?_0x4fad4c(_0x88d871['value']):_0x4241b1(_0x88d871['value'])[_0x3ad2a6(0x190)](_0x4b82c,_0x8e62ee);}_0x11d471((_0x4371d2=_0x4371d2['apply'](_0x4b0142,_0x422361||[]))['next']());});}typeof SuppressedError===_0x1d1340(0x18e)?SuppressedError:function(_0x2ca4cb,_0x40aa7c,_0x24d6d5){const _0x35f0f6=_0x1d1340;var _0x2e981e=new Error(_0x24d6d5);return _0x2e981e[_0x35f0f6(0x11e)]=_0x35f0f6(0x121),_0x2e981e[_0x35f0f6(0x141)]=_0x2ca4cb,_0x2e981e[_0x35f0f6(0x127)]=_0x40aa7c,_0x2e981e;};const _0x15f035='ns=0;i=35',_0x414405=_0x1d1340(0x83),_0x1b0485='ns=0;i=47',_0x4a7cff=_0x1d1340(0x139),_0x31b4cb='ns=0;i=34',_0x181844=_0x1d1340(0x184),_0x17eb2f=_0x1d1340(0xe5);var _0x2cc259;(function(_0x4429d4){const _0x2f5fde=_0x1d1340;_0x4429d4[_0x4429d4[_0x2f5fde(0x11b)]=0x0]=_0x2f5fde(0x11b),_0x4429d4[_0x4429d4['Inverse']=0x1]=_0x2f5fde(0x97),_0x4429d4[_0x4429d4['Both']=0x2]=_0x2f5fde(0x115),_0x4429d4[_0x4429d4['Invalid']=0x3]=_0x2f5fde(0x10e);}(_0x2cc259||(_0x2cc259={})));var _0x20a2f6;(function(_0x2cd3a0){const _0x4c5036=_0x1d1340;_0x2cd3a0[_0x2cd3a0[_0x4c5036(0xb2)]=0x0]='Unspecified',_0x2cd3a0[_0x2cd3a0['Object']=0x1]='Object',_0x2cd3a0[_0x2cd3a0['Variable']=0x2]=_0x4c5036(0xb9),_0x2cd3a0[_0x2cd3a0[_0x4c5036(0x118)]=0x4]=_0x4c5036(0x118),_0x2cd3a0[_0x2cd3a0[_0x4c5036(0xa5)]=0x8]='ObjectType',_0x2cd3a0[_0x2cd3a0[_0x4c5036(0x9e)]=0x10]=_0x4c5036(0x9e),_0x2cd3a0[_0x2cd3a0[_0x4c5036(0x16c)]=0x20]='ReferenceType',_0x2cd3a0[_0x2cd3a0[_0x4c5036(0x170)]=0x40]=_0x4c5036(0x170),_0x2cd3a0[_0x2cd3a0[_0x4c5036(0xad)]=0x80]=_0x4c5036(0xad);}(_0x20a2f6||(_0x20a2f6={})));var _0x4f26c0;(function(_0x317da8){const _0xc33320=_0x1d1340;_0x317da8[_0x317da8[_0xc33320(0x95)]=0x1]=_0xc33320(0x95),_0x317da8[_0x317da8[_0xc33320(0xb9)]=0x2]=_0xc33320(0xb9),_0x317da8[_0x317da8[_0xc33320(0x118)]=0x4]='Method',_0x317da8[_0x317da8[_0xc33320(0xa5)]=0x8]=_0xc33320(0xa5),_0x317da8[_0x317da8[_0xc33320(0x9e)]=0x10]=_0xc33320(0x9e),_0x317da8[_0x317da8['ReferenceType']=0x20]=_0xc33320(0x16c),_0x317da8[_0x317da8['DataType']=0x40]='DataType',_0x317da8[_0x317da8[_0xc33320(0xad)]=0x80]=_0xc33320(0xad);}(_0x4f26c0||(_0x4f26c0={})));var _0x865cae;(function(_0x5754fa){const _0xb6053b=_0x1d1340;_0x5754fa[_0x5754fa[_0xb6053b(0x16c)]=0x1]=_0xb6053b(0x16c),_0x5754fa[_0x5754fa[_0xb6053b(0xf4)]=0x2]=_0xb6053b(0xf4),_0x5754fa[_0x5754fa[_0xb6053b(0x104)]=0x4]=_0xb6053b(0x104),_0x5754fa[_0x5754fa[_0xb6053b(0xce)]=0x8]=_0xb6053b(0xce),_0x5754fa[_0x5754fa[_0xb6053b(0x162)]=0x10]='DisplayName',_0x5754fa[_0x5754fa[_0xb6053b(0x14e)]=0x20]=_0xb6053b(0x14e);}(_0x865cae||(_0x865cae={})));function _0xfbe5f4(_0x1a8897){const _0xd12292=_0x1d1340;switch(_0x1a8897){case'Organizes':return _0x15f035;case _0xd12292(0xbe):return _0x4a7cff;case _0xd12292(0x185):return _0x1b0485;case'HasChild':return _0x31b4cb;case'HasSubtype':return _0x181844;case'HasTypeDefinition':return _0x17eb2f;}}const _0x1e0c79=_0x27bcdb=>{const _0x2ec07b=_0x1d1340;switch(_0x27bcdb[_0x2ec07b(0x126)]){case _0x2ec07b(0x95):if(_0x27bcdb[_0x2ec07b(0x174)]===_0x15f035);if(_0x27bcdb[_0x2ec07b(0xa2)]===_0x414405||_0x27bcdb[_0x2ec07b(0x174)]===_0x2ec07b(0x85))return{'icon':_0x2ec07b(0x154),'color':_0x2ec07b(0x198)};return{'icon':_0x2ec07b(0x13a),'color':_0x2ec07b(0x10a)};case _0x2ec07b(0xb9):if(_0x27bcdb[_0x2ec07b(0x174)]===_0x1b0485)return{'icon':_0x2ec07b(0x94),'color':_0x2ec07b(0xdd)};else return _0x27bcdb[_0x2ec07b(0x174)]===_0x4a7cff?{'icon':_0x2ec07b(0x94),'color':_0x2ec07b(0x180)}:{'icon':'fa-list-alt','color':_0x2ec07b(0x103)};case'Method':return{'icon':_0x2ec07b(0xab),'color':'SandyBrown'};case _0x2ec07b(0xa5):return{'icon':_0x2ec07b(0x13a),'color':_0x2ec07b(0xf8)};case _0x2ec07b(0x9e):return{'icon':'fa-sliders','color':'DarkOrange'};case'DataType':return{'icon':_0x2ec07b(0x91),'color':_0x2ec07b(0x103)};}return{'icon':_0x2ec07b(0x10f),'color':'grey'};},_0x1a04c2=(_0x3f72da,_0x537d85,_0x1090a2)=>_0x5b4b7a(void 0x0,[_0x3f72da,_0x537d85,_0x1090a2],void 0x0,function*({endpointNode:_0x16dcf0,endpoint:_0xb51c85,baseUrl:_0x2292e7},_0x1ee342,_0x29fd8f){const _0x4800b3=_0x1d1340,_0xa208d5=_0x2292e7+_0x4800b3(0xa9),_0x1b60d1=_0xa208d5+_0x4800b3(0xd5),_0x5e46c4=Object[_0x4800b3(0xff)](Object[_0x4800b3(0xff)]({},_0x29fd8f),{'nodeId':_0x1ee342,'resultMask':0x3f}),_0x33ad66=yield fetch(_0x1b60d1,{'method':'POST','body':JSON[_0x4800b3(0x191)]({'endpointNode':_0x16dcf0,'endpoint':_0xb51c85,'browseDescription':_0x5e46c4}),'headers':{'Content-Type':_0x4800b3(0x111)}});if(_0x33ad66[_0x4800b3(0x160)]!==0xc8)return console[_0x4800b3(0xeb)](_0x4800b3(0xef),_0x33ad66[_0x4800b3(0x160)],_0x33ad66[_0x4800b3(0x176)]),{'references':[]};const _0x2d14c0=yield _0x33ad66[_0x4800b3(0x143)](),_0x3ce3de=_0x2d14c0[_0x4800b3(0xfb)][_0x4800b3(0x181)]||[];return{'references':_0x3ce3de};}),_0x433dc8={'referenceTypeId':_0xfbe5f4(_0x1d1340(0x120)),'includeSubtypes':!![],'browseDirection':_0x2cc259[_0x1d1340(0x11b)],'nodeClassMask':_0x20a2f6['Variable']|_0x20a2f6[_0x1d1340(0x95)]|_0x20a2f6[_0x1d1340(0x118)],'resultMask':0x3f},_0x100544={'referenceTypeId':_0xfbe5f4(_0x1d1340(0x178)),'includeSubtypes':!![],'browseDirection':_0x2cc259[_0x1d1340(0x11b)],'nodeClassMask':_0x20a2f6[_0x1d1340(0xb9)]|_0x20a2f6[_0x1d1340(0x95)]|_0x20a2f6[_0x1d1340(0x118)],'resultMask':0x3f},_0x584681=(_0x2d608a,_0x4548dd)=>_0x5b4b7a(void 0x0,[_0x2d608a,_0x4548dd],void 0x0,function*({endpointNode:_0x444a25,endpoint:_0x2692a0,baseUrl:_0x5752f9},{nodeId:_0x15f6a0,rootNodeId:_0xfc3140,isType:_0x5f2b7e}){const _0x30b30c=_0x1d1340,_0x39af4c=_0x5752f9+_0x30b30c(0xa9),_0x47888c=_0x39af4c+_0x30b30c(0x13b),_0x12fd31=yield fetch(_0x47888c,{'method':_0x30b30c(0x12e),'body':JSON[_0x30b30c(0x191)]({'endpointNode':_0x444a25,'endpoint':_0x2692a0,'nodeId':_0x15f6a0,'rootNodeId':_0xfc3140,'isType':_0x5f2b7e}),'headers':{'Content-Type':_0x30b30c(0x111)}});if(_0x12fd31[_0x30b30c(0x160)]!==0xc8)return null;const _0x1b9f20=yield _0x12fd31['json']();return _0x1b9f20[_0x30b30c(0xa1)];}),_0x4909f4=(_0x6c39d,_0x2f7c6d)=>{const _0x2e24b3=_0x1d1340;if(_0x6c39d[_0x2e24b3(0xb1)]!==_0x2e24b3(0x8c))return _0x6c39d[_0x2e24b3(0x144)];switch(_0x2f7c6d){case _0x2e24b3(0xa1):return _0x6c39d[_0x2e24b3(0x189)];case'aliasedBrowsePath':return _0x6c39d[_0x2e24b3(0x177)]||_0x6c39d[_0x2e24b3(0x189)];case _0x2e24b3(0xf0):return _0x6c39d[_0x2e24b3(0x10b)]||_0x6c39d[_0x2e24b3(0xe4)];case _0x2e24b3(0x187):return _0x6c39d[_0x2e24b3(0xe4)];default:case _0x2e24b3(0xc9):return _0x6c39d[_0x2e24b3(0xc9)];}},_0xcd8836=_0x1d9114=>{const _0x52b17a=_0x1d1340;if(_0x1d9114[_0x52b17a(0xb1)]!=='Good')return _0x52b17a(0x140)+_0x1d9114['statusCode'];else{let _0x55e99b=[];return _0x55e99b[_0x52b17a(0xea)](_0x52b17a(0x92)+_0x1d9114[_0x52b17a(0xc9)]),_0x55e99b[_0x52b17a(0xea)]('browse\x20path:\x20'+_0x1d9114['bp_indexed']),_0x55e99b[_0x52b17a(0xea)](_0x52b17a(0x76)+_0x20a2f6[_0x1d9114[_0x52b17a(0x126)]]),_0x1d9114['nodeId_nsu']&&_0x55e99b[_0x52b17a(0xea)](_0x52b17a(0x132)+_0x1d9114['nodeId_nsu']),_0x1d9114[_0x52b17a(0x10b)]&&_0x55e99b[_0x52b17a(0xea)](_0x52b17a(0xa7)+_0x1d9114['nodeId_aliased']),_0x1d9114[_0x52b17a(0x189)]&&_0x55e99b[_0x52b17a(0xea)](_0x52b17a(0xb0)+_0x1d9114[_0x52b17a(0x177)]),_0x55e99b[_0x52b17a(0x155)]('\x0a');}};function _0x2fac3c(_0x40a7ba){const _0x12e1aa=_0x1d1340;if(_0x40a7ba[_0x12e1aa(0x11f)](/^nsu=/))return'nsuNodeID';if(_0x40a7ba['match'](/^(ns=.*;)?(i|b|s|g)=/))return _0x12e1aa(0xc9);if(_0x40a7ba[_0x12e1aa(0x11f)](/^nsa=/))return _0x12e1aa(0xf0);if(_0x40a7ba['match'](/^(\/|\.)[0-9]+:/))return'browsePath';if(_0x40a7ba[_0x12e1aa(0x11f)](/^(\/|\.).*:/))return _0x12e1aa(0xa1);}function _0x26d517(_0x5a04b3){const _0x19f77c=_0x1d1340,_0x3dd3dc=_0x2fac3c(_0x5a04b3);switch(_0x3dd3dc){case _0x19f77c(0xc9):return'n';case _0x19f77c(0xf0):return'na';case _0x19f77c(0x187):return _0x19f77c(0x102);case _0x19f77c(0xa1):return'b';case _0x19f77c(0x158):return'ab';default:return't';}}function _0x3e0fba(_0x3ae07){const _0x59ed66=_0x1d1340;let _0x3f64fe;switch(_0x3ae07){case'n':_0x3f64fe='nodeId';break;case'na':_0x3f64fe=_0x59ed66(0xf0);break;case'nsu':_0x3f64fe='nsuNodeID';break;case'b':_0x3f64fe=_0x59ed66(0xa1);break;case'ab':_0x3f64fe=_0x59ed66(0x158);break;}return _0x3f64fe;}function _0x27fe23(_0x430d9d){const _0x5451ca=_0x1d1340;switch(_0x430d9d){case _0x5451ca(0xc9):return'n';case'aliasedNodeId':return'na';case'nsuNodeID':return'nsu';case _0x5451ca(0xa1):return'b';case _0x5451ca(0x158):return'ab';default:return't';}}const _0x68ff4f=(_0x213c00,_0x5189df)=>_0x5b4b7a(void 0x0,[_0x213c00,_0x5189df],void 0x0,function*({endpointNode:_0xc6da44,endpoint:_0xdf9024,baseUrl:_0x4a23d3},_0x345af6){const _0x3f1530=_0x1d1340,_0x225e91=_0x4a23d3+_0x3f1530(0xa9),_0x44b28b=_0x225e91+_0x3f1530(0x14a),_0x37a142=_0xc6da44['id'],_0x45bfed=RED[_0x3f1530(0x125)][_0x3f1530(0x194)](_0x37a142);console['log'](_0x45bfed['namespaceAliases']),_0x45bfed[_0x3f1530(0x15b)];const _0x49d118=_0xc6da44[_0x3f1530(0x15b)],_0x17c296=yield fetch(_0x44b28b,{'method':'POST','body':JSON[_0x3f1530(0x191)]({'endpointNode':_0xc6da44,'endpoint':_0xdf9024,'nodeId':_0x345af6,'namespaceAliases':_0x49d118}),'headers':{'Content-Type':_0x3f1530(0x111)}}),_0x258be1=yield _0x17c296[_0x3f1530(0x143)]();return{'json':_0x258be1,'data':_0x17c296};}),_0x5ac213=(_0x3c9315,_0x4e075d,_0x1ef7ef,_0x2cae1f)=>_0x5b4b7a(void 0x0,[_0x3c9315,_0x4e075d,_0x1ef7ef,_0x2cae1f],void 0x0,function*({endpointNode:_0x104f46,endpoint:_0xc11005,baseUrl:_0x88d5cc},_0x2ba6f0,_0x300476,_0x109e1f){const _0x58f947=_0x1d1340,_0x2f3fe8=_0x300476['val'](),{json:_0x4afb19,data:_0x2f8e77}=yield _0x68ff4f({'endpointNode':_0x104f46,'endpoint':_0xc11005,'baseUrl':_0x88d5cc},_0x2f3fe8),_0x39e294=(_0x3f5dce,_0x150bfe)=>{const _0x5a222b=_0x5519;_0x109e1f[_0x5a222b(0x122)](_0x3f5dce)[_0x5a222b(0x150)](_0x5a222b(0xcc))[_0x5a222b(0x150)](_0x150bfe),_0x109e1f[_0x5a222b(0x137)](),setTimeout(()=>{const _0x549522=_0x5a222b;_0x109e1f[_0x549522(0xee)](_0x150bfe),_0x109e1f[_0x549522(0x17b)]();},0xbb8);};if(_0x2f8e77['status']!==0xc8)return _0x39e294(_0x58f947(0x8e)+_0x2f3fe8,_0x58f947(0xf2)),![];else{if(_0x4afb19['statusCode']['match'](/Good/)){const _0x2f85a5=_0xcd8836(_0x4afb19);_0x300476['attr'](_0x58f947(0xae),_0x2f85a5);const _0x12e84f=_0x4909f4(_0x4afb19,_0x2ba6f0);return _0x300476[_0x58f947(0x16a)](_0x12e84f),_0x300476[_0x58f947(0x78)]('change'),_0x39e294(_0x58f947(0x8c),'ok'),!![];}else return _0x300476[_0x58f947(0x16a)](''+_0x2f3fe8),_0x39e294(_0x4afb19['statusCode']+'\x20'+_0x2f8e77[_0x58f947(0x176)],'failure'),![];}});function _0x16a569(_0x5178cb,_0x1ea143){return _0x5b4b7a(this,void 0x0,void 0x0,function*(){const _0x82d109=_0x5519,_0x605c9f=_0x5178cb['data']('value'),_0x584155=yield _0x1a04c2(_0x1ea143,_0x605c9f,_0x433dc8),_0x39fced=yield _0x1a04c2(_0x1ea143,_0x605c9f,_0x100544);return{'references':[..._0x584155[_0x82d109(0x181)],..._0x39fced[_0x82d109(0x181)]]};});}const _0x49f3c4={'referenceTypeId':_0xfbe5f4(_0x1d1340(0x164)),'includeSubtypes':!![],'browseDirection':_0x2cc259[_0x1d1340(0x11b)],'nodeClassMask':_0x20a2f6[_0x1d1340(0x16c)]|_0x20a2f6[_0x1d1340(0xa5)]|_0x20a2f6[_0x1d1340(0x170)]|_0x20a2f6['VariableType'],'resultMask':0x3f};function _0x21e455(_0x404c70,_0x387792){return _0x5b4b7a(this,void 0x0,void 0x0,function*(){const _0x54123c=_0x404c70['data']('value'),_0x48b9b8=yield _0x1a04c2(_0x387792,_0x54123c,_0x49f3c4);return _0x48b9b8;});}const _0x519f57=_0x5ef84f=>{const _0x1af933=_0x1d1340;var _0x366dea,_0x394c75,_0x4ea938,_0x83bc1d;if(!_0x5ef84f||!_0x5ef84f['nodeId']){const _0x5dc4a8=$(_0x1af933(0xfe));return _0x5dc4a8;}const _0x41229e=_0x5ef84f['nodeId'][_0x1af933(0xbc)](),_0x23a5a1=((_0x366dea=_0x5ef84f[_0x1af933(0xb6)])===null||_0x366dea===void 0x0?void 0x0:_0x366dea[_0x1af933(0x122)])||((_0x394c75=_0x5ef84f[_0x1af933(0x79)])===null||_0x394c75===void 0x0?void 0x0:_0x394c75['name'])||_0x5ef84f[_0x1af933(0xc9)][_0x1af933(0xbc)](),{icon:_0x54802a,color:_0x2abf90}=_0x1e0c79(_0x5ef84f),_0x5e7f6a='('+_0x5ef84f[_0x1af933(0xc9)][_0x1af933(0xbc)]()+')\x20'+(((_0x4ea938=_0x5ef84f[_0x1af933(0x79)])===null||_0x4ea938===void 0x0?void 0x0:_0x4ea938[_0x1af933(0x11e)])||((_0x83bc1d=_0x5ef84f['displayName'])===null||_0x83bc1d===void 0x0?void 0x0:_0x83bc1d['text'])||''),_0x45784b=$(_0x1af933(0x17c)+_0x5ef84f[_0x1af933(0xc9)][_0x1af933(0xbc)]()+'\x22}><span\x20class=\x22tree-text\x22\x20title='+_0x5e7f6a+_0x1af933(0x90)+_0x54802a+_0x1af933(0x15c)+_0x2abf90+_0x1af933(0x14d)+_0x23a5a1+'</span><ul></ul></li>');return _0x45784b[_0x1af933(0x150)](_0x1af933(0x13d)),_0x45784b['data'](_0x1af933(0x152),_0x41229e),_0x45784b[_0x1af933(0xc0)]('reference',_0x5ef84f),_0x45784b;},_0x149050=(_0x419566,_0x51111d)=>{const _0x31855f=_0x1d1340;return _0x51111d[_0x31855f(0xe3)]('li[key=\x22'+_0x419566+'\x22]');},_0x4ac971=(_0x85f7a5,_0x5f4e29)=>{const _0x295961=_0x1d1340;_0x85f7a5[_0x295961(0xb3)][_0x295961(0xe3)](_0x295961(0x100))[_0x295961(0xee)](_0x295961(0x133)),_0x5f4e29[_0x295961(0xe3)](_0x295961(0xbf))[_0x295961(0x150)](_0x295961(0x133));},_0x2900de=(_0x1a139d,_0x2fa159,_0x487fec)=>_0x5b4b7a(void 0x0,void 0x0,void 0x0,function*(){const _0x25aac1=_0x1d1340;let _0x3da286=_0x487fec[_0x25aac1(0x113)](_0x25aac1(0x82));_0x2fa159[_0x25aac1(0xd3)][_0x25aac1(0x11a)]||[];const _0x4714ec=_0x2fa159[_0x25aac1(0x166)]||[];if(_0x4714ec['length']===0x0)return;for(const _0x16a45d of _0x4714ec){_0x3da286[_0x25aac1(0x123)](_0x25aac1(0x13d))&&(yield _0xdfcf95(_0x1a139d,_0x3da286));const _0x58eca4=_0x149050(_0x16a45d,_0x3da286);if(_0x58eca4['length']===0x0)return;_0x3da286=_0x58eca4;}_0x4ac971(_0x1a139d,_0x3da286),_0x3e136c(_0x1a139d[_0x25aac1(0x188)],_0x3da286);});function _0x3e136c(_0x4b22eb,_0x5a5c6d){const _0x34f1b9=_0x1d1340,_0x535798=_0x5a5c6d[_0x34f1b9(0x12a)]()[_0x34f1b9(0x13c)],_0x142831=_0x4b22eb[_0x34f1b9(0x147)]();if(_0x142831==undefined)return;const _0x1441dc=_0x142831+_0x535798-_0x4b22eb[_0x34f1b9(0x72)]()/0x2+_0x5a5c6d[_0x34f1b9(0x72)]()/0x2;_0x4b22eb[_0x34f1b9(0x99)]({'scrollTop':_0x1441dc},0x1f4);}const _0x8263d6=(_0xbbb48d,_0x3ca596)=>_0x5b4b7a(void 0x0,void 0x0,void 0x0,function*(){const _0x39d026=_0x1d1340,_0x45c809=_0xbbb48d[_0x39d026(0xe8)]['val'](),_0x3c1b0d={'nodeId':_0x45c809,'rootNodeId':_0x3ca596[_0x39d026(0xc9)],'isType':_0xbbb48d[_0x39d026(0x15a)][_0x39d026(0x134)]||![]},_0x401333=_0xa4d8d9(_0xbbb48d),_0x20fafa=yield _0x584681(_0x401333,_0x3c1b0d);if(!_0x20fafa)return;yield _0x2900de(_0xbbb48d,_0x20fafa,_0xbbb48d[_0x39d026(0xb3)]);});function _0x328c5e(_0x31d4a1,_0x5049ee,_0x36620f,_0x537f80){return _0x5b4b7a(this,void 0x0,void 0x0,function*(){const _0x1a151e=_0x5519;if(_0x5049ee[_0x1a151e(0x123)]('fetched')){console[_0x1a151e(0xeb)]('already\x20fetched');return;}if(_0x5049ee['hasClass'](_0x1a151e(0x116))){console[_0x1a151e(0xeb)](_0x1a151e(0x17a));return;}_0x5049ee[_0x1a151e(0x150)](_0x1a151e(0x116)),_0x5049ee['append'](_0x1a151e(0x165));try{_0x5049ee[_0x1a151e(0x113)]('ul')[_0x1a151e(0xa8)]();const {references:_0x1b7724}=yield _0x36620f(_0x5049ee,_0x537f80);_0x1b7724['sort']((_0x11c550,_0x184796)=>{const _0x2df0b2=_0x1a151e;var _0x1e30b0,_0x2aec65;return(((_0x1e30b0=_0x11c550[_0x2df0b2(0x79)])===null||_0x1e30b0===void 0x0?void 0x0:_0x1e30b0['name'])||'')[_0x2df0b2(0x18f)](((_0x2aec65=_0x184796[_0x2df0b2(0x79)])===null||_0x2aec65===void 0x0?void 0x0:_0x2aec65[_0x2df0b2(0x11e)])||'');});for(const _0x3b9eb1 of _0x1b7724){if(_0x31d4a1[_0x1a151e(0x15a)][_0x1a151e(0x157)]&&!_0x31d4a1[_0x1a151e(0x15a)][_0x1a151e(0x157)](_0x3b9eb1))continue;const _0x547610=_0x519f57(_0x3b9eb1);_0x5049ee[_0x1a151e(0x113)]('ul')[_0x1a151e(0xcf)](_0x547610);}_0x5049ee[_0x1a151e(0x150)](_0x1a151e(0x199));}catch(_0x1f432a){_0x5049ee[_0x1a151e(0x113)]('ul')[_0x1a151e(0xcf)](_0x1a151e(0x17f)+_0x1f432a[_0x1a151e(0x124)]+_0x1a151e(0x183)),console[_0x1a151e(0xeb)](_0x1a151e(0x73),_0x1f432a);}_0x5049ee['find'](_0x1a151e(0x169))[_0x1a151e(0x138)](),_0x5049ee[_0x1a151e(0xee)]('loading');});}function _0xa4d8d9(_0x53d7dd){const _0x30aa21=_0x1d1340,_0x25163b={'baseUrl':_0x53d7dd[_0x30aa21(0x15a)][_0x30aa21(0xb7)],'endpointNode':typeof _0x53d7dd[_0x30aa21(0x15a)]['endpointNode']==='function'?_0x53d7dd[_0x30aa21(0x15a)][_0x30aa21(0x175)]():_0x53d7dd[_0x30aa21(0x15a)][_0x30aa21(0x175)],'endpoint':typeof _0x53d7dd[_0x30aa21(0x15a)]['endpoint']===_0x30aa21(0x18e)?_0x53d7dd[_0x30aa21(0x15a)][_0x30aa21(0xc2)]():_0x53d7dd['options'][_0x30aa21(0xc2)]};return _0x25163b;}function _0xdfcf95(_0x5ee31b,_0x505764){return _0x5b4b7a(this,void 0x0,void 0x0,function*(){const _0x5bf67e=_0x5519;if(_0x505764['hasClass'](_0x5bf67e(0x199))){_0x505764[_0x5bf67e(0xee)]('expandable')[_0x5bf67e(0x150)](_0x5bf67e(0xed)),_0x505764[_0x5bf67e(0x113)]('ul')[_0x5bf67e(0xc8)]();return;}const _0xe21565=_0xa4d8d9(_0x5ee31b),_0x4b93f5=!_0x5ee31b[_0x5bf67e(0x15a)]['isTypeRef']?_0x16a569:_0x21e455;try{yield _0x328c5e(_0x5ee31b,_0x505764,_0x4b93f5,_0xe21565),_0x505764['removeClass'](_0x5bf67e(0x13d))[_0x5bf67e(0x150)](_0x5bf67e(0xed));}catch(_0x37b1b6){_0x505764['removeClass']('expandable')[_0x5bf67e(0x150)](_0x5bf67e(0xed)),console[_0x5bf67e(0xeb)](_0x5bf67e(0x141),_0x37b1b6);}});}const _0x1552dd={'browseName':{'namespaceIndex':0x0,'name':_0x1d1340(0xa6)},'nodeClass':'Object','nodeId':'ns=0;i=85','displayName':{'text':'Objects'},'typeDefinition':_0x414405},_0x345932=()=>{const _0x25a52a=_0x1d1340;$['widget']('sterfive.nodeBrowser',{'options':{'endpointNode':()=>({'endpoint':_0x25a52a(0x10c)}),'endpoint':()=>undefined,'parentNode':()=>_0x1552dd,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x5b4b7a(this,void 0x0,void 0x0,function*(){const _0xd9e8c5=_0x5519,_0x4accdf=this;if(_0x4accdf[_0xd9e8c5(0x84)]==undefined){const _0x12fa68=typeof _0x4accdf[_0xd9e8c5(0x15a)][_0xd9e8c5(0x182)]===_0xd9e8c5(0x18e)?_0x4accdf['options'][_0xd9e8c5(0x182)][_0xd9e8c5(0x17d)](_0x4accdf):_0x4accdf['options'][_0xd9e8c5(0x182)];if(_0x12fa68 instanceof Promise){const _0x12a0da=yield _0x12fa68;_0x4accdf[_0xd9e8c5(0x84)]=_0x12a0da;}else _0x4accdf[_0xd9e8c5(0x84)]=_0x12fa68;}return _0x4accdf[_0xd9e8c5(0x84)]||_0x1552dd;});},'reset'(){return _0x5b4b7a(this,void 0x0,void 0x0,function*(){const _0x16a32e=_0x5519,_0x4b5f62=this,_0xa67e88=_0x4b5f62;_0xa67e88[_0x16a32e(0x84)]=undefined,_0x4b5f62['$tree'][_0x16a32e(0xa8)]();const _0x1a9f49=yield this['resolveParentNode'](),_0x3d2860=_0x519f57(_0x1a9f49);_0x4b5f62['$tree']['append'](_0x3d2860),_0x4b5f62['currentParent']=_0x1a9f49;});},'verify'(_0x172aee){const _0x25f879=_0x25a52a,_0x6cf219=this,_0x586f83=_0xa4d8d9(_0x6cf219);_0x5ac213(_0x586f83,_0x172aee,_0x6cf219[_0x25f879(0xe8)],_0x6cf219[_0x25f879(0x142)])['then'](_0x280997=>{const _0x3f3e77=_0x25f879;!_0x280997?_0x6cf219[_0x3f3e77(0xde)]['addClass'](_0x3f3e77(0x8a)):_0x6cf219[_0x3f3e77(0xde)]['removeClass'](_0x3f3e77(0x8a));});},'_hideMenu'(_0x4c37b3){const _0x5c5660=_0x25a52a,_0x2df3cd=this;$(document)['off'](_0x5c5660(0xd8)),_0x4c37b3[_0x5c5660(0x17b)](),_0x4c37b3[_0x5c5660(0x107)]({'height':_0x5c5660(0x159)});if(_0x4c37b3[_0x5c5660(0x148)][_0x5c5660(0x12f)]){var _0x10f0ec=[];_0x4c37b3[_0x5c5660(0xe3)]('input[type=\x22checkbox\x22]')[_0x5c5660(0x7d)](function(){const _0x5087cc=_0x5c5660;$(this)[_0x5087cc(0x86)](_0x5087cc(0xa4))&&_0x10f0ec[_0x5087cc(0xea)]($(this)[_0x5087cc(0xc0)](_0x5087cc(0x152)));}),_0x4c37b3[_0x5c5660(0xe2)](_0x10f0ec);}_0x2df3cd['$elementDiv']['is'](':visible')?_0x2df3cd[_0x5c5660(0xe8)][_0x5c5660(0x78)]('focus'):_0x2df3cd['$selectTrigger'][_0x5c5660(0x78)]('focus');},'_createMenu'(_0x12fb30,_0x2291c6,_0x4aa1a2){const _0x41028a=_0x25a52a;var _0x4c39e8=this;const _0x25be7f=$(_0x41028a(0x14b))[_0x41028a(0x150)](_0x41028a(0x14f));return _0x25be7f[_0x41028a(0x148)]=_0x2291c6,_0x25be7f[_0x41028a(0xe2)]=_0x4aa1a2,_0x12fb30[_0x41028a(0xc1)](_0x11d905=>{const _0x2f502f=_0x41028a;typeof _0x11d905===_0x2f502f(0x18d)&&(_0x11d905={'value':_0x11d905,'label':_0x11d905});var _0x45058a=$('<a\x20href=\x22#\x22></a>')[_0x2f502f(0xfa)](_0x2f502f(0x152),_0x11d905[_0x2f502f(0x152)])['appendTo'](_0x25be7f);_0x11d905[_0x2f502f(0xdb)]&&_0x45058a[_0x2f502f(0x122)](_0x11d905[_0x2f502f(0xdb)]);_0x11d905['title']&&_0x45058a[_0x2f502f(0x86)](_0x2f502f(0xae),_0x11d905[_0x2f502f(0xae)]);if(_0x11d905[_0x2f502f(0x7c)]){if(_0x11d905[_0x2f502f(0x7c)][_0x2f502f(0x12d)]('<')===0x0)$(_0x11d905['icon'])[_0x2f502f(0x12c)](_0x45058a);else _0x11d905['icon'][_0x2f502f(0x12d)]('/')!==-0x1?$(_0x2f502f(0xdc),{'class':_0x2f502f(0xd0),'style':_0x2f502f(0x135)+_0x11d905['icon']+_0x2f502f(0xb5)+_0x11d905[_0x2f502f(0x7c)]+');'})['prependTo'](_0x45058a):$(_0x2f502f(0xdc),{'class':_0x2f502f(0x117)+_0x11d905[_0x2f502f(0x7c)]})[_0x2f502f(0x12c)](_0x45058a);}else _0x45058a[_0x2f502f(0x107)]({'paddingLeft':'18px'});!_0x11d905['icon']&&!_0x11d905[_0x2f502f(0xdb)]&&_0x45058a['text'](_0x11d905[_0x2f502f(0x152)]);var _0x3b4ceb;_0x2291c6[_0x2f502f(0x12f)]&&(_0x3b4ceb=$(_0x2f502f(0x17e))[_0x2f502f(0x107)](_0x2f502f(0x19a),'none')[_0x2f502f(0xc0)](_0x2f502f(0x152),_0x11d905['value'])['prependTo'](_0x45058a)['on'](_0x2f502f(0x161),function(_0x222887){_0x222887['preventDefault']();})),_0x45058a['on'](_0x2f502f(0x156),function(_0x5fdf66){const _0x4f7442=_0x2f502f;_0x5fdf66['preventDefault'](),_0x5fdf66[_0x4f7442(0x168)](),!_0x2291c6[_0x4f7442(0x12f)]?(_0x4aa1a2(_0x11d905['value']),_0x4c39e8[_0x4f7442(0x146)](_0x25be7f)):_0x3b4ceb[_0x4f7442(0x86)]('checked',!_0x3b4ceb[_0x4f7442(0x86)](_0x4f7442(0xa4)));});}),_0x25be7f[_0x41028a(0x107)]({'display':_0x41028a(0x119)}),_0x25be7f['on']('keydown',function(_0x56c061){const _0x2f0da9=_0x41028a;if(_0x56c061['keyCode']===0x28)_0x56c061[_0x2f0da9(0x108)](),$(this)[_0x2f0da9(0x113)](_0x2f0da9(0xec))['next']()[_0x2f0da9(0x78)](_0x2f0da9(0xbd));else{if(_0x56c061[_0x2f0da9(0x196)]===0x26)_0x56c061[_0x2f0da9(0x108)](),$(this)[_0x2f0da9(0x113)](':focus')[_0x2f0da9(0x163)]()[_0x2f0da9(0x78)](_0x2f0da9(0xbd));else _0x56c061[_0x2f0da9(0x196)]===0x1b&&(_0x56c061[_0x2f0da9(0x108)](),_0x4c39e8[_0x2f0da9(0x146)](_0x25be7f));}_0x56c061['stopPropagation']();}),_0x25be7f;},'disarmClick':![],'_showMenu'(_0x20fbca,_0x1a1888){const _0x56e8e9=_0x25a52a;if(this[_0x56e8e9(0x173)]){this[_0x56e8e9(0x173)]=![];return;}var _0x567215=this,_0x53abe0=_0x1a1888['offset'](),_0x2650a5=_0x1a1888[_0x56e8e9(0x72)](),_0x3d9219=_0x20fbca[_0x56e8e9(0x72)](),_0x32b722=_0x2650a5+_0x53abe0[_0x56e8e9(0x13c)];_0x32b722+_0x3d9219-$(document)[_0x56e8e9(0x147)]()>$(window)[_0x56e8e9(0x72)]()&&(_0x32b722-=_0x32b722+_0x3d9219-$(window)[_0x56e8e9(0x72)]()+0x5),_0x32b722<0x0&&(_0x20fbca[_0x56e8e9(0x72)](_0x3d9219+_0x32b722),_0x32b722=0x0),_0x20fbca[_0x56e8e9(0x107)]({'top':_0x32b722+'px','left':_0x53abe0[_0x56e8e9(0x18c)]+'px'}),_0x20fbca[_0x56e8e9(0xc7)](0x64),this['_delay'](function(){const _0xd39372=_0x56e8e9;_0x567215[_0xd39372(0xaa)][_0xd39372(0x150)]('red-ui-typedInput-focus'),$(document)['on'](_0xd39372(0xd8),function(_0x1ee270){const _0x283969=_0xd39372;!$(_0x1ee270['target'])[_0x283969(0xbb)](_0x20fbca)['length']&&_0x567215[_0x283969(0x146)](_0x20fbca),$(_0x1ee270[_0x283969(0x8b)])[_0x283969(0xbb)](_0x1a1888)[_0x283969(0x101)]&&(_0x567215[_0x283969(0x173)]=!![],_0x1ee270[_0x283969(0x108)]());});});},'_showTypeMenu'(){const _0x5979fc=_0x25a52a,_0x64d9a6=this;this[_0x5979fc(0x153)](_0x64d9a6['$menu'],_0x64d9a6[_0x5979fc(0xde)]),_0x64d9a6['$dropdown'][_0x5979fc(0x17b)]();const _0x2c840e=_0x64d9a6[_0x5979fc(0x74)];var _0xba3367=_0x64d9a6['$menu']['find']('[value=\x27'+_0x2c840e+'\x27');setTimeout(function(){const _0x566825=_0x5979fc;_0xba3367['trigger'](_0x566825(0xbd));},0x78);},'_initMenu'(){const _0x2adaec=_0x25a52a,_0x315fa4=this;_0x315fa4[_0x2adaec(0x145)][_0x2adaec(0xfa)](_0x2adaec(0x15f),-0x1),_0x315fa4[_0x2adaec(0x145)]['on']('mousedown.red-ui-typedInput-focus-block',function(_0x50a368){const _0x51a374=_0x2adaec;_0x50a368[_0x51a374(0x108)]();});_0x315fa4[_0x2adaec(0xd4)]&&_0x315fa4[_0x2adaec(0xd4)][_0x2adaec(0x138)]();const _0x224978=[{'label':_0x2adaec(0x122),'value':'t','title':_0x2adaec(0x109),'icon':_0x2adaec(0xa3)},{'label':_0x2adaec(0x89),'value':_0x2adaec(0x96),'title':_0x2adaec(0xd2),'icon':_0x2adaec(0x105)},{'label':'NodeId','value':'n','icon':_0x2adaec(0x7b)},{'label':_0x2adaec(0x193),'value':'na','icon':_0x2adaec(0x14c)},{'label':_0x2adaec(0xe9),'value':_0x2adaec(0x102),'icon':_0x2adaec(0x112)},{'label':_0x2adaec(0x195),'value':'b','icon':_0x2adaec(0x110)},{'label':_0x2adaec(0x129),'value':'ab','icon':_0x2adaec(0x136)}],_0xfb8630=_0x26d517(_0x315fa4[_0x2adaec(0xe8)][_0x2adaec(0x16a)]()),_0x1fc618=_0x224978[_0x2adaec(0xe3)](_0x3505bd=>_0x3505bd['value']===_0xfb8630);_0x315fa4[_0x2adaec(0xe0)][_0x2adaec(0xa8)]()[_0x2adaec(0xcf)](_0x2adaec(0x16d)+((_0x1fc618===null||_0x1fc618===void 0x0?void 0x0:_0x1fc618[_0x2adaec(0xae)])||'')+_0x2adaec(0x15d)+((_0x1fc618===null||_0x1fc618===void 0x0?void 0x0:_0x1fc618[_0x2adaec(0x7c)])||'')+_0x2adaec(0xf3)),_0x315fa4['selectedMenuItem']=_0xfb8630;const _0x1eb6a5=this;_0x315fa4['$menu']=this['_createMenu'](_0x224978,{},_0x2374a1=>{const _0x451b0a=_0x2adaec,_0x4004da=_0x3e0fba(_0x2374a1);_0x4004da&&_0x1eb6a5[_0x451b0a(0x149)](_0x4004da);const _0x515336=_0x224978[_0x451b0a(0xe3)](_0x5332db=>_0x5332db[_0x451b0a(0x152)]===_0x2374a1);_0x315fa4[_0x451b0a(0x74)]=_0x2374a1,_0x315fa4['$selectLabel'][_0x451b0a(0xa8)]()[_0x451b0a(0xcf)](_0x451b0a(0x16d)+((_0x515336===null||_0x515336===void 0x0?void 0x0:_0x515336[_0x451b0a(0xae)])||'')+_0x451b0a(0x15d)+((_0x515336===null||_0x515336===void 0x0?void 0x0:_0x515336[_0x451b0a(0x7c)])||'')+_0x451b0a(0xf3));}),_0x315fa4[_0x2adaec(0xd4)]['appendTo'](document[_0x2adaec(0x18b)]),_0x315fa4[_0x2adaec(0xd4)]['hide'](),_0x315fa4[_0x2adaec(0x145)][_0x2adaec(0x137)]();},'mode'(){const _0x21acb5=_0x25a52a,_0x167e0e=this;return _0x3e0fba(_0x167e0e[_0x21acb5(0x74)]);},'setMode'(_0x4ccaae){const _0x41e7c7=_0x25a52a,_0x55c0b8=this,_0x574b83=_0x27fe23(_0x4ccaae);_0x55c0b8[_0x41e7c7(0x74)]=_0x574b83;},'_create'(){const _0x318ffd=_0x25a52a,_0x13af75=this;_0x13af75['$input']=this[_0x318ffd(0x75)],_0x13af75[_0x318ffd(0xe8)][_0x318ffd(0x107)](_0x318ffd(0xaf),_0x318ffd(0x119)),_0x13af75[_0x318ffd(0x106)]=_0x13af75[_0x318ffd(0xe8)][_0x318ffd(0x9d)](_0x318ffd(0x14b))[_0x318ffd(0x13f)]()[_0x318ffd(0x150)](_0x318ffd(0x114)),_0x13af75[_0x318ffd(0xde)]=$('<div/>'),_0x13af75[_0x318ffd(0xde)][_0x318ffd(0x150)](_0x318ffd(0x151)),_0x13af75[_0x318ffd(0xe8)][_0x318ffd(0xdf)](_0x13af75[_0x318ffd(0xde)]),_0x13af75[_0x318ffd(0xf7)]=$('<div/>')[_0x318ffd(0x150)](_0x318ffd(0xc5)),_0x13af75[_0x318ffd(0xde)][_0x318ffd(0xcf)](_0x13af75[_0x318ffd(0xf7)]),_0x13af75[_0x318ffd(0xf7)][_0x318ffd(0xcf)](_0x13af75['$input']),_0x13af75[_0x318ffd(0xcd)]=$(_0x318ffd(0x9b)),_0x13af75[_0x318ffd(0xe8)][_0x318ffd(0x192)](_0x13af75['$toggleTreeBtn']),_0x13af75[_0x318ffd(0xcd)]['on']('click',function(){return _0x5b4b7a(this,void 0x0,void 0x0,function*(){const _0x1c3c54=_0x5519;var _0x23ffbc;let _0x1547a9=![],_0x2fbb9f;!_0x13af75['$dropdown']['is'](_0x1c3c54(0xcb))&&(_0x13af75[_0x1c3c54(0x142)]['hide'](),_0x2fbb9f=yield _0x13af75['resolveParentNode'](),(_0x2fbb9f!==_0x13af75[_0x1c3c54(0x80)]||((_0x23ffbc=_0x13af75[_0x1c3c54(0x80)])===null||_0x23ffbc===void 0x0?void 0x0:_0x23ffbc['nodeId'])!==_0x2fbb9f[_0x1c3c54(0xc9)])&&(yield _0x13af75['reset']()),_0x1547a9=!![]),_0x13af75['$dropdown'][_0x1c3c54(0xc8)](),_0x1547a9&&(yield _0x8263d6(_0x13af75,_0x2fbb9f));});}),_0x13af75[_0x318ffd(0x131)]=$(_0x318ffd(0xd6)),_0x13af75['$input']['after'](_0x13af75[_0x318ffd(0x131)]),_0x13af75[_0x318ffd(0x131)]['on'](_0x318ffd(0x156),()=>{const _0x182322=_0x318ffd,_0x59093d=_0x13af75[_0x182322(0x9a)]();if(!_0x59093d)return;this[_0x182322(0x149)](_0x59093d);});const _0x29e0e4=_0xfb83a=>_0x5b4b7a(this,void 0x0,void 0x0,function*(){const _0x42174c=_0x318ffd,_0x11ba80=this;let _0x4de862=_0x11ba80['mode']();if(!_0x4de862)return;const _0x1af733=_0xa4d8d9(_0x11ba80),{data:_0x176f6b,json:_0x52eddb}=yield _0x68ff4f(_0x1af733,_0xfb83a);if(_0x176f6b[_0x42174c(0x160)]!==0xc8)return;if(_0x52eddb[_0x42174c(0xb1)][_0x42174c(0x11f)](/Good/)){const _0x39ad00=_0x4909f4(_0x52eddb,_0x4de862);_0x11ba80[_0x42174c(0xe8)][_0x42174c(0x16a)](_0x39ad00),_0x11ba80['$input'][_0x42174c(0x78)](_0x42174c(0x7f));}});{_0x13af75[_0x318ffd(0xaa)]=$(_0x318ffd(0x14b)),_0x13af75['$input'][_0x318ffd(0x16f)](_0x13af75['$uiSelect']),_0x13af75[_0x318ffd(0x145)]=$(_0x318ffd(0xa0))[_0x318ffd(0x12c)](_0x13af75[_0x318ffd(0xaa)]),$(_0x318ffd(0xfc))[_0x318ffd(0xc8)](!![])[_0x318ffd(0xd1)](_0x13af75[_0x318ffd(0x145)]),_0x13af75[_0x318ffd(0x145)]['on']('click',function(_0x5743b0){const _0x60af35=_0x318ffd;_0x5743b0[_0x60af35(0x108)](),_0x5743b0[_0x60af35(0x168)](),_0x13af75[_0x60af35(0x8f)]();}),_0x13af75['$selectTrigger']['on']('keydown',function(_0x32e9cb){const _0x18d158=_0x318ffd;_0x32e9cb['keyCode']===0x28&&_0x13af75[_0x18d158(0x8f)](),_0x32e9cb[_0x18d158(0x168)]();})['on'](_0x318ffd(0xbd),function(){const _0x29fb3c=_0x318ffd;_0x13af75[_0x29fb3c(0xaa)][_0x29fb3c(0x150)](_0x29fb3c(0x11d));})['on'](_0x318ffd(0xc4),function(){const _0x2205ef=_0x318ffd;_0x13af75[_0x2205ef(0xaa)][_0x2205ef(0xee)](_0x2205ef(0x11d));}),_0x13af75['$selectLabel']=$(_0x318ffd(0x7a))['appendTo'](_0x13af75[_0x318ffd(0x145)]);}this[_0x318ffd(0x128)]();!_0x13af75[_0x318ffd(0xe8)]['attr'](_0x318ffd(0x15e))&&_0x13af75['$input']['attr']('placeholder',_0x318ffd(0x7e));_0x13af75['$info']=$(_0x318ffd(0x71)),_0x13af75[_0x318ffd(0x142)]['hide'](),_0x13af75[_0x318ffd(0xde)][_0x318ffd(0xcf)](_0x13af75['$info']),_0x13af75[_0x318ffd(0x188)]=$(_0x318ffd(0x13e))[_0x318ffd(0x150)]('sterfive-dropdown')[_0x318ffd(0x17b)]()['appendTo'](_0x13af75[_0x318ffd(0xde)]),_0x13af75[_0x318ffd(0xb3)]=$('<ul\x20class=\x22sterfive-tree\x22></ul>')[_0x318ffd(0xd1)](_0x13af75[_0x318ffd(0x188)]),this[_0x318ffd(0xc3)]();const _0x2d24da=(_0x303d06,_0x35c544)=>{const _0x52c5d1=_0x318ffd,_0x57fbe6=0x14,_0x45d978=0x14,_0x56e934=_0x303d06[_0x52c5d1(0xda)](),_0x37b4eb=_0x35c544;if(_0x37b4eb['pageX']>=_0x56e934[_0x52c5d1(0x18c)]&&_0x37b4eb[_0x52c5d1(0x130)]<=_0x56e934['left']+_0x57fbe6&&_0x37b4eb['pageY']>=_0x56e934[_0x52c5d1(0x13c)]&&_0x37b4eb[_0x52c5d1(0xf9)]<=_0x56e934['top']+_0x45d978)return!![];return![];},_0x598e15=_0x109407=>_0x5b4b7a(this,void 0x0,void 0x0,function*(){const _0x4f1586=_0x318ffd;if(_0x109407[_0x4f1586(0x123)]('expandable'))_0xdfcf95(_0x13af75,_0x109407);else{if(_0x109407[_0x4f1586(0x123)]('expanded'))_0x109407[_0x4f1586(0x113)]('ul')['toggle'](),_0x109407[_0x4f1586(0xfd)](_0x4f1586(0xe7));else{if(_0x109407[_0x4f1586(0x113)]('ul')[_0x4f1586(0x113)]()['length']>0x0)_0x109407[_0x4f1586(0x113)]('ul')[_0x4f1586(0xc8)](),_0x109407[_0x4f1586(0xfd)](_0x4f1586(0xe7));else;}}});_0x13af75[_0x318ffd(0xb3)]['on']('dblclick','li',function(_0x16e5bf){const _0x5ea948=_0x318ffd;var _0x1c8b98,_0xf97347;_0x16e5bf[_0x5ea948(0x168)]();let _0x443288=$(this);if(_0x2d24da(_0x443288,_0x16e5bf))_0x598e15(_0x443288);else{const _0x3c84bc=_0x443288[_0x5ea948(0xc0)](_0x5ea948(0x152)),_0x273c3b=_0x443288['data'](_0x5ea948(0x8d));if(_0x13af75['options'][_0x5ea948(0x9c)]&&!_0x13af75[_0x5ea948(0x15a)][_0x5ea948(0x9c)](_0x273c3b))return;_0x13af75['$input']['data'](_0x5ea948(0x8d),_0x273c3b),((_0x1c8b98=_0x273c3b[_0x5ea948(0xb6)])===null||_0x1c8b98===void 0x0?void 0x0:_0x1c8b98[_0x5ea948(0x122)])||((_0xf97347=_0x273c3b[_0x5ea948(0x79)])===null||_0xf97347===void 0x0?void 0x0:_0xf97347[_0x5ea948(0x11e)])||_0x273c3b[_0x5ea948(0xc9)][_0x5ea948(0xbc)]();let _0x1b3a5c=_0x13af75['mode']();!_0x1b3a5c&&(_0x1b3a5c=_0x5ea948(0xc9),_0x13af75[_0x5ea948(0x81)](_0x1b3a5c)),_0x29e0e4(_0x3c84bc)[_0x5ea948(0x190)](()=>{const _0x452138=_0x5ea948;_0x13af75[_0x452138(0x188)][_0x452138(0x17b)]();})[_0x5ea948(0xb8)](_0x2604df=>{const _0x1929f3=_0x5ea948;_0x13af75[_0x1929f3(0x188)]['hide']();});}}),_0x13af75[_0x318ffd(0xb3)]['on']('click','li',function(_0x175672){_0x175672['stopPropagation']();let _0x10a83b=$(this);_0x2d24da(_0x10a83b,_0x175672)&&_0x598e15(_0x10a83b),_0x4ac971(_0x13af75,_0x10a83b);}),$(document)['on'](_0x318ffd(0x156),function(_0x247e0a){const _0x57f93e=_0x318ffd;!$(_0x247e0a[_0x57f93e(0x8b)])[_0x57f93e(0xbb)](_0x13af75[_0x57f93e(0xde)])[_0x57f93e(0x101)]&&_0x13af75['$dropdown'][_0x57f93e(0x17b)]();});}});},_0x12ced8=()=>{const _0x15a5b1=_0x1d1340,_0x48141a=$('#node-input-endpoint'),_0x412227=_0x48141a[_0x15a5b1(0x16a)](),_0x559d15=RED[_0x15a5b1(0x125)]['node'](_0x412227);if(!_0x559d15)return undefined;const {endpoint:_0x14f6fe,securityMode:_0x1dc778,securityPolicy:_0x27b3de,userIdentityType:_0x3d24fb,credentials:_0x58eb97,namespaceAliases:_0x5c5ea2}=_0x559d15,_0x445810={'endpoint':_0x14f6fe,'securityMode':_0x1dc778,'securityPolicy':_0x27b3de,'userIdentityType':_0x3d24fb,'credentials':_0x58eb97,'namespaceAliases':_0x5c5ea2};return _0x445810;},_0x4eff3e=()=>{const _0x4860c5=_0x1d1340,_0x3b502d=$(_0x4860c5(0x93)),_0x2384d7=_0x3b502d[_0x4860c5(0x16a)](),_0x5d400f=_0x12ced8();if(!_0x5d400f)return undefined;const _0x2085d5=_0x5d400f[_0x4860c5(0x15b)];return Object[_0x4860c5(0xff)]({'namespaceAliases':_0x2085d5,'id':_0x2384d7},_0x5d400f);},_0x872c23=()=>{return{'endpointNode':_0x4eff3e};},_0xe3eb47=()=>{const _0x536ee6=_0x1d1340,_0x1948f1=$(_0x536ee6(0x11c));if(_0x1948f1['length']){const _0x368758=$(_0x536ee6(0xe6),{'src':_0x536ee6(0xf1),'scrolling':'no','style':'background-color:transparent;overflow:hidden;border:3px','allowtransparency':'true','width':_0x536ee6(0xb4),'height':'30px'});_0x1948f1[_0x536ee6(0xcf)](_0x368758),_0x368758['css']({'position':_0x536ee6(0x167),'right':'20px','bottom':_0x536ee6(0xe1)});}};RED[_0x1d1340(0x125)][_0x1d1340(0x18a)]('OpcUa-Client2-ExtensionObject',{'category':'opcua','color':'#C0DEED','align':_0x1d1340(0x12b),'icon':_0x1d1340(0x10d),'paletteLabel':_0x1d1340(0xba),'defaults':{'inputs':{'value':0x1},'output':{'value':0x1},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':'OpcUa-Endpoint2'},'dataType':{'value':'','required':!![]}},'inputs':0x1,'outputs':0x1,'label'(){const _0x4431cd=_0x1d1340;return this[_0x4431cd(0x11e)]||'OPCUA\x20Client\x20Extension\x20Object';},'labelStyle'(){const _0x293559=_0x1d1340;return this[_0x293559(0x11e)]?_0x293559(0x197):'';},'oneditprepare'(){const _0x452bc4=_0x1d1340,_0x271e6e=this;_0x345932(),_0xe3eb47(),_0x271e6e[_0x452bc4(0xac)]=0x1;const _0x58c315=$('#node-input-dataType'),_0x18e98a={'nodeId':'i=22','referenceTypeId':'','browseName':{'namespaceIndex':0x0,'name':_0x452bc4(0x77)},'displayName':{'text':_0x452bc4(0x77)},'nodeClass':'DataType','typeDefinition':_0x452bc4(0x16b)};_0x58c315['nodeBrowser'](Object[_0x452bc4(0xff)](Object[_0x452bc4(0xff)]({},_0x872c23()),{'parentNode':()=>_0x18e98a,'isSelectable'(_0x36ee61){const _0x2d38f7=_0x452bc4;return _0x36ee61['nodeClass']===_0x2d38f7(0x170);},'isTypeRef':!![]}));},'oneditsave'(){}});}()));
|
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 */
|