Current section
Files
Jump to
Current section
Files
lib/assets/connection_cell/main.js
var A=Object.create;var v=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var _=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty;var w=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var N=(e,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of S(r))!T.call(e,n)&&n!==t&&v(e,n,{get:()=>r[n],enumerable:!(s=C(r,n))||s.enumerable});return e};var b=(e,r,t)=>(t=e!=null?A(_(e)):{},N(r||!e||!e.__esModule?v(t,"default",{value:e,enumerable:!0}):t,e));var m=w((I,l)=>{(function(){"use strict";var e={}.hasOwnProperty,r="[native code]";function t(){for(var s=[],n=0;n<arguments.length;n++){var o=arguments[n];if(o){var a=typeof o;if(a==="string"||a==="number")s.push(o);else if(Array.isArray(o)){if(o.length){var i=t.apply(null,o);i&&s.push(i)}}else if(a==="object"){if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]")){s.push(o.toString());continue}for(var d in o)e.call(o,d)&&o[d]&&s.push(d)}}}return s.join(" ")}typeof l<"u"&&l.exports?(t.default=t,l.exports=t):typeof define=="function"&&typeof define.amd=="object"&&define.amd?define("classnames",[],function(){return t}):window.classNames=t})()});var j=({message:e})=>React.createElement(React.Fragment,null,React.createElement("div",{className:"flex rounded-md border border-dashed border-red-700 bg-red-100 p-2"},React.createElement("svg",{className:"h-6 w-6 flex-none text-red-700",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},React.createElement("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"})),React.createElement("div",{className:"font-inter px-2 text-sm font-medium text-red-700"},e))),g=j;var x=async e=>{await e.importJS("https://cdnjs.cloudflare.com/ajax/libs/react/18.2.0/umd/react.development.js"),await e.importJS("https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.2.0/umd/react-dom.development.js")};var k=(e,r)=>{let[t,s]=React.useState(r),n=o=>a=>{s(i=>({...i,[o]:a})),console.log("Pushing ${attrName} to server",a),e.pushEvent(`update_${o}`,a)};return React.useEffect(()=>{e.handleEvent("update",o=>{console.log("Attribute update from server",o),s(a=>({...Object.assign(a,o)}))})},[]),[t,n]},y=k;var p=b(m()),P=({name:e,label:r,defaultValue:t,onChange:s,orientation:n="vert"})=>React.createElement("div",{className:(0,p.default)({"flex flex-row items-baseline":n=="horiz"})},React.createElement("label",{htmlFor:e,className:(0,p.default)({block:n=="vert","pr-1 uppercase":n=="horiz"},"mb-1 text-sm font-medium")},r),React.createElement("input",{type:"text",value:t,name:e,onChange:o=>s(o.target.value),className:(0,p.default)({"block w-full":n=="vert"},"rounded-lg border border-gray-300 bg-gray-50 p-1.5 text-sm focus:border-blue-500 focus:ring-blue-500")})),c=P;var u=b(m()),z=({name:e,label:r,options:t,selectedOption:s,onChange:n,className:o="",orientation:a="vert"})=>React.createElement("div",{className:(0,u.default)({"flex flex-row items-baseline":a=="horiz"},o)},React.createElement("label",{htmlFor:e,className:(0,u.default)({block:a=="vert","pr-1 uppercase":a=="horiz"},"mb-1 text-sm font-medium")},r),React.createElement("select",{id:e,value:s||void 0,onChange:i=>n(i.target.value),className:(0,u.default)({"block w-full":a=="vert"}," bg-caret-down appearance-none rounded-lg border border-gray-300 bg-gray-50 bg-[length:10px] bg-[center_right_10px] bg-no-repeat p-2 pr-5 text-sm focus:border-blue-500 focus:ring-blue-500")},t.map(i=>React.createElement("option",{key:i.value,value:i.value},i.label)))),f=z;var E=({initialAttrs:e,ctx:r})=>{let[t,s]=y(r,e),n=[{label:"File",value:"file"},{label:"Environment Variable",value:"env"}];return n.push({label:"K8s Service Account",value:"k8s"}),React.createElement("div",{className:"rounded-md border border-solid border-gray-300 font-inter font-medium text-gray-600"},React.createElement("div",{className:"border-b-solid flex flex-wrap gap-x-5 gap-y-3 border-b border-b-gray-300 bg-blue-100 p-3"},React.createElement(f,{name:"source_type",label:"Source Type",options:n,selectedOption:t.source_type,onChange:s("source_type"),orientation:"horiz"}),React.createElement(c,{label:"Assign To",name:"assign_to",defaultValue:t.result_variable,onChange:s("result_variable"),orientation:"horiz"})),React.createElement("div",{className:"flex flex-wrap gap-x-5 p-3"},t.source_type!="k8s"&&React.createElement(c,{label:t.source_type=="file"?"File Path":"Env Var",name:"source",defaultValue:t.source,onChange:s("source"),orientation:"vert"}),t.source_type!="k8s"&&React.createElement(c,{label:"Context",name:"context",defaultValue:t.opts.context||"",onChange:o=>s("opts")({...t.opts,context:o})}),React.createElement(f,{name:"insecure_skip_tls_verify",label:"Insecure Skip TLS Verify",options:[{label:"Yes",value:"true"},{label:"No",value:"false"}],selectedOption:t.opts.insecure_skip_tls_verify.toString(),onChange:o=>s("opts")({...t.opts,insecure_skip_tls_verify:JSON.parse(o)})})))},h=E;var G=async(e,r)=>{await x(e,r),e.root.innerHTML="loading...",e.importCSS("main.css"),e.importCSS("https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap");let t=ReactDOM.createRoot(e.root);if(r.error)return t.render(React.createElement(g,{message:r.error}));t.render(React.createElement(h,{initialAttrs:r,ctx:e}))};export{G as init};
/*! Bundled license information:
classnames/index.js:
(*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*)
*/
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2NsYXNzbmFtZXMvaW5kZXguanMiLCAiLi4vLi4vLi4vYXNzZXRzL3NoYXJlZC9lcnJvci50c3giLCAiLi4vLi4vLi4vYXNzZXRzL3NoYXJlZC91dGlscy50cyIsICIuLi8uLi8uLi9hc3NldHMvc2hhcmVkL2F0dHJfc3RhdGUudHN4IiwgIi4uLy4uLy4uL2Fzc2V0cy9zaGFyZWQvZm9ybS9pbnB1dC50c3giLCAiLi4vLi4vLi4vYXNzZXRzL3NoYXJlZC9mb3JtL3NlbGVjdC50c3giLCAiLi4vLi4vLi4vYXNzZXRzL2Nvbm5lY3Rpb25fY2VsbC9hcHAudHN4IiwgIi4uLy4uLy4uL2Fzc2V0cy9jb25uZWN0aW9uX2NlbGwvbWFpbi50c3giXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIVxuXHRDb3B5cmlnaHQgKGMpIDIwMTggSmVkIFdhdHNvbi5cblx0TGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlIChNSVQpLCBzZWVcblx0aHR0cDovL2plZHdhdHNvbi5naXRodWIuaW8vY2xhc3NuYW1lc1xuKi9cbi8qIGdsb2JhbCBkZWZpbmUgKi9cblxuKGZ1bmN0aW9uICgpIHtcblx0J3VzZSBzdHJpY3QnO1xuXG5cdHZhciBoYXNPd24gPSB7fS5oYXNPd25Qcm9wZXJ0eTtcblx0dmFyIG5hdGl2ZUNvZGVTdHJpbmcgPSAnW25hdGl2ZSBjb2RlXSc7XG5cblx0ZnVuY3Rpb24gY2xhc3NOYW1lcygpIHtcblx0XHR2YXIgY2xhc3NlcyA9IFtdO1xuXG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBhcmcgPSBhcmd1bWVudHNbaV07XG5cdFx0XHRpZiAoIWFyZykgY29udGludWU7XG5cblx0XHRcdHZhciBhcmdUeXBlID0gdHlwZW9mIGFyZztcblxuXHRcdFx0aWYgKGFyZ1R5cGUgPT09ICdzdHJpbmcnIHx8IGFyZ1R5cGUgPT09ICdudW1iZXInKSB7XG5cdFx0XHRcdGNsYXNzZXMucHVzaChhcmcpO1xuXHRcdFx0fSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGFyZykpIHtcblx0XHRcdFx0aWYgKGFyZy5sZW5ndGgpIHtcblx0XHRcdFx0XHR2YXIgaW5uZXIgPSBjbGFzc05hbWVzLmFwcGx5KG51bGwsIGFyZyk7XG5cdFx0XHRcdFx0aWYgKGlubmVyKSB7XG5cdFx0XHRcdFx0XHRjbGFzc2VzLnB1c2goaW5uZXIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmIChhcmdUeXBlID09PSAnb2JqZWN0Jykge1xuXHRcdFx0XHRpZiAoYXJnLnRvU3RyaW5nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nICYmICFhcmcudG9TdHJpbmcudG9TdHJpbmcoKS5pbmNsdWRlcygnW25hdGl2ZSBjb2RlXScpKSB7XG5cdFx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGFyZy50b1N0cmluZygpKTtcblx0XHRcdFx0XHRjb250aW51ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGZvciAodmFyIGtleSBpbiBhcmcpIHtcblx0XHRcdFx0XHRpZiAoaGFzT3duLmNhbGwoYXJnLCBrZXkpICYmIGFyZ1trZXldKSB7XG5cdFx0XHRcdFx0XHRjbGFzc2VzLnB1c2goa2V5KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG5cdH1cblxuXHRpZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpIHtcblx0XHRjbGFzc05hbWVzLmRlZmF1bHQgPSBjbGFzc05hbWVzO1xuXHRcdG1vZHVsZS5leHBvcnRzID0gY2xhc3NOYW1lcztcblx0fSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBkZWZpbmUuYW1kID09PSAnb2JqZWN0JyAmJiBkZWZpbmUuYW1kKSB7XG5cdFx0Ly8gcmVnaXN0ZXIgYXMgJ2NsYXNzbmFtZXMnLCBjb25zaXN0ZW50IHdpdGggbnBtIHBhY2thZ2UgbmFtZVxuXHRcdGRlZmluZSgnY2xhc3NuYW1lcycsIFtdLCBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZXR1cm4gY2xhc3NOYW1lcztcblx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHR3aW5kb3cuY2xhc3NOYW1lcyA9IGNsYXNzTmFtZXM7XG5cdH1cbn0oKSk7XG4iLCAiaW50ZXJmYWNlIEVycm9yUHJvcHMge1xuICBtZXNzYWdlOiBzdHJpbmdcbn1cbmNvbnN0IEVycm9yID0gKHsgbWVzc2FnZSB9OiBFcnJvclByb3BzKSA9PiAoXG4gIDw+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1kYXNoZWQgYm9yZGVyLXJlZC03MDAgYmctcmVkLTEwMCBwLTJcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgY2xhc3NOYW1lPVwiaC02IHctNiBmbGV4LW5vbmUgdGV4dC1yZWQtNzAwXCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcbiAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgZD1cIk0xMiA5djMuNzVtLTkuMzAzIDMuMzc2Yy0uODY2IDEuNS4yMTcgMy4zNzQgMS45NDggMy4zNzRoMTQuNzFjMS43MyAwIDIuODEzLTEuODc0IDEuOTQ4LTMuMzc0TDEzLjk0OSAzLjM3OGMtLjg2Ni0xLjUtMy4wMzItMS41LTMuODk4IDBMMi42OTcgMTYuMTI2ek0xMiAxNS43NWguMDA3di4wMDhIMTJ2LS4wMDh6XCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgIDwvc3ZnPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb250LWludGVyIHB4LTIgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXJlZC03MDBcIj5cbiAgICAgICAge21lc3NhZ2V9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC8+XG4pXG5cbmV4cG9ydCBkZWZhdWx0IEVycm9yXG4iLCAiaW1wb3J0IHsgS2lub0NvbnRleHQgfSBmcm9tICcuLi9raW5vJ1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5leHBvcnQgY29uc3QgZGVib3VuY2UgPSA8VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gUmV0dXJuVHlwZTxUPj4oXG4gIGNhbGxiYWNrOiBULFxuICB0aW1lb3V0OiBudW1iZXIsXG4pOiAoKC4uLmFyZ3M6IFBhcmFtZXRlcnM8VD4pID0+IHZvaWQpID0+IHtcbiAgbGV0IHRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PlxuXG4gIHJldHVybiAoLi4uYXJnczogUGFyYW1ldGVyczxUPikgPT4ge1xuICAgIGNsZWFyVGltZW91dCh0aW1lcilcbiAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY2FsbGJhY2soLi4uYXJncylcbiAgICB9LCB0aW1lb3V0KVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBsb2FkUmVhY3QgPSBhc3luYyAoY3R4OiBLaW5vQ29udGV4dCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBpZiAoREVCVUcpIHtcbiAgICBhd2FpdCBjdHguaW1wb3J0SlMoXG4gICAgICAnaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcmVhY3QvMTguMi4wL3VtZC9yZWFjdC5kZXZlbG9wbWVudC5qcycsXG4gICAgKVxuICAgIGF3YWl0IGN0eC5pbXBvcnRKUyhcbiAgICAgICdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9yZWFjdC1kb20vMTguMi4wL3VtZC9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMnLFxuICAgIClcbiAgfSBlbHNlIHtcbiAgICBhd2FpdCBjdHguaW1wb3J0SlMoXG4gICAgICAnaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcmVhY3QvMTguMi4wL3VtZC9yZWFjdC5wcm9kdWN0aW9uLm1pbi5qcycsXG4gICAgKVxuICAgIGF3YWl0IGN0eC5pbXBvcnRKUyhcbiAgICAgICdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9yZWFjdC1kb20vMTguMi4wL3VtZC9yZWFjdC1kb20ucHJvZHVjdGlvbi5taW4uanMnLFxuICAgIClcbiAgfVxufVxuIiwgImltcG9ydCB7IEtpbm9Db250ZXh0IH0gZnJvbSAnLi4va2lubydcblxudHlwZSBVcGRhdGVBdHRyRnVuPEF0dHJzVHlwZT4gPSAoXG4gIGF0dHJOYW1lOiBzdHJpbmcsXG4pID0+IChBdHRyVmFsdWU6IEF0dHJzVHlwZVtrZXlvZiBBdHRyc1R5cGVdKSA9PiB2b2lkXG5cbmNvbnN0IHVzZUF0dHJzU3RhdGUgPSA8QXR0cnNUeXBlIGV4dGVuZHMgb2JqZWN0PihcbiAgY3R4OiBLaW5vQ29udGV4dCxcbiAgaW5pdGlhbEF0dHJzOiBBdHRyc1R5cGUsXG4pOiBbQXR0cnNUeXBlLCBVcGRhdGVBdHRyRnVuPEF0dHJzVHlwZT5dID0+IHtcbiAgY29uc3QgW2F0dHJzLCBzZXRBdHRyc10gPSBSZWFjdC51c2VTdGF0ZTxBdHRyc1R5cGU+KGluaXRpYWxBdHRycylcbiAgY29uc3QgdXBkYXRlQXR0cjogVXBkYXRlQXR0ckZ1bjxBdHRyc1R5cGU+ID0gKGF0dHJOYW1lKSA9PiAoYXR0clZhbHVlKSA9PiB7XG4gICAgc2V0QXR0cnMoKGF0dHJzKSA9PiAoeyAuLi5hdHRycywgW2F0dHJOYW1lXTogYXR0clZhbHVlIH0pKVxuICAgIGNvbnNvbGUubG9nKCdQdXNoaW5nICR7YXR0ck5hbWV9IHRvIHNlcnZlcicsIGF0dHJWYWx1ZSlcbiAgICBjdHgucHVzaEV2ZW50KGB1cGRhdGVfJHthdHRyTmFtZX1gLCBhdHRyVmFsdWUpXG4gIH1cblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGN0eC5oYW5kbGVFdmVudDxBdHRyc1R5cGU+KCd1cGRhdGUnLCAodXBkYXRlcykgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ0F0dHJpYnV0ZSB1cGRhdGUgZnJvbSBzZXJ2ZXInLCB1cGRhdGVzKVxuICAgICAgc2V0QXR0cnMoKGF0dHJzKSA9PiAoe1xuICAgICAgICAuLi5PYmplY3QuYXNzaWduKGF0dHJzLCB1cGRhdGVzKSxcbiAgICAgIH0pKVxuICAgIH0pXG4gIH0sIFtdKVxuICByZXR1cm4gW2F0dHJzLCB1cGRhdGVBdHRyXVxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VBdHRyc1N0YXRlXG4iLCAiaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcblxudHlwZSBJbnB1dFByb3BzID0ge1xuICBuYW1lOiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xuICBkZWZhdWx0VmFsdWU6IHN0cmluZ1xuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWRcbiAgb3JpZW50YXRpb24/OiAnaG9yaXonIHwgJ3ZlcnQnXG59XG5jb25zdCBJbnB1dDogUmVhY3QuRkM8SW5wdXRQcm9wcz4gPSAoe1xuICBuYW1lLFxuICBsYWJlbCxcbiAgZGVmYXVsdFZhbHVlLFxuICBvbkNoYW5nZSxcbiAgb3JpZW50YXRpb24gPSAndmVydCcsXG59KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHtcbiAgICAgICAgJ2ZsZXggZmxleC1yb3cgaXRlbXMtYmFzZWxpbmUnOiBvcmllbnRhdGlvbiA9PSAnaG9yaXonLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGxhYmVsXG4gICAgICAgIGh0bWxGb3I9e25hbWV9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICB7XG4gICAgICAgICAgICBibG9jazogb3JpZW50YXRpb24gPT0gJ3ZlcnQnLFxuICAgICAgICAgICAgJ3ByLTEgdXBwZXJjYXNlJzogb3JpZW50YXRpb24gPT0gJ2hvcml6JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgICdtYi0xIHRleHQtc20gZm9udC1tZWRpdW0nLFxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7bGFiZWx9XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgdmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBvbkNoYW5nZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICB7ICdibG9jayB3LWZ1bGwnOiBvcmllbnRhdGlvbiA9PSAndmVydCcgfSxcbiAgICAgICAgICAncm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLWdyYXktMzAwIGJnLWdyYXktNTAgcC0xLjUgdGV4dC1zbSBmb2N1czpib3JkZXItYmx1ZS01MDAgZm9jdXM6cmluZy1ibHVlLTUwMCcsXG4gICAgICAgICl9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IElucHV0XG4iLCAiaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcblxudHlwZSBTZWxlY3RQcm9wcyA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIGxhYmVsOiBzdHJpbmdcbiAgb3B0aW9uczogeyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXVxuICBzZWxlY3RlZE9wdGlvbj86IHN0cmluZ1xuICBvbkNoYW5nZTogKG9wdGlvbjogc3RyaW5nKSA9PiB2b2lkXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBvcmllbnRhdGlvbj86ICdob3JpeicgfCAndmVydCdcbn1cblxuY29uc3QgU2VsZWN0ID0gKHtcbiAgbmFtZSxcbiAgbGFiZWwsXG4gIG9wdGlvbnMsXG4gIHNlbGVjdGVkT3B0aW9uLFxuICBvbkNoYW5nZSxcbiAgY2xhc3NOYW1lID0gJycsXG4gIG9yaWVudGF0aW9uID0gJ3ZlcnQnLFxufTogU2VsZWN0UHJvcHMpID0+IChcbiAgPGRpdlxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgIHtcbiAgICAgICAgJ2ZsZXggZmxleC1yb3cgaXRlbXMtYmFzZWxpbmUnOiBvcmllbnRhdGlvbiA9PSAnaG9yaXonLFxuICAgICAgfSxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICApfVxuICA+XG4gICAgPGxhYmVsXG4gICAgICBodG1sRm9yPXtuYW1lfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFxuICAgICAgICB7XG4gICAgICAgICAgYmxvY2s6IG9yaWVudGF0aW9uID09ICd2ZXJ0JyxcbiAgICAgICAgICAncHItMSB1cHBlcmNhc2UnOiBvcmllbnRhdGlvbiA9PSAnaG9yaXonLFxuICAgICAgICB9LFxuICAgICAgICAnbWItMSB0ZXh0LXNtIGZvbnQtbWVkaXVtJyxcbiAgICAgICl9XG4gICAgPlxuICAgICAge2xhYmVsfVxuICAgIDwvbGFiZWw+XG4gICAgPHNlbGVjdFxuICAgICAgaWQ9e25hbWV9XG4gICAgICB2YWx1ZT17c2VsZWN0ZWRPcHRpb24gfHwgdW5kZWZpbmVkfVxuICAgICAgb25DaGFuZ2U9eyhlKSA9PiBvbkNoYW5nZShlIS50YXJnZXQhLnZhbHVlKX1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgeyAnYmxvY2sgdy1mdWxsJzogb3JpZW50YXRpb24gPT0gJ3ZlcnQnIH0sXG4gICAgICAgICcgYmctY2FyZXQtZG93biBhcHBlYXJhbmNlLW5vbmUgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLWdyYXktMzAwIGJnLWdyYXktNTAgYmctW2xlbmd0aDoxMHB4XSBiZy1bY2VudGVyX3JpZ2h0XzEwcHhdIGJnLW5vLXJlcGVhdCBwLTIgcHItNSB0ZXh0LXNtIGZvY3VzOmJvcmRlci1ibHVlLTUwMCBmb2N1czpyaW5nLWJsdWUtNTAwJyxcbiAgICAgICl9XG4gICAgPlxuICAgICAge29wdGlvbnMubWFwKChvcHRpb24pID0+IChcbiAgICAgICAgPG9wdGlvbiBrZXk9e29wdGlvbi52YWx1ZX0gdmFsdWU9e29wdGlvbi52YWx1ZX0+XG4gICAgICAgICAge29wdGlvbi5sYWJlbH1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICApKX1cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG4pXG5cbmV4cG9ydCBkZWZhdWx0IFNlbGVjdFxuIiwgImltcG9ydCB7IEtpbm9Db250ZXh0IH0gZnJvbSAnLi4va2lubydcbmltcG9ydCB1c2VBdHRyc1N0YXRlIGZyb20gJy4uL3NoYXJlZC9hdHRyX3N0YXRlJ1xuaW1wb3J0IElucHV0IGZyb20gJy4uL3NoYXJlZC9mb3JtL2lucHV0J1xuaW1wb3J0IFNlbGVjdCBmcm9tICcuLi9zaGFyZWQvZm9ybS9zZWxlY3QnXG5pbXBvcnQgeyBDb25uZWN0aW9uQ2VsbEF0dHJzIH0gZnJvbSAnLi90eXBlcydcblxuaW50ZXJmYWNlIEFwcFByb3BzIHtcbiAgaW5pdGlhbEF0dHJzOiBDb25uZWN0aW9uQ2VsbEF0dHJzXG4gIGN0eDogS2lub0NvbnRleHRcbn1cblxuY29uc3QgQXBwOiBSZWFjdC5GQzxBcHBQcm9wcz4gPSAoeyBpbml0aWFsQXR0cnMsIGN0eCB9KSA9PiB7XG4gIGNvbnN0IFthdHRycywgdXBkYXRlQXR0cl0gPSB1c2VBdHRyc1N0YXRlKGN0eCwgaW5pdGlhbEF0dHJzKVxuICBjb25zdCBzb3VyY2VfdHlwZV9vcHRpb25zID0gW1xuICAgIHsgbGFiZWw6ICdGaWxlJywgdmFsdWU6ICdmaWxlJyB9LFxuICAgIHsgbGFiZWw6ICdFbnZpcm9ubWVudCBWYXJpYWJsZScsIHZhbHVlOiAnZW52JyB9LFxuICBdXG4gIC8vIGlmIChhdHRyc1sncnVubmluZ19vbl9rOHMnXSlcbiAgc291cmNlX3R5cGVfb3B0aW9ucy5wdXNoKHsgbGFiZWw6ICdLOHMgU2VydmljZSBBY2NvdW50JywgdmFsdWU6ICdrOHMnIH0pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1zb2xpZCBib3JkZXItZ3JheS0zMDAgZm9udC1pbnRlciBmb250LW1lZGl1bSB0ZXh0LWdyYXktNjAwXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJvcmRlci1iLXNvbGlkIGZsZXggZmxleC13cmFwIGdhcC14LTUgZ2FwLXktMyBib3JkZXItYiBib3JkZXItYi1ncmF5LTMwMCBiZy1ibHVlLTEwMCBwLTNcIj5cbiAgICAgICAgPFNlbGVjdFxuICAgICAgICAgIG5hbWU9XCJzb3VyY2VfdHlwZVwiXG4gICAgICAgICAgbGFiZWw9XCJTb3VyY2UgVHlwZVwiXG4gICAgICAgICAgb3B0aW9ucz17c291cmNlX3R5cGVfb3B0aW9uc31cbiAgICAgICAgICBzZWxlY3RlZE9wdGlvbj17YXR0cnNbJ3NvdXJjZV90eXBlJ119XG4gICAgICAgICAgb25DaGFuZ2U9e3VwZGF0ZUF0dHIoJ3NvdXJjZV90eXBlJyl9XG4gICAgICAgICAgb3JpZW50YXRpb249XCJob3JpelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxJbnB1dFxuICAgICAgICAgIGxhYmVsPVwiQXNzaWduIFRvXCJcbiAgICAgICAgICBuYW1lPVwiYXNzaWduX3RvXCJcbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e2F0dHJzWydyZXN1bHRfdmFyaWFibGUnXX1cbiAgICAgICAgICBvbkNoYW5nZT17dXBkYXRlQXR0cigncmVzdWx0X3ZhcmlhYmxlJyl9XG4gICAgICAgICAgb3JpZW50YXRpb249XCJob3JpelwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgZ2FwLXgtNSBwLTNcIj5cbiAgICAgICAge2F0dHJzWydzb3VyY2VfdHlwZSddICE9ICdrOHMnICYmIChcbiAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgIGxhYmVsPXthdHRyc1snc291cmNlX3R5cGUnXSA9PSAnZmlsZScgPyAnRmlsZSBQYXRoJyA6ICdFbnYgVmFyJ31cbiAgICAgICAgICAgIG5hbWU9XCJzb3VyY2VcIlxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXthdHRyc1snc291cmNlJ119XG4gICAgICAgICAgICBvbkNoYW5nZT17dXBkYXRlQXR0cignc291cmNlJyl9XG4gICAgICAgICAgICBvcmllbnRhdGlvbj1cInZlcnRcIlxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHthdHRyc1snc291cmNlX3R5cGUnXSAhPSAnazhzJyAmJiAoXG4gICAgICAgICAgPElucHV0XG4gICAgICAgICAgICBsYWJlbD1cIkNvbnRleHRcIlxuICAgICAgICAgICAgbmFtZT1cImNvbnRleHRcIlxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXthdHRycy5vcHRzLmNvbnRleHQgfHwgJyd9XG4gICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PlxuICAgICAgICAgICAgICB1cGRhdGVBdHRyKCdvcHRzJykoeyAuLi5hdHRycy5vcHRzLCBjb250ZXh0OiB2YWx1ZSB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIDxTZWxlY3RcbiAgICAgICAgICBuYW1lPVwiaW5zZWN1cmVfc2tpcF90bHNfdmVyaWZ5XCJcbiAgICAgICAgICBsYWJlbD1cIkluc2VjdXJlIFNraXAgVExTIFZlcmlmeVwiXG4gICAgICAgICAgb3B0aW9ucz17W1xuICAgICAgICAgICAgeyBsYWJlbDogJ1llcycsIHZhbHVlOiAndHJ1ZScgfSxcbiAgICAgICAgICAgIHsgbGFiZWw6ICdObycsIHZhbHVlOiAnZmFsc2UnIH0sXG4gICAgICAgICAgXX1cbiAgICAgICAgICBzZWxlY3RlZE9wdGlvbj17YXR0cnMub3B0cy5pbnNlY3VyZV9za2lwX3Rsc192ZXJpZnkudG9TdHJpbmcoKX1cbiAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PlxuICAgICAgICAgICAgdXBkYXRlQXR0cignb3B0cycpKHtcbiAgICAgICAgICAgICAgLi4uYXR0cnMub3B0cyxcbiAgICAgICAgICAgICAgaW5zZWN1cmVfc2tpcF90bHNfdmVyaWZ5OiBKU09OLnBhcnNlKHZhbHVlKSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgQXBwXG4iLCAiaW1wb3J0IHsgS2lub0NvbnRleHQgfSBmcm9tICcuLi9raW5vJ1xuaW1wb3J0IEVycm9yIGZyb20gJy4uL3NoYXJlZC9lcnJvcidcbmltcG9ydCB7IGxvYWRSZWFjdCB9IGZyb20gJy4uL3NoYXJlZC91dGlscydcbmltcG9ydCBBcHAgZnJvbSAnLi9hcHAnXG5pbXBvcnQgeyBDb25uZWN0aW9uQ2VsbEF0dHJzIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IGluaXQgPSBhc3luYyAoXG4gIGN0eDogS2lub0NvbnRleHQsXG4gIGF0dHJzOiBDb25uZWN0aW9uQ2VsbEF0dHJzLFxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGF3YWl0IGxvYWRSZWFjdChjdHgsIGF0dHJzKVxuXG4gIGN0eC5yb290LmlubmVySFRNTCA9ICdsb2FkaW5nLi4uJ1xuXG4gIGN0eC5pbXBvcnRDU1MoJ21haW4uY3NzJylcbiAgY3R4LmltcG9ydENTUyhcbiAgICAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDQwMDs1MDAmZGlzcGxheT1zd2FwJyxcbiAgKVxuXG4gIGNvbnN0IHJvb3QgPSBSZWFjdERPTS5jcmVhdGVSb290KGN0eC5yb290KVxuICBpZiAoYXR0cnMuZXJyb3IpIHtcbiAgICByZXR1cm4gcm9vdC5yZW5kZXIoPEVycm9yIG1lc3NhZ2U9e2F0dHJzLmVycm9yfSAvPilcbiAgfVxuXG4gIHJvb3QucmVuZGVyKDxBcHAgaW5pdGlhbEF0dHJzPXthdHRyc30gY3R4PXtjdHh9IC8+KVxufVxuIl0sCiAgIm1hcHBpbmdzIjogInlnQkFBQSxJQUFBQSxFQUFBQyxFQUFBLENBQUFDLEVBQUFDLElBQUEsRUFPQyxVQUFZLENBQ1osYUFFQSxJQUFJQyxFQUFTLENBQUMsRUFBRSxlQUNaQyxFQUFtQixnQkFFdkIsU0FBU0MsR0FBYSxDQUdyQixRQUZJQyxFQUFVLENBQUMsRUFFTkMsRUFBSSxFQUFHQSxFQUFJLFVBQVUsT0FBUUEsSUFBSyxDQUMxQyxJQUFJQyxFQUFNLFVBQVVELENBQUMsRUFDckIsR0FBS0MsRUFFTCxLQUFJQyxFQUFVLE9BQU9ELEVBRXJCLEdBQUlDLElBQVksVUFBWUEsSUFBWSxTQUN2Q0gsRUFBUSxLQUFLRSxDQUFHLFVBQ04sTUFBTSxRQUFRQSxDQUFHLEdBQzNCLEdBQUlBLEVBQUksT0FBUSxDQUNmLElBQUlFLEVBQVFMLEVBQVcsTUFBTSxLQUFNRyxDQUFHLEVBQ2xDRSxHQUNISixFQUFRLEtBQUtJLENBQUssQ0FFcEIsVUFDVUQsSUFBWSxTQUFVLENBQ2hDLEdBQUlELEVBQUksV0FBYSxPQUFPLFVBQVUsVUFBWSxDQUFDQSxFQUFJLFNBQVMsU0FBUyxFQUFFLFNBQVMsZUFBZSxFQUFHLENBQ3JHRixFQUFRLEtBQUtFLEVBQUksU0FBUyxDQUFDLEVBQzNCLFFBQ0QsQ0FFQSxRQUFTRyxLQUFPSCxFQUNYTCxFQUFPLEtBQUtLLEVBQUtHLENBQUcsR0FBS0gsRUFBSUcsQ0FBRyxHQUNuQ0wsRUFBUSxLQUFLSyxDQUFHLENBR25CLEVBQ0QsQ0FFQSxPQUFPTCxFQUFRLEtBQUssR0FBRyxDQUN4QixDQUVJLE9BQU9KLEVBQVcsS0FBZUEsRUFBTyxTQUMzQ0csRUFBVyxRQUFVQSxFQUNyQkgsRUFBTyxRQUFVRyxHQUNQLE9BQU8sUUFBVyxZQUFjLE9BQU8sT0FBTyxLQUFRLFVBQVksT0FBTyxJQUVuRixPQUFPLGFBQWMsQ0FBQyxFQUFHLFVBQVksQ0FDcEMsT0FB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S0FBTSxNQUFPLE9BQVEsQ0FDaEMsRUFDQSxlQUFnQkosRUFBTSxLQUFLLHlCQUF5QixTQUFTLEVBQzdELFNBQVdNLEdBQ1RMLEVBQVcsTUFBTSxFQUFFLENBQ2pCLEdBQUdELEVBQU0sS0FDVCx5QkFBMEIsS0FBSyxNQUFNTSxDQUFLLENBQzVDLENBQUMsRUFFTCxDQUNGLENBQ0YsQ0FFSixFQUVPQyxFQUFRVixFQ3pFUixJQUFNVyxFQUFPLE1BQ2xCQyxFQUNBQyxJQUNrQixDQUNsQixNQUFNQyxFQUFVRixFQUFLQyxDQUFLLEVBRTFCRCxFQUFJLEtBQUssVUFBWSxhQUVyQkEsRUFBSSxVQUFVLFVBQVUsRUFDeEJBLEVBQUksVUFDRiwwRUFDRixFQUVBLElBQU1HLEVBQU8sU0FBUyxXQUFXSCxFQUFJLElBQUksRUFDekMsR0FBSUMsRUFBTSxNQUNSLE9BQU9FLEVBQUssT0FBTyxvQkFBQ0MsRUFBQSxDQUFNLFFBQVNILEVBQU0sTUFBTyxDQUFFLEVBR3BERSxFQUFLLE9BQU8sb0JBQUNFLEVBQUEsQ0FBSSxhQUFjSixFQUFPLElBQUtELEVBQUssQ0FBRSxDQUNwRCIsCiAgIm5hbWVzIjogWyJyZXF1aXJlX2NsYXNzbmFtZXMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJoYXNPd24iLCAibmF0aXZlQ29kZVN0cmluZyIsICJjbGFzc05hbWVzIiwgImNsYXNzZXMiLCAiaSIsICJhcmciLCAiYXJnVHlwZSIsICJpbm5lciIsICJrZXkiLCAiRXJyb3IiLCAibWVzc2FnZSIsICJlcnJvcl9kZWZhdWx0IiwgImxvYWRSZWFjdCIsICJjdHgiLCAidXNlQXR0cnNTdGF0ZSIsICJjdHgiLCAiaW5pdGlhbEF0dHJzIiwgImF0dHJzIiwgInNldEF0dHJzIiwgInVwZGF0ZUF0dHIiLCAiYXR0ck5hbWUiLCAiYXR0clZhbHVlIiwgInVwZGF0ZXMiLCAiYXR0cl9zdGF0ZV9kZWZhdWx0IiwgImltcG9ydF9jbGFzc25hbWVzIiwgIklucHV0IiwgIm5hbWUiLCAibGFiZWwiLCAiZGVmYXVsdFZhbHVlIiwgIm9uQ2hhbmdlIiwgIm9yaWVudGF0aW9uIiwgImNsYXNzTmFtZXMiLCAiZSIsICJpbnB1dF9kZWZhdWx0IiwgImltcG9ydF9jbGFzc25hbWVzIiwgIlNlbGVjdCIsICJuYW1lIiwgImxhYmVsIiwgIm9wdGlvbnMiLCAic2VsZWN0ZWRPcHRpb24iLCAib25DaGFuZ2UiLCAiY2xhc3NOYW1lIiwgIm9yaWVudGF0aW9uIiwgImNsYXNzTmFtZXMiLCAiZSIsICJvcHRpb24iLCAic2VsZWN0X2RlZmF1bHQiLCAiQXBwIiwgImluaXRpYWxBdHRycyIsICJjdHgiLCAiYXR0cnMiLCAidXBkYXRlQXR0ciIsICJhdHRyX3N0YXRlX2RlZmF1bHQiLCAic291cmNlX3R5cGVfb3B0aW9ucyIsICJzZWxlY3RfZGVmYXVsdCIsICJpbnB1dF9kZWZhdWx0IiwgInZhbHVlIiwgImFwcF9kZWZhdWx0IiwgImluaXQiLCAiY3R4IiwgImF0dHJzIiwgImxvYWRSZWFjdCIsICJyb290IiwgImVycm9yX2RlZmF1bHQiLCAiYXBwX2RlZmF1bHQiXQp9Cg==